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