char sv_spawnmap[MAX_QPATH];
char sv_loadgame[MAX_OSPATH];
+cvar_t sv_cheats = {0, "sv_cheats", "0"};
+qboolean allowcheats = false;
+
mfunction_t *ED_FindFunction (char *name);
/*
return;
}
- if (pr_global_struct->deathmatch || !sv_player)
+ if (!sv_player)
+ return;
+
+ if (!allowcheats)
+ {
+ SV_ClientPrintf("No cheats allowed, use sv_cheats 1 and restart level to enable.\n");
return;
+ }
sv_player->v->flags = (int)sv_player->v->flags ^ FL_GODMODE;
if (!((int)sv_player->v->flags & FL_GODMODE) )
return;
}
- if (pr_global_struct->deathmatch || !sv_player)
+ if (!sv_player)
return;
+ if (!allowcheats)
+ {
+ SV_ClientPrintf("No cheats allowed, use sv_cheats 1 and restart level to enable.\n");
+ return;
+ }
+
sv_player->v->flags = (int)sv_player->v->flags ^ FL_NOTARGET;
if (!((int)sv_player->v->flags & FL_NOTARGET) )
SV_ClientPrintf ("notarget OFF\n");
return;
}
- if (pr_global_struct->deathmatch || !sv_player)
+ if (!sv_player)
return;
+ if (!allowcheats)
+ {
+ SV_ClientPrintf("No cheats allowed, use sv_cheats 1 and restart level to enable.\n");
+ return;
+ }
+
if (sv_player->v->movetype != MOVETYPE_NOCLIP)
{
noclip_anglehack = true;
return;
}
- if (pr_global_struct->deathmatch || !sv_player)
+ if (!sv_player)
return;
+ if (!allowcheats)
+ {
+ SV_ClientPrintf("No cheats allowed, use sv_cheats 1 and restart level to enable.\n");
+ return;
+ }
+
if (sv_player->v->movetype != MOVETYPE_FLY)
{
sv_player->v->movetype = MOVETYPE_FLY;
str = FS_Getline (f);
sscanf (str, "%f\n",&time);
+ allowcheats = sv_cheats.integer != 0;
SV_SpawnServer (mapname);
if (!sv.active)
{
int i;
qboolean byNumber = false;
- if (cmd_source == src_command)
- {
- if (!sv.active)
- {
- Cmd_ForwardToServer ();
- return;
- }
- }
- else if (pr_global_struct->deathmatch)
+ if (cmd_source != src_command || !sv.active)
return;
save = host_client;
return;
}
- if (pr_global_struct->deathmatch || !sv_player)
+ if (!sv_player)
return;
+ if (!allowcheats)
+ {
+ SV_ClientPrintf("No cheats allowed, use sv_cheats 1 and restart level to enable.\n");
+ return;
+ }
+
t = Cmd_Argv(1);
v = atoi (Cmd_Argv(2));
{
int i, c;
- if (cls.state == ca_dedicated || sv_maxplayers.integer > 1)
+ if (cls.state == ca_dedicated || COM_CheckParm("-listen"))
{
if (!sv.active && !sv_spawnmap[0])
{
if (sv_loadgame[0])
Host_PerformLoadGame(sv_loadgame);
else if (sv_spawnmap[0])
+ {
+ allowcheats = sv_cheats.integer != 0;
SV_SpawnServer(sv_spawnmap);
+ }
sv_loadgame[0] = 0;
sv_spawnmap[0] = 0;
if (sv.active && cls.state == ca_disconnected)
Cmd_AddCommand ("prespawn", Host_PreSpawn_f);
Cmd_AddCommand ("spawn", Host_Spawn_f);
Cmd_AddCommand ("begin", Host_Begin_f);
+
+ Cvar_RegisterVariable(&sv_cheats);
}