Enviar respuesta 
[API] OldMenu 1.1
Autor Mensaje
Destro Sin conexión
Anti-cheat Team


Buen Tutorial Plugin developer Pensador Plugin popular
Mensajes: 820
Registro en: Oct 2013
Reputación: 4
Mensaje: #1
[API] OldMenu 1.1
Una simple API para crear menues del estilo viejo fácilmente.

Código PHP:
stock oldmenu_register()

stock oldmenu_create(const handler[], const title[], any:...)

stock oldmenu_additem(itemnumvalue, const item[], any:...)

stock oldmenu_display(idpage=1display_time=-1)

stock fix_pdata_menu(id)

stock oldmenu_calculate_pages(&maxpages, &start, &end, &page, const maxitems, const perpage=7, const start_offset=0

Ejemplo:
Código PHP:
#include <amxmodx>
#include <api_oldmenu>

public plugin_init()
{
    
oldmenu_register()
    
    
register_clcmd("say /menu1""show_menu_test")
    
register_clcmd("say /menu2""show_menu_players")
}

public 
show_menu_test(id)
{
    
oldmenu_create("menu_test""\rTest OldMenu %s:""api")
    
    
oldmenu_additem(15"\r%d. \wItem 1"1)
    
oldmenu_additem(29"\r%s. \wItem 2""2")
    
oldmenu_additem(388"\r3. \wItem 3")
    
oldmenu_additem(4, -51"\r4. \wItem 4")
    
oldmenu_additem(-10"\d5. Item DISABLED")
    
oldmenu_additem(-10"Hola!!")
    
    
oldmenu_additem(0MENU_EXIT"^n\r0.\wSalir")
    
    
oldmenu_display(id)
}

public 
menu_test(iditemnumvaluepage)
{
    
client_print(idprint_chat"itemnum: %d - value: %d - page: %d"itemnumvaluepage)
}

public 
show_menu_players(idpage)
{
    new 
maxpagesstartend
    oldmenu_calculate_pages
(maxpagesstartendpageget_maxplayers())
    
oldmenu_create("menu_players""\rPlayers: %d/%d"pagemaxpages)
    
    new 
name[32]
    
    for(new 
i=1+startcount=1<= endi++, count++)
    {
        if(!
is_user_connected(i)) continue
        
        
get_user_name(iname31)
        
oldmenu_additem(counti"\r%d. \w%s"countname)
    }
    
    if(
page 1oldmenu_additem(80"^n\r8. \wAtras")
    else 
oldmenu_additem(-10"^n\d8. Atras")
    if(
page maxpagesoldmenu_additem(90"\r9. \wSiguiente")
    else 
oldmenu_additem(-10"\d9. Siguiente")
    
oldmenu_additem(00"\r0. \wSalir")
    
    
oldmenu_display(idpage)
}

public 
menu_players(iditemnumvaluepage)
{
    if(
itemnum == 0)
        return

    if(
itemnum == 8)
    {
        
show_menu_players(idpage-1)
        return
    }
    
    if(
itemnum == 9)
    {
        
show_menu_players(idpage+1)
        return
    }
    
    new 
name[32]
    
get_user_name(valuename31)
    
client_print(idprint_chat"playerid: %d - name: %s"valuename)



Solo lo recomiendo para usar con menúes dinámicos donde tengan que regenerar el menu todo el tiempo. Si es estático recomiendo usar el newmenu creándolo solo una vez.


Archivo(s) adjuntos
api_oldmenu.inc (Tamaño: 3.06 KB / Descargas: 522)

(Este mensaje fue modificado por última vez en: 04/10/2014 07:09 PM por Destro.)
06/04/2014 12:14 AM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
3mcy daimon't Sin conexión
Miembro


Mensajes: 219
Registro en: Nov 2013
Reputación: 1
Mensaje: #2
RE: API OldMenu
Buenisimo, lo probare... pero consume mas o menos que el menu_additem o menu len?

Sistema de Logros v2.0 + Guardado

He vuelto... esta vez con mas ganas de ayudar que nunca!
(Este mensaje fue modificado por última vez en: 06/04/2014 02:40 AM por 3mcy daimon't.)
06/04/2014 02:39 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Destro Sin conexión
Anti-cheat Team


Buen Tutorial Plugin developer Pensador Plugin popular
Mensajes: 820
Registro en: Oct 2013
Reputación: 4
Mensaje: #3
RE: API OldMenu
menu_additem = newmenu
menu len = oldmenu

esta api es lo mismo que usar show_menu con los formatex (oldmenu)
consume menos que el newmenu cuando es un menu dinamico.

(Este mensaje fue modificado por última vez en: 06/04/2014 01:55 PM por Destro.)
06/04/2014 04:14 AM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
roccoxx Sin conexión
Miembro Destacado


Plugin developer Trebol purpura 1k
Mensajes: 1,157
Registro en: Oct 2013
Reputación: 18
Mensaje: #4
RE: API OldMenu
menos ? o.O

yo prefiero el new menu es mas facil de manejar, aparte yo los creo una vez y a lo sumo si la funcion tiene un parametro creo las demas cosas en plugin_init y solo modifico lo que quiero xD

Edit: en mi caso la diferencia es nula, este api seria util en menus como he visto que hacen mucho en el foro que llaman a la funcion y todas las natives cada tanto, ej: show_menu_hola(id) y ahi editan los props y eso.

PD: no me expreso muy bien, buen aporte destro e.e.

futuro ingeniero agrónomo.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

volví a vender plugins, contactame
(Este mensaje fue modificado por última vez en: 06/04/2014 01:01 PM por roccoxx.)
06/04/2014 12:59 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Kane Sin conexión
Miembro Sr.


Mensajes: 532
Registro en: Feb 2014
Reputación: 17
Mensaje: #5
RE: API OldMenu
Como haría para poner un ítem sin numero como
Código PHP:
len += formatex(menu[len], charsmax(menu) - len"Si apretas el 1, moris")
len += formatex(menu[len], charsmax(menu) - len"\r1.\w Morir")
len += formatex(menu[len], charsmax(menu) - len"\r2.\w Vivir"
seria
Código PHP:
oldmenu_additem(-1, -1"Si apretas el 1, moris"
??

(19/06/2014 11:08 PM)01011001 escribió:  No tiene niveles infinitos, llega hasta 2147483648 (Y despues hace un integer overflow)

(19/06/2014 11:08 PM)[R]ak escribió:  Mis conocimientos aumentaron un 500% con este post
06/04/2014 11:06 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
[Anti] Sin conexión
Miembro Sr.


Mensajes: 725
Registro en: Oct 2013
Reputación: 20
Mensaje: #6
RE: API OldMenu
No es mas facil usar el show_menu con el len y listo -.-

Mas halla de eso a alguien le puede ser vastante util, en mi caso prefiero usar el nuevo menu y en otros casos el len. Gracias destro.
06/04/2014 11:29 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Destro Sin conexión
Anti-cheat Team


Buen Tutorial Plugin developer Pensador Plugin popular
Mensajes: 820
Registro en: Oct 2013
Reputación: 4
Mensaje: #7
RE: API OldMenu
(06/04/2014 11:06 PM)Kane escribió:  Como haría para poner un ítem sin numero como
Código PHP:
len += formatex(menu[len], charsmax(menu) - len"Si apretas el 1, moris")
len += formatex(menu[len], charsmax(menu) - len"\r1.\w Morir")
len += formatex(menu[len], charsmax(menu) - len"\r2.\w Vivir"
seria
Código PHP:
oldmenu_additem(-1, -1"Si apretas el 1, moris"
??
si lo que querés es algo como menu_addtext si.
value puede ser cualquier cosa,no se usa cuando itemnum es -1

(Este mensaje fue modificado por última vez en: 07/04/2014 02:10 AM por Destro.)
07/04/2014 02:08 AM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Destro Sin conexión
Anti-cheat Team


Buen Tutorial Plugin developer Pensador Plugin popular
Mensajes: 820
Registro en: Oct 2013
Reputación: 4
Mensaje: #8
RE: [INC] API OldMenu 1.1
Update 1.1

Nuevo:
Código PHP:
/*Registra el menu base. Llamar en plugin_init() */
stock oldmenu_register()

/*Soluciona el bug con m_iMenu */
stock fix_pdata_menu(id

Mejorado:
Código PHP:
/*Se agrego start_offset*/
stock oldmenu_calculate_pages(&maxpages, &start, &end, &page, const maxitems, const perpage=7, const start_offset=0

(Este mensaje fue modificado por última vez en: 04/10/2014 07:06 PM por Destro.)
04/10/2014 07:01 PM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
LuKks Sin conexión
Miembro Sr.


Plugin developer
Mensajes: 456
Registro en: Jul 2014
Reputación: 18
Mensaje: #9
RE: [API] OldMenu 1.1
Lo vengo usando hace rato!
Esta muy bueno, me facilito la vida esta API Sonrisa

Podrias darme un ejemplo de como haria un top de jugadores con estos stocks ? por que intente y no pude o sino tengo que hacer una re complicacion con los for's y seguramente este todo mal. De igual manera uso el motd de tu otra publicacion Lengua pero quisiera saber como se haria con esta api.

05/10/2014 08:19 AM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
ivan Sin conexión
Miembro Sr.


Mensajes: 628
Registro en: Oct 2013
Reputación: 7
Mensaje: #10
RE: [API] OldMenu 1.1
en contre un error ya que empeze a usarlo
Código PHP:
oldmenu_additem(15"\r%d. \wItem 1"1
-------------->
Código PHP:
oldmenu_additem(15"\r%d. \wItem 1""1"
muy bueno ya lo empeze a usar y me gusta.
05/10/2014 10:19 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Enviar respuesta 


Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)

Contáctanos | Allied Modders en español | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS