Pomoc

Započeo Belii
pre 2 godine
970
pregleda
28
postova
milanstevicc
Hustler
pre 2 godine
Problem(error/warning): Pravio sam da igrac moze promeniti boju td-ova sve radi ali ne sacuvava iako sam uradio cuvanje i u scriptfile se postavi boja koja je odabrana
Deo skripte:

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
[23:58:56] Run time error 4: "Array index out of bounds"
[23:58:56]   Attempted to read/write array element at index 34 in array of size 34
[23:58:56] AMX backtrace:
[23:58:56] #0 008c2220 in KreirajInGameTD (playerid=0) at C:\Users\PC\Desktop\main project\gamemodes\main-script.pwn:14657
[23:58:56] #1 009e54c0 in public OPBA_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\main project\gamemodes\main-script.pwn:29913
[23:58:56] #2 000953e8 in public ASC_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\AirbreakTeleport.inc:1051
[23:58:56] #3 0008d578 in public AB_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\SpeedCheats.inc:98
[23:58:56] #4 0008b0b8 in public EVF_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\ACAirBreak.inc:107
[23:58:56] #5 00078f80 in public MP_OPC (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\EVF.inc:3030
[23:58:56] #6 native CallLocalFunction () from start-server.exe
[23:58:56] #7 00057e74 in public Iter_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\mSelection.inc:432
[23:58:56] #8 native CallLocalFunction () from start-server.exe
[23:58:56] #9 00041578 in ?? (... <1 argument>) at C:\Users\PC\Desktop\Brzi Pawno\include\foreach.inc:589
[23:58:56] #10 00033378 in public SSCANF_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\YSI\y_hooks/impl.inc:633
[23:58:56] #11 000251ac in public WC_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\sscanf2.inc:205
[23:58:56] #12 000082fc in public OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\weapon-config.inc:2151
ovo mi izbacuje u server log
Slika/video ingame problema(obavezno ako je ingame problem): link slike
stevich
Kingpin
pre 2 godine
posalji kod
milanstevicc
Hustler
pre 2 godine
Problem je u tome sto ne znam gde je greska u kodu posto compiler ne izbacuje nista
ali ono sto pise u logu mozda i je i do ovoga
    new boja;
    if(PlayerInfo == 0) boja = 7393535;
    else if(PlayerInfo == 1) boja = -16776961;
    else if(PlayerInfo == 2) boja = -109248001;
    else if(PlayerInfo == 3) boja = 1497559807;
    else if(PlayerInfo == 4) boja = -2038833409;
    else if(PlayerInfo == 5) boja = -96479745;
    else if(PlayerInfo == 6) boja = -522241;
    else if(PlayerInfo == 7) boja = 1824152831;
    else if(PlayerInfo == 8) boja = 210177279;
    else if(PlayerInfo == 9) boja = 16711935;
    else if(PlayerInfo == 10) boja = 481532671;
    else if(PlayerInfo == 11) boja = 478516735;
    else if(PlayerInfo == 12) boja = 176909823;
    else boja = 8454143;
Mergevos
Shot Caller
pre 2 godine
Pošalji nam celu funkciju KreirajInGameTD
Mergevos
Shot Caller
pre 2 godine
Array index out of bounds.
Attempted to read/write array element at index 34 in array of size 34.
milanstevicc
Hustler
pre 2 godine
Mergevos wrote on April 18, 2023, 2:04 pm:
Array index out of bounds.
Attempted to read/write array element at index 34 in array of size 34.
    if(dialogid == D_TDBOJE)
    {
        if(!response) return 1;
        switch(listitem)
        {
            case 0:
            {
                PlayerInfo = 1; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 1:
            {
                PlayerInfo = 2; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 2:
            {
                PlayerInfo = 3; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 3:
            {
                PlayerInfo = 4; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 4:
            {
                PlayerInfo = 5; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 5:
            {
                PlayerInfo = 6; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 6:
            {
                PlayerInfo = 7; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 7:
            {
                PlayerInfo = 8; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 8:
            {
                PlayerInfo = 9; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 9:
            {
                PlayerInfo = 10; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 10:
            {
                PlayerInfo = 11; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 11:
            {
                PlayerInfo = 12; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 12:
            {
                PlayerInfo = 0; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
        }
    }
ovo je dialog

a ovamo su samo te boje i textdraw ingame
Mrvica
Crime Lord
pre 2 godine
probaj da operes kod mozda je do toga
       
Mergevos
Shot Caller
pre 2 godine
Belii wrote on April 18, 2023, 2:34 pm:
    if(dialogid == D_TDBOJE)
    {
        if(!response) return 1;
        switch(listitem)
        {
            case 0:
            {
                PlayerInfo = 1; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 1:
            {
                PlayerInfo = 2; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 2:
            {
                PlayerInfo = 3; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 3:
            {
                PlayerInfo = 4; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 4:
            {
                PlayerInfo = 5; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 5:
            {
                PlayerInfo = 6; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 6:
            {
                PlayerInfo = 7; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 7:
            {
                PlayerInfo = 8; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 8:
            {
                PlayerInfo = 9; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 9:
            {
                PlayerInfo = 10; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 10:
            {
                PlayerInfo = 11; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 11:
            {
                PlayerInfo = 12; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 12:
            {
                PlayerInfo = 0; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
        }
    }
ovo je dialog

a ovamo su samo te boje i textdraw ingame


Nisi me razumeo. Treba mi KreirajInGameTD funkcija. Cela, sa naslovom do zadnje }
milanstevicc
Hustler
pre 2 godine
stock KreirajInGameTD(playerid)
{
//-------------------------------------------------------------------------------------------------------------ingametd
    new boja;
    if(PlayerInfo == 0) boja = 7393535;
    else if(PlayerInfo == 1) boja = -16776961;
    else if(PlayerInfo == 2) boja = -109248001;
    else if(PlayerInfo == 3) boja = 1497559807;
    else if(PlayerInfo == 4) boja = -2038833409;
    else if(PlayerInfo == 5) boja = -96479745;
    else if(PlayerInfo == 6) boja = -522241;
    else if(PlayerInfo == 7) boja = 1824152831;
    else if(PlayerInfo == 8) boja = 210177279;
    else if(PlayerInfo == 9) boja = 16711935;
    else if(PlayerInfo == 10) boja = 481532671;
    else if(PlayerInfo == 11) boja = 478516735;
    else if(PlayerInfo == 12) boja = 176909823;
    else boja = 8454143;

    ispod su tdovi
    nema potrebe da saljem i njih
}


inace ove errore u server logu sam resio
samo je problem sto ne cuva boju
Mergevos
Shot Caller
pre 2 godine
Zapravo ima potrebe da mi šalješ i tdove. I pošalji kako si deklarisao varijablu za jste.
milanstevicc
Hustler
pre 2 godine
Mergevos wrote on April 18, 2023, 3:56 pm:
Zapravo ima potrebe da mi šalješ i tdove. I pošalji kako si deklarisao varijablu za jste.
new PlayerText:InGame_TD;
el ovo

i svaki td kome zelim da promenim boju je ovako
PlayerTextDrawColor(playerid, InGame_TD, boja);
Mergevos
Shot Caller
pre 2 godine
Belii wrote on April 18, 2023, 4:10 pm:
new PlayerText:InGame_TD;
el ovo

i svaki td kome zelim da promenim boju je ovako
PlayerTextDrawColor(playerid, InGame_TD, boja);


E bravo. Vidiš. Error ti sve govori.

Array index out of bounds.
Attempted to read/write array element at index 34 in array of size 34.

Pokušavaš da pristupiš na 34 index a sam array ti je veličine 34. Moraš da znaš da array kreće od 0. A ovo je samo broj ukupan broj slotova. Znaci od 0-33 imaš 34 slota, ali od 0-34 imas 35. Kontaš?

new array;

array = 3; // valja.
array = 4; // ne valja


Znači ti u ovom slucaju pristupaš elementu nekom na 34om indexu. Jednostavno stavi ovako

new PlayerText: InGame_TD;


Ili proveri od kojeg ti indexa počinje kreiranje tih textdrawowa. Ako je od 1 prebaci da kreće od 0 i svaki naredni smanji za 1. A ako pocinje od 0, samo popravi ovako gore.
stevich
Kingpin
pre 2 godine
ne objasnjavas mu njemu se ne cuvaju boje
milanstevicc
Hustler
pre 2 godine
popravio sam ja to sve ali se meni ne cuva boja td-a koju igrac odabere
Mergevos
Shot Caller
pre 2 godine
Onda nam daj kod gde čuvaš boje.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava