PlayEasymx
Registro en:
Jun 2017
Mensajes:
34
Temas:
8
|
|
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!
|