How binds work
In Vendetta Online, the player can customize their own binds and aliases to improve their experience. Binds allow you to automate, or program steps, that can be accomplished on the command line within the game. These can range from a simple bind to toggle the auto-aim mode, to a complicated system of aliases and binds that can be used as an online encyclopedia.
Binds operate sequentially. What this means is that if you create a bind that charges a charge cannon for 10 seconds, and then fires, that is what it will do. You cannot interrupt the bind. It will wait the full 10 seconds before finishing. If you have done something to discharge the gun before then, the command to release the trigger "+Shoot1 0" will still go off at the appropriate time. Many binds can be operating at the same time, and overlap their effects.
How to "Install" Binds
If you are taking binds from another source, say the Custom Binds and Aliases Thread, you won't need to type them in manually unless you want to do it the hard way.
- Find the file named wgaf.cfg in your Vendetta folder and open it. For Mac users, you will have to Show Package Contents of the Vendetta Online package in order to get to it. For Windows users, you can find it in either C:\Program Files\Guild Software\Vendetta\wgaf.cfg or C:\Program Files\Vendetta Online\wgaf.cfg depending on when you installed the game. Linux users can find the file in ~/.vendetta/wgaf.cfg. You should open it in a simple text editor (not a word processing application), such as Notepad, TextEdit, vim, or possibly emacs.
- Pick the bind or binds that you want.
- Copy and paste.
- Clean up the WGAF file by removing any '/' characters at the beginning of the aliases and/or binds you copied.
Deleting a bind while in the game
While in the game, on the command line, just bind the key to a non-existent command. Usually this can be accomplished by hitting random keys until satisfied that you have a non-existent command:
/bind o asdgf8af
The game will report that command "asdg.." does not exist.
Further calls to /bind o will indicate that the key is not bound to anything. When you restart the game and check wgaf.cfg, the bind will be gone.
Unfortunately aliases cannot be "deleted" in the same way.
Loading a Bind (/load filename.cfg)
When you use the /load filename.cfg command, the binds you have stored in the filename.cfg file will be loaded into the wgaf.cfg file. The filename.cfg file must be loaded from the same directory that wgaf.cfg lives, or you can type the full path to the bind in quotes.
/load filename.cfg /load "C:\Program Files\Vendetta Online\binds\filename.cfg"
The loaded file can be any text file, edited by the editor of your choice, even notepad (yuck) if you are so inclined. If you load a file that contains binds with the same name or alias, then the new ones will overwrite the existing binds. There is no way I know of to erase a bind from the command line in the wgaf.cfg file. If you need to do this you can either edit the wgaf.cfg file directly, or delete the wgaf.cfg file with Vendetta off. It will create a new default wgaf.cfg file, and then you can re-load all your preferred binds and configurations. This may become necessary because when Vendetta re-saves this file after every change, the order of the loaded binds is not preserved, and is stored in a manner that makes it hard to find all the related binds, or follow logical programming paths.
Using this way to load binds also allows you to test and troubleshoot the binds without having to reload the game every time.
The config.ini File
Among other things, the config.ini file stores configuration for input peripherals. For more advanced configuration of these peripherals (particularly joysticks and gamepads), see the config.ini page.
By placing a + or a - on the front of an alias, you designate that this is what happens when the key is pressed or released. It is very useful for altering the effects of joystick buttons, as it is the only way that you can designate a counter event when a button is released.
In the below example I have switched out the standard "+Shoot1" from the config.ini file for my own custom +guns alias.
[config.ini] JOYBUTTON0=+guns JOYBUTTON1=+Shoot3
[fire.cfg] alias +guns "+Shoot1 1" alias -guns "+Shoot1 0"
A basic bind is written on a single line within the file and looks like this.
bind "q" +RotateCW
In this case I have bound my q key to the Rotate Counter Clockwise command. You can bind any key press, except for joystick buttons, to any command or alias.
An alias is a designation of one or more commands defined in the wgaf.cfg file. What this means is that you can create any alias you like, and assign it specific commands.
alias mt "+turbo 0"
This assigns the "mt" to the action of "+turbo 0". I personally recommend that you use aliases that have more meaning than the above. I have not found a limit on alias length, and it will make it easier to follow your own binds when you want to change them later.
alias masterturbo "+turbo 0"
To call an alias you can either bind it directly to a key, or call it directly from within another bind or alias.
bind "~" masterturbo alias foo masterturbo
You can assign multiple commands to an alias, by separating them with a ";".
alias +t "+turbo; alias -t masterturbo"
As this example demonstrates, you can also within the alias assign new aliases as part of the assigned alias. This nesting can get quite complex, but also gives you a great deal of control.
Quotes need to be dealt with in a similar manner to other programming languages, with the exception that there is not an escape character. In order to nest a quote within a bind definition, you need to switch from the outside double quotes (") to an apostrophe or single quote (').
In the below example, the alias example creates a new alias foo, that contains two commands included within the single quotes. It also calls a third alias, foo3.
alias example "alias foo '+Shoot1; wait 0.015 foo2'; foo3"
Sets allow you to change on the fly various aspects of the game dynamics. For example you can change your music volume to maximum by using..
set snd_musicvolume '1.000000'
These can also be added directly to wgaf.cfg or loaded from a text file.
- Auto Aim Toggle - Lets you assign a key to toggle the auto-aim feature.
- Chainfiring - "Cowboy style" shooting
- Channel Toggle - Allows the player to cycle through several channels with the press of a button.
- Combat Flight Assist - Allows player to control the lateral direction of their ship during combat with FA off.
- Controllable Rotation Speed - Lets you change your ship's rotation speed (with limits, of course).
- Controlled Burn - Allows user to boost indefinitely with timed bursts.
- Diamond Dodge - Automatic diamond-shaped dodge, useful against energy weapons (although it is a cheap tactic).
- Dvorak Keyboard - for those using the Dvorak keyboard.
- Emergency Brakes - Adds an "emergency brake" that causes almost instant stopping
- Hail Suite - Allows for the addition of up to ten individualized hails that can use either one or two lines.
- Hail Suite with multicharacter abilities - The basic Hail Suite, only with multicharacter capability!
- Inertial Dampening Controls - Lets you reset the "Inertial Dampeners". Let's you avoid control jitters and overshoots.
- Key Ramping - Enables and Disables key ramping. Extremely useful if you fly with a keyboard.
- Message Target - allows you to send a private message to whomever you have targetted.
- Playlist Changer - Allows you to switch through playlists of oggs or even individual oggs.
- Scanner - Automatic enemy scanner
- Self Destruct - Timed self destruct.
- Turbo Lock - Lets you change the tab key to toggle turbo, or to act normally.
- Variable Zoom - Allows you to zoom in/out incrementally, using the mouse wheel if you so desire.
Command line Binds
The commands /alias and /bind are the only tools used to make your own command-line scripts and shortcuts when Vendetta is loaded, and you have opened a chat prompt.
* /alias AliasName "Command text" * /bind "Key" "AliasName"
- Decide what you want your bind to do. In this example, we'll make a command that sends a string of text to your currently active channel.
- Choose a name for your command. In this example, we'll pick a name that is simple; MyBind will do nicely.
- Next we need to decide what to say. "This is my first Vendetta Online bind! w00t!" will suit this command well, don't you think?
- Now we need to make the command. The syntax of the command we need to print to the channel is "/say_channel text", so type this into the console: /alias MyBind "say_channel This is my first Vendetta Online bind! w00t!"
- Last, we need to bind it to a key. This would be typed in as /bind "p" "MyBind"
- Now all you have to do in order to run this command is to either a) be inflight and hit the assigned key (p) or b) type /MyBind in the console. The latter works inside stations as well as outside them.