[debug] Run time error 4: "Array index out of bounds" -
rainsonb - 20.12.2012
[10:37:29] [debug] Run time error 4: "Array index out of bounds"
[10:37:29] [debug] Accessing element at index 301 past array upper bound 264
[10:37:29] [debug] AMX backtrace:
[10:37:29] [debug] #0 00010660 in public OnPlayerDisconnect () from gfv2.3.amx
public OnPlayerDisconnect(playerid,reason)
{
//if(!IsPlayerNPC(playerid))
//{
//if(IsPlayerNPC(playerid)) return 1;
//TextDrawDestroy(Textdraw51[playerid]);
gActivePlayers[playerid]--;
numplayers--;
PlayerInfo[playerid][pAdjustable] = 1;
OnPlayerUpdate(playerid);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(TaxiAccepted[i] < 999)
{
if(TaxiAccepted[i] == playerid)
{
TaxiAccepted[i] = 999;
GameTextForPlayer(i, "~w~Taxi Caller~n~~r~Left the game", 5000, 1);
TaxiCallTime[i] = 0;
DisablePlayerCheckpoint(i);
}
}
else if(BusAccepted[i] < 999)
{
if(BusAccepted[i] == playerid)
{
BusAccepted[i] = 999;
GameTextForPlayer(i, "~w~Bus Caller~n~~r~Left the game", 5000, 1);
BusCallTime[i] = 0;
DisablePlayerCheckpoint(i);
}
}
}
}
if(GettingCK[playerid] < 999)
{
if(IsPlayerConnected(GettingCK[playerid]))
{
SendClientMessage(GettingCK[playerid], COLOR_YELLOW, " 你的身分失效了,你稍後再嘗試.");
OnCK[GettingCK[playerid]] = 999;
}
}
if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999)
{
if(IsPlayerConnected(TransportDriver[playerid]))
{
new string[64];
TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
TransportTime[TransportDriver[playerid]] = 0;
TransportCost[TransportDriver[playerid]] = 0;
format(string, sizeof(string), "~w~Passenger left~n~~g~Earned $%d",TransportCost[playerid]);
GameTextForPlayer(TransportDriver[playerid], string, 5000, 1);
}
}
if(GotHit[playerid] > 0)
{
if(GetChased[playerid] < 999)
{
if(IsPlayerConnected(GetChased[playerid]))
{
SendClientMessage(GetChased[playerid], COLOR_YELLOW, " 你的目標已離開伺服器了.");
}
}
}
new string[64],name[MAX_PLAYER_NAME];
GetPlayerName_fixed(playerid,name,MAX_PLAYER_NAME) ;
switch(reason)
{
case 0: format(string,sizeof string,"%s 離開了伺服器 判斷原因:系統斷線",name);
case 1: format(string,sizeof string,"%s 離開了伺服器 判斷原因:自行離開",name);
case 2: format(string,sizeof string,"%s 離開了伺服器 判斷原因:系統踢除",name);
}
SendClientMessageToAll(0x49C400FF,string);
if(PlayerPaintballing[playerid] != 0)
{
PaintballPlayers --;
}
if(killrobtime[playerid] != -1)
{
KillTimer(killrobtime[playerid]);
}
if(robplayerid1[playerid] != -999)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(robplayerid2[i] == playerid && robplayerid1[playerid] == i)
{
robplayerid2[robplayerid1[playerid]] = -999;
robplayerid1[playerid] = -999;
}
}
}
}
if(robplayerid2[playerid] != -999)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(robplayerid1[i] == playerid && robplayerid2[playerid] == i)
{
robplayerid1[robplayerid2[playerid]] = -999;
TogglePlayerControllable(robplayerid2[playerid], 1);
robplayerid2[playerid] = -999;
}
}
}
}
if(PlayerKarting[playerid] > 0 && PlayerInKart[playerid] > 0)
{
KartingPlayers --;
}
if(PlayersChannel[playerid] < 999)
{
IRCInfo[PlayersChannel[playerid]][iPlayers] -= 1;
}
if(HireCar[playerid] != 299)
{
gLastDriver[HireCar[playerid]] = 300;
gCarLock[HireCar[playerid]] = 0;
UnLockCar(HireCar[playerid]);
}
if (gLastCar[playerid] > 0)
{
gLastDriver[gLastCar[playerid]] = 300;
if(PlayerInfo[playerid][pPhousekey] != gLastCar[playerid]-1)
{
gCarLock[gLastCar[playerid]] = 0;
UnLockCar(gLastCar[playerid]);
}
}
if(PlayerBoxing[playerid] > 0)
{
if(Boxer1 == playerid)
{
if(IsPlayerConnected(Boxer2))
{
PlayerBoxing[Boxer2] = 0;
SetPlayerPos(Boxer2, 765.8433,3.2924,1000.7186);
SetPlayerInterior(Boxer2, 5);
GameTextForPlayer(Boxer2, "~r~Match interupted", 5000, 1);
}
}
else if(Boxer2 == playerid)
{
if(IsPlayerConnected(Boxer1))
{
PlayerBoxing[Boxer1] = 0;
SetPlayerPos(Boxer1, 765.8433,3.2924,1000.7186);
SetPlayerInterior(Boxer1, 5);
GameTextForPlayer(Boxer1, "~r~Match interupted", 5000, 1);
}
}
InRing = 0;
RoundStarted = 0;
Boxer1 = 255;
Boxer2 = 255;
TBoxer = 255;
}
if(TransportDuty[playerid] == 1)
{
TaxiDrivers -= 1;
}
else if(TransportDuty[playerid] == 2)
{
BusDrivers -= 1;
}
if(PlayerInfo[playerid][pJob] == 11)
{
if(JobDuty[playerid] == 1) { Medics -= 1; }
}
else if(PlayerInfo[playerid][pJob] == 7)
{
if(JobDuty[playerid] == 1) { Mechanics -= 1; }
}
else if(PlayerInfo[playerid][pJob] == 18)
{
if(JobDuty[playerid] == 1) { PizzaBoys -= 1; }
}
if (PlayerInfo[playerid][pRoadblock] != 0)
{
RemoveRoadblock(playerid);
}
//TextDrawDestroy(Textdraw51[playerid]);
//}
}
plz help
Re: [debug] Run time error 4: "Array index out of bounds" -
Spotlight - 20.12.2012
Код:
public OnPlayerDisconnect(playerid,reason)
{
//if(!IsPlayerNPC(playerid))
//{
//if(IsPlayerNPC(playerid)) return 1;
//TextDrawDestroy(Textdraw51[playerid]);
gActivePlayers[playerid]--;
numplayers--;
PlayerInfo[playerid][pAdjustable] = 1;
OnPlayerUpdate(playerid);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(TaxiAccepted[i] < 999)
{
if(TaxiAccepted[i] == playerid)
{
TaxiAccepted[i] = 999;
GameTextForPlayer(i, "~w~Taxi Caller~n~~r~Left the game", 5000, 1);
TaxiCallTime[i] = 0;
DisablePlayerCheckpoint(i);
}
}
else if(BusAccepted[i] < 999)
{
if(BusAccepted[i] == playerid)
{
BusAccepted[i] = 999;
GameTextForPlayer(i, "~w~Bus Caller~n~~r~Left the game", 5000, 1);
BusCallTime[i] = 0;
DisablePlayerCheckpoint(i);
}
}
}
}
if(GettingCK[playerid] < 999)
{
if(IsPlayerConnected(GettingCK[playerid]))
{
SendClientMessage(GettingCK[playerid], COLOR_YELLOW, " 你的身分失效了,你稍後再嘗試.");
OnCK[GettingCK[playerid]] = 999;
}
}
if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999)
{
if(IsPlayerConnected(TransportDriver[playerid]))
{
new string[64];
TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
TransportTime[TransportDriver[playerid]] = 0;
TransportCost[TransportDriver[playerid]] = 0;
format(string, sizeof(string), "~w~Passenger left~n~~g~Earned $%d",TransportCost[playerid]);
GameTextForPlayer(TransportDriver[playerid], string, 5000, 1);
}
}
if(GotHit[playerid] > 0)
{
if(GetChased[playerid] < 999)
{
if(IsPlayerConnected(GetChased[playerid]))
{
SendClientMessage(GetChased[playerid], COLOR_YELLOW, " 你的目標已離開伺服器了.");
}
}
}
new string[64],name[MAX_PLAYER_NAME];
GetPlayerName_fixed(playerid,name,MAX_PLAYER_NAME) ;
switch(reason)
{
case 0: format(string,sizeof string,"%s 離開了伺服器 判斷原因:系統斷線",name);
case 1: format(string,sizeof string,"%s 離開了伺服器 判斷原因:自行離開",name);
case 2: format(string,sizeof string,"%s 離開了伺服器 判斷原因:系統踢除",name);
}
SendClientMessageToAll(0x49C400FF,string);
if(PlayerPaintballing[playerid] != 0)
{
PaintballPlayers --;
}
if(killrobtime[playerid] != -1)
{
KillTimer(killrobtime[playerid]);
}
if(robplayerid1[playerid] != -999)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(robplayerid2[i] == playerid && robplayerid1[playerid] == i)
{
robplayerid2[robplayerid1[playerid]] = -999;
robplayerid1[playerid] = -999;
}
}
}
}
if(robplayerid2[playerid] != -999)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(robplayerid1[i] == playerid && robplayerid2[playerid] == i)
{
robplayerid1[robplayerid2[playerid]] = -999;
TogglePlayerControllable(robplayerid2[playerid], 1);
robplayerid2[playerid] = -999;
}
}
}
}
if(PlayerKarting[playerid] > 0 && PlayerInKart[playerid] > 0)
{
KartingPlayers --;
}
if(PlayersChannel[playerid] < 999)
{
IRCInfo[PlayersChannel[playerid]][iPlayers] -= 1;
}
if(HireCar[playerid] != 299)
{
gLastDriver[HireCar[playerid]] = 300;
gCarLock[HireCar[playerid]] = 0;
UnLockCar(HireCar[playerid]);
}
if (gLastCar[playerid] > 0)
{
gLastDriver[gLastCar[playerid]] = 300;
if(PlayerInfo[playerid][pPhousekey] != gLastCar[playerid]-1)
{
gCarLock[gLastCar[playerid]] = 0;
UnLockCar(gLastCar[playerid]);
}
}
if(PlayerBoxing[playerid] > 0)
{
if(Boxer1 == playerid)
{
if(IsPlayerConnected(Boxer2))
{
PlayerBoxing[Boxer2] = 0;
SetPlayerPos(Boxer2, 765.8433,3.2924,1000.7186);
SetPlayerInterior(Boxer2, 5);
GameTextForPlayer(Boxer2, "~r~Match interupted", 5000, 1);
}
}
else if(Boxer2 == playerid)
{
if(IsPlayerConnected(Boxer1))
{
PlayerBoxing[Boxer1] = 0;
SetPlayerPos(Boxer1, 765.8433,3.2924,1000.7186);
SetPlayerInterior(Boxer1, 5);
GameTextForPlayer(Boxer1, "~r~Match interupted", 5000, 1);
}
}
InRing = 0;
RoundStarted = 0;
Boxer1 = 255;
Boxer2 = 255;
TBoxer = 255;
}
if(TransportDuty[playerid] == 1)
{
TaxiDrivers -= 1;
}
else if(TransportDuty[playerid] == 2)
{
BusDrivers -= 1;
}
if(PlayerInfo[playerid][pJob] == 11)
{
if(JobDuty[playerid] == 1) { Medics -= 1; }
}
else if(PlayerInfo[playerid][pJob] == 7)
{
if(JobDuty[playerid] == 1) { Mechanics -= 1; }
}
else if(PlayerInfo[playerid][pJob] == 18)
{
if(JobDuty[playerid] == 1) { PizzaBoys -= 1; }
}
if (PlayerInfo[playerid][pRoadblock] != 0)
{
RemoveRoadblock(playerid);
}
//TextDrawDestroy(Textdraw51[playerid]);
//}
}