How to make a bullets of guns
#1

Hello guys I search for When 👑 buy/bought A gun OK as sawnoff In my server he will buy a guns without asking how much bullets he want so how to I can make if some one buy guns asking him for bullets??
Reply
#2

that can be done easily. After the code you used to buy the weapon call a input dialog and on response use this inputtext as the ammo's variable in Giveplayerweapon
Reply
#3

Boo bro I mean when a player buy weapon the ammu asking him for how much did he wanna bulletsi mean as


1 bullet 48bullet are u understanding?
Reply
#4

He means he want players to buy the weapons and then buy ammo, like when they run out of ammo the weapon won't disappear and they'll have to buy more ammo.
Reply
#5

pawn Код:
CMD:buygun(playerid, params[])
{
          if(GetPlayerCash(playerid) < 1) return SCM(playerid, COLOR_GREY, "** You dont have enough money with you !");
        new gun, gunid[16], melee[128], pistols[128], shotguns[128], rifles[128], infostring[128], guncharge, ammocharge, ammo, string[128];
        if(IsPlayerInRangeOfPoint(playerid, 10, 314.2548,-133.6627,999.6016) || IsPlayerInRangeOfPoint(playerid, 3,311.9589,-166.1407,999.6010))
        {
            new mod2 = 100;
            if(sscanf(params, "s[16]d", gunid, ammo))
            {
                format(string, sizeof(string), "USAGE: /buygun [gunname] [ammoamount]");
                SCM(playerid, COLOR_GREEN,"_______________________________________");
                SCM(playerid, COLOR_WHITE,"*** Guns & Ammo ***");
                SCM(playerid, TEAM_GROVE_COLOR,string);
                format(melee, 256, "Melee: parachute ($%d) golfclub ($%d) nightstick ($%d) baseballbat ($%d) shovel ($%d) poolcue ($%d)",
                GunPrice[0][0]/100*mod2,GunPrice[1][0]/100*mod2,GunPrice[2][0]/100*mod2,GunPrice[3][0]/100*mod2,GunPrice[4][0]/100*mod2,GunPrice[5][0]/100*mod2,GunPrice[6][0]/100*mod2);
                SCM(playerid, COLOR_WHITE, melee);
                format(pistols, 256, "Pistols: silenced ($%d) deagle ($%d) colt ($%d)", GunPrice[13][0]/100*mod2,GunPrice[15][0]/100*mod2,GunPrice[14][0]/100*mod2);
                SCM(playerid, COLOR_GREEN, pistols);
                format(shotguns, 256, "Shotguns: shotgun ($%d)", GunPrice[19][0]/100*mod2);
                SCM(playerid, COLOR_WHITE, shotguns);
                format(rifles, 256, "Rifles: country ($%d)", GunPrice[24][0]/100*mod2);
                SCM(playerid, COLOR_GREEN, rifles);
                SCM(playerid, COLOR_WHITE, "Other: ammo($20-75) || /buyarmour ($1250) || /buyspray ($500)");
                SCM(playerid, COLOR_GREEN,"_______________________________________");
                return 1;
            }
            new CurrentWeapon = GetPlayerWeapon(playerid);
            if(ammo < 1 || ammo > 250) { SCM(playerid, COLOR_GREY, "** Ammo ammount not lower then 1 or higher then 500 !"); return 1;}
            else if (strcmp(gunid, "parachute", true, strlen(gunid)) == 0)
            { gun = 46;guncharge = GunPrice[0][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "golfclub", true, strlen(gunid)) == 0)
            { gun = 2; guncharge = GunPrice[1][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "nightstick", true, strlen(gunid)) == 0)
            { gun = 3; guncharge = GunPrice[2][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "baseballbat", true, strlen(gunid)) == 0)
            { gun = 5; guncharge = GunPrice[4][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "shovel", true, strlen(gunid)) == 0)
            { gun = 6; guncharge = GunPrice[5][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
            { gun = 7; guncharge = GunPrice[6][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "flowers", true, strlen(gunid)) == 0)
            { gun = 14; guncharge = GunPrice[11][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "cane", true, strlen(gunid)) == 0)
            { gun = 15; guncharge = GunPrice[12][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "silenced", true, strlen(gunid)) == 0)
            { gun = 23; guncharge = GunPrice[13][0]/100*mod2; ammocharge = GunPrice[31][0]*ammo;}

            else if (strcmp(gunid, "deagle", true, strlen(gunid)) == 0)
            {
                new weapons[2];
                GetPlayerWeaponData(playerid, 2, weapons[0], weapons[1]);
                if(weapons[0] != 22 && weapons[0] != 23)
                {
                    gun = 24; guncharge = GunPrice[15][0]/100*mod2; ammocharge = GunPrice[32][0]*ammo;
                }
                else return SendClientMessage(playerid,-1,"Stop trying to exploit");
            }

            else if (strcmp(gunid, "shotgun", true, strlen(gunid)) == 0)
            { gun = 25; guncharge = GunPrice[19][0]/100*mod2; ammocharge = GunPrice[27][0]*ammo;}

            else if (strcmp(gunid, "country", true, strlen(gunid)) == 0)
            { gun = 33; guncharge = GunPrice[24][0]/100*mod2; ammocharge = GunPrice[30][0]*ammo;}


            else if (strcmp(gunid, "colt", true, strlen(gunid)) == 0)
            {
                gun = 22; guncharge = GunPrice[14][0]/100*mod2; ammocharge = GunPrice[26][0]*ammo;

            }

            else if(strcmp(gunid, "ammo", true, strlen(gunid)) == 0)
            {
                switch(CurrentWeapon)
                {
                    case 1 .. 18:{ SCM(playerid, COLOR_GREY,"You can't get ammo for that weapon!"); return 1; }
                    case 22:{ gun = 0; guncharge = 0; ammocharge = GunPrice[26][0]*ammo;}
                    case 23:{ gun = 0; guncharge = 0; ammocharge = GunPrice[31][0]*ammo;}
                    case 24:{ gun = 0; guncharge = 0; ammocharge = GunPrice[32][0]*ammo;}
                    case 25:{ gun = 0; guncharge = 0; ammocharge = GunPrice[27][0]*ammo;}
                    case 26:{ gun = 0; guncharge = 0; ammocharge = GunPrice[33][0]*ammo;}
                    case 27 .. 32:{ SCM(playerid, COLOR_GREY,"You can't get ammo for that weapon!"); return 1; }
                    case 33:{ gun = 0; guncharge = 0; ammocharge = GunPrice[30][0]*ammo;}
                    case 34 .. 46:{ SCM(playerid, COLOR_GREY,"You can't get ammo for that weapon!"); return 1; }
                }
            }
            else { SCM(playerid, COLOR_WHITE, "StoreKeeper: Sorry, I've never heard of such an item"); return 1;}
            if((guncharge+ammocharge) > GetPlayerCash(playerid))
            {
                format(infostring, 256, "** You don't have $%d !",guncharge+ammocharge);
                SCM(playerid, COLOR_GRAD3, infostring);
                return 1;
            }
            if(GetPlayerCash(playerid) < (guncharge+ammocharge))
            {
                SCM(playerid, COLOR_GREY, "** Can't afford that !");
                return 1;
            }
            new payout = guncharge + ammocharge;
            format(infostring, 256, "** You have purchased %s with %d ammo for $%d",gunid,ammo,payout);
            SCM(playerid, COLOR_GRAD3, infostring);
            SafeGivePlayerMoney(playerid, - payout);
            PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
            if(gun != 0)
            {
                SafeGivePlayerWeapon(playerid, gun, ammo);
            }
            else
            {
                SafeGivePlayerWeapon(playerid, CurrentWeapon, ammo);
            }
            BizzInfo[BizzEntered[playerid]][bTill] += payout / 2;
            new y, m, d;
            new h,mi,s;
            getdate(y,m,d);
            gettime(h,mi,s);
            format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /buygun %s %d ($%d)",d,m,y,h,mi,s,GPN(playerid), gunid, ammo, payout);
            PayLog(string);
        }
        else{ SCM(playerid, COLOR_WHITE,"You are not in a store."); return 1; }
    }
    return 1;
}
Reply
#6

Follow this ^^
Quote:

in the dialog defines add #define DIALOG_WEAPS (number)
Then in command add:
ShowPlayerDialog(playerid, DIALOG_WEAPS, DIALOG_STYLE_LIST, "Weapons", "MP5 (500 Bullets for $5000)\nM4\nSniper\nSawnoff\nTec9\nDesert Eagle\nArmor\nUzi\nCountry Rifle", "Select", "Close");

Then in OnDialogResponse add this below

if(dialogid == DIALOG_WEAPS)
{
if(response)
{
if(listitem == 0)
{
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid,COLOR_ERROR,"{CACA00}[ERROR]{FFFFFF}You need $5000 to buy this weapon.");
return 1;
}
GivePlayerMoney(playerid,-5000);
GivePlayerWeapon(playerid,29,500);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully bought MP5");
ShowPlayerDialog(playerid,DIALOG_WEAPS,DIALOG_STYL E_LIST,"Weapons","MP5\nM4\nSniper\nSawnoff\nTec9\n Desert Eagle\nArmor\nUzi\nCountry Rifle","Select","Cancel");
return 1;
}
if(listitem == 1)
{
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid,COLOR_ERROR,"{CACA00}[ERROR]{FFFFFF}You need $5000 to buy this weapon.");
return 1;
}
GivePlayerMoney(playerid,-5000);
GivePlayerWeapon(playerid,31,500);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully bought M4");
ShowPlayerDialog(playerid,DIALOG_WEAPS,DIALOG_STYL E_LIST,"Weapons","MP5\nM4\nSniper\nSawnoff\nTec9\n Desert Eagle\nArmor\nUzi\nCountry Rifle","Select","Cancel");
return 1;
}
if(listitem == 2)
{
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid,COLOR_ERROR,"{CACA00}[ERROR]{FFFFFF}You need $5000 to buy this weapon.");
return 1;
}
GivePlayerMoney(playerid,-5000);
GivePlayerWeapon(playerid,34,500);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully bought Sniper");
ShowPlayerDialog(playerid,DIALOG_WEAPS,DIALOG_STYL E_LIST,"Weapons","MP5\nM4\nSniper\nSawnoff\nTec9\n Desert Eagle\nArmor\nUzi\nCountry Rifle","Select","Cancel");
return 1;
}
if(listitem == 3)
{
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid,COLOR_ERROR,"{CACA00}[ERROR]{FFFFFF}You need $5000 to buy this weapon.");
return 1;
}
GivePlayerMoney(playerid,-5000);
GivePlayerWeapon(playerid,26,500);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully bought Sawnoff");
ShowPlayerDialog(playerid,DIALOG_WEAPS,DIALOG_STYL E_LIST,"Weapons","MP5\nM4\nSniper\nSawnoff\nTec9\n Desert Eagle\nArmor\nUzi\nCountry Rifle","Select","Cancel");
return 1;
}
if(listitem == 4)
{
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid,COLOR_ERROR,"{CACA00}[ERROR]{FFFFFF}You need $5000 to buy this weapon.");
return 1;
}
GivePlayerMoney(playerid,-5000);
GivePlayerWeapon(playerid,32,500);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully bought tec9");
ShowPlayerDialog(playerid,DIALOG_WEAPS,DIALOG_STYL E_LIST,"Weapons","MP5\nM4\nSniper\nSawnoff\nTec9\n Desert Eagle\nArmor\nUzi\nCountry Rifle","Select","Cancel");
return 1;
}
if(listitem == 5)
{
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid,COLOR_ERROR,"{CACA00}[ERROR]{FFFFFF}You need $5000 to buy this weapon.");
return 1;
}
GivePlayerMoney(playerid,-5000);
GivePlayerWeapon(playerid,24,500);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully bought Desert Eagle");
ShowPlayerDialog(playerid,DIALOG_WEAPS,DIALOG_STYL E_LIST,"Weapons","MP5\nM4\nSniper\nSawnoff\nTec9\n Desert Eagle\nArmor\nUzi\nCountry Rifle","Select","Cancel");
return 1;
}
if(listitem == 6)
{
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid,COLOR_ERROR,"{CACA00}[ERROR]{FFFFFF}You need $5000 to buy Armour.");
return 1;
}
GivePlayerMoney(playerid,-5000);
SetPlayerArmour(playerid,100);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully bought Armor");
ShowPlayerDialog(playerid,DIALOG_WEAPS,DIALOG_STYL E_LIST,"Weapons","MP5\nM4\nSniper\nSawnoff\nTec9\n Desert Eagle\nArmor\nUzi\nCountry Rifle","Select","Cancel");
return 1;
}
if(listitem == 7)
{
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid,COLOR_ERROR,"{CACA00}[ERROR]{FFFFFF}You need $5000 to buy this weapon.");
return 1;
}
GivePlayerMoney(playerid,-5000);
GivePlayerWeapon(playerid,28,500);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully bought Uzi");
ShowPlayerDialog(playerid,DIALOG_WEAPS,DIALOG_STYL E_LIST,"Weapons","MP5\nM4\nSniper\nSawnoff\nTec9\n Desert Eagle\nArmor\nUzi\nCountry Rifle","Select","Cancel");
return 1;
}
if(listitem ==
{
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid,COLOR_ERROR,"{CACA00}[ERROR]{FFFFFF}You need $5000 to buy this weapon.");
return 1;
}
GivePlayerMoney(playerid,-5000);
GivePlayerWeapon(playerid,33,500);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully bought Country Rifle");
ShowPlayerDialog(playerid,DIALOG_WEAPS,DIALOG_STYL E_LIST,"Weapons","MP5\nM4\nSniper\nSawnoff\nTec9\n Desert Eagle\nArmor\nUzi\nCountry Rifle","Select","Cancel");
return 1;
}
}
}

Reply
#7

Is this working?
Reply
#8

I will try it David , hunting if work I will give u rep both
Reply
#9

ok if you have error/warning copy paste here
Reply
#10

Quote:
Originally Posted by DavidGravelli
Посмотреть сообщение
pawn Код:
CMD:buygun(playerid, params[])
{
          if(GetPlayerCash(playerid) < 1) return SCM(playerid, COLOR_GREY, "** You dont have enough money with you !");
        new gun, gunid[16], melee[128], pistols[128], shotguns[128], rifles[128], infostring[128], guncharge, ammocharge, ammo, string[128];
        if(IsPlayerInRangeOfPoint(playerid, 10, 314.2548,-133.6627,999.6016) || IsPlayerInRangeOfPoint(playerid, 3,311.9589,-166.1407,999.6010))
        {
            new mod2 = 100;
            if(sscanf(params, "s[16]d", gunid, ammo))
            {
                format(string, sizeof(string), "USAGE: /buygun [gunname] [ammoamount]");
                SCM(playerid, COLOR_GREEN,"_______________________________________");
                SCM(playerid, COLOR_WHITE,"*** Guns & Ammo ***");
                SCM(playerid, TEAM_GROVE_COLOR,string);
                format(melee, 256, "Melee: parachute ($%d) golfclub ($%d) nightstick ($%d) baseballbat ($%d) shovel ($%d) poolcue ($%d)",
                GunPrice[0][0]/100*mod2,GunPrice[1][0]/100*mod2,GunPrice[2][0]/100*mod2,GunPrice[3][0]/100*mod2,GunPrice[4][0]/100*mod2,GunPrice[5][0]/100*mod2,GunPrice[6][0]/100*mod2);
                SCM(playerid, COLOR_WHITE, melee);
                format(pistols, 256, "Pistols: silenced ($%d) deagle ($%d) colt ($%d)", GunPrice[13][0]/100*mod2,GunPrice[15][0]/100*mod2,GunPrice[14][0]/100*mod2);
                SCM(playerid, COLOR_GREEN, pistols);
                format(shotguns, 256, "Shotguns: shotgun ($%d)", GunPrice[19][0]/100*mod2);
                SCM(playerid, COLOR_WHITE, shotguns);
                format(rifles, 256, "Rifles: country ($%d)", GunPrice[24][0]/100*mod2);
                SCM(playerid, COLOR_GREEN, rifles);
                SCM(playerid, COLOR_WHITE, "Other: ammo($20-75) || /buyarmour ($1250) || /buyspray ($500)");
                SCM(playerid, COLOR_GREEN,"_______________________________________");
                return 1;
            }
            new CurrentWeapon = GetPlayerWeapon(playerid);
            if(ammo < 1 || ammo > 250) { SCM(playerid, COLOR_GREY, "** Ammo ammount not lower then 1 or higher then 500 !"); return 1;}
            else if (strcmp(gunid, "parachute", true, strlen(gunid)) == 0)
            { gun = 46;guncharge = GunPrice[0][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "golfclub", true, strlen(gunid)) == 0)
            { gun = 2; guncharge = GunPrice[1][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "nightstick", true, strlen(gunid)) == 0)
            { gun = 3; guncharge = GunPrice[2][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "baseballbat", true, strlen(gunid)) == 0)
            { gun = 5; guncharge = GunPrice[4][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "shovel", true, strlen(gunid)) == 0)
            { gun = 6; guncharge = GunPrice[5][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
            { gun = 7; guncharge = GunPrice[6][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "flowers", true, strlen(gunid)) == 0)
            { gun = 14; guncharge = GunPrice[11][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "cane", true, strlen(gunid)) == 0)
            { gun = 15; guncharge = GunPrice[12][0]/100*mod2; ammocharge = 0;}

            else if (strcmp(gunid, "silenced", true, strlen(gunid)) == 0)
            { gun = 23; guncharge = GunPrice[13][0]/100*mod2; ammocharge = GunPrice[31][0]*ammo;}

            else if (strcmp(gunid, "deagle", true, strlen(gunid)) == 0)
            {
                new weapons[2];
                GetPlayerWeaponData(playerid, 2, weapons[0], weapons[1]);
                if(weapons[0] != 22 && weapons[0] != 23)
                {
                    gun = 24; guncharge = GunPrice[15][0]/100*mod2; ammocharge = GunPrice[32][0]*ammo;
                }
                else return SendClientMessage(playerid,-1,"Stop trying to exploit");
            }

            else if (strcmp(gunid, "shotgun", true, strlen(gunid)) == 0)
            { gun = 25; guncharge = GunPrice[19][0]/100*mod2; ammocharge = GunPrice[27][0]*ammo;}

            else if (strcmp(gunid, "country", true, strlen(gunid)) == 0)
            { gun = 33; guncharge = GunPrice[24][0]/100*mod2; ammocharge = GunPrice[30][0]*ammo;}


            else if (strcmp(gunid, "colt", true, strlen(gunid)) == 0)
            {
                gun = 22; guncharge = GunPrice[14][0]/100*mod2; ammocharge = GunPrice[26][0]*ammo;

            }

            else if(strcmp(gunid, "ammo", true, strlen(gunid)) == 0)
            {
                switch(CurrentWeapon)
                {
                    case 1 .. 18:{ SCM(playerid, COLOR_GREY,"You can't get ammo for that weapon!"); return 1; }
                    case 22:{ gun = 0; guncharge = 0; ammocharge = GunPrice[26][0]*ammo;}
                    case 23:{ gun = 0; guncharge = 0; ammocharge = GunPrice[31][0]*ammo;}
                    case 24:{ gun = 0; guncharge = 0; ammocharge = GunPrice[32][0]*ammo;}
                    case 25:{ gun = 0; guncharge = 0; ammocharge = GunPrice[27][0]*ammo;}
                    case 26:{ gun = 0; guncharge = 0; ammocharge = GunPrice[33][0]*ammo;}
                    case 27 .. 32:{ SCM(playerid, COLOR_GREY,"You can't get ammo for that weapon!"); return 1; }
                    case 33:{ gun = 0; guncharge = 0; ammocharge = GunPrice[30][0]*ammo;}
                    case 34 .. 46:{ SCM(playerid, COLOR_GREY,"You can't get ammo for that weapon!"); return 1; }
                }
            }
            else { SCM(playerid, COLOR_WHITE, "StoreKeeper: Sorry, I've never heard of such an item"); return 1;}
            if((guncharge+ammocharge) > GetPlayerCash(playerid))
            {
                format(infostring, 256, "** You don't have $%d !",guncharge+ammocharge);
                SCM(playerid, COLOR_GRAD3, infostring);
                return 1;
            }
            if(GetPlayerCash(playerid) < (guncharge+ammocharge))
            {
                SCM(playerid, COLOR_GREY, "** Can't afford that !");
                return 1;
            }
            new payout = guncharge + ammocharge;
            format(infostring, 256, "** You have purchased %s with %d ammo for $%d",gunid,ammo,payout);
            SCM(playerid, COLOR_GRAD3, infostring);
            SafeGivePlayerMoney(playerid, - payout);
            PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
            if(gun != 0)
            {
                SafeGivePlayerWeapon(playerid, gun, ammo);
            }
            else
            {
                SafeGivePlayerWeapon(playerid, CurrentWeapon, ammo);
            }
            BizzInfo[BizzEntered[playerid]][bTill] += payout / 2;
            new y, m, d;
            new h,mi,s;
            getdate(y,m,d);
            gettime(h,mi,s);
            format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /buygun %s %d ($%d)",d,m,y,h,mi,s,GPN(playerid), gunid, ammo, payout);
            PayLog(string);
        }
        else{ SCM(playerid, COLOR_WHITE,"You are not in a store."); return 1; }
    }
    return 1;
}
Why all this, just add them into dialog and it will be better !
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)