BADCVAR("g_configversion");
BADCVAR("g_maplist_index");
BADCVAR("halflifebsp");
+ BADPREFIX("sv_world");
// client
BADPREFIX("cl_");
BADCVAR("sys_colortranslation");
BADCVAR("sys_specialcharactertranslation");
BADCVAR("timestamps");
+ BADCVAR("net_address");
+ BADCVAR("net_address_ipv6");
// mapinfo
BADCVAR("timelimit");
compressShortVector_init();
+ allowed_to_spawn = TRUE;
+
local entity head;
head = nextent(world);
maxclients = 0;
addstat(STAT_SHOTORG, AS_INT, stat_shotorg);
addstat(STAT_LEADLIMIT, AS_FLOAT, stat_leadlimit);
addstat(STAT_BULLETS_LOADED, AS_INT, campingrifle_bulletcounter);
+ addstat(STAT_LAST_PICKUP, AS_FLOAT, last_pickup);
+ addstat(STAT_NEX_CHARGE, AS_FLOAT, nex_charge);
+
+ if(g_ca)
+ {
+ addstat(STAT_REDALIVE, AS_INT, redalive_stat);
+ addstat(STAT_BLUEALIVE, AS_INT, bluealive_stat);
+ }
// g_movementspeed hack
addstat(STAT_MOVEVARS_AIRSPEEDLIMIT_NONQW, AS_FLOAT, stat_sv_airspeedlimit_nonqw);
addstat(STAT_MOVEVARS_AIRACCEL_QW, AS_FLOAT, stat_sv_airaccel_qw);
localcmd("\n_sv_hook_gamestart ", GetGametype(), "\n");
+ // fill sv_curl_serverpackages from .serverpackage files
+ if(cvar("sv_curl_serverpackages_auto"))
+ {
+ fd = search_begin("*.serverpackage", TRUE, FALSE);
+ s = "";
+ if(fd >= 0)
+ {
+ j = search_getsize(fd);
+ for(i = 0; i < j; ++i)
+ s = strcat(s, " ", search_getfilename(fd, i));
+ search_end(fd);
+ }
+ cvar_set("sv_curl_serverpackages", substring(s, 1, -1));
+ }
+
world_initialized = 1;
}
float GetWinningCode(float fraglimitreached, float equality)
{
- if(equality)
- if(fraglimitreached)
- return WINNING_STARTSUDDENDEATHOVERTIME;
- else
- return WINNING_NEVER;
- else
+ if(cvar("g_campaign") == 1)
if(fraglimitreached)
return WINNING_YES;
else
return WINNING_NO;
+
+ else
+ if(equality)
+ if(fraglimitreached)
+ return WINNING_STARTSUDDENDEATHOVERTIME;
+ else
+ return WINNING_NEVER;
+ else
+ if(fraglimitreached)
+ return WINNING_YES;
+ else
+ return WINNING_NO;
}
// set the .winning flag for exactly those players with a given field value
TeamScore_AddToTeam(assault_attacker_team, ST_ASSAULT_OBJECTIVES, 666 - TeamScore_AddToTeam(assault_attacker_team, ST_ASSAULT_OBJECTIVES, 0));
- if(ent.cnt == 1) // this was the second round
+ if(ent.cnt == 1 || cvar("g_campaign")) // this was the second round
{
status = WINNING_YES;
}
print("Saving persistent data...\n");
Ban_SaveBans();
if(!cheatcount_total)
- db_save(ServerProgsDB, "server.db");
+ {
+ if(cvar("sv_db_saveasdump"))
+ db_dump(ServerProgsDB, "server.db");
+ else
+ db_save(ServerProgsDB, "server.db");
+ }
if(cvar("developer"))
- db_save(TemporaryDB, "server-temp.db");
+ {
+ if(cvar("sv_db_saveasdump"))
+ db_dump(TemporaryDB, "server-temp.db");
+ else
+ db_save(TemporaryDB, "server-temp.db");
+ }
CheatShutdown(); // must be after cheatcount check
db_close(ServerProgsDB);
db_close(TemporaryDB);