Zombie Counter With Menu
This tut helps you create a zombie counter via menu file, so it doesn't use any hud elements. It uses your hud.menu file to make the zombie counter, three added lines to your _zombiemode_spawner.gsc, and add one line to your mod.csv (if needed). If you are using dogs, instructions are at the bottom for that.
Instructions for the simple version:
1. In hud.menu, in root/raw/ui, find "competitivemodescores", and add this to that menuDef
itemDef { name "zombiecounter" rect 100 70 0 0 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_BOTTOM textscale .5 textstyle ITEM_TEXTSTYLE_SHADOWED textfont UI_FONT_OBJECTIVE textalign ITEM_ALIGN_CENTER forecolor 1 0 0 1 exp text ("Zombies Left: " + dvarInt("zombie_counter")) visible when (dvarInt("zombie_counter") > 0); decoration }
Help if needed:
See attached competitivemodescores file at bottom of page
(If you like, you can change visible when (dvarInt("zombie_counter") > 0); to visible 1 to always see the counter)
2. In root/raw/_zombiemode_spawner.gsc, or in your root/mods/mapname/maps/_zombiemode_spawner.gsc, find:
init() {
3. Change it to this:
init() { SetDvar("zombie_counter", level.zombie_total + get_enemy_count());
4. then find this:
zombie_death_event( zombie ) { zombie waittill( "death" );
5. and change it to this:
zombie_death_event( zombie ) { if(GetDvarInt("zombie_counter") <= 0) SetDvar("zombie_counter", (level.zombie_total + get_enemy_count())-1); zombie waittill( "death" ); SetDvar("zombie_counter", level.zombie_total + get_enemy_count());
6. Add this to your mod.csv, if you don't have it already here or in another csv:
menufile,ui/hud.menu
7. Build mod.
Count Dogs
If you want to count dogs too:
1. Open _zombiemode_dogs.gsc, in root/raw/maps, or in root/mods/mapname/ and find:
dog_death() { self waittill( "death" );
2. change it to this:
dog_death() { if(GetDvarInt("zombie_counter") <= 0) SetDvar("zombie_counter", (level.zombie_total + get_enemy_count())-1); self waittill( "death" ); SetDvar("zombie_counter", level.zombie_total + get_enemy_count());