Raised This Month: $ Target: $400
 0% 

[REQ] Problem with RmoveAdmin


Post New Thread Closed Thread   
 
Thread Tools Display Modes
Author Message
Snitch
Veteran Member
Join Date: Sep 2013
Location: Kazakhstan
Old 09-21-2013 , 16:24   [REQ] Problem with RmoveAdmin
#1

I have Admin Access menu, I want to remove someone Admin
I open my menu appears RemoveAdmin
I select someone it does not remove him from user.ini.


Someone can correct me the Public?

PHP Code:
#include < amxmodx >
#include <amxmisc>

#define MAX_ACCESS 5
#define OWNER_ACCESS ADMIN_IMMUNITY

enum{TYPE_STEAM,TYPE_NAME}

new const 
accNames[][] = {
    
"",
    
"Owner Access",
    
"Manager Access",
    
"Super Admin Access",
    
"Admin Access",
    
"Vip Access"
};

new const 
accFlags[][] = {
    
"",
    
"abcdefghijklmnopqrstuy",
    
"acdefghijklmnopqrstu",
    
"cefhijkmnp",
    
"cefhijm",
    
"ceir"
};

new 
accMenuszKey;

public 
plugin_init()
{
    
register_plugin("Access Menu""v1""Angryx");
    
register_clcmd"say /access","openAccessMenu",ADMIN_IMMUNITY,"");
    
register_clcmd"say /manage","openAccessMenu",ADMIN_IMMUNITY,"");
    
register_clcmd("amx_removeadmin","remove_cmd",ADMIN_IMMUNITY,"amx_removeadmin <steamid or nick>");
}


public 
openAccessMenu(id)
{
    if( !(
get_user_flags(id) & OWNER_ACCESS) )
    {
        
ColorChat(id"You Need To Be An ^"^3Owner^1^" To Access This Menu");
        return 
PLUGIN_HANDLED;
    }
    
    
accMenu menu_create("\r[\d Access \r] \yPlayers Manage Menu""openPlayerMenu");
    
menu_additem(accMenu"\yAdd \dOwner""1"0);
    
menu_additem(accMenu"\yAdd \dManager""2"0);
    
menu_additem(accMenu"\yAdd \dSuper Admin""3"0);
    
menu_additem(accMenu"\yAdd \dAdmin""4"0);
    
menu_additem(accMenu"\yAdd \dVip""5"0);
    
menu_additem(accMenu"\yRemove \dAccess""6"0);
    
    
menu_setprop(accMenuMPROP_NUMBER_COLOR"\d");
    
menu_setprop(accMenuMPROP_EXITNAME"\yClose Menu");
    
    
menu_display(idaccMenu);
    return 
PLUGIN_HANDLED;
}


public 
openPlayerMenu(idaccMenuitem)
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(accMenu);
        return 
PLUGIN_HANDLED;
    }
    
    new 
Data[6],iName[64], AccessCallBack;
    
menu_item_getinfo(accMenuitemAccessData5iName63CallBack);
    
szKey str_to_num(Data);
    
    switch(
szKey)
    {
        case 
1..5:    getPlayers(id);
        case 
6:    removevip_cmd(id);
    }
    
    
//getPlayers(id);
    
menu_destroy(accMenu);
    return 
PLUGIN_HANDLED;
}

public 
getPlayers(id)
{
    new 
setLevel menu_create("\r[\dAccess\r] \yPlayers Manage Menu""setAccess");
    new 
players[32], pnumplayerszName[32], szInfo[10], mItem[128];
    
get_players(playerspnum);
    for( new 
ii<pnumi++ )
    {
        
player players[i];
        
get_user_name(playerszNamecharsmax(szName));
        
num_to_str(playerszInfocharsmax(szInfo));
        
formatex(mItemsizeof mItem 1"\y%s"szName);
        
menu_additem(setLevelmItemszInfo0);
    }
    
menu_display(idsetLevel);
}

public 
setAccess(idsetLevelitem)
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(setLevel);
        return 
PLUGIN_HANDLED;
    }
    
    new 
Data[6], iName[33], ownerName[32], playerName[32], playerid[21], AccessCallBack;
    
menu_item_getinfo(setLevelitemAccessData5iName32CallBack);
    new 
plr str_to_num(Data);
    
    
get_user_name(idownerNamesizeof ownerName 1);
    
get_user_name(plrplayerNamesizeof playerName 1);
    
get_user_authid(plrplayeridsizeof playerid 1); 
    
    
server_cmd("amx_addadmin ^"%s^" ^"%s^""playeridaccFlags[szKey]);
    
ColorChat(0"Owner ^4%s^1 Gave^4 %s^1 Access To^4 %s"ownerNameaccNames[szKey], playerName); 
    
server_cmd("amx_reloadadmins")
    
    
menu_destroy(setLevel);
    return 
PLUGIN_HANDLED;
}

public 
removevip_cmd(id) {
    if(!
is_user_connected(id))
        return 
PLUGIN_HANDLED
    
    
new menu menu_create("\y[\rAccess\y] - \wRemove Access:""sub_remove_cmd")
    
    new 
players[32], pnumtempid
    
new szName[32], szTempid[10]
    
    
get_players(playerspnum"ch")
    
    for( new 
ii<pnumi++ ) 
    {
        
tempid players[i]
        
        
get_user_name(tempidszName31)
        
num_to_str(tempidszTempid9)
        
menu_additem(menuszNameszTempid0)
    }
    
    
menu_display(idmenu)
    return 
PLUGIN_HANDLED
}

public 
sub_remove_cmd(idmenuitem) {
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(menuitemaccessdata,5iName63callback)
    
    new 
tempid str_to_num(data)
    
    new 
Steam[32]
    
get_user_authid(tempidSteam31)
    
    
client_cmd(id"amx_removeadmin ^"%s^""Steam)
    
server_cmd("amx_reloadadmins")
    
    
id str_to_num(data)
    return 
PLUGIN_HANDLED
}

public 
remove_cmd(id,level,cid)
{
    if(!
access(idADMIN_IMMUNITY))
        return 
PLUGIN_HANDLED
    
    
new players[32], inumiplayer;
    new 
TARGET[32], playerinfo[32];
    new 
command_type;
    new 
bool:is_found false;
    
    
get_players(players,inum);
    
    
read_argv(1,TARGET,31);
    
remove_quotes(TARGET);

    if(
equal(TARGET,"STEAM_",6))
    {
        
command_type TYPE_STEAM;

        for(
0inumi++)
        {
            
player players[i];
            
            
get_user_authid(playerplayerinfo31);
            
            if(
equal(playerinfoTARGET))
            {
                
remove_user_flags(player);
                break;
            }
        }
    }
    else
    {
        
command_type TYPE_NAME;

        for(
0inumi++)
        {
            
player players[i];
            
            
get_user_name(player,playerinfo,31);
            if( 
containi(playerinfo,TARGET) != -)
            {
                
remove_user_flags(player);
                break;
            }
        }
    }
    new 
filename[64], text[512];
    
get_configsdir(filename,63);
    
format(filename,63,"%s/users.ini",filename);

    new 
file fopen(filename,"rt");
    
0;

    while(!
feof(file))
    {
        
fgets(file,text,50);

        
i++;

        if(
text[0] == ';')
            continue;

        
parse(text,playerinfo,31,players,1);

        if((
command_type == TYPE_STEAM && equal(playerinfoTARGET))
        || (
command_type == TYPE_NAME && containi(playerinfoTARGET) != -1))
        {
            
is_found true;
            
format(text,511,";%s",text);
            
write_file(filename,text,i-1);

            
console_print(id,"********************ADMIN ID REMOVAL TOOL**************");
            
console_print(id,"");
            
console_print(id," The target, %s, was removed from users.ini ",TARGET);
            
console_print(id,"");
            
console_print(id,"********************ADMIN ID REMOVAL TOOL**************");

            
server_cmd("amx_reloadadmins")
            break;
        }
    }
    
    if(!
is_found)
    {
        
console_print(id,"********************ADMIN ID REMOVAL TOOL**************");
        
console_print(id," The entry, %s, was not found in users.ini ",TARGET);
        
console_print(id,"********************ADMIN ID REMOVAL TOOL**************");
    }

    
fclose(file);

    return 
PLUGIN_HANDLED;
}

stock ColorChat(const id, const string[], {FloatSqlResul,_}:...) {
    new 
msg[191], players[32], count 1;
    
    static 
lenlen formatex(msgcharsmax(msg), "^3[^1Admin Manage^3]^1 ");
    
vformat(msg[len], charsmax(msg) - lenstring3);
    
    if(
id)  players[0] = id;
    else    
get_players(players,count,"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();
        }
    }


Last edited by Snitch; 09-21-2013 at 17:29.
Snitch is offline
Send a message via Skype™ to Snitch
Snitch
Veteran Member
Join Date: Sep 2013
Location: Kazakhstan
Old 09-22-2013 , 22:49   Re: [REQ] Problem with RmoveAdmin
#2

bump!
Snitch is offline
Send a message via Skype™ to Snitch
Closed Thread



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 18:53.


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