Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

AMX backtrace (крашит сервер)

Статус
В этой теме нельзя размещать новые ответы.

Fettel

Новичок
Вообщем после запуска сервера, через небольшой промежуток времени в server-log выскакивают данные строки:

Код:
[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
Сначала на сервер это не влияет, но потом, автоматически удаляется server-log и пропадает вся регистрация на сервере..
Как я понял из 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;
		}
    }
}
Кому не лень, помогите разобраться из за чего вся беда идет ??
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу