Healer Zombies
Author: QC LordSource: https://www.insideqc.com/qctut/qctut-46.shtml
Healing Zombies... weird heh!!! Step 1) Ok, let's get started. First we need to make it so the Zombies have a very small chance of being the Healer, so we need to open up the zombie.qc file and find the function... monster_zombie. Step 2) At the top of that file you need to add the following line. local float healchance; // The chance that the zombie will have the healing ability Step 3) Find the next part in that function. It should look like this. self.solid = SOLID_SLIDEBOX; self.movetype = MOVETYPE_STEP; setmodel (self, "progs/zombie.mdl"); Step 4) After those lines you need to add the following. healchance = random(); // Random number for the healchance if (healchance >= 0.90) // 10 percent chance of having the healing ability { self.skin = 1; // Skin number 0 is the default skin, 1 //is the healer } Step 5) Next I need you to go find the following lines. setsize (self, '-16 -16 -24', '16 16 40'); self.health = 60; Step 6) After those lines I need you to add the following. if (self.skin == 0) // if the zombie is the original then... { self.th_stand = zombie_stand1; self.th_walk = zombie_walk1; self.th_run = zombie_run1; self.th_pain = zombie_pain; self.th_die = zombie_die; self.th_missile = zombie_missile; } if (self.skin == 1) // if the zombie is a healer then... { self.th_stand = zombie_walk1; // Wonders around self.th_walk = zombie_walk1; // Walking self.th_run = zombie_run1; // Running self.th_pain = zombie_die; // If he is hit by any weapon then gib self.th_die = zombie_die; // Dieing self.th_missile = zombie_walk1; // Walking self.touch = HealPlayer; // If you touch him then he will heal u } Step 7) Now, for the last bit of coding. Above the monster_zombie function add the following function. void() HealPlayer = // Heal the player function { if (other.classname != "player") // if something other than the player touches it then do nothing { return; } if (other.classname == "player") // if the player touches it then... { if (other.health >= 100) // if player's health is greater than or equal to 100 then do nothing { return; } if (other.health <= 95) // If player's health is less than or equal to 95 then add 5 to health { other.health = other.health + 5; } } }; Step 8) Unzip this model into your project directory under /progs. Compile, and find a zombie that looks different. Walk up to them and touch them. They will make your health 100%.
Tags: tutorial, quakec, qc, insideqc, monster, ai