[Log in / Register]
| News | Chat | Pastebin | Donations | Tutorials | Rules | Forums |
| Maps | Skins | Icons | Models | Spells | Tools | Jass | Packs | Hosted Projects | Starcraft II Modding | Starcraft II Resources | Galaxy Wiki |
(Keeps Hive Alive)
Go Back   The Hive Workshop > Warcraft III Modding > WarCraft III Tutorials > Trigger (GUI) Editor Tutorials


Trigger (GUI) Editor Tutorials Contains tutorials concerning the usage of GUI features.
Read the Rules before posting.

Closed Thread
 
Thread Tools
Old 04-12-2007, 02:05 PM   #1 (permalink)
Registered User DoOs_101
Original and Proud
 
DoOs_101's Avatar
 
Join Date: Aug 2004
Posts: 837
DoOs_101 has little to show at this moment (30)DoOs_101 has little to show at this moment (30)DoOs_101 has little to show at this moment (30)DoOs_101 has little to show at this moment (30)
Multiple Creep Spawn System

Foreword:

In this tutorial you will learn how to make a system based on GUI for multiple creep spawning. Creep spawning is commonly used in map types such as Tower Defense, Castle Defense, Survival, and Hero Defense.

The system you are about to learn is user friendly, easy to understand once you know the functions. It is also feasible and is easy to be adjusted to any frequency of difficulty and style you want.

Why use this method? It is efficient and it only requires three simple trigger packages. This system method will have an initVar, which sets the unitType and amount for each lvlNum, it will also have the callOperate, which creates the creeps and orders it to move to a specific location, and it will also have a roundTimer, which is a countdown timer for every round.

The Code:

Firstly create these variables in your map

Array unit_type = variable unit type
Array unit_type_var_two = variable unit type
Array unit_type_var_three = variable unit type
int lvlNum = variable integer value
Array unit_amount = variable integer value
Array unit_amount_var_two = variable integer value
Array unit_amount_var_three = variable integer value
roundwindow = countdown timer


The variable unit_type and unit_amount depends on how many unit types you want in each level. For this code example, there will be three unit types so I'd create three unit_type variables and three unit_amount variable.

To start with I'm going to create a countdown timer first that will end in 60 seconds but is repeating.

Actions
Game - Display to (All players) the text: Countdown started...
Countdown Timer - Start RoundWindow as a Repeating timer that will expire in 60.00 seconds
Set RoundWindow = (Last started timer)
Countdown Timer - Create a timer window for (Last started timer) with title Enemy Wave in...

Right now you have completed the simplest package which is the countDown. This will be used to call the callOperate method. You can add event - conditions for this package such as periodic event - game time elapsed. The countdown RoundWindow will not stop unless you call a method to stop the RoundWindow. This package can be twisted to any style you like such as if you don't want this countdown timer to automatically repeat, you can add a new event timer expires, timer = roundWindow and have:

Event
timer expires
Actions
bj_wantDestroyGroup = true
Wait until ((All units of (Units owned by Player 12 (Brown)) are dead)Equal to True), checking every 1.00 seconds
Game - Display to (All players) the text: Countdown started...
Countdown Timer - Start RoundWindow as a Repeating timer that will expire in 60.00 seconds
Set RoundWindow = (Last started timer)
Countdown Timer - Create a timer window for (Last started timer) with title Enemy Wave in...

Now lets start making the second package which is initVar. This package is the constructor of the whole system class. It will initialize variables unit_type and unit_amount for each lvlNum (lvlNum can be considered the index number of the creep level).

Event
Game Initialization
Actions
Set Lvl_num = 0
-------- Level 1 --------
Set unit_type[1] = Ghoul
Set unit_type_var_two[1] = Troll
Set unit_type_var_three[1] = Zombies
Set unit_amount[1] = 3
Set unit_amount_var_two[1] = 1
Set unit_amount_var_three[1] = 1
-------- Level 2 --------
Set unit_type[2] = Troll
Set unit_type_var_two[2] = Ghoul
Set unit_type_var_three[2] = Zombies
Set unit_amount[2] = 2
Set unit_amount_var_two[2] = 2
Set unit_amount_var_three[2] = 1
-------- Level 3 --------
Set unit_type[3] = Zombies
Set unit_type_var_two[3] = Troll
Set unit_type_var_three[3] = Light Trolls
Set unit_amount[3] = 2
Set unit_amount_var_two[3] = 2
Set unit_amount_var_three[3] = 1
...



You can go on forever to any maximum level you want. For this code example, lets stick to 3 levels only.

Right now you have completed the second package which is initVar. All it does is initializing the variables of unit_type and unit_amount. The unit_type is to declare a unit type that will be created during each level. The unit_amount is to declare how many units of a unit type will be created during each level. The number you put in the array index; set unit_type[1] = Ghoul, is the number of the lvlNum or the index number of the level.

In this package you can create as many level as you want, many unit types for each level, and different amounts. It is easily adjusted for you to change the frequency of the difficulty and style in the map.

Now lets start making the final package which is the callOperate. This method will run a loop that will create the initialized creep units. Note that in this tutorial example, the loop will create the initialized creep at 8 locations in the corners of the map. It will then issue an order for the created creep unit to move to the center of the map. In your own version you can set different creep spawn locations if you want, you can have 6 locations instead but before modifying the method you must understand the concept first.

Before moving on please create this variables in your map,

Array loc = variable location (a variable for the eight spawning locations)
int incrementx = variable integer (a variable used for the loop)
int incrementy = variable integer (a variable used for the loop)

Events
Map Initialization
Actions
Set loc[1] = (Center of Corner BR <gen>)
Set loc[2] = (Center of Corner BL <gen>)
Set loc[3] = (Center of Corner BL2 <gen>)
Set loc[4] = (Center of Corner TL2 <gen>)
Set loc[5] = (Center of Corner TL <gen>)
Set loc[6] = (Center of Corner TR <gen>)
Set loc[7] = (Center of Corner TR2 <gen>)
Set loc[8] = (Center of Corner BR2 <gen>)

Spawn
Events
Time - RoundWindow expires
Conditions
Actions
Set Lvl_num = (Lvl_num + 1)
For each (Integer A) from 1 to unit_amount[Lvl_num], do (Actions)
Loop - Actions
Set incrementx = 1
Set incrementy = 1
For each (Integer B) from 1 to 4, do (Actions)
Loop - Actions
Unit - Create 1 unit_type[Lvl_num] for Player 12 (Brown) at loc[incrementy] facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To center of map
Unit - Create 1 unit_type[Lvl_num] for Player 12 (Brown) at loc[(incrementy + 1)] facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To center of map Set incrementx = (incrementx + 1)
Set incrementy = (incrementy + 2)
Wait 0.75 seconds
For each (Integer A) from 1 to unit_amount_var_three[Lvl_num], do (Actions)
Loop - Actions
Set incrementx = 1
Set incrementy = 1
For each (Integer B) from 1 to 4, do (Actions)
Loop - Actions
Unit - Create 1 unit_type_var_three[Lvl_num] for Player 12 (Brown) at loc[incrementy] facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To center of map
Unit - Create 1 unit_type_var_three[Lvl_num] for Player 12 (Brown) at loc[(incrementy + 1)] facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To center of map
Set incrementx = (incrementx + 1)
Set incrementy = (incrementy + 2)
Wait 0.75 seconds
For each (Integer A) from 1 to unit_amount_var_two[Lvl_num], do (Actions)
Loop - Actions
Set incrementx = 1
Set incrementy = 1
For each (Integer B) from 1 to 4, do (Actions)
Loop - Actions
Unit - Create 1 unit_type_var_two[Lvl_num] for Player 12 (Brown) at loc[incrementy] facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To center of map
Unit - Create 1 unit_type_var_two[Lvl_num] for Player 12 (Brown) at loc[(incrementy + 1)] facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To center of map
Set incrementx = (incrementx + 1)
Set incrementy = (incrementy + 2)
Wait 0.75 seconds

This method is not very complicated once you understand it. All it does is it initializes the variable loc for the 8 spawning locations. It then calls the first loop which will create 1 unit for every unit_type in each spawning locations for every loop increment. Then it calls for the next loop which will do the same thing except it will create 1 unit for every unit_type_var_two. Then it calls for the third loop which will do the same thing except it will create 1 unit for every unit_type_var_three. Note that if you have 5 multiple creeps for your game, you need 5 loops. The code will then remove the 8 spawning locations from the memory in order to remove leakage in the game.

You have completed the Multiple Creep Spawn system. Test it now and see if it works. If you found bugs and errors please contact me at DoOs_101@hotmail.com or else submit your report at this thread.

Things to note if you want to modify the code:

• If you want to change the number of multiple units for every level in your map, the corresponding variables are: unit_type and unit_amount, don't forget the loop.

• If you want to change the time the countdown timer will last, modify the countDown code.

• If you want to make it so that the countdown timer does not repeat itself and waits for condition that the enemy attackers have zero attacking units, read the countDown package section.

• This system can be done more efficiently in Jass. Next tutorial will be about implementing a Smart Pathing system and AI for spawned creeps with Jass.



Thank you and have fun coding
Attached Files
File Type: w3x MultipleCreepSpawn.w3x (27.5 KB, 1725 views)

Last edited by Dr Super Good; 11-26-2007 at 01:32 PM. Reason: Trying to fix trigger tags, sorry if this messes up.
DoOs_101 is offline  
Old 05-10-2007, 06:58 PM   #2 (permalink)
Registered User Jedi §layer
Templar Knight
 
Jedi §layer's Avatar
 
Join Date: May 2007
Posts: 30
Jedi §layer has little to show at this moment (1)
:confused:

I have read trough your tutorial and all i can say is WTF? This is so complicated that I faint only by looking at it! You have to find a simpler way to wxplain it. You can start by explaining where to do everything, I knew it was in the trigger editor but I fell of pretty fast. For someone who has English as their mother-tongue and not Norwegian may find this hlpful, but for me many things are pretty confusing. I don't expect you to make one in Norwegian or something but you will have to know when something is to advanced for others!

Expect from those points you tutorial is amazing DoOs_101, keep on writing more tutorials, I'll bet that almost everyone understands what you mean ( expect from me on some points).
Jedi §layer is offline  
Old 05-25-2007, 04:46 AM   #3 (permalink)
Registered User Sworddragon
TheOverWhelming
 
Sworddragon's Avatar
 
Join Date: Jul 2005
Posts: 129
Sworddragon has little to show at this moment (13)Sworddragon has little to show at this moment (13)
I understood it quite well. Though, I didn't read ANY of it. The pictures are very nice, helpful too.
Sworddragon is offline  
Old 05-25-2007, 10:38 AM   #4 (permalink)
Registered User GST_Nemisis
More Than Just A User
 
GST_Nemisis's Avatar
 
Join Date: Jan 2005
Posts: 3,596
GST_Nemisis is just really nice (277)GST_Nemisis is just really nice (277)GST_Nemisis is just really nice (277)GST_Nemisis is just really nice (277)GST_Nemisis is just really nice (277)
Former Staff Member: This user used to be on the Hive Workshop staff. User of the Year: 2004 
yeh its just a basic run down of spawn creeps using variables. there are of course other ways of doing it but this does expain it ok. the thing to remember about this is that you can use the variables how ever you want, this is just a nice example.
__________________
GST_Nemisis is offline  
Old 05-28-2007, 09:41 PM   #5 (permalink)
Registered User beast_boy_bets
The First Rebel
 
beast_boy_bets's Avatar
 
Join Date: May 2007
Posts: 92
beast_boy_bets can only hope to improve (-11)beast_boy_bets can only hope to improve (-11)
an easier way to get it to your map is to download the map then copy and paste the folder for the triggers (to your map).. Worked for me
beast_boy_bets is offline  
Old 05-29-2007, 03:07 AM   #6 (permalink)
Registered User DoOs_101
Original and Proud
 
DoOs_101's Avatar
 
Join Date: Aug 2004
Posts: 837
DoOs_101 has little to show at this moment (30)DoOs_101 has little to show at this moment (30)DoOs_101 has little to show at this moment (30)DoOs_101 has little to show at this moment (30)
I hope you guys like the demo where one guy gets rumbled by 100 creep :D. Yeah its easier that way but better if you can understand the concept.
__________________

My Website:

DoOs_101 is offline  
Old 06-23-2007, 01:56 PM   #7 (permalink)
Registered User Shadow_01
User
 
Shadow_01's Avatar
 
Join Date: Jan 2007
Posts: 17
Shadow_01 is an unknown quantity at this point (0)
Pretty easy to create... I suggest to not copy paste - because when you make your own trigger you learn something from it... :)
Conclusion - Copy/Paste: Easy but you dont learn a thing from it
Own Making:You learn something and maybee make the trigger better :)
Shadow_01 is offline  
Old 07-02-2007, 08:43 AM   #8 (permalink)
Registered User Sojobo
User
 
Sojobo's Avatar
 
Join Date: Jun 2007
Posts: 19
Sojobo is an unknown quantity at this point (0)
Basically, it is quite easy except for the last part which a bit of time to digest.
Sojobo is offline  
Old 08-16-2007, 05:27 PM   #9 (permalink)
Registered User Raaka Arska
User
 
Raaka Arska's Avatar
 
Join Date: Mar 2007
Posts: 8
Raaka Arska is an unknown quantity at this point (0)
i used these multiple creep spawnings in my map R_A Hero Siege too. it wasnt hard to make those at begin,but later i found few bugs in spawning (got those fixed long time ago) like one bug was that only red got multiple creeps,others got first waves only! but no need to worry in my map these is hardly no bugs found recently,if you play it and find a bug,then pls tell me! (i didnt use this your way i used integers) good work anyway!
Raaka Arska is offline  
Old 08-22-2007, 09:37 PM   #10 (permalink)
Registered User Clone Commander
Take Out That Turret
 
Clone Commander's Avatar
 
Join Date: Aug 2007
Posts: 18
Clone Commander has little to show at this moment (1)
a good tut but unless your bill gates...this is jiberish
__________________




Clone Commander is offline  
Old 11-21-2007, 07:30 PM   #11 (permalink)
Registered User masteromag70
The Harvester of Souls
 
masteromag70's Avatar
 
Join Date: Jun 2007
Posts: 60
masteromag70 has little to show at this moment (13)masteromag70 has little to show at this moment (13)
I, personally, didn't get it. Seeing as to how this is a tutorial I would think that this would be simpler to understand. I really don't get variables to begin with though, so that might've helped. But even so a tutorial should be in a format that anyone who knows the basics should be able to understand. And yes I understand the basics.
Note: That's just my opinion.
__________________
"Life is like a roll of dice, it's unpredictable and can lead to good things and bad things, but no matter what happens you have to keep going until it's game over..."-Segador D Almas (Masteromag70)

Think about that and then tell me how hard life is... and ya know what, it's not. Life is simple, eat, drink, sleep go to the bathroom, talk, and all in all just enjoy yourself.
masteromag70 is offline  
Old 11-25-2007, 07:54 AM   #12 (permalink)
Registered User Xexorian
User
 
Join Date: Nov 2007
Posts: 2
Xexorian has little to show at this moment (1)
Information Mcss



Here's a revised version of your work.

First:

Create a Unit-Type array - but before you do, you need to keep in mind you need multiple arrays for multiple types of monsters per wave.

So, say you want 3 monster types per wave (or more).

Unit_Type_Var_1
Unit_Type_Var_2
Unit_Type_Var_3

Check ''Array'' box and each one won't have an initial value when you make them.

Make sure the variable is set to 'Unit-Type'

Second:

Create an Integer Array variable. Simply put, this is a Integer variable with the ''Array'' checked.

Keep in mind, you need 1 Integer array for each type of monster.

Unit_Integer_Var_1
Unit_Integer_Var_2
Unit_Integer_Var_3

Third:

You need to create a ''point'' array variable from the down down list.

Make sure it's checked as an ''Array''.

Location_Var

Fourth:

You need to create a ''Increment'' integer and a ''Level'' integer to determine which level you're on. (these are NOT an array).

Increment_Var
Level_Var

You also need to create a ''Timer'' Variable to Countdown which level you're on. (this one is NOT an array).

RoundWindow_Var

Lets start off by setting Unit-Type variables and Unit-Amount variables for each wave, and set starting variables for any easy-to-do TD map.
Events
Map Initialization
Conditions
Actions
----- (first enable visibility for all picked players) -----
Player Group - Pick every player in (All players) and do (Visibility - Create an initially Enabled visibility modifier for (Picked player) emitting Visibility across (Playable map area))
----- (then you might want to add some gold to build towers) -----
Player Group - Pick every player in (All players) and do (Player - Add 350 to (Picked player) Current gold)
----- (as well as turn on bounty rewards for the enemy) -----
Player - Turn Gives bounty On for Player 12 (Brown)
----- (You want to make sure you start on level 1 =).)
Set Level_Var = 1
----- LEVEL 1 -----
----- Unit-Types -----
Set Unit_Type_Var_1[1] = Zombie
Set Unit_Type_Var_2[1] = Skeleton Warrior
Set Unit_Type_Var_3[1] = Ghoul
----- Unit-Amounts -----
Set Unit_Integer_Var_1[1] = 3
Set Unit_Integer_Var_2[1] = 2
Set Unit_Integer_Var_3[1] = 1
----- LEVEL 2 -----
----- Unit-Types -----
Set Unit_Type_Var_1[2] = Ghoul
Set Unit_Type_Var_2[2] = Skeletal Archer
Set Unit_Type_Var_3[2] = Skeleton Warrior
----- Unit-Amounts -----
Set Unit_Integer_Var_1[2] = 3
Set Unit_Integer_Var_2[2] = 1
Set Unit_Integer_Var_3[2] = 2
etc..

