Zopmod - www.geocities.com/geozop/zopmod.html - geozop@hotmail.com

How to load it:

Make a new folder called zopmod, and unzip the file into it.

PC:
The easiest way is to run the batch file included with the zip, or set up windows so that you can run addidional command-line arguments when you run Quake (-game zopmod). You may have to edit it if you want it to use glquake. Where it says winquake in the .bat file, replace with glquake. Easy, no? If you do not have winquake, get it at cnet. (www.cnet.com)
 
Mac:
When you open Quake hold down option (or was it shift-option?). In the box, type in as follows (with the minus):
-game zopmod

 
 To make sure that it was loaded correctly, start a game. If there is the zopmod join message, then it was loaded successfully.



How to turn on the options (way 1):
 
 Once it's loaded, you have to do some commands to turn on the things, such as runes and hookshot. Following is a list of the flags that are used to determine the settings. Add together the numbers of the flags to get the gamecfg value.

1    - infinate ammo
2    - start with all weapons
4    - use hookshot
8    - use random item switching on respawn
16   - must be on to have runes
32   - delay in removing rune
64   - on respawn/spawn start with the rocket launcher and 5 rockets
128  - start with a few seconds of invulnerability
256  - start with a few seconds of quad damage
512  - if on, levels have no health in them
1024 - if on, no pentagram in levels
2048 - everyone starts and keeps one rune (set rune)
4096 - on new level, everyone's items reset
8192 - mini game for deathmatch... kill the last zombie for bonus frags
     - game will not end there, however... normal dm is continued

After adding the number of the flags you want, type in at the console (usually the ` key) this: gamecfg [value]. However, changes will not take place until the level is restarted or changed.


Also how to turn on the options (way 2):

 The file _setting.qc is full of variables to be changed. There is a section where each of the above settings can be on or off. Read the compiling section to see how to compile the changes.



How to use the stuff (clients):
 
Once the level is restarted, it's likely to look the same (unless a rune pops out of a wall or such).

-Hookshot
 The hookshot command must be bound to a key. To do this, type at the console: bind s +hook This will make the 's' key be the key that will use the hook. Obviously, change the s to any other letter or symbol for another key. Press it to fire the hook, hold it down to keep it out, and for it to drag you to where ever it has hit. Let go of the key, and the hookshot will disappear, and you'll be left with gravity to deal with again.

-Runes
 Once they're turned on, you have to get one first. If you sit around for a few seconds, they're likely to appear in front of you, or around a corner. They make 'tink' noises when the hit a wall or floor. When you get one, it'll say what rune it is in the middle of the screen, and, if you have the description option on, it'll say at the top what the runes does. So, find one and walk on it to get it. There are three options for the runes:
 Drop it
 -impulse 98
 See what the rune is (again)
 -impulse 99
 Activate it
 -impulse 100
 At the console, type in impulse 98. When you start playing again, it'll say 'Rune removed' in the middle of the screen (Unless you're on top of another rune, then you'll just get that one). Of course, you can only have one rune at one time. To bind to a key one of these commands, open the console again and type: bind w "impulse 98" (you do need to have the quotes). Now, every time you press the w key, it'll remove the rune you have. Again, you can change what key you want the command to be bound to.
 
All player command impulses:
88 - show rune and new weapon descrip
89 - show current vote count (simple majority or 2 out of 2 wins vote)*
90 - vote to change runes on/off (alos vote-runes)*
91 - vote to chnage RA style on/off (also vote-arena)*
92 - vote to exit (also vote-exit for multiplayer)*
93 - show server settings
94 - show available commands
95 - show times left on own powerups
96 - stop hook (-hook)*
97 - start hook (+hook)*
98 - drop rune*
99 - see rune*
100- use rune*
* - unless disabled



Global settings for servers:

These are variables that work exactly like gamecfg, but have different effects.

samelevel:
1 - same level
2 - random level
4 - noexit kills on touch
8 - noexit does nothing on touch... unless:
16- exitable by players over fraglimit
32- exitable after timelimit reached
Note: if 4 and 8 are set, the exit will do nothing on touch.


teamplay:
1 - must be on to use any teamplay
2 - killable teammates
4 - protect armor
8 - three teams (instead of two)
16- self full protection


scratch1:
1 - a few teleport destinations added to levels with tele's above the round gates
2 - basic level changing (Zop's version)
4 - RJSZ level changing (Slot Zero's version)



Compiling:

 the _setting.qc file has many variables (such as ammount of ammo in boxes) that can be set. However, to apply these settings, the .qc file needs to be recompiled, and the server restarted (or level reloaded). I would recommend making a backup of this .qc file.
 To have the changes work, run proqcc.exe in the same folder as the mod and all the other .qc files. This will make a progs.dat file (unless an error occured, then you'll need to start over with the backup (or if you're good, you can debug the problem yourself)).
 If you run a mac, you will need to find a quakec compiler and run that instead of proqcc.exe.



Client-side admin:

 To get admin privelidges, you need to do the three admin impulses, in order, that have been set (by you, at the end of the _setting.qc file). It should say "admin on" on success. Then you can:

Impulse:
 83 View settings
 80 Kick a player
 79 Show teamplay values (like above)
 78 Show gamecfg values (like above)
 77 Change gamecfg
 76 Change fraglimit
 75 Change timelimit
 74 Change maxspeed
 73 Change gravity
 72 Change max runes
 71 Change teamplay
 70 Change noexit
 69 Change samelevel
 68 Force next level


 Each impulse will give basic help on use. Usually, you will need to give more impulses to give each setting what value you want.
 For example:

 You:   impulse 70                         --change samelevel
 Quake: Resetting samelevel, (0)           --the zero is the current value
        impulse xx for samelevel or impulse 100 for none
 You:   "I want exit kills on touch and it's exitable after timelimit reached"
        impulse 20                         --(4 + 16)
 Quake: Samelevel changed to 20
 You:   "Did it take affect?"
        impulse 83                         --view settings command
 Quake: Current settings:
        ...(other settings, set by gamecfg)...
        exit kills on touch
        exitable when timelimit reached
        ...(teamplay settings)...
 You:   "The timelimit needs to be set"
        impulse 75                         --admin impulse to change timelimit
 Quake: Changing timelimit
        impulse xxx for timelimit or impulse 255 for none
 You:   impulse 20
 Quake: timelimit changed to 20            --20 minutes