Enviar respuesta 
menu de admin (ttt)
Autor Mensaje
Tiibu14 Sin conexión
Miembro Junior


Mensajes: 4
Registro en: Jun 2019
Reputación: 0
Mensaje: #1
menu de admin (ttt)
Hola, como andan?
Bueno como dice el titulo estoy tratando de armar un menu de admin pero sin el TEAM MENU, pero no anda el menu del slap,kick y ban... no tengo ni idea que es lo que paso..
dejo el archivo sma.
pd: lo copie de un archivo que tenia por ahi.


Archivo(s) adjuntos
plmenu.sma (Descargar compilado / Tamaño: 23.78 KB / Descargas: 5)
04/12/2019 06:59 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
andres_1041 Sin conexión
Miembro


Mensajes: 209
Registro en: Jun 2019
Reputación: 0
Mensaje: #2
RE: menu de admin (ttt)
Prueba a ver y me avisas

Código PHP:
/* AMX Mod X
*   Players Menu Plugin
*
* by the AMX Mod X Development Team
*  originally developed by OLO
*
* This file is part of AMX Mod X.
*
*
*  This program is free software; you can redistribute it and/or modify it
*  under the terms of the GNU General Public License as published by the
*  Free Software Foundation; either version 2 of the License, or (at
*  your option) any later version.
*
*  This program is distributed in the hope that it will be useful, but
*  WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
*  General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software Foundation,
*  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*  In addition, as a special exception, the author gives permission to
*  link the code of this program with the Half-Life Game Engine ("HL
*  Engine") and Modified Game Libraries ("MODs") developed by Valve,
*  L.L.C ("Valve"). You must obey the GNU General Public License in all
*  respects for all of the code used other than the HL Engine and MODs
*  from Valve. If you modify this file, you may extend this exception
*  to your version of the file, but you are not obligated to do so. If
*  you do not wish to do so, delete this exception statement from your
*  version.
*/

#include <amxmodx>
#include <amxmisc>

/** skip autoloading since it's optional */
#define AMXMODX_NOAUTOLOAD
#include <cstrike>

new g_menuPosition[33]
new 
g_menuPlayers[33][32]
new 
g_menuPlayersNum[33]
new 
g_menuOption[33]
new 
g_menuSettings[33]

new 
g_menuSelect[33][64]
new 
g_menuSelectNum[33]

#define MAX_CLCMDS 24

new g_clcmdName[MAX_CLCMDS][32]
new 
g_clcmdCmd[MAX_CLCMDS][64]
new 
g_clcmdMisc[MAX_CLCMDS][2]
new 
g_clcmdNum

new g_coloredMenus
new g_cstrike 0

new Array:g_bantimes;
new Array:
g_slapsettings;

new 
g_CSTeamNames[3][] = {
    
"TERRORIST",
    
"CT",
    
"SPECTATOR"
}
new 
g_CSTeamNumbers[3][] = {
    
"1",
    
"2",
    
"6"
}
new 
g_CSTeamiNumbers[3] = {
    
1,
    
2,
    
6
}


public 
plugin_natives()
{
    
set_module_filter("module_filter")
    
set_native_filter("native_filter")
}

public 
plugin_init()
{
    
register_plugin("Players Menu"AMXX_VERSION_STR"AMXX Dev Team")
    
register_dictionary("common.txt")
    
register_dictionary("admincmd.txt")
    
register_dictionary("plmenu.txt")

    
register_clcmd("amx_kickmenu""cmdKickMenu"ADMIN_KICK"- displays kick menu")
    
register_clcmd("amx_banmenu""cmdBanMenu"ADMIN_BAN"- displays ban menu")
    
register_clcmd("amx_slapmenu""cmdSlapMenu"ADMIN_SLAY"- displays slap/slay menu")
    
//*register_clcmd("amx_teammenu", "cmdTeamMenu", ADMIN_LEVEL_A, "- displays team menu")
    
register_clcmd("amx_clcmdmenu""cmdClcmdMenu"ADMIN_LEVEL_A"- displays client cmds menu")

    
register_menucmd(register_menuid("Ban Menu"), 1023"actionBanMenu")
    
register_menucmd(register_menuid("Kick Menu"), 1023"actionKickMenu")
    
register_menucmd(register_menuid("Slap/Slay Menu"), 1023"actionSlapMenu")
    
//*register_menucmd(register_menuid("Team Menu"), 1023, "actionTeamMenu")
    
register_menucmd(register_menuid("Client Cmds Menu"), 1023"actionClcmdMenu")
    
    
    
g_bantimes ArrayCreate();
    
// Load up the old default values
    
ArrayPushCell(g_bantimes0);
    
ArrayPushCell(g_bantimes5);
    
ArrayPushCell(g_bantimes10);
    
ArrayPushCell(g_bantimes15);
    
ArrayPushCell(g_bantimes30);
    
ArrayPushCell(g_bantimes45);
    
ArrayPushCell(g_bantimes60);
    
    
    
g_slapsettings ArrayCreate();
    
// Old default values
    
ArrayPushCell(g_slapsettings0); // First option is ignored - it is slay
    
ArrayPushCell(g_slapsettings0); // slap 0 damage
    
ArrayPushCell(g_slapsettings1);
    
ArrayPushCell(g_slapsettings5);
    
    
    
register_srvcmd("amx_plmenu_bantimes""plmenu_setbantimes");
    
register_srvcmd("amx_plmenu_slapdmg""plmenu_setslapdmg");

    
g_coloredMenus colored_menus()

    new 
clcmds_ini_file[64]
    
get_configsdir(clcmds_ini_file63)
    
format(clcmds_ini_file63"%s/clcmds.ini"clcmds_ini_file)
    
load_settings(clcmds_ini_file)

    if (
module_exists("cstrike"))
        
g_cstrike 1
}
public 
plmenu_setbantimes()
{
    new 
buff[32];
    new 
args read_argc();
    
    if (
args <= 1)
    {
        
server_print("usage: amx_plmenu_bantimes <time1> [time2] [time3] ...");
        
server_print("   use time of 0 for permanent.");
        
        return;
    }
    
    
ArrayClear(g_bantimes);
    
    for (new 
1argsi++)
    {
        
read_argv(ibuffcharsmax(buff));
        
        
ArrayPushCell(g_bantimesstr_to_num(buff));
        
    }
    
}
public 
plmenu_setslapdmg()
{
    new 
buff[32];
    new 
args read_argc();
    
    if (
args <= 1)
    {
        
server_print("usage: amx_plmenu_slapdmg <dmg1> [dmg2] [dmg3] ...");
        
server_print("   slay is automatically set for the first value.");
        
        return;
    }
    
    
ArrayClear(g_slapsettings);
    
    
ArrayPushCell(g_slapsettings0); // compensate for slay
    
    
for (new 1argsi++)
    {
        
read_argv(ibuffcharsmax(buff));
        
        
ArrayPushCell(g_slapsettingsstr_to_num(buff));
        
    }
    
}
public 
module_filter(const module[])
{
    if (
equali(module"cstrike"))
        return 
PLUGIN_HANDLED
    
    
return PLUGIN_CONTINUE
}

public 
native_filter(const name[], indextrap)
{
    if (!
trap)
        return 
PLUGIN_HANDLED
        
    
return PLUGIN_CONTINUE
}

/* Ban menu */

