Raised This Month: $12 Target: $400
 3% 

shop menu


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
yagami
Senior Member
Join Date: Jan 2021
Old 07-20-2023 , 23:24   shop menu
Reply With Quote #1

Here I am again, with one more doubt I wanted a simple cash menu I managed to add natives everything right but I can't call anything
the weapons I know call I know how to do this part alone, but how to do double damage, inisivilidade, speed, without native ?

PHP Code:
#include <amxmodx> 
#include <amxmisc> 
#include <cstrike> 
#include <fun> 

native csr_get_user_points(id);
native csr_set_user_points(idamount);
native csr_save_user_points(id)



public 
plugin_init()
{
    
register_plugin("Shop Menu""1.0""SETT")

    
register_clcmd("say /loja""xShopMenu")
}

public 
xShopMenu(id)
{
    new 
szTitle[256]
    
formatex(szTitlecharsmax(szTitle), "Shop Menu")

    new 
pMenu menu_create(szTitle"xShopMenuHandle")

    
formatex(szTitlecharsmax(szTitle), "Damage 2x[Doubre Damage][]150");
    
menu_additem(pMenuszTitle"1");

    
formatex(szTitlecharsmax(szTitle), "Invisibility[15 Second][]500");
    
menu_additem(pMenuszTitle"2");

    
formatex(szTitlecharsmax(szTitle), "Regenerating Life[Regeret Life][300]");
    
menu_additem(pMenuszTitle"3");

    
formatex(szTitlecharsmax(szTitle), "Speed[15][]201");
    
menu_additem(pMenuszTitle"4");

    
formatex(szTitlecharsmax(szTitle), "Ice Grenade[Freeze][300]");
    
menu_additem(pMenuszTitle"5");      

    
formatex(szTitlecharsmax(szTitle), "AWP[Weapon][120]");
    
menu_additem(pMenuszTitle"6");

    
formatex(szTitlecharsmax(szTitle), "TEC TE[Weapon][]120");
    
menu_additem(pMenuszTitle"7");

    
formatex(szTitlecharsmax(szTitle), "Scout[Weapon][110]");
    
menu_additem(pMenuszTitle"8");

    
formatex(szTitlecharsmax(szTitle), "KIT Granada[Grandes][80]");
    
menu_additem(pMenuszTitle"9");

    
menu_setprop(pMenuMPROP_EXITMEXIT_ALL)
    
menu_setprop(pMenuMPROP_BACKNAME"Voltar")
    
menu_setprop(pMenuMPROP_NEXTNAME"Proximo")
    
menu_setprop(pMenuMPROP_EXITNAME"Sair")

    
menu_display(idpMenu0)

    return 
PLUGIN_HANDLED
}

public 
xShopMenuHandle(idpMenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(pMenu)
        return 
PLUGIN_HANDLED
    
}

    switch(
item)
    {
        case 
0:
        {
            if

        }
        case 
1:
        {

        }
        case 
2:
        {

        }
        case 
3:
        {

        }
        case 
4:
        {

        }
        case 
5:
        {

        }
        case 
6:
        {

        }
        case 
7:
        {

        }
        case 
8:
        {

        }
        case 
9:
        {

        }
    }
    return 
PLUGIN_HANDLED

yagami is offline
lexzor
Veteran Member
Join Date: Nov 2020
Old 07-21-2023 , 05:17   Re: shop menu
Reply With Quote #2

