For each Integer A/B, do action

U

Unregistered

Guest
Would someone explain to me how this is used and what it is used for? Another question:
I am currently working on an RPG map and I'm having a computer-controlled unit go through the level with the players. I am trying to make it follow Player 1 then when it sees an enemy, trigger it to attack that unit. But how do I make the computer follow Player 1 again after the sighted unit is killed? I tried using the If/Then/Else action, but didn't work. If all else fails I'm going to do it the long way - set up regions along the whole map and make the computer move to the region that the next player enters. Could someone help me? (This map will be called FFVII: Cloud's Past). I previously created Resident Evil 2_X.
 

Darg

Administrator
Reaction score
49
1) This allows you to create for loops. If you've had any programming experience, you might be familiar with them. For loops are normally/always used in conjunction with variables to do all sorts of things. There is no 1 specific purpose for the existence of them.

I'll try and give an example:

In warcraft3, if you create variable arrays, then you need to initialise them first otherwise they probably won't work. You can use a for loop to initialise an array.

Say you have an integer array and you want the array to hold up to 50 integers. Then you would do this:

for each int a from 1 to 50 do <set int_array[integer a] = 0>

So in this 1 line, I have just set 50 slots in the array to zero.

the 'for int a' and 'for int b' actions do exactly the same thing, there is no difference between them. The reason there are 2 of them is because you may need to use 2 for loops inside some trigger you are trying to code.

2) This shouldn't be too hard, as long as you know which player number the computer is.

event: [player-owned unit event]
a unit owned by <player x> dies
[player x here is the owner of the enemy units, not your units]

condition: [player comparison]
owner of <killing unit> equal to <player x>

[integer comparison][unit in range matching condition]
number of units in <units within 1000 of <killing unit> matching <matching unit is an enemy of (killing unit) equal to true> equal to 0

[player x here is the computer player]
action: [unit - issue order targeting a point]
order <killing unit> to move to <position of <random unit from <units owned by player 1>>

an even better thing to do is to stick that action into a trigger which is periodic (use the periodic event). turn that trigger off everytime your computer unit goes to attack someone, and then turn it on again in this trigger above whenever the enemy units is/are dead.
 
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