X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame%2Fg_game.pas;h=200a57a76ca77dee66710288ef1fd2b147eac7fa;hb=331eb2883320ee665901d7a4bf9a76f5ff74e195;hp=4f6f82a0066413bcc989c3d57d915c0add00b696;hpb=0d4f7d91ba9c64ac6b5dd65fd758478bd338fe21;p=d2df-sdl.git diff --git a/src/game/g_game.pas b/src/game/g_game.pas index 4f6f82a..200a57a 100644 --- a/src/game/g_game.pas +++ b/src/game/g_game.pas @@ -728,6 +728,17 @@ begin CloseFile(s); end; +procedure ClearDebugCvars(); +begin + g_debug_Sounds := False; + g_debug_Frames := False; + g_debug_WinMsgs := False; + g_debug_MonsterOff := False; + g_debug_BotAIOff := 0; + g_debug_HealthBar := False; + g_Debug_Player := False; +end; + function g_Game_ModeToText(Mode: Byte): string; begin Result := ''; @@ -774,19 +785,6 @@ end; function g_Game_IsNet(): Boolean; begin Result := (gGameSettings.GameType in [GT_SERVER, GT_CLIENT]); - - if gGameSettings.GameType in [GT_SERVER, GT_CLIENT] then - begin - // set debug options to false to avoid cheaters - g_debug_Sounds := False; - g_debug_Frames := False; - g_debug_WinMsgs := False; - g_debug_MonsterOff := False; - g_debug_BotAIOff := 0; - g_debug_HealthBar := False; - g_Debug_Player := False; - Exit; - end; end; function g_Game_IsServer(): Boolean; @@ -4686,6 +4684,8 @@ begin g_Game_ClearLoading(); + ClearDebugCvars(); + // Íàñòðîéêè èãðû: gGameSettings.GameType := GT_SERVER; gGameSettings.GameMode := GameMode; @@ -4819,6 +4819,8 @@ begin g_Game_ClearLoading(); + ClearDebugCvars(); + // Íàñòðîéêè èãðû: gGameSettings.GameType := GT_CLIENT; @@ -5780,6 +5782,34 @@ begin begin a := StrToIntDef(p[1], 0); g_Force_Model_Set(a); + if (g_Force_Model_Get() <> 0) and (gPlayers <> nil) then + begin + for a := Low(gPlayers) to High(gPlayers) do + begin + if (gPlayers[a] <> nil) then + begin + if (gPlayers[a].UID = gPlayer1.UID) then + continue + else if (gPlayer2 <> nil) and (gPlayers[a].UID = gPlayer2.UID) then + continue; + gPlayers[a].setModel(g_Forced_Model_GetName()); + end; + end + end + else if (g_Force_Model_Get() = 0) and (gPlayers <> nil) then + begin + for a := Low(gPlayers) to High(gPlayers) do + begin + if (gPlayers[a] <> nil) then + begin + if (gPlayers[a].UID = gPlayer1.UID) then + continue + else if (gPlayer2 <> nil) and (gPlayers[a].UID = gPlayer2.UID) then + continue; + gPlayers[a].setModel(gPlayers[a].FActualModelName); + end; + end + end end end else if cmd = 'g_force_model_name' then @@ -5788,7 +5818,7 @@ begin begin cmd := b_Text_Unformat(P[1]); g_Forced_Model_SetName(cmd); - if (gGameSettings.GameType <> GT_SINGLE) and (g_Force_Model_Get() <> 0) and (gPlayers <> nil) then + if (g_Force_Model_Get() <> 0) and (gPlayers <> nil) then begin for a := Low(gPlayers) to High(gPlayers) do begin