change random to consecutive

sionts

New Member
Reaction score
0
Instead of having random (Random integer number between 1 and 6)
is there away to make it consecutive, like 1 then after 1 there is 2 and so forth.

the (Random integer number between 1 and 6) is math the function "Math - Random Number".
 
D

dArKzEr0

Guest
Use loop integers. "For each integer A"

If that's not what you need, try posting more information as to what you're attempting to accomplish.

-darkz
 

sionts

New Member
Reaction score
0
Its for a creep spawn trigger.



Code:
Set Spawn_Type[1] = Bandit
Set Spawn_Type[2] = Brigand
Set Spawn_Type[3] = Rogue
Set Spawn_Type[4] = Assassin
Set Spawn_Type[5] = Enforcer
Set Spawn_Type[6] = Bandit Lord


Set Spawn_Type_Number = (Random integer number between 1 and 6)

Then i have this in my creeps spawn trigger

Code:
Then - Actions
    For each (Integer A) from 1 to (8 - (Number of units in West_Creeps)), do (Actions)
        Loop - Actions
            Unit - Create 1 Spawn_Type[Spawn_Type_Number] for Neutral Hostile at West_Spawn_Point[Spawn_Number] facing 180.00 degrees
            Unit Group - Add (Last created unit) to West_Creeps
            Unit - Order (Last created unit) to Attack-Move To West_Move_Point[Spawn_Number]

and instead of having random units. i want it consecutively, when the first set of bandits r dead, brigands spawn and so forth.
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
> Set Spawn_Type_Number = (Random integer number between 1 and 6)

Set Spawn_Type_Number = Spawn_Type_Number + 1


(I must have missed something here...)
 
S

sonic_kun

Guest
hope this helps...

I get what you mean sionts.....I once asked this question too.

I wanted to make a condition that said something like
"if entering unit = unit[1-8]" then.......(meaning if entering unit equals unit[1] or unit[2] or unit[3] etc etc

But I think there's no shortcut way to do this. So there are 2 alternative options:

1) Use the "or" condition........
Code:
Events
    Unit - A unit enters green base <gen>
Conditions
    Or - Any (Conditions) are true
        Conditions
            (Entering unit) Equal to hero[1]
            (Entering unit) Equal to hero[2]
            (Entering unit) Equal to hero[3]
            (Entering unit) Equal to hero[4]
Actions
    -------- Actions go here --------

2) Under 'actions' run a for loop to check if any of the conditions are satisfied, and run the rest of the actions only if it is......something like:
Code:
Actions
    For each (Integer A) from 1 to 10, do (Actions)
        Loop - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Entering unit) Equal to hero[(Integer A)]
                Then - Actions
                    -------- Actions go here --------
                Else - Actions
                    Do nothing

Hope this helps.......if only WE had a "math - any number between x and y" function to make life easier :D
 

sionts

New Member
Reaction score
0
I'm not sure what you meen. But to AceHart i changed

Set Spawn_Type_Number = (Random integer number between 1 and 6)

to

Set Spawn_Type_Number = Spawn_Type_Number + 1

But It didn't do what i wanted it to, instead of lvl 2 creeps spawning after all the lvl 1 creeps that are dead. It has lvl 2 creeps spawn in another spawning region rather then the first one.

I want the lvl 2 creeps to spawn after the lvl 1s are dead on the same region

So here is the full trigger:
Code:
Time - Every 5.00 seconds of game time
Conditions
Actions
    Destructible - Close West_Gate[Spawn_Number]
    Destructible - Close East_Gate[Spawn_Number]
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        If - Conditions
            Spawn_Number Equal to 6
        Then - Actions
            Set Spawn_Number = 1
        Else - Actions
            Set Spawn_Number = (Spawn_Number + 1)
    Destructible - Open West_Gate[Spawn_Number]
    Destructible - Open East_Gate[Spawn_Number]
    Set Spawn_Type_Number = (Spawn_Type_Number + 1)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        If - Conditions
            (Number of units in West_Creeps) Greater than or equal to 8
        Then - Actions
            Do nothing
        Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Number of units in West_Creeps) Greater than or equal to 4
                Then - Actions
                    For each (Integer A) from 1 to (8 - (Number of units in West_Creeps)), do (Actions)
                        Loop - Actions
                            Unit - Create 1 Spawn_Type[Spawn_Type_Number] for Neutral Hostile at West_Spawn_Point[Spawn_Number] facing 180.00 degrees
                            Unit Group - Add (Last created unit) to West_Creeps
                            Unit - Order (Last created unit) to Attack-Move To West_Move_Point[Spawn_Number]
                Else - Actions
                    For each (Integer A) from 1 to 4, do (Actions)
                        Loop - Actions
                            Unit - Create 1 Spawn_Type[Spawn_Type_Number] for Neutral Hostile at West_Spawn_Point[Spawn_Number] facing 180.00 degrees
                            Unit Group - Add (Last created unit) to West_Creeps
                            Unit - Order (Last created unit) to Attack-Move To West_Move_Point[Spawn_Number]
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        If - Conditions
            (Number of units in East_Creeps) Greater than or equal to 8
        Then - Actions
            Do nothing
        Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Number of units in East_Creeps) Greater than or equal to 4
                Then - Actions
                    For each (Integer A) from 1 to (8 - (Number of units in East_Creeps)), do (Actions)
                        Loop - Actions
                            Unit - Create 1 Spawn_Type[Spawn_Type_Number] for Neutral Hostile at East_Spawn_Point[Spawn_Number] facing 180.00 degrees
                            Unit Group - Add (Last created unit) to East_Creeps
                            Unit - Order (Last created unit) to Attack-Move To East_Move_Point[Spawn_Number]
                Else - Actions
                    For each (Integer A) from 1 to 4, do (Actions)
                        Loop - Actions
                            Unit - Create 1 Spawn_Type[Spawn_Type_Number] for Neutral Hostile at East_Spawn_Point[Spawn_Number] facing 180.00 degrees
                            Unit Group - Add (Last created unit) to East_Creeps
                            Unit - Order (Last created unit) to Attack-Move To East_Move_Point[Spawn_Number]

There are spawning regions for 2 teams on both sides of the map, West is for team 1 and East is for team 2.
When West spawns lvl 1 the East spawns lvl 2, i want both of them to be lvl 1 at the same time and when the lvl 1s die lvl 2 spawn in there place. That is what i meen "consecutively".
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
> Set Spawn_Type_Number = Spawn_Type_Number + 1

Well, that action is supposed to be used only once. At the beginning of a new round (or wave).
Not once in every spawn trigger.


And a small note:
Code:
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
        Spawn_Number Equal to 6
    Then - Actions
        Set Spawn_Number = 1
    Else - Actions
        Set Spawn_Number = (Spawn_Number + 1)

If you start all your arrays at 0, instead of 1, you can replace that entire testing with one line:
Set Spawn_Number = ((Spawn_Number + 1) mod 6)
(Assuming 6 is the number of elements in those arrays)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top