Help for some triggers to move a unit...

No.w[a]y

New Member
Reaction score
0
Hi guys, I am making a map but I cannot solve my current problem. :(

How to make a unit move only if other units are around it ?

In fact you have a wagon, and if some units are next to the wagon, it moves but if there is nobody, the wagonstops.

I tried some triggers like "come within a range of XXX" but it is a fail. The trigger works only when units enter the area and not as long as the unit is around the wagon. :nuts:

So my problem is : how can I say, move the chariot AS LONG AS units are around it ? :banghead:

Can someone please help me ?
 

Komaqtion

You can change this now in User CP.
Reaction score
469
I tried some triggers like "come within a range of XXX" but it is a fail. The trigger works only when units enter the area and not as long as the unit is around the wagon.

Well, you can use that trigger to turn on another trigger which checks if units are around it (It has a periodic event)...
The first trigger will order the wagon to move to the point, one time.
Then, the other trigger will check if units are around it, and if now, then order the wagon to stop :D
 

Komaqtion

You can change this now in User CP.
Reaction score
469
No, use the conditions Integer Comparison, and Unit Group - Count Units In Unit Group.
There just make the unit group all units withing 100 range or something :D
Like:
Trigger:
  • (Number of units in (Units within 100.00 of (Position of (Your unit)))) Equal to 0
 

No.w[a]y

New Member
Reaction score
0
Thank you i solved my problem with your solution Komaqtion :)

I put the condition :

Number of units in (Units within 100.00 of (Position of (Your unit)))) Equal to 0

in a periodic trigger called every 0.1 sec

But it did not work, i had had to make the comparison with 1 because the wagon is counted in this action.

But I have a last question : how can I make some tests with the units I count ?

(I want the wagon to move only if it is a unit of player 1 which is next to it).
 

retupmoc258

New Member
Reaction score
1
If you're getting that to work, forget what I just typed in a minute ago. You might want to set your range higher. 100 is like the width of the wagon (on full scale). Set the condition to test the wagon. That always follows the wagon. And the unit might trigger itself (I don't know), so you might want to put greater than 1. That way, if another unit approaches the wagon, it starts the trigger. The only bad part is that you need to have the trigger de-activate itself. Thats' why you can put this in the trigger and leave what you did as a separate initialization trigger.

Here's my idea. Having not read the whole thread, but wanting to give an idea, I used a simple trigger that tested stuff.

Set two variables for units

Wagon (unit)
Player1Unit (unit)

Wagon is simple. The player 1 unit can be set as the Event Response - triggering unit

Set two variables.

PositionOfWagon (Position)
PositionOfP1Unit (Position)

These are coordinate positions. You have them set as position of (Player1Unit) and position of (wagon)

Set another variable:

Distance (real)

Distance = Math - Distance between PositionOfWagon and PositionOfHero

I don't remember exactly how to find those, but it's in there. If Distance is < 500, activate your trigger to move the wagon. If it's greater, stop the wagon. Change numbers and everything to what you want and it works. You just have to be near it. You don't have to worry about regions. It's very simple.

So the way this works, you have trig1 that has:

Event - "Unit - enters withing X of Wagon"
Condition - "Owner of (triggering unit) = Player 1"
Actions - Set Player1Unit = (triggering unit)
Start moving van --however you decide to do that.
Trigger - Enable <whatever trigger>

Trig2:

Event - every .5 seconds
Condition - none
Actions -
Do everything I described, checking distance. If Distance is greater than X, disable this trigger. Otherwise, do nothing.


The only odd thing would be the last unit to enter the given distance is the one that would be tracked (if you have many units following the wagon). So you may want around 1000 or something to be safe. Either way, if you set the event in trig 1 to be a certain distance, and trig 2 checks if it's more than that distance or not, then if you bring that one unit closer again, it will reactivate, guaranteed.
 

Tru_Power22

You can change this now in User CP.
Reaction score
144
Thank you i solved my problem with your solution Komaqtion :)

I put the condition :

Number of units in (Units within 100.00 of (Position of (Your unit)))) Equal to 0

in a periodic trigger called every 0.1 sec

But it did not work, i had had to make the comparison with 1 because the wagon is counted in this action.

But I have a last question : how can I make some tests with the units I count ?

(I want the wagon to move only if it is a unit of player 1 which is next to it).

Trigger:
  • (Number of units in (Units within 512.00 of (Position of (Wagon)) matching ((Owner of (Random unit from (Units within 512.00 of (Wagon)))) Equal to Player 1 (Red)))) Equal to (However many you want)


So it's a units in range matching condition.
 

No.w[a]y

New Member
Reaction score
0
I tried your "unit range matching condition" Tru_Power22.

In fact I have a problem. I put 2 triggers :

- Every 0.10 seconds

- (Number of units in (Units within 512.00 of (Position of (Wagon)) matching ((Owner of (Random unit from (Units within 512.00 of (Wagon)))) Equal to Player 1 (Red)))) Equal to (1)

- then move the wagon.

--------------------------

- Every 0.10 seconds :

- (Number of units in (Units within 512.00 of (Position of (Wagon)) matching ((Owner of (Random unit from (Units within 512.00 of (Wagon)))) Equal to Player 1 (Red)))) Equal to (0)

- then stop the wagon.



The wagon moves and stops just after. Then it moves, and stops just after and so on...
 

No.w[a]y

New Member
Reaction score
0
OK guys, I solved my problem finally !

Here it is the right condition to apply :

- (Number of units in (Units within 512.00 of (Position of (Wagon)) matching ((Owner of (matching unit)) Equal to Player 1 (Red)))) Equal to (1)

Thank you all of you for your great help !
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top