Raised This Month: $12 Target: $400
 3% 

[Ayuda] Con Menu


  
 
 
Thread Tools Display Modes
Author Message
wEEk
Senior Member
Join Date: Sep 2012
Old 02-26-2013 , 15:34   [Ayuda] Con Menu
#1

Hey, les pregunto algo simple que recien empieso con el scripting y tengo ganas de aprender.

Code:
// Includes que vamos a usar: 
#include <amxmodx> 
#include <fakemeta> 

// Aqui adentro registramos los "Client Commands - Eventos - Messages - Forwards - Etc." 
public plugin_init() 
{ 
    // Registro el Plugin 
    register_plugin(PLUGIN, VERSION, AUTHOR) 
     
    // Comandos de Clientes 
    register_clcmd("say /menu", "abrir_menu") // Cuando alguien escriba en el Say: /menu se le abrira un Menu. 
} 

// Creamos el Menu: 
public abrir_menu(id) 
{ 
    // Hay diferentes COLORES para escribir:    || "\w = Blanco" || "\r = Rojo" || "\y = Amarillo" || "\d = Gris" || 
    new Menu = menu_create("\yHumanos a Elegir", "mostrar_menu") // Escribimos el Nombre de Nuestro Menu. 
    menu_additem(Menu, "\wMonstruo"            , "1", 0) // Agregamos una Nueva Opcion con el Nombre "Monstruo".        [Slot 1] 
    menu_additem(Menu, "\rFranco Tirador"    , "2", 0) // Agregamos una Nueva Opcion con el Nombre "Franco Tirador"    [Slot 2] 
    menu_additem(Menu, "\ySoldado"            , "3", 0) // Agregamos una Nueva Opcion con el Nombre "Soldado"            [Slot 3] 
     
    menu_setprop(Menu,MPROP_EXITNAME,"Salir") // Agregamos la Opcion Salir. [Slot 0] 
    menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL) 
     
    menu_display(id, Menu, 0) 
} 

// Registramos lo que va a hacer el Menu: 
public mostrar_menu(id, Menu, item) 
{ 
    if (item == MENU_EXIT) 
    { 
        menu_destroy(Menu) 
        return PLUGIN_HANDLED 
    } 
     
    // Creamos Variables, esto se puede hacer en diferente lineas para mayor claridad o simplemente: new iData[6], iAccess, iCallback, iName[64] 
    new iData[6]; 
    new iAccess; 
    new iCallback; 
    new iName[64]; 
    menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback) 
     
    // Aqui vamos a Registrar todo lo que queremos qe haga CADA OPCION. 
    switch (str_to_num(iData)) 
    { 
        case 1: // Monstruo 
        { 
            fm_strip_user_weapons(id) // Le quitamos todas las Armas que posea, incluso las Granadas. 
            fm_give_item(id, "weapon_knife") // Le damos el Cuchillo. 
            fm_give_item(id, "weapon_deagle") // Le damos una Deagle. 
            client_print(id, print_chat, "Sos un Monstruo") // En el SAY dira: "Sos un Monstruo" 
            client_print(id, print_center, "Sos un Monstruo") // En el Centro de la Pantalla dira: "Sos un Monstruo" 
        } 
        case 2: // Franco Tirador 
        {     
            fm_give_item(id, "weapon_awp") // Le damos una AWP 
            fm_set_user_health(id, 50) // Le seteamos 50 de Vida. 
        } 
        case 3: // Soldado 
        { 
            fm_give_item(id, "weapon_m249") // Le damos una Machinegun. 
            fm_set_user_health(id, 200) // Le seteamos 200 de Vida. 
            fm_set_user_armor(id, 200) // Le seteamos 200 de Escudo. 
            fm_set_user_speed(id, 270) // Le seteamos 270 de Speed. 
        } 
    } 
     
    return PLUGIN_HANDLED 
} 

/* 

if(g_creditos[id]) 
{ 
Tutorial  
Tutorial echo  
Tutorial echo por  
Tutorial echo por palitooo 
Tutorial echo por palitooo para 
Tutorial echo por palitooo para el 
Tutorial echo por palitooo para el Foro 
Tutorial echo por palitooo para el Foro de 
Tutorial echo por palitooo para el Foro de AmxModX 
} 

*/ 

// Este Tutorial nos Ayuda a como Crear un Simple Menu con Simples Opciones.
Para empesar use ese code, pero mi pregunta es como puedo alargar el tiempo del mensaje? Por que aparece unos cuantos segundos arriva

Me refiero a esto:
Code:
 client_print(id, print_center, "Sos un Monstruo") // En el Centro de la Pantalla dira: "Sos un Monstruo"
Noce si me explique bien
wEEk is offline
baneado
Veteran Member
Join Date: Dec 2012
Location: amxmodx-es.com
Old 02-26-2013 , 15:50   Re: [Ayuda] Con Menu
#2

tienes que poner un hud llamado por un task todo el tiempo.

fíjate en el public ShowHUD del zp
baneado is offline
MexPower
Veteran Member
Join Date: Nov 2012
Old 02-26-2013 , 16:04   Re: [Ayuda] Con Menu
#3

Pues nose si en un print_center se pueda definir el tiempo pero con los Huds mesaage si puedes y es mejor:

PHP Code:
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0)
show_hudmessage(id"Ahora sos un monstruo"//El mensaje 
MexPower is offline
baneado
Veteran Member
Join Date: Dec 2012
Location: amxmodx-es.com
Old 02-26-2013 , 16:11   Re: [Ayuda] Con Menu
#4

Quote:
Originally Posted by MexPower View Post
Pues nose si en un print_center se pueda definir el tiempo pero con los Huds mesaage si puedes y es mejor:

PHP Code:
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0)
show_hudmessage(id"Ahora sos un monstruo"//El mensaje 
no se puede, si quiere que el hud salga todo el tiempo debe hacer un task
baneado is offline
GokuX
BANNED
Join Date: Jun 2011
Location: Quilpué , Chile
Old 02-26-2013 , 16:14   Re: [Ayuda] Con Menu
#5

Combiene tambien usar const para las clases, ya saben para no hacer tantos menu_additem
PHP Code:
new const Clases[][] = { "Mounstro""Francotirador""Soldado" 
solo una idea e.e

Usa un hud como el que mando MexPower para que te diga la clase y puedes hacerlo asi:
PHP Code:
new const Clases[][] = { "Mounstro""Francotirador""Soldado" }
new 
g_clases[33]

static 
numero

if(g_clases[id] == 0numero 0
else if(g_clases[id] == 1numero 1
else if(g_clases[id] == 2numero 2
set_hudmessage
(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un %s"Clases[g_clases[ìd]][numero]) //El mensaje 
Si quisiera achicar el code hazlo asi o de mejores formas es una base pero como posteaste tu code hazlo asi:
PHP Code:
case 1:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un monstro"//El mensaje 
}
case 
2:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un Francotirador"//El mensaje  
}
case 
3:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un Soldado"//El mensaje  

Quote:
Originally Posted by baneado View Post
no se puede, si quiere que el hud salga todo el tiempo debe hacer un task
pero asi seria si quisiera informarle solo la clase que es al escojerla

Last edited by GokuX; 02-26-2013 at 16:16.
GokuX is offline
MexPower
Veteran Member
Join Date: Nov 2012
Old 02-26-2013 , 16:18   Re: [Ayuda] Con Menu
#6

Quote:
Originally Posted by wEEk View Post
pero mi pregunta es como puedo alargar el tiempo del mensaje? Por que aparece unos cuantos segundos arriva

Me refiero a esto:
Code:
 client_print(id, print_center, "Sos un Monstruo") // En el Centro de la Pantalla dira: "Sos un Monstruo"
Noce si me explique bien
Nunca dijo que lo queria permanente
MexPower is offline
Roccoxx
AlliedModders Donor
Join Date: Jan 2012
Location: Argentina
Old 02-26-2013 , 16:19   Re: [Ayuda] Con Menu
#7

Quote:
Originally Posted by GokuX View Post
Combiene tambien usar const para las clases, ya saben para no hacer tantos menu_additem
PHP Code:
new const Clases[][] = { "Mounstro""Francotirador""Soldado" 
solo una idea e.e

Usa un hud como el que mando MexPower para que te diga la clase y puedes hacerlo asi:
PHP Code:
new const Clases[][] = { "Mounstro""Francotirador""Soldado" }
new 
g_clases[33]

static 
numero

if(g_clases[id] == 0numero 0
else if(g_clases[id] == 1numero 1
else if(g_clases[id] == 2numero 2
set_hudmessage
(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un %s"Clases[g_clases[ìd]][numero]) //El mensaje 
Si quisiera achicar el code hazlo asi o de mejores formas es una base pero como posteaste tu code hazlo asi:
PHP Code:
case 1:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un monstro"//El mensaje 
}
case 
2:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un Francotirador"//El mensaje  
}
case 
3:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un Soldado"//El mensaje  



pero asi seria si quisiera informarle solo la clase que es al escojerla
e.e bien gokux te sirvio mi code de rangos y aprendiste

igual esto:
PHP Code:
case 1:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un monstro"//El mensaje 
}
case 
2:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un Francotirador"//El mensaje  
}
case 
3:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un Soldado"//El mensaje  

por:

set_hudmessage(255, 255, 255, -1.0, 0.40, 0, 6.0, 6.0, 0.1, 0.2, 1)
show_hudmessage(id, "Ahora sos %s", Clases[g_clases[id]])
__________________
Tutorials here (Spanish)

Like as another Pijudo said: "Tired and retired"

Last edited by Roccoxx; 02-26-2013 at 16:20.
Roccoxx is offline
Send a message via MSN to Roccoxx
GokuX
BANNED
Join Date: Jun 2011
Location: Quilpué , Chile
Old 02-26-2013 , 16:24   Re: [Ayuda] Con Menu
#8

Quote:
Originally Posted by Roccoxx View Post
e.e bien gokux te sirvio mi code de rangos y aprendiste

igual esto:
PHP Code:
case 1:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un monstro"//El mensaje 
}
case 
2:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un Francotirador"//El mensaje  
}
case 
3:
{
set_hudmessage(255255255, -1.00.4006.06.00.10.21//los primeros 3 parametros son para el color, El octavono es donde se define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un Soldado"//El mensaje  

por:

set_hudmessage(255, 255, 255, -1.0, 0.40, 0, 6.0, 6.0, 0.1, 0.2, 1)
show_hudmessage(id, "Ahora sos %s", Clases[g_clases[id]])

Jajajajajaj :B uno aprende a optimizar mejor de a poco e.e ahora me estoy dedicando un poco mas a eso jajaja :B


PD: Ahora que me doy cuenta bien quisas esto este demas:
PHP Code:
static numero
if(g_clases[id] == 0numero 0
else if(g_clases[id] == 1numero 1
else if(g_clases[id] == 2numero 
Asi que así:
PHP Code:
new const Clases[][] = { "Mounstro""Francotirador""Soldado" }
new 
g_clases[33]

set_hudmessage(255255255, -1.00.4006.06.00.10.21)  //los primeros 3 parametros son para el color, El octavono es donde se  define el tiempo que durara el HUD (el segundo que dise 6.0) 
show_hudmessage(id"Ahora sos un %s"Clases[g_clases[ìd]]) //El mensaje 
el static numero, usalo si quieres cuando unas clases con distintas variables por ejemplo:
PHP Code:
g_sniper[33], g_assassin[33], g_monster[33
ahi usalo pero es mejor usando 1 variable

Last edited by GokuX; 02-26-2013 at 16:28.
GokuX is offline
baneado
Veteran Member
Join Date: Dec 2012
Location: amxmodx-es.com
Old 02-26-2013 , 16:25   Re: [Ayuda] Con Menu
#9

solo pidió como hacer el mensaje, no lo líen con otras cosas
baneado is offline
GokuX
BANNED
Join Date: Jun 2011
Location: Quilpué , Chile
Old 02-26-2013 , 19:27   Re: [Ayuda] Con Menu
#10

Quote:
Originally Posted by baneado View Post
solo pidió como hacer el mensaje, no lo líen con otras cosas
Ya le dijimos hasta le dimos una idea de optimizacion
GokuX is offline
 


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 19:12.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode