AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Need A Menu Plugin ! (https://forums.alliedmods.net/showthread.php?t=283010)

AmitDeb123 05-22-2016 12:40

Need A Menu Plugin !
 
Hi Guys !
i Want A Menu Plugin For ADMIN_LEVEL_B
And Admins Can Use This Menu 2 Times per Round !
Please See The Menu !
http://imgur.com/UKTWybk

siriusmd99 05-22-2016 15:53

Re: Need A Menu Plugin !
 
Here we go:

I don't know what kind of ammo you use , you will have just to replace natives names properly.
PHP Code:


#include <amxmodx> 
#include <fun>   

new g_callback

native my_get_user_ammo(id);
native my_set_user_ammo(idammount);

public 
plugin_init()  
{  
    
register_plugin("Ammo Shop Menu","1.0","siriusmd99")
    
    
register_clcmd("say /shop""shop_menu")
    
g_callback menu_makecallback("check_ammo");
    
}  

public 
client_disconnect(id)  
    if(
task_exists(id))
    
remove_task(id);

public 
shop_menu(id)
{
    
    if(!(
get_user_flags(id) & ADMIN_LEVEL_B) || !is_user_alive(id))
        return 
PLUGIN_HANDLED;
    
    new 
data[1]
    new 
menu menu_create"\r[Boost] \wGolden User [\yHuman\w]""menu_handler" )
    
    
data[0] = 30;
    
menu_additemmenu"\w200 Armor \r[\y30Ammo\r]"data, .callback g_callback);
    
data[0] = 35;
    
menu_additemmenu"\w500 HP \r[\y35Ammo\r]"data, .callback g_callback);
    
data[0] = 40;
    
menu_additemmenu"\wInvisibility 10 sec. \r[\y30Ammo\r]"data, .callback g_callback);
    
data[0] = 20;
    
menu_additemmenu"\wGravity 0.5 \r[\y30Ammo\r]"data, .callback g_callback);
    
    
menu_setpropmenuMPROP_EXITMEXIT_ALL );
    
    
menu_displayidmenu);
    
    return 
PLUGIN_CONTINUE;
    
}  

public 
check_ammo(idMenuitem

    switch( 
item )
    {
        case 
0: if(get_user_armor(id) >= 200)   return ITEM_DISABLED;
            case 
1: if(get_user_health(id) >= 500)  return ITEM_DISABLED;
            case 
2: if(task_exists(id))             return ITEM_DISABLED;
            case 
3: if(get_user_gravity(id) <= 0.5) return ITEM_DISABLED;
        }    
    
    new 
szData[6], szName[64];
    new 
item_accessitem_callback;
    
menu_item_getinfoMenuitemitem_accessszData,charsmaxszData ), szName,charsmaxszName ), item_callback );
    
    return (
my_get_user_ammo(id) < szData[0] ) ? ITEM_DISABLED ITEM_ENABLED;
}      

public 
menu_handleridmenuitem )
{
    if(!
is_user_alive(id) || item == MENU_EXIT){
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    new 
szData[6], szName[64];
    new 
item_accessitem_callback;
    
menu_item_getinfomenuitemitem_accessszData,charsmaxszData ), szName,charsmaxszName ), item_callback );
    
    switch( 
item )
    {
        case 
0set_user_armor  id200 )
            case 
1set_user_health id500 )
            case 
2:{
            
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,0)  
            
set_task(10.0"reset_invisiblity"id)
        }
        case 
3set_user_gravity id0.5 )
        }    
    
    
my_set_user_ammo(idmy_get_user_ammo(id) - szData[0])
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
    
}        

public 
reset_invisibility(id){
    
    if(
is_user_connected(id) && is_user_alive(id))
        
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,255)  



EFFx 05-22-2016 17:08

Re: Need A Menu Plugin !
 
What a menu, omg o.O

siriusmd99 05-22-2016 17:12

Re: Need A Menu Plugin !
 
I assumed all possible cases so that player won't be able to buy if doesn't have ammo or already has item :)

AmitDeb123 05-23-2016 04:29

Re: Need A Menu Plugin !
 
Quote:

Originally Posted by siriusmd99 (Post 2421193)
Here we go:

I don't know what kind of ammo you use , you will have just to replace natives names properly.
PHP Code:


#include <amxmodx> 
#include <fun>   

new g_callback

native my_get_user_ammo(id);
native my_set_user_ammo(idammount);

public 
plugin_init()  
{  
    
register_plugin("Ammo Shop Menu","1.0","siriusmd99")
    
    
register_clcmd("say /shop""shop_menu")
    
g_callback menu_makecallback("check_ammo");
    
}  

public 
client_disconnect(id)  
    if(
task_exists(id))
    
remove_task(id);

public 
shop_menu(id)
{
    
    if(!(
get_user_flags(id) & ADMIN_LEVEL_B) || !is_user_alive(id))
        return 
PLUGIN_HANDLED;
    
    new 
data[1]
    new 
menu menu_create"\r[Boost] \wGolden User [\yHuman\w]""menu_handler" )
    
    
data[0] = 30;
    
menu_additemmenu"\w200 Armor \r[\y30Ammo\r]"data, .callback g_callback);
    
data[0] = 35;
    
menu_additemmenu"\w500 HP \r[\y35Ammo\r]"data, .callback g_callback);
    
data[0] = 40;
    
menu_additemmenu"\wInvisibility 10 sec. \r[\y30Ammo\r]"data, .callback g_callback);
    
data[0] = 20;
    
menu_additemmenu"\wGravity 0.5 \r[\y30Ammo\r]"data, .callback g_callback);
    
    
menu_setpropmenuMPROP_EXITMEXIT_ALL );
    
    
menu_displayidmenu);
    
    return 
PLUGIN_CONTINUE;
    
}  

public 
check_ammo(idMenuitem

    switch( 
item )
    {
        case 
0: if(get_user_armor(id) >= 200)   return ITEM_DISABLED;
            case 
1: if(get_user_health(id) >= 500)  return ITEM_DISABLED;
            case 
2: if(task_exists(id))             return ITEM_DISABLED;
            case 
3: if(get_user_gravity(id) <= 0.5) return ITEM_DISABLED;
        }    
    
    new 
szData[6], szName[64];
    new 
item_accessitem_callback;
    
menu_item_getinfoMenuitemitem_accessszData,charsmaxszData ), szName,charsmaxszName ), item_callback );
    
    return (
my_get_user_ammo(id) < szData[0] ) ? ITEM_DISABLED ITEM_ENABLED;
}      

public 
menu_handleridmenuitem )
{
    if(!
is_user_alive(id) || item == MENU_EXIT){
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    new 
szData[6], szName[64];
    new 
item_accessitem_callback;
    
menu_item_getinfomenuitemitem_accessszData,charsmaxszData ), szName,charsmaxszName ), item_callback );
    
    switch( 
item )
    {
        case 
0set_user_armor  id200 )
            case 
1set_user_health id500 )
            case 
2:{
            
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,0)  
            
set_task(10.0"reset_invisiblity"id)
        }
        case 
3set_user_gravity id0.5 )
        }    
    
    
my_set_user_ammo(idmy_get_user_ammo(id) - szData[0])
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
    
}        

public 
reset_invisibility(id){
    
    if(
is_user_connected(id) && is_user_alive(id))
        
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,255)  




Bro Code Not Working Please Fix It !
I'm Using Zombie Plague 4.3 Fix5a !
And I Really Need This Menu For Boosted Players !

siriusmd99 05-23-2016 08:36

Re: Need A Menu Plugin !
 
Man , are you completely noobish in scripting?

I said i don't know mod you are using.
I put this teoretically:
Quote:

native my_get_user_ammo(id);
native my_set_user_ammo(id, ammount);
I don't know native names you a getting ammo.
If they are zombie plague then change "my" to "zp" in all natives i wrote.

AmitDeb123 05-23-2016 14:06

Re: Need A Menu Plugin !
 
Bro Thanks For Menu Plugin !
Yea You Are Right I'm Totally Noob In Scripting :(

siriusmd99 05-24-2016 07:57

Re: Need A Menu Plugin !
 
So u changed to zp and it works OK, you solved problem?

AmitDeb123 05-24-2016 12:52

Re: Need A Menu Plugin !
 
Bro Please Help Plugin Not Working !
I Wrote In Consol amx_plugins It's Show Me

name version author file status

unknown unknown unknown shop.amxx bad load

Please Fix It ! I Dont Know What Is The Problem It's compiling Without Any Errors !
But Not Working In Game !
I Put shop.amxx To Plugins Folder And Wrote In Plugins.ini
Still Not Working :(

siriusmd99 05-24-2016 13:08

Re: Need A Menu Plugin !
 
#include <fun>

this means you should have activated module fun .
Look in file modules.ini from configs folder you shall have
fun instead of ;fun


All times are GMT -4. The time now is 18:41.

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