#include <amxmisc>
#include <codmod>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#define TASK_ID 128000
#define CZAS_LADOWANIA 2
#define TASK_Regeneracja 64000
new const nazwa[] = "Orc";
new const opis[] = " regeneracja HP na no¿u Moze miec max 4000 Hp";
new const bronie = 1<<CSW_KNIFE;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new bool:ma_klase[33];
new msg_bartime;
new bool:moc_zaladowana[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_forward(FM_SetModel, "fw_SetModel");
register_event("CurWeapon","CurWeapon","be", "1=1")
RegisterHam(Ham_Spawn, "player", "Spawn", 1);
register_event("ResetHUD", "ResetHUD", "abe");
msg_bartime = get_user_msgid("BarTime");
register_forward(FM_PlayerPreThink, "client_PreThink");
register_event("Damage", "Damage", "be", "2!0", "3=0", "4!0")
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
set_task(1.0, "Regeneracja", id, _, _, "b");
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
remove_task(id);
}
public Regeneracja(id)
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE;
if(get_user_weapon(id) == CSW_KNIFE)
set_user_health(id, get_user_health(id)+100);
return PLUGIN_CONTINUE;
}
public CurWeapon(id)
{
if(ma_klase[id] && read_data(2) != CSW_KNIFE)
{
set_task(0.1 ,"ma" ,id)
}
new weapon = read_data(2);
if(ma_klase[id])
{
if(weapon == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/diablomod/nozeklas/orc/v_knife2.mdl")
set_pev(id, pev_weaponmodel2, "models/MagicWarriorsMod/p_knife2.mdl")
}
}
if(get_user_weapon(id) == CSW_KNIFE && !moc_zaladowana[id] && ma_klase[id])
{
set_task(CZAS_LADOWANIA.0, "MocZaladowana", id+TASK_ID);
set_bartime(id, CZAS_LADOWANIA);
}
else
{
remove_task(id+TASK_ID);
set_bartime(id, 0);
}
}
public ma(id)
{
strip_user_weapons(id);
give_item(id, "weapon_knife");
}
public plugin_precache()
{
precache_model("models/MagicWarriorsMod/w_knife2.mdl");
precache_model("models/MagicWarriorsMod/p_knife2.mdl");
precache_model("models/diablomod/nozeklas/orc/v_knife2.mdl");
}
public fw_SetModel(entity, model[])
{
if(!pev_valid(entity))
return FMRES_IGNORED
if(!equali(model, "models/w_knife.mdl"))
return FMRES_IGNORED;
new entityowner = pev(entity, pev_owner);
if(!ma_klase[entityowner])
return FMRES_IGNORED;
engfunc(EngFunc_SetModel, entity, "models/MagicWarriorsMod/w_knife2.mdl")
return FMRES_SUPERCEDE
}
public client_PreThink ( id )
{
if (ma_klase[id] && get_user_health(id) > 5000) set_user_health(id,5000);
if(!task_exists(id+TASK_ID))
return;
if(pev(id, pev_button) & (IN_MOVELEFT+IN_MOVERIGHT+IN_FORWARD+IN_BACK+IN_JUMP+IN_DUCK))
{
change_task(id+TASK_ID, CZAS_LADOWANIA.0);
set_bartime(id, CZAS_LADOWANIA);
}
}
stock set_bartime(id, czas)
{
message_begin((id)?MSG_ONE:MSG_ALL, msg_bartime, _, id)
write_short(czas);
message_end();
}
public MocZaladowana(id)
{
id -= TASK_ID;
if(!ma_klase[id]) return;
moc_zaladowana[id] = true;
client_print(id, print_center, "Umiejetnosc zostala aktywowana!");
CurWeapon(id);
}
public ResetHUD(id) moc_zaladowana[id] = false;
public Damage(id)
{
new attacker = get_user_attacker(id);
if(!is_user_alive(attacker))
return;
if(!moc_zaladowana[attacker])
return;
if(!task_exists(attacker+TASK_Regeneracja))
set_task(1.0, "Regeneracja",attacker+TASK_Regeneracja);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1250\\ deff0\\ deflang1045{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/