5 float race_highest_place_spawn; // number of places; a place higher gets spawned at 0
6 float race_lowest_place_spawn; // where to spawn in qualifying
12 .float race_completed;
13 float race_completing;
15 .float race_movetime; // for reading
16 .float race_movetime_frac; // fractional accumulator for higher accuracy (helper for writing)
17 .float race_movetime_count; // integer accumulator
19 .float race_respawn_checkpoint;
20 .entity race_respawn_spotref; // try THIS spawn in case you respawn
22 // definitions for functions used outside race.qc
23 float race_PreviousCheckpoint(float f);
24 float race_NextCheckpoint(float f);
25 void race_AbandonRaceCheck(entity p);
26 void race_ImposePenaltyTime(entity pl, float penalty, string reason);
27 void race_StartCompleting();
28 float race_GetFractionalLapCount(entity e);
29 float race_readTime(string map, float pos);
30 string race_readUID(string map, float pos);
31 string race_readName(string map, float pos);
35 float speedaward_speed;
36 string speedaward_holder;
37 string speedaward_uid;
39 void race_send_speedaward(float msg)
42 // send the best speed of the round
43 WriteByte(msg, SVC_TEMPENTITY);
44 WriteByte(msg, TE_CSQC_RACE);
45 WriteByte(msg, RACE_NET_SPEED_AWARD);
46 WriteInt24_t(msg, floor(speedaward_speed+0.5));
47 WriteString(msg, speedaward_holder);
52 float speedaward_alltimebest;
53 string speedaward_alltimebest_holder;
54 string speedaward_alltimebest_uid;
56 void race_send_speedaward_alltimebest(float msg)
59 // send the best speed
60 WriteByte(msg, SVC_TEMPENTITY);
61 WriteByte(msg, TE_CSQC_RACE);
62 WriteByte(msg, RACE_NET_SPEED_AWARD_BEST);
63 WriteInt24_t(msg, floor(speedaward_alltimebest+0.5));
64 WriteString(msg, speedaward_alltimebest_holder);