home *** CD-ROM | disk | FTP | other *** search
- // Admin.qc - Remote Administration of a Quake Server
- //
- // Released 8/8/96
- //
- // Doug Keegan
- // Rip on IRC/NetQuake
- // doug.keegan@tamu.edu
-
-
- // impulse constants. Change the A_CODEx constants to your 'secret' admin code
-
- float A_CODE1 = 150;
- float A_CODE2 = 152;
- float A_CODE3 = 154;
- float A_DM1 = 49;
- float A_DM2 = 50;
- float A_DM3 = 51;
- float A_DM4 = 52;
- float A_DM5 = 53;
- float A_DM6 = 54;
- float A_TEAMT = 84;
- float A_DMT = 68;
- float A_COOPT = 67;
- float A_JUMP = 76;
- float A_NOEX = 78;
- float A_GRAVU = 71;
- float A_GRAVD = 72;
- float A_START = 83;
- float A_SKICK = 75;
- float A_YES = 121;
- float A_NO = 110;
-
-
-
- /*
- ============
- CheckAdmin
- ============
- */
- void() CheckAdmin =
- {
- if (self.impulse == A_CODE1)
- {
- self.admin = 1;
- }
- else
- if ((self.impulse == A_CODE2) && (self.admin == 1))
- {
- self.admin = 2;
- }
- else
- if ((self.impulse == A_CODE3) && (self.admin == 2))
- {
- self.admin = 3;
- sprint(self,"\nAdministration privileges enabled\n");
- }
- else
- if (self.admin != 3) self.admin = 0;
- };
-
- /*
- ==========
- TeamToggle
- ==========
- */
- void() TeamToggle =
- {
- bprint("Teamplay is now ");
- if (cvar("teamplay") == 1)
- {
- bprint("OFF\n");
- localcmd("teamplay 0\n");
- }
- else
- {
- bprint("ON\n");
- localcmd("teamplay 1\n");
- }
- };
-
- /*
- ==========
- DMToggle
- ==========
- */
- void() DMToggle =
- {
- bprint("Deathmatch is now ");
- if (cvar("deathmatch") == 1)
- {
- bprint(" 2\n");
- localcmd("deathmatch 2\n");
- }
- else
- {
- bprint(" 1\n");
- localcmd("deathmatch 1\n");
- }
- bprint("Restarting level with new settings...\n");
- changelevel(mapname);
- };
-
- /*
- ==========
- CoopToggle
- ==========
- */
- void() CoopToggle =
- {
- bprint("Coop is now ");
- if (cvar("coop") == 1)
- {
- bprint(" 0\n");
- localcmd("coop 0\n");
- localcmd("deathmatch 1\n");
- }
- else
- {
- bprint(" 1\n");
- localcmd("deathmatch 0\n");
- localcmd("coop 1\n");
- }
- bprint("Restarting level with new settings...\n");
- changelevel(mapname);
- };
-
- /*
- ==========
- JumptoNext
- ==========
- */
- void() JumptoNext =
- {
- local entity ot;
- ot = find(world, classname, "trigger_changelevel");
- if (!ot || mapname == "start")
- sprint(self,"NextLevel is not defined");
- else
- {
- bprint("Game moved to next level...\n");
- changelevel(ot.map);
- }
- };
-
- /*
- ==========
- ToggleNoExit
- ==========
- */
- void() ToggleNoExit =
- {
- bprint("NoExit is now ");
- if (cvar("noexit") == 1)
- {
- bprint("OFF\n");
- localcmd("noexit 0\n");
- }
- else
- {
- bprint("ON\n");
- localcmd("noexit 1\n");
- }
- };
-
- /*
- ==========
- GravToggle
- ==========
- */
- void() GravToggle =
- {
- local string st;
- local float pad;
-
- pad = cvar("sv_gravity");
- if ( ((pad > 0)&&(self.impulse == 72)) || ((pad < 3000)&&(self.impulse == 71)) )
- {
- if (self.impulse == 72)
- pad = pad - 100;
- else
- pad = pad + 100;
- st = ftos(pad);
- bprint("Gravity is now ");
- bprint(st);
- bprint("\n");
- localcmd("sv_gravity ");
- localcmd(st);
- localcmd("\n");
- }
- else
- {
- if (self.impulse == 72)
- sprint(self,"Gravity is at minimum (0)\n");
- else
- sprint(self,"Gravity is at a maximum (3000)\n");
- }
- };
-
- /*
- ==========
- MapStart
- ==========
- */
- void() MapStart =
- {
- bprint("Game moved to start...\n");
- changelevel("start");
- };
-
- /*
- ==========
- MapDM
- ==========
- */
- void() MapDM =
- {
- if (self.impulse == A_DM1)
- {
- bprint("Game moved to dm1...\n");
- changelevel("dm1");
- }
- if (self.impulse == A_DM2)
- {
- bprint("Game moved to dm2...\n");
- changelevel("dm2");
- }
- if (self.impulse == A_DM3)
- {
- bprint("Game moved to dm3...\n");
- changelevel("dm3");
- }
- if (self.impulse == A_DM4)
- {
- bprint("Game moved to dm4...\n");
- changelevel("dm4");
- }
- if (self.impulse == A_DM5)
- {
- bprint("Game moved to dm5...\n");
- changelevel("dm5");
- }
- if (self.impulse == A_DM6)
- {
- bprint("Game moved to dm6...\n");
- changelevel("dm6");
- }
- };
-
- /*
- ==========
- StartKick
- ==========
- */
- void() StartKick =
- {
- self.kick = 3;
- self.kicker = find(world, classname, "player");
- sprint(self,"Kick ");
- sprint(self,self.kicker.netname);
- sprint(self,"?\n");
- };
-
- /*
- ==========
- DoKick
- ==========
- */
- void() DoKick =
- {
- localcmd("kick ");
- localcmd(self.kicker.netname);
- localcmd("\n");
- self.kick = 0;
- };
-
- /*
- ==========
- NextKick
- ==========
- */
- void() NextKick =
- {
- self.kicker = find(self.kicker, classname, "player");
- if (self.kicker != world)
- {
- sprint(self,"Kick ");
- sprint(self,self.kicker.netname);
- sprint(self,"?\n");
- }
- else
- {
- sprint(self,"End of player list\n");
- self.kick = 0;
- }
- };
-
- /*
- ==========
- AdminCommands
- ==========
- */
- void() AdminCommands =
- {
- if (self.impulse == A_TEAMT) TeamToggle(); else
- if (self.impulse == A_DMT) DMToggle(); else
- if (self.impulse == A_COOPT) CoopToggle(); else
- if (self.impulse == A_JUMP) JumptoNext(); else
- if (self.impulse == A_NOEX) ToggleNoExit(); else
- if ((self.impulse == A_GRAVU) || (self.impulse == A_GRAVD)) GravToggle(); else
- if (self.impulse == A_START) MapStart(); else
- if ((self.impulse >= A_DM1)&&(self.impulse <= A_DM6)) MapDM(); else
- if (self.impulse == A_SKICK) StartKick(); else
- if (self.impulse == A_YES) DoKick(); else
- if (self.impulse == A_NO) NextKick();
- };
-
-
-