Debug

Započeo Quay_Alvarez
12. Sep. 2024.
961
pregleda
12
postova
Quay_Alvarez
2
Street Runner
12. Sep. 2024.
Problem(error/warning): Imam problem evo dodah preko 300 vozila, i svaki id preko 300 izbacuje mi ovu gresku kad igrac hoce da udje u njega

#0 000df518 in ?? (1, 317, 0, 1, 0, 0, 12, 1, 317, 0, ... <1073741813 arguments>) from dmd.amx
#1 00037e18 in public OnPlayerEnterVehicle (1, 317, 0) from dmd.amx
Run time error 4: "Array index out of bounds"
AMX backtrace:

Na vrh skripte dodah
#undef MAX_VEHICLES
#define MAX_VEHICLES 1000
opet isto
Deo skripte:
Vaš odgovor
ivanboskic1
9
Underboss
🔥62
13. Sep. 2024.
Pošalji dio koda sa callbackom OnPlayerEnterVehicle

Ja sam Ivo Dev, bager koji razgrće sve oko skripti – poznat i kao Zbager

osman2578
7
Underboss
🔥4
13. Sep. 2024.
Greška "Run time error 4: Array index out of bounds" u Pawno znači da tvoj kod pokušava pristupiti indeksu niza (arraya) koji je izvan njegovih granica, odnosno da pokušavaš pristupiti elementu niza koji ne postoji.
Quay_Alvarez
2
Street Runner
13. Sep. 2024.
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(IgracUlogovan == 0)
    {
        SendClientMessage(playerid, COLOR_LIGHTRED, "Kikovani ste, server zahteva da se prijavite pre nego sto se spawnate.");
        KickEx(playerid,15);
        return 1;
    }
    TickCountAirBreak = GetTickCount()+1000;
    if(!ispassenger) TrollVeh = vehicleid;
    if(NosiWarShip == true && (VoziloJeBicikla(GetVehicleModel(vehicleid)) || VoziloJeBrod(GetVehicleModel(vehicleid)) || VoziloJeMotor(GetVehicleModel(vehicleid)) || VoziloJeAvion(GetVehicleModel(vehicleid)) || VoziloJeKamion(GetVehicleModel(vehicleid))))
    {
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        SafeSetPlayerPos(playerid, x, y, z);
        SendClientMessage(playerid, COLOR_GREY, "Sa paketom mozete uci samo u auto.");
        TrollVeh = INVALID_VEHICLE_ID;
        return 0;
    }
    if(!ispassenger && UzeoSvercPaket == true && ZapocetSverc == true)
    {
        UzeoSvercPaket = false;
        if(IsPlayerAttachedObjectSlotUsed(playerid, SLOT_SHIPMENT))
        {
            RemovePlayerAttachedObject(playerid, SLOT_SHIPMENT);
        }
        va_SendClientMessage(playerid, COLOR_WHITE, "Ispala ti je kutija.");
    }
    if(ShipmentPlayerData == true && VoziloJeAvion(GetVehicleModel(vehicleid)))
    {
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        SafeSetPlayerPos(playerid, x, y, z);
        SendClientMessage(playerid, COLOR_GREY, "Dok nosite shipment ne mozete uci u avion/helihopter.");
        TrollVeh = INVALID_VEHICLE_ID;
        return 0;
    }
    if(KoristiBandage == 1)
    {
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        SafeSetPlayerPos(playerid, x, y, z);
        ApplyAnimation(playerid, "BOMBER", "BOM_Plant_Loop", 4.0, 1, 0, 0, 0, 0, 1);
        TrollVeh = INVALID_VEHICLE_ID;
        return 0;
    }
    if(KoristiDrogu == 1)
    {
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        SafeSetPlayerPos(playerid, x, y, z);
        ApplyAnimation( playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0, 1);
        TrollVeh = INVALID_VEHICLE_ID;
        return 0;
    }
    new Float:Poz;
    GetPlayerPos(playerid, Poz, Poz, Poz);
    if(NosiVoce == true || DrziVoce == true)
    {
        if(IsPlayerAttachedObjectSlotUsed(playerid, SLOT_VOCE))
        {
            RemovePlayerAttachedObject(playerid, SLOT_VOCE);
        }
        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        SafeSetPlayerPos(playerid, x, y, z);
        SendClientMessage(playerid, COLOR_WHITE, "Bacili ste voce, jer ste usli u vozilo.");
        ApplyAnimation(playerid, "CARRY", "null", 0.0, 0, 0, 0, 0, 0);
        NosiVoce = false;
        VocarCP =
        PorukaVocar = 0;
        TrollVeh =INVALID_VEHICLE_ID;
        return 0;
    }
    if(!ispassenger)
    {
        if(ViljuskaristaVozilo(vehicleid))
        {
            new driver = GetVehicleDriverID(vehicleid);
            if(driver != -1)
            {
                if(PI == 8)
                {
                    SendClientMessage(playerid, COLOR_GREY, "Ne mozete krasti vozilo dok neko radi posao!");
                    SafeSetPlayerPos(playerid, Poz, Poz, Poz);
                }
            }
        }
        if(BankarVozila(vehicleid))
        {
            new driver = GetVehicleDriverID(vehicleid);
            if(driver != -1)
            {
                if(PI == 4)
                {
                    SendClientMessage(playerid, COLOR_GREY, "Ne mozete krasti vozilo dok neko radi posao!");
                    SafeSetPlayerPos(playerid, Poz, Poz, Poz);
                }
            }
        }
        if(FarmerVozila(vehicleid))
        {
            new driver = GetVehicleDriverID(vehicleid);
            if(driver != -1)
            {
                if(PI == 5)
                {
                    SendClientMessage(playerid, COLOR_GREY, "Ne mozete krasti vozilo dok neko radi posao!");
                    SafeSetPlayerPos(playerid, Poz, Poz, Poz);
                }
            }
        }
        if(BusVozacVozila(vehicleid))
        {
            new driver = GetVehicleDriverID(vehicleid);
            if(driver != -1)
            {
                if(PI == 3)
                {
                    SendClientMessage(playerid, COLOR_GREY, "Ne mozete krasti vozilo dok neko radi posao!");
                    SafeSetPlayerPos(playerid, Poz, Poz, Poz);
                }
            }
        }
    }
    if(!ispassenger)
    {
        if(AdminAuta(vehicleid))
        {
            if(PI == 0 && PI == 0)
            {
                SafeSetPlayerPos(playerid, Poz, Poz, Poz);
                SendClientMessage(playerid, COLOR_GREY, "Ne mozete uci u ovo vozilo (Admin/Gm vozilo)");
            }
        }
    }
    if(PI != 0)
    {
        SafeSetPlayerPos(playerid, Poz, Poz, Poz);
        SendClientMessage(playerid, COLOR_GREY, "Ne mozete uci u ovo vozilo dok ste u zatvoru.");
    }
    return 1;
}
Quay_Alvarez
2
Street Runner
13. Sep. 2024.
K ROSE wrote on September 13, 2024, 7:30 am:
Greška "Run time error 4: Array index out of bounds" u Pawno znači da tvoj kod pokušava pristupiti indeksu niza (arraya) koji je izvan njegovih granica, odnosno da pokušavaš pristupiti elementu niza koji ne postoji.

