Szerző Téma: [TUT]Dialog listitem lekérése tömbbõl  (Megtekintve 2207 alkalommal)

Nem elérhető Zharko

  • 1955
  • Future House <3
    • Profil megtekintése
[TUT]Dialog listitem lekérése tömbbõl
« Dátum: 2012. Augusztus 08. - 11:35:03 »
0 Show voters

new
dList[4][] = //--Deklaráljuk a listát két dimenziós tömbben
{
\"Krumpli\",
\"Dió \" ,
\"Polc\",
\"Futni\"
},
dText[768], //--Majd a megformázandó karakterláncot
       
;
public OnGameModeInit()
{
        for(new i; i < sizeof dList; ++i) //--Egy ciklust lefuttatunk, ami összehegeszti a \'dText\' változóba a \'dList\' dolgait
{
strcat(dText, dList);
strcat(dText, \"\\n\");
}
        //--Meg is tudjuk számolni, hány listitemünk van eddig:
printf(\"Listitemek: %d darab\", sizeof dList);
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 10000 && response) //--Megvizsgáljuk a dialog ID-jét, és hogy van-e rá válasz (0,1)
{
                if(0 <= listitem < sizeof dList) //--Ha nagyobb vagy egyenlõ nullával, de kisebb mint a \'dList\' darabszáma
        {
                        static bufu[128]; //--Deklarálás, ez lesz majd a formázandó karakterlánc
   if(!listitem)
   {
      format(bufu, sizeof bufu , \"[iNFO] Kiválasztott sor: %s\", dList[listitem]); //--Formázás
   }
   else
      {
      format(bufu, sizeof bufu , \"[iNFO] Kiválasztott sor: %s\", dList[listitem]); //--Megint formázás
       }
                        SendClientMessage(playerid, 0xFFFFFFFF, bufu); //--Kiíratjuk a \'bufu\' karakterláncot
                }
        }
        return 1;
}

 
Ez meg majd kell egy parancshoz:
 
ShowPlayerDialog(playerid, 10000, 2, \"Válassz!\", dText, \"Mehet!\", \"\");

 
Reményeim szerint mindent leírtam érthetõen, ha van egyszerûbb megoldás, szívesen várom HSZ-ben, és kiegészítem! :)
UP: Nincs tesztelve
« Utoljára szerkesztve: 2012. Augusztus 08. - 13:52:09 írta Zharko »

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[TUT]Dialog listitem lekérése tömbbõl
« Válasz #1 Dátum: 2012. Augusztus 08. - 12:00:15 »
0 Show voters
Ha nem DIALOG_STYLE_INPUTTEXT, ami jelenleg nem, akkor:
 
printf(\"Kiválasztott sor: %s\", inputtext);

 
:P
Már csak azt nem értem, mi a sz*rnak ez a feltétel a response alá:
 
if(!listitem)

Nem elérhető Zharko

  • 1955
  • Future House <3
    • Profil megtekintése
[TUT]Dialog listitem lekérése tömbbõl
« Válasz #2 Dátum: 2012. Augusztus 08. - 12:06:04 »
0 Show voters
Idézetet írta: kurta999 date=1344420015\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25740\" data-ipsquote-contentclass=\"forums_Topic
Ha nem DIALOG_STYLE_INPUTTEXT, ami jelenleg nem, akkor:
 
printf(\"Kiválasztott sor: %s\", inputtext);

 
:P
 
Nem úgy akartad írni hogy: \"Ha DIALOG_STYLE_INPUTTEXT, ami jelenleg nem, akkor:\" :D Mert így értelmetlennek tûnik a mondat xD Vagy bocs, lehet félreértelmeztem :)
 

Már csak azt nem értem, mi a sz*rnak ez a feltétel a response alá:
 
if(!listitem)

 

[/quote]
Jogos a felvetés, nem is tudom, olyan módba írtam bele, amihez kellett, hogy megkülönböztesse a 0-t és az eltérõ értékû listitemet.
« Utoljára szerkesztve: 2012. Augusztus 08. - 12:07:39 írta Zharko »

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
[TUT]Dialog listitem lekérése tömbbõl
« Válasz #3 Dátum: 2012. Augusztus 08. - 12:08:22 »
0 Show voters
az inputtext akkoris érvénybe lép ha listás dialogba rámegy valamelyikre.. sõtt még azt hiszem hogy a DIALOG_STYLE_MSGBOX-nál a buttom-nál is elõhívható..

Nem elérhető Zharko

  • 1955
  • Future House <3
    • Profil megtekintése
[TUT]Dialog listitem lekérése tömbbõl
« Válasz #4 Dátum: 2012. Augusztus 08. - 12:11:10 »
0 Show voters
Idézetet írta: Pedro date=1344420502\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25740\" data-ipsquote-contentclass=\"forums_Topic
az inputtext akkoris érvénybe lép ha listás dialogba rámegy valamelyikre.. sõtt még azt hiszem hogy a DIALOG_STYLE_MSGBOX-nál a buttom-nál is elõhívható..
 
Ezt nem tudtam eddig :O

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
[TUT]Dialog listitem lekérése tömbbõl
« Válasz #5 Dátum: 2012. Augusztus 08. - 13:24:59 »
0 Show voters
Csak én vettem észre:
 
sizeof(KalandLista);

 
?

Nem elérhető Zharko

  • 1955
  • Future House <3
    • Profil megtekintése
[TUT]Dialog listitem lekérése tömbbõl
« Válasz #6 Dátum: 2012. Augusztus 08. - 13:51:29 »
0 Show voters
Idézetet írta: DrAkE date=1344425099\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25740\" data-ipsquote-contentclass=\"forums_Topic
Csak én vettem észre:
 
sizeof(KalandLista);

 
?
 
Szorri, átírom
Up: Mondtam hogy régebbi szkriptembe kellett :3
Up2: Átírva

Nem elérhető tonyo

  • 1335
  • Moderális Generátor
    • Profil megtekintése
[TUT]Dialog listitem lekérése tömbbõl
« Válasz #7 Dátum: 2012. Augusztus 08. - 15:18:19 »
0 Show voters
Pazarlunk a sztringekkel  :(
Egyébként jó :D Bár én sosem szoktam így, sajna ritkán dolgozom mostanság olyan dialoggal, aminek a tartalma \"statikus\".

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
[TUT]Dialog listitem lekérése tömbbõl
« Válasz #8 Dátum: 2012. Augusztus 08. - 18:34:43 »
0 Show voters
Amúgy itt még használhatnád a csomagolt stringeket, és MINDEKÉPP ilyet konstansként hozz létre, mert ebbõl a tömbõl jelenleg csak olvasol. (Bár inputtextes megoldás egyszerûbb, de nem mindig mindenhol megy az úgy)
http://forum.sa-mp.com/showthread.php?t=216730
^ Legalja.

Nem elérhető Zharko

  • 1955
  • Future House <3
    • Profil megtekintése
[TUT]Dialog listitem lekérése tömbbõl
« Válasz #9 Dátum: 2012. Augusztus 08. - 21:59:47 »
0 Show voters
Majd ha gépen leszek sasolom. ;) Köszi amúgy. Ja és bocs hogy itt kérdezem, de a \'?\' operáror(?) mit csinál, hol használjuk?
Up: átnéztem, már vágesz :P
« Utoljára szerkesztve: 2012. Augusztus 08. - 22:02:27 írta Zharko »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal