X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fgame%2Fg_player.pas;h=da4c43a84e12561afef525e41c84ce7eb8e04d4a;hp=f644d6b7d863fc2d2f59a7f25da74670f9762c59;hb=fbedc3eec9e72225010d043d2be17b44cf13941e;hpb=efadc1f305ab09388e8baf396a8dda66b69b74a9 diff --git a/src/game/g_player.pas b/src/game/g_player.pas index f644d6b..da4c43a 100644 --- a/src/game/g_player.pas +++ b/src/game/g_player.pas @@ -102,6 +102,7 @@ const type TPlayerStat = record + Num: Integer; Ping: Word; Loss: Byte; Name: String; @@ -262,6 +263,7 @@ type FClientID: SmallInt; FPing: Word; FLoss: Byte; + FReady: Boolean; FDummy: Boolean; FFireTime: Integer; @@ -592,6 +594,7 @@ procedure g_Player_DrawShells(); procedure g_Player_RemoveAllCorpses(); procedure g_Player_Corpses_SaveState (st: TStream); procedure g_Player_Corpses_LoadState (st: TStream); +procedure g_Player_ResetReady(); procedure g_Bot_Add(Team, Difficult: Byte); procedure g_Bot_AddList(Team: Byte; lname: ShortString; num: Integer = -1); procedure g_Bot_MixNames(); @@ -1471,6 +1474,7 @@ begin SetLength(Result, Length(Result)+1); with Result[High(Result)] do begin + Num := a; Ping := gPlayers[a].FPing; Loss := gPlayers[a].FLoss; Name := gPlayers[a].FName; @@ -1485,6 +1489,22 @@ begin end; end; +procedure g_Player_ResetReady(); +var + a: Integer; +begin + if not g_Game_IsServer then Exit; + if gPlayers = nil then Exit; + + for a := 0 to High(gPlayers) do + if gPlayers[a] <> nil then + begin + gPlayers[a].FReady := False; + if g_Game_IsNet then + MH_SEND_GameEvent(NET_EV_INTER_READY, gPlayers[a].UID, 'N'); + end; +end; + procedure g_Player_RememberAll; var i: Integer; @@ -4266,6 +4286,7 @@ begin FMonsterKills := 0; FDeath := 0; FSecrets := 0; + FReady := False; if FNoRespawn then begin FSpectator := False;