Merge branch 'master' into chat

This commit is contained in:
shavit 2018-01-17 13:03:23 +02:00
commit b60fdb908c

View File

@ -1999,7 +1999,7 @@ public void Shavit_OnWorldRecord(int client, int style, float time, int jumps, i
} }
} }
public void Shavit_OnRestart(int client) public void Shavit_OnRestart(int client, int track)
{ {
if(!gB_RespawnOnRestart) if(!gB_RespawnOnRestart)
{ {
@ -2026,13 +2026,18 @@ public void Shavit_OnRestart(int client)
} }
} }
CreateTimer(0.1, Respawn, GetClientSerial(client), TIMER_FLAG_NO_MAPCHANGE); DataPack pack = null;
CreateDataTimer(0.1, Respawn, pack, TIMER_FLAG_NO_MAPCHANGE);
pack.WriteCell(GetClientSerial(client));
pack.WriteCell(track);
} }
} }
public Action Respawn(Handle Timer, any data) public Action Respawn(Handle Timer, DataPack pack)
{ {
int client = GetClientFromSerial(data); pack.Reset();
int client = GetClientFromSerial(pack.ReadCell());
int track = pack.ReadCell();
if(IsValidClient(client) && !IsPlayerAlive(client) && GetClientTeam(client) >= 2) if(IsValidClient(client) && !IsPlayerAlive(client) && GetClientTeam(client) >= 2)
{ {
@ -2048,18 +2053,18 @@ public Action Respawn(Handle Timer, any data)
if(gB_RespawnOnRestart) if(gB_RespawnOnRestart)
{ {
RestartTimer(client); RestartTimer(client, track);
} }
} }
return Plugin_Handled; return Plugin_Handled;
} }
void RestartTimer(int client) void RestartTimer(int client, int track)
{ {
if(Shavit_ZoneExists(Zone_Start, Track_Main)) if(Shavit_ZoneExists(Zone_Start, track))
{ {
Shavit_RestartTimer(client, Track_Main); Shavit_RestartTimer(client, track);
} }
} }
@ -2078,7 +2083,7 @@ public void Player_Spawn(Event event, const char[] name, bool dontBroadcast)
if(gB_StartOnSpawn) if(gB_StartOnSpawn)
{ {
RestartTimer(client); RestartTimer(client, Track_Main);
} }
if(gB_SaveStates[client]) if(gB_SaveStates[client])