oldrec = race_readTime(GetMapname(), newpos);
oldrec_holder = race_readName(GetMapname(), newpos);
-
+
// store new ranking
race_writeTime(GetMapname(), t, myuid);
if(rankings_reply)
strunzone(rankings_reply);
rankings_reply = strzone(getrankings());
-
+
if(newpos == player_prevpos)
{
Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_RACE_NEW_IMPROVED, mynetname, newpos, t, oldrec);
other.porto_forbidden = 2; // decreased by 1 each StartFrame
if(defrag_ents) {
- if(self.race_checkpoint == -2)
+ if(self.race_checkpoint == -2)
{
self.race_checkpoint = other.race_checkpoint;
}
for(cp = world; (cp = find(cp, classname, "target_checkpoint"));) {
if(cp.race_checkpoint == -2) // set defragcpexists to -1 so that the cp id file will be rewritten when someone finishes
defragcpexists = -1;
- }
+ }
}
}
if(cp_amount == 0) {
if(have_verified)
return;
have_verified = 1;
-
+
qual = g_race_qualifying;
oldself = self;
self.race_place = race_lowest_place_spawn;
if(!Spawn_FilterOutBadSpots(findchain(classname, "info_player_deathmatch"), 0, FALSE))
error(strcat("Checkpoint ", ftos(i), " misses a spawnpoint with race_place==", ftos(self.race_place), " (used for qualifying) - bailing out"));
-
+
// race only (initial spawn)
g_race_qualifying = 0;
for(p = 1; p <= race_highest_place_spawn; ++p)
self.race_checkpoint = race_NextCheckpoint(0);
g_race_qualifying = 1;
self.race_place = 0; // there's only one spawn on defrag maps
-
+
// check if a defragcp file already exists, then read it and apply the checkpoint order
float fh;
float len;
targ.wait = 0;
targ.delay = 0;
- // These just make the game crash on some maps with oddly shaped triggers.
- // (on the other hand they used to fix the case when two players ran through a checkpoint at once,
+ // These just make the game crash on some maps with oddly shaped triggers.
+ // (on the other hand they used to fix the case when two players ran through a checkpoint at once,
// and often one of them just passed through without being registered. Hope it's fixed in a better way now.
// (happened on item triggers too)
//
self.message2 = "was pushed backwards by";
if (self.race_penalty_reason == "")
self.race_penalty_reason = "missing a checkpoint";
-
+
self.race_checkpoint = self.cnt;
if(self.race_checkpoint > race_highest_checkpoint)
l = PlayerScore_Add(e, SP_RACE_LAPS, 0);
if(e.race_completed)
return l; // not fractional
-
+
vector o0, o1;
float bestfraction, fraction;
entity lastcp, cp0, cp1;
if(nextcpindex == lastcpindex)
return l; // finish
-
+
bestfraction = 1;
for(cp0 = world; (cp0 = find(cp0, classname, "trigger_race_checkpoint")); )
{