Skripta koju koristim:0
Detaljan opis problema: Na localhostu imam ubaceni crashdetect istu verziju kao i na serveru. Na localhostu sve radi normalno i OnPlayerStateChange sve radi, izbacuje igraca ako nije clan te organizacije, a na serveru ne radi....
Dio skripte:
[pawn]
[19:32:08] [debug] Run time error 4: "Array index out of bounds"
[19:32:08] [debug] Accessing element at negative index -1
[19:32:08] [debug] AMX backtrace:
[19:32:08] [debug] #0 002c9a34 in ?? (1, 2, 1) from purp.amx
[19:32:08] [debug] #1 0000dbb8 in public OnPlayerStateChange (1, 2, 1) from purp.amx
[/pawn]
Ovo je cijeli OnPlayerStateChange jer stvarno nemogu vise, s tim se mucim vec tjedan dana i nemogu nista napraviti
[pawn]public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vozilo = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
Speedo(playerid, 1);
new Float:vhelti; Zastita[playerid] = 1;
GetVehicleHealth(vozilo, vhelti);
AutoHelti[playerid] = vhelti;
new idd = PI[playerid][pPosedovanjeAuta];
if(vozilo == VoziloInfo[idd][vSadasnjiID])
{
SetVehicleModifications(idd, vozilo);
}
///////////////////////////////////////////////////////////////////////////
if(vozilo >= vmotosalon[0] && vozilo <= vmotosalon[9])
{
RemovePlayerFromVehicle(playerid);
SCM(playerid,-1,""BIJELA"(PU) "CRVENA"Ne mozete uci u izlozbeno vozilo!");
}
if(vozilo == IzlozbenoAuto)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid,-1,""BIJELA"(PU) "CRVENA"Ne mozete uci u izlozbeno vozilo!");
}
if(AutoSalonVozila(vozilo))
{
RemovePlayerFromVehicle(playerid);
SCM(playerid,-1,""BIJELA"(PU) "CRVENA"Ne mozete uci u izlozbeno vozilo!");
}
if(PolicijskaAuta(vozilo))
{
if(PI[playerid][pClan] == 7)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""PLAVA"Znao sam da nemogu voziti vozilo svojih kolega!");
}
else if(PI[playerid][pClan] != 1 && PI[playerid][pClan] != 7)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""PLAVA"Ne mozete ukrasti vozilo Los Santos Police Department!");
PostaviWanted(playerid, "Pokusaj kradje Policijskog vozila", "Nepoznato");
}
}
if(FBIAuta(vozilo))
{
if(PI[playerid][pClan] == 1)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""PLAVA"Znao sam da nemogu voziti vozilo svojih kolega!");
}
else if(PI[playerid][pClan] != 7 && PI[playerid][pClan] != 1)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""PLAVA"Ne mozete ukrasti vozilo FBI-a!");
PostaviWanted(playerid, "Pokusaj kradje FBI vozila", "Nepoznato");
}
}
if(HitmanAuta(vozilo))
{
if(PI[playerid][pClan] != 8)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""SIVA"Ne mozete ukrasti vozilo Hitman Agencije!");
}
}
else if(BolnicarVozila(vozilo))
{
if(PI[playerid][pClan] != 9)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""SIVA"Ne mozete ukrasti vozilo Bolnicara!");
}
}
else if(TVFAuta(vozilo))
{
if(PI[playerid][pClan] != 2)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""CRVENA"Ne mozete ukrasti vozilo The Columbian Cartel!");
}
}
else if(GAuta(vozilo))
{
if(PI[playerid][pClan] != 11)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""SPLAVA"Nemozete ukrasti vozilo Gradonacelnika!");
}
}
else if(SFAuta(vozilo))
{
if(PI[playerid][pClan] != 10)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""SPLAVA"Nemozete ukrasti vozilo Underground Racers!");
}
}
else if(TBTVozila(vozilo))
{
if(PI[playerid][pClan] != 3)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""BIJELA"Nemozete ukrasti vozilo La Cosa Nostra!");
}
}
else if(GroveVozila(vozilo))
{
if(PI[playerid][pClan] != 4)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""ZELENA"Nemozete ukrasti vozilo Grove Street Family!");
}
}
else if(BallasVozila(vozilo))
{
if(PI[playerid][pClan] != 5)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""LJUB"Nemozete ukrasti vozilo Ballasa!");
}
}
else if(NovinariVozila(vozilo))
{
if(PI[playerid][pClan] != 6)
{
RemovePlayerFromVehicle(playerid);
SCM(playerid, -1, ""ZUTA"Nemozete ukrasti vozilo LS News!");
}
}
if(vozilo >= vkarting[0] && vozilo <= vkarting[6])
{
if(Zeton[playerid] == 0)
{
SCM(playerid,-1,""BIJELA"(PU) "CRVENA"Morate kupiti zeton!"); RemovePlayerFromVehicle(playerid);
return 1;
}
else if(Zeton[playerid] == 1)
{
SCM(playerid,-1,"(PU) "ZUTA"Srecno u voznji, zeton traje 4 minuta!");
zeton[playerid] = SetTimerEx("KartingZeton", 240000, false, "i", playerid);
}
}
if(vozilo >= askolavozila[0] && vozilo <= askolavozila[7])
{
if(Poligon[playerid] == 0)
{
SCM(playerid, -1, ""PPLAVA"[AS]: "ORANGE"Nemate uplaceno polaganje...");
RemovePlayerFromVehicle(playerid);
return 1;
}
if(Poligon[playerid] == 1)
{
SetPlayerCheckpoint(playerid, 1544.3151,-2243.0063,13.5469, 2.5);
SCM(playerid, -1, ""PPLAVA"[AS]: "BIJELA"Krenuli ste sa polaganjem pratite crvene markere!");
}
}
if(BiciklaRent(vozilo))
{
if (Rentano[playerid] != vozilo)
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid,"~w~Mozete rentati ovo biciklo ~b~/rent ~w~ili ~b~/izlaz~n~~w~Cena Renta: ~g~30$",5000,3);
}
}
if(MotoRent(vozilo))
{
if (Rentano[playerid] != vozilo)
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid,"~w~Mozete rentati ovaj motor ~b~/rent ~w~ili ~b~/izlaz~n~~w~Cena Renta: ~g~80$",5000,3);
}
}
if(AutaRent(vozilo))
{
if (Rentano[playerid] != vozilo)
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid,"~w~Mozete rentati ovo vozilo ~b~/rent ~w~ili ~b~/izlaz~n~~w~Cena Renta: ~g~120$",5000,3);
}
}
if(VoziloJeKamion(GetVehicleModel(GetPlayerVehicleID(playerid))))
{
if(PI[playerid][pKamionDozvola] <= 0)
{
SCM(playerid,-1,""ORANGE"(PU) "BIJELA"Nemate dozvolu za kamion, kupite je u auto skoli!");
}
}
if(VoziloJeAvion(GetVehicleModel(GetPlayerVehicleID(playerid))))
{
if(PI[playerid][pAvionDozvola] <= 0)
{
SCM(playerid,-1,""ORANGE"(PU) "BIJELA"Nemate dozvolu za letjelicu, kupite je u auto skoli!");
RemovePlayerFromVehicle(playerid);
}
}
if(VoziloJeBrod(GetVehicleModel(GetPlayerVehicleID(playerid))))
{
if(PI[playerid][pBrodDozvola] <= 0)
{
SCM(playerid,-1,""ORANGE"(PU) "BIJELA"Nemate dozvolu za plovilo, kupite je u auto skoli!");
RemovePlayerFromVehicle(playerid);
}
}
if(VoziloJeMotor(GetVehicleModel(GetPlayerVehicleID(playerid))))
{
if(PI[playerid][pMotorDozvola] <= 0)
{
SCM(playerid,-1,""ORANGE"(PU) "BIJELA"Nemate dozvolu za motor, kupite je u auto skoli!");
}
}
////////////////////////////////////////////////////////////////////////////////////////////
if(!VoziloJeBicikla(GetVehicleModel(GetPlayerVehicleID(playerid))) && !VoziloJeMotor(GetVehicleModel(GetPlayerVehicleID(playerid))))
{
if(PI[playerid][pADozvola] == 1) SCM(playerid, -1, ""CRVENA"| UPOZORENJE | {FF6347}Radi vlastite sigurnosti , trebate staviti pojas komandom /pojas !!");
if(PI[playerid][pADozvola] == 0) SCM(playerid, -1, ""CRVENA"| UPOZORENJE | {FF6347}Nemate vozacku dozvolu, pazite se policije !! Obavezno svezite pojas komandom /pojas !!");
}
if(VoziloJeBicikla(GetVehicleModel(GetPlayerVehicleID(playerid))))
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), 1, lights, alarm, doors, bonnet, boot, objective);
}
if(!VoziloJeBicikla(GetVehicleModel(GetPlayerVehicleID(playerid))))
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vozilo, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == -1 && !VoziloJeBicikla(GetVehicleModel(GetPlayerVehicleID(playerid))))
{
SetVehicleParamsEx(vozilo, 0, 0, alarm, doors, bonnet, boot, objective);
}
}
if(BusVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_BUSVOZAC)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao bus vozac!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/linija /prekiniposao");
}
if(KosenjeVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_KOSACTRAVE)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao kosac trave!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/kositravu /prekiniposao");
}
if(MehanicarVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_MEHANICAR)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao mehanicar!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"CTRL da zakacite/otkacite vozilo | /popravi | /napuni");
}
if(PostaVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_POSTAR)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao postar!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/posta /prekiniposao");
}
if(RudarVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_RUDAR)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao rudar!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""CRVENA"Komande posla: "BIJELA"/kopaj /poluge /prekiniposao");
}
if(KomunalnoVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_KOMUNALAC)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao komunalac!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/komunalno /prekiniposao");
}
if(GradjevinarVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_GRADJEVINAR)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao gradjevinar!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/malter /poravnaj /prekiniposao");
}
if(GrobarVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_GROBAR)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao grobar!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/grobar /oprema");
}
if(FarmerVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_FARMER)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao farmer!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/mleko /oranje /vrsenje");
}
if(vozilo == VozVozilo)
{
if(PI[playerid][pPosao] != POSAO_MASINOVODJA)
{
new Float:Poz[3];
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao masinovodja!");
GetPlayerPos(playerid, Poz[0], Poz[1], Poz[2]);
g_SetPlayerPos(playerid, Poz[0], Poz[1], Poz[2]+0.5);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/voz");
}
if(DostavljacVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_DOSTAVLJAC)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao dostavljac!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/uzmikutiju /utovari /istovari");
}
if(KamiondzijaVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_KAMIONDZIJA)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao kamiondzija!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/tura /oprema");
}
if(PilotVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_PILOT)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao pilot!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/let /oprema");
}
if(ElektricarVozila(vozilo))
{
if(PI[playerid][pPosao] != POSAO_ELEKTRICAR)
{
SCM(playerid, -1, ""ORANGE"(PU): "SIVA"Niste zaposleni kao elektricar!");
RemovePlayerFromVehicle(playerid);
}
else return SCM(playerid, -1, ""ORANGE"Komande posla: "BIJELA"/kvar /oprema");
}
}
else
{
Speedo(playerid,0);
}
///////////////////ANTI DEAGLE H////////////////////
if(newstate==PLAYER_STATE_PASSENGER)
{
if(GetPlayerWeapon(playerid) == 24)
{
SetPlayerArmedWeapon(playerid, 0);
}
new Float:vhelti; Zastita[playerid] = 1;
GetVehicleHealth(vozilo, vhelti);
AutoHelti[playerid] = vhelti;
}
///////////////////////////////////////////////////////
return 1;
}[/pawn]
Neke slike/video za lakse dobivanje pomoci(neobavezno)://
Mislim da je "new idd = PI[playerid][pPosedovanjeAuta];" tu problem jer nisi napravio proveru da li on ima vozilo i tu stoji -1 zato gore izbacuje crashdetect -1.
Citat: Mr. Letic poslato Februar 28, 2016, 19:38:41 POSLE PODNE
Mislim da je "new idd = PI[playerid][pPosedovanjeAuta];" tu problem jer nisi napravio proveru da li on ima vozilo i tu stoji -1 zato gore izbacuje crashdetect -1.
Probat cu ovo javim uskoro jel radi
Edit: Hvala ti, toliko sam dugo buljio u te kodove, ali provjeravao sam sve ispod, nisam uopce mislio da bi to izbacivalo error.... -.-