AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Solved Case Option depend on Cvar !!! (https://forums.alliedmods.net/showthread.php?t=339223)

counterstrike1.6 08-25-2022 10:52

Case Option depend on Cvar !!!
 
can case depend on if this item is active or not ?

Assume to be

1) GUN 1
2) GUN 2 // [Making Possibilities of Option]
3) GUN 3

Now
1) GUN 1 [OR] 1) GUN 2 [OR] 1) GUN 1
2) GUN 3 [OR] 2) GUN 3 [OR] 2) GUN 2

OR
if
1) GUN 3 OR 1) GUN 2 etc

Here I Attached Combination CalCulator [https://www.statskingdom.com/combina...alculator.html]

PHP Code:

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#define PLUGIN "Gun Menu"
#define VERSION "1.0"
#define AUTHOR "begin"
new g_round,g_c4
new g_pMenuCancel,g_menu_active,g_menuAvailableRound,g_awp_active;
new 
g_CvarHe,g_CvarFlash,g_CvarSmoke
#define PREFIX_CHAT "^4[AMXX]"
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR);
    
g_menu_active register_cvar("menu_active""1")
    
g_CvarHe       register_cvar"amx_cvar_vip_he_cancel""1" );
    
g_CvarFlash   register_cvar"amx_cvar_vip_flash_cancel""1" );
    
g_CvarSmoke   register_cvar"amx_cvar_vip_smoke_cancel""0" );
    
g_awp_active  register_cvar("amx_awp_menu_cancel""1");
    
g_pMenuCancel register_cvar("amx_vip_menu_cancel""15");
    
g_menuAvailableRound register_cvar("amx_vip_available_round""3")
    
    
register_logevent("logevent_round_start"2"1=Round_Start");
    
