HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Best way to spawn monsters?

04-20-2005, 03:03 AM#1
Zero
Ok, the way I set up my system is as followed:

Activates the spawning procedure when steping on a region.


Spawn's Monsters if they are all dead.


Tell's the monsters to roam if they are alive.


Ok, what I want to know is, is there a better way to have then spawn/roam?

The bad thing about this trigger is that every individual trigger runs off an elapsed game time and when you have multiple spawn areas open, the units kinda get confused, but they still move, just slower (like they're distracted).

Any comments o_O
04-20-2005, 03:17 PM#2
Zero
No one knows if there is a better way to do this?
04-20-2005, 03:40 PM#3
Anitarf
The units still move... only slower? I'm sorry, but i'm confused a bit here. What's in all the other if-then-elses in each of those triggers?
04-20-2005, 03:42 PM#4
Zero
Each trigger is the same as the first one, with a differnt spawn #. There is just two many running off of the same elapsed time.

Like some of the time, the monsters will just sit there while you are kicking their ass. It's wierd. I just assumed it was from all the triggers with the same event.
04-20-2005, 05:34 PM#5
Vexorian
You must Use one trigger + an array initialized at map initialization. Please!
04-20-2005, 05:35 PM#6
Zero
I am using an array, but with 3 triggers.

But I am here to make things difficult and make yur head hurt! That's no fun :[
04-20-2005, 06:39 PM#7
Guest
your trigger have too many actions to perform and calculate in a single time... im using a diferente way.... ill xplain it if i can:

first.. a the Setup-trigger, you have to use some variables (integer type default 0)

First, the round starts.

Event
YOUR EVENT HERE
Condition
(nothing)
Action
SET Variable = 1
give resources bla bla bla.. everything goes here (starting stuffs)
->Run RUN ALL

now the Mainhead Trigger... This will controll everything in your map depending on the round.

Trigger name = RUN ALL
Event
(nothing)
condition
(nothing)
Action
IF VARIABLE = 1 RUN LVL 1
IF VARIABLE = 2 RUN LVL 2
IF VARIABLE = 3 RUN LVL 3
IF VARIABLE = 4 RUN LVL 4
.....
IF VARIABLE = N RIN LVL N
Wait X Secs Run this trigger...


And now you will separated triggers (without startings) and each trigger will have the spawn units types and all that... so it will be like this:

Trigger name LVL 1
Event
(nothing)
Conditions
(nothing)
Action
Creat X unit at Center of X region

((Of course, the X region must have a trigger using a unit enters.. order triggering unit to move-attack to x place))


why this???

well.. very easy, to avoid memory lacks and to avoid lag... why??

if you use 1 trigger to spam units depending of the level round it will LAG A LOT.. too many IF THEN and many variables to control in a single trigger run sec.

you are using almost the same way im doing it, but im using only 1 trigger to jump to the trigger required...

sorry about my english... i speak spanish ^_^ :o
04-21-2005, 04:34 AM#8
Zero
This doesn't make any sence. Can you be more specifc on what you are trying to portray?
04-21-2005, 09:40 PM#9
Zero
Ok...TrueGosu. I understand the format of your triggers, but what I don't understand is will the trigger "run all" keep runing non stop unconditionally?

Also, for this "Trigger name LVL 1
Event
(nothing)
Conditions
(nothing)
Action
Creat X unit at Center of X region

((Of course, the X region must have a trigger using a unit enters.. order triggering unit to move-attack to x place))"

I have multiple regions where the monsters spawn, so, I couldn't do this one for each region.

Can you be more specific?
04-22-2005, 01:21 AM#10
Guest
yes.. the RUN ALL will run forever... it will not lag because its just a small trigger AND the othter triggers (the one without events) are activated using the variable, if the variable is not true, then nothing happens..


and yes you can do it for every region... kinda easy, you need another variable

example.. if you need to spawn monster in the region 1 and region 2... but, the "barracks" in the region 1 is destroyed, you need to stop the spawning in that area right? (like TOD maps, or most spawn mosters maps)

welll... use diferent variables for diferents places... (integer default 0)

in the starting of the map use

if X barrack is alive set VariableT = 1
if Y barrack is alive set VariableM = 1

and now... in the LVL 1 or LVL 2 or Any LVL trigger, use this

Event
Condtion
Action--

IF Variable T = 1 Then create X unit in X region
IF variable M = 1 Then Create X Unit in Y region

and ofcourse.. you need to make an individual trigger for every "spawn building"

Event
A unit owned by Player(owner of(Spawnbuilding)) Dies
Condition
Dying Building is an estructure = True
Action
IF Dying Unit = BarrackX then Set VariableT = 0
IF Dying Unit = BarrackY then Set VariableM = 0


How this works?

well... the RUN ALL trigger will run FORVER and will control the spawn stuff for the entire map, it will not lagg because it is too small and too simple, no need to calculate too much, he only work its to check the variables and run a diferent trigger matching your current game play... well, this is how it works-->

1) Run all trigger starts and start checkin the variables..

Variable = 1 so run trigger LVL 1 and thats all, he will run itself... the lvl 1 trigger have the spawn units control..

2) The spawn lvl 1 trigger starts because he is ordered to, so.. he start checking, MMm.. the variableM = 1, so the barrack its still alive... ok, send the units.

3) the round of mounsters finish and the variable will be variable = variable +1 ---> = 2

the Run all starts again... he do the same.. but not the Variable = 2 so the trigger LVL 2 will run just like the lvl 1 but using diferent units...........

and thats all....


one more thing, you need to be more specific in the game type of your map, because you need to use a "wait" in the RUN ALL depending of the game type, because, if you are making some kinda of casttle defense (mosters spawns in rounds and all players are allied) you need to give some time (in the end of the RUN ALL) because the trigger will run again without waiting and the Variable = 1 so it will create again the monsters without waiting...


got it?
04-22-2005, 03:51 PM#11
Zero
Yea, I get the concept, but, I am trying to see how I would implement this into my open rpg. In a way that it would work :\
04-23-2005, 06:17 PM#12
Guest
cool.... i love to make triggers...
04-24-2005, 05:24 AM#13
Zero
Truegosu... Do you want to fix the trigger in my map based on your system, because, I don't see how I would get this to work..
04-24-2005, 05:36 AM#14
Raptor--
why aren't you using arrays/matricies for all this repedative stuff?
04-24-2005, 01:27 PM#15
johnfn
Can you read my tutorial about structures in the tutorial section, it will save you SO MUCH TIME. Here, I'll link you...

http://www.wc3campaigns.com/showthread.php?t=73104