Hello!
Egy olyan dialog dolgot, hogy lehet meg csinálni egyszerûen, hoogy
- Csinálok neki például egy..
new SkinID[3] ={
2, 3, 6
};
new SkinNeve[][] = {
\"Fehér, halász sapka\",
\"Lila zakó\",
\"Zöld kabát\"
};
ilyet. Szóval ruha vételt hozok fel tippnek.
És ezeket szeretném dialogban megjeleníteni.
Viszont, ha adnék hozzájuk úgy nevet meg skin ID-t akkor azok is látszódjanak.
Dialogban meg érthetõen az látszódik, hogy
Fehér, halász sapka - ID: 2
Lila zakó - ID: 3
Zöld kabát - ID: 6
Szerintem ezerszer egyszerûbb a te tárolóid nélkül... Miért? Mert így is úgy is ha új ruhákat raksz be, bele kell piszkálnod a dialogba, és a parancsba is. Megírtam gyorsan:
#define DIALOG_RUHABOLT 1000 // Állítsd be az ID-jét
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, \"/ruhavásárlás\"))
{
ShowPlayerDialog(playerid, DIALOG_RUHABOLT, DIALOG_STYLE_LIST, \"Ruhaboltk\", \"Fehér, halász sapka - ID 2\\nLila zakó - ID 3\\nZöld kabát - ID 6\", \"Megveszem\", \"Mégsem\");
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_RUHABOLT)
{
if(response)
{
if(listitem == 0)
{
SendClientMessage(playerid, COLOR_GREEN, \"Vettél egy Ruhát!\");
SetPlayerSkin(playerid, 2;
}
if(listitem == 1)
{
SendClientMessage(playerid, COLOR_GREEN, \"Vettél egy Ruhát!\");
SetPlayerSkin(playerid, 3);
}
if(listitem == 2)
{
SendClientMessage(playerid, COLOR_GREEN, \"Vettél egy Ruhát!\");
SetPlayerSkin(playerid, 6);
}
}
}
}