Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
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
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 >_>
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
Not really, he asked for an explanation so I give one xD
Leaks are the most basic things a mapper should learn =.= (and I saved the "tutorial" in notepad, so I don't have to rewrite it the entire time )
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?))
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
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
just thought I'd ask cuzz i saw 1 map that did it that way and all the triggers were really goofy lookin
nvr know....give some noobs 2 much beer and they'll try
just thought I'd ask cuzz i saw 1 map that did it that way and all the triggers were really goofy lookin
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).
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.