CMD:weapons(playerid, params[])
{
ShowPlayerDialog(playerid,WEAPON_DIALOG,DIALOG_STYLE_LIST,"Weapons","Silence $500\nAK-47 $2000\nM4 $3000\nDesert Eagle $500\n9mm $200\nMP5 $300\nMicro SMG $200\nCombat Shotgun $500\nShotgun $400\nSniper Rifle $1500\nSawnoff Shotgun $500","Ok","Exit");
{
switch(WEAPON_DIALOG)
{
case 0:
{
if(GetPlayerMoney(playerid) > 500 )
{
GivePlayerMoney(playerid,-500);
GivePlayerWeapon(playerid,23,500);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Silencer with 500 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 1:
{
if(GetPlayerMoney(playerid) > 2000 )
{
GivePlayerMoney(playerid,-2000);
GivePlayerWeapon(playerid,30,650);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a AK-47 With 650 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 2:
{
if(GetPlayerMoney(playerid) > 3000 )
{
GivePlayerMoney(playerid,-3000);
GivePlayerWeapon(playerid,31,650);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a M4 With 650 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 3:
{
if(GetPlayerMoney(playerid) > 500 )
{
GivePlayerMoney(playerid,-500);
GivePlayerWeapon(playerid,24,500);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Deagle With 500 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 4:
{
if(GetPlayerMoney(playerid) > 200 )
{
GivePlayerMoney(playerid,-200);
GivePlayerWeapon(playerid,22,500);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a 9mm With 500 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 5:
{
if(GetPlayerMoney(playerid) > 300 )
{
GivePlayerMoney(playerid,-300);
GivePlayerWeapon(playerid,29,450);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a SMG With 450 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 6:
{
if(GetPlayerMoney(playerid) > 200 )
{
GivePlayerMoney(playerid,-200);
GivePlayerWeapon(playerid,28,450);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Uzi With 450 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 7:
{
if(GetPlayerMoney(playerid) > 500 )
{
GivePlayerMoney(playerid,-500);
GivePlayerWeapon(playerid,27,550);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Combat Shotgun With 550 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 8:
{
if(GetPlayerMoney(playerid) > 400 )
{
GivePlayerMoney(playerid,-400);
GivePlayerWeapon(playerid,25,550);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Shotgun With 550 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 9:
{
if(GetPlayerMoney(playerid) > 1500 )
{
GivePlayerMoney(playerid,-1500);
GivePlayerWeapon(playerid,34,350);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Sniper Rifle With 50 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 10:
{
if(GetPlayerMoney(playerid) > 500 )
{
GivePlayerMoney(playerid,-500);
GivePlayerWeapon(playerid,26,550);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Sawnoff Shotgun With 550 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
}
}
return 1;
}
Because your callback is getting called, I mean OnDialogResponse callback. When your dialog show's up OnDialogResponse is getting called, so go to this callback and test a dialogid (callback parameter) and check is it yours dialog, if yes, then test another parameter from callback which is: listitem, and put your code from command there, then.
|
CMD:weapons(playerid, params[])
{
ShowPlayerDialog(playerid,WEAPON_DIALOG,DIALOG_STYLE_LIST,"Weapons","Silence $500\nAK-47 $2000\nM4 $3000\nDesert Eagle $500\n9mm $200\nMP5 $300\nMicro SMG $200\nCombat Shotgun $500\nShotgun $400\nSniper Rifle $1500\nSawnoff Shotgun $500","Ok","Exit");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == WEAPON_DIALOG)
{
if(response)
{
switch(listitem)
{
case 0:
{
if(GetPlayerMoney(playerid) > 500 )
{
GivePlayerMoney(playerid,-500);
GivePlayerWeapon(playerid,23,500);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Silencer with 500 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 1:
{
if(GetPlayerMoney(playerid) > 2000 )
{
GivePlayerMoney(playerid,-2000);
GivePlayerWeapon(playerid,30,650);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a AK-47 With 650 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 2:
{
if(GetPlayerMoney(playerid) > 3000 )
{
GivePlayerMoney(playerid,-3000);
GivePlayerWeapon(playerid,31,650);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a M4 With 650 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 3:
{
if(GetPlayerMoney(playerid) > 500 )
{
GivePlayerMoney(playerid,-500);
GivePlayerWeapon(playerid,24,500);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Deagle With 500 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 4:
{
if(GetPlayerMoney(playerid) > 200 )
{
GivePlayerMoney(playerid,-200);
GivePlayerWeapon(playerid,22,500);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a 9mm With 500 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 5:
{
if(GetPlayerMoney(playerid) > 300 )
{
GivePlayerMoney(playerid,-300);
GivePlayerWeapon(playerid,29,450);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a SMG With 450 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 6:
{
if(GetPlayerMoney(playerid) > 200 )
{
GivePlayerMoney(playerid,-200);
GivePlayerWeapon(playerid,28,450);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Uzi With 450 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 7:
{
if(GetPlayerMoney(playerid) > 500 )
{
GivePlayerMoney(playerid,-500);
GivePlayerWeapon(playerid,27,550);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Combat Shotgun With 550 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 8:
{
if(GetPlayerMoney(playerid) > 400 )
{
GivePlayerMoney(playerid,-400);
GivePlayerWeapon(playerid,25,550);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Shotgun With 550 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 9:
{
if(GetPlayerMoney(playerid) > 1500 )
{
GivePlayerMoney(playerid,-1500);
GivePlayerWeapon(playerid,34,350);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Sniper Rifle With 50 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
case 10:
{
if(GetPlayerMoney(playerid) > 500 )
{
GivePlayerMoney(playerid,-500);
GivePlayerWeapon(playerid,26,550);
SendClientMessage(playerid,COLOR_GREEN,"You Bought a Sawnoff Shotgun With 550 Ammo");
}
else SendClientMessage(playerid,COLOR_RED,"You do not have Enought Money");
}
}
}
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == WEAPON_DIALOG)
{
if(!response) return 1;
new wepid, ammo, price;
switch(listitem)
{
case 0: { wepid=23; ammo=500; price=500; }
case 1: { wepid=30; ammo=650; price=2000; }
case 2: { wepid=31; ammo=650; price=3000; }
case 3: { wepid=24; ammo=500; price=500; }
case 4: { wepid=22; ammo=500; price=200; }
case 5: { wepid=29; ammo=450; price=300; }
case 6: { wepid=28; ammo=450; price=200; }
case 7: { wepid=27; ammo=550; price=500; }
case 8: { wepid=25; ammo=550; price=400; }
case 9: { wepid=34; ammo=350; price=1500; }
case 10: { wepid=26; ammo=550; price=500; }
}
if(GetPlayerMoney(playerid) < price) return SendClientMessage(playerid, 0xCC0000AA, "You don't have enough money!");
new string[128];
format(string, sizeof(string), "%s bought for $%d with %d ammo!", Weapon_Name(wepid), price, ammo);
SendClientMessage(playerid, COLOR_GREEN, string);
GivePlayerWeapon(playerid, wepid, ammo);
GivePlayerMoney(playerid, -price);
return 1;
}
return 0;
}
CMD:weapons(playerid, params[])
{
ShowPlayerDialog(playerid,WEAPON_DIALOG,DIALOG_STYLE_LIST,"Weapons","Silence $500\nAK-47 $2000\nM4 $3000\nDesert Eagle $500\n9mm $200\nMP5 $300\nMicro SMG $200\nCombat Shotgun $500\nShotgun $400\nSniper Rifle $1500\nSawnoff Shotgun $500","Ok","Exit");
return 1;
}
stock Weapon_Name(wepid)
{
new string[35];
switch(wepid)
{
case 18: format(string, sizeof(string), "Molotov");
case 44: format(string, sizeof(string), "Night Vision Goggles");
case 45: format(string, sizeof(string), "Thermal Goggles");
default: GetWeaponName(wepid, string, sizeof(string));
}
return string;
}
CMD:weapons(playerid, params[]) { ShowPlayerDialog(playerid,WEAPON_DIALOG,DIALOG_STYLE_LIST,"Weapons","Silence $500\nAK-47 $2000\nM4 $3000\nDesert Eagle $500\n9mm $200\nMP5 $300\nMicro SMG $200\nCombat Shotgun $500\nShotgun $400\nSniper Rifle $1500\nSawnoff Shotgun $500","Ok","Exit"); } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == WEAPON_DIALOG) { if(response) // The First Button(OK) { if(dialoglist = 0) // The first on List: (Silence) { return 1; } if(dialoglist = 1) // The second on List { return 1; } } } return 1; }
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == WEAPON_DIALOG)
{
if(response) // The First Button(OK)
{
if(dialoglist = 0) // The first on List: (Silence)
{
return 1;
}
if(dialoglist = 1) // The second on List
{
return 1;
}
}
}
if(dialogid == DIALOG_LOGIN)//or watever
{
if(response)
{
//stuff
}
}
return 1;
}