[ZP] Menu de Colores de Granada de Luz/Flare
#1
Bueno, este menu es muy simple la verdad pero no vi otro tuto como este...
Empecemos

Código PHP:
// Al principio del plugin o un poco mas abajo que al principio ponemos esto!
#define MAX_JUGADORES 33 

new g_luz[MAX_JUGADORES]; // Esta variable nos guardara el color elegido
enum __data_menu_luz
{
    
GL_COLOR[15], // Nombre del color
    
GL_ROJO// Rojo 
    
GL_VERDE// Verde
    
GL_AZUL // Azul
};

new const 
DATA_LUZ[][_data_menu_luz] =
{
    
// Color      -        R  -   V    -  A
    
"Blanco",          255,    255,    255 },
    { 
"Verde",           0,      255,    0   },
    { 
"Azul",            0,      0,      255 },
    { 
"Rojo",            255,    0,      0   },
    { 
"Amarillo",        255,    255,    0   },
    { 
"Rosado",          255,    85,     200 },
    { 
"Celeste",         127,    240,    255 }


Vamos a
Código:
// Forward Set Model

Buscamos
Código PHP:
else if (model[9] == 's' && model[10] == 'm' && get_pcvar_num(cvar_flaregrenades)) // Flare 
y lo cambiamos por...
Código PHP:
else if (model[9] == 's' && model[10] == 'm' && get_pcvar_num(cvar_flaregrenades)) // Flare
{
    static 
idrva[3];

    
id entity_get_edict(entityEV_ENT_owner);
    
rva = { DATA_LUZ[g_luz[id]][GL_ROJO], DATA_LUZ[g_luz[id]][GL_VERDE], DATA_LUZ[g_luz[id]][GL_AZUL] };

    
// Give it a glow
    
set_rendering(entitykRenderFxGlowShellrva[0], rva[1], rva[2], kRenderNormal16);

    
// And a colored trail
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_BEAMFOLLOW); // TE id
    
write_short(entity); // entity
    
write_short(g_trailSpr); // sprite
    
write_byte(6); // life
    
write_byte(6); // width
    
write_byte(rva[0]); // r
    
write_byte(rva[1]); // g
    
write_byte(rva[2]); // b
    
write_byte(200); // brightness
    
message_end();

    
// Set grenade type on the thrown grenade entity
    
set_pev(entityPEV_NADE_TYPENADE_TYPE_FLARE);

    
// Set flare color on the thrown grenade entity
    
set_pev(entityPEV_FLARE_COLORrva[0], rva[1], rva[2]);


Debajo del plugin si quieren pegan esto
Código PHP:
// Menu que vamos a usar
public menu_luz(idpagina)
{
    new 
len[211], temp[3], menui;

    
menu menu_create("\y[ZP] \rColores de Granada de Luz\r\R""handler_menu_luz");

    for (
0sizeof (DATA_LUZ); i++)
    {
        if (
g_luz[id] == iformatex(lencharsmax(len), "%s \r[\yActual\r]"DATA_LUZ[i][GL_COLOR]);
        else 
formatex(lencharsmax(len), DATA_LUZ[i][GL_COLOR]);

        
num_to_str(itempcharsmax(temp))
        
menu_additem(menulentemp)
    }

    
menu_setprop(menuMPROP_BACKNAME"\yRegresar");
    
menu_setprop(menuMPROP_NEXTNAME"\ySiguiente");
    
menu_setprop(menuMPROP_EXITNAME"\rSalir");

    
menu_display(idmenupagina);
}
public 
handler_menu_luz(idmenuiditem)
{
    
menu_destroy(menuid);

    if (!
is_user_connected(id) || item == MENU_EXIT)
        return 
PLUGIN_HANDLED;

    
g_luz[id] = item;
    
client_print_color(id0"^4[ZP]^1 Has elegido el color^3 %s^1 para tu granada de luz!"DATA_LUZ[item][GL_COLOR]);
    return 
PLUGIN_HANDLED;


Despues de eso vamos a
Código:
// Client commands
Y agregamos esto arriba de
Código:
// Menus

Código PHP:
register_clcmd("say luz""show_menu_luz"); 
Quedaria...
Código PHP:
// Client commands
 
register_clcmd("say zpmenu""clcmd_saymenu")
 
register_clcmd("say /zpmenu""clcmd_saymenu")
 
register_clcmd("say unstuck""clcmd_sayunstuck")
 
register_clcmd("say /unstuck""clcmd_sayunstuck")
 
register_clcmd("nightvision""clcmd_nightvision")
 
register_clcmd("drop""clcmd_drop")
 
register_clcmd("buyammo1""clcmd_buyammo")
 
register_clcmd("buyammo2""clcmd_buyammo")
 
register_clcmd("chooseteam""clcmd_changeteam")
 
register_clcmd("jointeam""clcmd_changeteam")

 
// Si escribis "luz", se abre el menu
 
register_clcmd("say luz""menu_luz"); 

y listo esto es todo V:
___________________________________
SI NECESITAS UN PLUGIN TE LO HAGO $$$
COMUNICATE A MI DISCORD: emanuelitop15
Responder
#2
No explicas nada, no es un tutorial ni una guía

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)