Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

RSSModify SuperAdmin 4.1


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
Hey, guys. I'm wondering if anyone can modify this plugin so it works on everybody but people with the flag "u" (ADMIN_MENU).

Thank you very much!



PHP Code:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Super Admin"
#define VERSION "4.1"
#define AUTHOR "[R]ak"

#define ShowSuperAdmin (get_pcvar_num(Pointer) == 2)

const MENU_OPTION = -4
const TASKMENU 2708

enum _
:Menu_Name_Data {
    
AMXSUPERMENU,
    
SADMIN,
    
KICK,
    
BAN,
    
BANIP,
    
SLAY,
    
SLAP
}

enum _:Menu_Data {
    
COMMANDMENU,
    
COMMAND,
    
MENU_NAME,
    
MENU_OPTION_PREFIX,
    
DATA1,
    
DATA2,
    
DATA3,
    
DATA4
}

new const 
Menu_Name[Menu_Name_Data][Menu_Data][] = {
    { 
"amxsupermenu""""Amx Super Menu""""""""""" },
    { 
"amx_addsuperadmin_menu""amx_addsuperadmin""Amx Add Super Admin Menu""""""""""" },
    { 
"amx_super_kickmenu""amx_super_kick""Amx Super Kick Menu""""""""""" },
    { 
"amx_super_banmenu""amx_super_ban""Amx Super Ban Menu""Ban""Permanente""5""15""60" },
    { 
"amx_super_banipmenu""amx_super_banip""Amx Super Banip Menu""Banip""Permanente""5""15""60" },
    { 
"amx_super_slaymenu""amx_super_slay""Amx Super Slay Menu""""""""""" },
    { 
"amx_super_slapmenu""amx_super_slap""Amx Super Slap Menu""Slap""0""1""5""99" }
}

new 
PointerTrie:SuperAdminsg_RegisterID[Menu_Name_Data], g_MenuMaing_MenuCallBack

public plugin_init() {
    
    
register_dictionary("common.txt")
    
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_concmd(Menu_Name[KICK][COMMAND], "Super_Kick"_"<target|#userid> <reason>")
    
register_concmd(Menu_Name[BAN][COMMAND], "Super_Ban"_"<target|#userid> <time> <reason>")
    
register_concmd(Menu_Name[BANIP][COMMAND], "Super_Banip"_"<target|#userid> <time> <reason>")
    
register_concmd(Menu_Name[SLAY][COMMAND], "Super_Slay"_"<target|#userid>")
    
register_concmd(Menu_Name[SLAP][COMMAND], "Super_Slap"_"<target|#userid> <damage>")
    
register_concmd(Menu_Name[SADMIN][COMMAND], "Super_AddAdmin"_"<target|#userid|steamid>")
    
    for(new 
isizeof Menu_Namei++)
        
g_RegisterID[i] = register_clcmd(Menu_Name[i][COMMANDMENU], "cmdSuperMenu")
    
    
Pointer get_cvar_pointer("amx_show_activity")
    
    
g_MenuCallBack menu_makecallback("CheckAlive")
}

public 
plugin_cfg() {
    
SuperAdmins TrieCreate()
    new 
ConfigDir[64]
    
get_configsdir(ConfigDircharsmax(ConfigDir))
    
    
format(ConfigDircharsmax(ConfigDir), "%s/SuperAdmin.ini"ConfigDir
    
    if(!
file_exists(ConfigDir))
        
create_file(ConfigDir)
    
    new 
Data[37], File fopen(ConfigDir"rt")
        
    while (!
feof(File)) {
        
fgets(FileDatacharsmax(Data))
            
        
trim(Data)
            
        if (
Data[0] == ';' || !Data[0]) 
            continue;
            
        
remove_quotes(Data)
        
TrieSetCell(SuperAdminsDatatrue)  
    }
        
    
fclose(File)
    
    
create_menu_main()
}

public 
cmdSuperMenu(idlevelcid) {
    
    if(
cid == g_RegisterID[AMXSUPERMENU])
        
show_menu_main(id)
    else if(
cid == g_RegisterID[KICK])
        
show_menu_custom(idKICK)
    else if(
cid == g_RegisterID[BAN])
        
show_menu_custom(idBAN)
    else if(
cid == g_RegisterID[BANIP])
        
show_menu_custom(idBANIP)
    else if(
cid == g_RegisterID[SLAY])
        
show_menu_custom(idSLAY)
    else if(
cid == g_RegisterID[SLAP])
        
show_menu_custom(idSLAP)
    else
        
show_menu_custom(idSADMIN)
    
    return 
PLUGIN_HANDLED
    
}

show_menu_main(id)
    
menu_display(idg_MenuMain)
    
show_menu_custom(idTypeMenuKey 0page 0) {
    
    new 
Item[4], Name[32], PlayerPlayer_NumPlayers[32], Menu_Item_Option[32], AddOptionMenu menu_create(Menu_Name[Type][MENU_NAME], "menu_custom_handler")
    
    
AddOption = (Type != KICK && Type != SLAY && Type != SADMIN)
    
    
Item[1] = Type
    Item
[2] = MenuKey
    Item
[3] = 0
    
    
if(AddOption)
        
formatex(Menu_Item_Optioncharsmax(Menu_Item_Option), "%s: %s"Menu_Name[Type][MENU_OPTION_PREFIX], Menu_Name[Type][MenuKey+DATA1])
    
    
get_players(PlayersPlayer_Num)
    
    for(new 
iPlayer_Numi++) {
        
        if(
&& !(6) && AddOption) {
            
Item[0] = MENU_OPTION
            menu_additem
(MenuMenu_Item_OptionItem)
        }
        
        
Player Item[0] = Players[i]
        
        
get_user_name(PlayerNamecharsmax(Name))
                
        
menu_additem(MenuNameItem, .callback = (Type >= SLAY) ? g_MenuCallBack : -1)
    }
    
    if(
AddOption) {
        
        
Item[0] = MENU_OPTION
    
        menu_additem
(MenuMenu_Item_OptionItem)
        
    }
    
    
menu_setprop(MenuMPROP_EXITMEXIT_ALL)
    
menu_display(idMenupage)
    
}

public 
menu_main_handler(idmenuitem) {
    
    if(
item == MENU_EXIT)
        return
    
    
show_menu_custom(iditem+1)
    
}

public 
menu_custom_handler(idmenuitem) {
    
    if(
item == MENU_EXIT) {
        
menu_destroy(menu)
        return
    }
    
    new 
Data[5], AccessCallback
    
    menu_item_getinfo
(menuitemAccessDatacharsmax(Data), __Callback)
    
    if(
Data[0] == MENU_OPTION) {    
        if((++
Data[2] + DATA1) > DATA4)
            
Data[2] = 0
    
}
    else {
        
        new 
type Data[1], victim Data[0]
    
        
client_cmd(id"%s #%d %s"Menu_Name[type][COMMAND], get_user_userid(victim), Menu_Name[type][Data[2]+DATA1])
    
    }
    
    new 
pagenewmenuoldmenu
    player_menu_info
(idoldmenunewmenupage)
    
    
Data[0] = id
    Data
[3] = page
    
    set_task
(0.1"TaskShowMenu"TASKMENUDatasizeof Data)
    
    
menu_destroy(menu)
    
}

public 
TaskShowMenu(Args[])
    
show_menu_custom(Args[0], Args[1], Args[2], Args[3])

public 
CheckAlive(idmenuitem) {
    
    new 
Data[4], AccessCallbackName[32]
    
    
menu_item_getinfo(menuitemAccessDatacharsmax(Data), Namecharsmax(Name), Callback)
    
    return (
is_user_alive(Data[0])) ? ITEM_ENABLED ITEM_DISABLED
    
}

public 
Super_Kick(idlevelcid) {
    if(!
Is_SuperAdmin(idcid2))
        return 
PLUGIN_HANDLED;
    
    new 
Name[32], Reason[32]
    
    
read_argv(1Namecharsmax(Name))
    
read_argv(2Reasoncharsmax(Reason))
    
remove_quotes(Reason)
    
    new 
player get_target(idName)
    
    if(!
player)
        return 
PLUGIN_HANDLED
    
    
if(Reason[0])
        
server_cmd("kick #%d ^"%s^""get_user_userid(player), Reason)
    else
        
server_cmd("kick #%d"get_user_userid(player))
        
    new 
Super_Admin[32], Victim[32]
    
    
get_user_name(idSuper_Admincharsmax(Super_Admin))
    
get_user_name(playerVictimcharsmax(Victim))
    
    if(
get_pcvar_num(Pointer))
        
client_print(0print_chat"[AMXX] Admin %s kick %s"ShowSuperAdmin Super_Admin ""Victim)
    
    return 
PLUGIN_HANDLED
}

public 
Super_Ban(idlevelcid) {
    if(!
Is_SuperAdmin(idcid3))
        return 
PLUGIN_HANDLED;
        
    new 
Name[32], Time[7] ,Reason[32]
    
    
read_argv(1Namecharsmax(Name))
    
read_argv(2Timecharsmax(Time))
    
read_argv(3Reasoncharsmax(Reason))
    
remove_quotes(Reason)
    
    new 
player get_target(idName)
    
    if (!
player)
        return 
PLUGIN_HANDLED
    
    
new Authid[35], Time_BanShow_Time[20]
    
    
get_user_authid(playerAuthidcharsmax(Authid))
    
Time_Ban str_to_num(Time)
    
    if(!
Time_Ban)
        
formatex(Show_Timecharsmax(Show_Time), "Permanently")
    else
        
formatex(Show_Timecharsmax(Show_Time), "%d Min"Time_Ban)
    
    if (
Reason[0])
        
server_cmd("kick #%d ^"%Banned Time:%s)^";wait;banid ^"%s^" %s;wait;writeid"get_user_userid(player), ReasonShow_TimeTime_BanAuthid)
    else
        
server_cmd("kick #%d ^"Banned Time:%s)^";wait;banid ^"%s^" %s;;wait;writeid"get_user_userid(player), Show_TimeTime_BanAuthid)

    new 
Super_Admin[32], Victim[32]
    
    
get_user_name(idSuper_Admincharsmax(Super_Admin))
    
get_user_name(playerVictimcharsmax(Victim))
    
    if(
get_pcvar_num(Pointer))
        
client_print(0print_chat"[AMXX] Admin %s Ban %s for %s"ShowSuperAdmin Super_Admin ""VictimShow_Time)
    
    return 
PLUGIN_HANDLED
}

public 
Super_Banip(idlevelcid) {
    if(!
Is_SuperAdmin(idcid3))
        return 
PLUGIN_HANDLED;
        
    new 
Name[32], Time[7] ,Reason[32]
    
    
read_argv(1Namecharsmax(Name))
    
read_argv(2Timecharsmax(Time))
    
read_argv(3Reasoncharsmax(Reason))
    
remove_quotes(Reason)
    
    new 
player get_target(idName)
    
    if (!
player)
        return 
PLUGIN_HANDLED
    
    
new Ip[20], Time_BanShow_Time[20]
    
    
get_user_ip(playerIpcharsmax(Ip), 1)
    
Time_Ban str_to_num(Time)
    
    if(!
Time_Ban)
        
formatex(Show_Timecharsmax(Show_Time), "Permanently")
    else
        
formatex(Show_Timecharsmax(Show_Time), "%d Min"Time_Ban)
    
    if (
Reason[0])
        
server_cmd("kick #%d ^"%Banned Time:%s)^";wait;addip ^"%s^" ^"%s^";wait;writeip"get_user_userid(player), ReasonShow_TimeTime_BanIp)
    else
        
server_cmd("kick #%d ^"Banned Time:%s)^";wait;addip ^"%s^" ^"%s^";wait;writeip"get_user_userid(player), Show_TimeTime_BanIp)

    new 
Super_Admin[32], Victim[32]
    
    
get_user_name(idSuper_Admincharsmax(Super_Admin))
    
get_user_name(playerVictimcharsmax(Victim))
    
    if(
get_pcvar_num(Pointer))
        
client_print(0print_chat"[AMXX] Admin %s Ban %s for %s"ShowSuperAdmin Super_Admin ""VictimShow_Time)
    
    return 
PLUGIN_HANDLED
}

public 
Super_Slay(idlevelcid) {
    if(!
Is_SuperAdmin(idcid2))
        return 
PLUGIN_HANDLED;
    
    new 
Name[32]
    
    
read_argv(1Namecharsmax(Name))
    
    new 
player get_target(idNametrue)
    
    if (!
player)
        return 
PLUGIN_HANDLED
    
    user_kill
(player)
    
    new 
Super_Admin[32], Victim[32]
    
    
get_user_name(idSuper_Admincharsmax(Super_Admin))
    
get_user_name(playerVictimcharsmax(Victim))
    
    if(
get_pcvar_num(Pointer))
        
client_print(0print_chat"[AMXX] Admin %s Slay %s"ShowSuperAdmin Super_Admin ""Victim)
        
    return 
PLUGIN_HANDLED
}

public 
Super_Slap(idlevelcid) {
    if(!
Is_SuperAdmin(idcid2))
        return 
PLUGIN_HANDLED;
        
    new 
Name[32], Power[32]
    
    
read_argv(1Namecharsmax(Name))
    
read_argv(2Powercharsmax(Power))
    
    new 
player get_target(idNametrue)
    
    if (!
player)
        return 
PLUGIN_HANDLED

    user_slap
(playerstr_to_num(Power))
    
    new 
Super_Admin[32], Victim[32]
    
    
get_user_name(idSuper_Admincharsmax(Super_Admin))
    
get_user_name(playerVictimcharsmax(Victim))
    
    if(
get_pcvar_num(Pointer))
        
client_print(0print_chat"[AMXX] Admin %s Slap %s with %d damage"ShowSuperAdmin Super_Admin ""Victimstr_to_num(Power))
        
    return 
PLUGIN_HANDLED
}

public 
Super_AddAdmin(idlevelcid) {
    
    if(!
Is_SuperAdmin(idcid2))
        return 
PLUGIN_HANDLED;
    
    new 
Steam[37]
    
    
read_argv(1Steamcharsmax(Steam))
    
remove_quotes(Steam)
    
    if(
Steam[0] != 'S' || Steam[4] != 'M' || Steam[7] != ':' || Steam[9] != ':') {
        
        new 
player get_target(idSteam)
    
        if(!
player)
            return 
PLUGIN_HANDLED
        
        get_user_authid
(playerSteamcharsmax(Steam))
    }
    
    if(
TrieKeyExists(SuperAdminsSteam)) {
        
console_print(id"The steamid %s is already in SuperAdmin File"Steam)
        return 
PLUGIN_HANDLED
    
}
    
    new 
ConfigDir[64]
    
    
get_configsdir(ConfigDircharsmax(ConfigDir))
    
    
format(ConfigDircharsmax(ConfigDir), "%s/SuperAdmin.ini"ConfigDir
    
    new 
File fopen(ConfigDir"at")
        
    if (!
File
        return 
PLUGIN_HANDLED
        
    fprintf
(File"^n^"%s^""Steam)
        
    
fclose(File)
    
    
TrieSetCell(SuperAdminsSteamtrue)
    
    
console_print(id"Steam: %s is now a SuperAdmin"Steam)
    
    return 
PLUGIN_HANDLED
}

create_menu_main() {
    
    new 
buffer[64]
    
    
formatex(buffercharsmax(buffer), "[R]ak Acme Inc.- %s"Menu_Name[AMXSUPERMENU][MENU_NAME])
    
    
g_MenuMain menu_create(buffer"menu_main_handler")
    
    for(new 
1sizeof Menu_Namei++)
        
menu_additem(g_MenuMainMenu_Name[i][MENU_NAME])
        
}

Is_SuperAdmin(idcidArgs) {
    new 
Authid[35]
    
    
get_user_authid(idAuthidcharsmax(Authid));
    
    if(
TrieKeyExists(SuperAdminsAuthid) || id == 0) {
        
        if (
read_argc() < Args) {
        
            new 
cmd[32], info[128], flag
        
            get_concmd
(cidcmdcharsmax(cmd), flaginfocharsmax(info), -1)

            
console_print(id,"%L: %s %s"id"USAGE"cmdinfo)
        
            return 
false
        
}
        
        return 
true
    
}
        
    return 
false
}

get_target(idArg[], CheckAlive false) {
    
    new 
player find_player("bl"Arg)
    
    if(
player) {
        
        if(
player != find_player("blj"Arg)) {
        
            
console_print(id"%L"id"MORE_CL_MATCHT")
            
            return 
false
        
}
    }
    else if((
player find_player("c"Arg)) == && Arg[0] == '#' && Arg[1])
        
player find_player("k"str_to_num(Arg[1]))
    
    if(!
player)
        
console_print(id"%L"id"CL_NOT_FOUND")
    else if(
CheckAlive && !is_user_alive(player)) {
        
        new 
sName[32]
        
        
get_user_name(playersNamecharsmax(sName))
        
        
console_print(id"%L"id"CANT_PERF_DEAD"sName)
        
        return 
false
        
    
}
    
    return 
player
    
}

create_file(ConfigDir[]) {
    
    new 
File fopen(ConfigDir"wt")
    
    
fprintf(File"; SuparAdmin By [R]ak Acme Inc.-^n; File location: $moddir/addons/amxmodx/configs/SuperAdmin.ini^n^n; Line starting with ; is a comment^n^n; Example of SuparAdmin account:^n; ^"STEAM_0:0:123456^"^n^n^n;Enjoy")
    
    
fclose(File)
}

public 
plugin_end()
    
TrieDestroy(SuperAdmins

Przeczytaj cały wpis

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...