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

[AYUDA] Como optimizar esto.


  
 
 
Thread Tools Display Modes
Author Message
mcxr
Member
Join Date: Oct 2012
Location: Argen - tina
Old 04-21-2013 , 22:28   [AYUDA] Como optimizar esto.
#1

Hola chicos, bueno yo quisiera optimizar esto, estoy creando un plugin usando la idea de varios otros plugins , dando mensajes según los kills realizados . 10 - 20 - 30 y 40 Frags , pero no quiero crear una public por cada mensaje, yo solo quiero que cambie la linea por su respectivo Sprite.
PHP Code:
engfunc(EngFunc_SetModelg_effect_id[id], mensaje11// SPRITE 
Si no me di a entender por favor haganmelo saber asi le explico mejor.

Aca le dejo como lo tengo si necesitan mas Codigo pidan. Desde ya Gracias

PHP Code:
new const mensaje11[] = "sprites/smg1.spr"
new const mensaje22[] = "sprites/smg2.spr"
new const mensaje33[] = "sprites/smg3.spr"
new const mensaje44[] = "sprites/smg4.spr"


new levelskill] = {10203040};

new 
msgpublic[5][] = { "mensaje1""mensaje2""mensaje3""mensaje4" }; // llamo a las public 


public mensaje1(id)
{
    
g_effect_id[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite"))
    
    if (!
pev_valid(g_effect_id[id]))
        return
    
    
g_had_effect[id] = 1
    
    set_pev
(g_effect_id[id], pev_solidSOLID_NOT)
    
set_pev(g_effect_id[id], pev_movetypeMOVETYPE_NONE)
    
    
engfunc(EngFunc_SetModelg_effect_id[id], mensaje11// SPRITE
    
    
set_pev(g_effect_id[id], pev_rendermodekRenderTransAlpha)
    
set_pev(g_effect_id[id], pev_renderamt0.0)
    
set_pev(g_effect_id[id], pev_ownerid)
    
set_pev(g_effect_id[id], pev_scaleget_pcvar_float(cvar_scale))
    
set_pev(g_effect_id[id], pev_light_levelget_pcvar_float(cvar_lightlevel))
    
    
set_task(get_pcvar_float(cvar_showtime), "remove_effect"g_effect_id[id])
}

public 
mensaje2(id)
{
    
g_effect_id[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite"))
    
    if (!
pev_valid(g_effect_id[id]))
        return
    
    
g_had_effect[id] = 1
    
    set_pev
(g_effect_id[id], pev_solidSOLID_NOT)
    
set_pev(g_effect_id[id], pev_movetypeMOVETYPE_NONE)
    
    
engfunc(EngFunc_SetModelg_effect_id[id], mensaje22// SPRITE
    
    
set_pev(g_effect_id[id], pev_rendermodekRenderTransAlpha)
    
set_pev(g_effect_id[id], pev_renderamt0.0)
    
set_pev(g_effect_id[id], pev_ownerid)
    
set_pev(g_effect_id[id], pev_scaleget_pcvar_float(cvar_scale))
    
set_pev(g_effect_id[id], pev_light_levelget_pcvar_float(cvar_lightlevel))
    
    
set_task(get_pcvar_float(cvar_showtime), "remove_effect"g_effect_id[id])
}
public 
mensaje3(id) {
    
//ETC
}
public 
mensaje4(id) {
    
//ETC

__________________
No hay que apagar la luz de otro, para lograr que brille la nuestra. Gandhi
mcxr is offline
Send a message via MSN to mcxr Send a message via Skype™ to mcxr
DJHD!
Veteran Member
Join Date: Dec 2009
Location: Santiago, Chile
Old 04-22-2013 , 00:22   Re: [AYUDA] Como optimizar esto.
#2

PHP Code:
#include <amxmodx>
#include <fakemeta>

new g_effect_id[33], g_had_effect[33]

enum _:gParams 
    
gSprite[64],
    
gMenssage[64],
    
gKills
}

new const 
gTest[][gParams] = { 
    { 
"sprites/smg1.spr""mensaje1"10 }, 
    { 
"sprites/smg2.spr""mensaje1"20 }, 
    { 
"sprites/smg3.spr""mensaje1"30 },
    { 
"sprites/smg3.spr""mensaje1"40 }
}

public 
plugin_init()
    
register_plugin("Optimizacion""1.0""DJHD!")

public 
plugin_precache()
{
    for(new 
0sizeof gTesti++)
        
precache_model(gTest[i][gSprite])
}

public 
mensaje1(id

    
g_effect_id[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite")) 
    
    if (!
pev_valid(g_effect_id[id])) 
        return 
    
    
g_had_effect[id] = 
    
    set_pev
(g_effect_id[id], pev_solidSOLID_NOT
    
set_pev(g_effect_id[id], pev_movetypeMOVETYPE_NONE
    
    for(new 
0sizeof gTesti++)
        
engfunc(EngFunc_SetModelg_effect_id[id], gTest[i][gSprite])
    
    
set_pev(g_effect_id[id], pev_rendermodekRenderTransAlpha
    
set_pev(g_effect_id[id], pev_renderamt0.0
    
set_pev(g_effect_id[id], pev_ownerid
    
set_pev(g_effect_id[id], pev_scaleget_pcvar_float(cvar_scale)) 
    
set_pev(g_effect_id[id], pev_light_levelget_pcvar_float(cvar_lightlevel)) 
    
    
set_task(get_pcvar_float(cvar_showtime), "remove_effect"g_effect_id[id]) 
    
    for(new 
0sizeof gTesti++)
        
client_print(idprint_chat"%s"gTest[i][gMenssage])

Pruebalo y lo editas a tu manera
__________________
Quote:
Originally Posted by XINLEI View Post
Porque rocccos trata de ser el metalicross que nunca va a poder ser.

Last edited by DJHD!; 04-22-2013 at 00:24.
DJHD! is offline
Send a message via MSN to DJHD!
mcxr
Member
Join Date: Oct 2012
Location: Argen - tina
Old 04-22-2013 , 04:02   Re: [AYUDA] Como optimizar esto.
#3

Muchisimas Gracias! DJHD! , Bueno Te hago una consulta es posible hacer esto , Ya que me puse ah mirar y te pregunto si se podria hacer esto.

PHP Code:

new levels] = { 1025 }
new 
gTest[2][] = {  "sprites/sprite1.spr",  "sprites/sprite2.spr" }

public 
effectfrags(id

    
g_effect_id[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite")) 
    
    if (!
pev_valid(g_effect_id[id])) 
        return 
    
    
g_had_effect[id] = 
    
    set_pev
(g_effect_id[id], pev_solidSOLID_NOT
    
set_pev(g_effect_id[id], pev_movetypeMOVETYPE_NONE
    
    for(new 
0sizeof gTesti++)
        
engfunc(EngFunc_SetModelg_effect_id[id], gTest[i][level])  // Esta Bien?
    
    
set_pev(g_effect_id[id], pev_rendermodekRenderTransAlpha
    
set_pev(g_effect_id[id], pev_renderamt0.0
    
set_pev(g_effect_id[id], pev_ownerid
    
set_pev(g_effect_id[id], pev_scaleget_pcvar_float(cvar_scale)) 
    
set_pev(g_effect_id[id], pev_light_levelget_pcvar_float(cvar_lightlevel)) 
    
    
set_task(get_pcvar_float(cvar_showtime), "remove_effect"g_effect_id[id]) 
    


Esta seria una forma Correcta? Ya que quiero usar lo mismo pero en otro plugin. Ya lo probe y no me funciono. Por eso posteo esto.

PD : Es el sistema que usa el Ultimate Sound.
__________________
No hay que apagar la luz de otro, para lograr que brille la nuestra. Gandhi
mcxr is offline
Send a message via MSN to mcxr Send a message via Skype™ to mcxr
shinoda
Spanish Moderator
Join Date: Nov 2009
Location: ag_crossfire
Old 04-22-2013 , 22:26   Re: [AYUDA] Como optimizar esto.
#4

La parte de los bucles está mal en esos códigos.

Muestra la parte donde usas levelskill y msgpublic.
__________________
Oh hell no this shit is awesome !!!
shinoda is offline
Send a message via MSN to shinoda Send a message via Skype™ to shinoda
 



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 23:26.


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