Removed Survivor thing. It looks like Survivor is a human, lol.
Quote:
Originally Posted by Hammerfallerz
Excuse me, hleV, can you make this plugin like a passive zombie skill? I mean so it will always (no need to being hit) regenerate zombie health for X hp every second with no timelimit (besides last zombie, nemesis & survivor)? And, of course, zombie's HP can't go over it classes max hp
|
Try this:
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
new g_Status, g_Time, g_Amount, g_ZombiePlague, g_Nemesis, g_FirstZombie, g_LastZombie, g_MaxPlayers;
public plugin_init()
{
register_plugin("ZP: Regeneration", "1.2 (Special)", "hleV");
g_Status = register_cvar("zp_regeneration", "1");
g_Time = register_cvar("zp_regen_time", "1");
g_Amount = register_cvar("zp_regen_amount", "10");
g_Nemesis = register_cvar("zp_regen_nemesis", "1");
g_FirstZombie = register_cvar("zp_regen_firstzombie", "1");
g_LastZombie = register_cvar("zp_regen_lastzombie", "1");
set_task(get_pcvar_float(g_Time), "Regenerate", _, _, _, "b");
g_ZombiePlague = get_cvar_pointer("zp_on");
g_MaxPlayers = get_maxplayers();
}
public Regenerate()
{
if (!get_pcvar_num(g_Status) || !g_ZombiePlague || !get_pcvar_num(g_Status))
return;
for (new Client = 1; Client <= g_MaxPlayers; Client++)
{
new Health = get_user_health(Client);
if (!is_user_connected(Client) || !is_user_alive(Client) || !zp_get_user_zombie(Client))
return;
if (!get_pcvar_num(g_Nemesis) && zp_get_user_nemesis(Client))
return;
if (!get_pcvar_num(g_FirstZombie) && zp_get_user_first_zombie(Client))
return;
if (!get_pcvar_num(g_LastZombie) && zp_get_user_last_zombie(Client))
return;
new NeededHealth = zp_get_zombie_maxhealth(Client) - Health;
if (NeededHealth <= get_pcvar_num(g_Amount))
{
set_pev(Client, pev_health, Health + float(NeededHealth));
return;
}
set_pev(Client, pev_health, Health + get_pcvar_float(g_Amount));
}
}
Also, check the new update.
__________________