Just rip it from AIZombies XD, Let me rip it. Minute please.
Note; This is 100% ripped and untested; If it is incorrect, I am sorry.
one code related to it I believe.
[php]healthRegenerated()
{
if ( !isalive( self ) )
return;
if ( !mayProcessChallenges() )
return;
if ( !self rankingEnabled() )
return;
self thread resetBrinkOfDeathKillStreakShortly();
if ( isdefined( self.lastDamageWasFromEnemy ) && self.lastDamageWasFromEnemy )
self.healthRegenerationStreak++;
}[/php]
[php]hud_health()
{
self notify("stop_healthbar_thread");
self endon("disconnect");
self endon("stop_healthbar_thread");
widthofbar = 128;
x = 10;
y = 412;
if(isDefined(self.healthword))
self.healthword destroy();
if(isDefined(self.healthnum))
self.healthnum destroy();
if(isDefined(self.healthbar))
self.healthbar destroy();
if(isDefined(self.healthbarback))
self.healthbarback destroy();
if(isDefined(self.healthwarning))
self.healthwarning destroy();
if(isDefined(self.intermissionTimer))
self.intermissionTimer destroy();
if(isDefined(self.intermissionTimer2))
self.intermissionTimer2 destroy();
if(isDefined(self.nvText))
self.nvText destroy();
if(isDefined(self.nvText2))
self.nvText2 destroy();
self.intermissionTimer = self createFontString( "objective", 1.3 );
self.intermissionTimer setPoint( "TOP", "TOP", 0, 150 );
self.intermissionTimer.color = (1, 0, 0);
self.intermissionTimer2 = self createFontString( "hudbig", 0.9 );
self.intermissionTimer2 setPoint( "TOP", "TOP", 0, 165 );
self.intermissionTimer2.color = (1, 1, 0);
self.nvText = self createFontString( "objective", 0.7 );
self.nvText setPoint( "TOP", "TOP", -10, 450 );
self.nvText setText(game["strings"]["MP_NV"]["1"]);
self.nvText2 = self createFontString( "objective", 0.7 );
self.nvText2 setPoint( "TOP", "TOP", -10, 460 );
self.nvText2 setText(game["strings"]["MP_NV"]["2"]);
self.healthword = newclienthudelem(self);
self.healthword.alignX = "left";
self.healthword.alignY = "middle";
self.healthword.horzAlign = "fullscreen";
self.healthword.vertAlign = "fullscreen";
self.healthword.x = x;
self.healthword.y = y - 12;
self.healthword.alpha = 1;
self.healthword.sort = 2;
self.healthword.fontscale = 1.4;
self.healthword.color = (0,1,0);
self.healthword setText(game["strings"]["MP_HEALTH"]);
self.healthnum = newclienthudelem(self);
self.healthnum.alignX = "left";
self.healthnum.alignY = "middle";
self.healthnum.horzAlign = "fullscreen";
self.healthnum.vertAlign = "fullscreen";
self.healthnum.x = x + 40;
self.healthnum.y = y - 12;
self.healthnum.alpha = 1;
self.healthnum.sort = 2;
self.healthnum.fontscale = 1.4;
self.healthnum.color = (0,1,0);
self.healthbar = newclienthudelem(self);
self.healthbar.alignX = "left";
self.healthbar.alignY = "middle";
self.healthbar.horzAlign = "fullscreen";
self.healthbar.vertAlign = "fullscreen";
self.healthbar.x = x;
self.healthbar.y = y;
self.healthbar.alpha = 1;
self.healthbar.sort = 2;
self.healthbar.color = (0,1,0);
self.healthbar setShader("white",128,6);
self.healthbarback = newclienthudelem(self);
self.healthbarback.alignX = "left";
self.healthbarback.alignY = "middle";
self.healthbarback.horzAlign = "fullscreen";
self.healthbarback.vertAlign = "fullscreen";
self.healthbarback.x = x;
self.healthbarback.y = y;
self.healthbarback.alpha = 0.5;
self.healthbarback.sort = 1;
self.healthbarback.color = (0,0,0);
self.healthbarback setShader("white",128,10);
while(1)
{
if((isDefined(level.IntermissionTime)) && (level.IntermissionTime > 0))
{
self.intermissionTimer setText(game["strings"]["MP_HORDE_BEGINS_IN"]);
self.intermissionTimer2 setValue(level.IntermissionTime);
}
else
{
self.intermissionTimer setText("");
self.intermissionTimer2 setText("");
}
if(self.sessionstate != "playing" || !isDefined(self.health) || !isDefined(self.maxhealth))
{
self.healthword.alpha = 0;
self.healthnum.alpha = 0;
self.healthbar.alpha = 0;
self.healthbarback.alpha = 0;
self.healthwarning.alpha = 0;
wait 0.05;
continue;
}
self.healthword.alpha = 1;
self.healthnum.alpha = 1;
self.healthbar.alpha = 1;
self.healthbarback.alpha = 0.5;
warninghealth = int(self.maxhealth / 3);
if(self.health <= warninghealth)
self.healthwarning.alpha = 1;
else
self.healthwarning.alpha = 0;
width = int(self.health/self.maxhealth*128);
if(width <= 0)
width = 1;
green = (self.health/self.maxhealth);
red = (1 - green);
self.healthbar setShader("white", width, 6);
self.healthbar.color = (red,green,0);
self.healthnum.color = (red,green,0);
self.healthnum setValue(self.health);
wait 0.05;
}
}[/php]
I DON'T KNOW IF THIS IS PART OF IT I BELIEVE IT IS FOR THE BOTS
[php]for(;
{
level.numzombies setValue(AImod\_botUtil::ZombieCount());
level.zombiesleft setValue(level.BotsForWave - level.RealSpawnedBots);
level.currentwavenum setValue(level.Wave);
******ealth = 0;
maxhealth = level.BotsForWave * level.ZombieHealth;
for(i=0; i < level.BotsForWave; i++)
{
if(isDefined(level.bots[i]))
******ealth += level.bots[i].crate1.health;
}
width = int(******ealth/maxhealth * (level.wave_barsize + 4));
if(width <= 0)
width = 1;
if(width != oldwidth)
level.zombiewavelife scaleOverTime(scaletime,width,8);
oldwidth = width;
wait 0.05;
}
}[/php]
[php]ModLoad()
{
/* Global Vars */
//Bots --------------------
level.MaxWaves = 10;//can change
level.BotsForIcons = 8;//can change
level.SpawnedBots = 0;
level.RealSpawnedBots = 0;
level.BotsForWave = 0;
//Waves -------------------
level.Wave = 0;
//Game State --------------
level.zState = "intermission";
//Ammo Drop ---------------
level.AmmoDrop = undefined;
//Intermission Timer ------
level.IntermissionTimeStart = 15;//can change
level.IntermissionTime = 0;
//Brightness --------------
level.brightness = -0.4;
/* Init */
level FuncsMain();
level precacheItems();
level thread AImod\_hud::IntermissionCountdown();
/* Tweakable */
level.ZombieHealth = 300;//can change
level.destructibleSpawnedEntsLimit += 300;
/* Spawn Anti-Glitch spots */
[[level.SpawnTrigger]] ((1284, 2600, 167), (942, 2604, 51), 50, 100, "mp_terminal");
[[level.SpawnTrigger]] ((1803, 2502, 140), (1790, 2643, 51), 50, 100, "mp_terminal");
level thread onPlayerConnect();
level thread AImod\_hud::HudMain();
}[/php]
[php]onPlayerSpawned()
{
self endon( "disconnect" );
self thread AImod\_hud::hud_health();[/php]
This is what it says on-screen I believe, I never played it.
[php]precacheItems()
{
game["strings"]["MP_HORDE_BEGINS_IN"] = "Zombie Infestation Starts In";
game["strings"]["MP_CUR_WAVE"] = "Current Wave:";
game["strings"]["MP_LEFT_TO_SPAWN"] = "Left To Spawn:";
game["strings"]["MP_ZOMBIES"] = "Zombies:";
game["strings"]["MP_HEALTH"] = "Health:";
game["strings"]["MP_NV"]["1"] = "[ ^3[{+actionslot 1}]^7 ]";
game["strings"]["MP_NV"]["2"] = "[ ^3Nightvision^7 ]";
precacheString(game["strings"]["MP_HORDE_BEGINS_IN"]);
precacheString(game["strings"]["MP_CUR_WAVE"]);
precacheString(game["strings"]["MP_LEFT_TO_SPAWN"]);
precacheString(game["strings"]["MP_ZOMBIES"]);
precacheString(game["strings"]["MP_HEALTH"]);
precacheString(game["strings"]["MP_NV"]["1"]);
precacheString(game["strings"]["MP_NV"]["2"]);
}[/php]