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

[TUT][ZP] Seleccionar color de la Granada Flare


  
 
 
Thread Tools Display Modes
Author Message
!Morte
Veteran Member
Join Date: May 2010
Old 11-27-2011 , 20:33   [TUT][ZP] Seleccionar color de la Granada Flare
#1

PHP Code:
/*
        Tutorial: [ZP] Seleccionar Color de Granada Flare 
                    By !Morte        
*/

// Comenzamos primero creando dos constantes, una de ellas almacenara los nombres de los
// colores, mientras que la otra el RGB de los mismos.

new const g_NombreColores[ ][ ] =
{
    
"Rojo",
    
"Azul",
    
"Verde",
    
"Blanco"
    
// Agrega los que quieras
}

new 
g_RGBColores[ ][ ] =
{
    { 
2550},
    { 
0255},
    { 
00255 },
    { 
255255255 }
    
// Agrega los que quieras
}

// Ahora creamos un array, el cual almacenara por un lado, el index del jugador, y por
// otro lado tendra 3 celdas en las cuales, mas adelante, guardaremos el RGB de los colores
new g_Color33 ][ ]


// Ahora, nos dirigiremos a la funcion reset_vars(id, resetall), dentro de ella, buscamos la condicion
// if(reseteall), y al final de ella agregaremos el siguiente for loop, el cual hara que al ejecutarse
// esa condicion (la cual se ejecutaria cuando el jugaron entra al servidor), se le setee el color
// blanco a la granada flare, esto es para evitar futuros bugs.

reset_vars(idresetall)
{
    if (
resetall)
    {
        for( new 
03i++ )
        {
            
g_Colorid ][ ] = 255
        
}
    }
}

// Bien!, ahora nos vamos a la funcion fw_SetModel(entity, const model[]), y buscamos siguiente condición:
else if (model[9] == 's' && model[10] == 'm' && get_pcvar_num(cvar_flaregrenades)) // Flare
{
    
// Definimos una variable estatica, la cual va a obtener al owner de la entidad
    // Esto es importante ya que necesitamos el index del jugador para obtener el RGB del color
    
static ownerowner peventitypev_owner )
        
    
// Le damos el glow a la granada con el color elegido
    
fm_set_renderingentitykRenderFxGlowShellg_Colorowner ][ ]/* Rojo */g_Colorowner ][ ]/* Verde */g_Colorowner ][ ]/* Azul */kRenderNormal16 );
        
    
// Le damos el trail a la granada con el color elegido por el jugador
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_BEAMFOLLOW// TE id
    
write_short(entity// entity
    
write_short(g_trailSpr// sprite
    
write_byte(10// life
    
write_byte(10// width
    
write_byteg_Colorowner ][ /* Rojo */ // r
    
write_byteg_Colorowner ][ /* Verde */ // g
    
write_byteg_Colorowner ][ /* Azul */ // b
    
write_byte(200// brightness
    
message_end()
        
    
// Set grenade type on the thrown grenade entity
    // Esto no se toca, se le setea el tipo de granada custom a la granada del CS.
    
set_pev(entityPEV_NADE_TYPENADE_TYPE_FLARE)
        
    
// Le seteamos el color a la granada que arrojamos
    // Tenemos que usar un loop for para pasar por las 3 celdas de nuestro array g_Color,
    // Asi obtendremos el color que se guardo en cada celda
    
for( new 03i++ )
        
set_peventityPEV_FLARE_COLORg_Colorowner ][ COLOR_FLARE ][ ] )
}

// Genial! ( que al pedo estas acotaciones, pero sino no se que poner jaja )
// Ahora vamos a la funcion flare_lighting(entity, duration)

// Flare Lighting Effects
flare_lighting(entityduration)
{
    
// Get origin and color
    
static Float:originF[3]
    
pev(entitypev_originoriginF)
    
    
// Definimos una variable estatica, la cual va a obtener al owner de la entidad
    
static ownerowner peventitypev_owner )
    
    
// Actualizamos el glow
    
fm_set_renderingentitykRenderFxGlowShellg_Colorowner ][ ], g_Colorowner ][ ], g_Colorowner ][ ], kRenderNormal16 );
    
    
// Aura de la granada con el color seleccionado por el jugador
    
engfunc(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYoriginF0)
    
write_byte(TE_DLIGHT// TE id
    
engfunc(EngFunc_WriteCoordoriginF[0]) // x
    
engfunc(EngFunc_WriteCoordoriginF[1]) // y
    
engfunc(EngFunc_WriteCoordoriginF[2]) // z
    
write_byte(get_pcvar_num(cvar_flaresize)) // radius
    
write_byteg_Colorowner ][ ] ) // r
    
write_byteg_Colorowner ][ ] ) // g
    
write_byteg_Colorowner ][ ] ) // b
    
write_byte(51//life
    
write_byte((duration 2) ? 0//decay rate
    
message_end()
    
    
// Sparks
    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
    
write_byte(TE_SPARKS// TE id
    
engfunc(EngFunc_WriteCoordoriginF[0]) // x
    
engfunc(EngFunc_WriteCoordoriginF[1]) // y
    
engfunc(EngFunc_WriteCoordoriginF[2]) // z
    
message_end()
}

// Listo, ya no habria que tocar nada mas, ahora lo que vamos a hacer es crear el menu
// que le permitira al jugador seleccionar el color de la granada.
// Esto ubiquenlo donde mas comodo les parezca.

// Menu color de la Granada Flare
public show_menu_flareid )
{
    
// Titulo
    
new Menu menu_create"\wSeleccion de \yColor de la \rGRANADA FLARE""menu_flare" )
    
    new 
iNum]
    
    
// Loop for para obtener los nombres de los colores
    
for( new 0sizeofg_NombreColores ); i++ )
    {
        
// Pasamos de numeto a string a los colores, 
        // y los agregamos al menu como opciones.
        
num_to_striiNumcharsmaxiNum ) )
        
menu_additemMenug_NombreColores[i], iNum )
    }
    
    
menu_displayidMenu )
}

// Handler color de la Granada Flare
public menu_flareidMenuitem )
{
    
// Si salio del menu
    
if( item == MENU_EXIT )
    {
        
// Lo destruimos
        
menu_destroyMenu )
        return 
PLUGIN_HANDLED;
    }
    
    
// Obtenemos la informacion de la opcion seleccionada
    
new iData[6], iAccessiCallbackiName[64]; 
    
menu_item_getinfoMenuitemiAccessiData5iName63iCallback )
    
    
// Definimos la variable Key, la cual guardara el numero de la opcion seleccionada
    
new Key str_to_numiData )
    
    
// Hacemos un loop, seteandole al array g_Color el color que selecciono el jugador en el menu
    
for( new 03i++ )
        
g_Colorid ][ ] = g_RGBColoresKey ][ ]
    
    return 
PLUGIN_HANDLED;

Tengo paja de explicar, así que le mande fruta a algunas cosas jaja
__________________
First Zombie Class
[ZP] Zombie Class: Houndeye Zombie
Quote:
Originally Posted by lucas_7_94 View Post
tenes que saber pawn antes de intentar hacer algo digno.

Last edited by !Morte; 11-27-2011 at 20:37.
!Morte is offline
Send a message via MSN to !Morte Send a message via Skype™ to !Morte
xLeoNNN
Veteran Member
Join Date: Sep 2010
Location: de_dust2
Old 11-27-2011 , 20:41   Re: [TUT][ZP] Seleccionar color de la Granada Flare
#2

buen tutorial (Y)
__________________
xLeoNNN is offline
Send a message via MSN to xLeoNNN
kratos.pro
Senior Member
Join Date: Nov 2011
Location: New york
Old 11-28-2011 , 18:10   Re: [TUT][ZP] Seleccionar color de la Granada Flare
#3

exelente me sirvio :E
__________________
kratos.pro is offline
Send a message via MSN to kratos.pro
Old 11-13-2012, 12:46
alexys12345
This message has been deleted by lucas_7_94. Reason: Bump un thread que es viejo / Quote a post que fue borrado.
Old 11-13-2012, 19:53
GalaxyA
This message has been deleted by lucas_7_94. Reason: Bump un thread que es viejo / Quote a post que fue borrado.
Old 11-20-2012, 20:50
alexys12345
This message has been deleted by lucas_7_94. Reason: Usa Mensajes Privados para este tipo de mensaje.
Axelromero91
Member
Join Date: Jun 2013
Location: Buenos Aires, Argentina
Old 09-12-2013 , 20:10   Re: [TUT][ZP] Seleccionar color de la Granada Flare
#4

Muy Bueno el tutorial, pero hice todo tal cual y me tira error al compilar:

//// zombie_plague40.sma
// D:\Archivos de programa\Valve\cstrike\addons\amxmodx\scripti ng\zombie_plague4
0.sma(2773) : error 017: undefined symbol "COLOR_FLARE"
// D:\Archivos de programa\Valve\cstrike\addons\amxmodx\scripti ng\zombie_plague4
0.sma(2773) : warning 217: loose indentation
// D:\Archivos de programa\Valve\cstrike\addons\amxmodx\scripti ng\zombie_plague4
0.sma(2773) : error 029: invalid expression, assumed zero
// D:\Archivos de programa\Valve\cstrike\addons\amxmodx\scripti ng\zombie_plague4
0.sma(2773) : error 017: undefined symbol "i"
// D:\Archivos de programa\Valve\cstrike\addons\amxmodx\scripti ng\zombie_plague4
0.sma(2773) : fatal error 107: too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
// Could not locate output file compiled\zombie_plague40.amx (compile failed).
//
// Compilation Time: 3,28 sec
// ----------------------------------------

LINEA DE ERROR:

PHP Code:
for( new 03i++ )
                
set_pev(entityPEV_FLARE_COLORg_color[owner][COLOR_FLARE][i]) 

Last edited by Axelromero91; 09-15-2013 at 13:01.
Axelromero91 is offline
Send a message via MSN to Axelromero91
 


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 05:06.


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