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:
<?php 
menu_additem
(mxe, "\wOpcion ", "1")

Menu Viejo
Código PHP:
<?php 
len
+= formatex(menu[len], sizeof menu - 1 - 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:
<?php 
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
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:
<?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(PLUGIN, VERSION, AUTHOR)
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:
<?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:
<?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(id, mxemenu, 0)
}
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:
<?php 
public hmenu(id, mxemenu, item)        //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(id, print_center, "HOLA SOY LA OPCION #1.")
       }
       case 1:        //en caso de que precione 2: le mandamos otro msj
       {
           client_print(id, print_center, "HOLA SOY LA OPCION #2.")
       }
       case 2:        //en caso de que precione 3: le mandamos otro msj
       {
           client_print(id, print_center, "HOLA SOY LA OPCION #3")
       }
   }
   return PLUGIN_HANDLED;    // returnamos la funcion
}
Ami me quedo asi..

Código PHP:
<?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(PLUGIN, VERSION, AUTHOR)
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(id, mxemenu, item)      
{
   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(id, print_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(id, get_user_health(id) + 100) // le damos 100 HP
cs_set_user_money(id, cs_get_user_money(id) - 2000) // LE QUITAMOS 2000 de MONEY
client_print(id, print_chat, "COMPRASTE VIDA!") // MANDAMOS UN MENSSAJE
}else // SI NO TENE 2000 DE MONEY
    client_print(id, print_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(id, print_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(id, cs_get_user_money(id) - 4000) // QUITAMOS 4000 de money
client_print(id, print_chat, "COMPRASTE SMOJE")
}else
// si no trae 4000 de MONEY
client_print(id, print_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(id, print_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 .