Here is a lightly discussed, but important factor that is involved in becoming good at Audio Quake. Many of the better players use macro keys. These allow you to have one key do many things at once. Macro keys can perform any number of commands with a single key press. However, they can not make decisions for you. For example, it is possible to make a key that fires several weapons, one after another. A macro key can not, though, aim for you.
If you don't use macros, you'll be slaughtered. I think that a lot of the people on the list that have been feeling left behind are not using macros. Its an arms race, I'm afraid. Other people used macros, so I had to build my own. They improve their macros, I have to improve mine. So, in this long message, I'm going to show everyone all the tricks of my macros. Once I do this, most of my skills will be common knowledge (well, at least those that depend on macros). It is likely that many of you will build on my macros and not tell everyone about it, but at least, with this message, we'll bring up the lowest common denominator. First, where do you find and create macros? Macros are written up in standard text files. You can store them anywhere, but it is easiest for you to store them in the ID1 folder inside your Audio Quake directory. There are two files of macros that come standard: config.cfg and autoexec.cfg. These contain the built in macros for Audio Quake. They do things like make your character walk forward when you press up arrow, or shoot when you hold down control. You can modify these files, but it isn't necessary, as I'll explain below. You can also create your own files of macros. For example, you could create a text file called jq.cfg that contained Jedi Quake macros, and put it in the ID1 folder. Then, when you want to use those, start Audio Quake, and, from the console type: exec jq.cfg So, what can you put in your macros file? In Audio Quake, every action that you normally get to from the keyboard is actually a console command that has been hooked up to a key. This includes anything that you can type from the console. You can, therefore, make keys that fire weapons, move your player, send text taunts to the server, etc. If you're interested in seeing a full list of Quake console commands, look here: http://www.neophi.com/home/danielr/quake/console-all.txt In your macro files, you can write comments. Comments are just reminder text for you to read. They will be ignored by Quake. Any line that begins with two slashes "//" will be ignored. // This is a comment line // This is another You can also use the // to put comments after a command bind ctrl "+attack" // This is a comment to remind you that this is the shoot command Now, to the commands themselves. You can, for example, type "+shoot" in the console to start shooting, just like you can with holding down the control key. In the macro file, the line to set this up looks like the following: bind ctrl "+attack" Bind is a command that is used to attach keys to Quake commands. In this instance, you are binding the control key to run the command "+attack". The plus sign in front means that the command will repeat as long as you hold down the key. Lots of Audio Quake commands have textual names, like left, right, forward, back, shoot, etc. However, many actions are triggered by what are called impulses. Impulses are a custom signal that you can send to the server that performs a special action. In Jedi Quake, all of the force powers and special weapons are activated by sending impulses. Here is an example with an impulse: bind space "impulse 71" This command causes the space bar to send impulse 71 to the server, which will cause your character to force jump. If you'd like a full list of the impulses that are supported in Jedi Quake, have a look at the docs, which you can get from the following address: http://www.tbrn.net/modgirl/Jedi%20Quake%204%20Documentation.rtf So far, I've shown you how to bind simple actions to keys. Now, I'll show you how to accomplish compound actions. Here is an example to illustrate what is possible. bind CTRL "+attack;wait;impulse 68;impulse 69;impulse 69;wait;impulse 67" This is a substitute for the standard shoot key. If you use this line, then, instead of just shooting, pressing control key once does all of the following: Shoots the current weapon Tries to take the light saber of the person in front of you Shocks them twice with the force lightning Pushes them with the force Now, keep in mind that you can press this key over and over, and will be doing all of this stuff at the same time. This is just the tip of what is possible. A word about waiting. You may notice that this command contains "wait" many times. The wait command causes Audio Quake to pause for a fraction of a second. The entire game doesn't pause, but your macro will briefly pause before continuing to the next command. You need this because the server doesn't react very well if you send too many commands to it at once. If you send commands too quickly, the server might ignore them. When it comes to some commands, you need to pace them slowly. Also, you might wonder, why isn't every force power on this line? Well, a bind will let you connect many commands to a single key, so that you won't have to individually type each one, but all of those commands must still be sent to the server. The more commands that you bind to a key, the longer it will take for that key to work. When you press a key, you don't get control back until all of the commands on that key have been sent. It is possible, though, to make different keys for use in different situations. For example, you might use the control key for firing most weapons, and bind certain powers to it, but, the shift key would be used for attacking with the light saber. You could bind the disarm impulse and other force powers to the saber key that weren't bound to the general firing key. Movement This is what basic movement macros look like in the default Audio Quake setup... bind LEFTARROW "+left" bind RIGHTARROW "+right" bind UPARROW "+forward" bind DOWNARROW "+back" Now, here are what my movement keys look like. bind j "+left;wait;wait;impulse 68;wait;impulse 67" bind l "+right;wait;wait;impulse 68;wait;impulse 67" bind i "+forward;wait;wait;impulse 68;wait;impulse 67" bind k "+back;wait;wait;impulse 68;wait;impulse 67" As you can see, extra commands can be added to keys besides the fire button. In this case, as I turn, and if I happen to face someone, with a light saber out, the macro will automatically take it. Also, immediately following that, they'll be pushed away with the force. Just turning and looking at someone can mess them up. I might snatch someone's light saber and throw them across the map, and I didn't even know where they were going to be. I just turn, see them, and they're automatically dealt with. Next, I'll talk about advanced turning. Normally, the arrows will turn you just a few degrees in a given direction. That's too slow. I have keys that turn at right angles, do 180s, etc. I'll share some of them below. First, I must tell you about the "alias" command. Alias is like bind, except, instead of assigning a group of commands to a key, alias allows you to make up a shorthand name for a group of commands. So, the following examples: alias shoot "+attack" Now, you could say... bind ctrl shoot Here is another use of alias: alias tbrn "connect tbrn.net" Now, you can type "tbrn" in the console, and that will be understood as "connect tbrn.net". Here is one more: alias forceattack "impulse 68;impulse 69;impulse 67" This makes a new command called "forceattack" that, when it is entered, will run all three of those impulses to trigger three force powers at the same time. So, you can: bind / forceattack Now, pressing the slash key will run the forceattack command, and the forceattack command, of course, sends those three impulses. I explained that so that you'll understand how the following works. In order to setup your turns, you need to define some aliases. The first two alias commands are the same as pressing left or right arrow key once, except they also trigger force powers. alias TurnLeft "+left;wait;-left;wait;wait;impulse 68;wait;impulse 67" alias TurnRight "+right;wait;-right;wait;wait;impulse 68;wait;impulse 67" You could, of course, hook these up to arrows now, like: bind leftarrow "TurnLeft" bind rightarrow "TurnRight" However, you can make complex commands that will turn you at right angles. With the default turn rate in Audio Quake, you need to press left or right arrow four times in order to make a 90 degree turn. So, we can make the a and s keys perform 90 degree turns to the left and right, respectively. // turn left 90 bind a "turnleft;turnleft;turnleft;turnleft" // Turn right 90 bind s "turnright;turnright;turnright;turnright" If 4 turns can make a 90 degree turn, then it follows that 8 turns will make a 180 degree turn, so, this bind will cause the z key to spin you around, 180 degrees. // Turn 180 bind z "turnleft;turnleft;turnleft;turnleft;turnleft;turnleft;turnleft;turnleft" Remember that, each of these TurnLeft commands not only moves you, but triggers force powers in each step of the turn. So, you could be in the middle of a room with many people in it, keep hitting z to spin around in circles, and would automatically throw everyone against walls as you spin around. It will suck down your force power, but will devastate everyone in the room. Making the most of weapons is another important subject. None of the weapons are the ultimate weapon. They all have a situation where they're useful. For example, the sniper rifle can kill with a single shot, but reloads slowly and is not accurate at close range. The grenades are powerful, but difficult to aim. The nail guns aren't very powerful, but have extremely long range, and you can strafe with them. The point is, you need to learn the strengths and weaknesses of each weapon, and know when to use each. The situation changes rapidly. You may be observing a fight across the map, where no one is aware of you, and strafe them at long range with the nail gun. As one of them spots you and runs straight into you blasting, you need to pull out the light saber, since it blocks blasters, and let the person run into it. Now, this weapon strategy is all good, but one thing that will hold newbies back is that they take too long to switch weapons. If you're reaching for the number row, you're taking too long. If you're reaching for the number row, what happens is that you'll pick a weapon and stick with it, while others around you are switching back and forth between weapons. First, bind your weapons to keys that you can easily reach and remember. Here are a few examples: bind r "impulse 61" // sniper rifle bind b "impulse 60" // blaster Next, for some weapons, you can actually make the selection key fire the weapon. So, if someone drops in front of you and your sniper sight pings to let you know that they're directly in front of you, then you'll be well off if you can press a single key to simultaneously select and fire your sniper rifle. They'll be standing their like a dummy, trying to select the sniper rifle, then firing. This is also true for the stun gun. If someone drops directly in front of you, you want to stun them immediately, before they move. Here is an example of selecting and firing with the stun gun. First, though, you need that shoot alias from earlier, since this bind depends on it. bind n "impulse 75;shoot" // Stun So, you can see that this key will send impulse 75, which selects the stun gun, then immediately shoots. Just pressing n will stun someone. You can then get them with one of the hooks, or shoot them while they're frozen. Here are some other general pointers that a lot of new users miss out on. By default, your character will walk around the map when you use the arrows. Walking is too slow. You need to use the "+speed" command to make them run. Normally, +speed is bound to a shift key so that you can hold it down, in combination with the arrows, to make the character run. In my file, though, I just use +speed by itself so that I'm always running. There are some preferences that are available from the server. For example, in Jedi Quake, you must send impulse 26 in order to turn on the targeting scope for the sniper rifle, or impulse 58 to turn on the silencers for the sniper rifle and pistil. These settings must be made each time that you connect to the server. To make this easier, I have a key that sets them up. My key looks like this: bind x "impulse 82;wait;wait;wait;impulse 26;wait;wait;wait;impulse 58;wait;wait;impulse 57" I press this once when I connect to the Jedi Quake server. This sets the following prefs. Incendiary grenades are selected instead of standard grenades. The targeting scope is turned on. The silencer is turned on. Blaster bolt bouncing is set. You may wish to set others... So, once you have all of your macros setup, how do you bring it all together? I suggest that you put all of the related macros into a particular file. For the Jedi Quake aliases and key binds, you might make a file called jq.cfg. Here is a skeleton of how the basic file might look. // Jedi Quake macros echo "Starting Jedi Quake." // This is displayed in the console // Setup basic attributes name Evil Master // Set your name +speed // Run instead of walk // Next, setup macros // Shooting macros bind ctrl "+attack" // Turning macros alias TurnLeft "+left;wait;-left;wait;wait;impulse 68;wait;impulse 67" alias TurnRight "+right;wait;-right;wait;wait;impulse 68;wait;impulse 67" // Basic turning bind leftarrow "TurnLeft" bind rightarrow "TurnRight" // turn left 90 degrees bind a "turnleft;turnleft;turnleft;turnleft" // Turn right 90 degrees bind s "turnright;turnright;turnright;turnright" // Turn 180 degrees bind z "turnleft;turnleft;turnleft;turnleft;turnleft;turnleft;turnleft;turnleft" // Finally, connect to the server connect tbrn.net Now, once you start Audio Quake, all you have to do is to type the following: exec jq.cfg When you do that, you'll see the message "Starting Jedi Quake", your key binds will all be setup for Jedi Quake, and Audio Quake will automatically connect to the server. This approach is good, since it lets you use different binds for different servers. When you first start Audio Quake, you'll be using the basic keyboard setup. If you want to play on a server with special commands, just make a .cfg file for that server with the binds that you like to use there, and run it to setup and connect. Well, that's all for now. I could write more on this subject, but I'll do that when I have another burst of energy. Please respond on this thread with any questions, and I'll try to help. I know that some people will complain that this is too programmerish, and isn't fun. Unfortunately, this can't be helped. You can't keep people from running macros. If you run with the basic Audio Quake commands, you will be slaughtered on servers by people that are using macros. My personal macros for Jedi Quake are fairly messy, but, perhaps at some point, I'll put together a nicely modularized version. Those of you that aren't programmers could share it around. There is already a basic one that is being passed around, but it doesn't have any compound commands with force powers. Bryan _______________________________________________ AGRIP-discuss mailing list [email protected] http://lists.agrip.org.uk/cgi-bin/mailman/listinfo/agrip-discuss
