public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/weapons", true))
{
ShowPlayerDialog(playerid, 6516, DIALOG_STYLE_LIST, "Weapons Shop", "Showel\nPool Cue\nKatana\nGrenade\nSmoke Grenade\nSatchel Charge\nMolotov\n9MM\nDesert Eagle\nShotgun\nSawnoff Shotgun\nCombat Shotgun\nUzi\nMP5\nTec 9\nAK47\nM4\nCountry Rifle\nSniper Rifle\nRPG\nHS Rocket\nFlame Thrower\nMinigun\nSpray Can\nFire Extinguisher", "Buy", "Cancel");
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 6516)
{
SendClientMessage(playerid, 0xFF0000FF, "Test");
switch(listitem)
{
case 0:
{
GivePlayerWeapon(playerid, 6, 1);
SetPlayerArmedWeapon(playerid, 6);
}
case 1:
{
GivePlayerWeapon(playerid, 7, 1);
SetPlayerArmedWeapon(playerid, 7);
}
case 2:
{
GivePlayerWeapon(playerid, 8, 1);
SetPlayerArmedWeapon(playerid, 8);
}
case 3:
{
GivePlayerWeapon(playerid, 16, 5);
SetPlayerArmedWeapon(playerid, 16);
}
case 4:
{
GivePlayerWeapon(playerid, 17, 5);
SetPlayerArmedWeapon(playerid, 17);
}
case 5:
{
GivePlayerWeapon(playerid, 39, 5);
SetPlayerArmedWeapon(playerid, 39);
}
case 6:
{
GivePlayerWeapon(playerid, 18, 5);
SetPlayerArmedWeapon(playerid, 18);
}
case 7:
{
GivePlayerWeapon(playerid, 22, 50);
SetPlayerArmedWeapon(playerid, 22);
}
case 8:
{
GivePlayerWeapon(playerid, 24, 50);
SetPlayerArmedWeapon(playerid, 24);
}
case 9:
{
GivePlayerWeapon(playerid, 25, 40);
SetPlayerArmedWeapon(playerid, 25);
}
case 10:
{
GivePlayerWeapon(playerid, 26, 50);
SetPlayerArmedWeapon(playerid, 26);
}
case 11:
{
GivePlayerWeapon(playerid, 27, 35);
SetPlayerArmedWeapon(playerid, 27);
}
case 12:
{
GivePlayerWeapon(playerid, 28, 200);
SetPlayerArmedWeapon(playerid, 28);
}
case 13:
{
GivePlayerWeapon(playerid, 29, 200);
SetPlayerArmedWeapon(playerid, 29);
}
case 14:
{
GivePlayerWeapon(playerid, 32, 200);
SetPlayerArmedWeapon(playerid, 32);
}
case 15:
{
GivePlayerWeapon(playerid, 30, 150);
SetPlayerArmedWeapon(playerid, 30);
}
case 16:
{
GivePlayerWeapon(playerid, 31, 150);
SetPlayerArmedWeapon(playerid, 31);
}
case 17:
{
GivePlayerWeapon(playerid, 33, 40);
SetPlayerArmedWeapon(playerid, 33);
}
case 18:
{
GivePlayerWeapon(playerid, 34, 20);
SetPlayerArmedWeapon(playerid, 34);
}
case 19:
{
GivePlayerWeapon(playerid, 35, 3);
SetPlayerArmedWeapon(playerid, 35);
}
case 20:
{
GivePlayerWeapon(playerid, 36, 3);
SetPlayerArmedWeapon(playerid, 36);
}
case 21:
{
GivePlayerWeapon(playerid, 37, 100);
SetPlayerArmedWeapon(playerid, 37);
}
case 22:
{
GivePlayerWeapon(playerid, 38, 100);
SetPlayerArmedWeapon(playerid, 38);
}
case 23:
{
GivePlayerWeapon(playerid, 41, 120);
SetPlayerArmedWeapon(playerid, 41);
}
case 24:
{
GivePlayerWeapon(playerid, 42, 100);
SetPlayerArmedWeapon(playerid, 42);
}
}
return 1;
}
return 0;
}
I know it should return false at the end of OnDialogResponse callback if it's a filterscript and return true if it's a gamemode, but it sometimes bugged the dialogid when I used it. Even if I use it correct and all that, it was a mess.
From the day I used this include (https://sampforum.blast.hk/showthread.php?tid=377140), I've never had problems which are related to dialogs. It's very good include and I strongly recommend you to use it. |
#define FILTERSCRIPT
#include <a_samp>
#include <easydialog>
#include <zcmd>
Dialog:Weapons(playerid, response, listitem, inputtext[])
{
if(response)
{
SendClientMessage(playerid, 0xFF0000FF, "Test");
switch(listitem)
{
case 0:
{
GivePlayerWeapon(playerid, 6, 1);
SetPlayerArmedWeapon(playerid, 6);
}
case 1:
{
GivePlayerWeapon(playerid, 7, 1);
SetPlayerArmedWeapon(playerid, 7);
}
case 2:
{
GivePlayerWeapon(playerid, 8, 1);
SetPlayerArmedWeapon(playerid, 8);
}
case 3:
{
GivePlayerWeapon(playerid, 16, 5);
SetPlayerArmedWeapon(playerid, 16);
}
case 4:
{
GivePlayerWeapon(playerid, 17, 5);
SetPlayerArmedWeapon(playerid, 17);
}
case 5:
{
GivePlayerWeapon(playerid, 39, 5);
SetPlayerArmedWeapon(playerid, 39);
}
case 6:
{
GivePlayerWeapon(playerid, 18, 5);
SetPlayerArmedWeapon(playerid, 18);
}
case 7:
{
GivePlayerWeapon(playerid, 22, 50);
SetPlayerArmedWeapon(playerid, 22);
}
case 8:
{
GivePlayerWeapon(playerid, 24, 50);
SetPlayerArmedWeapon(playerid, 24);
}
case 9:
{
GivePlayerWeapon(playerid, 25, 40);
SetPlayerArmedWeapon(playerid, 25);
}
case 10:
{
GivePlayerWeapon(playerid, 26, 50);
SetPlayerArmedWeapon(playerid, 26);
}
case 11:
{
GivePlayerWeapon(playerid, 27, 35);
SetPlayerArmedWeapon(playerid, 27);
}
case 12:
{
GivePlayerWeapon(playerid, 28, 200);
SetPlayerArmedWeapon(playerid, 28);
}
case 13:
{
GivePlayerWeapon(playerid, 29, 200);
SetPlayerArmedWeapon(playerid, 29);
}
case 14:
{
GivePlayerWeapon(playerid, 32, 200);
SetPlayerArmedWeapon(playerid, 32);
}
case 15:
{
GivePlayerWeapon(playerid, 30, 150);
SetPlayerArmedWeapon(playerid, 30);
}
case 16:
{
GivePlayerWeapon(playerid, 31, 150);
SetPlayerArmedWeapon(playerid, 31);
}
case 17:
{
GivePlayerWeapon(playerid, 33, 40);
SetPlayerArmedWeapon(playerid, 33);
}
case 18:
{
GivePlayerWeapon(playerid, 34, 20);
SetPlayerArmedWeapon(playerid, 34);
}
case 19:
{
GivePlayerWeapon(playerid, 35, 3);
SetPlayerArmedWeapon(playerid, 35);
}
case 20:
{
GivePlayerWeapon(playerid, 36, 3);
SetPlayerArmedWeapon(playerid, 36);
}
case 21:
{
GivePlayerWeapon(playerid, 37, 100);
SetPlayerArmedWeapon(playerid, 37);
}
case 22:
{
GivePlayerWeapon(playerid, 38, 100);
SetPlayerArmedWeapon(playerid, 38);
}
case 23:
{
GivePlayerWeapon(playerid, 41, 120);
SetPlayerArmedWeapon(playerid, 41);
}
case 24:
{
GivePlayerWeapon(playerid, 42, 100);
SetPlayerArmedWeapon(playerid, 42);
}
}
}
return 1;
}
CMD:weapons(playerid, params[])
{
ShowDialog(playerid, Show:Weapons, DIALOG_STYLE_LIST, "Weapons Shop", "Showel\nPool Cue\nKatana\nGrenade\nSmoke Grenade\nSatchel Charge\nMolotov\n9MM\nDesert Eagle\nShotgun\nSawnoff Shotgun\nCombat Shotgun\nUzi\nMP5\nTec 9\nAK47\nM4\nCountry Rifle\nSniper Rifle\nRPG\nHS Rocket\nFlame Thrower\nMinigun\nSpray Can\nFire Extinguisher", "Buy", "Cancel");
return 1;
}