.float latency_cnt;
.float latency_time;
entity pingplreport;
-void PingPLReport_Think()
-{SELFPARAM();
+void PingPLReport_Think(entity this)
+{
float delta;
entity e;
void PingPLReport_Spawn()
{
pingplreport = new_pure(pingplreport);
- pingplreport.think = PingPLReport_Think;
+ setthink(pingplreport, PingPLReport_Think);
pingplreport.nextthink = time;
}
}
}
-void GotoFirstMap()
-{SELFPARAM();
+void GotoFirstMap(entity this)
+{
float n;
if(autocvar__sv_init)
{
BADCVAR("sv_autotaunt");
BADCVAR("sv_curl_defaulturl");
BADCVAR("sv_defaultcharacter");
+ BADCVAR("sv_defaultcharacterskin");
BADCVAR("sv_defaultplayercolors");
BADCVAR("sv_defaultplayermodel");
BADCVAR("sv_defaultplayerskin");
WriteShort(MSG_ENTITY, this.cnt);
return true;
}
-void RandomSeed_Think()
-{SELFPARAM();
+void RandomSeed_Think(entity this)
+{
this.cnt = bound(0, floor(random() * 65536), 65535);
this.nextthink = time + 5;
this.SendFlags |= 1;
}
void RandomSeed_Spawn()
-{SELFPARAM();
+{
randomseed = new_pure(randomseed);
- randomseed.think = RandomSeed_Think;
+ setthink(randomseed, RandomSeed_Think);
Net_LinkEntity(randomseed, false, 0, RandomSeed_Send);
- WITHSELF(randomseed, randomseed.think()); // sets random seed and nextthink
+ WITHSELF(randomseed, getthink(randomseed)(randomseed)); // sets random seed and nextthink
}
spawnfunc(__init_dedicated_server)
remove = remove_unsafely;
entity e = spawn();
- e.think = GotoFirstMap;
+ setthink(e, GotoFirstMap);
e.nextthink = time; // this is usually 1 at this point
e = new(info_player_deathmatch); // safeguard against player joining
MapInfo_Shutdown();
}
+void SetLimits(int fraglimit_override, int leadlimit_override, float timelimit_override, float qualifying_override)
+{
+ if(!autocvar_g_campaign)
+ {
+ if(fraglimit_override >= 0) cvar_set("fraglimit", ftos(fraglimit_override));
+ if(timelimit_override >= 0) cvar_set("timelimit", ftos(timelimit_override));
+ if(leadlimit_override >= 0) cvar_set("leadlimit", ftos(leadlimit_override));
+ if(qualifying_override >= 0) cvar_set("g_race_qualifying_timelimit", ftos(qualifying_override));
+ }
+ limits_are_set = true;
+}
+
void Map_MarkAsRecent(string m);
float world_already_spawned;
void Nagger_Init();
{
server_is_dedicated = boolean(stof(cvar_defstring("is_dedicated")));
+ bool wantrestart = false;
{
- bool wantrestart = false;
-
if (!server_is_dedicated)
{
// force unloading of server pk3 files when starting a listen server
readlevelcvars();
GrappleHookInit();
+ if(!limits_are_set)
+ SetLimits(autocvar_fraglimit_override, autocvar_leadlimit_override, autocvar_timelimit_override, -1);
+
+ if(warmup_limit == 0)
+ warmup_limit = (autocvar_timelimit > 0) ? autocvar_timelimit * 60 : autocvar_timelimit;
+
player_count = 0;
bot_waypoints_for_items = autocvar_g_waypoints_for_items;
if(bot_waypoints_for_items == 1)
CheatInit();
- localcmd("\n_sv_hook_gamestart ", GetGametype(), "\n");
+ if (!wantrestart) localcmd("\n_sv_hook_gamestart ", GetGametype(), "\n");
// fill sv_curl_serverpackages from .serverpackage files
if (autocvar_sv_curl_serverpackages_auto)
spawnfunc(light)
{
//makestatic (self); // Who the f___ did that?
- remove(self);
+ remove(this);
}
string GetGametype()
*/
void NextLevel()
{
- SELFPARAM();
gameover = true;
intermission_running = 1;
float redirection_timeout;
float redirection_nextthink;
float RedirectionThink()
-{SELFPARAM();
+{
float clients_found;
if(redirection_target == "")
clients_found = 0;
FOREACH_CLIENT(IS_REAL_CLIENT(it), LAMBDA(
- setself(it);
// TODO add timer
- LOG_INFO("Redirecting: sending connect command to ", self.netname, "\n");
+ LOG_INFO("Redirecting: sending connect command to ", it.netname, "\n");
if(redirection_target == "self")
- stuffcmd(self, "\ndisconnect; defer ", ftos(autocvar_quit_and_redirect_timer), " reconnect\n");
+ stuffcmd(it, "\ndisconnect; defer ", ftos(autocvar_quit_and_redirect_timer), " reconnect\n");
else
- stuffcmd(self, strcat("\ndisconnect; defer ", ftos(autocvar_quit_and_redirect_timer), " \"connect ", redirection_target, "\"\n"));
+ stuffcmd(it, strcat("\ndisconnect; defer ", ftos(autocvar_quit_and_redirect_timer), " \"connect ", redirection_target, "\"\n"));
++clients_found;
));