• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Nazi Zombies:Gold v1.8

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Nazi Zombies:Gold 1.8
kind-of like Nazi Zombies from CODWAW only....Wc3 style

Survive Endless Waves of Zombies
Zombies Get Stronger Each Wave
Boss Battles Every 10 Waves
3 Types of Zombies

Chose from 6 Different Heroes
Demo,Flame-bat,Sniper,Medic,Engineer, and Tank

Difficulty settings -Easy -Normal -Hard -XTreme -Insane
Color Changing -color (red-brown +black)
Save/Load System -Save or -Load XXXX-XXXX

Credits in-game for custom models etc
Special Thanks To ap0calypse For Showing Me How To Remove Leaks =D

Not Protected (please don't take my map and claim it as your own)

v1.8 - fixed 5 misc bugs
v1.7 - change upgrade prices,room prices, added Boss Battles,and now has 3 types of zombies
v1.6 - Added Abilities Changed Save/Load System due to Imbalances
v1.5 - Found Another Leak (*waves hand* u didn't see anything)
v1.4 - No Leaks! (i hope...)
v1.3 - Released for Public


Keywords:
Nazi, Zombies, Gold, COD
Contents

Nazi Zombies:Gold v1.8 (Map)

Reviews
12:08, 16th Jan 2010 ap0calypse: Rejected
Level 4
Joined
Jun 5, 2008
Messages
33
You have enough leaks to cause this to be Rejected.

trying 2 fix the leaks as we speak
its only 1.3 i mean come'on had 2 start somewhere lol

(reading up on how 2 remove leaks)

Edit:
tried 2 remove all leaks but when i tried 2 test the map it spit tons of errors at me... I'll try again tomorrow when I'm fully awake
PS. if u know of a really good tut on how to remove leaks PM me >_>
 
Last edited:
Level 28
Joined
Jan 26, 2007
Messages
4,789
I'll do my best to explain it, I will skip all things that aren't needed when removing them (such as "What is a leak?" and stuff).

Removing Leaks:


In this tutorial, I will use a location leak as an example!

Let's say you are creating a unit for a player and you use this trigger:

  • Melee Initialization
    • Events
      • Time - Every 5.00 seconds of game time
    • Conditions
    • Actions
      • Unit - Create 1 Footman for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
A very common trigger in most zombie-maps and all maps that use spawns.

The "(Center of (Playable map area))" creates a leak (it's a location).
The first thing you need to do is set it to a variable, I normally use the variable "loc" (with array).

Variable Info:
Type = Point
Name = "loc"
Array = True​

Okay, we have the variable, we need to set the variable to the location now.
Like this:

  • Melee Initialization
    • Events
      • Time - Every 5.00 seconds of game time
    • Conditions
    • Actions
      • Set loc[1] = (Center of (Playable map area))
      • Unit - Create 1 Footman for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
We forgot 1 thing here: though we have set the location to a variable, we didn't actually use the variable, making it completely useless (and I explicitly show this because I have seen people who remove leaks correctly, but don't use the variables which clear the leaks, so they still have leaks).


  • Melee Initialization
    • Events
      • Time - Every 5.00 seconds of game time
    • Conditions
    • Actions
      • Set loc[1] = (Center of (Playable map area))
      • Unit - Create 1 Footman for Player 1 (Red) at loc[1] facing Default building facing degrees
We have set the leak to a variable and used that variable instead of the location, great...
But we still didn't remove the leak.

We need the action "Custom script" for that (Custom script is actually a JASS-line, used in GUI-format).
This line always starts with "call" when removing leaks and is case sensitive.
"Custom script: call"
Afterwards, we need a variable-specific line...

Variable types + Remove code
Point (location): "RemoveLocation"
Unit Group (group): "DestroyGroup"
Player Group (force): "DestroyForce"​
Those are the only 3 you'll probably need.
We use a location, so it becomes:
Custom script: call RemoveLocation"​
Looking good so far, but we have to tell the code which location we need to remove.
Since we used the variable "loc", we need to remove that one.
Variables in GUI are User Defined Globals (shortened as udg), so we need to put "udg_" in front of our variable (not the actual varaible name =.=).
Also, you need to put the variable you want to remove between brackets.
It becomes:
"Custom script: call RemoveLocation(udg_loc)"​
Note: now the variable would've been cleared if we didn't use an array...
(this is the standard form for variables without array).
The array needs to be put between square brackets, we have used loc[1], so it becomes:
"Custom script: call RemoveLocation(udg_loc[1])"​
And we're done!


  • Melee Initialization
    • Events
      • Time - Every 5.00 seconds of game time
    • Conditions
    • Actions
      • Set loc[1] = (Center of (Playable map area))
      • Unit - Create 1 Footman for Player 1 (Red) at loc[1] facing Default building facing degrees
      • Custom script: call RemoveLocation(udg_loc[1])
The leak is succesfully removed and won't cause lag now.

Additional Notes:


Multiple Leaks:

When using multiple locations, you need to remove them all, point with offset is the mot common cause, here is an example:

  • Melee Initialization
    • Events
      • Time - Every 5.00 seconds of game time
    • Conditions
    • Actions
      • Set loc[1] = (Position of (Triggering unit))
      • Set loc[2] = (loc[1] offset by 200.00 towards 0.00 degrees)
      • Unit - Create 1 Footman for Player 1 (Red) at loc[2] facing Default building facing degrees
      • Custom script: call RemoveLocation(udg_loc[1])
      • Custom script: call RemoveLocation(udg_loc[2])

Easy leaks:

There are also a few easy leaks, these include Special Effect and Sound leaks.
The way to remove them is a lot easier, since there is a GUI-command for it:
  • Actions
    • Set loc[1] = (Center of (Playable map area))
    • Special Effect - Create a special effect at loc[1] using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
    • Special Effect - Destroy (Last created special effect)
    • Custom script: call RemoveLocation(udg_loc[1])
The special effect will still show it's Birth Animation (which is often the only animation you need, note that not all special effects will show though).


Important Note:

Never remove the player group "All Players", it literally removes the standard force, so it will be empty afterwards!


Loop Arrays

I don't know if it's useful, but I'll show it anyway:

  • Actions
    • For each (Integer LoopInt) from 1 to 10, do (Actions)
      • Loop - Actions
        • Set loc[LoopInt] = (Center of (Playable map area))
        • Unit - Create 1 Footman for Player 1 (Red) at loc[LoopInt] facing Default building facing degrees
        • Custom script: call RemoveLocation(udg_loc[udg_LoopInt])
You might as well have used "loc[1]" in this case, but I've got a system where I have to do it this way.
 
Level 4
Joined
Jun 5, 2008
Messages
33
thx, that's alot easier reading that the tut i had found
now mayB i can get somewhere lol
(is it better 2 use the variable "Unit" or just add it 2 a unit group then destroy the unit group?)
((is it also better 2 use above answer instead of "Sold Unit" ect?))
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
thx, that's alot easier reading that the tut i had found
now mayB i can get somewhere lol
(is it better 2 use the variable "Unit" or just add it 2 a unit group then destroy the unit group?)
((is it also better 2 use above answer instead of "Sold Unit" ect?))
Oh, no: you only need to remove unit group leaks when you actually use a unit group.
When you sell/buy a unit, you don't actually use a unit group, you're just using 1 single unit... (you can't form a group on your own, can you? O_O).

Edit: okay, here's a trigger (to give you an example):

  • Actions
    • Set Loc = (Position of (Triggering unit))
    • Set TempGroup = (Units within 300.00 of Loc matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
    • Unit Group - Pick every unit in TempGroup and do (Actions)
      • Loop - Actions
        • Unit - Cause (Triggering unit) to damage (Picked unit), dealing 500.00 damage of attack type Spells and damage type Normal
    • Custom script: call DestroyGroup(udg_TempGroup)
    • Custom script: call RemoveLocation(udg_Loc)
This could be used in an AoE ability such as war stomp: it picks all units around the caster and damages them...
That's when unit groups should be used :D
 
Level 4
Joined
Jun 5, 2008
Messages
33
Oh, no: you only need to remove unit group leaks when you actually use a unit group.
When you sell/buy a unit, you don't actually use a unit group, you're just using 1 single unit... (you can't form a group on your own, can you? O_O).

nvr know....give some noobs 2 much beer and they'll try :grin:
just thought I'd ask cuzz i saw 1 map that did it that way and all the triggers were really goofy lookin
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
nvr know....give some noobs 2 much beer and they'll try :grin:
just thought I'd ask cuzz i saw 1 map that did it that way and all the triggers were really goofy lookin
Lol xD

Well, some maps use different triggers... I don't really know what you're talking about, so I can't say whether the triggers were good or not, but I think it's best to use unit groups as in the example I've given in my previous post (which I just edited btw :X).
 
Level 4
Joined
Jun 5, 2008
Messages
33
found more Leaks >_> shh dey invis ^^ think i got them all this time tho

btw if u have any suggestions for heroes/items ect let me know...this map runs on that kinda stuff

Edit:
can rejected maps get approved if fixed or is it a perm thing? (just asking cuzz I'm trying hard)

Edit2:
Since no response was given I'll continue to update map
 
Last edited:
Top