Feature Description
An indepth discussion of the features, with examples.
Coloring
Some commands require the user to specify a color. To provide the most flexibility colors can be specified in one of three ways.
Using the color string; red, green, yellow, blue, cyan, magenta, white, orange, black, ltgrey, mdgrey or dkgrey.
Using the numerical color value as used to colorise name; 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 or 12 (these follow the same order as the above color strings so 2 is green).
Using a hexadecimal string of the format 0xRRGGBB. RR represents the red component, GG the green and BB the blue. Google will provide explanations of what hexadecimal means, but a hexadecimal color chart can be found in Appendix A.
Enemy Model / Enemy Color
Enemy coloring is related to the choice of enemy model as you can only colorise the special skins we have created in the zzz-nemesis-models.pk3.
Enemy model is changed using the cvar cg_enemyModel. Valid values are any of the standard Quake 3 models or any custom models you have loaded. E.g.
cg_enemyModel keel |
|
cg_enemyModel tankjr |
|
We suggest using a large, heavy (therefore noisey) model for the enemy as the point of being able to choose is so you can hear them easily.
To be able to use enemy coloring you must select the enemy model with the nms skin. E.g.
cg_enemyModel keel/nms |
|
cg_enemyModel tankjr/nms |
|
When in spectator mode you can choose whether the players ingame use the value you've specified in cg_enemyModel or the players chosen model using cg_specEnemyModel
cg_specEnemyModel 0 |
use players chosen model |
cg_specEnemyModel 1 |
use enemy model |
Custom models will hardly ever come with a colorable skin, so if you choose to use a custom model for the enemy you can not color it.
Enemy color is changed using the cvar cg_enemyColor. Valid values are any of the coloring techniques described in the previous section. E.g.
cg_enemyColor green |
|
cg_enemyColor 2 |
|
cg_enemyColor 0x00ff00 |
|
You can also specify different colors for the head, torso, legs and rail shots of your enemies. Using the separator "-" you can do the following.
cg_enemyColor red-green-yellow-green |
|
cg_enemyColor 3-2-5-1 |
|
cg_enemyColor 0xdd2256-2-green-4 |
|
The values represent head, torso, legs and rail color in that order. If you provide less than 4 values the unknown ones will use the value provided for head color (which is why you only need to set 1 value if you want the same color for everything).
After setting an enemy model you can disable it again by resetting it to the empty string. E.g.
There is no corresponding team model command in Nemesis because the same results can be achieved by setting cg_forceModel to 1, making your team use the same model as you.
Crosshair Intensity / Color
Crosshair color is changed using the cvar cg_crosshairColor. Valid values are the same as cg_enemyColor values. You must make sure that cg_crossHairHealth is disabled in order for this feature to work. Although cg_crossHairHealth is disabled by default in Nemesis, make sure that its disabled in your config(s). Below are some examples.
cg_crosshairColor green |
|
cg_crosshairColor 3 |
|
cg_crosshairColor 0xFF00FF |
|
The transparency (opacity) of the crosshair can be changed using the cvar cg_crosshairAlpha. This will set how transparent your crosshair is. Valid values are 0.0 to 1.0.
OSP Style Scoreboard
The OSP style scoreboard is enabled by default in team games (sorry, but there isn't one for FFA or 1v1 games, yet!). It is configured using cg_scoreBoardType, which by default is set to 1. If you prefer the standard score boards set it back to 0.
cg_scoreBoardType 0 |
standard |
cg_scoreBoardType 1 |
OSP style |
Client Statistics
A new client statistics window has been added showing per weapon accuracy, per weapon kills/deaths and pickups. The window displays at the end of a map or can be toggled with the cstats command. Binding the command as follows will allow you to hold down the m key to display the window - releasing the m key hides the window again.
\bind m +cstats
All statistics are available, unless playing a game of freezetag in which damage given is replace with N/A (not available).
All statistics are calculated on the client side, which, although not as accurate as server side calculations, means the statistics are available on all servers regardless of mod.
CPMA Style HUD
CPMA style HUD is enabled or disabled using the cg_cpmaHud cvar.
cg_cpmaHud 0 |
standard HUD |
cg_cpmaHud 1 |
CPMA HUD |
Automatic End of Game Screenshots
If you like to screenshot the scoreboard at the end of a game you can enable this feature so you will never forget again! cg_autoScreenshot is used to enable and disable this feature.
cg_autoScreenshot 0 |
off |
cg_autoScreenshot 1 |
on |
Automatic Demo Recording
If you like to record your games because of clan matches or just to relive those frag moments you can do this automatically. Demos start when the warmup timer ends, so unless you enter a server while the warmup is counting down no demo will be recorded. Demos end when a map finished and the intermission is in progress. cg_autoRecord is used to enable and disable this feature.
cg_autoRecord 0 |
off |
cg_autoRecord 1 |
on |
Rail Trails
There are four styles of rail trail to choose from, controlled by the cg_railTrail cvar.
cg_railTrail 1 |
default |
cg_railTrail 2 |
AF style |
cg_railTrail 3 |
Old style |
cg_railTrail 4 |
QF style |
Player Speed
You can display your current player speed in u (game units) in the top right hand corner of the screen. Most servers default to 320 game speed so using this you can tell how well you are strafing. Good movers tend to hit speeds between 500 and 600u as they travel around maps searching for enemies. It is enabled and disabled using cg_drawSpeed.
cg_drawSpeed 0 |
off |
cg_drawSpeed 1 |
on |
Whilst concentrating on other things it is awkward to keep looking at your speed so a replacement bar can be used instead. cg_drawSpeedBar draws a small bar which is colorized green, amber or red depending on how fast you are traveling.
0 – (normal+40%) is green
(normal+40%) – (normal+90%) is amber
(normal+90%) or more is red
cg_drawSpeedBar 0 |
off |
cg_drawSpeedBar 1 |
on |
Team Crosshair Stats
In team games it is useful to be able to tell how much health and armor a team mate has left. cg_teamInfoType has 3 settings.
cg_teamInfoType 0 |
display name only |
cg_teamInfoType 1 |
name, health & armor as text |
cg_teamInfoType 2 |
name, health & armor using bars |
Draw Accuracy
If you like to see how accurate you are you can use cg_drawAcc to display hit percentage in the top right hand corner of the screen.
cg_drawAcc 0 |
off |
cg_drawAcc 1 |
on |
Player Breath
In freeze games you can add to the atmosphere but drawing breath puffs on players. This is enabled and disabled using cg_enableBreath.
cg_enableBreath 0 |
off |
cg_enableBreath 1 |
on |
True Lightning
1.32 style true lightning so the lightning gun fires a direct beam.
cg_trueLightning 0 |
off |
cg_trueLightning 1 |
on |
Thaw Sound
A new thaw sound has been added for freeze games so you can have an ice shatter.
cg_thawSoundType 0 |
default |
cg_thawSoundType 1 |
ice shatter |
Team Icons
On the CPMA HUD you have the option of drawing team icons below the weapon info on the left hand side.
cg_useTeamIcons 0 |
no team icons |
cg_useTeamIcons 1 |
draw team icons |
No Chat Beep
Enable or disable the beep you get when someone types a messages.
cg_noChatBeep 0 |
standard beep |
cg_noChatBeep 1 |
no beep |
Filter Chat Messages
Filter chat messages so you see everything (default), only say_team and tell messages, or only tell messages
cg_chatMode 0 |
default (see everything) |
cg_chatMode 1 |
only team chat and tell |
cg_chatMode 2 |
only tell |
No Friend Shader
Enable or disable the small triangle which appears over team mates heads when they are alive.
cg_noFriendShader 0 |
display shader |
cg_noFriendShader 1 |
no shader |
No Connection Interrupted Shader
Enable or disable the connection interrupted shader appearing over players head when they lag (particularly bad on delagged NoGhost servers).
cg_noConnectionShader 0 |
display shader |
cg_noConnectionShader 1 |
no shader |
No Projectile Trails
Enable or disable the weapon projectile trails (i.e. rocket smoke).
cg_noProjectileTrail 0 |
trails on |
cg_noProjectileTrail 1 |
trails off |
Score Plums
Enable or disable score plums. A score plum is a floating number that appears above an enemy when you kill them.
cg_scorePlum 0 |
score plums off |
cg_scorePlum 1 |
score plums on |
Special Graphics Effects
Enable or disable the extra visual effects.
cg_specialEffects 0 |
no effects |
cg_specialEffects 1 |
sparks |
cg_specialEffects 2 |
plasma trail |
cg_specialEffects 3 |
sparks and plasma trail |
Auto Announce
Automatically announce to your team mates (so it only works in team games!) certain items that you pickup, as though you typed /say_team Taken Red Armor in the console window.
cg_autoAnnounce 0 |
No auto announcing |
cg_autoAnnounce X |
auto announce items based on 'X' |
'X' is made up by combining the numbers of the items you want to auto annouce from the list below.
Yellow Armor |
1 |
Red Armor |
2 |
Mega Health |
4 |
Holdable Teleporter |
8 |
Medikit |
16 |
Quad |
32 |
Haste |
64 |
Invisibility |
128 |
Regeneration |
256 |
Flight |
512 |
Environmental Suit |
1024 |
If you want to announce yellow and red armor you add their values together (1+2), then set cg_autoAnnounce 3
If you want to announce all items on the list set it to cg_autoAnnounce 2047
Iceshells for Frozen Bodies
When playing freeze you can decide if you want ice shells (frozen look) on dead bodies.
cg_iceShells 0 |
frozen bodies show as quad or battlesuit depending on server |
cg_iceShells 1 |
frozen bodies have iceshells on |
Specialty Commands & Chat Tokens
This section contains a collection of commands that were implemented to enhance the game and provide easy control for the user.
Typing /players in the console will give you a list of current players, their slot number and their team.
/startRecord <DEMONAME> can be used to record a demo without the need to wrap the call with synchronous client on/off calls (it does it for you).
/startPersistentFollow <CLIENTSLOT> will start following the client playing at the given slot number. Persistence comes into play when a player is frozen in a freeze game because as soon as they are thawed you will start following them again.
/stopPersistentFollow is used to turn off the above command. If you forget to call this command to disable persistent follow mode it will be as if you are continually issuing follow commands.
/recordPlayer <CLIENTSLOT> <DEMONAME> is used to record a client playing at a particular slot number. This is useful for recording a particular player during a clan war as you don't have to keep locating them after they die. You should understand how persistent follow works (more importantly how to turn if off) as this command makes use of it. Issuing a /stopRecord to end the demo will not disable the persistent follow, so you need to issue /stopPersistentFollow as well. If you plan to record the demo for a complete map there is no problem as persistent follow is automatically disabled when a map ends.
You can bind the command followTeamNext or followTeamPrevious to a key so when you are frozen in a team game you can cycle through live team mates to see if anyone is near enough to thaw you. If you are playing and you issue a follow command you are taken into spectator mode. In an effort to prevent you using one of these commands just as you are unfrozen checks are made so you cannot use them when you are alive. Sadly this is not 100% reliable due to delays transmitting game state between client and server so be careful using this command while you are being thawed.
You can use various text substitutions in say, say_team and say_leet commands. For example, you can bind \bind m say_team taken #l and when you press the m key the #i tag is replaced with one of red armor, yellow armor, quad, regen, medikit, mega health or flight.
#n |
your player name |
#s |
your current score |
#t |
your team |
#h |
your current health |
#a |
your current armor |
#i |
last item you picked up |
#l |
name of player who last hit you |
#x |
name of player in crosshair |
#k |
name of killer |
say_leet, not heard of that command before? Give it a try!
The /chelp command prints brief list of available commands to the console incase you forget the details or cvar names ingame.
FAQ
I installed it and I can't get anything to work, what's wrong?
If you followed the installation instructions you can verify whether the mod is loaded or not because the start screen of Quake 3 will now show some flashing copyright text (just below the main menu). If you installed it into a mod folder you may have to go to the "Mods" menus and load that mod before you enter your server (this is a problem with 1.11 linux server versions used to run NoGhost).
Also make sure you are not trying to play on a pure server because some NoGhost pure servers will let you in, but will disable any pk3 files which are not on the server.
Why are all the automatic screenshots and demos given names like demo0001, can you name them something sensible?
I'd love to, but in the 1.16n engine there is no way to access the current date and time to produce a unique name. Player name and map name would provide a useful name, because every time you replayed the map you'd overwrite the previous one which not a good idea.
I really hate people using green models and think everyone should have to use the standard red or blue, what are you going to do about it?
That is exactly why the mod is distributed as two pk3 files. If you run a pure server you can let clients use all the features apart from enemy coloring by not adding zzz-nemesis-models.pk3 to your server. If you don't run a pure server then there are other mods which let people use green models (or even worse, bbox) so you have nothing to complain about.
I thought you were going to add some commands so NoGhost servers could limit Nemesis functionality?
This was the original plan, but we don't see the point unless you run a pure server (see above). Without pure players would just use another mod to get the disallowed feature and we don't want to turn players away from using Nemesis just because server X disables a certain feature.
I have cg_autoRecord enabled and when a map starts my game freezes for around 5 seconds!
This is because you have too many demos stored in your demo folder. The freeze is caused by quake 3 trying to find the next demo name (remember they are named in an increasing sequence demoXXXX), which is done by checking the disk over and over again until it finds a possible name. Simply move your demos to another folder or delete the ones you do not want to keep anymore.