AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Rebuy and FullAmmo Primary and secondary (https://forums.alliedmods.net/showthread.php?t=328041)

AstRoid 10-23-2020 17:04

Rebuy and FullAmmo Primary and secondary
 
Hello again xd. As you can see, I'm creating my first shopping menu, and I was needing 2 little things. A rebuy to give you the weapons you bought in the menu and 2 commands for the primary and secondary ammunition (I adapted some stocks but as a test). (Like the one in the default menu of the cs, and to be charged the price of bullets)


PHP Code:

#include <amxmodx> 
#include <cstrike> 
#include <fun> 
#include <hamsandwich> 
#include <fakemeta> 
#include <nst_weapons>  
#include <jctf>

#define BuySound "NST_WeaponMenu/BuySound.wav"
#define PickWeapon "items/gunpickup2.wav"

const m_pNext 42
const m_rgpPlayerItems 367

enum _
:iListWeapon 
{
    
iName[20],
    
iCost
}
enum _:iListSpecialWeapon
{
    
iName[20],
    
iCost,
    
iAdrenaline
}
enum _:WEAPON_SLOT
{
    
WPN_RIFLE 1,
    
WPN_PISTOL,
    
WPN_KNIFE,
    
WPN_HE,
    
WPN_C4
}

new const 
iPistols[][iListWeapon] = 
{   
//Nombre - Dinero 
    
{"Glock",   400},
    {
"Usp",    500},
    {
"Fiveseven",    600},
    {
"Desert Deagle",    650},
    {
"Dual Elites",    750}
}
new const 
iShotguns[][iListWeapon] = 
{
    {
"M3",   1700},
    {
"XM1014",   3000}
}
new const 
iSubMachineGuns[][iListWeapon] = 
{
    {
"Tmp",   1250},
    {
"Mp5 Navy",   1500},
    {
"Ump45",   1700},
    {
"P90",   2350}
}
new const 
iRifles[][iListWeapon] = 
{
    {
"Famas",   2250},
    {
"Scout",   2750},
    {
"M4A1",   3100},
    {
"Aug",    3500},
    {
"PlasmaGun",    5000}

}
/*new const iMachineGuns[][iListWeapon] =
{
    {"M249",    0} 
}*/
new const iEquipment[][iListWeapon] = 
{
    {
"Kevlar",   1000},
    {
"HE Grenade",   300},
    {
"Flashbang",   200},
    {
"Smoke Grenade",   300}
}
/*new const iKnifes[][iListWeapon] =
{
    {"Default",    0} 
}*/
new const iAdre[][iListSpecialWeapon] =
{  
//Nombre - Dinero - Adrenalina
    
{"M249",    575010},
    {
"Sg550",   420020},
    {
"G3SG1",  5000,  30},
    {
"Awp",  4750,    40},
    {
"VVIP Weapons"16000100}
}

public 
plugin_init()
{
    
register_plugin("[CTF] Menu de Compra""1.0""GoodbayKOD")
    
register_clcmd("buymenu""MenuNst"// Comando para abrir el menu
    
register_clcmd("F2""Stock_Rebuy"// Comando Rebuy
}
public 
plugin_natives()
{
    
register_native("MenuNst""MenuNst"1// Native para abrir el menu por Include
}
public 
MenuNst(id

    new 
iMenu menu_create("\r[\wCTF\r]\y Menu de Compra^n\yComprar Anterior\r[\wF2\r]""MenuNst_Handler")
    
menu_additem(iMenu"Pistola""")
    
menu_additem(iMenu"Escopetas""")
    
menu_additem(iMenu"SubAmetralladoras""")
    
menu_additem(iMenu"Rifles""")
    
menu_additem(iMenu"Equipamiento""")
    
menu_additem(iMenu"\yAdrenalina^n""")
    
menu_additem(iMenu"Municion Primaria""")
    
menu_additem(iMenu"Municion Secundaria""")
    
menu_additem(iMenu"Salir""")
    
menu_setprop(iMenuMPROP_PERPAGE0)
    
menu_display(idiMenu)
    return 
PLUGIN_CONTINUE

public 
MenuNst_Handler(idiMenuiItem

    if(!
is_user_alive(id)) { menu_destroy(iMenu); return; }
    if(
iItem == MENU_EXIT) { menu_destroy(iMenu); return; }
    switch(
iItem)
    {
        case 
0MenuPistols(id)
        case 
1MenuShotguns(id)
        case 
2MenuSubMachineGuns(id)
        case 
3MenuRifles(id)
        case 
4MenuEquipment(id)
        case 
5MenuAdrenalina(id)
        case 
6: { FullAmmoPrimary(id); MenuNst(id); }
        case 
7: { FullAmmoSecondary(id); MenuNst(id); }
    }
    
menu_destroy(iMenu)
}

public 
MenuPistols(id)
{
    new 
szText[100]
    new 
iMenu menu_create("\r[\wCTF\r]\y Menu de compra: \rPistolas""MenuPistols_Handler")
    for(new 
0sizeof(iPistols); i++) 
    {
        
format(szTextcharsmax(szText), "%s%s \d[ \y$%d \d]"cs_get_user_money(id) < iPistols[i][iCost] ? "\d" ""iPistols[i][iName], iPistols[i][iCost])
        
menu_additem(iMenuszText"")
    }
    
menu_display(idiMenu)
}
public 
MenuPistols_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT) return
    if(
cs_get_user_money(id) < iPistols[iItem][iCost])
    {
        
Stock_MsgSayText(id"!g[CTF] !nTe falta dinero para comprar !t%s!n."iPistols[iItem][iName])
        
menu_destroy(iMenu)
        return
    }
    switch(
iItem
    {
        case 
0: { Stock_SetWeaponDropSlot(idWPN_PISTOL); give_item(id"weapon_glock18");  cs_set_user_bpammo(idCSW_GLOCK1890); }
        case 
1: { Stock_SetWeaponDropSlot(idWPN_PISTOL); give_item(id"weapon_usp"); cs_set_user_bpammo(idCSW_USP90); }
        case 
2: { Stock_SetWeaponDropSlot(idWPN_PISTOL); give_item(id"weapon_fiveseven"); cs_set_user_bpammo(idCSW_FIVESEVEN90); }
        case 
3: { Stock_SetWeaponDropSlot(idWPN_PISTOL); give_item(id"weapon_deagle"); cs_set_user_bpammo(idCSW_DEAGLE90); }
        case 
4: { Stock_SetWeaponDropSlot(idWPN_PISTOL); give_item(id"weapon_elite"); cs_set_user_bpammo(idCSW_ELITE90); }
    }
    
PlaySound(0BuySound)
    
cs_set_user_money(idcs_get_user_money(id) - iPistols[iItem][iCost])
    
Stock_MsgSayText(id"!g[CTF] !nCompraste !t%s!n."iPistols[iItem][iName])
    
menu_destroy(iMenu)
}
public 
MenuShotguns(id)
{
    new 
szText[100]
    new 
iMenu menu_create("\r[\wCTF\r]\y Menu de compra: \rEscopetas""MenuShotguns_Handler")
    for(new 
0sizeof(iShotguns); i++) 
    {
        
format(szTextcharsmax(szText), "%s%s \d[ \y$%d \d]"cs_get_user_money(id) < iShotguns[i][iCost] ? "\d" ""iShotguns[i][iName], iShotguns[i][iCost])
        
menu_additem(iMenuszText"")
    }
    
menu_display(idiMenu)
}
public 
MenuShotguns_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT) return
    if(
cs_get_user_money(id) < iShotguns[iItem][iCost])
    {
        
Stock_MsgSayText(id"!g[CTF] !nTe falta dinero para comprar !t%s!n."iShotguns[iItem][iName])
        
menu_destroy(iMenu)
        return
    }
    switch(
iItem
    {
        case 
0: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_m3"); cs_set_user_bpammo(idCSW_M390); }
        case 
1: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_xm1014"); cs_set_user_bpammo(idCSW_XM101490); }
    }
    
PlaySound(0BuySound)
    
cs_set_user_money(idcs_get_user_money(id) - iShotguns[iItem][iCost])
    
Stock_MsgSayText(id"!g[CTF] !nCompraste !t%s!n."iShotguns[iItem][iName])
    
menu_destroy(iMenu)
}
public 
MenuSubMachineGuns(id)
{
    new 
szText[100]
    new 
iMenu menu_create("\r[\wCTF\r]\y Menu de compra: \rSubAutomaticas""MenuSubMachineGuns_Handler")
    for(new 
0sizeof(iSubMachineGuns); i++) 
    {
        
format(szTextcharsmax(szText), "%s%s \d[ \y$%d \d]"cs_get_user_money(id) < iSubMachineGuns[i][iCost] ? "\d" ""iSubMachineGuns[i][iName], iSubMachineGuns[i][iCost])
        
menu_additem(iMenuszText"")
    }
    
menu_display(idiMenu)
}
public 
MenuSubMachineGuns_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT) return
    if(
cs_get_user_money(id) < iSubMachineGuns[iItem][iCost]) 
    {
    
Stock_MsgSayText(id"!g[CTF] !nTe falta dinero para comprar !t%s!n."iSubMachineGuns[iItem][iName])
    
menu_destroy(iMenu)
    return
    }
    switch(
iItem
    {
        case 
0: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_tmp"); cs_set_user_bpammo(idCSW_TMP90); }
        case 
1: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_mp5navy"); cs_set_user_bpammo(idCSW_MP5NAVY90); }
        case 
2: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_ump45"); cs_set_user_bpammo(idCSW_UMP4590); }
        case 
3: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_p90"); cs_set_user_bpammo(idCSW_P9090); }
    }
    
PlaySound(0BuySound)
    
cs_set_user_money(idcs_get_user_money(id) - iSubMachineGuns[iItem][iCost])
    
Stock_MsgSayText(id"!g[CTF] !nCompraste !t%s!n."iSubMachineGuns[iItem][iName])
    
menu_destroy(iMenu)     
}
public 
MenuRifles(id)
{
    new 
szText[100]
    new 
iMenu menu_create("\r[\wCTF\r]\y Menu de compra: \rRifles""MenuRifles_Handler")
    for(new 
0sizeof(iRifles); i++) 
    {
        
format(szTextcharsmax(szText), "%s%s \d[ \y$%d \d]"cs_get_user_money(id) < iRifles[i][iCost] ? "\d" ""iRifles[i][iName], iRifles[i][iCost])
        
menu_additem(iMenuszText"")
    }
    
menu_display(idiMenu)
}
public 
MenuRifles_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT) return
    if(
cs_get_user_money(id) < iRifles[iItem][iCost])
    {
        
Stock_MsgSayText(id"!g[CTF] !nTe falta dinero para comprar !t%s!n."iRifles[iItem][iName])
        
menu_destroy(iMenu)
        return
    }
    switch(
iItem
    {
        case 
0: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_famas"); cs_set_user_bpammo(idCSW_FAMAS90); }
        case 
1: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_scout"); cs_set_user_bpammo(idCSW_SCOUT90); }
        case 
2: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_m4a1"); cs_set_user_bpammo(idCSW_M4A190); }
        case 
3: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_aug"); cs_set_user_bpammo(idCSW_AUG90); }
        case 
4: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_plasma(id); }
    }
    
PlaySound(0BuySound)
    
cs_set_user_money(idcs_get_user_money(id) - iRifles[iItem][iCost])
    
Stock_MsgSayText(id"!g[CTF] !nCompraste !t%s!n."iRifles[iItem][iName])
    
menu_destroy(iMenu)
}
/*public MenuMachineGuns(id)
{
    new szText[100]
    new iMenu = menu_create("\r[\wCTT\r]\y Menu de compra: \rAmetralladoras", "MenuMachineGuns_Handler")
    for(new i = 0; i < sizeof(iMachineGuns); i++) 
    {
        format(szText, charsmax(szText), "%s%s \d[ \y$Free \d]", cs_get_user_money(id) < iMachineGuns[i][iCost] ? "\d" : "", iMachineGuns[i][iName], iMachineGuns[i][iCost])
        menu_additem(iMenu, szText, "")
    }
    menu_display(id, iMenu)
}
public MenuMachineGuns_Handler(id, iMenu, iItem)
{
    if(iItem == MENU_EXIT) return
    if(cs_get_user_money(id) < iMachineGuns[iItem][iCost])
    {
        Stock_MsgSayText(id, "!g[CTF] !nTe falta dinero para comprar !t%s!n.", iMachineGuns[iItem][iName])
        menu_destroy(iMenu)
        return
    }
    switch(iItem) 
    {
        case 0: 
        {
            Stock_SetWeaponDropSlot(id, WPN_RIFLE)
            give_item(id, "weapon_m249"); cs_set_user_bpammo(id, CSW_M249, 90)
        }
    }
    PlaySound(0, BuySound)
    cs_set_user_money(id, cs_get_user_money(id) - iMachineGuns[iItem][iCost])
    Stock_MsgSayText(id, "!g[CTF] !nCompraste !t%s!n.", iMachineGuns[iItem][iName])
    menu_destroy(iMenu)
}*/
public MenuEquipment(id)
{
    new 
szText[100]
    new 
iMenu menu_create("\r[\wCTF\r]\y Menu de compra: \rEquipamiento""MenuEquipment_Handler")
    for(new 
0sizeof(iEquipment); i++) 
    {
        
format(szTextcharsmax(szText), "%s%s \d[ \y$%d \d]"cs_get_user_money(id) < iEquipment[i][iCost] ? "\d" ""iEquipment[i][iName], iEquipment[i][iCost])
        
menu_additem(iMenuszText"")
    }
    
menu_display(idiMenu)
}
public 
MenuEquipment_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT) return
    if(
cs_get_user_money(id) < iEquipment[iItem][iCost])
    {
        
Stock_MsgSayText(id"!g[CTF] !nTe falta dinero para comprar !t%s!n."iEquipment[iItem][iName])
        
menu_destroy(iMenu)
        return
    }
    switch(
iItem
    {
       case 
0cs_set_user_armor(id100CS_ARMOR_VESTHELM)     
       case 
1give_item(id"weapon_hegrenade")
       case 
2give_item(id"weapon_flashbang")
       case 
3give_item(id"weapon_smokegrenade")
    } 
    
PlaySound(0BuySound)
    
cs_set_user_money(idcs_get_user_money(id) - iEquipment[iItem][iCost])
    
Stock_MsgSayText(id"!g[CTF] !nCompraste !t%s!n."iEquipment[iItem][iName])
    
menu_destroy(iMenu)
}
/*public MenuKnifes(id)
{
    new szText[100]
    new iMenu = menu_create("\r[\wCTT\r]\y Menu de compra: \rCuchillos", "MenuMenuKnifes_Handler")
    for(new i = 0; i < sizeof(iKnifes); i++) 
    {
        format(szText, charsmax(szText), "%s%s \d[ \y$Free \d]", cs_get_user_money(id) < iKnifes[i][iCost] ? "\d" : "", iKnifes[i][iName], iKnifes[i][iCost])
        menu_additem(iMenu, szText, "")
    }
    menu_display(id, iMenu)
}
public MenuMenuKnifes_Handler(id, iMenu, iItem)
{
    if(iItem == MENU_EXIT) return
    if(cs_get_user_money(id) < iKnifes[iItem][iCost])
    {
        Stock_MsgSayText(id, "!g[CTF] !nTe falta dinero para comprar !t%s!n.", iKnifes[iItem][iName])
        menu_destroy(iMenu)
        return
    }
    switch(iItem) 
    {
        case 0: 
        {
            Stock_SetWeaponDropSlot(id, WPN_RIFLE)
            give_item(id, "weapon_m249"); cs_set_user_bpammo(id, CSW_M249, 90)
        }
    }
    PlaySound(0, BuySound)
    cs_set_user_money(id, cs_get_user_money(id) - iKnifes[iItem][iCost])
    Stock_MsgSayText(id, "!g[CTF] !nCompraste !t%s!n.", iKnifes[iItem][iName])
    menu_destroy(iMenu)
}*/
public MenuAdrenalina(id)
{
    new 
szText[100]
    new 
iMenu menu_create("\r[\wCTF\r]\y Menu de compra: \rAdrenalina""MenuAdre_Handler")
    for(new 
0sizeof(iAdre); i++) 
    {
        
format(szTextcharsmax(szText), "%s%s \d[ \y%d \d] \d[ \y$%d \d] "jctf_get_adrenaline(id) < iAdre[i][iAdrenaline] || cs_get_user_money(id) < iAdre[i][iCost] ? "\d" ""iAdre[i][iName], iAdre[i][iAdrenaline], iAdre[i][iCost])
        
menu_additem(iMenuszText"")
    }
    
menu_display(idiMenu)
}
public 
MenuAdre_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT) return
    if(
jctf_get_adrenaline(id) < iAdre[iItem][iAdrenaline] || cs_get_user_money(id) < iAdre[iItem][iCost])
    {
        
Stock_MsgSayText(id"!g[CTF] !nTe falta adrenalina para comprar !t%s!n."iAdre[iItem][iName])
        
menu_destroy(iMenu)
        return
    }
    switch(
iItem
    {
        case 
0: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_m249"); cs_set_user_bpammo(idCSW_M24990); }
        case 
1: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_sg550"); cs_set_user_bpammo(idCSW_SG55090); }
        case 
2: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_g3sg1"); cs_set_user_bpammo(idCSW_G3SG190); }
        case 
3: { Stock_SetWeaponDropSlot(idWPN_RIFLE); give_item(id"weapon_awp"); cs_set_user_bpammo(idCSW_AWP90); }
        case 
4: { Stock_SetWeaponDropSlot(idWPN_PISTOL); Stock_SetWeaponDropSlot(idWPN_RIFLE); give_void(id); give_lf(id); }    
    } 
    
PlaySound(0BuySound)
    
jctf_add_adrenaline(id, - iAdre[iItem][iAdrenaline])
    
cs_set_user_money(idcs_get_user_money(id) - iAdre[iItem][iCost])
    
Stock_MsgSayText(id"!g[CTF] !nCompraste !t%s!n."iAdre[iItem][iName])
    
menu_destroy(iMenu)
}
stock Stock_MsgSayText(id, const szText[], any:...) // Stock de ColorChat New
{
    static 
szMsg[128]
    
vformat(szMsgcharsmax(szMsg), szText3)
    
replace_all(szMsgcharsmax(szMsg), "!g""^x04")   // Color Verde
    
replace_all(szMsgcharsmax(szMsg), "!n""^x01")   // Color Normal (Amarillo)
    
replace_all(szMsgcharsmax(szMsg), "!t""^x03")   // Color de equipo (CT = Celeste | TT = Rojo)
    
static iMsgSayText
    
if(!iMsgSayTextiMsgSayText get_user_msgid("SayText")
    
message_begin(id MSG_ONE MSG_ALLiMsgSayText, {0,0,0}, id)
    
write_byte(1)
    
write_string(szMsg)
    
message_end()
}
stock Stock_SetWeaponDropSlot(idiSlot// Stock de Dropeo de Arma
{
    new 
szName[24]
    new 
iItem get_pdata_cbase(idm_rgpPlayerItems iSlot5)
    while(
iItem 0)
    {
        
pev(iItempev_classnameszName23)
        
engclient_cmd(id"drop"szName)
        
iItem get_pdata_cbase(iItemm_pNext4)
    }
    
set_pdata_cbase(idm_rgpPlayerItems iSlot, -15)
}
stock FullAmmoPrimary(id// Stock de Full Municion Primaria
{
    
PlaySound(0PickWeapon)
    
cs_set_user_bpammo(idCSW_UMP4590)
    
cs_set_user_bpammo(idCSW_AK4790)
    
cs_set_user_bpammo(idCSW_AUG90)
    
cs_set_user_bpammo(idCSW_AWP90)
    
cs_set_user_bpammo(idCSW_FAMAS90)
    
cs_set_user_bpammo(idCSW_G3SG190)
    
cs_set_user_bpammo(idCSW_GALIL90)
    
cs_set_user_bpammo(idCSW_M24990)
    
cs_set_user_bpammo(idCSW_M390)
    
cs_set_user_bpammo(idCSW_M4A190)
    
cs_set_user_bpammo(idCSW_MAC1090)
    
cs_set_user_bpammo(idCSW_MP5NAVY90)
    
cs_set_user_bpammo(idCSW_P22890)
    
cs_set_user_bpammo(idCSW_P9090)
    
cs_set_user_bpammo(idCSW_SG55090)
    
cs_set_user_bpammo(idCSW_SG55290)
    
cs_set_user_bpammo(idCSW_TMP90)
    
cs_set_user_bpammo(idCSW_XM101490)
}
stock FullAmmoSecondary(id// Stock de Full Municion Secundaria
{
    
PlaySound(0PickWeapon)
    
cs_set_user_bpammo(idCSW_DEAGLE90)
    
cs_set_user_bpammo(idCSW_ELITE90)
    
cs_set_user_bpammo(idCSW_FIVESEVEN90)
    
cs_set_user_bpammo(idCSW_GLOCK1890)
    
cs_set_user_bpammo(idCSW_P22890)
    
cs_set_user_bpammo(idCSW_USP90)
}
stock PlaySound(id, const iSound[]) // Stock de Sonido/Musica
{
    if (
equal(iSound[strlen(iSound)-4], ".mp3"))
        
client_cmd(id"mp3 play ^"sound/%s^""iSound)
    else
        
client_cmd(id"spk ^"%s^""iSound)




All times are GMT -4. The time now is 13:56.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.