[11:18:35] [debug] Run time error 4: "Array index out of bounds" [11:18:35] [debug] Accessing element at index 999 past array upper bound 500 [11:18:35] [debug] AMX backtrace: [11:18:35] [debug] #0 00077eb0 in public OnPlayerStateChange (0x00000002, 0x00000001, 0x00000003) from PHRP_V1.2.amx
|
Check the defined size of:
for(new veh = 1; veh < MAX_VEHICLES; veh++) for(new i = 0; i < sizeof(DDoorsInfo); i++) { for(new i = 0; i < sizeof(FamilyInfo); i++) { for(new i = 0; i < sizeof(HouseInfo); i++) { |
if (IsKeyJustDown(KEY_FIRE, newkeys, oldkeys))
{
if( PlayerInfo[playerid][pC4Used] == 1 )
{
if (0 <= GoChase[playerid] < sizeof (PlayerInfo))
{
if(IsPlayerInRangeOfPoint(GoChase[playerid], 12.0, GetPVarFloat(playerid, "DYN_C4_FLOAT_X"), GetPVarFloat(playerid, "DYN_C4_FLOAT_Y"), GetPVarFloat(playerid, "DYN_C4_FLOAT_Z")))
{
if(PlayerInfo[GoChase[playerid]][pHeadValue] >= 1)
{
if(PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8)
{
new string[128];
new takemoney = PlayerInfo[GoChase[playerid]][pHeadValue] / 4 * 2;
GivePlayerCash(playerid, takemoney);
GivePlayerCash(GoChase[playerid], -takemoney);
format(string,sizeof(string),"Hitman %s has fulfilled the contract on %s and collected $%d",GetPlayerNameEx(playerid),GetPlayerNameEx(GoChase[playerid]),PlayerInfo[GoChase[playerid]][pHeadValue] / 4 * 2);
SendFamilyMessage(8, COLOR_YELLOW, string);
format(string,sizeof(string),"You have been critically injured by a Hitman and lost $%d!",takemoney);
ResetPlayerWeaponsEx(GoChase[playerid]);
// SpawnPlayer(GoChase[playerid]);
SendClientMessageEx(GoChase[playerid], COLOR_YELLOW, string);
PlayerInfo[GoChase[playerid]][pHeadValue] = 0;
PlayerInfo[playerid][pCHits] += 1;
SetPlayerHealth(GoChase[playerid], 0.0);
// KillEMSQueue(GoChase[playerid]);
GotHit[GoChase[playerid]] = 0;
GetChased[GoChase[playerid]] = 999;
GoChase[playerid] = 999;
}
}
}
}
|
The indentation is a bit.. but I guess it's fine foe the above code. It should check the value of it before using.
|