12.12.2013, 13:47
(
Последний раз редактировалось xyzcod2; 12.12.2013 в 14:30.
)
i set crashdetect and when i start mod and enter in the vehicle i get this in server log:
onplayerstatechange:
whats wrong here?
Код:
[15:38:09] [debug] Run time error 4: "Array index out of bounds" [15:38:09] [debug] Accessing element at index 92 past array upper bound 31 [15:38:09] [debug] AMX backtrace: [15:38:09] [debug] #0 0003c3ec in public RL_OnPlayerStateChange (0x00000000, 0x00000002, 0x00000001) from MLRP.amx [15:38:09] [debug] #1 native CallLocalFunction () [00471ef0] from samp-server.exe [15:38:09] [debug] #2 0001979c in ?? (0x00000000, 0x00000002, 0x00000001) from MLRP.amx [15:38:09] [debug] #3 000063dc in public OnPlayerStateChange (0x00000000, 0x00000002, 0x00000001) from MLRP.amx
Код:
public OnPlayerStateChange(playerid, newstate, oldstate) { new newcar = GetPlayerVehicleID(playerid); /* ============================================================================================================================================================================================= */ /* ====SALON BICIKLA==== */ if(newstate == PLAYER_STATE_DRIVER) { if(BicikloProdaja(newcar)) { TogglePlayerControllable(playerid, 0); } } /* ============================================================================================================================================================================================= */ /* ====RENT==== */ if(newstate == PLAYER_STATE_DRIVER) { if(RentBikes(newcar)) { if(Iznajmljivanje[playerid] != newcar) { SendClientMessage(playerid,COLOR_RLYLIGHTGREEN,"Iznajmite biciklo koristeci {FFFFFF}/rentcar. {9ACD32}Izadji sa bicikle koristeci {FFFFFF}/exit."); GameTextForPlayer(playerid,"~g~Cijena: $25", 3000, 1); TogglePlayerControllable(playerid, 0); } } } if(newstate == PLAYER_STATE_DRIVER) { if(RentMotors(newcar)) { if(Iznajmljivanje[playerid] != newcar) { SendClientMessage(playerid,COLOR_RLYLIGHTGREEN,"Iznajmite motor koristeci {FFFFFF}/rentcar. {9ACD32}Izadji sa motora koristeci {FFFFFF}/exit."); GameTextForPlayer(playerid,"~g~Cijena: $50", 3000, 1); TogglePlayerControllable(playerid, 0); } } } if(newstate == PLAYER_STATE_DRIVER) { if(RentCars(newcar)) { if(Iznajmljivanje[playerid] != newcar) { SendClientMessage(playerid,COLOR_RLYLIGHTGREEN,"Iznajmite vozilo koristeci {FFFFFF}/rentcar. {9ACD32}Izadji iz vozila koristeci {FFFFFF}/exit."); GameTextForPlayer(playerid,"~g~Cijena: $100", 3000, 1); TogglePlayerControllable(playerid, 0); } } } /* ============================================================================================================================================================================================= */ /* ====[ ORGANIZACIJE ]==== */ if(newstate == PLAYER_STATE_DRIVER) { for(new i=0; i<sizeof(LspdVozila); i++) { if(GetPlayerVehicleID(playerid)==LspdVozila[i]) { new iVehicleID = GetPlayerVehicleID(playerid); if(IsAPoliceCar(iVehicleID) && (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)) { } else { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid, COLOR_GREY, "(Izbacen!) Nemate kljuceve ovog vozila!"); } } } } if(newstate == PLAYER_STATE_DRIVER) { for(new i=0; i<sizeof(FbiVozila); i++) { if(GetPlayerVehicleID(playerid)==FbiVozila[i]) { new iVehicleID = GetPlayerVehicleID(playerid); if(IsAFbiVozilo(iVehicleID) && (PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)) { } else { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid, COLOR_GREY, "(Izbacen!) Nemate kljuceve ovog vozila!"); } } } } if(newstate == PLAYER_STATE_DRIVER) { for(new i=0; i<sizeof(LsbVozila); i++) { if(GetPlayerVehicleID(playerid)==LsbVozila[i]) { new iVehicleID = GetPlayerVehicleID(playerid); if(IsALsbCar(iVehicleID) && (PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)) { } else { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid, COLOR_GREY, "(Izbacen!) Nemate kljuceve ovog vozila!"); } } } } if(newstate == PLAYER_STATE_DRIVER) { for(new i=0; i<sizeof(kosilica); i++) { if(GetPlayerVehicleID(playerid)==kosilica[i]) { new iVehicleID = GetPlayerVehicleID(playerid); if(VoziloKosaca(iVehicleID) && (PlayerInfo[playerid][pPosao] == POSAO_KOSAC)) { } else { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid, COLOR_GREY, "(Izbacen!) Nisi zaposlen kao kosac trave!"); } } } } if(newstate == PLAYER_STATE_DRIVER) { if(!VoziloJeMotor(GetVehicleModel(GetPlayerVehicleID(playerid))) && !VoziloJeAvion(GetVehicleModel(GetPlayerVehicleID(playerid))) && !VoziloJeBrod(GetVehicleModel(GetPlayerVehicleID(playerid))) && !VoziloJeKamion(GetVehicleModel(GetPlayerVehicleID(playerid))) && !VoziloJeBicikla(GetVehicleModel(GetPlayerVehicleID(playerid)))) { if(PlayerInfo[playerid][pVozacka] <= 0) { SendClientMessage(playerid, COLOR_LIGHTRED, "(Upozorenje!) {FFFFFF}Nemas vozacku dozvolu, pazi da te policija ne uhvati!"); } } } if(newstate == PLAYER_STATE_DRIVER) { new string[75],Float:Pos[3]; GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]); if(strcmp(KucaVlasnik[GetPlayerVehicleID(playerid)], GetName(playerid), false) == 0) { } else { format(string,sizeof(string), "Kucno vozilo zakljucano! {FFFF00}Vlasnik: %s", KucaVlasnik[GetPlayerVehicleID(playerid)]); SendClientMessage(playerid, COLOR_RED, string); SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]); } } new vehicleid = GetPlayerVehicleID(playerid); if(newstate == PLAYER_STATE_DRIVER) { if(vehEngine[vehicleid] == 0) { TogglePlayerControllable(playerid, 0); GameTextForPlayer(playerid, "~w~Za paljenje motora~n~pritisnite tipku broj 2~n~ili kucajte /engine", 2000, 3); } else if(vehEngine[vehicleid] == 1) { TogglePlayerControllable(playerid, 1); } } return 1; }