artem14
Умник
Вообщем сделал паблик для обновление спеда , но почему то очень сильно ругаеться и флудить крашдедект в сервер лог
вот сам паблик
Помогите исправить чтоб не было это ошибки
PHP:
[00:08:03] [debug] Run time error 4: "Array index out of bounds"
[00:08:03] [debug] Accessing element at index 1752 past array upper bound 1099
[00:08:03] [debug] AMX backtrace:
[00:08:03] [debug] #0 0039667c in public UpdateSpeedometr () from new2.amx
PHP:
namespace UpdateSpeedometr()
{
foreach(Player,playerid)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new vehicleid,str[24],str1[24],str2[24],str3[24],str4[24];
vehicleid = GetPlayerVehicleID(playerid);
new crrrings = GetRealID(vehicleid);
if(crrrings == -1)
{
format(str2, sizeof(str2), "Speed: ~b~~h~ %d KM.", GetVehicleSpeed(vehicleid));
}
else
{
format(str2, sizeof(str2), "Speed: ~b~~h~%d KM.", GetVehicleSpeed(GetRealID(vehicleid)));
}
PlayerTextDrawSetString(playerid, Speedo[0][playerid], str2);
if(VehicleInfo[vehicleid][pEngineStatus] == 0)
{
format(str3, sizeof(str3), "~r~E", SpeedOnly(vehicleid));
PlayerTextDrawSetString(playerid, Speedo[5][playerid], str3);
}
else
{
format(str3, sizeof(str3), "~b~E", SpeedOnly(vehicleid));
PlayerTextDrawSetString(playerid, Speedo[5][playerid], str3);
}
if(VehicleInfo[vehicleid][pLightsStatus] == 0)
{
format(str4, sizeof(str4), "~r~L", SpeedOnly(vehicleid));
PlayerTextDrawSetString(playerid, Speedo[6][playerid], str4);
}
else
{
format(str4, sizeof(str4),"~b~L", SpeedOnly(vehicleid));
PlayerTextDrawSetString(playerid, Speedo[6][playerid], str4);
}
if(CarInfo[vehicleid][cLock] == 1)
{
format(str, sizeof(str), "~r~D", SpeedOnly(vehicleid));
PlayerTextDrawSetString(playerid, Speedo[7][playerid], str);
}
else
{
format(str, sizeof(str), "~g~D", SpeedOnly(vehicleid));
PlayerTextDrawSetString(playerid, Speedo[7][playerid], str);
}
if(Gas[vehicleid])
{
if(crrrings == -1)format(str1, sizeof(str1), "Fuel:~g~~h~%d", Gas[vehicleid]);
else format(str1, sizeof(str1), "Fuel:~g~~h~%d", Gas[GetRealID(vehicleid)]);
}
else
{
format(str1, sizeof(str1), "Fuel: no");
VehicleInfo[vehicleid][pEngineStatus] = 0;
SetVehicleParamsEx(vehicleid,false,lights,alarm,doors,bonnet,boot,objective);
}
PlayerTextDrawSetString(playerid, Speedo[1][playerid], str1);
if(VehInfo[vehicleid][vRightBlink] == 1|| VehInfo[vehicleid][vLeftBlink] == 1||VehInfo[vehicleid][vAvariyBlink] == 1){
PlayerPlaySound(playerid,1139, 0.0, 0.0, 0.0);
if(VehInfo[vehicleid][vMigpovorot] == 0)
{
VehInfo[vehicleid][vMigpovorot] = 1;
if(VehInfo[vehicleid][vRightBlink] == 1){PlayerTextDrawSetString(playerid,Speedo[4][playerid],"~y~ LD_BEAT:right");PlayerTextDrawSetString(playerid,Speedo[3][playerid],"~w~ LD_BEAT:left");}
else if(VehInfo[vehicleid][vLeftBlink] == 1){PlayerTextDrawSetString(playerid,Speedo[3][playerid],"~y~ LD_BEAT:left");PlayerTextDrawSetString(playerid,Speedo[4][playerid],"~w~ LD_BEAT:right");}
else if(VehInfo[vehicleid][vAvariyBlink] == 1){PlayerTextDrawSetString(playerid,Speedo[3][playerid],"~y~ LD_BEAT:left");PlayerTextDrawSetString(playerid,Speedo[4][playerid],"~y~ >");}
}
else{PlayerTextDrawSetString(playerid,Speedo[3][playerid],"~w~ LD_BEAT:left");PlayerTextDrawSetString(playerid,Speedo[4][playerid],"~w~ LD_BEAT:right");VehInfo[vehicleid][vMigpovorot] = 0;}
}
else{PlayerTextDrawSetString(playerid,Speedo[3][playerid],"~w~ LD_BEAT:left");PlayerTextDrawSetString(playerid,Speedo[4][playerid],"~w~ LD_BEAT:right");VehInfo[vehicleid][vMigpovorot] = 0;}
new string[128];
new Float:sp = SpeedOnly(vehicleid);
new Float:ms;
ms = (sp/1.4)/2000;
new crrring = GetRealID(vehicleid);
if(crrring == -1)
{
CarInfo[vehicleid][cProbeg] += ms;
format(string,sizeof(string),"Probeg: %.1f KM",CarInfo[vehicleid][cProbeg]);
}
else
{
CarInfo[GetRealID(vehicleid)][cProbeg] += ms;
format(string,sizeof(string),"Probeg: %.1f KM",CarInfo[GetRealID(vehicleid)][cProbeg]);
}
PlayerTextDrawSetString(playerid,Speedo[2][playerid],string);
}
}
return true;
}
