PHP Code:
#define PLUGIN "xxx"
#define VERSION "xxx"
#define AUTHOR "xxx"
#define TASK_CHECK 50000
#define ID_CHECK (taskid - TASK_CHECK)
// xxx Zombie Attributes
new const zclass6_name[] = "xxx"
new const zclass6_info[] = "xxx"
new const zclass6_model[][] = { "xxx" }
new const zclass6_clawmodel[][] = { "xxx" }
const zclass6_health = xxx
const Float:zclass6_speed = xxx
const Float:zclass6_gravity = xxx
const Float:zclass6_knockback = xxx
new g_zclass_rage
public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR)
}
public plugin_precache()
{
register_cvar("zp_rage_aura_radius", "15.0")
register_cvar("zp_rage_aura_red", "0")
register_cvar("zp_rage_aura_green", "255")
register_cvar("zp_rage_aura_blue", "0")
new index
g_zclass_rage = zp_class_zombie_register(zclass6_name,zclass6_info,zclass6_health,zclass6_speed,zclass6_gravity)
zp_class_zombie_register_kb(g_zclass_rage, zclass6_knockback)
for (index = 0; index < sizeof zclass6_model; index++)
zp_class_zombie_register_model(g_zclass_rage,zclass6_model[index])
for (index = 0; index < sizeof zclass6_clawmodel; index++)
zp_class_zombie_register_claw(g_zclass_rage,zclass6_clawmodel[index])
}
public zp_user_infected_post(id, infector)
{
if (zp_class_zombie_get_current(id) == g_zclass_rage)
{
set_task(1.5, "Aura", id, _, _, "b")
}
check(id)
}
public zp_user_humanized_post(id)
{
fm_set_rendering(id, kRenderFxNone, Float:{ 0.0, 255.0, 0.0 }, kRenderNormal, 0)
}
public efectos(taskid)
if (zp_class_zombie_get_current(ID_CHECK) == g_zclass_rage && zp_core_is_zombie(ID_CHECK))
{
if(pev(ID_CHECK, pev_maxspeed) != 1.0)
fm_set_rendering(ID_CHECK, kRenderFxGlowShell, Float:{ 0.0, 255.0, 0.0 }, kRenderNormal, 0)
set_task(0.2, "efectos", ID_CHECK+TASK_CHECK)
}
public check(id)
{
if (zp_class_zombie_get_current(id) == g_zclass_rage && zp_core_is_zombie(id))
efectos(id+TASK_CHECK)
}
public client_disconnect(id)
{
remove_task(id+TASK_CHECK)
}
public Aura(id)
{
if (zp_core_is_zombie(id)) {
if (zp_class_zombie_get_current(id) == g_zclass_rage) {
if (!is_user_alive(id))
return PLUGIN_HANDLED
static Float:originF[3]
pev(id, pev_origin, originF)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_DLIGHT)
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2])
write_byte(get_cvar_num("zp_rage_aura_radius"))
write_byte(get_cvar_num("zp_rage_aura_red"))
write_byte(get_cvar_num("zp_rage_aura_green"))
write_byte(get_cvar_num("zp_rage_aura_blue"))
write_byte(2)
write_byte(0)
message_end()
} else {
remove_task(id)
}
} else {
remove_task(id)
}
return PLUGIN_CONTINUE
}
stock fm_set_rendering(entity, fx = kRenderFxNone, Float:color[3] = { 0.0, 255.0, 0.0 }, render = kRenderNormal, amount = 0)
{
set_pev(entity, pev_renderfx, fx)
set_pev(entity, pev_rendercolor, color)
set_pev(entity, pev_rendermode, render)
set_pev(entity, pev_renderamt, float(amount))
}