#include #include #include #include new const zclass1_name[] = { "Некромант" } new const zclass1_info[] = { "При смертельном ударе живет \y3 \wс." } new const zclass1_model[] = { "zombie_source" } new const zclass1_clawmodel[] = { "v_knife_zombie.mdl" } const zclass1_health = 1500 const zclass1_speed = 190 const Float:zclass1_gravity = 1.0 const Float:zclass1_knockback = 1.2 new g_zclass_thief, g_god[33], g_killer[33] public plugin_precache() { register_plugin("[ZP] Zombie Class: Necromant", "1.0", "BaRSiK") RegisterHam(Ham_TakeDamage, "player", "ham_takedamage") g_zclass_thief = zp_register_zombie_class(zclass1_name, zclass1_info, zclass1_model, zclass1_clawmodel, zclass1_health, zclass1_speed, zclass1_gravity, zclass1_knockback) } public client_putinserver(id) { g_god[id] = 0 g_killer[id] = 0 } public ham_takedamage(victim, inflictor, attacker, Float:damage, damage_type) { if(!is_user_connected(victim)) return HAM_IGNORED if(!zp_get_user_zombie(victim) || zp_get_user_nemesis(victim) || zp_get_user_zombie_class(victim) != g_zclass_thief) return HAM_IGNORED if(g_god[victim] == 0 && get_user_health(victim) > damage) return HAM_IGNORED if(g_god[victim] == 0) { fm_set_user_health(victim, 1) g_god[victim] = 4 g_killer[victim] = attacker invul(victim+8465) } return HAM_SUPERCEDE } public invul(id) { id -= 8465 if(!is_user_connected(id) || g_god[id] == 0) return g_god[id]-- fm_set_user_health(id, 1) if(g_god[id] > 0) client_print(id, print_center, "До смерти %d секунд", g_god[id]) else if(!is_user_connected(g_killer[id])) user_kill(id, 1) else { make_deathmsg (g_killer[id], id, 0, "Unknown") user_silentkill(id) } set_task(1.0, "invul", id+8465) }