15.07.2013, 13:47
How to solve this error?
[15:45:49] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[15:45:49] [debug] Stack pointer (STK) is 0x18CF98, heap pointer (HEA) is 0x18DA00
[15:45:49] [debug] AMX backtrace:
[15:45:49] [debug] #0 ?? in public OnScriptUpdate () from gamemode.amx
[15:45:49] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[15:45:49] [debug] Stack pointer (STK) is 0x18CF98, heap pointer (HEA) is 0x18DA00
[15:45:49] [debug] AMX backtrace:
[15:45:49] [debug] #0 ?? in public OnScriptUpdate () from gamemode.amx
Код:
new iString[256], Alive[2], playerScores[MAX_PLAYERS][rankingEnum], index, p; TeamHP[ATTACKER] = 0; TeamHP[DEFENDER] = 0; PlayersAlive[ATTACKER] = 0; PlayersAlive[DEFENDER] = 0; ReadyText[0] = "~w~~h~~h~Players To Ready:"; ReadyText[1] = ""; new PlayersToReady; if(RoundPaused == true && ESLMode == true && RoundUnpausing == false) { if(ESLPauseTime > 0) { ESLPauseTime--; } } foreach(new i : Player) { iString = ""; Player[i][PauseCount]++; GetPlayerFPS(i); GetPlayerHealth(i, Player[i][pHealth]); GetPlayerArmour(i, Player[i][pArmour]); if(FallProtection == false) { format(iString, sizeof(iString), "~w~~h~~h~%.0f", Player[i][pHealth]); PlayerTextDrawSetString(i, HPTextDraw[i], iString); } else { if(Player[i][Playing] == true) PlayerTextDrawSetString(i, HPTextDraw[i], "~w~~h~~h~Fall Prot."); else { format(iString, sizeof(iString), "~w~~h~~h~%.0f", Player[i][pHealth]); PlayerTextDrawSetString(i, HPTextDraw[i], iString); } } if(Player[i][pArmour] > 0) { format(iString, sizeof(iString), "~l~~h~~h~%.0f", Player[i][pArmour]); PlayerTextDrawSetString(i, ArmourTextDraw[i], iString); } else { PlayerTextDrawSetString(i, ArmourTextDraw[i], "_"); } new pPing = GetPlayerPing(i); new Float:pPacket = GetPlayerPacketLoss(i); if(RoundPaused == false) { format(iString,sizeof(iString),"~w~~h~~h~FPS ~r~~h~~h~%d ~w~~h~~h~Ping ~r~~h~~h~%d ~w~~h~~h~Pakiety ~r~~h~~h~%.1f%%", Player[i][FPS], pPing, pPacket); PlayerTextDrawSetString(i, FPSPingPacket[i],iString); } else if(RoundPaused == true && ESLMode == true && RoundUnpausing == false) { format(iString,sizeof(iString),"~w~~h~~h~Round Paused (~r~~h~~h~%d:%02d~w~~h~~h~)", (ESLPauseTime < 60 ? 0 : 1), ESLPauseTime % 60); PlayerTextDrawSetString(i, FPSPingPacket[i],iString); if(ESLPauseTime <= 0) { PauseCountdown = 4; UnpauseRound(); } } if(PlayersInCP > 0 && Current != -1 && RoundPaused == false) PlayerPlaySound(i,1056,0.0,0.0,0.0); if(ESLMode == true && Current == -1) { if(Player[i][Readied] == false && (Player[i][Team] == ATTACKER || Player[i][Team] == DEFENDER)) { PlayersToReady++; if(PlayersToReady <= 5) { format(ReadyText[0], 256, "%s~n~%s~h~~h~%s", ReadyText[0], TDC[Player[i][Team]], Player[i][NameWithoutTag]); } else if(PlayersToReady <= 10) { format(ReadyText[1], 256, "%s%s~h~~h~%s~n~", ReadyText[1], TDC[Player[i][Team]], Player[i][NameWithoutTag]); } } } if(Player[i][Spectating] == true && Player[i][IsSpectatingID] != INVALID_PLAYER_ID && TeamHPDamage == false) { new specid = Player[i][IsSpectatingID]; new Float:Angle; GetPlayerFacingAngle(specid, Angle); format(iString,sizeof(iString),"~w~~h~~h~%s ~r~~h~~h~%d~n~~w~~h~~h~(~w~~h~%.0f~w~~h~~h~) (~r~~h~%.0f~w~~h~~h~)~n~~w~~h~~h~Ping ~r~~h~~h~%d ~w~~h~~h~FPS ~r~~h~~h~%d~n~~w~~h~~h~Packet-Loss ~r~~h~~h~%.1f", Player[specid][Name], specid, Player[specid][pArmour], Player[specid][pHealth], GetPlayerPing(specid), Player[specid][FPS], GetPlayerPacketLoss(specid)); PlayerTextDrawSetString(i, SpecText[0][i], iString); PlayerTextDrawShow(i,SpecText[0][i]); format(iString,sizeof(iString),"~w~~h~~h~R-Dmg ~r~~h~~h~%.0f ~w~~h~~h~T-Dmg ~r~~h~~h~%.0f~n~~w~~h~~h~Facing ~r~~h~~h~%s~n~~w~~h~~h~%s", Player[specid][RoundDamage], Player[specid][TotalDamage], GetCardinalPoint(Angle), SpecWeapons(specid)); PlayerTextDrawSetString(i, SpecText[1][i], iString); PlayerTextDrawShow(i,SpecText[1][i]); } if(Current == -1) { switch(Player[i][Team]) { case ATTACKER: { Alive[ATTACKER-1]++; } case DEFENDER: { Alive[DEFENDER-1]++; } } format(iString, sizeof(iString), " ~r~~h~~h~%d ~w~~h~~h~Vs ~b~~h~~h~%d", Alive[ATTACKER-1], Alive[DEFENDER-1]); PlayerTextDrawSetString(i, BaseID_VS[i], iString); } if(Player[i][WasInBase] == true && TeamHPDamage == true) { playerScores[index][player_Score] = floatround(Player[i][RoundDamage], floatround_round); playerScores[index++][player_ID] = i; p++; } if(IsPlayerInAnyVehicle(i)) { Update3DTextLabelText(PingFPS[i], 0x00FF00FF, ""); } else { format(iString, sizeof(iString), "\n%sPing: {FFFFFF}%i\n%sFPS: {FFFFFF}%i",TextColor[Player[i][Team]], pPing, TextColor[Player[i][Team]], Player[i][FPS]); Update3DTextLabelText(PingFPS[i], 0x00FF00FF, iString); } if(Player[i][Playing] == true) { if(GameType == ARENA) { if(OneOnOne == false) { if(IsPlayerInArea(i,AMin[Current][0], AMax[Current][0], AMin[Current][1], AMax[Current][1]) != 1 && Player[i][PauseCount] < 2) { if(RoundPaused == false) Player[i][OutOfArena]--; format(iString, sizeof(iString), "~w~~h~~h~Stay in Arena. (~r~~h~~h~%d~w~~h~~h~)", Player[i][OutOfArena]); PlayerTextDrawSetString(i, AreaCheckTD[i], iString); PlayerTextDrawShow(i, AreaCheckTD[i]); PlayerTextDrawShow(i, AreaCheckBG[i]); if(Player[i][OutOfArena] <= 0) { RemovePlayerFromRound(i); format(iString, sizeof(iString), "{FFFFFF}%s {0099FF}has been removed for not staying in Arena.", Player[i][Name]); SendClientMessageToAll(-1, iString); Player[i][OutOfArena] = 5; PlayerTextDrawHide(i, AreaCheckTD[i]); PlayerTextDrawHide(i, AreaCheckBG[i]); } } else { Player[i][OutOfArena] = 5; PlayerTextDrawHide(i, AreaCheckTD[i]); PlayerTextDrawHide(i, AreaCheckBG[i]); } } else { if(IsPlayerInArea(i,DuelMin[Current][0], DuelMax[Current][0], DuelMin[Current][1], DuelMax[Current][1]) != 1 && Player[i][PauseCount] < 2) { if(RoundPaused == false) Player[i][OutOfArena]--; format(iString, sizeof(iString), "~w~~h~~h~Stay in Duel Arena. (~r~~h~~h~%d~w~~h~~h~)", Player[i][OutOfArena]); PlayerTextDrawSetString(i, AreaCheckTD[i], iString); PlayerTextDrawShow(i, AreaCheckTD[i]); PlayerTextDrawShow(i, AreaCheckBG[i]); if(Player[i][OutOfArena] <= 0) { RemovePlayerFromRound(i); format(iString, sizeof(iString), "{FFFFFF}%s {0099FF}has been removed for not staying in the duel area.", Player[i][Name]); SendClientMessageToAll(-1, iString); Player[i][OutOfArena] = 5; PlayerTextDrawHide(i, AreaCheckTD[i]); PlayerTextDrawHide(i, AreaCheckBG[i]); } } else { Player[i][OutOfArena] = 5; PlayerTextDrawHide(i, AreaCheckTD[i]); PlayerTextDrawHide(i, AreaCheckBG[i]); } } } switch(Player[i][Team]) { case ATTACKER: { TeamHP[ATTACKER] = TeamHP[ATTACKER] + (Player[i][pHealth] + Player[i][pArmour]); PlayersAlive[ATTACKER]++; } case DEFENDER: { TeamHP[DEFENDER] = TeamHP[DEFENDER] + (Player[i][pHealth] + Player[i][pArmour]); PlayersAlive[DEFENDER]++; } } SetPlayerScore(i, floatround(Player[i][pHealth] + Player[i][pArmour])); ResetPlayerMoney(i); GivePlayerMoney(i, -floatround(Player[i][pHealth] + Player[i][pArmour])); if(Player[i][NetCheck] == 1) { if(Player[i][FPS] < Min_FPS && Player[i][FPS] != 0 && Player[i][PauseCount] < 5) { Player[i][FPSKick]++; if (Player[i][FPSKick] == 7) { format(iString, sizeof(iString), "{FFFFFF}%s {0099FF}has been kicked from the server .: {FFFFFF}Low FPS | %d/%d {0099FF}:.", Player[i][Name], Player[i][FPS], Min_FPS); SendClientMessageToAll(-1, iString); if(ESLMode == false) Player[i][DontPause] = true; SetTimerEx("OnPlayerKicked", 500, false, "i", i); } else if (Player[i][FPSKick] > 7) { Player[i][FPSKick] = 0; } } else { Player[i][FPSKick] = 0; } if(pPacket >= Max_Packetloss) { Player[i][PacketKick]++; if(Player[i][PacketKick] == 15) { format(iString, sizeof(iString), "{FFFFFF}%s {0099FF}has been kicked from the server .: {FFFFFF}High PacketLoss | %.2f/%.2f {0099FF}:.", Player[i][Name], pPacket, Max_Packetloss); SendClientMessageToAll(-1, iString); SetTimerEx("OnPlayerKicked", 500, false, "i", i); } else if(Player[i][PacketKick] > 30) { Player[i][PacketKick] = 0; } } else { Player[i][PacketKick] = 0; } if(pPing >= Max_Ping){ Player[i][PingKick]++; if(Player[i][PingKick] == 10) { format(iString, sizeof(iString), "{FFFFFF}%s {0099FF}has been kicked from the server .: {FFFFFF}High Ping | %d/%d {0099FF}:.", Player[i][Name], pPing, Max_Ping); SendClientMessageToAll(-1, iString); SetTimerEx("OnPlayerKicked", 500, false, "i", i); } else if(Player[i][PingKick] > 10) { Player[i][PingKick] = 0; } } else { Player[i][PingKick] = 0; } } } if(TakeDmgCD[0][i] > 0) { TakeDmgCD[0][i]++; if(TakeDmgCD[0][i] == 5) { DamageDone[0][i] = 0; gLastHit[0][i] = -1; PlayerTextDrawSetString(i, DoingDamage[0][i], "_"); TakeDmgCD[0][i] = 0; } } if(TakeDmgCD[1][i] > 0) { TakeDmgCD[1][i]++; if(TakeDmgCD[1][i] == 5) { DamageDone[1][i] = 0; gLastHit[1][i] = -1; PlayerTextDrawSetString(i, DoingDamage[1][i], "_"); TakeDmgCD[1][i] = 0; } } if(TakeDmgCD[2][i] > 0) { TakeDmgCD[2][i]++; if(TakeDmgCD[2][i] == 5) { DamageDone[2][i] = 0; PlayerTextDrawSetString(i, DoingDamage[2][i], "_"); gLastHit[2][i] = -1; TakeDmgCD[2][i] = 0; } } if(TakeDmgCD[3][i] > 0) { TakeDmgCD[3][i]++; if(TakeDmgCD[3][i] == 5) { DamageDone[3][i] = 0; gLastHit[3][i] = -1; PlayerTextDrawSetString(i, GettingDamaged[0][i], "_"); DmgLabelStr[0][i] = ""; format(iString, sizeof(iString), "%s\n%s\n%s", DmgLabelStr[0][i], DmgLabelStr[1][i], DmgLabelStr[2][i]); Update3DTextLabelText(DmgLabel[i], -1, iString); TakeDmgCD[3][i] = 0; } } if(TakeDmgCD[4][i] > 0) { TakeDmgCD[4][i]++; if(TakeDmgCD[4][i] == 5) { DamageDone[4][i] = 0; gLastHit[4][i] = -1; PlayerTextDrawSetString(i, GettingDamaged[1][i], "_"); DmgLabelStr[1][i] = ""; format(iString, sizeof(iString), "%s\n%s\n%s", DmgLabelStr[0][i], DmgLabelStr[1][i], DmgLabelStr[2][i]); Update3DTextLabelText(DmgLabel[i], -1, iString); TakeDmgCD[4][i] = 0; } } if(TakeDmgCD[5][i] > 0) { TakeDmgCD[5][i]++; if(TakeDmgCD[5][i] == 5) { DamageDone[5][i] = 0; gLastHit[5][i] = -1; PlayerTextDrawSetString(i, GettingDamaged[2][i], "_"); DmgLabelStr[2][i] = ""; format(iString, sizeof(iString), "%s\n%s\n%s", DmgLabelStr[0][i], DmgLabelStr[1][i], DmgLabelStr[2][i]); Update3DTextLabelText(DmgLabel[i], -1, iString); TakeDmgCD[5][i] = 0; } } } if(Current == -1) { if(ESLMode == true) { TextDrawSetString(Ready[0], ReadyText[0]); TextDrawSetString(Ready[1], ReadyText[1]); } } if(BaseStarted == true) { if(TeamHPDamage == true) { GetPlayerHighestScores(playerScores, 0, index -1 ); new AttOnline, DefOnline; ScoreString[0] = ""; ScoreString[1] = ""; ScoreString[2] = ""; ScoreString[3] = ""; for(new i = 0; i != p; ++i) { if(IsPlayerConnected(playerScores[i][player_ID])) { if(Player[playerScores[i][player_ID]][Team] == ATTACKER) { AttOnline++; if(Player[playerScores[i][player_ID]][Playing] == false && Player[playerScores[i][player_ID]][RoundDeaths] > 0) { if(AttOnline <= 3) format(ScoreString[0], 256, "%s~w~~h~| %s ~r~~h~Dead ~w~~h~- ~r~~h~~h~%d~n~", ScoreString[0], Player[playerScores[i][player_ID]][NameWithoutTag], playerScores[i][player_Score]); else if(AttOnline <= 6) format(ScoreString[1], 256, "%s~w~~h~| %s ~r~~h~Dead ~w~~h~- ~r~~h~~h~%d~n~", ScoreString[1], Player[playerScores[i][player_ID]][NameWithoutTag], playerScores[i][player_Score]); } else if(Player[playerScores[i][player_ID]][Playing] == true) { if(AttOnline <= 3) format(ScoreString[0], 256, "%s~w~~h~| %s ~r~~h~%.0f ~w~~h~- ~r~~h~~h~%d~n~", ScoreString[0], Player[playerScores[i][player_ID]][NameWithoutTag], (Player[playerScores[i][player_ID]][RoundDeaths] > 0 ? 0.0 : (Player[playerScores[i][player_ID]][pHealth] + Player[playerScores[i][player_ID]][pArmour])), playerScores[i][player_Score]); else if(AttOnline <= 6) format(ScoreString[1], 256, "%s~w~~h~| %s ~r~~h~%.0f ~w~~h~- ~r~~h~~h~%d~n~", ScoreString[1], Player[playerScores[i][player_ID]][NameWithoutTag], (Player[playerScores[i][player_ID]][RoundDeaths] > 0 ? 0.0 : (Player[playerScores[i][player_ID]][pHealth] + Player[playerScores[i][player_ID]][pArmour])), playerScores[i][player_Score]); } } else if(Player[playerScores[i][player_ID]][Team] == DEFENDER) { DefOnline++; if(Player[playerScores[i][player_ID]][Playing] == false && Player[playerScores[i][player_ID]][RoundDeaths] > 0) { if(DefOnline <= 3) format(ScoreString[2], 256, "%s~w~~h~| %s ~b~~h~Dead ~w~~h~- ~b~~h~~h~%d~n~", ScoreString[2], Player[playerScores[i][player_ID]][NameWithoutTag], playerScores[i][player_Score]); else if(DefOnline <= 6) format(ScoreString[3], 256, "%s~w~~h~| %s ~b~~h~Dead ~w~~h~- ~b~~h~~h~%d~n~", ScoreString[3], Player[playerScores[i][player_ID]][NameWithoutTag], playerScores[i][player_Score]); } else if(Player[playerScores[i][player_ID]][Playing] == true) { if(DefOnline <= 3) format(ScoreString[2], 256, "%s~w~~h~| %s ~b~~h~%.0f ~w~~h~- ~b~~h~~h~%d~n~", ScoreString[2], Player[playerScores[i][player_ID]][NameWithoutTag], (Player[playerScores[i][player_ID]][RoundDeaths] > 0 ? 0.0 : (Player[playerScores[i][player_ID]][pHealth] + Player[playerScores[i][player_ID]][pArmour])), playerScores[i][player_Score]); else if(DefOnline <= 6) format(ScoreString[3], 256, "%s~w~~h~| %s ~b~~h~%.0f ~w~~h~- ~b~~h~~h~%d~n~", ScoreString[3], Player[playerScores[i][player_ID]][NameWithoutTag], (Player[playerScores[i][player_ID]][RoundDeaths] > 0 ? 0.0 : (Player[playerScores[i][player_ID]][pHealth] + Player[playerScores[i][player_ID]][pArmour])), playerScores[i][player_Score]); } } } } TextDrawSetString(AttackerTeam[0], ScoreString[0]); TextDrawSetString(AttackerTeam[1], ScoreString[1]); TextDrawSetString(DefenderTeam[0], ScoreString[2]); TextDrawSetString(DefenderTeam[1], ScoreString[3]); TextDrawSetString(AttackerTeam[2], ScoreString[0]); TextDrawSetString(AttackerTeam[3], ScoreString[1]); TextDrawSetString(DefenderTeam[2], ScoreString[2]); TextDrawSetString(DefenderTeam[3], ScoreString[3]); } if(RoundPaused == false) { if(PlayersInCP > 0) { CurrentCPTime--; if(CurrentCPTime == 0) return EndRound(0); // Attackers Win } RoundSeconds--; if(RoundSeconds <= 0) { RoundSeconds = 59; RoundMints--; if(RoundMints < 0) return EndRound(1); // Defenders Win } if(PlayersAlive[ATTACKER] < 1) return EndRound(2); // Defenders Win else if(PlayersAlive[DEFENDER] < 1) return EndRound(3); // Attackers Win ElapsedTime++; } if(PlayersInCP == 0) format(iString,sizeof(iString),"~r~~h~~h~%s ~r~~h~%d ~w~~h~~h~(~r~~h~~h~~h~%.0f~w~~h~~h~) ~w~~h~~h~%d:%02d ~b~~h~~h~%s ~b~~h~%d ~w~~h~~h~(~b~~h~~h~~h~%.0f~w~~h~~h~)~n~",TeamName[ATTACKER],PlayersAlive[ATTACKER],TeamHP[ATTACKER],RoundMints,RoundSeconds,TeamName[DEFENDER],PlayersAlive[DEFENDER],TeamHP[DEFENDER]); else format(iString,sizeof(iString),"~r~~h~~h~%s ~r~~h~%d ~w~~h~~h~(~r~~h~~h~~h~%.0f~w~~h~~h~) ~w~~h~~h~%d:%02d / ~r~~h~~h~%d ~b~~h~~h~%s ~b~~h~%d ~w~~h~~h~(~b~~h~~h~~h~%.0f~w~~h~~h~)~n~",TeamName[ATTACKER],PlayersAlive[ATTACKER],TeamHP[ATTACKER],RoundMints,RoundSeconds,CurrentCPTime, TeamName[DEFENDER],PlayersAlive[DEFENDER],TeamHP[DEFENDER]); TextDrawSetString(RoundStats, iString); } else if(ArenaStarted == true) { if(TeamHPDamage == true) { GetPlayerHighestScores(playerScores, 0, index -1 ); new AttOnline, DefOnline; ScoreString[0] = ""; ScoreString[1] = ""; ScoreString[2] = ""; ScoreString[3] = ""; for(new i = 0; i != p; ++i) { if(IsPlayerConnected(playerScores[i][player_ID])) { if(Player[playerScores[i][player_ID]][Team] == ATTACKER) { AttOnline++; if(Player[playerScores[i][player_ID]][RoundDeaths] > 0) { if(AttOnline <= 3) format(ScoreString[0], 256, "%s~w~~h~| %s ~r~~h~Dead ~w~~h~- ~r~~h~~h~%d~n~", ScoreString[0], Player[playerScores[i][player_ID]][NameWithoutTag], playerScores[i][player_Score]); else if(AttOnline <= 6) format(ScoreString[1], 256, "%s~w~~h~| %s ~r~~h~Dead ~w~~h~- ~r~~h~~h~%d~n~", ScoreString[1], Player[playerScores[i][player_ID]][NameWithoutTag], playerScores[i][player_Score]); } else { if(AttOnline <= 3) format(ScoreString[0], 256, "%s~w~~h~| %s ~r~~h~%.0f ~w~~h~- ~r~~h~~h~%d~n~", ScoreString[0], Player[playerScores[i][player_ID]][NameWithoutTag], (Player[playerScores[i][player_ID]][RoundDeaths] > 0 ? 0.0 : (Player[playerScores[i][player_ID]][pHealth] + Player[playerScores[i][player_ID]][pArmour])), playerScores[i][player_Score]); else if(AttOnline <= 6) format(ScoreString[1], 256, "%s~w~~h~| %s ~r~~h~%.0f ~w~~h~- ~r~~h~~h~%d~n~", ScoreString[1], Player[playerScores[i][player_ID]][NameWithoutTag], (Player[playerScores[i][player_ID]][RoundDeaths] > 0 ? 0.0 : (Player[playerScores[i][player_ID]][pHealth] + Player[playerScores[i][player_ID]][pArmour])), playerScores[i][player_Score]); } } else if(Player[playerScores[i][player_ID]][Team] == DEFENDER) { DefOnline++; if(Player[playerScores[i][player_ID]][RoundDeaths] > 0) { if(DefOnline <= 3) format(ScoreString[2], 256, "%s~w~~h~| %s ~b~~h~Dead ~w~~h~- ~b~~h~~h~%d~n~", ScoreString[2], Player[playerScores[i][player_ID]][NameWithoutTag], playerScores[i][player_Score]); else if(DefOnline <= 6) format(ScoreString[3], 256, "%s~w~~h~| %s ~b~~h~Dead ~w~~h~- ~b~~h~~h~%d~n~", ScoreString[3], Player[playerScores[i][player_ID]][NameWithoutTag], playerScores[i][player_Score]); } else { if(DefOnline <= 3) format(ScoreString[2], 256, "%s~w~~h~| %s ~b~~h~%.0f ~w~~h~- ~b~~h~~h~%d~n~", ScoreString[2], Player[playerScores[i][player_ID]][NameWithoutTag], (Player[playerScores[i][player_ID]][RoundDeaths] > 0 ? 0.0 : (Player[playerScores[i][player_ID]][pHealth] + Player[playerScores[i][player_ID]][pArmour])), playerScores[i][player_Score]); else if(DefOnline <= 6) format(ScoreString[3], 256, "%s~w~~h~| %s ~b~~h~%.0f ~w~~h~- ~b~~h~~h~%d~n~", ScoreString[3], Player[playerScores[i][player_ID]][NameWithoutTag], (Player[playerScores[i][player_ID]][RoundDeaths] > 0 ? 0.0 : (Player[playerScores[i][player_ID]][pHealth] + Player[playerScores[i][player_ID]][pArmour])), playerScores[i][player_Score]); } } } } TextDrawSetString(AttackerTeam[0], ScoreString[0]); TextDrawSetString(AttackerTeam[1], ScoreString[1]); TextDrawSetString(DefenderTeam[0], ScoreString[2]); TextDrawSetString(DefenderTeam[1], ScoreString[3]); TextDrawSetString(AttackerTeam[2], ScoreString[0]); TextDrawSetString(AttackerTeam[3], ScoreString[1]); TextDrawSetString(DefenderTeam[2], ScoreString[2]); TextDrawSetString(DefenderTeam[3], ScoreString[3]); } if(RoundPaused == false) { RoundSeconds--; if(RoundSeconds <= 0) { RoundSeconds = 59; RoundMints--; if(RoundMints < 0) { if(TeamHP[ATTACKER] < TeamHP[DEFENDER]) EndRound(2); else if(TeamHP[DEFENDER] < TeamHP[ATTACKER]) EndRound(3); else if(floatround(TeamHP[ATTACKER]) == floatround(TeamHP[DEFENDER])) EndRound(4); // No one win return 1; } } if(PlayersAlive[ATTACKER] < 1) return EndRound(2); // Defenders Win else if(PlayersAlive[DEFENDER] < 1) return EndRound(3); // Attackers Win ElapsedTime++; } format(iString,sizeof(iString),"~r~~h~~h~%s ~r~~h~%d ~w~~h~~h~(~r~~h~~h~~h~%.0f~w~~h~~h~) ~w~~h~~h~%d:%02d ~b~~h~~h~%s ~b~~h~%d ~w~~h~~h~(~b~~h~~h~~h~%.0f~w~~h~~h~)~n~",TeamName[ATTACKER],PlayersAlive[ATTACKER],TeamHP[ATTACKER],RoundMints,RoundSeconds,TeamName[DEFENDER],PlayersAlive[DEFENDER],TeamHP[DEFENDER]); TextDrawSetString(RoundStats, iString); } //printf("OnScriptUpdating...");