Ето един мой плъгин. Който прави следното:
Има две опции heal всяка секунда и ако е под 27 кръв почва бърза регенерация или при убийство има зелен "glow" и "fade"
Код за потвърждение: Избери целия код
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fun>
#include <fakemeta>
#define PLUGIN "HP Regen"
#define VERSION "2.1"
#define AUTHOR "SmirnoffBG"
#define TIMER 10.0
#define ADDHP 20
new bool:Vamp[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(TIMER, "Heal", _,_,_,"b")
register_event("Health", "CheckHP", "b", "1<26")
}
public VampHeal(id)
{
if(Vamp[id])
Vamp[id] = false
else
Vamp[id] = true
client_print(id, print_chat, "[Extras] You set Heal to %s", Vamp[id]?"Vampiric(on kill)":"Heal per sec")
}
public CheckHP(id)
{
if(!task_exists(id))
{
set_green(id)
set_task(0.1, "Low_HP", id,_,_,"b")
}
}
public Heal()
{
static pl[32], num, i, id, hp, maxhp
get_players(pl, num, "a")
for(i=0; i<num; i++)
{
id = pl[i]
if(Vamp[id]) continue
hp = pev(id, pev_health)
maxhp = pev(id, pev_max_health)
if(maxhp == 0) maxhp = 100
if(hp < 26.0)
{
if(!task_exists(id)) {
set_green(id)
set_task(0.1, "Low_HP", id,_,_,"b")
}
}
else if(hp < maxhp)
{
set_pev(id, pev_health, (min(maxhp, hp+ADDHP))*1.0)
if(TIMER > 5.0)
{
set_green(id)
set_task(0.1, "Fade_Green", id,_,_,"b")
}
}
}
}
public Fade_Green(id)
{
static Float:colors[3]
pev(id, pev_rendercolor, colors)
//cl_debug("colors = %f", colors[1])
if( colors[1] > 15.0)
{
colors[1] -= 15.0
set_pev(id, pev_rendercolor, colors)
}
else
{
set_pev(id, pev_renderfx, kRenderFxNone);
remove_task(id)
}
}
public Low_HP(id)
{
static hp
if((hp=pev(id, pev_health)) > 25 || !is_user_alive(id))
{
set_pev(id, pev_renderfx, kRenderFxNone)
remove_task(id)
return
}
static Float:colors[3]
pev(id, pev_rendercolor, colors)
//cl_debug("colors = %f", colors[1])
colors[1] = 250.0 - (hp*10.0)
set_pev(id, pev_rendercolor, colors)
set_pev(id, pev_health, (hp+1)*1.0)
}
public client_death(killer,victim,wpnindex,hitplace)
{
if(!is_user_alive(killer) || !Vamp[killer]) return
static hp, user_hp
if(hitplace == HIT_HEAD)
hp = 75
else
hp = 50
user_hp = get_user_health(killer)
if(user_hp+hp > pev(killer, pev_max_health))
set_user_health(killer, pev(killer, pev_max_health))
else
set_user_health(killer, user_hp + hp)
}
set_green(id)
{
set_pev(id, pev_renderfx, kRenderFxGlowShell);
set_pev(id, pev_rendercolor, {0.0, 255.0, 0.0});
set_pev(id, pev_rendermode, kRenderNormal);
set_pev(id, pev_renderamt, 30.0);
}