Szerző Téma: Nem ad értéket a változónak  (Megtekintve 1239 alkalommal)

Nem ad értéket a változónak
« Dátum: 2016. december 05. - 21:27:32 »
0 Show voters
Csáó!
Jelenleg egy telefonos rendszert írok, eddig minden jól ment, viszont most amikor felveszi a player a telefont, akkor a változó értéke nem változik meg 1-re. Én nem látok benne hibát (és a fordító se), viszont mégse ad neki értéket.
Kód:
   if(dialogid == 73){    if(!response) return cmd_me(playerid,\"leteszi a telefont\");    new id = HivottID[playerid];    InPhone[playerid] = 1; //Itt kellene megváltoznia 1-re    InPhone[id] = 1;    Me(playerid,\"felveszi a telefont\");    SendClientMessage(id,blue,\"[PRPG - Mobil] \"hexfeher\"Felvették a telefont!\");    format(PhoneDialog[playerid],100,\"Beszélgetés kezdete: %s\\n\",GetDateTime());    format(PhoneDialog[id],100,\"Beszélgetés kezdete: %s\\n\",GetDateTime());    new cim1[64], cim2[64];    format(cim1,64,\"\"kek2\"Csatlakozva hozzá: %s\",pinfo[playerid][Phone]);    format(cim2,64,\"\"kek2\"Csatlakozva hozzá: %s\",pinfo[id][Phone]);    ShowPlayerDialog(playerid,74,DIALOG_STYLE_MSGBOX,cim2,PhoneDialog[playerid],\"Válasz\",\"Kilép\");    ShowPlayerDialog(id,74,DIALOG_STYLE_MSGBOX,cim1,PhoneDialog[id],\"Válasz\",\"Kilép\");}
« Utoljára szerkesztve: 2016. december 05. - 22:18:27 írta HungaryUndead »

Nem ad értéket a változónak
« Válasz #1 Dátum: 2016. december 05. - 22:38:54 »
0 Show voters
Írj debugokat, a változókra. Például amivel baj van minden változó állításnál kiírod a playernek a változó értékét. Pl.:
wtf[playerid] = 1;
format(string, sizeof(string), \"DEBUG: wtf[playerid] = %d\", wtf[playerid]);
SCM(..);
De hogy még most is mennyien foglalkoztok ezzel a bullshit pawn nyelvel. Annyira problémás az egész. Mondjuk én azért ábrándultam ki belőle mert sok helyen megvan kötve a kezed tök feleslegesen.
« Utoljára szerkesztve: 2016. december 05. - 22:41:43 írta Memphis »

Nem ad értéket a változónak
« Válasz #2 Dátum: 2016. december 07. - 18:07:01 »
0 Show voters
Csináltam ilyet, és miután lefutott a kód, a változónak nem volt értéke (még 0 sem) :D

Nem elérhető divkn

  • 3259
    • Profil megtekintése
Nem ad értéket a változónak
« Válasz #3 Dátum: 2016. december 07. - 18:56:57 »
0 Show voters
Második próbálkozás...
Attól függ hogy milyen leírót adsz meg egy változó értékének kiírásához. Karakter (%c) és/vagy karakterlánc (%s) leíró esetén a konzol vagy üzenőfal nem fog kiírni semmit, viszont a %d/%i leírónak már ki kéne írnia a változó értékét egész számban, kivéve ha nincs piszkálva a format/printf funkciók paraméterei vagy a PAWN operátorok, amit erősen kétlek.
Esetleg győződj meg arról hogy a tömb mérete megfelelő-e játékosok számára, viszont erről konzol értesít is téged hogy a tömb átlépte az indexszám határt, ezért azt a folyamatot átugorja, vagy változtasd meg a tömb nevét valami másra vagy egészítsd ki, hátha nem ütközik egy más deklarációba.

Nem ad értéket a változónak
« Válasz #4 Dátum: 2016. december 11. - 22:50:18 »
0 Show voters
Megváltoztattam a változó nevét, probáltam bool, string és intiger típusú változóként is, de nem. Arra viszont rájöttem, hogy a dialoggal van valami probléma, mivel paranccsal meg tudom változtatni, csak az OnDialogResponse callback alatt nem máködik.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal