[Solucionado] Busco Banmenu + Razón
#1
Hola gente espero que se encuentren bien.

Estoy buscando un plugin que sea banmenu + razon, he husmeado por el foro pero solo encuentro uno que es con sxe pero en mi caso no lo utilizo, yo uso Advanced Bans. Porfa me podrían pasar o hacer uno? dejare los sma que usa advanced bans.


.sma   Descargar AMXX / advanced_bans.sma (Tamaño: 50.57 KB / Descargas: 44)

.sma   Descargar AMXX / plmenu.sma (Tamaño: 25.53 KB / Descargas: 47)

.sma   Descargar AMXX / adminvote.sma (Tamaño: 16.89 KB / Descargas: 40)

Espero que me puedan ayudar. Gracias Mario
Responder
#2
https://amxmodx-es.com/Thread-Sistema-de...17-02-2019

Responder
#3
(25/02/2019, 12:13 AM)Skylar escribió: https://amxmodx-es.com/Thread-Sistema-de...17-02-2019

Gracias, se ve muy completo pero no uso sql.
Responder
#4
Código PHP:
// Generated with v3x's AMXX Menu Generator

#include <amxmodx>
#include <amxmisc>
#include <cromchat>

new bantime[32] = 0
new resontext[32]
new 
amount[21]
new 
resonamo[21]
new 
iName[64];
new 
iIp[64]
new 
bantype
new const PREFIX[] = { "[AMXX]" };



public 
plugin_init()
{
    
register_clcmd("time_create","time_createe")
    
register_clcmd("reson_create","resonn")
    
register_clcmd("banmenu2","cmd_banmenu")
}
public 
cmd_banmenu(id)
{
    if(!
is_user_admin(id))
    {
        
CC_SendMessage(id"&x04%s &x03Perdona,&x04 este menu es&x03 SOLO PARA ADMINS",PREFIX);
        return 
PLUGIN_HANDLED;
    }
    
    
banmenu(id);
    return 
PLUGIN_HANDLED;
}
public 
banmenu(id)
{
    new 
szText[555 char];
    new 
banmenu menu_create("Bmenu""ban_hendler");
    
formatexszTextcharsmaxszText ), "\wTipo de Ban: \d%s",(bantype) ? "Ban en Tiempo Real (Predeterminado)" "Ban en Tiempo Real (Predeterminado)");
    
menu_additem(banmenuszText"1"0)
    if(
bantime[id] == 0formatex(szTextcharsmax(szText), "\wDuracion (en minutos): none")
    else 
formatex(szTextcharsmax(szText), "\wTiempo: \y%d"bantime[id])
    
menu_additem(banmenuszText"2"0)
    if(
iName[id] == 0formatex(szTextcharsmax(szText), "\wJugador: none")
    
formatex(szTextcharsmax(szText), "\wJugador: \r%s"iName)
    
menu_additem(banmenuszText"3"0)
    if(
resonamo[id] == 0formatex(szTextcharsmax(szText), "\wreson: none")
    
formatex(szTextcharsmax(szText), "\wRazon (Asegurate de poner razon valida): \r%s"resonamo)
    
menu_additem(banmenuszText"4"0)
    
menu_additem(banmenu"\wCrear Ban.""5"0);

    
menu_setprop(banmenuMPROP_EXITMEXIT_ALL);

    
menu_display(idbanmenu0);

    return 
PLUGIN_HANDLED;
}

public 
ban_hendler(idbanmenuitem,level,cid)
{
    if(!
cmd_access(id,level,cid,2))
    return 
PLUGIN_HANDLED
    
    
if (item == MENU_EXIT)
    {
        
menu_destroy(banmenu);
        
resetdata(id)
        
        
    }
    
    new 
Data[7], Name[64];
    new 
AccessCallback;
    
menu_item_getinfo(banmenuitemAccessData,5Name63Callback);
    
    new 
Key str_to_num(Data);
    
    switch (
Key)
    {
        case 
1:
        {
            
bantype++;
            if( 
bantype >= 
            
bantype 0;
            
menu_display(idbanmenu0);
            
            
        }
        case 
2:    client_cmd(id"messagemode time_create")
        case 
3players(id)
        case 
4client_cmd(id"messagemode reson_create")

        case 
5
        {
            
CC_SendMessage(id"&x04%s &x03%s &x01ha sido, &x04BANEADO &x01por &x04%d &x01minutos (&x04Razon &x03%s&x01)",PREFIX,iName,bantime[id],resonamo);
            if (
bantype == 0client_cmd(id,"amx_ban ^"%s^" ^"%d^" ^"%s^"",iName,bantime[id],resonamo)
            if (
bantype == 1client_cmd(id,"amx_ban ^"%s^" ^"%d^" ^"%s^"",iName,bantime[id],resonamo)
            
resetdata(id)
        }
    }
    return 
PLUGIN_HANDLED;    
}
public 
players(id)
{
 
    new 
menu menu_create("select player""menu_handler");
 
    new 
players[32], pnumtempid;
 
    new 
szName[32], szTempid[10];
 
    
get_players(playerspnum);
 
    for( new 
ii<pnumi++ )
    {
        
tempid players[i];
 
        
get_user_name(tempidszName31);
        
num_to_str(tempidszTempid9);
   
        
menu_additem(menuszNameszTempid0);
 
    }
 
    
menu_display(idmenu0);
}
public 
menu_handler(idmenuitem)
{
   
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6]
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);
    new 
tempid str_to_num(data);
    
get_user_name(tempidiName31);
    
iIp get_ip(tempid)
    
banmenu(id)
    
menu_destroy(menu)
 
    return 
PLUGIN_HANDLED;
}
public 
time_createe(id)
{
    
read_argv(1amount20 );
    new 
pointnum str_to_num(amount);
    
bantime[id] = pointnum
    banmenu
(id)
    return 
PLUGIN_HANDLED;
}
public 
resonn(id)
{
    
read_argv(1resonamo20 );
    
banmenu(id)
    return 
PLUGIN_HANDLED;
}
stock get_ip(const index)
{
    static 
IP[32]
    
get_user_ip(indexIPcharsmax(IP), 1)
    return 
IP
}
stock resetdataid )
{
    
bantime[id] = 0;
    
resontext[id] = 0;
    
amount[id] = 0;
    
resonamo[id] = 0;
    
iName[id] = 0;
    
iIp[id] = 0;


Pruebate este
"Cada golpe es una lección, y cada lección te hace mejor."

[Imagen: b_350_20_000000_8a7300_ffffff_eeff00.png]
[Imagen: 76561198371193937.png]
Responder
#5
(25/02/2019, 02:13 PM)rojedafeik escribió:
Código PHP:
// Generated with v3x's AMXX Menu Generator

#include <amxmodx>
#include <amxmisc>
#include <cromchat>

new bantime[32] = 0
new resontext[32]
new 
amount[21]
new 
resonamo[21]
new 
iName[64];
new 
iIp[64]
new 
bantype
new const PREFIX[] = { "[AMXX]" };



public 
plugin_init()
{
    
register_clcmd("time_create","time_createe")
    
register_clcmd("reson_create","resonn")
    
register_clcmd("banmenu2","cmd_banmenu")
}
public 
cmd_banmenu(id)
{
    if(!
is_user_admin(id))
    {
        
CC_SendMessage(id"&x04%s &x03Perdona,&x04 este menu es&x03 SOLO PARA ADMINS",PREFIX);
        return 
PLUGIN_HANDLED;
    }
    
    
banmenu(id);
    return 
PLUGIN_HANDLED;
}
public 
banmenu(id)
{
    new 
szText[555 char];
    new 
banmenu menu_create("Bmenu""ban_hendler");
    
formatexszTextcharsmaxszText ), "\wTipo de Ban: \d%s",(bantype) ? "Ban en Tiempo Real (Predeterminado)" "Ban en Tiempo Real (Predeterminado)");
    
menu_additem(banmenuszText"1"0)
    if(
bantime[id] == 0formatex(szTextcharsmax(szText), "\wDuracion (en minutos): none")
    else 
formatex(szTextcharsmax(szText), "\wTiempo: \y%d"bantime[id])
    
menu_additem(banmenuszText"2"0)
    if(
iName[id] == 0formatex(szTextcharsmax(szText), "\wJugador: none")
    
formatex(szTextcharsmax(szText), "\wJugador: \r%s"iName)
    
menu_additem(banmenuszText"3"0)
    if(
resonamo[id] == 0formatex(szTextcharsmax(szText), "\wreson: none")
    
formatex(szTextcharsmax(szText), "\wRazon (Asegurate de poner razon valida): \r%s"resonamo)
    
menu_additem(banmenuszText"4"0)
    
menu_additem(banmenu"\wCrear Ban.""5"0);

    
menu_setprop(banmenuMPROP_EXITMEXIT_ALL);

    
menu_display(idbanmenu0);

    return 
PLUGIN_HANDLED;
}

public 
ban_hendler(idbanmenuitem,level,cid)
{
    if(!
cmd_access(id,level,cid,2))
    return 
PLUGIN_HANDLED
    
    
if (item == MENU_EXIT)
    {
        
menu_destroy(banmenu);
        
resetdata(id)
        
        
    }
    
    new 
Data[7], Name[64];
    new 
AccessCallback;
    
menu_item_getinfo(banmenuitemAccessData,5Name63Callback);
    
    new 
Key str_to_num(Data);
    
    switch (
Key)
    {
        case 
1:
        {
            
bantype++;
            if( 
bantype >= 
            
bantype 0;
            
menu_display(idbanmenu0);
            
            
        }
        case 
2:    client_cmd(id"messagemode time_create")
        case 
3players(id)
        case 
4client_cmd(id"messagemode reson_create")

        case 
5
        {
            
CC_SendMessage(id"&x04%s &x03%s &x01ha sido, &x04BANEADO &x01por &x04%d &x01minutos (&x04Razon &x03%s&x01)",PREFIX,iName,bantime[id],resonamo);
            if (
bantype == 0client_cmd(id,"amx_ban ^"%s^" ^"%d^" ^"%s^"",iName,bantime[id],resonamo)
            if (
bantype == 1client_cmd(id,"amx_ban ^"%s^" ^"%d^" ^"%s^"",iName,bantime[id],resonamo)
            
resetdata(id)
        }
    }
    return 
PLUGIN_HANDLED;    
}
public 
players(id)
{
 
    new 
menu menu_create("select player""menu_handler");
 
    new 
players[32], pnumtempid;
 
    new 
szName[32], szTempid[10];
 
    
get_players(playerspnum);
 
    for( new 
ii<pnumi++ )
    {
        
tempid players[i];
 
        
get_user_name(tempidszName31);
        
num_to_str(tempidszTempid9);
   
        
menu_additem(menuszNameszTempid0);
 
    }
 
    
menu_display(idmenu0);
}
public 
menu_handler(idmenuitem)
{
   
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6]
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);
    new 
tempid str_to_num(data);
    
get_user_name(tempidiName31);
    
iIp get_ip(tempid)
    
banmenu(id)
    
menu_destroy(menu)
 
    return 
PLUGIN_HANDLED;
}
public 
time_createe(id)
{
    
read_argv(1amount20 );
    new 
pointnum str_to_num(amount);
    
bantime[id] = pointnum
    banmenu
(id)
    return 
PLUGIN_HANDLED;
}
public 
resonn(id)
{
    
read_argv(1resonamo20 );
    
banmenu(id)
    return 
PLUGIN_HANDLED;
}
stock get_ip(const index)
{
    static 
IP[32]
    
get_user_ip(indexIPcharsmax(IP), 1)
    return 
IP
}
stock resetdataid )
{
    
bantime[id] = 0;
    
resontext[id] = 0;
    
amount[id] = 0;
    
resonamo[id] = 0;
    
iName[id] = 0;
    
iIp[id] = 0;


Pruebate este


Genial rojeda! está perfecto, Gracias!
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)