Sliknet
Новичок
Нужно устранить ошибку.
В логе сервера:
Собственно паблик:
В логе сервера:
HTML:
[23:44:13] [debug] Run time error 4: "Array index out of bounds"
[23:44:13] [debug] Accessing element at index 2000 past array upper bound 1999
[23:44:13] [debug] AMX backtrace:
[23:44:13] [debug] #0 0004011c in public CheckGas () from new.amx
HTML:
public CheckGas()
{
//##############################################################################
CarCheck();
//##############################################################################
//new vehicle;
for(new c = 0; c < CAR_AMOUNT+1; c++)
{
if(!BikeVeh(c) && !PlaneVeh(c) && !BoatVeh(c) && !MopedVeh(c))
{
if(Gas[c] > 0)
{
if(EngineCar[c] == 1)
{
Gas[c]--;
}
}
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);
}
}
}
foreach(Player,i)
{
new vehicle = GetPlayerVehicleID(i);
if(IsPlayerInAnyVehicle(i))
{
new carid = GetPlayerVehicleID(i);
if(!BikeVeh(carid) || !PlaneVeh(carid) || !BoatVeh(carid))
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
if(Gas[vehicle] > 0)
{
new Float:x,Float:y,Float:z;
GetVehicleVelocity(vehicle,x,y,z);
new Float:speed = floatabs(x)+floatabs(y)+floatabs(z);
if(!BikeVeh(vehicle) && speed != 0)
{
Gas[vehicle]-= 1;
}
}
else
{
if(EngineCar[vehicle] == 1)
{
new engine,lights,alarm,doors,bonnet,boot,objective;
new vid = GetPlayerVehicleID(i);
SendClientMessage(i,COLOR_LIGHTRED," ýòîé ìàøèíå çàêîí÷èëñÿ áåíçèí.");
GameTextForPlayer(i, "~w~B “O† –AŽ…ìE ìE €E숅ìA", 10000, 3);
EngineCar[vid] = 0;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,0,0,alarm,doors,bonnet,boot,objective);
}
}
}
}
}
}
return true;
}
