#endif
#ifdef CSQC
+void Item_ItemsTime_Init()
+{
+ FOREACH(Items, true, LAMBDA(
+ ItemsTime_time[it.m_id] = -1;
+ ));
+}
+
+STATIC_INIT(ItemsTime_Init) {
+ Item_ItemsTime_Init();
+}
+
int autocvar_hud_panel_itemstime = 2;
float autocvar_hud_panel_itemstime_dynamicsize = 1;
float autocvar_hud_panel_itemstime_ratio = 2;
void Item_ItemsTime_SetTimesForAllPlayers()
{
- entity e;
- FOR_EACH_REALCLIENT(e) if (warmup_stage || !IS_PLAYER(e))
- Item_ItemsTime_SetTimesForPlayer(e);
+ FOREACH_CLIENT(IS_REAL_CLIENT(it) && (warmup_stage || !IS_PLAYER(it)), LAMBDA(Item_ItemsTime_SetTimesForPlayer(it)));
}
float Item_ItemsTime_UpdateTime(entity e, float t)
Item_ItemsTime_SetTimesForPlayer(self);
}
+MUTATOR_HOOKFUNCTION(itemstime, ClientConnect, CBC_ORDER_LAST)
+{SELFPARAM();
+ if(IS_PLAYER(self))
+ {
+ // client became player on connection skipping putObserverInServer step
+ if (IS_REAL_CLIENT(self))
+ if (warmup_stage)
+ Item_ItemsTime_SetTimesForPlayer(self);
+ }
+}
+
MUTATOR_HOOKFUNCTION(itemstime, PlayerSpawn)
{SELFPARAM();
if (warmup_stage) return;