-
Sziasztok hogy lehet létrehozni pl 2 dialogot?
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_0)
{
if(response)
{
if(listitem == 0) //ha rákattintasz az 1. gombra mi történjen....
{
GivePlayerWeapon(playerid, 24, 50);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, 0x400000FF, \"Vettél egy Desert Eagle-t 5000$-ért.\");
}
if(listitem == 1) //ha rákattintasz az 2. gombra mi történjen....
{
GivePlayerWeapon(playerid, 25, 50);
GivePlayerMoney(playerid, -7500);
SendClientMessage(playerid, 0x400000FF, \"Vettél egy Shotgun-t 7500$-ért.\");
}
if(listitem == 2) //ha rákattintasz az 3. gombra mi történjen....
{
GivePlayerWeapon(playerid, 26, 50);
GivePlayerMoney(playerid, -4500);
SendClientMessage(playerid,0x4000000FF, \"Vettél egy Sawnoff Shotgun-t 4500$-ért.\");
}
if(listitem == 3) //ha rákattintasz az 4. gombra mi történjen....
{
GivePlayerWeapon(playerid, 29, 50);
GivePlayerMoney(playerid, -3000);
SendClientMessage(playerid,0x4000000FF, \"Vettél egy MP5-t 3000$-ért.\");
}
if(listitem == 4) //ha rákattintasz az 5. gombra mi történjen....
{
GivePlayerWeapon(playerid, 30, 50);
GivePlayerMoney(playerid, -12000);
SendClientMessage(playerid,0x4000000FF, \"Vettél egy AK47-t 12000$-ért.\"); //megjavítja a kocsit
}
if(listitem == 5) //ha rákattintasz az 6. gombra mi történjen....
{
GivePlayerWeapon(playerid, 31, 50);
GivePlayerMoney(playerid, -12000);
SendClientMessage(playerid,0x4000000FF, \"Vettél egy M4A1-t 12000$-ért.\");
}
if(listitem == 6)
{
GivePlayerWeapon(playerid, 34, 50);
GivePlayerMoney(playerid, -10000);
SendClientMessage(playerid,0x4000000FF, \"Vettél egy Sniper-t 10000$-ért.\");
}
}
}else{//ellentétben
SendClientMessage(playerid, 0x400000FF, \"Kiléptél a dialogból\");
}
}
Már van 1 a /weapon és hogylehet megoldani hogy /drink és ottis be hozzon egy dialog listet? :)
-
Szia.
definálsz egy dialog nevet az includok alá:
#define DIALOG_1 2342
DIALOG_1 - a dialog neve. (Ez lehet bármi)
2342 - a dialog id-je (Ez is lehet bármilyen szám csak minden dialognak más legyen az id-je)
Most pedig jelenítsük meg a dialog-ot a /drink parancs alá:
Ha zcmd-t használsz itt a kód:
CMD:drink(playerid)
{
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Italok\",\"Narancs kóla\\nCoca Cóla\\nWhiskey\\nBor\",\"Választ\",\"Mégsem\");
}
A dialog megjelenítésére a ShowPlayerDialog függvényt használjuk, most ha nem baj nem írnám le hogy a függvénybe mi mit jelent inkább adok egy linket itt mindent megtalálsz a függvényrõl: ShowPlayerDialog
Most az OnDialogResponse eljárás alá vegyük fel a dialogunkat.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
//A további sorokat teheted a DIALOG_0 alá.
if(dialogid == DIALOG_1) //Ha a dialog id-je: DIALOG_1(definálva)
{
if(response)//Ha a \"Választ\" gombra kattintasz:
{
if(listitem == 0) //ha a Narancs kólát választod akkor:
{
SendClientMessage(playerid, 0x400000FF, \"Egy Narancs Kólát vettél!\");
}
if(listitem == 1) //ha a Coca Colát választod akkor:
{
SendClientMessage(playerid, 0x400000FF, \"Egy Coca Colát vettél!\");
}
//És így sorba az a lényege hogy a listitem == és a sorszáma.. de nem 1-tõl hanem 0-tól kezdõdik ez nehogy belezavarjon.
}
}
return 1;
}
Remélem érthetõ voltam! :)
-
Nem értem. Kész van egy dialog a /weapon és bejön egy dialog lista. És azt akarom hogy ha beírom hogy /drink akkor be jöjjön még egy dialog lista :)
-
Amit leírtam és azt beteszed, jónak kellett volna lennie. Teljes szkriptbe leírom így hátha érteni fogod:
#include
#define DIALOG_0 3244
#define DIALOG_1 2342
CMD:drink(playerid)
{
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Italok\",\"Narancs kóla\\nCoca Cóla\\nWhiskey\\nBor\",\"Választ\",\"Mégsem\");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_0)
{
if(response)
{
if(listitem == 0) //ha rákattintasz az 1. gombra mi történjen....
{
GivePlayerWeapon(playerid, 24, 50);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, 0x400000FF, \"Vettél egy Desert Eagle-t 5000$-ért.\");
}
if(listitem == 1) //ha rákattintasz az 2. gombra mi történjen....
{
GivePlayerWeapon(playerid, 25, 50);
GivePlayerMoney(playerid, -7500);
SendClientMessage(playerid, 0x400000FF, \"Vettél egy Shotgun-t 7500$-ért.\");
}
if(listitem == 2) //ha rákattintasz az 3. gombra mi történjen....
{
GivePlayerWeapon(playerid, 26, 50);
GivePlayerMoney(playerid, -4500);
SendClientMessage(playerid,0x4000000FF, \"Vettél egy Sawnoff Shotgun-t 4500$-ért.\");
}
if(listitem == 3) //ha rákattintasz az 4. gombra mi történjen....
{
GivePlayerWeapon(playerid, 29, 50);
GivePlayerMoney(playerid, -3000);
SendClientMessage(playerid,0x4000000FF, \"Vettél egy MP5-t 3000$-ért.\");
}
if(listitem == 4) //ha rákattintasz az 5. gombra mi történjen....
{
GivePlayerWeapon(playerid, 30, 50);
GivePlayerMoney(playerid, -12000);
SendClientMessage(playerid,0x4000000FF, \"Vettél egy AK47-t 12000$-ért.\"); //megjavítja a kocsit
}
if(listitem == 5) //ha rákattintasz az 6. gombra mi történjen....
{
GivePlayerWeapon(playerid, 31, 50);
GivePlayerMoney(playerid, -12000);
SendClientMessage(playerid,0x4000000FF, \"Vettél egy M4A1-t 12000$-ért.\");
}
if(listitem == 6)
{
GivePlayerWeapon(playerid, 34, 50);
GivePlayerMoney(playerid, -10000);
SendClientMessage(playerid,0x4000000FF, \"Vettél egy Sniper-t 10000$-ért.\");
}
}
}
else
{
SendClientMessage(playerid, 0x400000FF, \"Kiléptél a dialogból\");
}
if(dialogid == DIALOG_1)
{
if(response)
{
if(listitem == 0)
{
SendClientMessage(playerid, 0x400000FF, \"Egy Narancs Kólát vettél!\");
}
if(listitem == 1)
{
SendClientMessage(playerid, 0x400000FF, \"Egy Coca Colát vettél!\");
}
//...
}
}
return 1;
}
-
Szerbusz.
Fegyver dialog:
Elõször definlod a dialog nevét
#define DIALOG_WEAPON 1
Létrehozzuk a parancsot:
CMD:weapon(playerid)
{
ShowPlayerDialog(playerid,DIALOG_WEAPON,DIALOG_STYLE_LIST,\"Weapon\",\"fegyver1\\nfegyver2\\nfegyver3\\nfegyver4\",\"Választ\",\"Mégsem\");
}
OnDialogResponse:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_WEAPON)
{
if(response)
{
if(listitem == 0)
{
SendClientMessage(playerid, 0x400000FF, \"Vettél egy fegyvert\");
}
if(listitem == 1)
{
SendClientMessage(playerid, 0x400000FF, \"Vettél egy fegyvert!\");
if(listitem == 2)
{
SendClientMessage(playerid, 0x400000FF, \"Vettél egy fegyvert!\");
}
}
}
return 1;
}
Most jöhet a Drink dialog:
Definálod a dialog nevét:
#define DIALOG_DRINK 2
Létrehozzuk a parancsot:
CMD:drink(playerid)
{
ShowPlayerDialog(playerid,DIALOG_WEAPON,DIALOG_STYLE_LIST,\"Drink\",\"drink1\\ndrink2\\ndrink3\\ndrink4\",\"Választ\",\"Mégsem\");
}
OnDialogResponse:
Az elsõ dialog végénél a return 1 alatt lévõ kapcsos záró jel alá rakd be ezt:
if(dialogid == DIALOG_DRINK)
{
if(response)
{
if(listitem == 0)
{
SendClientMessage(playerid, 0x400000FF, \"Vettél egy drinket\");
}
if(listitem == 1)
{
SendClientMessage(playerid, 0x400000FF, \"Vettél egy drinket\");
if(listitem == 2)
{
SendClientMessage(playerid, 0x400000FF, \"Vettél egy drinket\");
}
}
}
return 1;
}
Remélem segítettem.
Üdvözlettel: Fallen
-
Valami gond van.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_0)
{
if(response)
{
if(listitem == 0) //ha rákattintasz az 1. gombra mi történjen....
{
GivePlayerWeapon(playerid, 24, 50);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, 0x400000FF, \"{FFFF00}Vettél egy Desert Eagle-t 5000$-ért.\");
}
if(listitem == 1) //ha rákattintasz az 2. gombra mi történjen....
{
GivePlayerWeapon(playerid, 25, 50);
GivePlayerMoney(playerid, -7500);
SendClientMessage(playerid, 0x400000FF, \"{FFFF00}Vettél egy Shotgun-t 7500$-ért.\");
}
if(listitem == 2) //ha rákattintasz az 3. gombra mi történjen....
{
GivePlayerWeapon(playerid, 26, 50);
GivePlayerMoney(playerid, -4500);
SendClientMessage(playerid,0x4000000FF, \"{FFFF00}Vettél egy Sawnoff Shotgun-t 4500$-ért.\");
}
if(listitem == 3) //ha rákattintasz az 4. gombra mi történjen....
{
GivePlayerWeapon(playerid, 29, 50);
GivePlayerMoney(playerid, -3000);
SendClientMessage(playerid,0x4000000FF, \"{FFFF00}Vettél egy MP5-t 3000$-ért.\");
}
if(listitem == 4) //ha rákattintasz az 5. gombra mi történjen....
{
GivePlayerWeapon(playerid, 30, 50);
GivePlayerMoney(playerid, -12000);
SendClientMessage(playerid,0x4000000FF, \"{FFFF00}Vettél egy AK47-t 12000$-ért.\"); //megjavítja a kocsit
}
if(listitem == 5) //ha rákattintasz az 6. gombra mi történjen....
{
GivePlayerWeapon(playerid, 31, 50);
GivePlayerMoney(playerid, -12000);
SendClientMessage(playerid,0x4000000FF, \"{FFFF00}Vettél egy M4A1-t 12000$-ért.\");
}
if(listitem == 6)
{
GivePlayerWeapon(playerid, 34, 50);
GivePlayerMoney(playerid, -10000);
SendClientMessage(playerid,0x4000000FF, \"{FFFF00}Vettél egy Sniper-t 10000$-ért.\");
}
}
}
else
{
SendClientMessage(playerid, 0x400000FF, \"{FF0000}Kiléptél a dialogból\");
}
if(dialogid == DIALOG_1)
{
if(response)
{
if(listitem == 1)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
SetPlayerDrunkLevel(playerid, 6000);
SendClientMessage(playerid, -1, \"{FFFF00}Vettél egy üveg pálinkát.\");
}
if(listitem == 2)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE);
SetPlayerDrunkLevel(playerid, 4000);
SendClientMessage(playerid, -1, \"{FFFF00}Vettél egy üveg whiskeyt.\");
}
if(listitem == 3)
{
SetPlayerDrunkLevel(playerid, 3000);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
SendClientMessage(playerid, -1,\"{FFFF00}Vettél egy üveg bort.\");
}
if(listitem == 4)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);
SendClientMessage(playerid, -1,\"{FFFF00}Vettél egy üveg kólát.\");
}
}
}
return 1;
}
Valamilyen oknál fogva össze keveredett és ha veszek egy kolát akkor megvesz egy fegyvert is
-
Tessék. Elcsúsztál egy lezárással.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_0)
{
if(response)
{
if(listitem == 0) //ha rákattintasz az 1. gombra mi történjen....
{
GivePlayerWeapon(playerid, 24, 50);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, 0x400000FF, \"{FFFF00}Vettél egy Desert Eagle-t 5000$-ért.\");
}
if(listitem == 1) //ha rákattintasz az 2. gombra mi történjen....
{
GivePlayerWeapon(playerid, 25, 50);
GivePlayerMoney(playerid, -7500);
SendClientMessage(playerid, 0x400000FF, \"{FFFF00}Vettél egy Shotgun-t 7500$-ért.\");
}
if(listitem == 2) //ha rákattintasz az 3. gombra mi történjen....
{
GivePlayerWeapon(playerid, 26, 50);
GivePlayerMoney(playerid, -4500);
SendClientMessage(playerid,0x4000000FF, \"{FFFF00}Vettél egy Sawnoff Shotgun-t 4500$-ért.\");
}
if(listitem == 3) //ha rákattintasz az 4. gombra mi történjen....
{
GivePlayerWeapon(playerid, 29, 50);
GivePlayerMoney(playerid, -3000);
SendClientMessage(playerid,0x4000000FF, \"{FFFF00}Vettél egy MP5-t 3000$-ért.\");
}
if(listitem == 4) //ha rákattintasz az 5. gombra mi történjen....
{
GivePlayerWeapon(playerid, 30, 50);
GivePlayerMoney(playerid, -12000);
SendClientMessage(playerid,0x4000000FF, \"{FFFF00}Vettél egy AK47-t 12000$-ért.\"); //megjavítja a kocsit
}
if(listitem == 5) //ha rákattintasz az 6. gombra mi történjen....
{
GivePlayerWeapon(playerid, 31, 50);
GivePlayerMoney(playerid, -12000);
SendClientMessage(playerid,0x4000000FF, \"{FFFF00}Vettél egy M4A1-t 12000$-ért.\");
}
if(listitem == 6)
{
GivePlayerWeapon(playerid, 34, 50);
GivePlayerMoney(playerid, -10000);
SendClientMessage(playerid,0x4000000FF, \"{FFFF00}Vettél egy Sniper-t 10000$-ért.\");
}
}
else
{
SendClientMessage(playerid, 0x400000FF, \"{FF0000}Kiléptél a dialogból\");
}
}
if(dialogid == DIALOG_1)
{
if(response)
{
if(listitem == 1)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
SetPlayerDrunkLevel(playerid, 6000);
SendClientMessage(playerid, -1, \"{FFFF00}Vettél egy üveg pálinkát.\");
}
if(listitem == 2)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE);
SetPlayerDrunkLevel(playerid, 4000);
SendClientMessage(playerid, -1, \"{FFFF00}Vettél egy üveg whiskeyt.\");
}
if(listitem == 3)
{
SetPlayerDrunkLevel(playerid, 3000);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
SendClientMessage(playerid, -1,\"{FFFF00}Vettél egy üveg bort.\");
}
if(listitem == 4)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);
SendClientMessage(playerid, -1,\"{FFFF00}Vettél egy üveg kólát.\");
}
}
}
return 1;
}
-
Még mindig nem jó.
-
Jónak kell lennie!
-
Akkor máshol van a gond..
-
De hát mondom nem jó:D Átmásoltam stb.. 0 warning 0 error de ugyan úgy összekeveredik. :hmmm: