[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.
|