[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
Код:
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...");