Sprite Ronda Ganada CT y TT
#1
hola,lo dejo como aporte ya que lo que estaba rondando no andaba bien...
nota: al finalizar la ronda sale un sprite del equipo ganador a los jugadores vivos
requerimiento: amx 1.8.2
autor: que se lo lleve cualquiera
Código PHP:
#include <amxmodx>
#include <fakemeta_util>

new const g_ct_win[] = "sprites/ctwin_vg.spr"
new const g_t_win[] = "sprites/trwin_vg.spr"

new g_maxplayers
new g_efecto_id[33], g_efecto_bay[33]
new 
cvar_w_escalacvar_w_tiemposprcvar_w_nivelefecto 

public plugin_init()
{
    
register_plugin("Victorias""0.1""Yo como autor... aunque es un rejunte de codigos");
    
    
register_forward(FM_AddToFullPack"fw_WhatTheFuck_Post"1
    
register_logevent("Event_CTWin"6"3=CTs_Win""3=All_Hostages_Rescued")
    
register_logevent("Event_TerroristWin" 6"3=Terrorists_Win""3=Target_Bombed")
    
    
cvar_w_escala register_cvar("amx_ganador_escale""0.020"
    
cvar_w_tiempospr register_cvar("amx_ganador_tiempo""4.0")  
    
cvar_w_nivelefecto register_cvar("amx_ganador_luzlevel""100.0")  

    
g_maxplayers get_maxplayers()
}

public 
plugin_precache()
{
    
precache_model(g_t_win)
    
precache_model(g_ct_win)
}

public 
Event_CTWin(id)
{
    static 
id
    
for (id 1id <= g_maxplayersid++)
    {
        
crear_efecto(id,g_ct_win)
    }
}

public 
Event_TerroristWin(id)
{
    static 
id
    
for (id 1id <= g_maxplayersid++)
    {
        
crear_efecto(id,g_t_win)
    }
}

public 
crear_efecto(id, const efecto_spr[])
{
    
g_efecto_id[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite")) 
    
    if (!
pev_valid(g_efecto_id[id]))
        return 
    
    
g_efecto_bay[id] = 1
    
    set_pev
(g_efecto_id[id], pev_solidSOLID_NOT
    
set_pev(g_efecto_id[id], pev_movetypeMOVETYPE_NONE
    
    
engfunc(EngFunc_SetModelg_efecto_id[id], efecto_spr)
    
    
set_pev(g_efecto_id[id], pev_rendermodekRenderTransAlpha)
    
set_pev(g_efecto_id[id], pev_renderamt0.0)
    
set_pev(g_efecto_id[id], pev_ownerid)
    
set_pev(g_efecto_id[id], pev_scaleget_pcvar_float(cvar_w_escala)) 
    
set_pev(g_efecto_id[id], pev_light_levelget_pcvar_float(cvar_w_nivelefecto)) 
    
    
set_task(get_pcvar_float(cvar_w_tiempospr), "remover_efecto"g_efecto_id[id]) 


public 
remover_efecto(ent)
{
    
g_efecto_bay[pev(entpev_owner)] = 0
    
    
if(pev_valid(ent))
        
engfunc(EngFunc_RemoveEntityent


public 
fw_WhatTheFuck_Post(eseenthosthost_flagsplayerp_set)
{
    if(!(
host 33))
        return 
FMRES_IGNORED
    
    
if(ent != g_efecto_id[host] || !pev_valid(ent))
        return 
FMRES_IGNORED
    
    
if(pev(entpev_owner) != host)
        return 
FMRES_IGNORED
    
    
if(!is_user_alive(host))
        return 
FMRES_IGNORED
    
    
static Float:origin[3], Float:forvec[3], Float:voffsets[3], Float:Angles[3]
    
    
pev(hostpev_originorigin)
    
pev(hostpev_view_ofsvoffsets)
    
pev(hostpev_anglesAngles)
    
    
xs_vec_add(originvoffsetsorigin)
    
    
velocity_by_aim(host10forvec)
    
    
xs_vec_add(originforvecorigin)
    
    
engfunc(EngFunc_SetOriginentorigin)
    
set_es(esES_Originorigin)
    
set_es(esES_AnglesAngles)
    
    
set_es(esES_RenderModekRenderTransAdd)
    
set_es(esES_RenderAmt200)
    
    return 
FMRES_HANDLED


.rar   sprite.rar (Tamaño: 37.44 KB / Descargas: 30)
Responder
#2
(10/09/2022, 11:37 PM)GoldenCosta escribió: hola,lo dejo como aporte ya que lo que estaba rondando no andaba bien...
nota: al finalizar la ronda sale un sprite del equipo ganador a los jugadores vivos
requerimiento: amx 1.8.2
autor: que se lo lleve cualquiera
Código PHP:
#include <amxmodx>
#include <fakemeta_util>

new const g_ct_win[] = "sprites/ctwin_vg.spr"
new const g_t_win[] = "sprites/trwin_vg.spr"

new g_maxplayers
new g_efecto_id[33], g_efecto_bay[33]
new 
cvar_w_escalacvar_w_tiemposprcvar_w_nivelefecto 

public plugin_init()
{
    
register_plugin("Victorias""0.1""Yo como autor... aunque mas simple");
    
    
register_forward(FM_AddToFullPack"fw_WhatTheFuck_Post"1
    
register_logevent("Event_CTWin"6"3=CTs_Win""3=All_Hostages_Rescued")
    
register_logevent("Event_TerroristWin" 6"3=Terrorists_Win""3=Target_Bombed")
    
    
cvar_w_escala register_cvar("amx_ganador_escale""0.020"
    
cvar_w_tiempospr register_cvar("amx_ganador_tiempo""4.0")  
    cvar_w_nivelefecto 
register_cvar("amx_ganador_luzlevel""100.0")  

    g_maxplayers 
get_maxplayers()
}

public 
plugin_precache()
{
    
precache_model(g_t_win)
    
precache_model(g_ct_win)
}

public 
Event_CTWin(id)
{
    static 
id
    
for (id 1id <= g_maxplayersid++)
    {
        
crear_efecto(id,g_ct_win)
    }
}

public 
Event_TerroristWin(id)
{
    static 
id
    
for (id 1id <= g_maxplayersid++)
    {
        
crear_efecto(id,g_t_win)
    }
}

public 
crear_efecto(id, const efecto_spr[])
{
    
g_efecto_id[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite")) 
    
    if (!
pev_valid(g_efecto_id[id]))
        return 
    
    
g_efecto_bay[id] = 1
    
    set_pev
(g_efecto_id[id], pev_solidSOLID_NOT
    
set_pev(g_efecto_id[id], pev_movetypeMOVETYPE_NONE
    
    
engfunc(EngFunc_SetModelg_efecto_id[id], efecto_spr)
    
    
set_pev(g_efecto_id[id], pev_rendermodekRenderTransAlpha)
    
set_pev(g_efecto_id[id], pev_renderamt0.0)
    
set_pev(g_efecto_id[id], pev_ownerid)
    
set_pev(g_efecto_id[id], pev_scaleget_pcvar_float(cvar_w_escala)) 
    
set_pev(g_efecto_id[id], pev_light_levelget_pcvar_float(cvar_w_nivelefecto)) 
    
    
set_task(get_pcvar_float(cvar_w_tiempospr), "remover_efecto"g_efecto_id[id]) 


public 
remover_efecto(ent)
{
    
g_efecto_bay[pev(entpev_owner)] = 0
    
    
if(pev_valid(ent))
        
engfunc(EngFunc_RemoveEntityent


public 
fw_WhatTheFuck_Post(eseenthosthost_flagsplayerp_set)
{
    if(!(
host 33))
        return 
FMRES_IGNORED
    
    
if(ent != g_efecto_id[host] || !pev_valid(ent))
        return 
FMRES_IGNORED
    
    
if(pev(entpev_owner) != host)
        return 
FMRES_IGNORED
    
    
if(!is_user_alive(host))
        return 
FMRES_IGNORED
    
    
static Float:origin[3], Float:forvec[3], Float:voffsets[3], Float:Angles[3]
    
    
pev(hostpev_originorigin)
    
pev(hostpev_view_ofsvoffsets)
    
pev(hostpev_anglesAngles)
    
    
xs_vec_add(originvoffsetsorigin)
    
    
velocity_by_aim(host10forvec)
    
    
xs_vec_add(originforvecorigin)
    
    
engfunc(EngFunc_SetOriginentorigin)
    
set_es(esES_Originorigin)
    
set_es(esES_AnglesAngles)
    
    
set_es(esES_RenderModekRenderTransAdd)
    
set_es(esES_RenderAmt200)
    
    return 
FMRES_HANDLED


Gracias
Responder
#3
No sera tuyo pero el codigo de FM_AddToFullPack se puede mejorar Motherofgod
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)