Code:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <hamsandwich> native csr_get_user_points(id); native csr_set_user_points(id, amount); native csr_save_user_points(id); static const NO_POWER_SELECTED = -1 static const TASK_RESET_POWER = 13312 enum {     DOUBLE_DAMAGE,     INVISIBILITY } new g_iCurrentPower[MAX_PLAYERS + 1] public plugin_init() {     register_plugin("Shop Menu", "1.0", "SETT")     register_clcmd("say /loja", "xShopMenu")     RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamage_Pre", 0) } public Ham_TakeDamage_Pre(const iVictim, const iAttacker, Float:fDamage, iDamgeBits) {     if(iVictim == iAttacker)     {         return HAM_IGNORED     }     //check everytime someone get damage if it's attacker has de double damage power selected     if(g_iCurrentPower[iAttacker] == DOUBLE_DAMAGE)     {         //set the damage value x2         SetHamParamFloat(4, fDamage * 2.0)         return HAM_HANDLED     }     return HAM_IGNORED } public client_connect(id) {     g_iCurrentPower[id] = NO_POWER_SELECTED } public xShopMenu(id) {     new szTitle[256]     formatex(szTitle, charsmax(szTitle), "Shop Menu")     new pMenu = menu_create(szTitle, "xShopMenuHandle")     formatex(szTitle, charsmax(szTitle), "Damage 2x[Doubre Damage][]150");     menu_additem(pMenu, szTitle, "1");     formatex(szTitle, charsmax(szTitle), "Invisibility[15 Second][]500");     //you are using data parametere of menu_additem wrong, loon in item handler     menu_additem(pMenu, szTitle, "2");     menu_setprop(pMenu, MPROP_EXIT, MEXIT_ALL)     menu_setprop(pMenu, MPROP_BACKNAME, "Voltar")     menu_setprop(pMenu, MPROP_NEXTNAME, "Proximo")     menu_setprop(pMenu, MPROP_EXITNAME, "Sair")     menu_display(id, pMenu, 0)     // you don't need that in that case if you don't use return in your function     // return PLUGIN_HANDLED } public xShopMenuHandle(id, pMenu, item) {     if(item == MENU_EXIT)     {         menu_destroy(pMenu)         return PLUGIN_HANDLED     }     /**         item value it's the value of the pressed user button, if you want to use that data parameter of the menu_additem to something like this      */     new szMenuItemData[3]     menu_item_getinfo(pMenu, item, _, szMenuItemData, charsmax(szMenuItemData), _, _, _)     new iMenuItemData = str_to_num(szMenuItemData)     client_print(id, print_chat, "Yay, u pressed button %i but it's data is  %i", item, iMenuItemData)     switch(item)     {         case 0:         {             //let's say the user choose the damage button             //you set him the power             g_iCurrentPower[id] = DOUBLE_DAMAGE             //don't forget you want to reset it, let's say you want to give him this power 30 seconds             set_task(30.0, "reset_user_power", id + TASK_RESET_POWER)         }         case 1:         {         }     }     return PLUGIN_HANDLED } public reset_user_power(id) {     id -= TASK_RESET_POWER     g_iCurrentPower[id] = NO_POWER_SELECTED }
lexzor is offline
yagami
Senior Member
Join Date: Jan 2021
Old 07-21-2023 , 15:41   Re: shop menu
Reply With Quote #3

Quote:
Originally Posted by lexzor View Post
Code:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <hamsandwich> native csr_get_user_points(id); native csr_set_user_points(id, amount); native csr_save_user_points(id); static const NO_POWER_SELECTED = -1 static const TASK_RESET_POWER = 13312 enum {     DOUBLE_DAMAGE,     INVISIBILITY } new g_iCurrentPower[MAX_PLAYERS + 1] public plugin_init() {     register_plugin("Shop Menu", "1.0", "SETT")     register_clcmd("say /loja", "xShopMenu")     RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamage_Pre", 0) } public Ham_TakeDamage_Pre(const iVictim, const iAttacker, Float:fDamage, iDamgeBits) {     if(iVictim == iAttacker)     {         return HAM_IGNORED     }     //check everytime someone get damage if it's attacker has de double damage power selected     if(g_iCurrentPower[iAttacker] == DOUBLE_DAMAGE)     {         //set the damage value x2         SetHamParamFloat(4, fDamage * 2.0)         return HAM_HANDLED     }     return HAM_IGNORED } public client_connect(id) {     g_iCurrentPower[id] = NO_POWER_SELECTED } public xShopMenu(id) {     new szTitle[256]     formatex(szTitle, charsmax(szTitle), "Shop Menu")     new pMenu = menu_create(szTitle, "xShopMenuHandle")     formatex(szTitle, charsmax(szTitle), "Damage 2x[Doubre Damage][]150");     menu_additem(pMenu, szTitle, "1");     formatex(szTitle, charsmax(szTitle), "Invisibility[15 Second][]500");     //you are using data parametere of menu_additem wrong, loon in item handler     menu_additem(pMenu, szTitle, "2");     menu_setprop(pMenu, MPROP_EXIT, MEXIT_ALL)     menu_setprop(pMenu, MPROP_BACKNAME, "Voltar")     menu_setprop(pMenu, MPROP_NEXTNAME, "Proximo")     menu_setprop(pMenu, MPROP_EXITNAME, "Sair")     menu_display(id, pMenu, 0)     // you don't need that in that case if you don't use return in your function     // return PLUGIN_HANDLED } public xShopMenuHandle(id, pMenu, item) {     if(item == MENU_EXIT)     {         menu_destroy(pMenu)         return PLUGIN_HANDLED     }     /**         item value it's the value of the pressed user button, if you want to use that data parameter of the menu_additem to something like this      */     new szMenuItemData[3]     menu_item_getinfo(pMenu, item, _, szMenuItemData, charsmax(szMenuItemData), _, _, _)     new iMenuItemData = str_to_num(szMenuItemData)     client_print(id, print_chat, "Yay, u pressed button %i but it's data is  %i", item, iMenuItemData)     switch(item)     {         case 0:         {             //let's say the user choose the damage button             //you set him the power             g_iCurrentPower[id] = DOUBLE_DAMAGE             //don't forget you want to reset it, let's say you want to give him this power 30 seconds             set_task(30.0, "reset_user_power", id + TASK_RESET_POWER)         }         case 1:         {         }     }     return PLUGIN_HANDLED } public reset_user_power(id) {     id -= TASK_RESET_POWER     g_iCurrentPower[id] = NO_POWER_SELECTED }


Correct now ? how will I do , speed, invisibility, regenerate life, and how does it show time when I use it ?








PHP Code:
#include <amxmodx> 
#include <amxmisc> 
#include <cstrike> 
#include <fun> 
#include <hamsandwich>

native csr_get_user_points(id);
native csr_set_user_points(idamount);

static const 
NO_POWER_SELECTED = -1
static const TASK_RESET_POWER 13312

enum
{
    
DOUBLE_DAMAGE,
    
INVISIBILITY,
    
REGLIFE
    
SPEED

}


enum _:g_Mag_Cvar
{
    
CVAR_DAMAGE_PRICE,
    
CVAR_INVISI_PRICE,
    
CVAR_REGLIFE_PRICE,
    
CVAR_SPEED_PRICE,
    
CVAR_ICE_PRICE
    
CVAR_AWP_PRICE,
    
CVAR_TECTEC_PRICE,
    
CVAR_SCOUT_PRICE,
    
CVAR_GRENADE_PRICE,
    
CVAR_SHIELD_PRICE


}

new 
g_Cvar[g_Mag_Cvar], pCash[33]
new 
g_iCurrentPower[MAX_PLAYERS 1]

public 
plugin_init()
{
    
register_plugin("Shop Menu""1.0""SETT")

    
RegisterHam(Ham_TakeDamage"player""Ham_TakeDamage_Pre"0)

    
g_Cvar[CVAR_DAMAGE_PRICE] = create_cvar("csr_damage""500")
    
g_Cvar[CVAR_INVISI_PRICE] = create_cvar("csr_invisibily""500")
    
g_Cvar[CVAR_REGLIFE_PRICE] = create_cvar("csr_reglife""500")
    
g_Cvar[CVAR_SPEED_PRICE] = create_cvar("csr_speed""500")
    
g_Cvar[CVAR_ICE_PRICE] = create_cvar("csr_ice""500")
    
g_Cvar[CVAR_AWP_PRICE] = create_cvar("csr_awp""500")
    
g_Cvar[CVAR_TECTEC_PRICE] = create_cvar("csr_tec""500")
    
g_Cvar[CVAR_SCOUT_PRICE] = create_cvar("csr_scout""500")
    
g_Cvar[CVAR_GRENADE_PRICE] = create_cvar("csr_grenade""500")
    
g_Cvar[CVAR_SHIELD_PRICE] = create_cvar("csr_grenade""500")


    
register_clcmd("say /loja""xShopMenu")
}

public 
Ham_TakeDamage_Pre(const iVictim, const iAttackerFloat:fDamageiDamgeBits)
{
    if(
iVictim == iAttacker)
    {
        return 
HAM_IGNORED
    
}

    
//check everytime someone get damage if it's attacker has de double damage power selected 
    
if(g_iCurrentPower[iAttacker] == DOUBLE_DAMAGE)
    {
        
//set the damage value x2
        
SetHamParamFloat(4fDamage 2.0)
        return 
HAM_HANDLED
    
}

    return 
HAM_IGNORED
}

public 
client_connect(id)
{
    
g_iCurrentPower[id] = NO_POWER_SELECTED
}

public 
xShopMenu(id)
{
    new 
szTitle[256]
    
formatex(szTitlecharsmax(szTitle), "\rShop Menu \d|| \wExtra items^n \dCASH %d"csr_get_user_points(id))

    new 
pMenu menu_create(szTitle"xShopMenuHandle")

    
formatex(szTitlecharsmax(szTitle), "Damage 2x \r[Doubre Damage] \d[%d]"get_pcvar_num(g_Cvar[CVAR_DAMAGE_PRICE])),
    
menu_additem(pMenuszTitle"0");

    
formatex(szTitlecharsmax(szTitle), "Invisibility \r[15 Second] \d[%d]"get_pcvar_num(g_Cvar[CVAR_INVISI_PRICE])),
    
menu_additem(pMenuszTitle"1");

    
formatex(szTitlecharsmax(szTitle), "Regenerating Life \r[Regeret Life] \d[%d]"get_pcvar_num(g_Cvar[CVAR_REGLIFE_PRICE])),
    
menu_additem(pMenuszTitle"2");

    
formatex(szTitlecharsmax(szTitle), "Speed \r[15] \d[%d]"get_pcvar_num(g_Cvar[CVAR_SPEED_PRICE]));
    
menu_additem(pMenuszTitle"3"),

    
formatex(szTitlecharsmax(szTitle), "Ice Grenade \r[Freeze] \d[%d]"get_pcvar_num(g_Cvar[CVAR_ICE_PRICE])),
    
menu_additem(pMenuszTitle"4");      

    
formatex(szTitlecharsmax(szTitle), "AWP \r[Weapon] \d[%d]"get_pcvar_num(g_Cvar[CVAR_AWP_PRICE])),
    
menu_additem(pMenuszTitle"5");

    
formatex(szTitlecharsmax(szTitle), "TEC TEC \r[Weapon] \d[%d]"get_pcvar_num(g_Cvar[CVAR_TECTEC_PRICE])),
    
menu_additem(pMenuszTitle"6");

    
formatex(szTitlecharsmax(szTitle), "Scout \r[Weapon] \d[%d]"get_pcvar_num(g_Cvar[CVAR_SCOUT_PRICE])),
    
menu_additem(pMenuszTitle"7");

    
formatex(szTitlecharsmax(szTitle), "KIT Grenade \r[Grenade] \r[%d]"get_pcvar_num(g_Cvar[CVAR_GRENADE_PRICE])),
    
menu_additem(pMenuszTitle"8");

    
formatex(szTitlecharsmax(szTitle), "KIT Grenade \r[Grenade] \r[%d]"get_pcvar_num(g_Cvar[CVAR_SHIELD_PRICE])),
    
menu_additem(pMenuszTitle"9");


    
menu_setprop(pMenuMPROP_EXITMEXIT_ALL)
    
menu_setprop(pMenuMPROP_BACKNAME"Voltar")
    
menu_setprop(pMenuMPROP_NEXTNAME"Proximo")
    
menu_setprop(pMenuMPROP_EXITNAME"Sair")

    
menu_display(idpMenu0)

    return 
PLUGIN_HANDLED
}

public 
xShopMenuHandle(idpMenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(pMenu)
        return 
PLUGIN_HANDLED
    
}

    new 
szData[6], szName[64], accesscallback;
    
menu_item_getinfo(pMenuitemaccessszDatacharsmax(szData), szNamecharsmax(szName), callback);

    
pCash[id] = csr_get_user_points(id)

    new 
pKey str_to_num(szData)
    {
        switch(
pKey)
        {
            case 
0:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_DAMAGE_PRICE]))
                {
                    
g_iCurrentPower[id] = DOUBLE_DAMAGE
                    set_task
(30.0"reset_user_power"id TASK_RESET_POWER)
                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")

                }
            }
            case 
1:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_INVISI_PRICE]))
                {

                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }
            }
            case 
2:
            { 
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_REGLIFE_PRICE]))
                {

                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }

            }
            case 
3:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_SPEED_PRICE]))
                {

                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }

            }
            case 
4:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_ICE_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_ICE_PRICE])))
                    
//client_cmd("say /frostnade")
                    
client_print_color(idprint_team_default"You Have Bought ICE")
                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }

            }
            case 
5:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_AWP_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_AWP_PRICE])))
                    
give_item(id"weapon_awp")
                    
client_print_color(idprint_team_default"You Have Bought AWP")
                }
                else
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                } 

            }
            case 
6:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_TECTEC_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_TECTEC_PRICE])))
                    
give_item(id"weapon_awp")
                    
client_print_color(idprint_team_default"You Have Bought TEC TEC")
                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }
            }
            case 
7:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_SCOUT_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_SCOUT_PRICE])))
                    
give_item(id"weapon_scout")
                    
client_print_color(idprint_team_default"You Have Bought SCOUT")

                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }
            }
            case 
8:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_GRENADE_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_GRENADE_PRICE])))
                    
give_item(id"weapon_hegranade")
                    
give_item(id"weapon_smokegrenade")
                    
give_item(id"weapon_flashbang")
                    
