#include "sv_race.qh"
+#include <server/client.qh>
+#include <server/world.qh>
+#include <server/gamelog.qh>
+#include <server/intermission.qh>
#include <server/race.qh>
+#include <common/ent_cs.qh>
+#include <common/mapobjects/triggers.qh>
#define autocvar_g_race_laps_limit cvar("g_race_laps_limit")
float autocvar_g_race_qualifying_timelimit;
Score_NicePrint(NULL);
race_ClearRecords();
- PlayerScore_Sort(race_place, 0, 1, 0);
+ PlayerScore_Sort(race_place, 0, true, false);
FOREACH_CLIENT(true, {
if(it.race_place)
race_PreparePlayer(player);
player.race_checkpoint = -1;
- string rr = RACE_RECORD;
-
if(IS_REAL_CLIENT(player))
{
msg_entity = player;
race_send_recordtime(MSG_ONE);
race_send_speedaward(MSG_ONE);
- speedaward_alltimebest = stof(db_get(ServerProgsDB, strcat(GetMapname(), rr, "speed/speed")));
- speedaward_alltimebest_holder = uid2name(db_get(ServerProgsDB, strcat(GetMapname(), rr, "speed/crypto_idfp")));
+ speedaward_alltimebest = stof(db_get(ServerProgsDB, strcat(GetMapname(), record_type, "speed/speed")));
+ speedaward_alltimebest_holder = uid2name(db_get(ServerProgsDB, strcat(GetMapname(), record_type, "speed/crypto_idfp")));
race_send_speedaward_alltimebest(MSG_ONE);
float i;
{
entity player = M_ARGV(0, entity);
- if(CS(player).cvar_cl_allow_uidtracking == 1 && CS(player).cvar_cl_allow_uid2name == 1)
- {
- if (!player.stored_netname)
- player.stored_netname = strzone(uid2name(player.crypto_idfp));
- if(player.stored_netname != player.netname)
- {
- db_put(ServerProgsDB, strcat("/uid2name/", player.crypto_idfp), player.netname);
- strcpy(player.stored_netname, player.netname);
- }
- }
+ race_checkAndWriteName(player);
if (!IS_OBSERVER(player))
{
speedaward_uid = player.crypto_idfp;
speedaward_lastupdate = time;
}
- if (speedaward_speed > speedaward_lastsent && time - speedaward_lastupdate > 1)
+ if (speedaward_speed > speedaward_lastsent && (time - speedaward_lastupdate > 1 || intermission_running))
{
- string rr = RACE_RECORD;
race_send_speedaward(MSG_ALL);
speedaward_lastsent = speedaward_speed;
if (speedaward_speed > speedaward_alltimebest && speedaward_uid != "")
speedaward_alltimebest = speedaward_speed;
speedaward_alltimebest_holder = speedaward_holder;
speedaward_alltimebest_uid = speedaward_uid;
- db_put(ServerProgsDB, strcat(GetMapname(), rr, "speed/speed"), ftos(speedaward_alltimebest));
- db_put(ServerProgsDB, strcat(GetMapname(), rr, "speed/crypto_idfp"), speedaward_alltimebest_uid);
+ db_put(ServerProgsDB, strcat(GetMapname(), record_type, "speed/speed"), ftos(speedaward_alltimebest));
+ db_put(ServerProgsDB, strcat(GetMapname(), record_type, "speed/crypto_idfp"), speedaward_alltimebest_uid);
race_send_speedaward_alltimebest(MSG_ALL);
}
}
race_ScoreRules();
if(g_race_qualifying == 2)
warmup_stage = 0;
+ radar_showenemies = true;
}
void rc_SetLimits()
float want_qualifying = ((qualifying_override >= 0) ? qualifying_override : autocvar_g_race_qualifying_timelimit) > 0;
+ record_type = RACE_RECORD;
+
if(autocvar_g_campaign)
{
g_race_qualifying = 1;