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

Reply via email to