register_event("TextMsg""Event_Round_Restart""a""2=#Game_Commencing""2=#Game_will_restart_in");
}
public 
Event_Round_Restart()
{
    
g_round 0;
}
public 
logevent_round_start()
{
    
g_round++;
    new 
players[32], pnum;
    
get_players(playerspnum"ac");
    new 
availableRound get_pcvar_num(g_menuAvailableRound)
    for(new 
0iplayerpnumi++)
    {
        
iplayer players[i]
        if (!
is_user_alive(iplayer)) continue;
        
        if (
get_pcvar_num(g_CvarHe))
        {
            
give_item(iplayer"weapon_hegrenade");    
        }
        if (
get_pcvar_num(g_CvarFlash))
        {
            
give_item(iplayer"weapon_flashbang");
            
give_item(iplayer"weapon_flashbang");
        }
        if (
get_pcvar_num(g_CvarSmoke))
        {
            
give_item(iplayer"weapon_smokegrenade")
        }
        
give_item(iplayer"item_assaultsuit");
        
give_item(iplayer"item_thighpack");
        
        if (
g_round<=availableRound)
        {
            
client_print_color(iplayerprint_team_default"%s^3 Menu will be available in^4 %i^3 Round",PREFIX_CHAT,(availableRound+1)-g_round);
        }
        else 
        {
            if (
get_pcvar_num(g_menu_active)&&g_round>=availableRound)
            {
                
OpenMenu(iplayer)
            }
            else
            {
                
client_print_color(iplayerprint_team_default"%s^3 Menu Not Actived^1 [^4Contact Admins^1]",PREFIX_CHAT);
            }
        }    
    }
    
    return 
PLUGIN_HANDLED;

public 
OpenMenu(id)
{
    new 
iMenu menu_create("Free VIP Guns""OpenMenu_sub");
    
    
menu_additem(iMenu"Get M4A1+Deagle","0",0);
    
menu_additem(iMenu"Get AK47+Deagle","1",0);
    if (
get_pcvar_num(g_awp_active))
    {
        
menu_additem(iMenu"Get AWP+Deagle","2",0);
    }
    
menu_setprop(iMenuMPROP_EXITMEXIT_ALL);
    new 
iSec get_pcvar_num(g_pMenuCancel)
    
menu_display(idiMenu0,iSec);
    
client_print_color(idprint_team_default"%s^3 Please Choose Your^4 VIP Gun^3, Menu Will Closed in^4 %i^3 Seconds",PREFIX_CHATiSec);
    
set_task(float(iSec), "Destroy_Menu"id)
}
public 
Destroy_Menu ()
{
    for(new 
NumNum 32Num++)
    {
        if(!
is_user_connected(Num))
            continue;
        
        
show_menu(Num0"^n"1);
    }
}
public 
OpenMenu_sub(idmenuitem)
{
    if(
item == MENU_EXIT || !is_user_alive(id))
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    switch(
item)
    {
        case 
0:
        {
            
select_m4a1(id);
        }
        case 
1:
        {
            
select_ak47(id);
        }
        case 
2:
        {
            
select_awp(id)
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}
public 
select_ak47(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_ak47");
    
cs_set_user_bpammo(idCSW_AK4790);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 M4A1^3 and^4 Deagle",PREFIX_CHAT);
}
public 
select_m4a1(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_m4a1");
    
cs_set_user_bpammo(idCSW_M4A190);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 AK47^3 and^4 Deagle",PREFIX_CHAT);
}
public 
select_awp(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_awp");
    
cs_set_user_bpammo(idCSW_AWP30);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 AK47^3 and^4 Deagle",PREFIX_CHAT);



fysiks 08-25-2022 22:32

Re: Case Option depend on Cvar !!!
 
You can conditional include or exclude menu items. In fact, this code already does this. If you need it to work on the other items, simply add the corresponding if statement like the existing one.

If that's not the answer then you're post doesn't make much sense. You should probably better explain what you're wanting to do.

counterstrike1.6 08-26-2022 03:47

Re: Case Option depend on Cvar !!!
 
1 Attachment(s)
Quote:

Originally Posted by fysiks (Post 2787418)
If that's not the answer then you're post doesn't make much sense. You should probably better explain what you're wanting to do.

Assume that i have 3 options of selecting guns in menu and i make 3 cvars name as [M4A1 (On/Off)],[AK47 (On/Off)] & [AWP (On/Off)].

1) Get M4A1+Deagle
2) Get AK47+Deagle (Off: This Cvar to [0])
3) Get AWP+Deagle

And i off AK47 Cvars,From Next Round user should show like that

1) Get M4A1+Deagle
2) Get AWP+Deagle

Mean that AK47 is off and AWP option is 3rd now shift to 2nd mean Decrement [User will select 2 for AWP and 1 for M4A1]

Another Example:

1) Get M4A1+Deagle (Off: This Cvar to [0])
2) Get AK47+Deagle
3) Get AWP+Deagle

I make Cvar M4A1 off then user should show like this

1) Get AK47+Deagle
2) Get AWP+Deagle

User should select AK47 as 1st option and AWP as 2nd Option


Another Example:

1) Get M4A1+Deagle (Off: This Cvar to [0])
2) Get AK47+Deagle (Off: This Cvar to [0])
3) Get AWP+Deagle

I make Cvar M4A1 & AK47 off then user should show like this

1) Get AWP+Deagle

User should select AWP as 1st Option



Secondly I tried it by make AK47 Cvar but what happens when i off AK47 and menu show me like that

1) Get AK47+Deagle
2) Get AWP+Deagle

but when i press 2 its give me AK47 and press 3 AWP not giving to me [Mean Case option should be make like that if i make any cvar off the weapon it give me exact weapon to me like that Awp should given me in second option instead of third]

jimaway 08-26-2022 06:39

Re: Case Option depend on Cvar !!!
 
better way would be to disable the item in menu callback instead of removing it. players might memorize the option they want, and when you shift the item location depending what is allowed and what not players might select the wrong one on accident

Bugsy 08-26-2022 11:33

Re: Case Option depend on Cvar !!!
 
I agree with Jim - here's an example using a cvar to control availability of a menu item.

https://forums.alliedmods.net/showpo...82&postcount=8

counterstrike1.6 08-26-2022 14:40

Re: Case Option depend on Cvar !!!
 
Thx Bugsy your provided link works but here another Problem/Bug occurred after time pass its automatically select 1st option how to prevent that from selecting 1st option [how to fix it]?

I tested value of iData. When time runs out its value give blank and select first option
As i am not perfect in coding !!!
Code Attached !!!

PHP Code:

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#define PLUGIN "Gun Menu"
#define VERSION "1.0"
#define AUTHOR "begin"
new g_round,g_c4
new g_pMenuCancel,g_menu_active,g_menuAvailableRound,g_awp_active;
new 
g_CvarHe,g_CvarFlash,g_CvarSmoke
#define PREFIX_CHAT "^4[AMXX]"
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR);
    
g_menu_active register_cvar("menu_active""1")
    
g_CvarHe       register_cvar"amx_cvar_vip_he_cancel""1" );
    
g_CvarFlash   register_cvar"amx_cvar_vip_flash_cancel""1" );
    
g_CvarSmoke   register_cvar"amx_cvar_vip_smoke_cancel""0" );
    
g_awp_active  register_cvar("amx_awp_menu_cancel""1");
    
g_pMenuCancel register_cvar("amx_vip_menu_cancel""15");
    
g_menuAvailableRound register_cvar("amx_vip_available_round""3")
    
    
register_logevent("logevent_round_start"2"1=Round_Start");
    
register_event("TextMsg""Event_Round_Restart""a""2=#Game_Commencing""2=#Game_will_restart_in");
}
public 
Event_Round_Restart()
{
    
g_round 0;
}
public 
logevent_round_start()
{
    
g_round++;
    new 
players[32], pnum;
    
get_players(playerspnum"ac");
    new 
availableRound get_pcvar_num(g_menuAvailableRound)
    for(new 
0iplayerpnumi++)
    {
        
iplayer players[i]
        if (!
is_user_alive(iplayer)) continue;
        
        if (
get_pcvar_num(g_CvarHe))
        {
            
give_item(iplayer"weapon_hegrenade");    
        }
        if (
get_pcvar_num(g_CvarFlash))
        {
            
give_item(iplayer"weapon_flashbang");
            
give_item(iplayer"weapon_flashbang");
        }
        if (
get_pcvar_num(g_CvarSmoke))
        {
            
give_item(iplayer"weapon_smokegrenade")
        }
        
give_item(iplayer"item_assaultsuit");
        
give_item(iplayer"item_thighpack");
        
        if (
g_round<=availableRound)
        {
            
client_print_color(iplayerprint_team_default"%s^3 Menu will be available in^4 %i^3 Round",PREFIX_CHAT,(availableRound+1)-g_round);
        }
        else 
        {
            if (
get_pcvar_num(g_menu_active)&&g_round>=availableRound)
            {
                
OpenMenu(iplayer)
            }
            else
            {
                
client_print_color(iplayerprint_team_default"%s^3 Menu Not Actived^1 [^4Contact Admins^1]",PREFIX_CHAT);
            }
        }    
    }
    
    return 
PLUGIN_HANDLED;

public 
OpenMenu(id)
{
    new 
iMenu menu_create("Free VIP Guns""OpenMenu_sub");
    
    
menu_additem(iMenu"Get M4A1+Deagle","0",0);
    
menu_additem(iMenu"Get AK47+Deagle","1",0);
    
menu_additem(iMenu"Get AWP+Deagle","2",_,menu_makecallback("CallbackTest"));
    
menu_setprop(iMenuMPROP_EXITMEXIT_ALL);
    new 
iSec get_pcvar_num(g_pMenuCancel)
    
menu_display(idiMenu0,iSec);
    
client_print_color(idprint_team_default"%s^3 Please Choose Your^4 VIP Gun^3, Menu Will Closed in^4 %i^3 Seconds",PREFIX_CHATiSec);
    
set_task(float(iSec), "Destroy_Menu"id)
}
public 
Destroy_Menu ()
{
    for(new 
NumNum 32Num++)
    {
        if(!
is_user_connected(Num))
            continue;
        
        
show_menu(Num0"^n"1);
    }
}
public 
CallbackTest(idMenuitem)
{
    return 
get_pcvar_numg_awp_active ) ? ITEM_ENABLED ITEM_DISABLED;
}

public 
OpenMenu_sub(idmenuitem)
{
    if(
item == MENU_EXIT || !is_user_alive(id))
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
iData[6]
    new 
iAccess
    
new iCallback
    
new iName[64]
    
    
menu_item_getinfo(menuitemiAccessiData5iName63iCallback)
    
    switch(
str_to_num(iData))
    {
        case 
0:
        {
            
select_m4a1(id);
        }
        case 
1:
        {
            
select_ak47(id);
        }
        case 
2:
        {
            
select_awp(id)
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}
public 
select_ak47(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_ak47");
    
cs_set_user_bpammo(idCSW_AK4790);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 AK47^3 and^4 Deagle",PREFIX_CHAT);
}
public 
select_m4a1(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_m4a1");
    
cs_set_user_bpammo(idCSW_M4A190);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 M4A1^3 and^4 Deagle",PREFIX_CHAT);
}
public 
select_awp(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_awp");
    
cs_set_user_bpammo(idCSW_AWP30);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 AWP^3 and^4 Deagle",PREFIX_CHAT);



jimaway 08-26-2022 19:10

Re: Case Option depend on Cvar !!!
 
Code:
public Destroy_Menu () {     new menuid, oldmenu;     for(new Num; Num < 32; Num++)     {         if(!is_user_connected(Num))             continue;         if (player_menu_info(Num, oldmenu, menuid))         {             if (menuid != -1)             {                 menu_destroy(menuid);                 show_menu(Num, 0, "^n", 1);             }         }     } }

counterstrike1.6 08-27-2022 02:34

Re: Case Option depend on Cvar !!!
 
1 Attachment(s)
Quote:

Originally Posted by jimaway (Post 2787483)
Code:
public Destroy_Menu () {     new menuid;     for(new Num; Num < 32; Num++)     {         if(!is_user_connected(Num))             continue;         if (player_menu_info(Num, _, menuid))         {             if (menuid != -1)             {                 menu_destroy(menuid);                 show_menu(Num, 0, "^n", 1);             }         }     } }

Still have Error on Line 96: Argument does not have a default value (argument 2) on line 96

Code Attached !!!

PHP Code:

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#define PLUGIN "Gun Menu"
#define VERSION "1.0"
#define AUTHOR "begin"
new g_round,g_c4
new g_pMenuCancel,g_menu_active,g_menuAvailableRound,g_awp_active;
new 
g_CvarHe,g_CvarFlash,g_CvarSmoke
#define PREFIX_CHAT "^4[AMXX]"
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR);
    
g_menu_active register_cvar("menu_active""1")
    
g_CvarHe       register_cvar"amx_cvar_vip_he_cancel""1" );
    
g_CvarFlash   register_cvar"amx_cvar_vip_flash_cancel""1" );
    
g_CvarSmoke   register_cvar"amx_cvar_vip_smoke_cancel""0" );
    
g_awp_active  register_cvar("amx_awp_menu_cancel""1");
    
g_pMenuCancel register_cvar("amx_vip_menu_cancel""15");
    
g_menuAvailableRound register_cvar("amx_vip_available_round""3")
    
    
register_logevent("logevent_round_start"2"1=Round_Start");
    
register_event("TextMsg""Event_Round_Restart""a""2=#Game_Commencing""2=#Game_will_restart_in");
}
public 
Event_Round_Restart()
{
    
g_round 0;
}
public 
logevent_round_start()
{
    
g_round++;
    new 
players[32], pnum;
    
get_players(playerspnum"ac");
    new 
availableRound get_pcvar_num(g_menuAvailableRound)
    for(new 
0iplayerpnumi++)
    {
        
iplayer players[i]
        if (!
is_user_alive(iplayer)) continue;
        
        if (
get_pcvar_num(g_CvarHe))
        {
            
give_item(iplayer"weapon_hegrenade");    
        }
        if (
get_pcvar_num(g_CvarFlash))
        {
            
give_item(iplayer"weapon_flashbang");
            
give_item(iplayer"weapon_flashbang");
        }
        if (
get_pcvar_num(g_CvarSmoke))
        {
            
give_item(iplayer"weapon_smokegrenade")
        }
        
give_item(iplayer"item_assaultsuit");
        
give_item(iplayer"item_thighpack");
        
        if (
g_round<=availableRound)
        {
            
client_print_color(iplayerprint_team_default"%s^3 Menu will be available in^4 %i^3 Round",PREFIX_CHAT,(availableRound+1)-g_round);
        }
        else 
        {
            if (
get_pcvar_num(g_menu_active)&&g_round>=availableRound)
            {
                
OpenMenu(iplayer)
            }
            else
            {
                
client_print_color(iplayerprint_team_default"%s^3 Menu Not Actived^1 [^4Contact Admins^1]",PREFIX_CHAT);
            }
        }    
    }
    
    return 
PLUGIN_HANDLED;

public 
OpenMenu(id)
{
    new 
iMenu menu_create("Free VIP Guns""OpenMenu_sub");
    
    
menu_additem(iMenu"Get M4A1+Deagle","0",0);
    
menu_additem(iMenu"Get AK47+Deagle","1",0);
    
menu_additem(iMenu"Get AWP+Deagle","2",_,menu_makecallback("CallbackTest"));
    
menu_setprop(iMenuMPROP_EXITMEXIT_ALL);
    new 
iSec get_pcvar_num(g_pMenuCancel)
    
menu_display(idiMenu0,iSec);
    
client_print_color(idprint_team_default"%s^3 Please Choose Your^4 VIP Gun^3, Menu Will Closed in^4 %i^3 Seconds",PREFIX_CHATiSec);
    
set_task(float(iSec), "Destroy_Menu"id)
}
public 
Destroy_Menu ()
{
    new 
menuid;
    for(new 
NumNum 32Num++)
    {
        if(!
is_user_connected(Num))
            continue;
        if (
player_menu_info(Num_menuid)) 
        {
            if (
menuid != -1
            {
                
menu_destroy(menuid);
                
show_menu(Num0"^n"1);
            }
        }
    }
}
public 
CallbackTest(idMenuitem)
{
    return 
get_pcvar_numg_awp_active ) ? ITEM_ENABLED ITEM_DISABLED;
}

public 
OpenMenu_sub(idmenuitem)
{
    if(
item == MENU_EXIT || !is_user_alive(id))
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
iData[6]
    new 
iAccess
    
new iCallback
    
new iName[64]
    
    
menu_item_getinfo(menuitemiAccessiData5iName63iCallback)
    
    switch(
str_to_num(iData))
    {
        case 
0:
        {
            
select_m4a1(id);
        }
        case 
1:
        {
            
select_ak47(id);
        }
        case 
2:
        {
            
select_awp(id)
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}
public 
select_ak47(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_ak47");
    
cs_set_user_bpammo(idCSW_AK4790);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 AK47^3 and^4 Deagle",PREFIX_CHAT);
}
public 
select_m4a1(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_m4a1");
    
cs_set_user_bpammo(idCSW_M4A190);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 M4A1^3 and^4 Deagle",PREFIX_CHAT);
}
public 
select_awp(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_awp");
    
cs_set_user_bpammo(idCSW_AWP30);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 AWP^3 and^4 Deagle",PREFIX_CHAT);



jimaway 08-27-2022 07:20

Re: Case Option depend on Cvar !!!
 
edited my last post

counterstrike1.6 08-27-2022 09:47

Re: Case Option depend on Cvar !!!
 
2 Attachment(s)
Quote:

Originally Posted by jimaway (Post 2787516)
edited my last post

Thx For helping me !!!

But i found another Bug too !!! when [(ON/OFF)] Cvar of Guns and Code i made latest Changes

Quote:

L 08/27/2022 - 17:39:21: Start of error session.
L 08/27/2022 - 17:39:21: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20220827.log")
L 08/27/2022 - 17:39:21: Invalid menu id 0(1)
L 08/27/2022 - 17:39:21: [AMXX] Displaying debug trace (plugin "gunmenu.amxx", version "1.0")
L 08/27/2022 - 17:39:21: [AMXX] Run time error 10: native error (native "menu_item_getinfo")
L 08/27/2022 - 17:39:21: [AMXX] [0] gunmenu.sma::OpenMenu_sub (line 134)
L 08/27/2022 - 17:42:04: Invalid menu id 0(1)
L 08/27/2022 - 17:42:04: [AMXX] Displaying debug trace (plugin "gunmenu.amxx", version "1.0")
L 08/27/2022 - 17:42:05: [AMXX] Run time error 10: native error (native "menu_item_getinfo")
L 08/27/2022 - 17:42:05: [AMXX] [0] gunmenu.sma::OpenMenu_sub (line 134)
PHP Code:

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#define PLUGIN "Gun Menu"
#define VERSION "1.0"
#define AUTHOR "begin"
new g_round,g_c4
new g_pMenuCancel,g_menu_active,g_menuAvailableRound,g_awp_active,g_ak47_active,g_m4a1_active;
new 
g_CvarHe,g_CvarFlash,g_CvarSmoke
#define PREFIX_CHAT "^4[AMXX]"
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR);
    
g_menu_active register_cvar("menu_active""1")
    
g_CvarHe       register_cvar"amx_cvar_vip_he_cancel""1" );
    
g_CvarFlash   register_cvar"amx_cvar_vip_flash_cancel""1" );
    
g_CvarSmoke   register_cvar"amx_cvar_vip_smoke_cancel""0" );
    
g_m4a1_active  register_cvar("amx_m4a1_menu_cancel""0")
    
g_ak47_active  register_cvar("amx_ak47_menu_cancel""1");
    
g_awp_active  register_cvar("amx_awp_menu_cancel""1");
    
g_pMenuCancel register_cvar("amx_vip_menu_cancel""15");
    
g_menuAvailableRound register_cvar("amx_vip_available_round""3")
    
    
register_logevent("logevent_round_start"2"1=Round_Start");
    
register_event("TextMsg""Event_Round_Restart""a""2=#Game_Commencing""2=#Game_will_restart_in");
}
public 
Event_Round_Restart()
{
    
g_round 0;
}
public 
logevent_round_start()
{
    
g_round++;
    new 
players[32], pnum;
    
get_players(playerspnum"ac");
    new 
availableRound get_pcvar_num(g_menuAvailableRound)
    for(new 
0iplayerpnumi++)
    {
        
iplayer players[i]
        if (!
is_user_alive(iplayer)) continue;
        
        if (
get_pcvar_num(g_CvarHe))
        {
            
give_item(iplayer"weapon_hegrenade");    
        }
        if (
get_pcvar_num(g_CvarFlash))
        {
            
give_item(iplayer"weapon_flashbang");
            
give_item(iplayer"weapon_flashbang");
        }
        if (
get_pcvar_num(g_CvarSmoke))
        {
            
give_item(iplayer"weapon_smokegrenade")
        }
        
give_item(iplayer"item_assaultsuit");
        
give_item(iplayer"item_thighpack");
        
        if (
g_round<=availableRound)
        {
            
client_print_color(iplayerprint_team_default"%s^3 Menu will be available in^4 %i^3 Round",PREFIX_CHAT,(availableRound+1)-g_round);
        }
        else 
        {
            if (
get_pcvar_num(g_menu_active)&&g_round>=availableRound)
            {
                
OpenMenu(iplayer)
            }
            else
            {
                
client_print_color(iplayerprint_team_default"%s^3 Menu Not Actived^1 [^4Contact Admins^1]",PREFIX_CHAT);
            }
        }    
    }
    
    return 
PLUGIN_HANDLED;

public 
OpenMenu(id)
{
    new 
iMenu menu_create("Free VIP Guns""OpenMenu_sub");
    
    
menu_additem(iMenu"Get M4A1+Deagle","0",_,menu_makecallback("M4A1_Menu_Cancel"));
    
menu_additem(iMenu"Get AK47+Deagle","1",_,menu_makecallback("AK47_Menu_Cancel"));
    
menu_additem(iMenu"Get AWP+Deagle","2",_,menu_makecallback("AWP_Menu_Cancel"));
    
menu_setprop(iMenuMPROP_EXITMEXIT_ALL);
    new 
iSec get_pcvar_num(g_pMenuCancel)
    
menu_display(idiMenu0,iSec);
    
client_print_color(idprint_team_default"%s^3 Please Choose Your^4 VIP Gun^3, Menu Will Closed in^4 %i^3 Seconds",PREFIX_CHATiSec);
    
set_task(float(iSec), "Destroy_Menu"id)
}
public 
Destroy_Menu ()
{
    new 
menuid,menu;
    for(new 
NumNum 32Num++)
    {
        if(!
is_user_connected(Num))
            continue;
        if (
player_menu_info(Num,menumenuid)) 
        {
            if (
menuid != -1
            {
                
menu_destroy(menuid);
                
show_menu(Num0"^n"1);
            }
        }
    }
}
public 
AWP_Menu_Cancel(idMenuitem)
{
    return 
get_pcvar_numg_awp_active ) ? ITEM_ENABLED ITEM_DISABLED;
}
public 
AK47_Menu_Cancel(idMenuitem)
{
    return 
get_pcvar_numg_ak47_active ) ? ITEM_ENABLED ITEM_DISABLED;
}
public 
M4A1_Menu_Cancel(idMenuitem)
{
    return 
get_pcvar_numg_m4a1_active ) ? ITEM_ENABLED ITEM_DISABLED;
}


public 
OpenMenu_sub(idmenuitem)
{
    if(
item == MENU_EXIT || !is_user_alive(id))
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
iData[6]
    new 
iAccess
    
new iCallback
    
new iName[64]
    
    
menu_item_getinfo(menuitemiAccessiData5iName63iCallback)
    
    switch(
str_to_num(iData))
    {
        case 
0:
        {
            
select_m4a1(id);
        }
        case 
1:
        {
            
select_ak47(id);
        }
        case 
2:
        {
            
select_awp(id)
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}
public 
select_ak47(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_ak47");
    
cs_set_user_bpammo(idCSW_AK4790);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 AK47^3 and^4 Deagle",PREFIX_CHAT);
}
public 
select_m4a1(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_m4a1");
    
cs_set_user_bpammo(idCSW_M4A190);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 M4A1^3 and^4 Deagle",PREFIX_CHAT);
}
public 
select_awp(id)
{
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(id"item_assaultsuit");
    if (
get_pcvar_num(g_CvarHe))
    {
        
give_item(id"weapon_hegrenade");    
    }
    if (
get_pcvar_num(g_CvarFlash))
    {
        
give_item(id"weapon_flashbang");
        
give_item(id"weapon_flashbang");
    }
    if (
get_pcvar_num(g_CvarSmoke))
    {
        
give_item(id"weapon_smokegrenade")
    }
    
give_item(id"weapon_awp");
    
cs_set_user_bpammo(idCSW_AWP30);
    
give_item(id"weapon_deagle");
    
cs_set_user_bpammo(idCSW_DEAGLE35);
    
    if(
user_has_weapon(idCSW_C4))
        
g_c4 true;
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
give_item(id"item_thighpack");
    }
    else if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
g_c4)
        {
            
give_item(id"weapon_c4");
            
cs_set_user_plant(id11);
        }
    }
    
client_print_color(id,print_team_default,"%s^3 You Got Free^4 AWP^3 and^4 Deagle",PREFIX_CHAT);




All times are GMT -4. The time now is 00:05.

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