#1 |
hoy le vengo a traer un totorial, de como hacer tu propio menu principal.
-Existen 2 tipos de menues.
Menu Nuevo
Menu Viejo
pero en peronal para mi es mejor el Nuevo.
EMPECEMOS
Abrimos el AmxmodxStudio..
-Agregaremos un comando con cual quieras abrir el menu.
Quedaria así
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..
Listo, una vez puesto esa funcion, procederemos hacer el titulo del menu, y los items que, queremos agregarle.
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..
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..
Ami me quedo asi..
Dudas, preguntas, comentalo!
-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 - 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:
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /mxemenu", "cmdmenux") // ACA LO AGREGE..
}
-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(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /mxemenu", "cmdmenux")
}
public cmdmenux(id) // Donde llama /mxemenu
{
}
Código PHP:
public cmdmenux(id)
{
new mxemenu = menu_create("\rTitulo \ddel \ymenu", "hmenu")
}
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(id, mxemenu, 0)
}
Ahora bamos al "hmenu"
-les dejare todo el codigo completo de una vez..
Código 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
}
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(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;
}