Post by Master on Sept 11, 2007 8:08:31 GMT -5
ET allows you to make some very useful tweaks from the options menu.
Game options:
* Automatic reload: set this to off. That way you won't get caught reloading in the middle of a fight. If you run out of ammo, you can just switch to your pistol quickly. Then, when it's safe to reload, hit "R".
* Complaint popup off: useful if you never plan to complain.
View options
* Reinforcement timer / mission timer: make sure these are on.
* Crosshair size: Make it basically as small as possible, but not so small that you have a hard time seeing it on the screen. The smaller your crosshair is, the easier it is to get headshots.
* Crosshair health info: this makes your crosshair change color to reflect how much HP you have. White for full HP, yellow for medium HP, and red for low HP.
* Crosshair color: some people like to choose a very visible color like Red, especially if they have a small crosshair which is easy to lose. Note that you can't have a customized crosshair color if you enable "crosshair health info".
* Blood flash and splatter: Turn these to OFF. They are completely useless, all they do is splat blood all over your screen when you get shot, which makes it very difficult to see your enemy.
Controls
* Mouse sensitivity: affects how fast your cursor moves. I talked a lot about this already in the Basic Skills section on Shooting. Later in this section I will show you how to write a script that lets you hit 1 key to toggle between sensitivities, since some situations might require more or less sensitivity.
System
* Effects volume: crank your volume up! Then you can hear footsteps more easily. Also, many people (including me) like to use headphones instead of speakers because it's sometimes easier to tell where sounds are coming from
* Resolution: The higher your resolution, the easier it is to see enemies, but on the other hand, you don't want to ruin your FPS. To tweak your resolution, what you should do is go into the console (type ~ to enter console) then type this:
/cg_drawfps 1
This is a command which will cause your FPS to be displayed on the side of your screen. The rule of thumb I'd use is, find the highest resolution you can go to and still get a steady FPS of 80 or above. If this is impossible with your hardware, then just go for 800x600.
Hardware tweaks
There are a few things you should tweak in your hardware to get good performance.
Overclocking
Find out how to overclock your CPU if you don't already know. This allows you to, for example, make a 1.8 Ghz CPU be as fast as a 2.1 Ghz CPU. It's risky though because overclocking wears down your parts, so your computer won't last as long.
Also, this is very important: if you notice ET crashing frequently, it may because your CPU is overheating. In this case, you need to reduce your overclocking or even "underclock". You might also be able to solve the problem by getting a better cooling solution for your case.
Video card drivers
Sometimes you might have a wonderful video card but you get a crappy FPS. Download the latest drivers from your card vendor's website, this often helps.
Mouse acceleration
I strongly recommend turning this off. It just makes it harder to aim. To turn it off, the first thing you should do is go into the console and type:
/cl_mouseaccel 0
Or, you can put "cl_mouseaccel 0" in your autoexec.cfg (If you don't already know about autoexec.cfg, you'll find out more in this section).
Creating a config file
Create a file called:
C:\Program Files\Wolfenstein - Enemy Territory\etmain\autoexec.cfg
Just make an empty file in notepad or whatever text editor you want, and save it in this path. Right now just leave it empty. The rest of this section is basically about what to put in that file.
How to bind keys
In some of the scripts I'll show you, you'll bind a particular action to a key. To do this, you insert a line in your config file that looks like this:
bind
For example, bind "K" "kill". This line in your config file will make it so you can press "K" to commit suicide.
Here is a list of things you can put for :
* Alphabet: A-Z
* Numbers: 0-9
* Function keys: F1-F12
* Punctuation: -[]/\'.,;~=
* SPACE, TAB, SHIFT, CTRL, ALT, ENTER, BACKSPACE
* PAUSE
* Arrow keys: UPARROW, DOWNARROW, LEFTARROW, RIGHTARROW
* INS, HOME, PGUP, DEL, END, PGDN
* Numeric keypad: KP_HOME, KP_SLASH, *, KP_MINUS, KP_UPARROW,
KP_DOWNARROW, KP_LEFTARROW, KP_RIGHTARROW,
KP_PGUP, KP_5, KP_PLUS, KP_ENTER, KP_END,
KP_PGDN, KP_INS, KP_DEL
* Left mouse button: MOUSE1
* Right mouse button: MOUSE2
* Middle mouse button: MOUSE3
* More mouse buttons: MOUSE4/MOUSE5 (some mice have extra buttons)
* Mousewheel scroll up: MWHEELUP
* Mousewheel scroll down: MWHEELDOWN
As for , it is basically any valid command. (Keep reading to learn more commands)
Graphics tweaks
Here are some useful tweaks you can make to change your graphics.
set com_maxfps
Use this to set the maximum FPS you want your game to run at. Why limit your FPS? Firstly, because if your FPS is constantly changing, it can throw off your aim and generally disorient you. Personally I would rather have a constant FPS of 76 than an FPS which keeps fluctuating between 76 and 100. Also, trickjumps work best when you have a steady FPS of 43 (good), 76 (great), 125 (best), or 333 (supercomputer!). I know this sounds weird, but trust me, it is true Due to numerical errors in the Quake 3 engine, you actually jump a little higher if your FPS is say, 125, than if your FPS is 100 or 150. Try to set your com_maxfps to one of these magic numbers.
Personally I have my config set up so I can toggle between FPS depending on the situation. For example, if I'm playing Goldrush I can usually get a constant 125 FPS so I set com_maxfps to 125. If I'm playing Radar where there's lots of grass on the map, I set it down to 76 FPS.
Ex: set com_maxfps 76
set cg_wolfparticles
This is 1 by default. If you set it to 0, then it will hide many particle effects. For example, when a grenade blows up, you won't see a blast. Or when airstrikes are going off, you'll only see smoke, but no explosions. Also, the smoke that comes out of the tank when it's disabled will not be shown.
This is good because you get a little performance boost, and also airstrikes or tank smoke don't block your vision, so you can fire at people who are standing on the other side of the airstrike. The problem is obviously then you might accidentally run into more airstrikes. That's why personally I have a key to toggle this setting on and off. (An example of how to write such a toggle script is below).
Ex: bind "K" toggle cg_wolfparticles
Note: If you don't want a toggle, but just want it to be some fixed value, I would recommend just leaving it on, otherwise you might die more due to running into artillery.
set r_gamma
Higher values of n make your screen brighter. Default is 1.0, allowed values are from 0 to 3. I recommend making your screen brighter because it lets you see targets more easily. Be careful you don't set it too high, otherwise levels like fueldump or radar with lots of snow will be way too bright.
Ex: set r_gamma 2.2
set r_intensity
Higher values of n make your screen brighter. Default is 1.0, allowed values are from 0 to 1.5
Ex: set r_intensity 1.2
set r_mapoverbrightbits
Higher values of n make the shadowy parts of a map lighter. Default is 2, allowed from 1 to 3. Setting it to 3 may help see targets that are hiding in shadows
Ex: set r_mapoverbrightbits 3
set r_picmip
The bigger n is, the crappier your textures look, but it may improve performance on older video cards. Default value for n is 1. Allowed values are from 0 to 3.
Ex: set r_picmip 3
set r_picmip2
Similar to r_picmip- just set it to whatever you set r_picmip to
set r_dynamiclight
Turns on (n=1) or off (n=0) dynamic light. Dynamic light is used very little in the game. I suggest you leave it on, because it is what makes the "glow" around dynamite, which is very useful to know when dyno has been planted.
Ex: set r_dynamiclight 0
set cg_shadows
Turns on (n=1) or off (n=0) shadows. Doesn't help a whole lot, but if you have a slow computer, try it...
Ex: set cg_shadows 0
set r_finish
Just set it to 0, it's not important. Trust me
Ex: set r_finish 0
set r_detailtextures
When detail textures are enabled (n=1), it means that basically every object is textured twice to make it look more detailed. Obviously this is slower, so try disabling this (n=0) if you want to get more FPS.
Ex: set r_detailtextures 0
set r_subdivisions
If you want a little performance boost, set this to 999. Otherwise, set it to 4.
Ex: set r_subdivisions 999
set r_texturemode
This lets you set texture filtering. The most common values are:
(low quality): GL_NEAREST
(good quality): GL_LINEAR_MIPMAP_NEAREST
(great quality): GL_LINEAR_MIPMAP_LINEAR
On older video cards, choosing lower quality may increase performance. If you set this to GL_NEAREST, then everything on your screen will look really blocky because textures aren't being "smoothed". Personally I use GL_NEAREST simply because it makes my crosshair look sharper. This is useful since I use a "tiny" crosshair size.
Ex: set r_texturemode GL_NEAREST
set r_fastsky
If you set this to 1, it will just draw a solid color for your sky. This may give you a slight improvement in your FPS. It's not much, but then again, who cares how pretty the sky looks?
Ex: set r_fastsky 1
Networking tweaks
If you're having trouble with laggy/slow connections... Well, honestly there's not much you can do! You're pretty much f**ked! But, tweaking these settings might help a little:
set rate
Can be from 2500 to 25000. The faster your connection is, the higher you should set your rate. So for example, a modem might use a rate of 5000, whereas for LAN you would use 25000.
Ex: set rate 15000
set snaps
Can be from 20-40. Determines how many times the server sends you updates of the game state. I would suggest leaving it at 20 or so if you have a slow connection. If you have a good connection, set it to 30-40.
Ex: set snaps 30
set cl_timenudge
This is a very odd tweak: if you have a lot of lag, then setting this to a negative number will cause some crazy calculations to occur to take your lag into account when determining stuff like where your bullet went. Most people should leave this at 0. If you have serious ping problems, try setting this lower, but no lower than -50. (-50 is the lowest allowed value on most servers). In fact though, in most competitions, cl_timenudge must be zero. So if you play in a clan, don't tweak this...
Ex: set cl_timenudge -25
set cl_maxpackets
The bigger n is, the more information your computer sends to the server, so basically your actions will be more accurate. I think the default for this is 20, you can raise it higher if you want but no higher than 100 since this is the max allowed value. Be careful when tweaking this setting, if you set it to high, it may actually make your connection worse.
Ex: set cl_maxpackets 50
Easy artillery strike script
This script lets you call an artillery strike without having to go into binocular mode. You simply look at the piece of ground (without binoculars) where you want to call the strike and then press a key. So, suppose you want to bind this ability to your "K" key. Then you should add this line of text to your autoexec.cfg:
bind "K" "+zoom;+attack;-attack;-zoom"
Notice that we're actually binding the K key to not just 1 command, but a list of commands. The semicolons ( separate each command. You'll learn more about this when we get into some of the more advanced scripts.
Field of view script
Field of view is more or less a zoom factor. A very low FOV would be like using binoculars, while a high FOV would give you a very wide angle so you could see more of your surroundings. The default FOV is 90 degrees, meaning that basically you can see 45 degrees to the left of you and 45 degrees to the right of you.
To set your FOV to some number, you just say:
set cg_fov
The number should be from 90 to 110. If you try to go higher or lower, you might not be allowed to depending on the server, because having a ridiculously low or high FOV is almost like cheating.
Just for fun, I tried raising the FOV to 180 degrees. Pretty crazy, huh? It's like a fish-eye view; things that you are looking directly at appear fine, but as you move to the edges of the screen, everything gets stretched.
Colored names
Some players like to have colors in their name like: Sideshow Bob. To make your name look like this, you would say:
set name "^1Side^pshow ^2Bob"
The "^1" means "Make all the letters after this look red". The "^p" means "black", and the "^2" means "green".
Just try some characters
Text message hotkeys
You can assign keys to text messages. I really really recommend doing this for common messages that you may need to say to your team, like, "Don't go out the f**king backdoor!" To do this, you do:
bind "K" "say_team Don't go out the f**king backdoor!"
"say_team" puts the message in team chat. If you want to say something in public, just use "say".
Advanced scripting
Now that you know a couple of basic commands, you're ready to learn more about scripting. These "advanced" topics will help you write really cool scripts that go beyond just spitting some text to the screen. Don't worry, it's not hard.
Running multiple commands at once
You can string together multiple commands on one line using semicolons. So for example, you can do something like:
bind "K" "say We won!; say We really kicked your ass!; say Man, you guys really suck!"
I call this the "obnoxious cheering script". You just press one key and it says all this stuff I also call it the "get banned really quickly" script.
Using multiple config files
You can have other config files besides your autoexec.cfg, although they may not be run automatically on startup. However, there's a command to run a config file called "exec". So, for example, if you want to be really organized, then you could have 3 different config files: "graphics.cfg" which would contain all your graphics settings, "chat.cfg" which would contain shortcuts for teamchat messages, and "misc.cfg" which would contain everything else.
Then, just stick these cfg files in your etmain folder (where the autoexec.cfg is). And, then in your autoexec.cfg, add these 3 lines:
exec "graphics.cfg"
exec "chat.cfg"
exec "misc.cfg"
Then whenever your game starts up, all the scripts in those files will be executed.
Running a script from a script
What you can do is create a variable that holds a script. Then you can run that script using a command called vstr. Here's an example of how that would work:
set SuicideScript "kill"
bind "K" "vstr SuicideScript"
So, I just made up some variable called SuicideScript and set its text to "kill". This is just like setting your name to something, except instead of 'name', I just made up some variable called "SuicideScript". Then, we bind the K key to the action "vstr SuicideScript". vstr is a command which runs some script stored in a variable.
This example's pretty trivial but soon I'll show you how to use vstr to do some cool things.
Echo
The echo command writes some text on your screen. For example:
echo "Autoexec.cfg has been loaded!"
Writing a toggle script
Here's a short example showing you how to toggle between an FOV of 90 and 120:
set fov90 "echo FOV set to 90 degrees!; set cg_fov 90; set switch_fov vstr fov120;"
set fov120 "echo FOV set to 120 degrees!; set cg_fov 120; set switch_fov vstr fov90;"
set switch_fov "vstr fov90"
bind "n" "vstr switch_fov"
Just read it and hopefully it will make sense Basically we are just using vstr in a very clever way that lets us press the "n" key to toggle between running the fov90
If you just want to toggle a value between 1 and 0. Doing this is really simple. So, for example if you want to toggle atmospheric effects (like rain) on and off by hitting F5, you can say:
bind F5 toggle cg_atmosphericeffects
This "toggle" command is built into the way scripts work, so you can feel free to use it for any value you want to toggle between 0 and 1.
Writing a cycle script
To write a script to cycle between several values of some variable, you could do it using set and vstr, similar to the FOV script above. There's also a handy command to cycle through values. For example:
bind "K" "cycle sensitivity 3 7 2"
This will change the mouse sensitivity every time you press K, going from 3 to 7 in steps of 2. (So, 3,5,7,3,5,7,3,5,7,etc).
Personally I don't like cycle scripts because they don't echo the value to the screen. I usually just use set and vstr so I can use echo.
The +vstr command
You can bind a key to do one thing when you press it, and something else when you release it. Here's a really dumb example:
set script1 "cg_drawgun 0"
set script2 "cg_drawgun 1"
bind "K" "+vstr script1 script2"
So, hopefully this is pretty obvious. After +vstr, you write the name of 2 scripts that should be run. The first script will be executed on the key press, and the other will be executed on the key release. This particular script hides the gun while the key is pressed, and makes it reappear after the key is released.
You might think that when you press a key, script1 is executed once, and then when you release a key, script2 is executed once. This isn't true. Although the "release" script is always guaranteed to run only once, script1 will keep running again and again while the key is pressed. So, make sure you don't put anything in script1 that can't be run multiple times. For example, putting an echo statement in script1 would be really stupid because then that message might get echo'ed hundreds of times.
And now for a real-life example that uses all this scripting crap!
Say you're playing on Seawall Battery and you're an engineer. Suppose you're the kind of guy who likes to play defense, so you usually either guard the backdoor or guard the gun controls. You often find yourself having to type out messages like "Allies are planting at the gun controls!". That's a lot of typing, so it would be nice to just bind that to a key.
What you can do is create a config file for Battery, call it battery.cfg. You can do this for every map, and then in your autoexec, just have some lines like this:
bind "F5" "echo loading battery.cfg!; exec battery.cfg"
bind "F6" "echo loading radar.cfg!; exec radar.cfg"
bind "F7" "echo loading oasis.cfg!; exec oasis.cfg"
This is probably how I would do it: just bind each map config to a function key. I think if you're playing on a server with ETPro though, you can just create files called autoexec_battery.cfg, autoexec_radar.cfg, etc. And it will automatically read those those and apply those settings. As far as I know, that only works on ETPro though, so I'd just do it with the function keys like I've shown here.
Now, let's say that you're a guy who only likes to play defense. The two things you defend are the gun controls or the backdoor. So, to safe yourself some typing, you decide to bind two keys: A and B. A will be the key you hit if everything's ok. B will be the key you hit if there's trouble.
You could set up the following script... Note I'm abbreviating backdoor with BD and gun controls with GC:
set BDBinds "bind A say_team All clear @ BD!; bind B say_team Allies are in @ BD!"
set GCBinds "bind A say_team All clear @ GC!; bind B say_team Allies are in @ GC!"
Then you could write a toggle script to switch between these two "modes". So let's write a script that lets you press "C" to toggle between them:
set BD "echo Backdoor mode!;vstr BDBinds; set switch vstr GC"
set GC "echo Gun controls mode!;vstr GCBinds; set switch vstr BD"
set switch "vstr BD"
bind "C" "vstr switch"
Sorry for the confusing names like BD and GC! Normally you should keep your names longer and more descriptive, but I'm trying to make all these long scripts fit the width of your browser. Anyways, hopefully what this script does is clear enough. If you press "C" then it will run switch. Switch will run either BD or GC. Say it runs BD. Then it will echo the text "Backdoor mode!", and then run BDBinds, which sets up all the binds for defending the backdoor, and then it makes it so the next time you run switch, it will call GC instead of BD.
Pretty crazy, huh
Hiding your gun
In some cases it's really useful to hide the gun. For one thing, when you display the gun, you also get the unfortunate effect of muzzle flash. So, every time you fire a bullet, there's a bright flash that can be distracting. Also, sometimes the gun itself can get in your way, which is annoying.
To turn your gun off, use the command "cg_drawgun 0". And to turn it back on, use "cg_drawgun 1". If you like, you can set up a toggle to turn your gun on and off. This is done with this command:
bind "K" toggle cg_drawgun
Personally, I like seeing when I have a syringe out, because then if I'm reviving someone I won't accidentally shoot them because I actually had a gun out. The only thing I really like to hide are weapon banks 2 and 3- i.e. pistols, SMGs, panzers, MGs, etc. So to do this, I came up with the following script:
bind 0 "cg_drawgun 1; weaponbank 10"
bind 1 "cg_drawgun 1; weaponbank 1"
bind 2 "cg_drawgun 0; weaponbank 2"
bind 3 "cg_drawgun 0; weaponbank 3"
bind 4 "cg_drawgun 1; weaponbank 4"
bind 5 "cg_drawgun 1; weaponbank 5"
bind 6 "cg_drawgun 1; weaponbank 6"
bind 7 "cg_drawgun 1; weaponbank 7"
bind 8 "cg_drawgun 1; weaponbank 8"
bind 9 "cg_drawgun 1; weaponbank 9"
Hopefully this isn't too confusing! Basically, this way I can be selective about which weapons get hidden and which ones get shown. Note the semicolons (the ; symbol) between the cg_drawgun command and weaponbank command. This is necessary to separate one command from another.
Rapid akimbos script
This is one of the best scripts, IMO. You just hold down a key (cannot be a mouse button, must be bound to a key) and your akimbos will fire at 16 rounds per second. This is about double as fast as I could fire akimbos if I press the mouse button as fast as I can. It's nearly as fast as an MG, which is 18 rounds per second.
The only limitation is that while you're holding down the key, you can't change what direction you're moving, although you can still turn around with the mouse. Since the fire is so rapid, you will run out of ammo in about 1 second. So, don't waste it- don't use this against people who are far away, or who are moving very fast. It's best used at close range, either if you sneak up on someone from behind, or if you trap them in a small hallway.
NOTE: This script will not produce good results if the server you play on limits the akimbo rate.
Here is the script (note: I split it up into several lines, but it should all be written on 1 line in the text file):
bind "K" "+attack; -attack; +attack; -attack;
+attack; -attack; +attack; -attack;
+attack; -attack; +attack; -attack;
+attack; -attack; +attack; -attack;
+attack; -attack; +attack; -attack;
wait 1;"
Text shortcuts
There are some very cool text shortcuts you can use on shrub servers. They are:
- last person who gave you ammo
[d] - last person who killed you
[h] - last person who gave you health
[k] - last person you killed
[l] - your current location
[n] - your name
[r] - last person who revived you
- teammate you are pointing at - your health
[w] - weapon you are currently holding
[t] - ammo for current weapon
I find this very useful. So for example, you could bind a message to a key like this:
bind K say_Team "Medic! I am located at [l], I have health!"
Here's my favorite example- check this out... In my class selector script (which I modified for my own use), I added some lines that look like this:
set covert_config "bind MOUSE3 say_team Hey
, come with me. I have a uni!"
set soldier_config "bind MOUSE3 say_team Hey
, please move out of my line of fire!"
set fdops_config "bind MOUSE3 say_team Hey
, hold up so I can give you ammo!"
set engy_config "bind MOUSE3 say_team Hey
, give me some backup! (I'm an engy)"
set medic_config "bind MOUSE3 say_team Hey
, hold up so I can heal you!"
So for example, if I change my class to medic, it will automatically do a vstr on my medic_config script. Then, whenever I press MOUSE3 (the mousewheel), then say my cursor is currently pointing to a teammate named Jack. Then it will say, "Hey Jack, hold up so I can heal you!"
Remember, these only work on shrub servers though
Using the console
Sometimes you might want to change your settings while you're in the middle of the game. Luckily, you can do this through the console (that window that pops up when you press the tilde (~) key). You can enter any command in the console, including set, bind, exec, etc. For example, let's say that I am playing on my computer and then my little brother Nick wants a turn. Then, I can bring up the console and type:
/set name "Nick"
This way, Nick can play like a total noob, and people will know it's not ME tking them with a panzer!
Note you must include the slash (/) before the command, otherwise it'll just display the command in the team chat and not actually do anything. If you enter this into your autoexec.cfg, then no slash is needed.
May sometimes be a little hard to read but I did my best.
For additional scripts have a look in the Scripts Database
Have fun with it and take a change making a script.
Good luck
Greetz Master