Opis problema: ovo mi je crash detector izbacio u server.log-u
[20:06:17] Run time error 4: "Array index out of bounds"
[20:06:17] Accessing element at negative index -400
[20:06:17] AMX backtrace:
[20:06:17] #0 001b0cec in public FIXES_OnPlayerUpdate () from SSRP.amx
[20:06:17] #1 0001a89c in ?? () from SSRP.amx
[20:06:17] #2 00009b70 in public OnPlayerUpdate () from SSRP.amxDio skripte: evo vam onplayerupdate
///////////////////////////////////////////////////////////////////////////
public OnPlayerUpdate(playerid)
{
/////////////////////////////////////////////////////////////////////////////////////
if(GetSpeed(playerid) > 290)
{
if(!VoziloJeAvion(GetPlayerVehicleID(playerid)))
{
new string;
SCM(playerid,-1," "CRVENA"Admini su obavesteni o koristenju speed hacka!"); TogglePlayerControllable(playerid, false);
format(string, sizeof(string), " "ZELENA"Igrac %s je moguce da koristi speed hack!",GetName(playerid));
AdminGameMaster(-1, string);
return 1;
}
}
////////////////////////////////////////////////////////////////////////////////////
new Float:Health; GetPlayerHealth(playerid, Health);
if(Health > HeltiIgraca)
{
SetPlayerHealth(playerid, HeltiIgraca);
return 1;
}
////////////////////////////////////////////////////////////////////////////////////
new Float:Armour; GetPlayerArmour(playerid, Armour);
if(Armour > 99.0)
{
SCM(playerid,-1," "CRVENA"Kikovani ste zbog armour hacka!");
Kick(playerid);
return 1;
}
////////////////////////////////////////////////////////////////////////////////////
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK && PlayerInfo < 5)
{
SCM(playerid,-1," "CRVENA"Kikovani ste zbog jetpack hacka!");
Kick(playerid);
return 1;
}
////////////////////////////////////////////////////////////////////////////////////
//CheckWeapons(playerid);
///////////////////////////////////////////////////////////////////////////////////
if(KupovinaAuta == true)
{
new string;
new Keys, ud, lr;
GetPlayerKeys(playerid, Keys, ud, lr);
if(lr > 0)
{
AutoModel++;
if(AutoModel > PRODAJA_AUTA-1) { AutoModel = 0; }
DestroyVehicle(IzlozbenoAuto);
IzlozbenoAuto = CreateVehicle(AutoSalon, AIZLOZBENO_X,AIZLOZBENO_Y,AIZLOZBENO_Z,AIZLOZBENO_A, 1, 1, 30000);
format(string,sizeof(string),"%s",ImenaVozila[GetVehicleModel(IzlozbenoAuto) - 400]);
PlayerTextDrawSetString(playerid,TDProdajaVozila,string);
format(string,sizeof(string),"Cijena: ~g~%d$",AutoSalon);
PlayerTextDrawSetString(playerid,TDProdajaVozila,string);
}
else if(lr < 0)
{
AutoModel--;
if(AutoModel < 0) { AutoModel = PRODAJA_AUTA-1; }
DestroyVehicle(IzlozbenoAuto);
IzlozbenoAuto = CreateVehicle(AutoSalon, AIZLOZBENO_X,AIZLOZBENO_Y,AIZLOZBENO_Z,AIZLOZBENO_A, 1, 1, 30000);
format(string,sizeof(string),"%s",ImenaVozila[GetVehicleModel(IzlozbenoAuto) - 400]);
PlayerTextDrawSetString(playerid,TDProdajaVozila,string);
format(string,sizeof(string),"Cijena: ~g~%d$",AutoSalon);
PlayerTextDrawSetString(playerid,TDProdajaVozila,string);
}
else if(Keys & KEY_SECONDARY_ATTACK)
{
if(PlayerInfo != -1) return SCM(playerid,-1," "CRVENA"Vec posedujes auto!");
if(PlayerInfo < AutoSalon) return SCM(playerid,-1," "CRVENA"Nemate dovoljno novca!");
for(new i = 0; i < sizeof(VoziloInfo); i++)
{
new Fajl;
format(Fajl, sizeof(Fajl), AUTO_FILE, i);
if(!fexist(Fajl))
{
new poz = random(sizeof(RandomAutoSpawn));
g_NovacMinus(playerid,AutoSalon);
PlayerInfo = i;
VoziloInfo = AutoSalon;
VoziloInfo = RandomAutoSpawn;
VoziloInfo = RandomAutoSpawn;
VoziloInfo = RandomAutoSpawn;
VoziloInfo = RandomAutoSpawn;
VoziloInfo = 0;
VoziloInfo = 0;
VoziloInfo = 1;
VoziloInfo = 1;
VoziloInfo = 0;
VoziloInfo = 0;
VoziloInfo = -1;
VoziloInfo = 0;
VoziloInfo = 0;
strmid(VoziloInfo, GetName(playerid), 0, strlen(GetName(playerid)), 999);
TogglePlayerControllable(playerid, 1);
VoziloInfo = CreateVehicle(AutoSalon, VoziloInfo,VoziloInfo,VoziloInfo,VoziloInfo, VoziloInfo, VoziloInfo, 30000);
KupovinaAuta = false; autokatalog = 0;
UkloniVozilaTD(playerid); SetCameraBehindPlayer(playerid);
SacuvajVozilo(i); SavePlayer(playerid); StatusMotora(playerid, 1);
SetPlayerCheckpoint(playerid, VoziloInfo,VoziloInfo,VoziloInfo, 5.0);
PosaoGPS = 1; Fuel[GetPlayerVehicleID(playerid)] = 45;
SCM(playerid,-1,"AC | "ZUTA"Uspjesno ste kupili auto!");
SCM(playerid,-1,"AC | "ZUTA"Autom mozete upravljati komandom /v!");
SCM(playerid,-1,"AC | "ZUTA"Lokacija vaseg auta je oznacena crveno na mapi!");
SCM(playerid,-1,"AC | "ZUTA"Ako ne parkirate svoje vozilo negdje drugo, u roku 24h ce vam biti prodato!");
break;
}
}
}
else if (Keys & KEY_JUMP)
{
TogglePlayerControllable(playerid, 1);
SCM(playerid, -1, " "CRVENA"Odustali ste od kupovine auta!");
KupovinaAuta = false; autokatalog = 0;
UkloniVozilaTD(playerid);
SetCameraBehindPlayer(playerid);
}
}
///////////////////////////////////////////////////////////////////////////////////
if(RadioAktiviran == 1 && !IsPlayerInAnyVehicle(playerid)) return RadioAktiviran = 0, StopAudioStreamForPlayer(playerid);
///////////////////////////////////////////////////////////////////////////////////
if(UsaoAutoProdaja != -1 && !IsPlayerInAnyVehicle(playerid)) return UsaoAutoProdaja = -1;
///////////////////////////////////////////////////////////////////////////////////
if(UsaoMotorProdaja != -1 && !IsPlayerInAnyVehicle(playerid)) return UsaoMotorProdaja = -1;
////////////////////////////////////////////////////////////////////////////////////
if(UsaoAvionProdaja != -1 && !IsPlayerInAnyVehicle(playerid)) return UsaoAvionProdaja = -1;
////////////////////////////////////////////////////////////////////////////////////
if(UsaoPloviloProdaja != -1 && !IsPlayerInAnyVehicle(playerid)) return UsaoPloviloProdaja = -1;
///////////////////////////////////////////////////////////////////////////////////
if(Poligon >= 1)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetSpeed(playerid) > 100)
{
Poligon = 0;
DisablePlayerCheckpoint(playerid);
RemovePlayerFromVehicle(playerid);
SCM(playerid,-1, ": "CRVENA"Pali ste na vozackom ispitu jer ste prekoracili briznu od 100kmh na gradskoj voznji!");
SetVehicleToRespawn(GetPlayerVehicleID(playerid));
}
}
}
///////////////////////////////////////////////////////////////////////////////////
if(IsPlayerInAnyVehicle(playerid))
{
if(!VoziloJeBicikla(GetVehicleModel(GetPlayerVehicleID(playerid))))
{
new sspeed;
new string;
new vozilo = GetPlayerVehicleID(playerid);
format(sspeed, sizeof(sspeed), "%d", GetSpeed(playerid));
PlayerTextDrawSetString(playerid, BRZINOMJER, sspeed);
new Float: Pos;
GetVehicleVelocity(GetPlayerVehicleID(playerid), Pos, Pos, Pos);
new keys, ud, lr;
GetPlayerKeys(playerid, keys, ud, lr);
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
format(string,sizeof(string),"%s", ImenaVozila[GetVehicleModel(vozilo)-400]);
PlayerTextDrawSetString(playerid, BRZINOMJER, string);
}
}
}
///////////////////////////////////////////////////////////////////////////////////
return 1;
}