public actionBanMenu(idkey)
{
    switch (
key)
    {
        case 
7:
        {
            
/* BEGIN OF CHANGES BY MISTAGEE ADDED A FEW MORE OPTIONS */
            
            
++g_menuOption[id]
            
g_menuOption[id] %= ArraySize(g_bantimes);

            
g_menuSettings[id] = ArrayGetCell(g_bantimesg_menuOption[id]);

            
displayBanMenu(idg_menuPosition[id])
        }
        case 
8displayBanMenu(id, ++g_menuPosition[id])
        case 
9displayBanMenu(id, --g_menuPosition[id])
        default:
        {
            new 
player g_menuPlayers[id][g_menuPosition[id] * key]
            new 
name[32], name2[32], authid[32], authid2[32]
        
            
get_user_name(playername231)
            
get_user_authid(idauthid31)
            
get_user_authid(playerauthid231)
            
get_user_name(idname31)
            
            new 
userid2 get_user_userid(player)

            
log_amx("Ban: ^"%s<%d><%s><>^" ban and kick ^"%s<%d><%s><>^" (minutes ^"%d^")"nameget_user_userid(id), authidname2userid2authid2g_menuSettings[id])

            if (
g_menuSettings[id]==0// permanent
            
{
                new 
maxpl get_maxplayers();
                for (new 
1<= maxpli++)
                {
                    
show_activity_id(iidname"%L %s %L"i"BAN"name2i"PERM");
                }
            }
            else
            {
                new 
tempTime[32];
                
formatex(tempTime,sizeof(tempTime)-1,"%d",g_menuSettings[id]);
                new 
maxpl get_maxplayers();
                for (new 
1<= maxpli++)
                {
                    
show_activity_id(iidname"%L %s %L"i"BAN"name2i"FOR_MIN"tempTime);
                }
            }
            
/* ---------- check for Steam ID added by MistaGee -------------------- 
            IF AUTHID == 4294967295 OR VALVE_ID_LAN OR HLTV, BAN PER IP TO NOT BAN EVERYONE */
            
            
if (equal("4294967295"authid2)
                || 
equal("HLTV"authid2)
                || 
equal("STEAM_ID_LAN"authid2)
                || 
equali("VALVE_ID_LAN"authid2))
            {
                
/* END OF MODIFICATIONS BY MISTAGEE */
                
new ipa[32]
                
get_user_ip(playeripa311)
                
                
server_cmd("addip %d %s;writeip"g_menuSettings[id], ipa)
            }
            else
            {
                
server_cmd("banid %d #%d kick;writeid"g_menuSettings[id], userid2)
            }

            
server_exec()

            
displayBanMenu(idg_menuPosition[id])
        }
    }
    
    return 
PLUGIN_HANDLED
}

displayBanMenu(idpos)
{
    if (
pos 0)
        return

    
get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new 
menuBody[512]
    new 
0
    
new i
    
new name[32]
    new 
start pos 7

    
if (start >= g_menuPlayersNum[id])
        
start pos g_menuPosition[id] = 0

    
new len format(menuBody511g_coloredMenus "\y%L\R%d/%d^n\w^n" "%L %d/%d^n^n"id"BAN_MENU"pos 1, (g_menuPlayersNum[id] / + ((g_menuPlayersNum[id] % 7) ? 0)))
    new 
end start 7
    
new keys MENU_KEY_0|MENU_KEY_8

    
if (end g_menuPlayersNum[id])
        
end g_menuPlayersNum[id]

    for (new 
startend; ++a)
    {
        
g_menuPlayers[id][a]
        
get_user_name(iname31)

        if (
is_user_bot(i) || (access(iADMIN_IMMUNITY) && != id))
        {
            ++
b
            
            
if (g_coloredMenus)
                
len += format(menuBody[len], 511-len"\d%d. %s^n\w"bname)
            else
                
len += format(menuBody[len], 511-len"#. %s^n"name)
        } else {
            
keys |= (1<<b)
                
            if (
is_user_admin(i))
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s \r*^n\w" "%d. %s *^n", ++bname)
            else
                
len += format(menuBody[len], 511-len"%d. %s^n", ++bname)
        }
    }

    if (
g_menuSettings[id])
        
len += format(menuBody[len], 511-len"^n8. %L^n"id"BAN_FOR_MIN"g_menuSettings[id])
    else
        
len += format(menuBody[len], 511-len"^n8. %L^n"id"BAN_PERM")

    if (
end != g_menuPlayersNum[id])
    {
        
format(menuBody[len], 511-len"^n9. %L...^n0. %L"id"MORE"idpos "BACK" "EXIT")
        
keys |= MENU_KEY_9
    
}
    else
        
format(menuBody[len], 511-len"^n0. %L"idpos "BACK" "EXIT")

    
show_menu(idkeysmenuBody, -1"Ban Menu")
}

public 
cmdBanMenu(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    g_menuOption
[id] = 0
    
    
if (ArraySize(g_bantimes) > 0)
    {
        
g_menuSettings[id] = ArrayGetCell(g_bantimesg_menuOption[id]);
    }
    else
    {
        
// should never happen, but failsafe
        
g_menuSettings[id] = 0
    
}
    
displayBanMenu(idg_menuPosition[id] = 0)

    return 
PLUGIN_HANDLED
}

/* Slap/Slay */

public actionSlapMenu(idkey)
{
    switch (
key)
    {
        case 
7:
        {
            ++
g_menuOption[id]
            
            
g_menuOption[id] %= ArraySize(g_slapsettings);
            
            
g_menuSettings[id] = ArrayGetCell(g_slapsettingsg_menuOption[id]);
            
            
displaySlapMenu(idg_menuPosition[id]);
        }
        case 
8displaySlapMenu(id, ++g_menuPosition[id])
        case 
9displaySlapMenu(id, --g_menuPosition[id])
        default:
        {
            new 
player g_menuPlayers[id][g_menuPosition[id] * key]
            new 
name2[32]
            
            
get_user_name(playername231)

            if (!
is_user_alive(player))
            {
                
client_print(idprint_chat"%L"id"CANT_PERF_DEAD"name2)
                
displaySlapMenu(idg_menuPosition[id])
                return 
PLUGIN_HANDLED
            
}

            new 
authid[32], authid2[32], name[32]

            
get_user_authid(idauthid31)
            
get_user_authid(playerauthid231)
            
get_user_name(idname31)

            if (
g_menuOption[id])
            {
                
log_amx("Cmd: ^"%s<%d><%s><>^" slap with %d damage ^"%s<%d><%s><>^""nameget_user_userid(id), authidg_menuSettings[id], name2get_user_userid(player), authid2)

                
show_activity_key("ADMIN_SLAP_1""ADMIN_SLAP_2"namename2g_menuSettings[id]);
            } else {
                
log_amx("Cmd: ^"%s<%d><%s><>^" slay ^"%s<%d><%s><>^""nameget_user_userid(id), authidname2get_user_userid(player), authid2)
                
                
show_activity_key("ADMIN_SLAY_1""ADMIN_SLAY_2"namename2);
            }

            if (
g_menuOption[id])
                
user_slap(player, (get_user_health(player) > g_menuSettings[id]) ? g_menuSettings[id] : 0)
            else
                
user_kill(player)

            
displaySlapMenu(idg_menuPosition[id])
        }
    }
    
    return 
PLUGIN_HANDLED
}

displaySlapMenu(idpos)
{
    if (
pos 0)
        return

    
get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new 
menuBody[512]
    new 
0
    
new i
    
new name[32], team[4]
    new 
start pos 7

    
if (start >= g_menuPlayersNum[id])
        
start pos g_menuPosition[id] = 0

    
new len format(menuBody511g_coloredMenus "\y%L\R%d/%d^n\w^n" "%L %d/%d^n^n"id"SLAP_SLAY_MENU"pos 1, (g_menuPlayersNum[id] / + ((g_menuPlayersNum[id] % 7) ? 0)))
    new 
end start 7
    
new keys MENU_KEY_0|MENU_KEY_8

    
if (end g_menuPlayersNum[id])
        
end g_menuPlayersNum[id]

    for (new 
startend; ++a)
    {
        
g_menuPlayers[id][a]
        
get_user_name(iname31)
        
        if (
g_cstrike)
        {
            if (
cs_get_user_team(i) == CS_TEAM_T)
            {
                
copy(team3"TE")
            }
            else if (
cs_get_user_team(i) == CS_TEAM_CT)
            {
                
copy(team3"CT")
            } else {
                
get_user_team(iteam3)
            }
        } else {
            
get_user_team(iteam3)
        }

        if (!
is_user_alive(i) || (access(iADMIN_IMMUNITY) && != id))
        {
            ++
b
        
            
if (g_coloredMenus)
                
len += format(menuBody[len], 511-len"\d%d. %s\R%s^n\w"bnameteam)
            else
                
len += format(menuBody[len], 511-len"#. %s   %s^n"nameteam)        
        } else {
            
keys |= (1<<b)
                
            if (
is_user_admin(i))
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s \r*\y\R%s^n\w" "%d. %s *   %s^n", ++bnameteam)
            else
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s\y\R%s^n\w" "%d. %s   %s^n", ++bnameteam)
        }
    }

    if (
g_menuOption[id])
        
len += format(menuBody[len], 511-len"^n8. %L^n"id"SLAP_WITH_DMG"g_menuSettings[id])
    else
        
len += format(menuBody[len], 511-len"^n8. %L^n"id"SLAY")

    if (
end != g_menuPlayersNum[id])
    {
        
format(menuBody[len], 511-len"^n9. %L...^n0. %L"id"MORE"idpos "BACK" "EXIT")
        
keys |= MENU_KEY_9
    
}
    else
        
format(menuBody[len], 511-len"^n0. %L"idpos "BACK" "EXIT")

    
show_menu(idkeysmenuBody, -1"Slap/Slay Menu")
}

public 
cmdSlapMenu(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    g_menuOption
[id] = 0
    
if (ArraySize(g_slapsettings) > 0)
    {
        
g_menuSettings[id] = ArrayGetCell(g_slapsettingsg_menuOption[id]);
    }
    else
    {
        
// should never happen, but failsafe
        
g_menuSettings[id] = 0
    
}

    
displaySlapMenu(idg_menuPosition[id] = 0)

    return 
PLUGIN_HANDLED
}

/* Kick */

public actionKickMenu(idkey)
{
    switch (
key)
    {
        case 
8displayKickMenu(id, ++g_menuPosition[id])
        case 
9displayKickMenu(id, --g_menuPosition[id])
        default:
        {
            new 
player g_menuPlayers[id][g_menuPosition[id] * key]
            new 
authid[32], authid2[32], name[32], name2[32]
            
            
get_user_authid(idauthid31)
            
get_user_authid(playerauthid231)
            
get_user_name(idname31)
            
get_user_name(playername231)
            
            new 
userid2 get_user_userid(player)

            
log_amx("Kick: ^"%s<%d><%s><>^" kick ^"%s<%d><%s><>^""nameget_user_userid(id), authidname2userid2authid2)

            
show_activity_key("ADMIN_KICK_1""ADMIN_KICK_2"namename2);

            
            
server_cmd("kick #%d"userid2)
            
server_exec()

            
displayKickMenu(idg_menuPosition[id])
        }
    }

    return 
PLUGIN_HANDLED
}

displayKickMenu(idpos)
{
    if (
pos 0)
        return

    
get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new 
menuBody[512]
    new 
0
    
new i
    
new name[32]
    new 
start pos 8

    
if (start >= g_menuPlayersNum[id])
        
start pos g_menuPosition[id] = 0

    
new len format(menuBody511g_coloredMenus "\y%L\R%d/%d^n\w^n" "%L %d/%d^n^n"id"KICK_MENU"pos 1, (g_menuPlayersNum[id] / + ((g_menuPlayersNum[id] % 8) ? 0)))
    new 
end start 8
    
new keys MENU_KEY_0

    
if (end g_menuPlayersNum[id])
        
end g_menuPlayersNum[id]

    for (new 
startend; ++a)
    {
        
g_menuPlayers[id][a]
        
get_user_name(iname31)

        if (
access(iADMIN_IMMUNITY) && != id)
        {
            ++
b
        
            
if (g_coloredMenus)
                
len += format(menuBody[len], 511-len"\d%d. %s^n\w"bname)
            else
                
len += format(menuBody[len], 511-len"#. %s^n"name)
        } else {
            
keys |= (1<<b)
                
            if (
is_user_admin(i))
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s \r*^n\w" "%d. %s *^n", ++bname)
            else
                
len += format(menuBody[len], 511-len"%d. %s^n", ++bname)
        }
    }

    if (
end != g_menuPlayersNum[id])
    {
        
format(menuBody[len], 511-len"^n9. %L...^n0. %L"id"MORE"idpos "BACK" "EXIT")
        
keys |= MENU_KEY_9
    
}
    else
        
format(menuBody[len], 511-len"^n0. %L"idpos "BACK" "EXIT")

    
show_menu(idkeysmenuBody, -1"Kick Menu")
}

public 
cmdKickMenu(idlevelcid)
{
    if (
cmd_access(idlevelcid1))
        
displayKickMenu(idg_menuPosition[id] = 0)

    return 
PLUGIN_HANDLED
}

/* Team menu */

/*public actionTeamMenu(id, key)
{
    switch (key)
    {
        case 7:
        {
            g_menuOption[id] = (g_menuOption[id] + 1) % (g_cstrike ? 3 : 2);
            displayTeamMenu(id, g_menuPosition[id])
        }
        case 8: displayTeamMenu(id, ++g_menuPosition[id])
        case 9: displayTeamMenu(id, --g_menuPosition[id])
        default:
        {
            new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]
            new authid[32], authid2[32], name[32], name2[32]

            get_user_name(player, name2, 31)
            get_user_authid(id, authid, 31)
            get_user_authid(player, authid2, 31)
            get_user_name(id, name, 31)
                
            log_amx("Cmd: ^"%s<%d><%s><>^" transfer ^"%s<%d><%s><>^" (team ^"%s^")", name, get_user_userid(id), authid, name2, get_user_userid(player), authid2, g_menuOption[id] ? "TERRORIST" : "CT")

            show_activity_key("ADMIN_TRANSF_1", "ADMIN_TRANSF_2", name, name2, g_CSTeamNames[g_menuOption[id] % 3]);

            if (g_cstrike)
            {
                if (is_user_alive(player))
                {
                    new deaths = cs_get_user_deaths(player)
                    user_kill(player, 1)
                    cs_set_user_deaths(player, deaths)
                }
                // This modulo math just aligns the option to the CsTeams-corresponding number
                cs_set_user_team(player, (g_menuOption[id] % 3) + 1)
                cs_reset_user_model(player)
            } else {
                new limit_setting = get_cvar_num("mp_limitteams")
                
                set_cvar_num("mp_limitteams", 0)
                engclient_cmd(player, "jointeam", g_CSTeamNumbers[g_menuOption[id] % 2])
                engclient_cmd(player, "joinclass", "1")
                set_cvar_num("mp_limitteams", limit_setting)
            }

            displayTeamMenu(id, g_menuPosition[id])
        }
    }
    
    return PLUGIN_HANDLED
}

displayTeamMenu(id, pos)
{
    if (pos < 0)
        return

    get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new menuBody[512]
    new b = 0
    new i, iteam
    new name[32], team[4]
    new start = pos * 7

    if (start >= g_menuPlayersNum[id])
        start = pos = g_menuPosition[id] = 0

    new len = format(menuBody, 511, g_coloredMenus ? "\y%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id, "TEAM_MENU", pos + 1, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))
    new end = start + 7
    new keys = MENU_KEY_0|MENU_KEY_8

    if (end > g_menuPlayersNum[id])
        end = g_menuPlayersNum[id]

    for (new a = start; a < end; ++a)
    {
        i = g_menuPlayers[id][a]
        get_user_name(i, name, 31)
        
        if (g_cstrike)
        {
            iteam = _:cs_get_user_team(i)
            
            if (iteam == 1)
            {
                copy(team, 3, "TE")
            }
            else if (iteam == 2)
            {
                copy(team, 3, "CT")
            }
            else if (iteam == 3)
            {
                copy(team, 3, "SPE");
                iteam = 6;
            } else {
                iteam = get_user_team(i, team, 3)
            }
        } else {
            iteam = get_user_team(i, team, 3)
        }

        if ((iteam == g_CSTeamiNumbers[g_menuOption[id] % (g_cstrike ? 3 : 2)]) || (access(i, ADMIN_IMMUNITY) && i != id))
        {
            ++b
            
            if (g_coloredMenus)
                len += format(menuBody[len], 511-len, "\d%d. %s\R%s^n\w", b, name, team)
            else
                len += format(menuBody[len], 511-len, "#. %s   %s^n", name, team)        
        } else {
            keys |= (1<<b)
                
            if (is_user_admin(i))
                len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*\y\R%s^n\w" : "%d. %s *   %s^n", ++b, name, team)
            else
                len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s\y\R%s^n\w" : "%d. %s   %s^n", ++b, name, team)
        }
    }

    len += format(menuBody[len], 511-len, "^n8. %L^n", id, "TRANSF_TO", g_CSTeamNames[g_menuOption[id] % (g_cstrike ? 3 : 2)])

    if (end != g_menuPlayersNum[id])
    {
        format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
        keys |= MENU_KEY_9
    }
    else
        format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")

    show_menu(id, keys, menuBody, -1, "Team Menu")
}

public cmdTeamMenu(id, level, cid)
{
    if (!cmd_access(id, level, cid, 1))
        return PLUGIN_HANDLED

    g_menuOption[id] = 0

    displayTeamMenu(id, g_menuPosition[id] = 0)

    return PLUGIN_HANDLED
}/*

/* Client cmds menu */

public actionClcmdMenu(idkey)
{
    switch (
key)
    {
        case 
7:
        {
            ++
g_menuOption[id]
            
g_menuOption[id] %= g_menuSelectNum[id]
            
displayClcmdMenu(idg_menuPosition[id])
        }
        case 
8displayClcmdMenu(id, ++g_menuPosition[id])
        case 
9displayClcmdMenu(id, --g_menuPosition[id])
        default:
        {
            new 
player g_menuPlayers[id][g_menuPosition[id] * key]
            new 
flags g_clcmdMisc[g_menuSelect[id][g_menuOption[id]]][1]
            
            if (
is_user_connected(player))
            {
                new 
command[512], authid[32], name[32], userid[32]
                
                
copy(commandcharsmax(command), g_clcmdCmd[g_menuSelect[id][g_menuOption[id]]])
                
get_user_authid(playerauthid31)
                
get_user_name(playername31)
                
num_to_str(get_user_userid(player), userid31)
                
                
replace(commandcharsmax(command), "%userid%"userid)
                
replace(commandcharsmax(command), "%authid%"authid)
                
replace(commandcharsmax(command), "%name%"name)
                
                if (
flags 1)
                {
                    
server_cmd("%s"command)
                    
server_exec()
                } else if (
flags 2)
                    
client_cmd(id"%s"command)
                else if (
flags 4)
                    
client_cmd(player"%s"command)
            }
            
            if (
flags 8)
                
displayClcmdMenu(idg_menuPosition[id])
        }
    }
    
    return 
PLUGIN_HANDLED
}

displayClcmdMenu(idpos)
{
    if (
pos 0)
        return

    
get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new 
menuBody[512]
    new 
0
    
new i
    
new name[32]
    new 
start pos 7

    
if (start >= g_menuPlayersNum[id])
        
start pos g_menuPosition[id] = 0

    
new len format(menuBody511g_coloredMenus "\y%L\R%d/%d^n\w^n" "%L %d/%d^n^n"id"CL_CMD_MENU"pos 1, (g_menuPlayersNum[id] / + ((g_menuPlayersNum[id] % 7) ? 0)))
    new 
end start 7
    
new keys MENU_KEY_0|MENU_KEY_8

    
if (end g_menuPlayersNum[id])
        
end g_menuPlayersNum[id]

    for (new 
startend; ++a)
    {
        
g_menuPlayers[id][a]
        
get_user_name(iname31)

        if (!
g_menuSelectNum[id] || (access(iADMIN_IMMUNITY) && != id))
        {
            ++
b
            
            
if (g_coloredMenus)
                
len += format(menuBody[len], 511-len"\d%d. %s^n\w"bname)
            else
                
len += format(menuBody[len], 511-len"#. %s^n"name)        
        } else {
            
keys |= (1<<b)
                
            if (
is_user_admin(i))
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s \r*^n\w" "%d. %s *^n", ++bname)
            else
                
len += format(menuBody[len], 511-len"%d. %s^n", ++bname)
        }
    }

    if (
g_menuSelectNum[id])
        
len += format(menuBody[len], 511-len"^n8. %s^n"g_clcmdName[g_menuSelect[id][g_menuOption[id]]])
    else
        
len += format(menuBody[len], 511-len"^n8. %L^n"id"NO_CMDS")

    if (
end != g_menuPlayersNum[id])
    {
        
format(menuBody[len], 511-len"^n9. %L...^n0. %L"id"MORE"idpos "BACK" "EXIT")
        
keys |= MENU_KEY_9
    
}
    else
        
format(menuBody[len], 511-len"^n0. %L"idpos "BACK" "EXIT")

    
show_menu(idkeysmenuBody, -1"Client Cmds Menu")
}

public 
cmdClcmdMenu(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    g_menuSelectNum
[id] = 0

    
for (new 0g_clcmdNum; ++a)
        if (
access(idg_clcmdMisc[a][0]))
            
g_menuSelect[id][g_menuSelectNum[id]++] = a

    g_menuOption
[id] = 0

    displayClcmdMenu
(idg_menuPosition[id] = 0)

    return 
PLUGIN_HANDLED
}

load_settings(szFilename[])
{
    if (!
file_exists(szFilename))
        return 
0

    
new text[256], szFlags[32], szAccess[32]
    new 
apos 0

    
while (g_clcmdNum MAX_CLCMDS && read_file(szFilenamepos++, text255a))
    {
        if (
text[0] == ';') continue

        if (
parse(textg_clcmdName[g_clcmdNum], 31g_clcmdCmd[g_clcmdNum], 63szFlags31szAccess31) > 3)
        {
            while (
replace(g_clcmdCmd[g_clcmdNum], 63"\'""^""))
            {
                // do nothing
            }

            g_clcmdMisc[g_clcmdNum][1] = read_flags(szFlags)
            g_clcmdMisc[g_clcmdNum][0] = read_flags(szAccess)
            g_clcmdNum++
        }
    }

    return 1


Image
04/12/2019 10:41 PM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Nube. Sin conexión
Miembro Junior


Mensajes: 43
Registro en: Sep 2019
Reputación: 0
Mensaje: #3
RE: menu de admin (ttt)
No sería solo para el ttt...

04/12/2019 10:54 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
andres_1041 Sin conexión
Miembro


Mensajes: 209
Registro en: Jun 2019
Reputación: 0
Mensaje: #4
RE: menu de admin (ttt)
(04/12/2019 10:54 PM)Nube. escribió:  No sería solo para el ttt...

El solo dijo quitar el "TEAM MENÚ" no se especifico bien...

Image
05/12/2019 02:10 PM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Nube. Sin conexión
Miembro Junior


Mensajes: 43
Registro en: Sep 2019
Reputación: 0
Mensaje: #5
RE: menu de admin (ttt)
(05/12/2019 02:10 PM)andres_1041 escribió:  
(04/12/2019 10:54 PM)Nube. escribió:  No sería solo para el ttt...

El solo dijo quitar el "TEAM MENÚ" no se especifico bien...

Está bien el link que le pasaste tranki

05/12/2019 03:48 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Chema Ausente
Miembro Destacado


Donador Trebol de oro 1k
Mensajes: 1,339
Registro en: May 2017
Reputación: 15
Mensaje: #6
RE: menu de admin (ttt)
(05/12/2019 03:48 PM)Nube. escribió:  
(05/12/2019 02:10 PM)andres_1041 escribió:  
(04/12/2019 10:54 PM)Nube. escribió:  No sería solo para el ttt...

El solo dijo quitar el "TEAM MENÚ" no se especifico bien...

Está bien el link que le pasaste tranki

Oh god why

Vendo cuenta de steam nivel 100 + juegos caros. [CUENTA] - [PRECIO]
Contáctame vía Facebook.
05/12/2019 05:05 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Tiibu14 Sin conexión
Miembro Junior


Mensajes: 4
Registro en: Jun 2019
Reputación: 0
Mensaje: #7
RE: menu de admin (ttt)
(04/12/2019 10:41 PM)andres_1041 escribió:  Prueba a ver y me avisas

Código PHP:
/* AMX Mod X
*   Players Menu Plugin
*
* by the AMX Mod X Development Team
*  originally developed by OLO
*
* This file is part of AMX Mod X.
*
*
*  This program is free software; you can redistribute it and/or modify it
*  under the terms of the GNU General Public License as published by the
*  Free Software Foundation; either version 2 of the License, or (at
*  your option) any later version.
*
*  This program is distributed in the hope that it will be useful, but
*  WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
*  General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software Foundation,
*  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*  In addition, as a special exception, the author gives permission to
*  link the code of this program with the Half-Life Game Engine ("HL
*  Engine") and Modified Game Libraries ("MODs") developed by Valve,
*  L.L.C ("Valve"). You must obey the GNU General Public License in all
*  respects for all of the code used other than the HL Engine and MODs
*  from Valve. If you modify this file, you may extend this exception
*  to your version of the file, but you are not obligated to do so. If
*  you do not wish to do so, delete this exception statement from your
*  version.
*/

#include <amxmodx>
#include <amxmisc>

/** skip autoloading since it's optional */
#define AMXMODX_NOAUTOLOAD
#include <cstrike>

new g_menuPosition[33]
new 
g_menuPlayers[33][32]
new 
g_menuPlayersNum[33]
new 
g_menuOption[33]
new 
g_menuSettings[33]

new 
g_menuSelect[33][64]
new 
g_menuSelectNum[33]

#define MAX_CLCMDS 24

new g_clcmdName[MAX_CLCMDS][32]
new 
g_clcmdCmd[MAX_CLCMDS][64]
new 
g_clcmdMisc[MAX_CLCMDS][2]
new 
g_clcmdNum

new g_coloredMenus
new g_cstrike 0

new Array:g_bantimes;
new Array:
g_slapsettings;

new 
g_CSTeamNames[3][] = {
    
"TERRORIST",
    
"CT",
    
"SPECTATOR"
}
new 
g_CSTeamNumbers[3][] = {
    
"1",
    
"2",
    
"6"
}
new 
g_CSTeamiNumbers[3] = {
    
1,
    
2,
    
6
}


public 
plugin_natives()
{
    
set_module_filter("module_filter")
    
set_native_filter("native_filter")
}

public 
plugin_init()
{
    
register_plugin("Players Menu"AMXX_VERSION_STR"AMXX Dev Team")
    
register_dictionary("common.txt")
    
register_dictionary("admincmd.txt")
    
register_dictionary("plmenu.txt")

    
register_clcmd("amx_kickmenu""cmdKickMenu"ADMIN_KICK"- displays kick menu")
    
register_clcmd("amx_banmenu""cmdBanMenu"ADMIN_BAN"- displays ban menu")
    
register_clcmd("amx_slapmenu""cmdSlapMenu"ADMIN_SLAY"- displays slap/slay menu")
    
//*register_clcmd("amx_teammenu", "cmdTeamMenu", ADMIN_LEVEL_A, "- displays team menu")
    
register_clcmd("amx_clcmdmenu""cmdClcmdMenu"ADMIN_LEVEL_A"- displays client cmds menu")

    
register_menucmd(register_menuid("Ban Menu"), 1023"actionBanMenu")
    
register_menucmd(register_menuid("Kick Menu"), 1023"actionKickMenu")
    
register_menucmd(register_menuid("Slap/Slay Menu"), 1023"actionSlapMenu")
    
//*register_menucmd(register_menuid("Team Menu"), 1023, "actionTeamMenu")
    
register_menucmd(register_menuid("Client Cmds Menu"), 1023"actionClcmdMenu")
    
    
    
g_bantimes ArrayCreate();
    
// Load up the old default values
    
ArrayPushCell(g_bantimes0);
    
ArrayPushCell(g_bantimes5);
    
ArrayPushCell(g_bantimes10);
    
ArrayPushCell(g_bantimes15);
    
ArrayPushCell(g_bantimes30);
    
ArrayPushCell(g_bantimes45);
    
ArrayPushCell(g_bantimes60);
    
    
    
g_slapsettings ArrayCreate();
    
// Old default values
    
ArrayPushCell(g_slapsettings0); // First option is ignored - it is slay
    
ArrayPushCell(g_slapsettings0); // slap 0 damage
    
ArrayPushCell(g_slapsettings1);
    
ArrayPushCell(g_slapsettings5);
    
    
    
register_srvcmd("amx_plmenu_bantimes""plmenu_setbantimes");
    
register_srvcmd("amx_plmenu_slapdmg""plmenu_setslapdmg");

    
g_coloredMenus colored_menus()

    new 
clcmds_ini_file[64]
    
get_configsdir(clcmds_ini_file63)
    
format(clcmds_ini_file63"%s/clcmds.ini"clcmds_ini_file)
    
load_settings(clcmds_ini_file)

    if (
module_exists("cstrike"))
        
g_cstrike 1
}
public 
plmenu_setbantimes()
{
    new 
buff[32];
    new 
args read_argc();
    
    if (
args <= 1)
    {
        
server_print("usage: amx_plmenu_bantimes <time1> [time2] [time3] ...");
        
server_print("   use time of 0 for permanent.");
        
        return;
    }
    
    
ArrayClear(g_bantimes);
    
    for (new 
1argsi++)
    {
        
read_argv(ibuffcharsmax(buff));
        
        
ArrayPushCell(g_bantimesstr_to_num(buff));
        
    }
    
}
public 
plmenu_setslapdmg()
{
    new 
buff[32];
    new 
args read_argc();
    
    if (
args <= 1)
    {
        
server_print("usage: amx_plmenu_slapdmg <dmg1> [dmg2] [dmg3] ...");
        
server_print("   slay is automatically set for the first value.");
        
        return;
    }
    
    
ArrayClear(g_slapsettings);
    
    
ArrayPushCell(g_slapsettings0); // compensate for slay
    
    
for (new 1argsi++)
    {
        
read_argv(ibuffcharsmax(buff));
        
        
ArrayPushCell(g_slapsettingsstr_to_num(buff));
        
    }
    
}
public 
module_filter(const module[])
{
    if (
equali(module"cstrike"))
        return 
PLUGIN_HANDLED
    
    
return PLUGIN_CONTINUE
}

public 
native_filter(const name[], indextrap)
{
    if (!
trap)
        return 
PLUGIN_HANDLED
        
    
return PLUGIN_CONTINUE
}

/* Ban menu */

public actionBanMenu(idkey)
{
    switch (
key)
    {
        case 
7:
        {
            
/* BEGIN OF CHANGES BY MISTAGEE ADDED A FEW MORE OPTIONS */
            
            
++g_menuOption[id]
            
g_menuOption[id] %= ArraySize(g_bantimes);

            
g_menuSettings[id] = ArrayGetCell(g_bantimesg_menuOption[id]);

            
displayBanMenu(idg_menuPosition[id])
        }
        case 
8displayBanMenu(id, ++g_menuPosition[id])
        case 
9displayBanMenu(id, --g_menuPosition[id])
        default:
        {
            new 
player g_menuPlayers[id][g_menuPosition[id] * key]
            new 
name[32], name2[32], authid[32], authid2[32]
        
            
get_user_name(playername231)
            
get_user_authid(idauthid31)
            
get_user_authid(playerauthid231)
            
get_user_name(idname31)
            
            new 
userid2 get_user_userid(player)

            
log_amx("Ban: ^"%s<%d><%s><>^" ban and kick ^"%s<%d><%s><>^" (minutes ^"%d^")"nameget_user_userid(id), authidname2userid2authid2g_menuSettings[id])

            if (
g_menuSettings[id]==0// permanent
            
{
                new 
maxpl get_maxplayers();
                for (new 
1<= maxpli++)
                {
                    
show_activity_id(iidname"%L %s %L"i"BAN"name2i"PERM");
                }
            }
            else
            {
                new 
tempTime[32];
                
formatex(tempTime,sizeof(tempTime)-1,"%d",g_menuSettings[id]);
                new 
maxpl get_maxplayers();
                for (new 
1<= maxpli++)
                {
                    
show_activity_id(iidname"%L %s %L"i"BAN"name2i"FOR_MIN"tempTime);
                }
            }
            
/* ---------- check for Steam ID added by MistaGee -------------------- 
            IF AUTHID == 4294967295 OR VALVE_ID_LAN OR HLTV, BAN PER IP TO NOT BAN EVERYONE */
            
            
if (equal("4294967295"authid2)
                || 
equal("HLTV"authid2)
                || 
equal("STEAM_ID_LAN"authid2)
                || 
equali("VALVE_ID_LAN"authid2))
            {
                
/* END OF MODIFICATIONS BY MISTAGEE */
                
new ipa[32]
                
get_user_ip(playeripa311)
                
                
server_cmd("addip %d %s;writeip"g_menuSettings[id], ipa)
            }
            else
            {
                
server_cmd("banid %d #%d kick;writeid"g_menuSettings[id], userid2)
            }

            
server_exec()

            
displayBanMenu(idg_menuPosition[id])
        }
    }
    
    return 
PLUGIN_HANDLED
}

displayBanMenu(idpos)
{
    if (
pos 0)
        return

    
get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new 
menuBody[512]
    new 
0
    
new i
    
new name[32]
    new 
start pos 7

    
if (start >= g_menuPlayersNum[id])
        
start pos g_menuPosition[id] = 0

    
new len format(menuBody511g_coloredMenus "\y%L\R%d/%d^n\w^n" "%L %d/%d^n^n"id"BAN_MENU"pos 1, (g_menuPlayersNum[id] / + ((g_menuPlayersNum[id] % 7) ? 0)))
    new 
end start 7
    
new keys MENU_KEY_0|MENU_KEY_8

    
if (end g_menuPlayersNum[id])
        
end g_menuPlayersNum[id]

    for (new 
startend; ++a)
    {
        
g_menuPlayers[id][a]
        
get_user_name(iname31)

        if (
is_user_bot(i) || (access(iADMIN_IMMUNITY) && != id))
        {
            ++
b
            
            
if (g_coloredMenus)
                
len += format(menuBody[len], 511-len"\d%d. %s^n\w"bname)
            else
                
len += format(menuBody[len], 511-len"#. %s^n"name)
        } else {
            
keys |= (1<<b)
                
            if (
is_user_admin(i))
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s \r*^n\w" "%d. %s *^n", ++bname)
            else
                
len += format(menuBody[len], 511-len"%d. %s^n", ++bname)
        }
    }

    if (
g_menuSettings[id])
        
len += format(menuBody[len], 511-len"^n8. %L^n"id"BAN_FOR_MIN"g_menuSettings[id])
    else
        
len += format(menuBody[len], 511-len"^n8. %L^n"id"BAN_PERM")

    if (
end != g_menuPlayersNum[id])
    {
        
format(menuBody[len], 511-len"^n9. %L...^n0. %L"id"MORE"idpos "BACK" "EXIT")
        
keys |= MENU_KEY_9
    
}
    else
        
format(menuBody[len], 511-len"^n0. %L"idpos "BACK" "EXIT")

    
show_menu(idkeysmenuBody, -1"Ban Menu")
}

public 
cmdBanMenu(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    g_menuOption
[id] = 0
    
    
if (ArraySize(g_bantimes) > 0)
    {
        
g_menuSettings[id] = ArrayGetCell(g_bantimesg_menuOption[id]);
    }
    else
    {
        
// should never happen, but failsafe
        
g_menuSettings[id] = 0
    
}
    
displayBanMenu(idg_menuPosition[id] = 0)

    return 
PLUGIN_HANDLED
}

/* Slap/Slay */

public actionSlapMenu(idkey)
{
    switch (
key)
    {
        case 
7:
        {
            ++
g_menuOption[id]
            
            
g_menuOption[id] %= ArraySize(g_slapsettings);
            
            
g_menuSettings[id] = ArrayGetCell(g_slapsettingsg_menuOption[id]);
            
            
displaySlapMenu(idg_menuPosition[id]);
        }
        case 
8displaySlapMenu(id, ++g_menuPosition[id])
        case 
9displaySlapMenu(id, --g_menuPosition[id])
        default:
        {
            new 
player g_menuPlayers[id][g_menuPosition[id] * key]
            new 
name2[32]
            
            
get_user_name(playername231)

            if (!
is_user_alive(player))
            {
                
client_print(idprint_chat"%L"id"CANT_PERF_DEAD"name2)
                
displaySlapMenu(idg_menuPosition[id])
                return 
PLUGIN_HANDLED
            
}

            new 
authid[32], authid2[32], name[32]

            
get_user_authid(idauthid31)
            
get_user_authid(playerauthid231)
            
get_user_name(idname31)

            if (
g_menuOption[id])
            {
                
log_amx("Cmd: ^"%s<%d><%s><>^" slap with %d damage ^"%s<%d><%s><>^""nameget_user_userid(id), authidg_menuSettings[id], name2get_user_userid(player), authid2)

                
show_activity_key("ADMIN_SLAP_1""ADMIN_SLAP_2"namename2g_menuSettings[id]);
            } else {
                
log_amx("Cmd: ^"%s<%d><%s><>^" slay ^"%s<%d><%s><>^""nameget_user_userid(id), authidname2get_user_userid(player), authid2)
                
                
show_activity_key("ADMIN_SLAY_1""ADMIN_SLAY_2"namename2);
            }

            if (
g_menuOption[id])
                
user_slap(player, (get_user_health(player) > g_menuSettings[id]) ? g_menuSettings[id] : 0)
            else
                
user_kill(player)

            
displaySlapMenu(idg_menuPosition[id])
        }
    }
    
    return 
PLUGIN_HANDLED
}

displaySlapMenu(idpos)
{
    if (
pos 0)
        return

    
get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new 
menuBody[512]
    new 
0
    
new i
    
new name[32], team[4]
    new 
start pos 7

    
if (start >= g_menuPlayersNum[id])
        
start pos g_menuPosition[id] = 0

    
new len format(menuBody511g_coloredMenus "\y%L\R%d/%d^n\w^n" "%L %d/%d^n^n"id"SLAP_SLAY_MENU"pos 1, (g_menuPlayersNum[id] / + ((g_menuPlayersNum[id] % 7) ? 0)))
    new 
end start 7
    
new keys MENU_KEY_0|MENU_KEY_8

    
if (end g_menuPlayersNum[id])
        
end g_menuPlayersNum[id]

    for (new 
startend; ++a)
    {
        
g_menuPlayers[id][a]
        
get_user_name(iname31)
        
        if (
g_cstrike)
        {
            if (
cs_get_user_team(i) == CS_TEAM_T)
            {
                
copy(team3"TE")
            }
            else if (
cs_get_user_team(i) == CS_TEAM_CT)
            {
                
copy(team3"CT")
            } else {
                
get_user_team(iteam3)
            }
        } else {
            
get_user_team(iteam3)
        }

        if (!
is_user_alive(i) || (access(iADMIN_IMMUNITY) && != id))
        {
            ++
b
        
            
if (g_coloredMenus)
                
len += format(menuBody[len], 511-len"\d%d. %s\R%s^n\w"bnameteam)
            else
                
len += format(menuBody[len], 511-len"#. %s   %s^n"nameteam)        
        } else {
            
keys |= (1<<b)
                
            if (
is_user_admin(i))
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s \r*\y\R%s^n\w" "%d. %s *   %s^n", ++bnameteam)
            else
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s\y\R%s^n\w" "%d. %s   %s^n", ++bnameteam)
        }
    }

    if (
g_menuOption[id])
        
len += format(menuBody[len], 511-len"^n8. %L^n"id"SLAP_WITH_DMG"g_menuSettings[id])
    else
        
len += format(menuBody[len], 511-len"^n8. %L^n"id"SLAY")

    if (
end != g_menuPlayersNum[id])
    {
        
format(menuBody[len], 511-len"^n9. %L...^n0. %L"id"MORE"idpos "BACK" "EXIT")
        
keys |= MENU_KEY_9
    
}
    else
        
format(menuBody[len], 511-len"^n0. %L"idpos "BACK" "EXIT")

    
show_menu(idkeysmenuBody, -1"Slap/Slay Menu")
}

public 
cmdSlapMenu(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    g_menuOption
[id] = 0
    
if (ArraySize(g_slapsettings) > 0)
    {
        
g_menuSettings[id] = ArrayGetCell(g_slapsettingsg_menuOption[id]);
    }
    else
    {
        
// should never happen, but failsafe
        
g_menuSettings[id] = 0
    
}

    
displaySlapMenu(idg_menuPosition[id] = 0)

    return 
PLUGIN_HANDLED
}

/* Kick */

public actionKickMenu(idkey)
{
    switch (
key)
    {
        case 
8displayKickMenu(id, ++g_menuPosition[id])
        case 
9displayKickMenu(id, --g_menuPosition[id])
        default:
        {
            new 
player g_menuPlayers[id][g_menuPosition[id] * key]
            new 
authid[32], authid2[32], name[32], name2[32]
            
            
get_user_authid(idauthid31)
            
get_user_authid(playerauthid231)
            
get_user_name(idname31)
            
get_user_name(playername231)
            
            new 
userid2 get_user_userid(player)

            
log_amx("Kick: ^"%s<%d><%s><>^" kick ^"%s<%d><%s><>^""nameget_user_userid(id), authidname2userid2authid2)

            
show_activity_key("ADMIN_KICK_1""ADMIN_KICK_2"namename2);

            
            
server_cmd("kick #%d"userid2)
            
server_exec()

            
displayKickMenu(idg_menuPosition[id])
        }
    }

    return 
PLUGIN_HANDLED
}

displayKickMenu(idpos)
{
    if (
pos 0)
        return

    
get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new 
menuBody[512]
    new 
0
    
new i
    
new name[32]
    new 
start pos 8

    
if (start >= g_menuPlayersNum[id])
        
start pos g_menuPosition[id] = 0

    
new len format(menuBody511g_coloredMenus "\y%L\R%d/%d^n\w^n" "%L %d/%d^n^n"id"KICK_MENU"pos 1, (g_menuPlayersNum[id] / + ((g_menuPlayersNum[id] % 8) ? 0)))
    new 
end start 8
    
new keys MENU_KEY_0

    
if (end g_menuPlayersNum[id])
        
end g_menuPlayersNum[id]

    for (new 
startend; ++a)
    {
        
g_menuPlayers[id][a]
        
get_user_name(iname31)

        if (
access(iADMIN_IMMUNITY) && != id)
        {
            ++
b
        
            
if (g_coloredMenus)
                
len += format(menuBody[len], 511-len"\d%d. %s^n\w"bname)
            else
                
len += format(menuBody[len], 511-len"#. %s^n"name)
        } else {
            
keys |= (1<<b)
                
            if (
is_user_admin(i))
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s \r*^n\w" "%d. %s *^n", ++bname)
            else
                
len += format(menuBody[len], 511-len"%d. %s^n", ++bname)
        }
    }

    if (
end != g_menuPlayersNum[id])
    {
        
format(menuBody[len], 511-len"^n9. %L...^n0. %L"id"MORE"idpos "BACK" "EXIT")
        
keys |= MENU_KEY_9
    
}
    else
        
format(menuBody[len], 511-len"^n0. %L"idpos "BACK" "EXIT")

    
show_menu(idkeysmenuBody, -1"Kick Menu")
}

public 
cmdKickMenu(idlevelcid)
{
    if (
cmd_access(idlevelcid1))
        
displayKickMenu(idg_menuPosition[id] = 0)

    return 
PLUGIN_HANDLED
}

/* Team menu */

/*public actionTeamMenu(id, key)
{
    switch (key)
    {
        case 7:
        {
            g_menuOption[id] = (g_menuOption[id] + 1) % (g_cstrike ? 3 : 2);
            displayTeamMenu(id, g_menuPosition[id])
        }
        case 8: displayTeamMenu(id, ++g_menuPosition[id])
        case 9: displayTeamMenu(id, --g_menuPosition[id])
        default:
        {
            new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]
            new authid[32], authid2[32], name[32], name2[32]

            get_user_name(player, name2, 31)
            get_user_authid(id, authid, 31)
            get_user_authid(player, authid2, 31)
            get_user_name(id, name, 31)
                
            log_amx("Cmd: ^"%s<%d><%s><>^" transfer ^"%s<%d><%s><>^" (team ^"%s^")", name, get_user_userid(id), authid, name2, get_user_userid(player), authid2, g_menuOption[id] ? "TERRORIST" : "CT")

            show_activity_key("ADMIN_TRANSF_1", "ADMIN_TRANSF_2", name, name2, g_CSTeamNames[g_menuOption[id] % 3]);

            if (g_cstrike)
            {
                if (is_user_alive(player))
                {
                    new deaths = cs_get_user_deaths(player)
                    user_kill(player, 1)
                    cs_set_user_deaths(player, deaths)
                }
                // This modulo math just aligns the option to the CsTeams-corresponding number
                cs_set_user_team(player, (g_menuOption[id] % 3) + 1)
                cs_reset_user_model(player)
            } else {
                new limit_setting = get_cvar_num("mp_limitteams")
                
                set_cvar_num("mp_limitteams", 0)
                engclient_cmd(player, "jointeam", g_CSTeamNumbers[g_menuOption[id] % 2])
                engclient_cmd(player, "joinclass", "1")
                set_cvar_num("mp_limitteams", limit_setting)
            }

            displayTeamMenu(id, g_menuPosition[id])
        }
    }
    
    return PLUGIN_HANDLED
}

displayTeamMenu(id, pos)
{
    if (pos < 0)
        return

    get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new menuBody[512]
    new b = 0
    new i, iteam
    new name[32], team[4]
    new start = pos * 7

    if (start >= g_menuPlayersNum[id])
        start = pos = g_menuPosition[id] = 0

    new len = format(menuBody, 511, g_coloredMenus ? "\y%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id, "TEAM_MENU", pos + 1, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))
    new end = start + 7
    new keys = MENU_KEY_0|MENU_KEY_8

    if (end > g_menuPlayersNum[id])
        end = g_menuPlayersNum[id]

    for (new a = start; a < end; ++a)
    {
        i = g_menuPlayers[id][a]
        get_user_name(i, name, 31)
        
        if (g_cstrike)
        {
            iteam = _:cs_get_user_team(i)
            
            if (iteam == 1)
            {
                copy(team, 3, "TE")
            }
            else if (iteam == 2)
            {
                copy(team, 3, "CT")
            }
            else if (iteam == 3)
            {
                copy(team, 3, "SPE");
                iteam = 6;
            } else {
                iteam = get_user_team(i, team, 3)
            }
        } else {
            iteam = get_user_team(i, team, 3)
        }

        if ((iteam == g_CSTeamiNumbers[g_menuOption[id] % (g_cstrike ? 3 : 2)]) || (access(i, ADMIN_IMMUNITY) && i != id))
        {
            ++b
            
            if (g_coloredMenus)
                len += format(menuBody[len], 511-len, "\d%d. %s\R%s^n\w", b, name, team)
            else
                len += format(menuBody[len], 511-len, "#. %s   %s^n", name, team)        
        } else {
            keys |= (1<<b)
                
            if (is_user_admin(i))
                len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*\y\R%s^n\w" : "%d. %s *   %s^n", ++b, name, team)
            else
                len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s\y\R%s^n\w" : "%d. %s   %s^n", ++b, name, team)
        }
    }

    len += format(menuBody[len], 511-len, "^n8. %L^n", id, "TRANSF_TO", g_CSTeamNames[g_menuOption[id] % (g_cstrike ? 3 : 2)])

    if (end != g_menuPlayersNum[id])
    {
        format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
        keys |= MENU_KEY_9
    }
    else
        format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")

    show_menu(id, keys, menuBody, -1, "Team Menu")
}

public cmdTeamMenu(id, level, cid)
{
    if (!cmd_access(id, level, cid, 1))
        return PLUGIN_HANDLED

    g_menuOption[id] = 0

    displayTeamMenu(id, g_menuPosition[id] = 0)

    return PLUGIN_HANDLED
}/*

/* Client cmds menu */

public actionClcmdMenu(idkey)
{
    switch (
key)
    {
        case 
7:
        {
            ++
g_menuOption[id]
            
g_menuOption[id] %= g_menuSelectNum[id]
            
displayClcmdMenu(idg_menuPosition[id])
        }
        case 
8displayClcmdMenu(id, ++g_menuPosition[id])
        case 
9displayClcmdMenu(id, --g_menuPosition[id])
        default:
        {
            new 
player g_menuPlayers[id][g_menuPosition[id] * key]
            new 
flags g_clcmdMisc[g_menuSelect[id][g_menuOption[id]]][1]
            
            if (
is_user_connected(player))
            {
                new 
command[512], authid[32], name[32], userid[32]
                
                
copy(commandcharsmax(command), g_clcmdCmd[g_menuSelect[id][g_menuOption[id]]])
                
get_user_authid(playerauthid31)
                
get_user_name(playername31)
                
num_to_str(get_user_userid(player), userid31)
                
                
replace(commandcharsmax(command), "%userid%"userid)
                
replace(commandcharsmax(command), "%authid%"authid)
                
replace(commandcharsmax(command), "%name%"name)
                
                if (
flags 1)
                {
                    
server_cmd("%s"command)
                    
server_exec()
                } else if (
flags 2)
                    
client_cmd(id"%s"command)
                else if (
flags 4)
                    
client_cmd(player"%s"command)
            }
            
            if (
flags 8)
                
displayClcmdMenu(idg_menuPosition[id])
        }
    }
    
    return 
PLUGIN_HANDLED
}

displayClcmdMenu(idpos)
{
    if (
pos 0)
        return

    
get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new 
menuBody[512]
    new 
0
    
new i
    
new name[32]
    new 
start pos 7

    
if (start >= g_menuPlayersNum[id])
        
start pos g_menuPosition[id] = 0

    
new len format(menuBody511g_coloredMenus "\y%L\R%d/%d^n\w^n" "%L %d/%d^n^n"id"CL_CMD_MENU"pos 1, (g_menuPlayersNum[id] / + ((g_menuPlayersNum[id] % 7) ? 0)))
    new 
end start 7
    
new keys MENU_KEY_0|MENU_KEY_8

    
if (end g_menuPlayersNum[id])
        
end g_menuPlayersNum[id]

    for (new 
startend; ++a)
    {
        
g_menuPlayers[id][a]
        
get_user_name(iname31)

        if (!
g_menuSelectNum[id] || (access(iADMIN_IMMUNITY) && != id))
        {
            ++
b
            
            
if (g_coloredMenus)
                
len += format(menuBody[len], 511-len"\d%d. %s^n\w"bname)
            else
                
len += format(menuBody[len], 511-len"#. %s^n"name)        
        } else {
            
keys |= (1<<b)
                
            if (
is_user_admin(i))
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s \r*^n\w" "%d. %s *^n", ++bname)
            else
                
len += format(menuBody[len], 511-len"%d. %s^n", ++bname)
        }
    }

    if (
g_menuSelectNum[id])
        
len += format(menuBody[len], 511-len"^n8. %s^n"g_clcmdName[g_menuSelect[id][g_menuOption[id]]])
    else
        
len += format(menuBody[len], 511-len"^n8. %L^n"id"NO_CMDS")

    if (
end != g_menuPlayersNum[id])
    {
        
format(menuBody[len], 511-len"^n9. %L...^n0. %L"id"MORE"idpos "BACK" "EXIT")
        
keys |= MENU_KEY_9
    
}
    else
        
format(menuBody[len], 511-len"^n0. %L"idpos "BACK" "EXIT")

    
show_menu(idkeysmenuBody, -1"Client Cmds Menu")
}

public 
cmdClcmdMenu(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    g_menuSelectNum
[id] = 0

    
for (new 0g_clcmdNum; ++a)
        if (
access(idg_clcmdMisc[a][0]))
            
g_menuSelect[id][g_menuSelectNum[id]++] = a

    g_menuOption
[id] = 0

    displayClcmdMenu
(idg_menuPosition[id] = 0)

    return 
PLUGIN_HANDLED
}

load_settings(szFilename[])
{
    if (!
file_exists(szFilename))
        return 
0

    
new text[256], szFlags[32], szAccess[32]
    new 
apos 0

    
while (g_clcmdNum MAX_CLCMDS && read_file(szFilenamepos++, text255a))
    {
        if (
text[0] == ';') continue

        if (
parse(textg_clcmdName[g_clcmdNum], 31g_clcmdCmd[g_clcmdNum], 63szFlags31szAccess31) > 3)
        {
            while (
replace(g_clcmdCmd[g_clcmdNum], 63"\'""^""))
            {
                // do nothing
            }

            g_clcmdMisc[g_clcmdNum][1] = read_flags(szFlags)
            g_clcmdMisc[g_clcmdNum][0] = read_flags(szAccess)
            g_clcmdNum++
        }
    }

    return 1


MUCHISIMAS GRACIAS!!!
05/12/2019 05:29 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Nube. Sin conexión
Miembro Junior


Mensajes: 43
Registro en: Sep 2019
Reputación: 0
Mensaje: #8
RE: menu de admin (ttt)
(05/12/2019 05:05 PM)Chema escribió:  
(05/12/2019 03:48 PM)Nube. escribió:  
(05/12/2019 02:10 PM)andres_1041 escribió:  
(04/12/2019 10:54 PM)Nube. escribió:  No sería solo para el ttt...

El solo dijo quitar el "TEAM MENÚ" no se especifico bien...

Está bien el link que le pasaste tranki

Oh god why

Está bien *CODIGO PHP* Whatever

05/12/2019 06:28 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Enviar respuesta 


Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)

Contáctanos | Allied Modders en español | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS