ADIDAS_
Ученик
Всем привет.Вообщем поставил плагин crashdetect, и увидел ошибку, когда открываеш/закрываеш ворота по клавише выдаёт такую ошибку:
Некак не пойму как исправить.Вот паблик:
Помогите пожалуйста,кому не сложно 
PHP:
[20:00:20] [debug] Run time error 4: "Array index out of bounds"
[20:00:20] [debug] Accessing element at index 14 past array upper bound 13
[20:00:20] [debug] AMX backtrace:
[20:00:20] [debug] #0 0015a7dc in public OnPlayerKeyStateChange () from limix.amx
PHP:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
new string[255];
if(IsPlayerConnected(playerid))
{
new vid = GetPlayerVehicleID(playerid);
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(newkeys&KEY_ANALOG_LEFT)
{
new engine,lights,alarm,doors,bonnet,boot,objective;
if(BoatVeh(vid) || PlaneVeh(vid) || BikeVeh(vid))
{
return 1;
}
if(Gas[vid] > 0)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && EngineCar[vid] == 0)
{
if(Refueling[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "{F5DEB3}[Помощь]{FFFFFF}: Подождите пока закончиться заправка");
new Float:health;
GetVehicleHealth(vid, health);
if(health < 300)
{
if(PlayerInfo[playerid][pSex] == 1)
{
Action(playerid, "попытался завести двигатель (неудачно).");
}
else if(PlayerInfo[playerid][pSex] == 2)
{
Action(playerid, "попыталась завести двигатель (неудачно).");
}
SendClientMessage(playerid, COLOR_GREY, "Двигатель разбит, транспорт не заводится, вы можете вызвать механика (/service mechanic)");
return 1;
}
EngineCar[vid] = 1;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(LightCar[vid] == 1) { SetVehicleParamsEx(vid,1,1,alarm,doors,bonnet,boot,objective); }
else if(LightCar[vid] == 0) { SetVehicleParamsEx(vid,1,0,alarm,doors,bonnet,boot,objective); }
if(PlayerInfo[playerid][pSex] == 1)
{
format(string, sizeof(string), "завёл двигатель.");
}
else if(PlayerInfo[playerid][pSex] == 2)
{
format(string, sizeof(string), "завела двигатель.");
}
Action(playerid, string);
if(Gas[vid] <= 10)
{
PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
format(string, sizeof(string), "~y~Fuel:~w~%d", Gas[vid]);
}
else
{
format(string, sizeof(string), "~y~Fuel:~w~%d", Gas[vid]);
}
TimerGas[playerid] = SetTimerEx("CheckGas",MAX_CHECK_GAS,true,"i",playerid);
TextDrawShowForPlayer(playerid, FUEL[playerid]);
}
else if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && EngineCar[vid] == 1)
{
EngineCar[vid] = 0;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,0,0,alarm,doors,bonnet,boot,objective);
if(PlayerInfo[playerid][pSex] == 1)
{
format(string, sizeof(string), "заглушил двигатель.");
}
else if(PlayerInfo[playerid][pSex] == 2)
{
format(string, sizeof(string), "заглушила двигатель.");
}
Action(playerid, string);
TextDrawHideForPlayer(playerid, FUEL[playerid]);
TextDrawHideForPlayer(playerid, VHS[playerid]);
KillTimer(TimerGas[playerid]);
VHSCreated[playerid] = false;
}
}
else if(Gas[vid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "{F5DEB3}[Помощь]{FFFFFF} В автомобиле нет бензина.");
return 1;
}
return 1;
}
//------------------------------------------------------------------------------
if(newkeys == KEY_FIRE)
{
if(PlayerToPoint(40.0,playerid,-2033.2883,-97.0586,35.1641)||//Автошкола
PlayerToPoint(40.0,playerid,2635.9849,2340.4253,10.6719 ))
{
SendClientMessage(playerid, 0xFFFFFFAA, "{F5DEB3}< Внимание >: {F5DEB3}В этом месте драться запрещено.");
TogglePlayerControllable(playerid, false);
SetTimerEx("UnfreezePlayer", 5000, false, "i", playerid);
}
return 1;
}
//------------------------------------------------------------------------------
if(newkeys == 2)
{
OnPlayerCommandText(playerid,"/opengate");
}
if(newkeys == 1024)
{
OnPlayerCommandText(playerid,"/opengate");
}
if(newkeys == 2)
{
OnPlayerCommandText(playerid,"/kfc");
}
if(newkeys == 1024)
{
OnPlayerCommandText(playerid,"/kfc");
}
if(newkeys == 1024)
{
if(IsPlayerInRangeOfPoint(playerid,2.0,210.1433,-129.6538,1003.5152))
OnPlayerCommandText(playerid,"/odezhdals");
if(IsPlayerInRangeOfPoint(playerid,2.0,210.5603,-4.6740,1001.2109))
OnPlayerCommandText(playerid,"/odezhdasf");
if(IsPlayerInRangeOfPoint(playerid,2.0,167.4527,-92.3457,1001.8047))
OnPlayerCommandText(playerid,"/odezhdalv");
if(IsPlayerInRangeOfPoint(playerid,2.0,208.6143,-162.4974,1000.5234))
OnPlayerCommandText(playerid,"/odezhdadevls");
}
if(newkeys == 1024)
{
OnPlayerCommandText(playerid,"/enter");
OnPlayerCommandText(playerid,"/exit");
if(IsPlayerInRangeOfPoint(playerid,1.0,349.82131958008, -1490.6264648438, 35.941207885742)
|| IsPlayerInRangeOfPoint(playerid,1.0,-338.6393,1310.2911,51.9748)
|| IsPlayerInRangeOfPoint(playerid,1.0,1464.3440,-1749.2555,15.4453)
|| IsPlayerInRangeOfPoint(playerid,1.0,2173.5720,-1666.8235,15.0859)
|| IsPlayerInRangeOfPoint(playerid,1.0,-2650.2864,577.0932,14.6094)
|| IsPlayerInRangeOfPoint(playerid,1.0,558.8949,-1293.2034,17.2482)
|| IsPlayerInRangeOfPoint(playerid,1.0,1931.9969,1327.3584,9.2501)
|| IsPlayerInRangeOfPoint(playerid,1.0,1943.8210,2174.5723,10.8203)
|| IsPlayerInRangeOfPoint(playerid,1.0,-1571.3605,647.3433,7.1875)
|| IsPlayerInRangeOfPoint(playerid,1.0,-2029.1298828125, -101.7184753418, 35.066207885742)) {
OnPlayerCommandText(playerid,"/atm");
}
}
if (newkeys == 512 && IsPlayerInVehicle(playerid,GetPlayerVehicleID(playerid)) && !BikeVeh(vid))
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(lights){SetVehicleParamsEx(vid,engine,false,alarm,doors,bonnet,boot,objective);}
else if(!lights){SetVehicleParamsEx(vid,engine,true,alarm,doors,bonnet,boot,objective);}
}
if((newkeys == 2) && (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)) {
if(IsPlayerInVehicle(playerid,GetPlayerVehicleID(playerid)) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
for(new g; g <= MAX_GAS_STATION; g++) {
if(IsPlayerInRangeOfPoint(playerid,2.0,GasStations[g][0],GasStations[g][1],GasStations[g][2])) {
if(EngineCar[GetPlayerVehicleID(playerid)] == 0) {
ShowPlayerDialog(playerid,58,DIALOG_STYLE_LIST,"Заправка","10 литров\n25 литров\n50 литров\nПолный бак","Заправить","Отмена");
}
else return SendClientMessage(playerid, COLOR_GREY, "{F5DEB3}[Помощь]{FFFFFF} Сначало нужно заглушить двигатель. (Чтобы заглушить нажмите цифру NUM4)");
}
}
}
else return SendClientMessage(playerid,-1,"Инфо: Вы должны находиться в автомобиле (За рулем)!");
}
if(newkeys == 1024)
{
if(IsACop(playerid) && PlayerToPoint(5.0, playerid,246.4354095459, 72.455558776855, 1004.2604370117))
{
MoveObject(lspddoor,246.4354095459, 72.455558776855, 1006.5104370117, 3);
SetTimer("lspddoorclose", 3000, 0);
return 1;
}
}
if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING && gSpectateID[playerid] != INVALID_PLAYER_ID)
{
if(newkeys == KEY_JUMP)
{
AdvanceSpectate(playerid);
}
else if(newkeys == KEY_SPRINT)
{
ReverseSpectate(playerid);
}
}
}
return 1;
}
