* 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:
BADCVAR("bot_number");
BADCVAR("bot_prefix");
BADCVAR("bot_suffix");
+ BADCVAR("bot_config_file");
BADCVAR("capturelimit_override");
BADCVAR("fraglimit_override");
BADCVAR("gametype");
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();
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();
return wc;
}
-void ReadyRestart();
float WinningCondition_QualifyingThenRace(float limit)
{
float wc;
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;
Exit deathmatch games upon conditions
============
*/
+void ReadyRestart();
void CheckRules_World()
{
float timelimit;
//print("WINNING\n");
NextLevel();
}
-};
+}
float mapvote_nextthink;
float mapvote_initialized;
string mapvote_suggestions[MAPVOTE_COUNT];
float mapvote_suggestion_ptr;
float mapvote_voters;
-float mapvote_votes[MAPVOTE_COUNT];
+float mapvote_selections[MAPVOTE_COUNT];
float mapvote_run;
float mapvote_detail;
float mapvote_abstain;
WritePicture(MSG_ONE, strcat(mapvote_screenshot_dirs[mapvote_maps_screenshot_dir[id]], "/", mapvote_maps[id]), 3072);
}
-float GameCommand_MapVote(string cmd)
-{
- if(!intermission_running)
- return FALSE;
-
- if(cmd == "mv_getpic")
- {
- MapVote_SendPicture(stof(argv(1)));
- return TRUE;
- }
-
- return FALSE;
-}
-
float MapVote_GetMapMask()
{
float mask, i, power;
if(mapvote_detail)
for(i = 0; i < mapvote_count; ++i)
if(mapvote_maps[i] != "")
- WriteByte(MSG_ENTITY, mapvote_votes[i]);
+ WriteByte(MSG_ENTITY, mapvote_selections[i]);
WriteByte(MSG_ENTITY, to.mapvote);
}
if(autocvar_sv_eventlog)
{
result = strcat(":vote:finished:", mapvote_maps[mappos]);
- result = strcat(result, ":", ftos(mapvote_votes[mappos]), "::");
+ result = strcat(result, ":", ftos(mapvote_selections[mappos]), "::");
didntvote = mapvote_voters;
for(i = 0; i < mapvote_count; ++i)
if(mapvote_maps[i] != "")
{
- didntvote -= mapvote_votes[i];
+ didntvote -= mapvote_selections[i];
if(i != mappos)
{
result = strcat(result, ":", mapvote_maps[i]);
- result = strcat(result, ":", ftos(mapvote_votes[i]));
+ result = strcat(result, ":", ftos(mapvote_selections[i]));
}
}
result = strcat(result, ":didn't vote:", ftos(didntvote));
for(i = 0; i < mapvote_count; ++i) if(mapvote_maps[i] != "")
{
//dprint("Map ", ftos(i), ": "); dprint(mapvote_maps[i], "\n");
- mapvote_votes[i] = 0;
+ mapvote_selections[i] = 0;
}
mapvote_voters = 0;
{
i = other.mapvote - 1;
//dprint("Player ", other.netname, " vote = ", ftos(other.mapvote - 1), "\n");
- mapvote_votes[i] = mapvote_votes[i] + 1;
+ mapvote_selections[i] = mapvote_selections[i] + 1;
}
}
}
mapvote_voters_real = mapvote_voters;
if(mapvote_abstain)
- mapvote_voters_real -= mapvote_votes[mapvote_count - 1];
+ mapvote_voters_real -= mapvote_selections[mapvote_count - 1];
RandomSelection_Init();
for(i = 0; i < mapvote_count_real; ++i) if(mapvote_maps[i] != "")
- RandomSelection_Add(world, i, string_null, 1, mapvote_votes[i]);
+ RandomSelection_Add(world, i, string_null, 1, mapvote_selections[i]);
firstPlace = RandomSelection_chosen_float;
firstPlaceVotes = RandomSelection_best_priority;
//dprint("First place: ", ftos(firstPlace), "\n");
RandomSelection_Init();
for(i = 0; i < mapvote_count_real; ++i) if(mapvote_maps[i] != "")
if(i != firstPlace)
- RandomSelection_Add(world, i, string_null, 1, mapvote_votes[i]);
+ RandomSelection_Add(world, i, string_null, 1, mapvote_selections[i]);
secondPlace = RandomSelection_chosen_float;
secondPlaceVotes = RandomSelection_best_priority;
//dprint("Second place: ", ftos(secondPlace), "\n");
for(i = 0; i < mapvote_count; ++i)
if(mapvote_maps[i] != "")
{
- didntvote -= mapvote_votes[i];
+ didntvote -= mapvote_selections[i];
if(i != firstPlace)
if(i != secondPlace)
{
result = strcat(result, ":", mapvote_maps[i]);
- result = strcat(result, ":", ftos(mapvote_votes[i]));
+ result = strcat(result, ":", ftos(mapvote_selections[i]));
if(i < mapvote_count_real)
{
strunzone(mapvote_maps[i]);
}
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)
{