Raised This Month: $51 Target: $400
 12% 

Problem with SuperAdmin 4.1


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
JuanitoAlimana
Senior Member
Join Date: Aug 2021
Old 03-09-2024 , 21:46   Problem with SuperAdmin 4.1
Reply With Quote #1

Hey. Everytime I try to select the ban times or the slap damages the key is stuck and I cannot select between "Permanently" or "5" ,"60", etc and the console shows "Client with that name or userid not found". How can I solve this?

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

Last edited by JuanitoAlimana; 03-13-2024 at 06:00.
JuanitoAlimana is offline
JuanitoAlimana
Senior Member
Join Date: Aug 2021
Old 03-13-2024 , 15:07   Re: Problem with SuperAdmin 4.1
Reply With Quote #2

..
JuanitoAlimana is offline
bigdaddy424
Senior Member
Join Date: Oct 2021
Location: Jupiter
Old 03-14-2024 , 22:05   Re: Problem with SuperAdmin 4.1
Reply With Quote #3


your code compared to cmd_target from amxmisc lib
if statement must return a value
__________________
bigdaddy424 is offline
JuanitoAlimana
Senior Member
Join Date: Aug 2021
Old 03-15-2024 , 01:15   Re: Problem with SuperAdmin 4.1
Reply With Quote #4

Quote:
Originally Posted by bigdaddy424 View Post

your code compared to cmd_target from amxmisc lib
if statement must return a value
I had not noticed that. Anyways I fixed it and the menu for minutes or slap damage selection still doesn't work, it's still stuck on "Banip: Permanently" or "Slap: 0". The rest of the plugin works just fine.
JuanitoAlimana is offline
Reply



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:33.


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