Pomoc

Započeo Belii, April 18, 2023, 14:20:10 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 2 gostiju pregledaju ovu temu.

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: [pawn][/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [pawn][23:58:56] [debug] Run time error 4: "Array index out of bounds"
[23:58:56] [debug]  Attempted to read/write array element at index 34 in array of size 34
[23:58:56] [debug] AMX backtrace:
[23:58:56] [debug] #0 008c2220 in KreirajInGameTD (playerid=0) at C:\Users\PC\Desktop\main project\gamemodes\main-script.pwn:14657
[23:58:56] [debug] #1 009e54c0 in public OPBA_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\main project\gamemodes\main-script.pwn:29913
[23:58:56] [debug] #2 000953e8 in public ASC_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\AirbreakTeleport.inc:1051
[23:58:56] [debug] #3 0008d578 in public AB_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\SpeedCheats.inc:98
[23:58:56] [debug] #4 0008b0b8 in public EVF_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\ACAirBreak.inc:107
[23:58:56] [debug] #5 00078f80 in public MP_OPC (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\EVF.inc:3030
[23:58:56] [debug] #6 native CallLocalFunction () from start-server.exe
[23:58:56] [debug] #7 00057e74 in public Iter_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\mSelection.inc:432
[23:58:56] [debug] #8 native CallLocalFunction () from start-server.exe
[23:58:56] [debug] #9 00041578 in ?? (... <1 argument>) at C:\Users\PC\Desktop\Brzi Pawno\include\foreach.inc:589
[23:58:56] [debug] #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] [debug] #11 000251ac in public WC_OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\sscanf2.inc:205
[23:58:56] [debug] #12 000082fc in public OnPlayerConnect (playerid=0) at C:\Users\PC\Desktop\Brzi Pawno\include\weapon-config.inc:2151[/pawn]ovo mi izbacuje u server log
Slika/video ingame problema(obavezno ako je ingame problem): link slike

posalji kod
Sunce greje lagano šetam se po Voždovcu
Moja kučka i ja, furam je na povodcu
Zove se Lola i nije nešto lepa
Ali meni daće lapo kada dokopa se repa
Rođena na ulici, dolazi iz geta
I zato je gangsta kučka, a ne starleta
Zahvaljujući njoj meni dignuta je đoka
Krov je spušten, vožnjica od bloka do bloka
I ako glumiš mangupa jebaće ti mamicu
U tašni nema lak za nokte, ali ima palicu
Odrasla na Medaku, iz huda je sestra
Nijedna Snoopova kučka nije tol'ko gangsta
Za nju sam 'Pac, ona moja je Madonna
Ako znaš još neku takvu javi mi preko fona
I kada njesra izbije ona ne vata pištolja
Već nabada na prvu jer je gangsta drolja

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
[pawn]    new boja;
    if(PlayerInfo[playerid][xTDBoja] == 0) boja = 7393535;
    else if(PlayerInfo[playerid][xTDBoja] == 1) boja = -16776961;
    else if(PlayerInfo[playerid][xTDBoja] == 2) boja = -109248001;
    else if(PlayerInfo[playerid][xTDBoja] == 3) boja = 1497559807;
    else if(PlayerInfo[playerid][xTDBoja] == 4) boja = -2038833409;
    else if(PlayerInfo[playerid][xTDBoja] == 5) boja = -96479745;
    else if(PlayerInfo[playerid][xTDBoja] == 6) boja = -522241;
    else if(PlayerInfo[playerid][xTDBoja] == 7) boja = 1824152831;
    else if(PlayerInfo[playerid][xTDBoja] == 8) boja = 210177279;
    else if(PlayerInfo[playerid][xTDBoja] == 9) boja = 16711935;
    else if(PlayerInfo[playerid][xTDBoja] == 10) boja = 481532671;
    else if(PlayerInfo[playerid][xTDBoja] == 11) boja = 478516735;
    else if(PlayerInfo[playerid][xTDBoja] == 12) boja = 176909823;
    else boja = 8454143;[/pawn]

Pošalji nam celu funkciju KreirajInGameTD
- open.mp regional coordinator -

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

- open.mp regional coordinator -

Citat: Mergevos poslato April 18, 2023, 16:04:50 POSLE PODNE
Array index out of bounds.
Attempted to read/write array element at index 34 in array of size 34.
[pawn]    if(dialogid == D_TDBOJE)
    {
        if(!response) return 1;
        switch(listitem)
        {
            case 0:
            {
                PlayerInfo[playerid][xTDBoja] = 1; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 1:
            {
                PlayerInfo[playerid][xTDBoja] = 2; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 2:
            {
                PlayerInfo[playerid][xTDBoja] = 3; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 3:
            {
                PlayerInfo[playerid][xTDBoja] = 4; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 4:
            {
                PlayerInfo[playerid][xTDBoja] = 5; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 5:
            {
                PlayerInfo[playerid][xTDBoja] = 6; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 6:
            {
                PlayerInfo[playerid][xTDBoja] = 7; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 7:
            {
                PlayerInfo[playerid][xTDBoja] = 8; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 8:
            {
                PlayerInfo[playerid][xTDBoja] = 9; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 9:
            {
                PlayerInfo[playerid][xTDBoja] = 10; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 10:
            {
                PlayerInfo[playerid][xTDBoja] = 11; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 11:
            {
                PlayerInfo[playerid][xTDBoja] = 12; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 12:
            {
                PlayerInfo[playerid][xTDBoja] = 0; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
        }
    }[/pawn]ovo je dialog

a ovamo su samo te boje i textdraw ingame

probaj da operes kod mozda je do toga
       

Citat: Belii poslato April 18, 2023, 16:34:03 POSLE PODNE
[pawn]    if(dialogid == D_TDBOJE)
    {
        if(!response) return 1;
        switch(listitem)
        {
            case 0:
            {
                PlayerInfo[playerid][xTDBoja] = 1; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 1:
            {
                PlayerInfo[playerid][xTDBoja] = 2; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 2:
            {
                PlayerInfo[playerid][xTDBoja] = 3; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 3:
            {
                PlayerInfo[playerid][xTDBoja] = 4; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 4:
            {
                PlayerInfo[playerid][xTDBoja] = 5; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 5:
            {
                PlayerInfo[playerid][xTDBoja] = 6; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 6:
            {
                PlayerInfo[playerid][xTDBoja] = 7; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 7:
            {
                PlayerInfo[playerid][xTDBoja] = 8; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 8:
            {
                PlayerInfo[playerid][xTDBoja] = 9; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 9:
            {
                PlayerInfo[playerid][xTDBoja] = 10; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 10:
            {
                PlayerInfo[playerid][xTDBoja] = 11; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 11:
            {
                PlayerInfo[playerid][xTDBoja] = 12; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
            case 12:
            {
                PlayerInfo[playerid][xTDBoja] = 0; SavePlayer(playerid);
                UnistiInGameTD(playerid); KreirajInGameTD(playerid); PrikaziInGameTD(playerid);
            }
        }
    }[/pawn]ovo je dialog

a ovamo su samo te boje i textdraw ingame

Nisi me razumeo. Treba mi KreirajInGameTD funkcija. Cela, sa naslovom do zadnje }
- open.mp regional coordinator -

[pawn]stock KreirajInGameTD(playerid)
{
//-------------------------------------------------------------------------------------------------------------ingametd
    new boja;
    if(PlayerInfo[playerid][xTDBoja] == 0) boja = 7393535;
    else if(PlayerInfo[playerid][xTDBoja] == 1) boja = -16776961;
    else if(PlayerInfo[playerid][xTDBoja] == 2) boja = -109248001;
    else if(PlayerInfo[playerid][xTDBoja] == 3) boja = 1497559807;
    else if(PlayerInfo[playerid][xTDBoja] == 4) boja = -2038833409;
    else if(PlayerInfo[playerid][xTDBoja] == 5) boja = -96479745;
    else if(PlayerInfo[playerid][xTDBoja] == 6) boja = -522241;
    else if(PlayerInfo[playerid][xTDBoja] == 7) boja = 1824152831;
    else if(PlayerInfo[playerid][xTDBoja] == 8) boja = 210177279;
    else if(PlayerInfo[playerid][xTDBoja] == 9) boja = 16711935;
    else if(PlayerInfo[playerid][xTDBoja] == 10) boja = 481532671;
    else if(PlayerInfo[playerid][xTDBoja] == 11) boja = 478516735;
    else if(PlayerInfo[playerid][xTDBoja] == 12) boja = 176909823;
    else boja = 8454143;

    ispod su tdovi
    nema potrebe da saljem i njih
}[/pawn]

inace ove errore u server logu sam resio
samo je problem sto ne cuva boju

Zapravo ima potrebe da mi šalješ i tdove. I pošalji kako si deklarisao varijablu za jste.
- open.mp regional coordinator -

Citat: Mergevos poslato April 18, 2023, 17:56:35 POSLE PODNE
Zapravo ima potrebe da mi šalješ i tdove. I pošalji kako si deklarisao varijablu za jste.
[pawn]new PlayerText:InGame_TD[MAX_PLAYERS][34];[/pawn]el ovo

i svaki td kome zelim da promenim boju je ovako[pawn]PlayerTextDrawColor(playerid, InGame_TD[playerid][0], boja);[/pawn]

Citat: Belii poslato April 18, 2023, 18:10:40 POSLE PODNE
[pawn]new PlayerText:InGame_TD[MAX_PLAYERS][34];[/pawn]el ovo

i svaki td kome zelim da promenim boju je ovako[pawn]PlayerTextDrawColor(playerid, InGame_TD[playerid][0], boja);[/pawn]

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[5];

array[0] = 3; // valja.
array[5] = 4; // ne valja


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


new PlayerText: InGame_TD[MAX_PLAYERS][35];


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.
- open.mp regional coordinator -

ne objasnjavas mu njemu se ne cuvaju boje
Poslednja Izmena: April 18, 2023, 18:49:12 POSLE PODNE od undefined
Sunce greje lagano šetam se po Voždovcu
Moja kučka i ja, furam je na povodcu
Zove se Lola i nije nešto lepa
Ali meni daće lapo kada dokopa se repa
Rođena na ulici, dolazi iz geta
I zato je gangsta kučka, a ne starleta
Zahvaljujući njoj meni dignuta je đoka
Krov je spušten, vožnjica od bloka do bloka
I ako glumiš mangupa jebaće ti mamicu
U tašni nema lak za nokte, ali ima palicu
Odrasla na Medaku, iz huda je sestra
Nijedna Snoopova kučka nije tol'ko gangsta
Za nju sam 'Pac, ona moja je Madonna
Ako znaš još neku takvu javi mi preko fona
I kada njesra izbije ona ne vata pištolja
Već nabada na prvu jer je gangsta drolja

popravio sam ja to sve ali se meni ne cuva boja td-a koju igrac odabere

Onda nam daj kod gde čuvaš boje.
- open.mp regional coordinator -