Welcome Soldier.



[AMXMODX] Hacer tu propio menu.

PlayEasymx Sin conexión
User
#1
hoy le vengo a traer un totorial, de como hacer tu propio menu principal.

-Existen 2 tipos de menues.

Menu Nuevo

Código PHP:
menu_additem(mxe"\wOpcion ""1"

Menu Viejo
Código PHP:
len += formatex(menu[len], sizeof menu len"\y[1]\wOpcion^n"); 

pero en peronal para mi es mejor el Nuevo.
EMPECEMOS

Abrimos el AmxmodxStudio..

-Agregaremos un comando con cual quieras abrir el menu.

Quedaria así

Código PHP:
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say /mxemenu""cmdmenux"// ACA LO AGREGE..

Ese es mi caso, tu puedes ponerle cualquier comando para abrir el menu, solo que "say" No tendras que borrarlo, o si quieres, tendras que poner ese comando en consola y no por say (Y)

-Ahora ya que pusismos el comando, donde dice cmdmenu, es donde /mxemenu, llamara esa funcion,
ahora lo que aremos el lo siguiente..

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say /mxemenu""cmdmenux")
}

public 
cmdmenux(id// Donde llama /mxemenu
{


Listo, una vez puesto esa funcion, procederemos hacer el titulo del menu, y los items que, queremos agregarle.

Código PHP:
public cmdmenux(id)
{
    new 
mxemenu menu_create("\rTitulo \ddel \ymenu""hmenu"
    
    

creamos el menu en la variable "mxemenu" con el titulo "Titulo del menu
que segun la opcion que elija el usuario va a llamar a la funcion 'hmenu'
   
COLORES PARA EL MENU: 
\r = rojo
\y = amarillo
\d = Gris
\w = blanco

-Ahora procederemos a agregarle los items que queramos..

Código PHP:
public cmdmenux(id)
{
    new 
mxemenu menu_create("\rTitulo \ddel \ymenu""hmenu"
    
    
menu_additem(mxemenu"\rArmas""1")
    
menu_additem(mxemenu"\wTop15""2")
    
menu_additem(mxemenu"\dMis Estadisticas""3")
           

    
menu_display(idmxemenu0)

En mi cao fueron 3 item, ustedes puedes agregar las que quieran..

Ahora bamos al "hmenu"

-les dejare todo el codigo completo de una vez..

Código PHP:
public hmenu(idmxemenuitem       //los parametros deben ir en este orden
{
 
   if item == MENU_EXIT    //si el item seleccionado es igual a '0'(Exit[Salir])
 
   {
 
       menu_destroy(mxemenu       //destruimos el menu
 
       return PLUGIN_HANDLED   //y returnamos la funcion
 
   }
 
   switch(item   //hacemos un swicheo de los posibles resultados:
 
   {
 
       case 0       //en caso de que precione 1: le mandamos un msj
 
       {
 
           client_print(idprint_center"HOLA SOY LA OPCION #1.")
 
       }
 
       case 1       //en caso de que precione 2: le mandamos otro msj
 
       {
 
           client_print(idprint_center"HOLA SOY LA OPCION #2.")
 
       }
 
       case 2       //en caso de que precione 3: le mandamos otro msj
 
       {
 
           client_print(idprint_center"HOLA SOY LA OPCION #3")
 
       }
 
   }
 
   return PLUGIN_HANDLED   // returnamos la funcion

Ami me quedo asi..

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say /mxemenu""cmdmenux")
}

public 
cmdmenux(id)
{
    new 
mxemenu menu_create("\rTitulo \ddel \ymenu""hmenu"
    
    
menu_additem(mxemenu"\rVIDITA HP(100)""1")
    
menu_additem(mxemenu"\rSmoke""2")
    
menu_additem(mxemenu"\dMenu de admin""3")
    
    
    
menu_destroy(mxemenu)
    
}
public 
hmenu(idmxemenuitem     
{
 
   if item == MENU_EXIT    
    
{
 
       menu_destroy(mxemenu     
        return PLUGIN_HANDLED
   
    
}
 
   switch(item   
    
{
 
       case 0   // OPCION 1.. VIDA  
 
       {
        if(!
is_user_alive(id)) // SI EL PLAYER ESTA MUERTO
        
{
            
client_print(idprint_chat"ESTAS MUERTO PVTO >:V")
            return 
PLUGIN_HANDLED //Returnamos
        
}
        if(
cs_get_user_money(id) >= 2000){ // SI EL PLAYER TIENE 2000 de dinero
        
set_user_health(idget_user_health(id) + 100// le damos 100 HP
        
cs_set_user_money(idcs_get_user_money(id) - 2000// LE QUITAMOS 2000 de MONEY
        
client_print(idprint_chat"COMPRASTE VIDA!"// MANDAMOS UN MENSSAJE
    
}else // SI NO TENE 2000 DE MONEY
     
    client_print(idprint_chat"NO TE ALCANSA ALV "// LE MANAMOS UN MENSAJE QUE NO LE ALCANSA
 
       }
 
       case 1  // OPCION 2.. DAR SMOKE      
 
       {
 
           if(!is_user_alive(id)) // SI EL PLAYER ESTA MUERTO
        
{
            
client_print(idprint_chat"ESTAS MUERTO PVTO >:V")
            return 
PLUGIN_HANDLED //Returnamos
        
}
        if(
cs_get_user_money(id) >= 4000){ // SI EL PLAYER TIENE 4000 de dinero
            
give_item(id"weapon_smokegrenade"// LE DAMOS LA BONBA
            
cs_set_user_money(idcs_get_user_money(id) - 4000// QUITAMOS 4000 de money
            
client_print(idprint_chat"COMPRASTE SMOJE")
        }else 
// si no trae 4000 de MONEY
        
client_print(idprint_chat"NO TE ALCANSA"// MANDAMOS UN MSG QUE NO LE ALCANSA
 
       }
 
       case 2  // OPCION 3, Menu de admin     
 
       {
 
          if(is_user_admin(id)){ // Checamos si el jugador es admin
     
      client_cmd(id"amxmodmenu"// le abrimos este comando
    
}else // si no e admin
    
client_print(idprint_chat"NO ERES ADMIN")
 
       }
 
   }
 
   return PLUGIN_HANDLED  

Dudas, preguntas, comentalo!
Responder



Mensajes en este tema
[AMXMODX] Hacer tu propio menu. - por PlayEasymx - 07-07-2017, 03:55 PM
RE: [AMXMODX] Hacer tu propio menu. - por Fury - 07-07-2017, 04:29 PM
RE: [AMXMODX] Hacer tu propio menu. - por PlayEasymx - 07-07-2017, 06:37 PM
RE: [AMXMODX] Hacer tu propio menu. - por ChrstopH - 07-08-2017, 03:54 PM



Usuarios navegando en este tema:
1 invitado(s)



Sobre M X E M E X I C O

Comunidad MxE © 2020 - La mejorar comunidad de Counter Strike 1.6 .