creature roaming system

ironfist19

New Member
Reaction score
3
Hello, I am making a creature roaming system for my map but I am having a problem with the attacking.
I currently got this trigger for the roaming and having a problem with the attacking when the creature got a threat.
Trigger:
  • Roaming System
    • Events
      • Time - Every 1.35 seconds of game time
    • Conditions
    • Actions
      • Set CreepsAllGroup = (Units in (Playable map area) owned by Neutral Hostile)
      • Unit Group - Pick every unit in CreepsAllGroup and do (Actions)
        • Loop - Actions
          • Set CreepRRP = ((Position of (Picked unit)) offset by 80.00 towards (Random angle) degrees)
          • Unit Group - Order CreepsAllGroup to Move To CreepRRP
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Is (Picked unit) near (Get detected unit) and withing a range of 250.00) Equal to True
            • Then - Actions
              • Unit Group - Order CreepsAllGroup to Attack (Get detected unit)
            • Else - Actions


The creatures of Neutral Hostile roams around... but the if/then/else action doesn't work... when a unit is near them at 250 range. they don't attack them they still roam around.. any help?
 

DuelPlayer

Member
Reaction score
21
There is an ability call Wander, maybe u can add to your nc
Or you can use Attack-Move to instead of move
 

Curo

Why am I still playing this game...?
Reaction score
109
Yeah, I'd just give them the wander ability or use attack-move as the above poster said. Wow I didn't help much.

The reason your trigger isn't working is because of this:
(Is (Picked unit) near (Get detected unit) and withing a range of 250.00) Equal to True

What the heck is that, lol?
 

Bankde

Member
Reaction score
20
Also what is "Get Detected Unit" ?? Is that variable ?? - -" Have you already set that ??

Agree with Curo. Have never see something like this:

(Is (Picked unit) near (Get detected unit) and withing a range of 250.00) Equal to True

Use REAL comparison then Math-Distance between point is better.
 

Never_Quit

New Member
Reaction score
16
Hello, I am making a creature roaming system for my map but I am having a problem with the attacking.
I currently got this trigger for the roaming and having a problem with the attacking when the creature got a threat.
Trigger:
  • Roaming System
    • Events
      • Time - Every 1.35 seconds of game time
    • Conditions
    • Actions
      • Set CreepsAllGroup = (Units in (Playable map area) owned by Neutral Hostile)
      • Unit Group - Pick every unit in CreepsAllGroup and do (Actions)
        • Loop - Actions
          • Set CreepRRP = ((Position of (Picked unit)) offset by 80.00 towards (Random angle) degrees)
          • Unit Group - Order CreepsAllGroup to Move To CreepRRP
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Is (Picked unit) near (Get detected unit) and withing a range of 250.00) Equal to True
            • Then - Actions
              • Unit Group - Order CreepsAllGroup to Attack (Get detected unit)
            • Else - Actions


The creatures of Neutral Hostile roams around... but the if/then/else action doesn't work... when a unit is near them at 250 range. they don't attack them they still roam around.. any help?

Change your move action to attack action.

There are better ways to do what you are trying using the patrol action and point with random offsets.
 

ironfist19

New Member
Reaction score
3
The 'Get Detected Unit' is from EGUI :] I'll give the creep wander ability.. Thanks for the first reply + rep

Also what is "Get Detected Unit" ?? Is that variable ?? - -" Have you already set that ??

Agree with Curo. Have never see something like this:

(Is (Picked unit) near (Get detected unit) and withing a range of 250.00) Equal to True

Use REAL comparison then Math-Distance between point is better.
 

DuelPlayer

Member
Reaction score
21
Wander will cause the enemy to flee when attacked by enemy unit.

You sure??
Because only small animals will flee but i think enemy with attack damage will attack them.


Offtopic: Rampagers dont -rep me for this XD
Err Where is the +rep?
 

DuelPlayer

Member
Reaction score
21
Then use another trigger with your first trigger.
Create a unit group for all nc
Then pick all units in nc
Then if unit is in range,
remove unit from the group in first trigger - meaning the moving group
 

Bankde

Member
Reaction score
20
I had also once used in my map. "Wander Ability" will cause unit to move randomly EVEN THE UNIT IS UNDER ATTACKED.

The best way use trigger. I think it should work.

Trigger:
  • Wander Around
    • Events
      • Time - Every 1.05 seconds of game time
    • Conditions
    • Actions
      • Set Creep_Group_1 = (Units in (Playable map area) matching ((Unit-type of (Picked unit)) Equal to Footman))
      • Unit Group - Pick every unit in Creep_Group_1 and do (Actions)
        • Loop - Actions
          • Set Creep_Point = (Position of (Picked unit))
          • Set Wander_Point = (Creep_Point offset by (Random real number between 500.00 and 1000.00) towards (Random angle) degrees)
          • Unit - Order (Random unit from (Random (Random integer number between 1 and (Number of units in Creep_Group_1)) units from Creep_Group_1)) to Attack-Move To Wander_Point
          • Custom script: call RemoveLocation (udg_Creep_Point)
          • Custom script: call RemoveLocation (udg_Wander_Point)
          • Custom script: call DestroyGroup (udg_Creep_Group_1)


Many Great RPG such TBR (the black road), TKoK also have this system. But they also have detecting players system, too. If there isn't any player in area, all creeps will be removed and this trigger will be stop. Be notice that trigger which "run every second of game time" may cause your game laggy.

Edited: Sorry. I have mistyped it.
 

Dave312

Censored for your safe viewing
Reaction score
269
I had also once used in my map. "Wander Ability" will cause unit to move randomly EVEN THE UNIT IS UNDER ATTACKED.

The best way use trigger. I think it should work.

Trigger:
  • Wander Around
    • Events
      • Time - Every 1.05 seconds of game time
    • Conditions
    • Actions
      • Set Creep_Group_1 = (Units in (Playable map area) matching ((Unit-type of (Picked unit)) Equal to Footman))
      • Unit Group - Pick every unit in Creep_Group_1 and do (Actions)
        • Loop - Actions
          • Set Creep_Point = (Position of (Picked unit))
          • Set Wander_Point = (Creep_Point offset by (Random real number between 500.00 and 1000.00) towards (Random angle) degrees)
      • Unit - Order (Random unit from (Random (Random integer number between 1 and (Number of units in Creep_Group_1)) units from Creep_Group_1)) to Attack-Move To Wander_Point
      • Custom script: call RemoveLocation (udg_Creep_Point)
      • Custom script: call RemoveLocation (udg_Wander_Point)
      • Custom script: call DestroyGroup (udg_Creep_Group_1)


Many Great RPG such TBR (the black road), TKoK also have this system. But they also have detecting players system, too. If there isn't any player in area, all creeps will be removed and this trigger will be stop. Be notice that trigger which "run every second of game time" may cause your game laggy.

You need to remove the Creep_Point and Wander_Point variables within the loop or else it will leak.

EDIT: And shouldn't the move order be within the loop? Or has this trigger just been displayed incorrectly?
 
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