Znam al nije mi jasno samo preko id 300
Emo
7
Kingpin
🔥59
13. Sep. 2024.
#undef MAX_VEHICLES
#define MAX_VEHICLES 1000

Ovo pokusaj dodat ispod includea, mozda imas neki koji limitira na 300

graph designer

Quay_Alvarez
2
Street Runner
13. Sep. 2024.
Vec imam ispod includova

https://prnt.sc/4oHdc0UFhil0
Emo
7
Kingpin
🔥59
13. Sep. 2024.
Imas li kakvu filterscriptu?

graph designer

Quay_Alvarez
2
Street Runner
13. Sep. 2024.
Ne koristim filter skripte, samo evo sta od plugina imam

plugins pawnraknet crashdetect sscanf streamer mapandreas mysql SKY timerfix 
ivanboskic1
9
Underboss
🔥62
13. Sep. 2024.
Quay_Alvarez wrote on September 13, 2024, 9:04 am:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(IgracUlogovan == 0)
    {
        SendClientMessage(playerid, COLOR_LIGHTRED, "Kikovani ste, server zahteva da se prijavite pre nego sto se spawnate.");
        KickEx(playerid,15);
        return 1;
    }
    TickCountAirBreak = GetTickCount()+1000;
    if(!ispassenger) TrollVeh = vehicleid;
    if(NosiWarShip == true && (VoziloJeBicikla(GetVehicleModel(vehicleid)) || VoziloJeBrod(GetVehicleModel(vehicleid)) || VoziloJeMotor(GetVehicleModel(vehicleid)) || VoziloJeAvion(GetVehicleModel(vehicleid)) || VoziloJeKamion(GetVehicleModel(vehicleid))))
    {
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        SafeSetPlayerPos(playerid, x, y, z);
        SendClientMessage(playerid, COLOR_GREY, "Sa paketom mozete uci samo u auto.");
        TrollVeh = INVALID_VEHICLE_ID;
        return 0;
    }
    if(!ispassenger && UzeoSvercPaket == true && ZapocetSverc == true)
    {
        UzeoSvercPaket = false;
        if(IsPlayerAttachedObjectSlotUsed(playerid, SLOT_SHIPMENT))
        {
            RemovePlayerAttachedObject(playerid, SLOT_SHIPMENT);
        }
        va_SendClientMessage(playerid, COLOR_WHITE, "Ispala ti je kutija.");
    }
    if(ShipmentPlayerData == true && VoziloJeAvion(GetVehicleModel(vehicleid)))
    {
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        SafeSetPlayerPos(playerid, x, y, z);
        SendClientMessage(playerid, COLOR_GREY, "Dok nosite shipment ne mozete uci u avion/helihopter.");
        TrollVeh = INVALID_VEHICLE_ID;
        return 0;
    }
    if(KoristiBandage == 1)
    {
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        SafeSetPlayerPos(playerid, x, y, z);
        ApplyAnimation(playerid, "BOMBER", "BOM_Plant_Loop", 4.0, 1, 0, 0, 0, 0, 1);
        TrollVeh = INVALID_VEHICLE_ID;
        return 0;
    }
    if(KoristiDrogu == 1)
    {
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        SafeSetPlayerPos(playerid, x, y, z);
        ApplyAnimation( playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0, 1);
        TrollVeh = INVALID_VEHICLE_ID;
        return 0;
    }
    new Float:Poz;
    GetPlayerPos(playerid, Poz, Poz, Poz);
    if(NosiVoce == true || DrziVoce == true)
    {
        if(IsPlayerAttachedObjectSlotUsed(playerid, SLOT_VOCE))
        {
            RemovePlayerAttachedObject(playerid, SLOT_VOCE);
        }
        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        SafeSetPlayerPos(playerid, x, y, z);
        SendClientMessage(playerid, COLOR_WHITE, "Bacili ste voce, jer ste usli u vozilo.");
        ApplyAnimation(playerid, "CARRY", "null", 0.0, 0, 0, 0, 0, 0);
        NosiVoce = false;
        VocarCP =
        PorukaVocar = 0;
        TrollVeh =INVALID_VEHICLE_ID;
        return 0;
    }
    if(!ispassenger)
    {
        if(ViljuskaristaVozilo(vehicleid))
        {
            new driver = GetVehicleDriverID(vehicleid);
            if(driver != -1)
            {
                if(PI == 8)
                {
                    SendClientMessage(playerid, COLOR_GREY, "Ne mozete krasti vozilo dok neko radi posao!");
                    SafeSetPlayerPos(playerid, Poz, Poz, Poz);
                }
            }
        }
        if(BankarVozila(vehicleid))
        {
            new driver = GetVehicleDriverID(vehicleid);
            if(driver != -1)
            {
                if(PI == 4)
                {
                    SendClientMessage(playerid, COLOR_GREY, "Ne mozete krasti vozilo dok neko radi posao!");
                    SafeSetPlayerPos(playerid, Poz, Poz, Poz);
                }
            }
        }
        if(FarmerVozila(vehicleid))
        {
            new driver = GetVehicleDriverID(vehicleid);
            if(driver != -1)
            {
                if(PI == 5)
                {
                    SendClientMessage(playerid, COLOR_GREY, "Ne mozete krasti vozilo dok neko radi posao!");
                    SafeSetPlayerPos(playerid, Poz, Poz, Poz);
                }
            }
        }
        if(BusVozacVozila(vehicleid))
        {
            new driver = GetVehicleDriverID(vehicleid);
            if(driver != -1)
            {
                if(PI == 3)
                {
                    SendClientMessage(playerid, COLOR_GREY, "Ne mozete krasti vozilo dok neko radi posao!");
                    SafeSetPlayerPos(playerid, Poz, Poz, Poz);
                }
            }
        }
    }
    if(!ispassenger)
    {
        if(AdminAuta(vehicleid))
        {
            if(PI == 0 && PI == 0)
            {
                SafeSetPlayerPos(playerid, Poz, Poz, Poz);
                SendClientMessage(playerid, COLOR_GREY, "Ne mozete uci u ovo vozilo (Admin/Gm vozilo)");
            }
        }
    }
    if(PI != 0)
    {
        SafeSetPlayerPos(playerid, Poz, Poz, Poz);
        SendClientMessage(playerid, COLOR_GREY, "Ne mozete uci u ovo vozilo dok ste u zatvoru.");
    }
    return 1;
}

Po ovome teško je reći, ajde još server.log daj

Ja sam Ivo Dev, bager koji razgrće sve oko skripti – poznat i kao Zbager

Emo
7
Kingpin
🔥59
13. Sep. 2024.
Probaj izbaciti sve iz onplayerentervehicle, ako je ne izbacuje nista, do njega je. I onda vracaj 1 po 1 dok ne izbaci ponovo i baziraj se na to

graph designer

neshallon
5
Kingpin
13. Sep. 2024.
Koja logika je da stavis undefined max vehicle da bi posle definisao nesto sto je po defaultu definisao.

Ovo ne mora da znaci da je OnPlayerEnterVehicle, moze biti bilo gde. Da li su u pitanju staticna ili dinamicna vozila, da li imas dinamicno vozilo preko ID 300 ? Da li, da li ? Moras dati sve potrebne informacije.

Napravi listu stvari, obrazlozi sve.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha