View Single Post
Hey
Member
Join Date: Dec 2017
Old 01-22-2018 , 16:02   Re: Request a plugin Admin Menu
Reply With Quote #8

try this:

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <hamsandwich>

// weapons offsets
#define OFFSET_CLIPAMMO        51
#define OFFSET_LINUX_WEAPONS    4
#define fm_cs_get_weapon_ammo(%1,%2)    set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS)

// players offsets
#define m_pActiveItem 373

const NOCLIP_WPN_BS    = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))

new const 
g_MaxClipAmmo[] = 
{
    
0,
    
13//CSW_P228
    
0,
    
10//CSW_SCOUT
    
0,  //CSW_HEGRENADE
    
7,  //CSW_XM1014
    
0,  //CSW_C4
    
30,//CSW_MAC10
    
30//CSW_AUG
    
0,  //CSW_SMOKEGRENADE
    
30,//CSW_ELITE
    
20,//CSW_FIVESEVEN
    
25,//CSW_UMP45
    
30//CSW_SG550
    
35//CSW_GALIL
    
25//CSW_FAMAS
    
12,//CSW_USP
    
20,//CSW_GLOCK18
    
10//CSW_AWP
    
30,//CSW_MP5NAVY
    
100,//CSW_M249
    
8,  //CSW_M3
    
30//CSW_M4A1
    
30,//CSW_TMP
    
20//CSW_G3SG1
    
0,  //CSW_FLASHBANG
    
7,  //CSW_DEAGLE
    
30//CSW_SG552
    
30//CSW_AK47
    
0,  //CSW_KNIFE
    
50//CSW_P90
}

new 
bool:Has_NoClip[32], bool:Has_UnlimitedClip[32];

public 
plugin_init()
{
    
register_plugin("Admin Menu""0.2""iTzMeHey / AlliedMods Codes");
    
    
register_clcmd("Admin_Menu""Menu");
    
register_event("CurWeapon" "Event_CurWeapon" "be" "1=1");
}
public 
client_connect(id)
{
    
Has_NoClip[id] = false;
    
Has_UnlimitedClip[id] = false;
}
public 
client_disconnected(id)
{
    
Has_NoClip[id] = false;
    
Has_UnlimitedClip[id] = false;
}
public 
Event_CurWeapon(id)
{
    new 
iWeapon read_data(2)
    if(
Has_UnlimitedClip[id])
    {
        if(!(
NOCLIP_WPN_BS & (1<<iWeapon)))
        {
            
fm_cs_get_weapon_ammoget_pdata_cbase(idm_pActiveItem) , g_MaxClipAmmoiWeapon ] )
        }
    }
}
public 
Menu(id)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_HANDLED;
        
    if(
get_user_flags(id) & ADMIN_KICK)
    {
        
OpMenu(id);
        
client_print(idprint_chat"[AMXX] Access granted");
    }
    else
    {
        
client_print(idprint_chat"[AMXX] you have no access");
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_HANDLED;
}
public 
OpMenu(id)
{
    new 
Text[34], menu menu_create("\rAdmin Menu""Menu_Handler");
    
formatex(Textcharsmax(Text), "NoClip[%s]"Has_NoClip[id] ? "\yON" "\rOff");
    
menu_additem(menuText""0);
    
formatex(Textcharsmax(Text), "Unlimited Clip[%s]"Has_UnlimitedClip[id] ? "\yON" "\rOff");
    
menu_additem(menuText""0);
    
    
menu_display(idmenu0);
    return 
PLUGIN_HANDLED;
}
public 
Menu_Handler(idmenuitem)
{
    switch(
item)
    {
        case 
0:
        {
            
set_user_noclip(id, !Has_NoClip[id] ? true false);
            
Has_NoClip[id] = !Has_NoClip[id] ? true false;
            
client_print(idprint_chat"[AMXX] you just %s NoClip"Has_NoClip[id] ? "Enabled" "Disabled");
            
Menu(id);
            return 
PLUGIN_HANDLED;
        }
        case 
1:
        {
            
Has_UnlimitedClip[id] = !Has_UnlimitedClip[id] ? true false;
            
client_print(idprint_chat"[AMXX] you just %s Unlimited Clip"Has_UnlimitedClip[id] ? "Enabled" "Disabled");
            
Menu(id);
            return 
PLUGIN_HANDLED;
        }
        case 
MENU_EXIT:
        {
            
menu_destroy(menu);
            return 
PLUGIN_HANDLED;
        }
    }
    
// for saftey from memory leak
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;

type Admin_Menu in console to open the menu also i set it to be opened if player has Admin Kick flag.
NOTE: i just wrote it from zero, also didn't test it.
Attached Files
File Type: sma Get Plugin or Get Source (Admin_Menu.sma - 501 views - 3.2 KB)

Last edited by Hey; 01-24-2018 at 18:30. Reason: ughh.. english. New: Code Updated.
Hey is offline