Fettel
Новичок
Вообщем после запуска сервера, через небольшой промежуток времени в server-log выскакивают данные строки:
Сначала на сервер это не влияет, но потом, автоматически удаляется server-log и пропадает вся регистрация на сервере..
Как я понял из crashdetect все дело в паблике UpdateSpeedometr, но что в нем не так ?
Вот сам паблик:
Кому не лень, помогите разобраться из за чего вся беда идет ??
Код:
[debug] Run time error 4: "Array index out of bounds"
[debug] Accessing element at negative index -400
[debug] AMX backtrace:
[debug] #0 00256110 in public UpdateSpeedometr () from SharpRP.amx
Как я понял из crashdetect все дело в паблике UpdateSpeedometr, но что в нем не так ?
Вот сам паблик:
PHP:
public UpdateSpeedometr()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInAnyVehicle(i))
{
if(carmoto[i] == 1)
{
SpeedLimit(i);
}
new vehicleid = GetPlayerVehicleID(i);
new locked[32];
new Float:vehhel, vehh[20], vehs[20], vehe[20];
if(IsLocked[GetPlayerVehicleID(i)] == 1) locked = "~g~VEHICLE: ~w~LOCK";
else locked = "~g~VEHICLE: ~w~UNLOCK";
GetVehicleHealth(GetPlayerVehicleID(i), vehhel);
if(vehhel <= 500) vehh = "~r~";
else vehh = "";
if(Fuell[GetPlayerVehicleID(i)] <= 30) vehs = "~r~";
else vehs = "";
if(zavodis[i] == 1) vehe = "~g~ENGINE: ~w~ON";
else vehe = "~g~ENGINE: ~w~OFF";
format(str1, sizeof(str1),"~g~SPEED: ~w~%d KM/H",SpeedVehicle(i));
if(vehhel <= 300) format(str3, sizeof(str3),"~g~HEALTH: ~w~%s%.0f%",vehh,vehhel / 10); else format(str3, sizeof(str3),"~g~HEALTH: ~w~%s%.0f%",vehh,vehhel / 10);
format(str2, sizeof(str2), "%s", locked);
format(str6, sizeof(str6), "~g~MODEL: ~w~%s", VehicleNames[GetVehicleModel(GetPlayerVehicleID(i))-400]);
format(str4, sizeof(str4), "~g~FUEL: ~w~%s%.0f", vehs,Fuell[GetPlayerVehicleID(i)]);
format(str5, sizeof(str5), "%s", vehe);
if(!IsAPlane(vehicleid) && !IsABoat(vehicleid) && !IsANoSpeed(vehicleid))
{
if(SpeedVehicle(i) != 0)
{
Fuell[vehicleid] -= 0.0070;
}
}
TextDrawSetString(FuelShow[i],str4);
TextDrawSetString(HealthShow[i],str3);
TextDrawSetString(SpeedShow[i],str1);
TextDrawSetString(ModelShow[i],str6);
TextDrawSetString(StatusShow[i],str2);
TextDrawSetString(EngineShow[i],str5);
}
else
{
carmoto[i] = 0;
}
}
}
