GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Leírások/Útmutatók => A témát indította: Zharko - 2012. augusztus 08. - 11:35:03

Cím: [TUT]Dialog listitem lekérése tömbbõl
Írta: Zharko - 2012. augusztus 08. - 11:35:03

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
Cím: [TUT]Dialog listitem lekérése tömbbõl
Írta: kurta999 - 2012. augusztus 08. - 12:00:15
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)
Cím: [TUT]Dialog listitem lekérése tömbbõl
Írta: Zharko - 2012. augusztus 08. - 12:06:04
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.
Cím: [TUT]Dialog listitem lekérése tömbbõl
Írta: Pedró - 2012. augusztus 08. - 12:08:22
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ó..
Cím: [TUT]Dialog listitem lekérése tömbbõl
Írta: Zharko - 2012. augusztus 08. - 12:11:10
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
Cím: [TUT]Dialog listitem lekérése tömbbõl
Írta: DrAkE - 2012. augusztus 08. - 13:24:59
Csak én vettem észre:
 
sizeof(KalandLista);

 
?
Cím: [TUT]Dialog listitem lekérése tömbbõl
Írta: Zharko - 2012. augusztus 08. - 13:51:29
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
Cím: [TUT]Dialog listitem lekérése tömbbõl
Írta: tonyo - 2012. augusztus 08. - 15:18:19
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\".
Cím: [TUT]Dialog listitem lekérése tömbbõl
Írta: kurta999 - 2012. augusztus 08. - 18:34:43
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.
Cím: [TUT]Dialog listitem lekérése tömbbõl
Írta: Zharko - 2012. augusztus 08. - 21:59:47
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