AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Use menu one time (https://forums.alliedmods.net/showthread.php?t=316840)

Dragos 06-13-2019 04:28

Use menu one time
 
hi i want to admin say for one time command /vmenu
but i still don t know how
PHP Code:

/* Plugin generated by AMXX-Studio */

#include < amxmodx >
#include < fakemeta_util >
#include < hamsandwich >
#include < cstrike >
#include < fun >
#include <fakemeta>


#define PLUGIN "Weapons Menu"
#define VERSION "1.1"
#define AUTHOR "AMG #Dragos"

#define is_valid_player(%1) (1 <= %1 <= 32)

new g_iMaxPlayers

// = Damage Arme VIP =================
#define IsPlayer(%0)    ( 1 <= %0 <= g_iMaxPlayers )
#define VIP_FLAG ADMIN_LEVEL_F // Flag-ul r

new bool:Ak47Gold33 ], M4a1Gold33 ],DeagleGold33 ], AwpGold [33], AidjaOarma33 ];


new const 
Ak47Gold_v_Model66 ] = "models/v_ak47.mdl";
new const 
Ak47Gold_p_Model64 ] = "models/p_ak47.mdl";

new const 
M4a1Gold_v_Model66 ] = "models/v_m4a1.mdl";
new const 
M4a1Gold_p_Model64 ] = "models/p_m4a1.mdl";

new const 
AwpGold_v_Model66 ] = "models/v_awp.mdl";

new const 
DeagleGold_v_Model66 ] = "models/v_deagle.mdl";
new const 
DeagleGold_p_Model64 ] = "models/p_deagle.mdl";

public 
plugin_init() {
    
register_clcmd("say vmenu","ClcmdWeapons"ADMIN_LEVEL_F);
    
register_clcmd("say /vmenu","ClcmdWeapons"ADMIN_LEVEL_F);
    
    
register_concmd("amx_vmenu""ClcmdWeapons"ADMIN_LEVEL_F);

    
register_event"CurWeapon""Event_CurWeapon""be""1=1" )
    
RegisterHamHam_TakeDamage"player""DamageVip" )
    
RegisterHam(Ham_Spawn"player""CHAT"1);
    
g_iMaxPlayers get_maxplayers()
}

public 
ClcmdWeapons(id) {

    if( 
get_user_flagsid ) & VIP_FLAG )
    if( 
get_user_team(id) == 2
    if( 
is_user_alive(id))
    if( 
AidjaOarma[id] ) 
   {
        
set_hudmessage(00255, -1.00.006.012.0)
        
show_hudmessage(id"Ai accesat meniu de VIP")
    }
    
WeaponMenu(id)
    
    return 
PLUGIN_CONTINUE;
}

public 
WeaponMenu(id) {
    if( 
get_user_flagsid ) & VIP_FLAG )
    if( 
get_user_team(id) == 2)
    if( 
is_user_alive(id))
         {
         new 
menu menu_create ("\rWeapons Menu""CaseWeaponMenu");

         
menu_additem(menu"\rAk47 \w+ \rDeagle""1");
         
menu_additem(menu"\rM4a1 \w+ \rDeagle""2");
         
menu_additem(menu"\rAwp  \w+ \rDeagle""3");


         
menu_setprop(menuMPROP_EXITMEXIT_ALL);
         
menu_display(idmenu);
    }
}

public 
CaseWeaponMenu(idmenuitem) {
    if( 
get_user_flagsid ) & VIP_FLAG )
    if( 
get_user_team(id) == 2
    if(
item == MENU_EXIT || !is_user_alive(id)) {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }

    new 
data [6], szName [64];
    new 
accesscallback;
    
menu_item_getinfo (menuitemaccessdata,charsmax (data), szName,charsmax (szName), callback);
    new 
key str_to_num (data);

    switch (
key)
    {
        
        case 
1:
          {    
            if( 
get_user_flagsid ) & VIP_FLAG )
       if( 
get_user_team(id) == 2)        
            
give_item(id"weapon_ak47");
            
cs_set_user_bpammo(idCSW_AK47250);
            
set_pevidpev_viewmodel2Ak47Gold_v_Model )
            
set_pevidpev_weaponmodel2Ak47Gold_p_Model )
            
AidjaOarma id ] = true;
            
Ak47Gold id ] = true

            give_item
(id"weapon_deagle");
            
cs_set_user_bpammo(idCSW_DEAGLE250);
            
set_pevidpev_viewmodel2DeagleGold_v_Model )
            
set_pevidpev_weaponmodel2DeagleGold_p_Model )
            
AidjaOarma id ] = true;
            
DeagleGold id ] = true
            set_hudmessage
(127170255, -1.00.006.06.0)
            
show_hudmessage(id"Ai ales ak47 + deagle")

        }
        case 
2:
        {
        if( 
get_user_flagsid ) & VIP_FLAG )
        if( 
get_user_team(id) == 2
        {
           
         
give_item(id"weapon_m4a1");
         
cs_set_user_bpammo(idCSW_M4A1250);
         
set_pevidpev_viewmodel2M4a1Gold_v_Model )
         
set_pevidpev_weaponmodel2M4a1Gold_p_Model )
         
AidjaOarma id ] = true;
         
M4a1Gold id ] = true

         give_item
(id"weapon_deagle");
         
cs_set_user_bpammo(idCSW_DEAGLE250);
         
set_pevidpev_viewmodel2DeagleGold_v_Model )
         
set_pevidpev_weaponmodel2DeagleGold_p_Model )
         
AidjaOarma id ] = true;
         
DeagleGold id ] = true
         set_hudmessage
(25525585, -1.00.006.06.0)
         
show_hudmessage(id"Ai ales m4a1 + deagle ")
          }
}

        case 
3:
        {
        if( 
get_user_flagsid ) & VIP_FLAG )
        if( 
get_user_team(id) == 2
        {
       
        
give_item(id"weapon_awp");
        
cs_set_user_bpammo(idCSW_AWP250);
        
set_pevidpev_viewmodel2AwpGold_v_Model )
        
AidjaOarma id ] = true;
        
AwpGold id ] = true
    
        give_item
(id"weapon_deagle");
        
cs_set_user_bpammo(idCSW_DEAGLE250);
        
set_pevidpev_viewmodel2DeagleGold_v_Model )
        
set_pevidpev_weaponmodel2DeagleGold_p_Model )
        
AidjaOarma id ] = true;
        
DeagleGold id ] = true
        set_hudmessage
(4285255, -1.00.006.06.0)
        
show_hudmessage(id"ai ales awp + deagle ")

        }
}
}
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}



public 
plugin_precache() { 
    
precache_modelAk47Gold_v_Model )
    
precache_modelAk47Gold_p_Model )
    
precache_modelM4a1Gold_v_Model )
    
precache_modelM4a1Gold_p_Model )
    
precache_modelAwpGold_v_Model )
    
precache_modelDeagleGold_v_Model )
    
precache_modelDeagleGold_p_Model )

}


public 
Event_CurWeaponid )  {
    if( 
get_user_flagsid ) & VIP_FLAG )
    if( 
get_user_team(id) == 2) {
    new 
Arma read_data)

    if( 
Arma == CSW_AK47 && Ak47Goldid ] )
    {
        
set_pevidpev_viewmodel2Ak47Gold_v_Model )
        
set_pevidpev_weaponmodel2Ak47Gold_p_Model )
    }

    if( 
Arma == CSW_M4A1 && M4a1Goldid ] )
    {
        
set_pevidpev_viewmodel2M4a1Gold_v_Model )
        
set_pevidpev_weaponmodel2M4a1Gold_p_Model )
    }

    if( 
Arma == CSW_DEAGLE && DeagleGoldid ] )
    {
        
set_pevidpev_viewmodel2DeagleGold_v_Model )
        
set_pevidpev_weaponmodel2DeagleGold_p_Model )
    }

    if( 
Arma == CSW_AWP && AwpGoldid ] )
    {
        
set_pevidpev_viewmodel2AwpGold_v_Model )
    }
}
}
public 
DamageVip iVictimiInflictoriAttackerFloat:fDamageiDamageBits )  {
    if ( 
IsPlayer iAttacker ) ) {
        
         if( 
iInflictor == iAttacker && Ak47Gold iAttacker ] && is_user_aliveiAttacker ) && get_user_weaponiAttacker ) == CSW_AK47 && get_user_teamiAttacker ) == ) {
            
SetHamParamFloat4fDamage 2.0);
            return 
HAM_HANDLED;
        }
    }

    if ( 
IsPlayer iAttacker ) ) {

        if( 
iInflictor == iAttacker && M4a1Gold iAttacker ] && is_user_aliveiAttacker ) && get_user_weaponiAttacker ) == CSW_M4A1 && get_user_teamiAttacker ) == ) {
            
SetHamParamFloat4fDamage 2.0);
            return 
HAM_HANDLED;
        }
    }

    if ( 
IsPlayer iAttacker ) ) {

        if( 
iInflictor == iAttacker && DeagleGold iAttacker ] && is_user_aliveiAttacker ) && get_user_weaponiAttacker ) == CSW_DEAGLE && get_user_teamiAttacker ) == ) {
            
SetHamParamFloat4fDamage 2.0);
            return 
HAM_HANDLED;
        }
    }
        
    if ( 
IsPlayer iAttacker ) ) {

        if( 
iInflictor == iAttacker && AwpGold iAttacker ] && is_user_aliveiAttacker ) && get_user_weaponiAttacker ) == CSW_AWP && get_user_teamiAttacker ) == ) {
            
SetHamParamFloat4fDamage 2.0);
            return 
HAM_HANDLED;
        }
    }
    return 
HAM_HANDLED
}  

public 
CHAT id ) {
         if( 
get_user_flagsid ) & VIP_FLAG )
         if( 
get_user_team(id) == 2
    if( 
is_user_alive(id))
    {
        
ChatColor(id"!tPentru a accesa meniu !gvip !ttastati !g/vmenu");
        
        
set_hudmessage(00255, -1.0, -1.006.012.0)
        
show_hudmessage(id"Deaorece esti vip ai acces la vmenu!")
        
             }
         }

stock ChatColor(const id, const input[], any:...) { 
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Green Color 
    
replace_all(msg190"!n""^1"); // Default Color 
    
replace_all(msg190"!t""^3"); // Team Color 
    
replace_all(msg190"!t2""^0"); // Team2 Color 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++) { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 
}  












//
public Inceput_runda(id) {
    if( 
get_user_flagsid ) & VIP_FLAG )
    if( 
get_user_team(id) == 2) {
                  
give_item(id"weapon_knife");
                  
AidjaOarma[id] = false;
                  
Ak47Goldid ] = false
                  M4a1Gold
id ] = false
                  DeagleGold
id ] = false
                  AwpGold
id ] = false

                  WeaponMenu
(id);
         }
        }
// 


OciXCrom 06-13-2019 06:47

Re: Use menu one time
 
Create a global bool for each player.
Set the bool for the player to true when the menu is used.
Check if the bool is true when he attempts to open the menu.

Dragos 06-13-2019 07:14

Re: Use menu one time
 
sooo i write
PHP Code:

       if(is_user_alive(id))
       if(
Ak47Gold[id])
       if(
M4a1Gold[id])
       if(
AwpGold[id])
       if(
DeagleGold[id])
       
ChatColor(id"Ai deza o arma gold")
       else { 

at every case
if he have golden weapon
and else

PHP Code:

            if( get_user_flagsid ) & VIP_FLAG )
       if( 
get_user_team(id) == 2)        
            
give_item(id"weapon_ak47");
            
cs_set_user_bpammo(idCSW_AK47250);
            
set_pevidpev_viewmodel2Ak47Gold_v_Model )
            
set_pevidpev_weaponmodel2Ak47Gold_p_Model )
            
AidjaOarma id ] = true;
            
Ak47Gold id ] = true

            give_item
(id"weapon_deagle");
            
cs_set_user_bpammo(idCSW_DEAGLE250);
            
set_pevidpev_viewmodel2DeagleGold_v_Model )
            
set_pevidpev_weaponmodel2DeagleGold_p_Model )
            
AidjaOarma id ] = true;
            
DeagleGold id ] = true
            set_hudmessage
(127170255, -1.00.006.06.0)
            
show_hudmessage(id"Ai ales ak47 + deagle"

if he didnt have any gold weapons
its thats good?

OciXCrom 06-13-2019 07:17

Re: Use menu one time
 
You don't need a separate bool for each case. You can use one bool and check it in the beginning of WeaponMenu(id) and set it to true when a weapon is selected.

PS: I suggest you use a better-coded plugin for golden weapons. Here's one.

Dragos 06-13-2019 07:18

Re: Use menu one time
 
Quote:

Originally Posted by OciXCrom (Post 2655407)
You don't need a separate bool for each case. You can use one bool and check it in the beginning of WeaponMenu(id) and set it to true when a weapon is selected.

PS: I suggest you use a better-coded plugin for golden weapons. Here's one.

aaaa
:oops:

Dragos 06-13-2019 07:20

Re: Use menu one time
 
Quote:

PS: I suggest you use a better-coded plugin for golden weapons. Here's one.
nice


All times are GMT -4. The time now is 07:44.

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