10/09/2022, 11:37 PM
(Última modificación: 10/09/2022, 11:45 PM por GoldenCosta. Edited 3 times in total.)
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
sprite.rar (Tamaño: 37.44 KB / Descargas: 30)
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_escala, cvar_w_tiempospr, cvar_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 = 1; id <= g_maxplayers; id++)
{
crear_efecto(id,g_ct_win)
}
}
public Event_TerroristWin(id)
{
static id
for (id = 1; id <= g_maxplayers; id++)
{
crear_efecto(id,g_t_win)
}
}
public crear_efecto(id, const efecto_spr[])
{
g_efecto_id[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_sprite"))
if (!pev_valid(g_efecto_id[id]))
return
g_efecto_bay[id] = 1
set_pev(g_efecto_id[id], pev_solid, SOLID_NOT)
set_pev(g_efecto_id[id], pev_movetype, MOVETYPE_NONE)
engfunc(EngFunc_SetModel, g_efecto_id[id], efecto_spr)
set_pev(g_efecto_id[id], pev_rendermode, kRenderTransAlpha)
set_pev(g_efecto_id[id], pev_renderamt, 0.0)
set_pev(g_efecto_id[id], pev_owner, id)
set_pev(g_efecto_id[id], pev_scale, get_pcvar_float(cvar_w_escala))
set_pev(g_efecto_id[id], pev_light_level, get_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(ent, pev_owner)] = 0
if(pev_valid(ent))
engfunc(EngFunc_RemoveEntity, ent)
}
public fw_WhatTheFuck_Post(es, e, ent, host, host_flags, player, p_set)
{
if(!(0 < host < 33))
return FMRES_IGNORED
if(ent != g_efecto_id[host] || !pev_valid(ent))
return FMRES_IGNORED
if(pev(ent, pev_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(host, pev_origin, origin)
pev(host, pev_view_ofs, voffsets)
pev(host, pev_angles, Angles)
xs_vec_add(origin, voffsets, origin)
velocity_by_aim(host, 10, forvec)
xs_vec_add(origin, forvec, origin)
engfunc(EngFunc_SetOrigin, ent, origin)
set_es(es, ES_Origin, origin)
set_es(es, ES_Angles, Angles)
set_es(es, ES_RenderMode, kRenderTransAdd)
set_es(es, ES_RenderAmt, 200)
return FMRES_HANDLED
}
sprite.rar (Tamaño: 37.44 KB / Descargas: 30)