X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Frace.qc;h=80072a7361e87f003f3c75fa167a539ec1d7d30e;hb=f20d5568723d1899095b212efbe1796233563033;hp=80a379aa1f806090f170ceb4586d738cb19d06c9;hpb=16496d2a82fba46621a4096a9de394ef400c0b1e;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/race.qc b/qcsrc/server/race.qc index 80a379aa1..80072a736 100644 --- a/qcsrc/server/race.qc +++ b/qcsrc/server/race.qc @@ -308,7 +308,7 @@ void race_SendTime(entity e, float cp, float t, float tvalid) race_setTime(GetMapname(), t, e.crypto_idfp, e.netname, e); if(g_cts && autocvar_g_cts_finish_kill_delay) { - CTS_ClientKill(autocvar_g_cts_finish_kill_delay); + CTS_ClientKill(e); } } if(t < recordtime || recordtime == 0) @@ -742,15 +742,25 @@ void trigger_race_checkpoint_verify() for(trigger = world; (trigger = find(trigger, classname, "trigger_multiple")); ) for(targ = world; (targ = find(targ, targetname, trigger.target)); ) if (targ.classname == "target_checkpoint" || targ.classname == "target_startTimer" || targ.classname == "target_stopTimer") { - targ.wait = -2; + trigger.wait = 0; + trigger.delay = 0; + targ.wait = 0; targ.delay = 0; - setsize(targ, trigger.mins, trigger.maxs); - setorigin(targ, trigger.origin); + // 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) + // + //targ.wait = -2; + //targ.delay = 0; + + //setsize(targ, trigger.mins, trigger.maxs); + //setorigin(targ, trigger.origin); //remove(trigger); } } - remove(self); + //remove(self); self = oldself; }