AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Spanish (https://forums.alliedmods.net/forumdisplay.php?f=135)
-   -   [Ayuda] Con Menu (https://forums.alliedmods.net/showthread.php?t=209529)

wEEk 02-26-2013 15:34

[Ayuda] Con Menu
 
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

baneado 02-26-2013 15:50

Re: [Ayuda] Con Menu
 
tienes que poner un hud llamado por un task todo el tiempo.

fíjate en el public ShowHUD del zp

MexPower 02-26-2013 16:04

Re: [Ayuda] Con Menu
 
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 


baneado 02-26-2013 16:11

Re: [Ayuda] Con Menu
 
Quote:

Originally Posted by MexPower (Post 1902557)
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

GokuX 02-26-2013 16:14

Re: [Ayuda] Con Menu
 
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 :3

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 (Post 1902564)
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 :3

MexPower 02-26-2013 16:18

Re: [Ayuda] Con Menu
 
Quote:

Originally Posted by wEEk (Post 1902527)
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

Roccoxx 02-26-2013 16:19

Re: [Ayuda] Con Menu
 
Quote:

Originally Posted by GokuX (Post 1902568)
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 :3

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 :3

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]])

GokuX 02-26-2013 16:24

Re: [Ayuda] Con Menu
 
Quote:

Originally Posted by Roccoxx (Post 1902575)
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 :P 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 :)

baneado 02-26-2013 16:25

Re: [Ayuda] Con Menu
 
solo pidió como hacer el mensaje, no lo líen con otras cosas

GokuX 02-26-2013 19:27

Re: [Ayuda] Con Menu
 
Quote:

Originally Posted by baneado (Post 1902583)
solo pidió como hacer el mensaje, no lo líen con otras cosas

Ya le dijimos hasta le dimos una idea de optimizacion:bacon!:


All times are GMT -4. The time now is 06:02.

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