* players. Also plays reminder sounds.
*/
void timeoutHandler_Think() {
- local entity plr;
+ entity plr;
if (timeoutStatus == 1) {
if (remainingLeadTime > 0) {
//centerprint the information to every player
BADPREFIX("con_");
BADPREFIX("scoreboard_");
BADPREFIX("g_campaign");
+ BADPREFIX("g_waypointsprite_");
BADPREFIX("gl_");
BADPREFIX("joy");
BADPREFIX("hud_");
// private
BADCVAR("developer");
- BADCVAR("g_banned_list");
BADCVAR("log_dest_udp");
BADCVAR("log_file");
BADCVAR("net_address");
BADCVAR("port");
BADCVAR("savedgamecfg");
BADCVAR("serverconfig");
+ BADCVAR("sv_autoscreenshot");
BADCVAR("sv_heartbeatperiod");
BADCVAR("sv_vote_master_password");
BADCVAR("sys_colortranslation");
BADCVAR("timestamps");
BADPREFIX("developer_");
BADPREFIX("g_ban_");
+ BADPREFIX("g_banned_list");
BADPREFIX("g_chat_flood_");
BADPREFIX("g_playerstats_");
BADPREFIX("g_voice_flood_");
BADPREFIX("sv_logscores_");
BADPREFIX("sv_master");
BADPREFIX("sv_weaponstats_");
+ BADPREFIX("sv_waypointsprite_");
+ BADCVAR("rescan_pending");
// these can contain player IDs, so better hide
BADPREFIX("g_forced_team_");
BADCVAR("leadlimit_and_fraglimit");
BADCVAR("leadlimit_override");
BADCVAR("pausable");
+ BADCVAR("sv_allow_fullbright");
BADCVAR("sv_checkforpacketsduringsleep");
BADCVAR("sv_timeout");
BADCVAR("welcome_message_time");
BADPREFIX("net_");
BADPREFIX("prvm_");
BADPREFIX("skill_");
- BADPREFIX("sv_fragmessage_");
+ BADPREFIX("sv_cullentities_");
+ BADPREFIX("sv_fraginfo_");
BADPREFIX("sv_maxidle_");
BADPREFIX("sv_vote_");
BADPREFIX("timelimit_");
BADCVAR("gameversion");
BADPREFIX("gameversion_");
+ BADCVAR("sv_namechangetimer");
// allowed changes to server admins (please sync this to server.cfg)
// vi commands:
allowed_to_spawn = TRUE;
- local entity head;
+ entity head;
head = nextent(world);
maxclients = 0;
while(head)
// needs to be done so early as they would still spawn
RegisterWeapons();
- ServerProgsDB = db_load("server.db");
+ ServerProgsDB = db_load(strcat("server.db", autocvar_sessionid));
TemporaryDB = db_create();
// dom_init();
GameLogInit(); // prepare everything
+ // NOTE for matchid:
+ // changing the logic generating it is okay. But:
+ // it HAS to stay <= 64 chars
+ // character set: ASCII 33-126 without the following characters: : ; ' " \ $
if(autocvar_sv_eventlog)
{
s = sprintf("%d.%s.%06d", ftos(autocvar_sv_eventlog_files_counter), strftime(FALSE, "%s"), floor(random() * 1000000));
continue;
if(argv(0) == "cd")
{
- print("Found ^1DEPRECATED^7 cd loop command in .cfg file; put this line in mapinfo instead:\n");
+ print("Found ^1UNSUPPORTED^7 cd loop command in .cfg file; put this line in mapinfo instead:\n");
print(" cdtrack ", argv(2), "\n");
}
else if(argv(0) == "fog")
{
- print("Found ^1DEPRECATED^7 fog command in .cfg file; put this line in worldspawn in the .map/.bsp/.ent file instead:\n");
+ print("Found ^1UNSUPPORTED^7 fog command in .cfg file; put this line in worldspawn in the .map/.bsp/.ent file instead:\n");
print(" \"fog\" \"", s, "\"\n");
}
else if(argv(0) == "set")
{
- print("Found ^1DEPRECATED^7 set command in .cfg file; put this line in mapinfo instead:\n");
+ print("Found ^1UNSUPPORTED^7 set command in .cfg file; put this line in mapinfo instead:\n");
print(" clientsettemp_for_type all ", argv(1), " ", argv(2), "\n");
}
else if(argv(0) != "//")
{
- print("Found ^1DEPRECATED^7 set command in .cfg file; put this line in mapinfo instead:\n");
+ print("Found ^1UNSUPPORTED^7 set command in .cfg file; put this line in mapinfo instead:\n");
print(" clientsettemp_for_type all ", argv(0), " ", argv(1), "\n");
}
}
addstat(STAT_MOVEVARS_MAXSPEED, AS_FLOAT, stat_sv_maxspeed);
addstat(STAT_MOVEVARS_AIRACCEL_QW, AS_FLOAT, stat_sv_airaccel_qw);
addstat(STAT_MOVEVARS_AIRSTRAFEACCEL_QW, AS_FLOAT, stat_sv_airstrafeaccel_qw);
-
+
+ // secrets
+ addstat(STAT_SECRETS_TOTAL, AS_FLOAT, stat_secrets_total);
+ addstat(STAT_SECRETS_FOUND, AS_FLOAT, stat_secrets_found);
+
next_pingtime = time + 5;
detect_maptype();
float Map_Count, Map_Current;
string Map_Current_Name;
-// NOTE: this now expects the map list to be already tokenize()d and the count in Map_Count
+// NOTE: this now expects the map list to be already tokenized and the count in Map_Count
float GetMaplistPosition()
{
float pos, idx;
{
// settings persist, except...
localcmd("\nsettemp_restore\n");
-};
+}
void Map_Goto()
{
}
return "";
-};
+}
float DoNextMapOverride()
{
}
if (autocvar_samelevel) // if samelevel is set, stay on same level
{
- // this does not work because it tries to exec maps/nexdm01.mapcfg (which doesn't exist, it should be trying maps/dm_nexdm01.mapcfg for example)
- //localcmd(strcat("exec \"maps/", mapname, ".mapcfg\"\n"));
- // so instead just restart the current map using the restart command (DOES NOT WORK PROPERLY WITH exit_cfg STUFF)
localcmd("restart\n");
- //changelevel (mapname);
alreadychangedlevel = TRUE;
return TRUE;
}
return TRUE;
}
return FALSE;
-};
+}
void GotoNextMap()
{
- //local string nextmap;
- //local float n, nummaps;
- //local string s;
+ //string nextmap;
+ //float n, nummaps;
+ //string s;
if (alreadychangedlevel)
return;
alreadychangedlevel = TRUE;
}
Map_Goto();
}
-};
+}
/*
{
FixIntermissionClient(self);
- if(autocvar_sv_autoscreenshot)
- if(self.autoscreenshot > 0)
- if(time > self.autoscreenshot)
+ if( (autocvar_sv_autoscreenshot || self.cvar_cl_autoscreenshot)
+ && ((self.autoscreenshot > 0) && (time > self.autoscreenshot)) )
{
self.autoscreenshot = -1;
if(clienttype(self) == CLIENTTYPE_REAL)
return;
if(!mapvote_initialized)
- if (time < intermission_exittime + 10 && !self.BUTTON_ATCK && !self.BUTTON_JUMP && !self.BUTTON_ATCK2 && !self.BUTTON_HOOK && !self.BUTTON_USE)
+ if (time < intermission_exittime + 10 && !(self.BUTTON_ATCK || self.BUTTON_JUMP || self.BUTTON_ATCK2 || self.BUTTON_HOOK || self.BUTTON_USE))
return;
MapVote_Start();
-};
+}
/*
============
//objerror ("FindIntermission: no spot");
return world;
-};
+}
*/
/*
// fixme: don't check players; instead check spawnfunc_dom_team and spawnfunc_ctf_team entities
// (div0: and that in CheckRules_World please)
-};
+}
float checkrules_equality;
float checkrules_suddendeathwarning;
float WinningCondition_Onslaught()
{
entity head;
- local float t1, t2, t3, t4;
+ float t1, t2, t3, t4;
WinningConditionHelper(); // set worldstatus
void assault_new_round();
float WinningCondition_Assault()
{
- local float status;
+ float status;
WinningConditionHelper(); // set worldstatus
SetWinners(team, COLOR_TEAM1);
}
- local entity ent;
+ entity ent;
ent = find(world, classname, "target_assault_roundend");
if(ent)
{
}
else
{
- local entity oldself;
+ entity oldself;
oldself = self;
self = ent;
assault_new_round();
if(have_team_spawns <= 0)
return WINNING_NO;
+ if(autocvar_g_spawn_useallspawns <= 0)
+ return WINNING_NO;
+
if(!some_spawn_has_been_used)
return WINNING_NO;
//print("WINNING\n");
NextLevel();
}
-};
+}
float mapvote_nextthink;
float mapvote_initialized;
}
MapVote_Tick();
-};
+}
string GotoMap(string m)
{
// some things then break, so let's work around them...
// Progs DB (capture records)
- ServerProgsDB = db_load("server.db");
+ ServerProgsDB = db_load(strcat("server.db", autocvar_sessionid));
// Mapinfo
MapInfo_Shutdown();
if(!cheatcount_total)
{
if(autocvar_sv_db_saveasdump)
- db_dump(ServerProgsDB, "server.db");
+ db_dump(ServerProgsDB, strcat("server.db", autocvar_sessionid));
else
- db_save(ServerProgsDB, "server.db");
+ db_save(ServerProgsDB, strcat("server.db", autocvar_sessionid));
}
if(autocvar_developer)
{