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

Weapon menu


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
El Abuelo Loco
Senior Member
Join Date: Jun 2020
Old 08-12-2020 , 21:26   Weapon menu
Reply With Quote #1

Add 1 weapon in the VIP menu but when the menu comes up, the weapon doesn't give it to me. why?

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

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new g_msgTextMsg
new 
maxplayers
new gmsgSayText
new mpdmkbmhb
new g_MsgSync
new health_add
new health_hs_add
new health_max
new nKiller
new nKiller_hp
new nHp_add
new nHp_max
new g_menu_active
new CurrentRound
new bool:HasC4[33]
#define Keysrod (1<<0)|(1<<1)|(1<<2)|(1<<9) // Keys: 1234567890
#if defined DAMAGE_RECIEVED
    
new g_MsgSync2
#endif
 

public plugin_init() {g_msgTextMsg get_user_msgid("TextMsg"); 

    
register_plugin("VIP Eng Version""3.0""Dunno")
    
mpd register_cvar("money_per_damage","3")
    
mkb register_cvar("money_kill_bonus","200")
    
mhb register_cvar("money_hs_bonus","500")
    
health_add register_cvar("amx_vip_hp""15")
    
health_hs_add register_cvar("amx_vip_hp_hs""30")
    
health_max register_cvar("amx_vip_max_hp""100")
    
g_menu_active register_cvar("menu_active""1")
    
register_event("Damage","Damage","b")
    
register_event("DeathMsg","death_msg","a")
    
register_menucmd(register_menuid("rod"), Keysrod"Pressedrod")

    
register_clcmd("say /menuvip","ShowMotd")
    
maxplayers get_maxplayers()
    
gmsgSayText get_user_msgid("SayText")
    
register_clcmd("say""handle_say")
    
register_cvar("amx_contactinfo"CONTACTFCVAR_SERVER)
    
register_logevent("LogEvent_RoundStart"2"1=Round_Start" );
    
register_event("TextMsg","Event_RoundRestart","a","2&#Game_w")
    
register_event("TextMsg","Event_RoundRestart","a","2&#Game_C");
    
register_event("DeathMsg""hook_death""a""1>0")
    
register_event("Damage""on_damage""b""2!0""3=0""4!0")
    
g_MsgSync CreateHudSyncObj()
#if defined DAMAGE_RECIEVED
    
g_MsgSync2 CreateHudSyncObj()
#endif 
}

public 
on_damage(id)
{
    new 
attacker get_user_attacker(id)

#if defined DAMAGE_RECIEVED
    // id should be connected if this message is sent, but lets check anyway
    
if ( is_user_connected(id) && is_user_connected(attacker) )
    if (
get_user_flags(attacker) & ADMIN_LEVEL_H)
    {
        new 
damage read_data(2)

        
set_hudmessage(255000.450.5020.14.00.10.1, -1)
        
ShowSyncHudMsg(idg_MsgSync2"%i^n"damage)
#else
    
if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_LEVEL_H) )
    {
        new 
damage read_data(2)
#endif
        
set_hudmessage(0100200, -1.00.5520.14.00.020.02, -1)
        
ShowSyncHudMsg(attackerg_MsgSync"%i^n"damage)
    }
}

public 
Damage(id)
{
    new 
weaponhitpointattacker get_user_attacker(id,weapon,hitpoint)
    if(
attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
    if (
get_user_flags(attacker) & ADMIN_LEVEL_H)
    {
        new 
money read_data(2) * get_pcvar_num(mpd)
        if(
hitpoint==1money += get_pcvar_num(mhb)
        
cs_set_user_money(attacker,cs_get_user_money(attacker) + money)
    }
}

public 
death_msg()
{
    if(
read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)
}

public 
LogEvent_RoundStart()
{
    
CurrentRound++;
    new 
players[32], playerpnum;
    
get_players(playerspnum"a");
    for(new 
0pnumi++)
    {
        
player players[i];
        if(
is_user_alive(player) && get_user_flags(player) & ADMIN_LEVEL_H)
        {
            
give_item(player"weapon_hegrenade")
            
give_item(player"weapon_flashbang")
            
give_item(player"weapon_flashbang")
            
give_item(player"weapon_smokegrenade")
            
give_item(player"item_assaultsuit")
            
give_item(player"item_thighpack")
         
            if (!
get_pcvar_num(g_menu_active))
                return 
PLUGIN_CONTINUE
         
            
if(CurrentRound >= 0)
            {
                
Showrod(player);
            }
        }
    }
    return 
PLUGIN_HANDLED
}

public 
Event_RoundRestart()
{
    
CurrentRound=0;
}

public 
hook_death()
{
  
// Killer id
  
nKiller read_data(1)
 
  if ( (
read_data(3) == 1) && (read_data(5) == 0) )
  {
      
nHp_add get_pcvar_num (health_hs_add)
  }
  else
      
nHp_add get_pcvar_num (health_add)
  
nHp_max get_pcvar_num (health_max)
  
// Updating Killer HP
  
if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))
  return;

  
nKiller_hp get_user_health(nKiller)
  
nKiller_hp += nHp_add
  
// Maximum HP check
  
if (nKiller_hp nHp_maxnKiller_hp nHp_max
  set_user_health
(nKillernKiller_hp)
  
// Hud message "Healed +15/+30 hp"
  
set_hudmessage(02550, -1.00.1501.01.00.10.1, -1)
  
show_hudmessage(nKiller"Healed +%d hp"nHp_add)
  
// Screen fading
  
message_begin(MSG_ONEget_user_msgid("ScreenFade"), {0,0,0}, nKiller)
  
write_short(1<<10)
  
write_short(1<<10)
  
write_short(0x0000)
  
write_byte(0)
  
write_byte(0)
  
write_byte(200)
  
write_byte(75)
  
message_end()

}

public 
Showrod(id) {
    
show_menu(idKeysrod"Menu de VIP^n\w1. Get M4A1+Deagle^n\w2. Get AK47+Deagle^n\w3. Get AWP+Deagle^n\w4. Get xm1014+Deagle^n^n0. Salir^n", -1"rod"// Display menu
}
public 
Pressedrod(idkey) {
    
/* Menu:
    * VIP Menu
    * 1. Get M4A1+Deagle
    * 2. Get AK47+Deagle
    * 0. Exit
    */
    
switch (key) {
        case 
0: {
            if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1)
                
HasC4[id] = true;
            else
                
HasC4[id] = false;
         
            
strip_user_weapons (id)
            
give_item(id,"weapon_m4a1")
            
give_item(id,"ammo_556nato")
            
give_item(id,"ammo_556nato")
            
give_item(id,"ammo_556nato")
            
give_item(id,"weapon_deagle")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"weapon_knife")
            
give_item(id,"weapon_hegrenade")
            
give_item(id"weapon_flashbang");
            
give_item(id"weapon_flashbang");
            
give_item(id"weapon_smokegrenade");
            
give_item(id"item_assaultsuit");
            
give_item(id"item_thighpack");
            
client_print_center(idprint_center"Te llevas gratis M4A1 y Granadas")
         
            if (
HasC4[id])
            {
                
give_item(id"weapon_c4");
                
cs_set_user_plantid );
            }
            }
        case 
1: {
            if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1)
                
HasC4[id] = true;
            else
                
HasC4[id] = false;
         
            
strip_user_weapons (id)
            
give_item(id,"weapon_ak47")
            
give_item(id,"ammo_762nato")
            
give_item(id,"ammo_762nato")
            
give_item(id,"ammo_762nato")
            
give_item(id,"weapon_deagle")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"weapon_knife")
            
give_item(id,"weapon_hegrenade")
            
give_item(id"weapon_flashbang");
            
give_item(id"weapon_flashbang");
            
give_item(id"weapon_smokegrenade");
            
give_item(id"item_assaultsuit");
            
give_item(id"item_thighpack");
            
client_print_center(idprint_center"Te llevas gratis AK47 y Granadas")
         
            if (
HasC4[id])
            {
                
give_item(id"weapon_c4");
                
cs_set_user_plantid );
            }
            }
     
        case 
2: {
        if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1)
            
HasC4[id] = true;
        else
            
HasC4[id] = false;
         
        
strip_user_weapons (id)
        
give_item(id,"weapon_awp")
        
cs_set_user_bpammoidCSW_AWP30 );
        
give_item(id,"weapon_knife")
        
give_item(id,"weapon_deagle")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"weapon_hegrenade")
        
give_item(id,"weapon_flashbang");
        
give_item(id,"weapon_flashbang");
        
give_item(id,"weapon_smokegrenade");
        
give_item(id,"item_assaultsuit");
        
give_item(id,"item_thighpack");
        
client_print_center(idprint_center"Te llevas gratis AWP y Granadas");
         
        if (
HasC4[id])
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plantid );
        }
            }
        case 
4: {
        if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1)
            
HasC4[id] = true;
        else
            
HasC4[id] = false;
        
        
strip_user_weapons (id)
        
give_item(id,"weapon_xm1014")
        
give_item(id,"ammo_buckshot")
        
give_item(id,"ammo_buckshot")
        
give_item(id,"ammo_buckshot")
        
give_item(id,"weapon_deagle")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"ammo_50ae")
        
give_item(id,"weapon_knife")
        
give_item(id,"weapon_hegrenade")
        
give_item(id,"weapon_flashbang");
        
give_item(id,"weapon_flashbang");
        
give_item(id,"weapon_smokegrenade");
        
give_item(id,"item_assaultsuit");
        
give_item(id,"item_thighpack");
        
client_print_center(idprint_center"Te llevas gratis AK47 y Granadas")
        
        if (
HasC4[id])
            {
            
give_item(id"weapon_c4");
            
cs_set_user_plantid );
             }
       }
    }
    return 
PLUGIN_CONTINUE
}


public 
ShowMotd(id)
{
show_motd(id"vip.txt")
}
public 
client_authorized(id)
{
set_task(30.0"PrintText" ,id)
}
public 
PrintText(id)
{
client_print_center(idprint_chat"")
}

public 
handle_say(id) {
    new 
said[192]
    
read_args(said,192)
    if( ( 
containi(said"who") != -&& containi(said"admin") != -) || contain(said"/vips") != -)
        
set_task(0.1,"print_adminlist",id)
    return 
PLUGIN_CONTINUE
}

public 
print_adminlist(user)
{
    new 
adminnames[33][32]
    new 
message[256]
    new 
contactinfo[256], contact[112]
    new 
idcountxlen
 
    
for(id id <= maxplayers id++)
        if(
is_user_connected(id))
            if(
get_user_flags(id) & ADMIN_LEVEL_H)
                
get_user_name(idadminnames[count++], 31)

    
len format(message255"%s VIP ONLINE: ",COLOR)
    if(
count 0) {
        for(
count x++) {
            
len += format(message[len], 255-len"%s%s "adminnames[x], < (count-1) ? ", ":"")
            if(
len 96 ) {
                
print_message(usermessage)
                
len format(message255"%s ",COLOR)
            }
        }
        
print_message(usermessage)
    }
    else {
        
len += format(message[len], 255-len"No VIP online.")
        
print_message(usermessage)
    }
 
    
get_cvar_string("amx_contactinfo"contact63)
    if(
contact[0])  {
        
format(contactinfo111"%s Contact Server Admin -- %s"COLORcontact)
        
print_message(usercontactinfo)
    }
}

print_message(idmsg[]) {
    
message_begin(MSG_ONEgmsgSayText, {0,0,0}, id)
    
write_byte(id)
    
write_string(msg)
    
message_end()
  }
public 
client_print_center(pPlayeriMsgType, const szMessage[], any:...) 
{
    new 
pPlayers[MAX_PLAYERS], iPlCountmsg[191];

    if(
pPlayer
    {
        
iPlCount 1;
        
pPlayers[0] = pPlayer;
    }
    else
        
get_players_ex(pPlayersiPlCountGetPlayers_ExcludeBots|GetPlayers_ExcludeHLTV);
    

    for(new 
iiPlCounti++) 
    {
        
pPlayer pPlayers[i];
        
SetGlobalTransTarget(pPlayer);
        
vformat(msgcharsmax(msg), szMessage4);

        
message_begin(MSG_ONE_UNRELIABLEg_msgTextMsg, .player pPlayer);
        
write_byte(iMsgType);
        
write_string(msg);
        
message_end();
    }

El Abuelo Loco is offline
Supremache
Veteran Member
Join Date: Sep 2019
Location: Egypt
Old 08-12-2020 , 22:04   Re: Weapon menu
Reply With Quote #2

You need to add 1 more opject for key of the menu
From:
PHP Code:
#define Keysrod (1<<0)|(1<<1)|(1<<2)|(1<<9) // Keys: 1234567890 
to:
PHP Code:
#define Keysrod (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<9) // Keys: 1234567890 
Exmple:
PHP Code:
public Showrod(id) {
    
show_menu(idKeysrod"Menu de VIP^n\w1. Get M4A1+Deagle^n\w2. Get AK47+Deagle^n\w3. Get AWP+Deagle^n\w4. Get xm1014+Deagle^n\w5.GetDeagle^n^n0. Salir^n", -1"rod"// Display menu

And edit Pressedrod fuction and add case for new item
PHP Code:
case 4: {
            if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1)
                
HasC4[id] = true;
            else
                
HasC4[id] = false;
         
            
strip_user_weapons (id)
            
give_item(id,"ammo_556nato")
            
give_item(id,"ammo_556nato")
            
give_item(id,"ammo_556nato")
            
give_item(id,"weapon_deagle")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"ammo_50ae")
            
give_item(id,"weapon_knife")
            
give_item(id,"weapon_hegrenade")
            
give_item(id"weapon_flashbang");
            
give_item(id"weapon_flashbang");
            
give_item(id"weapon_smokegrenade");
            
give_item(id"item_assaultsuit");
            
give_item(id"item_thighpack");
            
client_print_center(idprint_center"Te llevas gratis deagle y Granadas")
         
            if (
HasC4[id])
            {
                
give_item(id"weapon_c4");
                
cs_set_user_plantid );
            }
            } 
Ps: There's a problem in your plugin: Check Pressedrod fuction you made case 0, case 1, case 2, case 4 you must set it as 3 or menu will not call it.
Supremache is offline
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 16:13.


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