Raised This Month: $32 Target: $400
 8% 

shop


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
amirwolf
Senior Member
Join Date: Feb 2019
Location: Iran
Old 04-02-2020 , 05:37   shop
Reply With Quote #1

Hi
I need a store menu
If we don't have enough money to buy, the color of the shopping items will change to red
The shopping menu is separate for ct and tr
amirwolf is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 04-02-2020 , 05:55   Re: shop
Reply With Quote #2

made a quick example for you

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "Store Example"
#define VERSION "1.0"
#define AUTHOR "NapoleoN#"

new const szCtItems[][] =
{
    
"Item 1",
    
"Item 2",
    
"Item 3"
}

new const 
szTerItems[][] = {
    
"Item 1",
    
"Item 2",
    
"Item 3"
}

new const 
iCtPrices[] = // Can't really be bothered using cvars, it's just an example anyways.
{
    
500,
    
1000,
    
2500
}

new const 
iTerPrices[] =
{
    
500,
    
1000,
    
2500
}

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_clcmd("say /store""ShowStore");
}

public 
ShowStore(id)
{
    if(
is_user_alive(id))
    {
        new 
szTemp[50], szMenu;
        new 
iMoney cs_get_user_money(id);
        
        if(
cs_get_user_team(id) == CS_TEAM_CT)
        {
            
szMenu menu_create("CT Store""CtStoreHandler");
    
            for(new 
isizeof(szCtItems); i++)
            {
                
formatex(szTempcharsmax(szTemp), "%s%s", (iMoney iCtPrices[i]) ? "\r" "\w"szCtItems[i]);
                
menu_additem(szMenuszTemp);
            }
        }
        
        else if(
cs_get_user_team(id) == CS_TEAM_T)
        {
            
szMenu menu_create("Terrorist Store""TerStoreHandler");
            
            for(new 
isizeof(szTerItems); i++)
            {
                
formatex(szTempcharsmax(szTemp), "%s%s", (iMoney iTerPrices[i]) ? "\r" "\w"szTerItems[i]);
                
menu_additem(szMenuszTemp);
            }
        }
        
        
menu_display(idszMenu);
    }
}

public 
CtStoreHandler(idszMenuitem)
{
    if(
is_user_alive(id))
    {
        switch(
item)
        {
            case 
0:
            {
                
// Item 1
            
}
            case 
1:
            {
                
// Item 2
            
}
            case 
2:
            {
                
// Item 3
            
}
        }
    }
    
menu_destroy(szMenu);
}

public 
TerStoreHandler(idszMenuitem)
{
    if(
is_user_alive(id))
    {
        switch(
item)
        {
            case 
0:
            {
                
// Item 1
            
}
            case 
1:
            {
                
// Item 2
            
}
            case 
2:
            {
                
// Item 3
            
}
        }
    }
    
menu_destroy(szMenu);

__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 04-02-2020 , 07:09   Re: shop
Reply With Quote #3

https://forums.alliedmods.net/showthread.php?t=284603
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 04-02-2020 , 07:14   Re: shop
Reply With Quote #4

Quote:
Originally Posted by OciXCrom View Post
I keep forgetting that
__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
amirwolf
Senior Member
Join Date: Feb 2019
Location: Iran
Old 04-02-2020 , 11:45   Re: shop
Reply With Quote #5

Quote:
Originally Posted by Napoleon_be View Post
made a quick example for you

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "Store Example"
#define VERSION "1.0"
#define AUTHOR "NapoleoN#"

new const szCtItems[][] =
{
    
"Item 1",
    
"Item 2",
    
"Item 3"
}

new const 
szTerItems[][] = {
    
"Item 1",
    
"Item 2",
    
"Item 3"
}

new const 
iCtPrices[] = // Can't really be bothered using cvars, it's just an example anyways.
{
    
500,
    
1000,
    
2500
}

new const 
iTerPrices[] =
{
    
500,
    
1000,
    
2500
}

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_clcmd("say /store""ShowStore");
}

public 
ShowStore(id)
{
    if(
is_user_alive(id))
    {
        new 
szTemp[50], szMenu;
        new 
iMoney cs_get_user_money(id);
        
        if(
cs_get_user_team(id) == CS_TEAM_CT)
        {
            
szMenu menu_create("CT Store""CtStoreHandler");
    
            for(new 
isizeof(szCtItems); i++)
            {
                
formatex(szTempcharsmax(szTemp), "%s%s", (iMoney iCtPrices[i]) ? "\r" "\w"szCtItems[i]);
                
menu_additem(szMenuszTemp);
            }
        }
        
        else if(
cs_get_user_team(id) == CS_TEAM_T)
        {
            
szMenu menu_create("Terrorist Store""TerStoreHandler");
            
            for(new 
isizeof(szTerItems); i++)
            {
                
formatex(szTempcharsmax(szTemp), "%s%s", (iMoney iTerPrices[i]) ? "\r" "\w"szTerItems[i]);
                
menu_additem(szMenuszTemp);
            }
        }
        
        
menu_display(idszMenu);
    }
}

public 
CtStoreHandler(idszMenuitem)
{
    if(
is_user_alive(id))
    {
        switch(
item)
        {
            case 
0:
            {
                
// Item 1
            
}
            case 
1:
            {
                
// Item 2
            
}
            case 
2:
            {
                
// Item 3
            
}
        }
    }
    
menu_destroy(szMenu);
}

public 
TerStoreHandler(idszMenuitem)
{
    if(
is_user_alive(id))
    {
        switch(
item)
        {
            case 
0:
            {
                
// Item 1
            
}
            case 
1:
            {
                
// Item 2
            
}
            case 
2:
            {
                
// Item 3
            
}
        }
    }
    
menu_destroy(szMenu);

I'll try
cs_get_user_money (id)
Adding to my shop, but I didn't succeed

Last edited by amirwolf; 04-02-2020 at 11:47.
amirwolf is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 04-02-2020 , 11:49   Re: shop
Reply With Quote #6

Show your code.
__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
amirwolf
Senior Member
Join Date: Feb 2019
Location: Iran
Old 04-02-2020 , 11:56   Re: shop
Reply With Quote #7

Quote:
Originally Posted by Napoleon_be View Post
Show your code.
PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <engine>

#define NORMAL DontChange
#define GREEN DontChange
#define TEAM_COLOR DontChange
#define RED Red
#define BLUE Blue
#define GREY Grey
#define ColorChat client_print_color

#define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers )

#define Ham_Player_ResetMaxSpeed Ham_Item_PreFrame

#pragma semicolon 1

enum _:Colors {
    
DontChange,
    
Red,
    
Blue,
    
Grey
};

new const 
g_prefix[] = "[Base Builder Shop]";

new const 
g_ModelSuperKnife[] = "models/base_builder/v_super_knife.mdl";
new const 
g_ModelSuperDeagle[] = "models/base_builder/v_golden_deagle.mdl";

new 
bool:g_bHasSuperKnife[33],
    
bool:g_bHasSuperSpeed[33],
    
bool:g_bHasSuperM249[33],
    
bool:g_bHasSuperAWP[33],
    
bool:g_bHasSuperDeagle[33],
    
bool:g_bHasGunsKit[33];
    

new 
g_iMaxPlayers;

new 
g_pCvarCostSuperCut,
    
g_pCvarCostLowGrav,
    
g_pCvarQuantityLowGrav,
    
g_pCvarCostSpeed,
    
g_pCvarQuantitySpeed,
    
g_pCvarQuantityHealthCT,
    
g_pCvarCostHealthCT,
    
g_pCvarCostHE,
    
g_pCvarCostFlash,
    
g_pCvarCostSmoke,
    
g_pCvarCostSuperM249,
    
g_pCvarCostSuperAWP,
    
g_pCvarCostSuperDeagle,
    
g_pCvarCostKitGuns,
    
g_pCvarQuantityHealthT1,
    
g_pCvarCostHealthT1,
    
g_pCvarQuantityHealthT2,
    
g_pCvarCostHealthT2,
    
g_pCvarCostInvisinsibilite,
    
g_pCvarTimeInvisinsibilite;


public 
plugin_init()
{
    
register_clcmd("say /MoneyShop""ShowShop");
    
register_clcmd("say_team /MoneyShop""ShowShop");
    
    
// Cvars Mixtes
    
g_pCvarCostSuperCut register_cvar("shopbb_supercut""10000");
    
g_pCvarCostLowGrav register_cvar("shopbb_grav""8000");
    
g_pCvarQuantityLowGrav register_cvar("shopbb_quant_grav""0.7");
    
g_pCvarCostSpeed register_cvar("shopbb_speed""8000");
    
g_pCvarQuantitySpeed register_cvar("shopbb_quantity_speed""400.0");
    
    
// Cvars CT
    
g_pCvarQuantityHealthCT register_cvar("shopbb_vie_ct""150");
    
g_pCvarCostHealthCT register_cvar("shopbb_prix_vie_ct""5000");
    
g_pCvarCostHE register_cvar("shopbb_he""2500");
    
g_pCvarCostFlash register_cvar("shopbb_flash""2500");
    
g_pCvarCostSmoke register_cvar("shopbb_smoke""2500");
    
g_pCvarCostSuperM249 register_cvar("shopbb_super_m249""10000");
    
g_pCvarCostSuperAWP register_cvar("shopbb_super_awp""8000");
    
g_pCvarCostSuperDeagle register_cvar("shopbb_super_deagle""8000");
    
g_pCvarCostKitGuns register_cvar("shopbb_kit_guns""12000");
    
    
// Cvars T
    
g_pCvarQuantityHealthT1 register_cvar("shopbb_health_t1""2000");
    
g_pCvarCostHealthT1 register_cvar("shopbb_prix_health_t1""8000");
    
g_pCvarQuantityHealthT2 register_cvar("shopbb_health_t2""5000");
    
g_pCvarCostHealthT2 register_cvar("shopbb_prix_health_t2""16000");
    
g_pCvarCostInvisinsibilite register_cvar("shopbb_invins""12000");
    
g_pCvarTimeInvisinsibilite register_cvar("shopbb_time_invins""5.0");

    
RegisterHam(Ham_Spawn"player""Player_Spawn_Post"1);
    
RegisterHam(Ham_TakeDamage"player""ham_TakeDamage_Pre");
    
RegisterHam(Ham_Item_Deploy"weapon_knife""ham_ItemDeploy_Post_KNI"1);
    
RegisterHam(Ham_Item_Deploy"weapon_deagle""ham_ItemDeploy_Post_DGL"1);
    
RegisterHam(Ham_Player_ResetMaxSpeed"player""Player_ResetMaxSpeed",  1);
    
    
g_iMaxPlayers get_maxplayers();
}
 
public 
client_putinserverid )

    
g_bHasSuperKnife[id] = false;
    
g_bHasSuperSpeed[id] = false;
    
g_bHasSuperM249[id] = false;
    
g_bHasSuperAWP[id] = false;
    
g_bHasSuperDeagle[id] = false;
    
g_bHasGunsKit[id] = false;
}
 
public 
ShowShop(id)
{
    if ( 
is_user_alive(id) )
    {
        new 
Text[64];
        
        if(
cs_get_user_team(id) == CS_TEAM_T)
        {
            new 
menu1 menu_create("\y[\rZombie Shop\y]""ZombieShop");
            
formatex(Textcharsmax(Text), "\wSpeed \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSpeed));
            
menu_additem(menu1Text"0");
            
formatex(Textcharsmax(Text), "\wJump \y[\r%d $\y]"get_pcvar_num(g_pCvarCostLowGrav));
            
menu_additem(menu1Text"1");
            
formatex(Textcharsmax(Text), "\wSuper Knife \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperCut));
            
menu_additem(menu1Text"2");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthT1), get_pcvar_num(g_pCvarCostHealthT1));
            
menu_additem(menu1Text"3");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthT2), get_pcvar_num(g_pCvarCostHealthT2));
            
menu_additem(menu1Text"4");
            
formatex(Textcharsmax(Text), "\wInvincible \y[\r%d $\y]"get_pcvar_num(g_pCvarCostInvisinsibilite));
            
menu_additem(menu1Text"5");

            
menu_setprop(menu1MPROP_EXITNAME"Quitter");

            
menu_display(idmenu1);
        }

        else if(
cs_get_user_team(id) == CS_TEAM_CT)
        {
            new 
menu2 menu_create ("\y[\rBase Builder Shop\y]""BaseBuilderShop");    
            
formatex(Textcharsmax(Text), "\wSuper Knife \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperCut));
            
menu_additem(menu2Text"0");
            
formatex(Textcharsmax(Text), "\wSpeed \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSpeed));
            
menu_additem(menu2Text"1");
            
formatex(Textcharsmax(Text), "\wJump \y[\r%d $\y]"get_pcvar_num(g_pCvarCostLowGrav));
            
menu_additem(menu2Text"2");
            
formatex(Textcharsmax(Text), "\w+%d HP \y[\r%d $\y]"get_pcvar_num(g_pCvarQuantityHealthCT), get_pcvar_num(g_pCvarCostHealthCT));
            
menu_additem(menu2Text"3");
            
formatex(Textcharsmax(Text), "\wGrenade \y[\r%d $\y]"get_pcvar_num(g_pCvarCostHE));
            
menu_additem(menu2Text"4");
            
formatex(Textcharsmax(Text), "\wFlash \y[\r%d $\y]"get_pcvar_num(g_pCvarCostFlash));
            
menu_additem(menu2Text"5");
            
formatex(Textcharsmax(Text), "\wSmoke \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSmoke));
            
menu_additem(menu2Text"6");
            
formatex(Textcharsmax(Text), "\wM249 Guns \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperM249));
            
menu_additem(menu2Text"7");
            
formatex(Textcharsmax(Text), "\wAWP Guns \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperAWP));
            
menu_additem(menu2Text"8");
            
formatex(Textcharsmax(Text), "\wDeagle Guns \y[\r%d $\y]"get_pcvar_num(g_pCvarCostSuperDeagle));
            
menu_additem(menu2Text"9");
            
formatex(Textcharsmax(Text), "\wMp4a1 Guns \y[\r%d $\y]"get_pcvar_num(g_pCvarCostKitGuns));
            
menu_additem(menu2Text"10");
            
formatex(Textcharsmax(Text), "\wAK47 Gold \y[\r16000 $\y]");
            
menu_additem(menu2Text"11");

            
menu_display(idmenu2);
        }
    }
}

public 
ZombieShop(idmenu1item)
{
    if (
item == MENU_EXIT || !is_user_alive(id) || cs_get_user_team(id) != CS_TEAM_T
    {
        
menu_destroy(menu1);
        return 
PLUGIN_HANDLED;
    }
    
    new 
iMoney cs_get_user_money(id);

    switch(
item)
    {
        case 
0:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostSpeed))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostSpeed));
                
g_bHasSuperSpeed[id] = true;
                
set_user_maxspeed(idget_pcvar_float(g_pCvarQuantitySpeed));
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Super Speed^1!"g_prefix);
            }
                
            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }

        case 
1:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostLowGrav))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostLowGrav));
                
set_user_gravity(idget_pcvar_float(g_pCvarQuantityLowGrav));
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Low Gravity^1!"g_prefix);
            }

            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }

        case 
2:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostSuperCut))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostSuperCut));
                
g_bHasSuperKnife[id] = true;
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Super Cut^1!"g_prefix);
            }

            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }
       
        case 
3:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostHealthT1))
            {             
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostHealthT1));
                
set_user_health(idget_user_health(id) + get_pcvar_num(g_pCvarQuantityHealthT1));
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3%d HP^1!"g_prefixget_pcvar_num(g_pCvarQuantityHealthT1));
            }

            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }
       
        case 
4:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostHealthT2))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostHealthT2));
                
set_user_health(idget_user_health(id) + get_pcvar_num(g_pCvarQuantityHealthT2));
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3%d HP^1!"g_prefixget_pcvar_num(g_pCvarQuantityHealthT2));
            }

            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }
      
        case 
5:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostInvisinsibilite))
            {
                
cs_set_user_money(idcs_get_user_money(id) - get_pcvar_num(g_pCvarCostInvisinsibilite));
                
set_user_godmode(id1);
                
set_task(0.0 get_pcvar_float(g_pCvarTimeInvisinsibilite), "RemoveGodMode"id);
                
client_print_color(idDontChange"^4%s ^1You just bought the'^3invincibilite^1 pour^3 quelques secondes^1!"g_prefix);
            }

            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }      
    }
    
menu_destroy(menu1);
    return 
PLUGIN_HANDLED;
}

public 
RemoveGodMode(id)
{
    
set_user_godmode(id0);
    
client_print_color(idDontChange"^4%s ^1Tu n'es plus invincible!"g_prefix);
}

public 
BaseBuilderShop(idmenu2item)
{
    if (
item == MENU_EXIT || !is_user_alive(id) || cs_get_user_team(id) != CS_TEAM_CT
    {
        
menu_destroy(menu2);
        return 
PLUGIN_HANDLED;
    }
    
    new 
iMoney cs_get_user_money(id);

    switch(
item)
    {
        case 
0:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostSuperCut))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostSuperCut));
                
g_bHasSuperKnife[id] = true;
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Super Cut^1!"g_prefix);
            }

            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }

        case 
1:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostSpeed))
            {             
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostSpeed));
                
g_bHasSuperSpeed[id] = true;
                
set_user_maxspeed(idget_pcvar_float(g_pCvarQuantitySpeed));
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Super Speed^1!"g_prefix);
            }

            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }
       
        case 
2:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostLowGrav))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostLowGrav));
                
set_user_gravity(idget_pcvar_float(g_pCvarQuantityLowGrav));
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Low Gravity^1!"g_prefix);
            }
                
            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }
       
        case 
3:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostHealthCT))
            {             
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostHealthCT));
                
set_user_health(idget_user_health(id) + get_pcvar_num(g_pCvarQuantityHealthCT));
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3%d HP^1!"g_prefixget_pcvar_num(g_pCvarQuantityHealthCT));
            }

            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }

        case 
4:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostHE))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostHE));
                
give_item(id"weapon_hegrenade");
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3HE^1!"g_prefix);
            }

            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }

        case 
5:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostFlash))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostFlash));
                
give_item(id"weapon_flashbang");
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Flash^1!"g_prefix);
            }
                    
            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }

        case 
6:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostSmoke))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostSmoke));
                
give_item(id"weapon_smokegrenade");
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Smoke^1!"g_prefix);
            }
                
            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }

        case 
7:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostSuperM249))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostSuperM249));
                
give_item(id"weapon_m249");
                
cs_set_user_bpammo(idCSW_M249200);
                
g_bHasSuperM249[id] = true;
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Super M249^1!"g_prefix);
            }
                
            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }

        case 
8:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostSuperAWP))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostSuperAWP));
                
give_item(id"weapon_awp");
                
cs_set_user_bpammo(idCSW_AWP30);
                
g_bHasSuperAWP[id] = true;
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Super AWP^1!"g_prefix);
            }
            
            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }    
        
        case 
9:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostSuperDeagle))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostSuperDeagle));
                
give_item(id"weapon_deagle");
                
cs_set_user_bpammo(idCSW_DEAGLE35);
                
g_bHasSuperDeagle[id] = true;
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Super Deagle^1!"g_prefix);
            }
            
            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough'^3argent^1!"g_prefix);
            }
        }    

        case 
10:
        {
            if ( 
iMoney >= get_pcvar_num(g_pCvarCostKitGuns))
            {
                
cs_set_user_money(idiMoney get_pcvar_num(g_pCvarCostKitGuns));
                
give_item(id"weapon_deagle");
                
give_item(id"weapon_m4a1");
                
give_item(id"weapon_hegrenade");
                
cs_set_user_bpammo(idCSW_DEAGLE35);
                
cs_set_user_bpammo(idCSW_M4A190);
                
g_bHasGunsKit[id] = true;
                
client_print_color(idDontChange"^4%s ^1You just bought the ^3Kit Guns^1!"g_prefix);
            }
            
            else
            {
                
client_print_color(idDontChange"^4%s ^1You do not have enough ^3argent^1!"g_prefix);
            }
        }
        case 
11:
        {
            
client_cmd(id"say /goldenak");
        }        
    }
    
menu_destroy(menu2);
    return 
PLUGIN_HANDLED;
}
 
public 
Player_Spawn_Postid )
{
    if(
is_user_alive(id))
    {
        
//client_print(id, print_chat, "Server have /shop to zombie or survivor");
        
g_bHasSuperKnife[id] = false;
        
g_bHasSuperSpeed[id] = false;
        
g_bHasSuperM249[id] = false;
        
g_bHasSuperAWP[id] = false;
        
g_bHasSuperDeagle[id] = false;
        
g_bHasGunsKit[id] = false;
    }
}
 
public 
client_disconnect(id)
{
    
g_bHasSuperKnife[id] = false;
    
g_bHasSuperSpeed[id] = false;
    
g_bHasSuperM249[id] = false;
    
g_bHasSuperAWP[id] = false;
    
g_bHasSuperDeagle[id] = false;
    
g_bHasGunsKit[id] = false;
}
 
 
public 
plugin_precache()
{
    
precache_model(g_ModelSuperKnife);
    
precache_model(g_ModelSuperDeagle);
}
 
public 
ham_TakeDamage_Pre(victiminflictorattackerFloat:damagedamage_bits)
{
    if( !
IsPlayerattacker ) || !is_user_aliveattacker ) || inflictor != attacker )
    {
        return;
    }

    if ( 
g_bHasSuperKnife[attacker] && get_user_weapon(attacker) == CSW_KNIFE )
    {
        
SetHamParamFloat4damage 231 );
    }
    
    if ( 
g_bHasSuperM249[attacker] && get_user_weapon(attacker) == CSW_M249 )
    {
        
SetHamParamFloat4damage );
    }
    
    if ( 
g_bHasSuperAWP[attacker] && get_user_weapon(attacker) == CSW_AWP )
    {
        
SetHamParamFloat4damage );
    }
    
    if ( 
g_bHasSuperDeagle[attacker] && get_user_weapon(attacker) == CSW_DEAGLE )
    {
        
SetHamParamFloat4damage );
    }
    
    if ( 
g_bHasGunsKit[attacker] && ( get_user_weapon(attacker) == CSW_M4A1 || CSW_DEAGLE ) )
    {
        
SetHamParamFloat4damage );
    }  
}
 
 
public 
ham_ItemDeploy_Post_KNI(weapon_ent)
{
    static 
owner;
    
owner get_pdata_cbase(weapon_ent414);

    if(
is_user_alive(owner) && g_bHasSuperKnife[owner])
    {
        
set_pev(ownerpev_viewmodel2g_ModelSuperKnife);
    }
}

public 
ham_ItemDeploy_Post_DGL(weapon_ent)
{
    static 
owner;
    
owner get_pdata_cbase(weapon_ent414);

    if(
is_user_alive(owner) && ( g_bHasSuperDeagle[owner] || g_bHasGunsKit[owner] ) )
    {
        
set_pev(ownerpev_viewmodel2g_ModelSuperDeagle);
    }
}

public 
Player_ResetMaxSpeed(id)
{
    if( 
is_user_alive(id) && get_user_maxspeed(id) !=  -1.0 && g_bHasSuperSpeed[id])
    {
        
set_user_maxspeed(idget_pcvar_float(g_pCvarQuantitySpeed));
    }
}

stock const g_szTeamName[Colors][] = 
{
    
"UNASSIGNED",
    
"TERRORIST",
    
"CT",
    
"SPECTATOR"
};

stock client_print_color(idiColor=DontChange, const szMsg[], any:...)
{
    if( 
id && !is_user_connected(id) )
    {
        return 
0;
    }

    if( 
iColor Grey )
    {
        
iColor DontChange;
    }

    new 
szMessage[192];
    if( 
iColor == DontChange )
    {
        
szMessage[0] = 0x04;
    }
    else
    {
        
szMessage[0] = 0x03;
    }

    new 
iParams numargs();

    if(
id)
    {
        if( 
iParams == )
        {
            
copy(szMessage[1], charsmax(szMessage)-1szMsg);
        }
        else
        {
            
vformat(szMessage[1], charsmax(szMessage)-1szMsg4);
        }

        if( 
iColor )
        {
            new 
szTeam[11];
            
get_user_team(idszTeamcharsmax(szTeam));

            
Send_TeamInfo(ididg_szTeamName[iColor]);
            
Send_SayText(ididszMessage);
            
Send_TeamInfo(ididszTeam);
        }
        else
        {
            
Send_SayText(ididszMessage);
        }
    } 
    return 
1;
}

stock Send_TeamInfo(iReceiveriPlayerIdszTeam[])
{
    static 
iTeamInfo 0;
    if( !
iTeamInfo )
    {
        
iTeamInfo get_user_msgid("TeamInfo");
    }
    
message_begin(iReceiver MSG_ONE_UNRELIABLE MSG_BROADCASTiTeamInfo, .player=iReceiver);
    
write_byte(iPlayerId);
    
write_string(szTeam);
    
message_end();
}

stock Send_SayText(iReceiveriPlayerIdszMessage[])
{
    static 
iSayText 0;
    if( !
iSayText )
    {
        
iSayText get_user_msgid("SayText");
    }
    
message_begin(iReceiver MSG_ONE_UNRELIABLE MSG_BROADCASTiSayText, .player=iReceiver);
    
write_byte(iPlayerId);
    
write_string(szMessage);
    
message_end();


Last edited by amirwolf; 04-02-2020 at 11:56.
amirwolf is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 04-02-2020 , 12:00   Re: shop
Reply With Quote #8

And what exactly doesn't work?
__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
amirwolf
Senior Member
Join Date: Feb 2019
Location: Iran
Old 04-02-2020 , 12:06   Re: shop
Reply With Quote #9

Quote:
Originally Posted by Napoleon_be View Post
And what exactly doesn't work?
If there is not enough money to buy, it will turn red
From white to red
amirwolf is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 04-02-2020 , 12:07   Re: shop
Reply With Quote #10

Quote:
Originally Posted by amirwolf View Post
If there is not enough money to buy, it will turn red
From white to red
It's because you didn't do as i said. Take a closer look at my code and then at yours and see the difference.
__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
Reply


Thread Tools
Display Modes

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 19:25.


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