Okay, let me explain this trigger. Basically, we just set it up so that the unit types for level 1 are a Zombie, Skeleton Warrior, and Ghoul, on the second level the unit-types change (because it's harder).

Since we're going to setup the level's to use multiple units of each type, you can increase difficulty without changing the base unit by simply adding MORE units per wave.

Also keep in mind everytime you set the next level up, you need to change the [#] inside the [#] box next to each array, this relates to the level integer variable we're about to setup for you.

In the example above I put in 1, or 2, or 3 amounts for the corresponding amount of units spawn for each type. So, each Unit-type, matches it's Unit-amount integer.

Next.. Setup the Time elapsed trigger, and then the Countdown timer window trigger.

Events
Time - Elapsed game time is 25.00 seconds
Conditions
Actions
Game - Display to (All players) the text: Countdown started...
Countdown Timer - Start roundwindow as a One-shot timer that will expire in 30.00 seconds
Set RoundWindow_Var = (Last started timer)
Countdown Timer - Create a timer window for (Last started timer) with title (Enemy Wave + ((String(lvlNum)) + in...))
----- (Then we pick all players and show the window to them) -----
Player Group - Pick every player in (All players) and do (Countdown Timer - Show (Last created timer window) for (Picked player))

This trigger uses multiple concatenate strings and uses the String - Integer conversion to put in the Wave number you're on.

Events
Time - roundwindow expires
Conditions
Actions
----- (First we hide the last created timer for all players) -----
Player Group - Pick every player in (All players) and do (Countdown Timer - Hide (Last created timer window) for (Picked player))
----- (Then we destroy it..) -----
Countdown Timer - Destroy (Last created timer window)
Wait until ((All units of (Units owned by Player 12 (Brown)) are dead) Equal to True), checking every 1.00 seconds
----- (we wait till player 12's units are dead, then start the next timer) -----
Game - Display to (All players) the text: Countdown started...
Countdown Timer - Start roundwindow as a One-shot timer that will expire in 30.00 seconds
----- (set it to the last started timer again) -----
Set RoundWindow_Var = (Last started timer)
----- (then use the concatenate strings from the previous one) -----
Countdown Timer - Create a timer window for (Last started timer) with title (Enemy Wave + ((String(lvlNum)) + in...))
----- (..as well as the show timer for all picked players action) -----
Player Group - Pick every player in (All players) and do (Countdown Timer - Show (Last created timer window) for (Picked player))

This sets it up so when it expires it hides the window till all of player 12's units are dead, once they're dead it starts the timer back up for the next wave to be created. This is similar to how we also spawn units in the aspect that it revolves around an expiring one-shot timer (further down).

Next... We'll deal with setting Regions = to the ''point'' (aka location) variable integer.

NOTE: Make sure you set the array values = to the amount of types, for unit-types, to the amount of levels for unit-amounts, and to the amount of regions you wish to spawn from, for your Location_Var.

Events
Map Initialization
Conditions
Actions
Set Location_Var[1] = Region 0001 <gen>
Set Location_Var[2] = Region 0002 <gen>
Set Location_Var[3] = Region 0003 <gen>
Set Location_Var[4] = Region 0004 <gen>

In the example above I set the Location's Variable = to 1 through 4 for regions 1-4.

Okay this next trigger is where it gets complicated.

Events
Timer Expires
Conditions
Actions
Set Increment_Var = 1
For each (Integer A) from 1 to 4, do (Actions)
Loop - Actions
----- We do this for each of the unit types (for example 3 times.) -----
Unit - Create Unit_Integer_Var_1[Level_Var] Unit_Type_Var_1[Level_Var] for Player 12 (Brown) at Location_Var[Increment_Var] facing Default building facing degrees
Unit - Create Unit_Integer_Var_2[Level_Var] Unit_Type_Var_2[Level_Var] for Player 12 (Brown) at Loc[Increment_Y] facing Default building facing degrees
Unit - Create Unit_Integer_Var_3[Level_Var] Unit_Type_Var_3[Level_Var] for Player 12 (Brown) at Loc[Increment_Y] facing Default building facing degrees
Set Increment_Var = (Increment_Var + 1)
Set Level_Var = (Level_Var + 1)

This create's (#) of units you specified for (Unit-type) you specified, at the 1st location (Increment = 1, remember?) you also set previously, facing default degrees. It then increases the Increment Variable per loop (4 times for 4 regions).

Finally, after the loop is over it increases the Level_Variable so that next time it pulls from the array variables it pulls from the [2] group you set in the first trigger above.

NOTE1: that at the start of the Trigger we set Increment = 1 so that it reset's the variable to spawn at each of the 4 regions we had setup all over again.

NOTE2: when you setup the 'time expires' event, you can tell it to add gold per level there (by pick every player function). etc. You can also base it on an amount you set just like monster variables.

I hope this elaborates (and works out) issues for some of you. I just tested these triggers exactly as I wrote them (unless I have misswritten them), and everything seems to work perfectly. Good Luck!

~Xexorian

Last edited by Xexorian; 11-25-2007 at 08:09 AM. Reason: Typos.
Xexorian is offline  
Old 11-26-2007, 10:01 AM   #13 (permalink)
Registered User DoOs_101
Original and Proud
 
DoOs_101's Avatar
 
Join Date: Aug 2004
Posts: 837
DoOs_101 has little to show at this moment (30)DoOs_101 has little to show at this moment (30)DoOs_101 has little to show at this moment (30)DoOs_101 has little to show at this moment (30)
Lol either way its 'bad' english or 'good' english you all should be thankful that this resource exists freely for you. Any being can depict knowledge from the most unlikely sources such as rocks to make fire. Come on if stone age people can do that why you wine about such things :P.
__________________

My Website:

DoOs_101 is offline  
Old 11-27-2007, 11:13 PM   #14 (permalink)
Registered User Kieve
Void Mage
 
Kieve's Avatar
 
Join Date: Nov 2007
Posts: 8
Kieve has little to show at this moment (2)
...technically, you only need the one UnitType array.
As I understand it, you could initialize one UnitType[#] for whatever units you choose, and just use an additional "helper" Integer variable for # of creep-types per wave.
Set VariantsPerWave = 4
----- Level 1 Wave -----
Set CreepTypes[1] = Zombie
Set CreepTypes[2] = Ghoul
Set CreepTypes[3] = Nerubian Warrior
Set CreepTypes[4] = Skeletal Mage
----- Level 2 Wave -----
Set CreepTypes[5] = Zombie (Wave 2)
Set CreepTypes[6] = Furbolg Warrior
Set CreepTypes[7] = Nerubian Overlord
Set CreepTypes[8] = Giant Skeleton
----- Level 3 Wave -----
Set CreepTypes[9] = Doomguard
Set CreepTypes[10] = Fel hound
Set CreepTypes[11] = Revenant of the Depths
Set CreepTypes[12] = Fel Guard
...etc...

Then, for actualy calling the spawns, just use a For loop and base each wave on Integer A + (VariantsPerWave)
For each (Integer A) from 1 to 4, do (Actions)
Loop - Actions
Unit - Create (Units) CreepTypes[Integer A] for Player 12 (Brown) at Location X
----- For Wave 2 types -----
Unit - Create (Units) CreepTypes[(Integer A + VariantsPerWave)] for Player 12 (Brown) at Location X
----- For Wave 3 types -----
Unit - Create (Units) CreepTypes[(Integer A + (VariantsPerWave * 2))] for Player 12 (Brown) at Location X

...And so forth. Some might find it simpler, some might not, but personally I consider it a bit more efficient to reuse an array and divide it into theoretical "ranks," than to assign a new array for each creep-type in a wave.
__________________

Be constructive, or be silent.
Kieve is offline  
Old 12-21-2007, 01:36 PM   #15 (permalink)
Registered User rApp
User
 
Join Date: Dec 2007
Posts: 1
rApp is an unknown quantity at this point (0)
I need help, what does "bj_wantDestroyGroup = true" means, whats bj_wantDestroyGroup?

Thx
rApp is offline  
Closed Thread

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Trigger] Creep Revive System & Creep Drops Hawk07 Triggers & Scripts 14 10-16-2007 11:00 AM
Aos style creep spawn thesagajii Requests 3 09-05-2007 08:22 PM
Creep spawn problem Insk World Editor Help Zone 1 08-23-2007 08:53 PM
spawn creep triggers wouldn't be edited farty Map Development 0 05-04-2006 09:21 PM

All times are GMT. The time now is 09:03 AM.





Powered by vBulletin
Copyright 2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.5.1 PL2
Copyright © Ralle