client_print_color(idprint_team_default"You Have Bought KIT")

                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }
            }
            case 
9:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_SHIELD_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_SHIELD_PRICE])))
                    
give_item(id"weapon_shield")
                    
client_print_color(idprint_team_default"You Have Bought SHIELD")               
                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }
            }
        }
    }
    return 
PLUGIN_HANDLED
}


public 
reset_user_power(id)
{
    
id -= TASK_RESET_POWER

    g_iCurrentPower
[id] = NO_POWER_SELECTED

yagami is offline
yagami
Senior Member
Join Date: Jan 2021
Old 07-21-2023 , 21:42   Re: shop menu
Reply With Quote #4

Someone can help me finish code please, I think only missing speed, and event_playerkiller
for when the player dies if he had using
2x Damage, Invisibility, Regenerate Life, Speed, he loses his powers

This is the best I could do with my knowledge and with other plugins that helped me.
I know the code is horrible, sorry.

PHP Code:
#include <amxmodx> 
#include <amxmisc> 
#include <cstrike>
#include <fakemeta> 
#include <fun> 
#include <hamsandwich>

native Float:halflife_time();
native csr_get_user_points(id);
native csr_set_user_points(idamount);

static const 
NO_POWER_SELECTED = -1
static const TASK_RESET_POWER 13312
static const TASK_HP 55443

enum
{
    
DOUBLE_DAMAGE,
    
INVISIBILITY,
    
REGLIFE
    
SPEED

}


enum _:g_Mag_Cvar
{
    
CVAR_DAMAGE_PRICE,
    
CVAR_INVISI_PRICE,
    
CVAR_REGLIFE_PRICE,
    
CVAR_SPEED_PRICE,
    
CVAR_ICE_PRICE
    
CVAR_AWP_PRICE,
    
CVAR_TECTEC_PRICE,
    
CVAR_SCOUT_PRICE,
    
CVAR_GRENADE_PRICE,
    
CVAR_SHIELD_PRICE


}

new 
g_Cvar[g_Mag_Cvar], pCash[33]
new 
g_iCurrentPower[MAX_PLAYERS 1]
new 
bool:g_iBuy[MAX_PLAYERS]
new 
Float:fPtime[MAX_PLAYERS]
new 
bool:buyed[MAX_PLAYERS]


public 
plugin_init()
{
    
register_plugin("Shop Menu""1.0""SETT")

    
RegisterHam(Ham_TakeDamage"player""Ham_TakeDamage_Pre"0)
    
register_forward(FM_AddToFullPack"AddToFullPack"1)

    
g_Cvar[CVAR_DAMAGE_PRICE] = create_cvar("csr_damage""10")
    
g_Cvar[CVAR_INVISI_PRICE] = create_cvar("csr_invisibily""10")
    
g_Cvar[CVAR_REGLIFE_PRICE] = create_cvar("csr_reglife""10")
    
g_Cvar[CVAR_SPEED_PRICE] = create_cvar("csr_speed""10")
    
g_Cvar[CVAR_ICE_PRICE] = create_cvar("csr_ice""10")
    
g_Cvar[CVAR_AWP_PRICE] = create_cvar("csr_awp""10")
    
g_Cvar[CVAR_TECTEC_PRICE] = create_cvar("csr_tec""10")
    
g_Cvar[CVAR_SCOUT_PRICE] = create_cvar("csr_scout""10")
    
g_Cvar[CVAR_GRENADE_PRICE] = create_cvar("csr_grenade""10")
    
g_Cvar[CVAR_SHIELD_PRICE] = create_cvar("csr_grenade""10")


    
register_clcmd("say /loja""xShopMenu")
}

public 
Ham_TakeDamage_Pre(const iVictim, const iAttackerFloat:fDamageiDamgeBits)
{
    if(
iVictim == iAttacker)
    {
        return 
HAM_IGNORED
    
}
 
    if(
g_iCurrentPower[iAttacker] == DOUBLE_DAMAGE)
    {
        
SetHamParamFloat(4fDamage 2.0)
        return 
HAM_HANDLED
    
}

    return 
HAM_IGNORED
}

public 
client_disconnected(id)
{
    
g_iBuy[id] = false
}

public 
client_putinserver(id)
{
    if(
g_iBuy[id] || task_exists(id+TASK_HP))
    {
        
remove_task(id+TASK_HP)
        
g_iBuy[id] = false
    
}
}

public 
client_connect(id)
{
    
g_iCurrentPower[id] = NO_POWER_SELECTED
}

public 
xShopMenu(id)
{
    new 
szTitle[256]
    
formatex(szTitlecharsmax(szTitle), "\rShop Menu \d|| \wExtra items^n \dCASH %d"csr_get_user_points(id))

    new 
pMenu menu_create(szTitle"xShopMenuHandle")

    
formatex(szTitlecharsmax(szTitle), "Damage 2x \r[Doubre Damage] \d[%d]"get_pcvar_num(g_Cvar[CVAR_DAMAGE_PRICE])),
    
menu_additem(pMenuszTitle"0");

    
formatex(szTitlecharsmax(szTitle), "Invisibility \r[15 Second] \d[%d]"get_pcvar_num(g_Cvar[CVAR_INVISI_PRICE])),
    
menu_additem(pMenuszTitle"1");

    
formatex(szTitlecharsmax(szTitle), "Regenerating Life \r[Regeret Life] \d[%d]"get_pcvar_num(g_Cvar[CVAR_REGLIFE_PRICE])),
    
menu_additem(pMenuszTitle"2");

    
formatex(szTitlecharsmax(szTitle), "Speed \r[15] \d[%d]"get_pcvar_num(g_Cvar[CVAR_SPEED_PRICE]));
    
menu_additem(pMenuszTitle"3"),

    
formatex(szTitlecharsmax(szTitle), "Ice Grenade \r[Freeze] \d[%d]"get_pcvar_num(g_Cvar[CVAR_ICE_PRICE])),
    
menu_additem(pMenuszTitle"4");      

    
formatex(szTitlecharsmax(szTitle), "AWP \r[Weapon] \d[%d]"get_pcvar_num(g_Cvar[CVAR_AWP_PRICE])),
    
menu_additem(pMenuszTitle"5");

    
formatex(szTitlecharsmax(szTitle), "TEC TEC \r[Weapon] \d[%d]"get_pcvar_num(g_Cvar[CVAR_TECTEC_PRICE])),
    
menu_additem(pMenuszTitle"6");

    
formatex(szTitlecharsmax(szTitle), "Scout \r[Weapon] \d[%d]"get_pcvar_num(g_Cvar[CVAR_SCOUT_PRICE])),
    
menu_additem(pMenuszTitle"7");

    
formatex(szTitlecharsmax(szTitle), "KIT Grenade \r[Grenade] \r[%d]"get_pcvar_num(g_Cvar[CVAR_GRENADE_PRICE])),
    
menu_additem(pMenuszTitle"8");

    
formatex(szTitlecharsmax(szTitle), "KIT Grenade \r[Grenade] \r[%d]"get_pcvar_num(g_Cvar[CVAR_SHIELD_PRICE])),
    
menu_additem(pMenuszTitle"9");


    
menu_setprop(pMenuMPROP_EXITMEXIT_ALL)
    
menu_setprop(pMenuMPROP_BACKNAME"Voltar")
    
menu_setprop(pMenuMPROP_NEXTNAME"Proximo")
    
menu_setprop(pMenuMPROP_EXITNAME"Sair")

    
menu_display(idpMenu0)

    return 
PLUGIN_HANDLED
}

public 
xShopMenuHandle(idpMenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(pMenu)
        return 
PLUGIN_HANDLED
    
}

    new 
szData[6], szName[64], accesscallback;
    
menu_item_getinfo(pMenuitemaccessszDatacharsmax(szData), szNamecharsmax(szName), callback);

    
pCash[id] = csr_get_user_points(id)

    new 
pKey str_to_num(szData)
    {
        switch(
pKey)
        {
            case 
0:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_DAMAGE_PRICE]))
                {
                    if(
is_user_alive(id))
                    {
                        
g_iCurrentPower[id] = DOUBLE_DAMAGE
                        set_task
(30.0"reset_user_power"id TASK_RESET_POWER)
                    }
                    else 
                    {
                        
client_print_color(idprint_team_default"Voce Precisa esta vivo")

                    }
                }
                else 
                {
                    
client_print_color(idprint_team_default"Voce não tem cash")
                }
            }
            case 
1:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_INVISI_PRICE]))
                {
                    if(
is_user_alive(id))
                    {
                        if(
buyed[id])
                        {
                            
client_print_color(idprint_team_default"It is not possible to buy this item again while it is in use")
                            return 
PLUGIN_HANDLED
                        
}

                        
fPtime[id] = halflife_time() + 20
                        buyed
[id] = true
                        client_print_color
(idprint_team_default"You bought invisibility for 20 seconds")

                        return 
PLUGIN_HANDLED
                    
}
                    else 
                    {
                        
client_print_color(idprint_team_default"You need to be alive")
                                           
                    }

                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }
            }
            case 
2:
            { 
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_REGLIFE_PRICE]))
                {
                    if(
is_user_alive(id))
                    {
                        if(
g_iBuy[id] || task_exists(id+TASK_HP))
                        {
                            
client_print_color(idprint_team_default"It is not possible to buy this item again while it is in use")
                            return 
PLUGIN_HANDLED
                        
}

                        
g_iBuy[id] = true 
                        set_task
(0.25"player_AdrenalineDrain"id+TASK_HP, .flags="b")
                        
client_print_color(idprint_team_default"You bought the regeneration of life")
                    }
                    else 
                    {
                        
client_print_color(idprint_team_default"You need to be alive")
                    }
                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }

            }
            case 
3:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_SPEED_PRICE]))
                {

                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }

            }
            case 
4:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_ICE_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_ICE_PRICE])))
                    
//client_cmd("say /frostnade")
                    
client_print_color(idprint_team_default"You Have Bought ICE")
                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }

            }
            case 
5:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_AWP_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_AWP_PRICE])))
                    
give_item(id"weapon_awp")
                    
client_print_color(idprint_team_default"You Have Bought AWP")
                }
                else
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                } 

            }
            case 
6:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_TECTEC_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_TECTEC_PRICE])))
                    
give_item(id"weapon_awp")
                    
client_print_color(idprint_team_default"You Have Bought TEC TEC")
                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }
            }
            case 
7:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_SCOUT_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_SCOUT_PRICE])))
                    
give_item(id"weapon_scout")
                    
client_print_color(idprint_team_default"You Have Bought SCOUT")

                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }
            }
            case 
8:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_GRENADE_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_GRENADE_PRICE])))
                    
give_item(id"weapon_hegranade")
                    
give_item(id"weapon_smokegrenade")
                    
give_item(id"weapon_flashbang")
                    
client_print_color(idprint_team_default"You Have Bought KIT")

                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }
            }
            case 
9:
            {
                if(
pCash[id] >= get_pcvar_num(g_Cvar[CVAR_SHIELD_PRICE]))
                {
                    
csr_set_user_points(idclamp(pCash[id] - get_pcvar_num(g_Cvar[CVAR_SHIELD_PRICE])))
                    
give_item(id"weapon_shield")
                    
client_print_color(idprint_team_default"You Have Bought SHIELD")               
                }
                else 
                {
                    
client_print_color(idprint_team_default"You Dont Have Enough Cash")
                }
            }
        }
    }
    return 
