Crash в public CheckGas ()
Добрый день пользователи pro-pawn.ru, Мне нужна помощь c крашем в server_log.
Вроде исравил 1 раз этот краш убрав +1 в for(new c = 0; c < CAR_AMOUNT+1; c++) но сломался бензин, сломался как отнимает 1 литр если двигатель выключен а если включен то отнимает 2 литра. Помогите решить это проблему, кому не сложно
Вот лог краша
PHP код:
[22:39:05] [debug] Run time error 4: "Array index out of bounds"
[22:39:05] [debug] Accessing element at index 999 past array upper bound 998
[22:39:05] [debug] AMX backtrace:
[22:39:05] [debug] #0 000bf4d4 in public CheckGas () at D:\База данных сервера CRMP\База данных\new.pwn:16190
Вот паблик
PHP код:
public CheckGas()
{
for(new c = 0; c < CAR_AMOUNT+1; c++)
{
if(!BikeVeh(c) && !PlaneVeh(c) && !BoatVeh(c))
{
if(Gas[c] > 0)// строчка 16190
{
if(EngineCar[c] == 1)
{
Gas[c] -= 1;
}
/*else if(EngineCar[c] == 0)
{
Gas[c] -= 0;
}*/
}
else
{
EngineCar[c] = 0;
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(c,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(c,0,0,alarm,doors,bonnet,boot,objective);
}
}
}
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
new vehicle = GetPlayerVehicleID(i);
new carid = GetPlayerVehicleID(i);
new model = GetVehicleModel(carid);
if(Gas[vehicle] >= 1)
{
if(Gas[vehicle] <= 10) { PlayerPlaySound(i, 1085, 0.0, 0.0, 0.0); }
if(IsAPlane(vehicle) || IsABoat(vehicle) || IsABike(vehicle) || model == 537 || model == 437) { Gas[vehicle]++; }
Gas[vehicle]-=1;
}
else
{
NoFuel[i] = 1;
TogglePlayerControllable(i, 0);
SendClientMessage(i, COLOR_YELLOW, "У вашего автомобиля кончился бензин! Для выхода введите /exit.");
}
}
}
}
return 1;
}