trail menu
#1
un trail menu pacman

Código PHP:
#include <amxmodx>
#include <fakemeta>

#define ALL    -1
#define ADM    ADMIN_BAN

new sprite
new bool:block[33]
new 
trail[33]
new 
trail_pred[33]
new 
trail_pgreen[33]
new 
trail_pblue[33]

enum _:trails_data
{
    
trail_color[32],
    
trail_red[10],
    
trail_green[10],
    
trail_blue[10],
    
trail_flag
}

new const 
trails[][trails_data] =
{
    {
"Rojo"25500ALL},
    {
"Verde"02550ADM}
}

public 
plugin_init()
{
    
register_plugin("Trail menu""1.0""Nelo")
    
register_clcmd("say /trail""menu")
}

public 
plugin_precache()
    
sprite precache_model("sprites/laserbeam.spr")
    
public 
client_disconnect(id)
{
    
block[id] = false
    trail
[id] = false
}

public 
client_PreThink(id)
{
    if(!
is_user_alive(id) || !trail[id])
        return

    static 
Float:velocity[3]
    static 
Float:speed

    pev
(idpev_velocityvelocity)
    
speed vector_length(velocity)

    if(
speed && !block[id])
    {
        
block[id] = true
        trail_on
(id)
    }
    
    else if(!
speed)
    {
        
block[id] = false
        trail_off
(id)
    }
}

public 
menu(id)
{
    if(!
is_user_alive(id))
        return 
PLUGIN_HANDLED

    
static menuitems[64];
    
menu menu_create("Menu de trails""func_menu");

    
menu_additem(menu"Desactivar")
    
    static 
i;
    for (
0sizeof(trails); i++)
    {
        new 
ADMIN[32]
        
format(ADMIN31,"%s"trails[i][trail_flag] == ALL"":"\r(ADMIN)");
        
        
formatex(itemscharsmax(items), "%s %s"trails[i][trail_color], ADMIN);
        
menu_additem(menuitems_);
    }

    
menu_setprop(menuMPROP_NUMBER_COLOR"\y");
    
menu_setprop(menuMPROP_EXITMEXIT_ALL)
    
menu_setprop(menuMPROP_BACKNAME "Atras");
    
menu_setprop(menuMPROP_NEXTNAME "Siguiente");
    
menu_setprop(menuMPROP_EXITNAME"Salir")
    
menu_display(idmenu0)

    return 
PLUGIN_CONTINUE
}

public 
func_menu(idmenuitem)
{
    if(
item == MENU_EXIT || !is_user_alive(id))
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    if(
item == 0)
    {
        
client_print(idprint_chat"Desactivaste tu trail")
        
trail[id] = 0
        trail_off
(id)
        return 
PLUGIN_HANDLED
    
}

    if(!(
get_user_flags(id) & trails[item 1][trail_flag]))
    {
        
client_print(idprint_chat"No tienes acceso a este trail")
        
menu_display(idmenu)
        return 
PLUGIN_HANDLED
    
}

    
trail[id] = item
    trail_pred
[id] = trails[trail[id] - 1][trail_red]
    
trail_pgreen[id] = trails[trail[id] - 1][trail_green]
    
trail_pblue[id] = trails[trail[id] - 1][trail_blue]
    
    
client_print(idprint_chat"Elegiste el trail %s"trails[trail[id] - 1][trail_color]);
    
    
trail_off(id)
    
trail_on(id)

    return 
PLUGIN_HANDLED
}

public 
trail_on(id)
{
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(22)    // TE_BEAMFOLLOW
    
write_short(id// id
    
write_short(sprite// sprite
    
write_byte(10// life
    
write_byte(5// size
    
write_byte(trail_pred[id]) // r
    
write_byte(trail_pgreen[id]) // g
    
write_byte(trail_pblue[id]) // b
    
write_byte(155// alpha
    
message_end()
}

public 
trail_off(id)
{
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(99)    // TE_KILLBEAM
    
write_short(id// id
    
message_end()



Archivos adjuntos
.sma   Descargar AMXX / trail_menu.sma (Tamaño: 3.03 KB / Descargas: 49)
Responder
#2
Código PHP:
new const trails[][trails_data] =
{
    {
"Rojo"25500ALL},
    {
"Verde"02550ADM}
}

if(
item == 0)
    {
        
client_print(idprint_chat"Desactivaste tu trail")
        
trail[id] = 0
        trail_off
(id)
        return 
PLUGIN_HANDLED
    


Se supone que el item 0 es el color rojo, por qué lo desactiva en vez de ponerle ese color?
Responder
#3
(11/01/2022, 09:40 AM)[N]drs escribió:
Código PHP:
new const trails[][trails_data] =
{
    {"Rojo"25500ALL},
    {"Verde"02550ADM}
}

if(
item == 0)
    {
        client_print(idprint_chat"Desactivaste tu trail")
        trail[id] = 0
        trail_off
(id)
        return PLUGIN_HANDLED
    


Se supone que el item 0 es el color rojo, por qué lo desactiva en vez de ponerle ese color?

En realidad hay un item 0 previo: menu_additem(menu, "Desactivar")
Ingeniero agrónomo y desarrollador de Software.

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"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#4
(11/01/2022, 09:43 AM)roccoxx escribió: En realidad hay un item 0 previo: menu_additem(menu, "Desactivar")

Ahhh verdad, no lo había visto, retiro lo dicho
Responder
#5
aca les dejo un par de colores

Código PHP:
    {"Rojo"25500ALL},
    {
"Verde"02550ALL},
    {
"Azul"00255ALL},
    {
"Amarillo"250250010ALL},
    {
"Amarillo verdoso"154205050ALL},
    {
"Blanco"250250250ALL},
    {
"Violeta"238130238ALL},
    {
"Turquesa"064224208ALL},
    {
"Plata"192192192ALL},
    {
"Salmon"250128114ALL},
    {
"Purpura"1280128ALL},
    {
"Rosa"255192203ALL},
    {
"Naranja"2551489ALL},
    {
"Granete"12800ALL},
    {
"Magenta"2550255ALL},
    {
"Verde lima"5020550ALL},
    {
"Rosa fuerte"255105180ALL},
    {
"Gris"128128128ALL},
    {
"Cyan"0255255ALL},
    {
"Marron"1395919ALL
Responder


Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)