LoadPlayerVehicles(playerid);
stock LoadPlayerVehicles(playerid)
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
printf(" Loading %s's vehicles.", playername);
for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
{
if(PlayerVehicleInfo[playerid][v][pvModelId] != 0 && PlayerVehicleInfo[playerid][v][pvImpounded] == 0)
{
PlayerCars++;
if(PlayerVehicleInfo[playerid][v][pvLocked] == 1) LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][v][pvId], PlayerVehicleInfo[playerid][v][pvLock]);
}
else if(PlayerVehicleInfo[playerid][v][pvModelId] == 0 && PlayerVehicleInfo[playerid][v][pvImpounded] != 0)
PlayerVehicleInfo[playerid][v][pvImpounded] = 0;
}
LoadAllPlayerVehicleMods(playerid);
}
stock LoadAllPlayerVehicleMods(playerid)
{
print(" Loading all vehicles mods.");
for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
{
if(PlayerVehicleInfo[playerid][v][pvModelId] != 0 && PlayerVehicleInfo[playerid][v][pvImpounded] == 0)
{
new paintjob = PlayerVehicleInfo[playerid][v][pvPaintJob];
new color1 = PlayerVehicleInfo[playerid][v][pvColor1];
new color2 = PlayerVehicleInfo[playerid][v][pvColor2];
if(PlayerVehicleInfo[playerid][v][pvPaintJob] != -1)
{
ChangeVehiclePaintjob(PlayerVehicleInfo[playerid][v][pvId], paintjob);
}
ChangeVehicleColor(PlayerVehicleInfo[playerid][v][pvId], color1, color2);
for(new m = 0; m < MAX_MODS; m++)
{
if (PlayerVehicleInfo[playerid][v][pvMods][m] >= 1000 && PlayerVehicleInfo[playerid][v][pvMods][m] <= 1193)
{
if (InvalidModCheck(GetVehicleModel(PlayerVehicleInfo[playerid][v][pvId]),PlayerVehicleInfo[playerid][v][pvMods][m]))
{
AddVehicleComponent(PlayerVehicleInfo[playerid][v][pvId], PlayerVehicleInfo[playerid][v][pvMods][m]);
}
else
{
printf("Removing invalid mod %d from model %d of %s", PlayerVehicleInfo[playerid][v][pvMods][m], GetVehicleModel(PlayerVehicleInfo[playerid][v][pvId]), GetPlayerNameEx(playerid));
PlayerVehicleInfo[playerid][v][pvMods][m] = 0;
}
}
}
}
}
}
[20:37:25] [debug] Run time error 4: "Array index out of bounds" [20:37:25] [debug] Accessing element at index 999 past array upper bound 500 [20:37:25] [debug] AMX backtrace: [20:37:25] [debug] #0 00070ea8 in public OnPlayerStateChange (0x00000000, 0x00000001, 0x00000008) from RGRP.amx
new score[MAX_PLAYERS];
"Accessing element at index 999 past array upper bound 500"
means your array is too small, therefore, when he tries to access a specific cell that is greater than the size set, it returns an error. For example : if you have an array per player and the max. first dimesion's size is MAX_PLAYERS (500) pawn Code:
exmaple 2: if you store vehicles ids in arrays and the max. array size is set to 600, and you try to create 601 vehicles, it will return this error. |