Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include < amxmodx >
- #define MAX_ACCESS 5
- #define OWNER_ACCESS ADMIN_IMMUNITY
- new const accNames[ MAX_ACCESS ][] =
- {
- "Owner Access",
- "Manager Access",
- "Super Admin Access",
- "Admin Access",
- "V.i.p Access"
- };
- new const accFlags[ MAX_ACCESS ][] =
- {
- "abcdefghijklmnopqrstu",
- "cdefghijklmnopqrstu",
- "cdefgijlnopqrstu",
- "cdegijlnopqrst",
- "ceir"
- };
- new accMenu, szKey;
- public plugin_init()
- {
- register_plugin("Access Menu", "v1", "Angryx");
- register_clcmd( "say /access","openAccessMenu");
- register_clcmd( "say /manage","openAccessMenu");
- }
- 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", "0", 0);
- menu_additem(accMenu, "\yAdd \dManager", "1", 0);
- menu_additem(accMenu, "\yAdd \dSuper Admin", "2", 0);
- menu_additem(accMenu, "\yAdd \dAdmin", "3", 0);
- menu_additem(accMenu, "\yAdd \dVip", "4", 0);
- menu_setprop(accMenu, MPROP_NUMBER_COLOR, "\d");
- menu_setprop(accMenu, MPROP_EXITNAME, "\yClose Menu");
- menu_display(id, accMenu);
- return PLUGIN_HANDLED;
- }
- public openPlayerMenu(id, accMenu, item)
- {
- if( item == MENU_EXIT )
- {
- menu_destroy(accMenu);
- return PLUGIN_HANDLED;
- }
- new Data[6],iName[64], Access, CallBack;
- menu_item_getinfo(accMenu, item, Access, Data, 5, iName, 63, CallBack);
- szKey = str_to_num(Data);
- getPlayers(id);
- menu_destroy(accMenu);
- return PLUGIN_HANDLED;
- }
- public getPlayers(id)
- {
- new setLevel = menu_create("\r[\d Horror \r] \yPlayers Manage Menu", "setAccess");
- new players[32], pnum, player, szName[32], szInfo[10], mItem[128];
- get_players(players, pnum);
- for( new i; i<pnum; i++ )
- {
- player = players[i];
- get_user_name(player, szName, charsmax(szName));
- num_to_str(player, szInfo, charsmax(szInfo));
- formatex(mItem, sizeof mItem - 1, "\y%s", szName);
- menu_additem(setLevel, mItem, szInfo, 0);
- }
- menu_display(id, setLevel);
- }
- public setAccess(id, setLevel, item)
- {
- if( item == MENU_EXIT )
- {
- menu_destroy(setLevel);
- return PLUGIN_HANDLED;
- }
- new Data[6], iName[33], ownerName[32], playerName[32], playerid[21], Access, CallBack;
- menu_item_getinfo(setLevel, item, Access, Data, 5, iName, 32, CallBack);
- new plr = str_to_num(Data);
- get_user_name(id, ownerName, sizeof ownerName - 1);
- get_user_name(plr, playerName, sizeof playerName - 1);
- get_user_authid(plr, playerid, sizeof playerid - 1);
- server_cmd("amx_addadmin ^"%s^" ^"%s^"", playerid, accFlags[szKey]);
- ColorChat(0, "Owner ^4%s^1 Gave^4 %s^1 Access To^4 %s", ownerName, accNames[szKey], playerName);
- server_cmd("amx_reloadadmins")
- menu_destroy(setLevel);
- return PLUGIN_HANDLED;
- }
- stock ColorChat(const id, const string[], {Float, Sql, Resul,_}:...) {
- new msg[191], players[32], count = 1;
- static len; len = formatex(msg, charsmax(msg), "^3[^1 Access ^3]^1 ");
- vformat(msg[len], charsmax(msg) - len, string, 3);
- if(id) players[0] = id;
- else get_players(players,count,"ch");
- for (new i = 0; i < count; i++)
- {
- if(is_user_connected(players[i]))
- {
- message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, players[i]);
- write_byte(players[i]);
- write_string(msg);
- message_end();
- }
- }
- }
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1037\\ f0\\ fs16 \n\\ par }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement