Hookear Chooseteam [Menu de Equipos]
#1
Quisiera saber si esta bien echo, como puedo optimizarlo, que le falta, que puedo mejorar.

Código PHP:
/* Sugisaki credits :v forma del formatex en el menu */

#include <amxmodx>

#define PLUGIN "Elegir tu equipo"
#define VERSION "1.0.1"
#define AUTHOR "Exertency"

const OFFSET_JOINTEAM 2

public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_message(get_user_msgid("ShowMenu"), "message_showmenu");
    
register_message(get_user_msgid("VGUIMenu"), "message_vguimenu");
    
register_clcmd("chooseteam""clcmd_changeteam")
    
register_clcmd("jointeam""clcmd_changeteam")
}

public 
client_putinserver(id)
    
menu_de_equipos(id// Se llama a la funcion para cuando ingrese un player

public clcmd_changeteamid 
{
    if( 
get_user_team(id) == || get_user_team(id) == 0)  
    {
        
menu_de_equiposid //Si es spectador y todavia no ingreso se llama al menu de equipos
        
return PLUGIN_HANDLED
    
}
    
    
client_cmd(id"say /menu")//Aca podria ir la funcion donde llamas a tu menu si lo haces interno ej show_menu_principal(id), pero si es externo /menu o /comando
    
return PLUGIN_HANDLED
}

public 
message_vguimenu(junk1junk2id)
{
    if (
get_msg_arg_int(1) != OFFSET_JOINTEAM)
        return 
PLUGIN_CONTINUE;
    
    
menu_de_equipos(id);
    return 
PLUGIN_HANDLED;
}

public 
message_showmenu(junk1junk2id)
{
    static 
szCode[32];
    
get_msg_arg_string(4szCodecharsmax(szCode));
    
    if (
contain(szCode"#Team") == -1)
        return 
PLUGIN_CONTINUE;
    
    
menu_de_equipos(id);
    return 
PLUGIN_HANDLED;
}

public 
menu_de_equipos(id)
{
    new 
menu =  menu_create("\d[AMXX] \wElige tu \yequipo^n""menu_de_equipos_h")
    
menu_additem(menu"Terrorista")
    
menu_additem(menu"Counter-Terrorista^n")
    
    if(!
is_user_alive(id))
    {
        
menu_addblank(menu3)
        
menu_additem(menu"Espectador")
    }
    
menu_setprop(menuMPROP_EXIT"Salir")
    
menu_display(idmenu)
    
    return 
PLUGIN_HANDLED
}
public 
menu_de_equipos_h(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu// Si es que apreta 0 o "Salir" se destruye el menu
        
return PLUGIN_HANDLED
    
}
    
    new 
out[3]
    
formatex(out2"%i"item 1// Se obtiene el numero
    
    
engclient_cmd(id"jointeam"out//Entra al equipo con el numero que selecciona
    
engclient_cmd(id"joinclass""5"//Selecciona una clase al azar
    
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED

Gracias Excitedeyes
Abstenerse comentarios haciendo off y/o comentando tonterias.
Responder
#2
Código PHP:
engclient_cmd(id"joiteam"item+1
(?
Responder
#3
(06/03/2016, 03:54 PM)AGustiN escribió:
Código PHP:
engclient_cmd(id"joiteam"item+1
(?

Ya se ya se, lo hice apurado y no lo probe tambien puse 2 setprop y bueno, xd
Responder
#4
Código PHP:
//#include <cstrike> 

Código PHP:
public clcmd_changeteamid 
{
    if(
get_user_team(id) == 3)  
    {
        
menu_de_equiposid //Si es spectador y todavia no ingreso se llama al menu de equipos
        
return PLUGIN_HANDLED
    
}
    
    
client_cmd(id"say /menu")//Aca podria ir la funcion donde llamas a tu menu si lo haces interno ej show_menu_principal(id), pero si es externo /menu o /comando
    
return PLUGIN_HANDLED


(?)
Responder
#5
No entiendo cual es el objetivo.
Responder
#6
(06/03/2016, 08:02 PM)KISKE escribió: No entiendo cual es el objetivo.

Aprender (?) como me cuesta optimizar.
Responder
#7
Si te funciona, no hace falta que lo publiques. Salvo que tengas un problema con eso.
Te recomiendo que lo hagas simple y bloquees las funciones posibles cuando haces cambio de equipo (Sea cuando utilizan el VGUI menù o el menù viejo)
Responder
#8
Disculpen Si Molesto pero esto corrige el menu de que cuando entras al servidor ( el Thread es viejo lo se pero nose por las dudas si meto mal esto ) que cuando entras al servidor aparece ese Menu o el Viejo?
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)