Warcraft 3 despair of trigger

OwnerX1234

New Member
Reaction score
0
Hey guys I am new to this Forum,
I came here as i searched for a solution for my Trigger Problem...

To my Situation:

I make a Warcraft 3 Map at the moment, it is an Anime based survial arena with different types of enemy waves.
So I wrote a Trigger, where the Players automaticaly gets teleported after a specific amount of time to the Center of a Special Region, which i named "Round Arena" and after 10 seconds there spawns the wave.

But now to my problem: I need a Trigger to teleport the character from Player 1-8 back to the base AFTER ALL ENEMIES OF THE WAVE ARE DEATH ...
I also tried to make a condition where, the Units of Player 12 (the owner of the enemie waves) must be equal to "0" but my character still don't get teleported back to the base.

It would be very kind if someone could bring a solution for my Trigger Problem :)

with best regards
OwnerX
 

Slapshot136

Divide et impera
Reaction score
471
What is the triggering action to your "teleport back" trigger?

how do you determine "the character" that should be teleported back?

actually if you could copy-paste it as text within the [ wc3] [ /wc3] tags, it would be nice to look at as well
 

OwnerX1234

New Member
Reaction score
0
Sry I didn't know how to only copy a text, so I uploaded a Screenshot :
alfamblo7

http://postimg.org/image/alfamblo7/

This is the whole Trigger for the first Wave. It works fine until the "If (All conditions are True) then [...] " part of the trigger.

PS: I am new to triggering :))

best regards
OwnerX
 

afisakov

You can change this now in User CP.
Reaction score
37
Sry I didn't know how to only copy a text, so I uploaded a Screenshot :
alfamblo7

http://postimg.org/image/alfamblo7/

This is the whole Trigger for the first Wave. It works fine until the "If (All conditions are True) then [...] " part of the trigger.
It does not work to return heroes because there is no event for it. Your trigger, as set up in the screenshot will only return heroes to base if they will bandits the moment they spawn.
What you probably should do is create a periodic trigger that features the "If (All conditions are True) then [...] " part that runs every second. Set it to initially off in world editor and turn it on after the bandits spawn.
It should look something like this
Trigger:
  • heromoveback
    • Events
    • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
    • Set TempGroup = (Units owned by Player 12 (Brown) of type Bandit)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
    • (Number of units in TempGroup) Equal to 0
    • Then - Actions
    • --line to move heroes back to base
      • Trigger - Turn off (This trigger)
      • Else - Actions
      • Custom script: call DestroyGroup (udg_TempGroup)

This way it checks every second if bandits all dead and moves heroes back once they are. And stops checking once heroes back home.
 

OwnerX1234

New Member
Reaction score
0
WOW, thank you a lot for your effort guys ! I will try it out now :) :)
Very kind!!

with best regards OwnerX
 

OwnerX1234

New Member
Reaction score
0
It still doesn't work... I can't find my mistake
I made two trigger :
One for the Round it self, it looks like this:

Trigger:
  • Round 1
    • Events
    • Unit - A unit enters Base <gen>
    • Conditions
    • ((Triggering unit) is A Hero) Equal to True
    • Actions
    • Wait 20.00 seconds
    • Unit Group - Pick every unit in (Units in Base <gen>) and do (Unit - Move (Triggering unit) instantly to (Center of Round Arena <gen>))
    • Camera - Pan camera for (Owner of (Triggering unit)) to (Center of Round Arena <gen>) over 0.00 seconds
    • Wait 15.00 seconds
    • Unit - Create 15 Bandit round 1 for Player 12 (Brown) at (Random point in Mob Spawn Left <gen>) facing Default building facing degrees
    • Unit - Create 15 Bandit round 1 for Player 12 (Brown) at (Random point in Mob Spawn Right <gen>) facing Default building facing degrees
    • Trigger - Turn off (This trigger)


and one other for the checking and teleporting back to base:

Trigger:
  • Check if Death R1
    • Events
    • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
    • Set TempGroup = (Units owned by Player 12 (Brown) of type Bandit round 1)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
    • (Number of units in TempGroup) Equal to 0
    • Then - Actions
    • Unit Group - Pick every unit in (Units in Round Arena <gen>) and do (Unit - Move (Picked unit) instantly to (Center of Base <gen>))
    • Trigger - Turn off (This trigger)
    • Else - Actions
    • Do nothing


I think it could be the Teleport action back to base that is not correct, but I can't find a mistake, I also tried "[...] (Unit - Move (Triggering unit) [...]" in the part where it says "[...] (Unit - Move (Picked unit) [...]"
but it also doesn't work.

The first trigger works but the second doesn't work...
 

Slapshot136

Divide et impera
Reaction score
471
For the second one, how about adding

Trigger:
  • Game - Display to (All players) the text: (String((Number of units in (Units in (TempGroup)))))


so that you can see that the trigger runs, and also when the count is 0

as a debugging step, to see when it activates and if it turns itself off prematurely somehow.
 

OwnerX1234

New Member
Reaction score
0
@Slapshot136 : I hadn't much time the last days, so I tried to find the function you posted to me today:
Trigger:
  • Game - Display to (All players) the text: (String((Number of units in (Units in (TempGroup)))))

but i couldn't find it, how is it exactly named in the editor if I may ask?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      • Ghan
        Administrator - Servers are fun

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top