PLUGIN_HANDLED
}


public 
reset_user_power(id)
{
    
id -= TASK_RESET_POWER

    g_iCurrentPower
[id] = NO_POWER_SELECTED
}

public 
AddToFullPack(eseenthostflagsplayerset)
{
    if(!
player)
    {
        return
    }
    
    if(
buyed[ent])
    {
        
set_es(esES_EffectsEF_NODRAW)
        
client_print(entprint_center"Invisibility: %0.1f segundo%s"fPtime[ent] - halflife_time(), (fPtime[ent] - halflife_time() > 1.9 "s" ""))
        if(
halflife_time() >= fPtime[ent] - 0.1)
        {
            
client_print_color(entprint_team_default"You have finished the 20 seconds of invisibility")
            
buyed[ent] = false
        
}
    }
}


public 
player_AdrenalineDrain(taskid)
{
    new 
id taskid TASK_HP
    
new iHealth pev(idpev_health)
    
    if(
iHealth 150)
    {
        
set_pev(idpev_healthiHealth 1.0)
    }
    else
    {
        
remove_task(id+TASK_HP)
        
client_print_color(idprint_team_default"The regenerative life has been completed")
        
g_iBuy[id] = false
    
}
    
//player_healingEffect(id)
}


player_healingEffect(id)
{
    new 
iOrigin[3]
    
get_user_origin(idiOrigin)

    
message_begin(MSG_PVSSVC_TEMPENTITYiOrigin)
    
write_byte(TE_PROJECTILE)
    
write_coord(iOrigin[0] + random_num(-1010))
    
write_coord(iOrigin[1] + random_num(-1010))
    
write_coord(iOrigin[2] + random_num(030))
    
write_coord(0)
    
write_coord(0)
    
write_coord(15)
    
write_short(gSpr_regeneration)
    
write_byte(1)
    
write_byte(id)
    
message_end()

yagami is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:39.


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