Uncontrolable units?

X-maul

AKA: Demtrod
Reaction score
201
How do I make a unit owned by me, uncontrolable?

Like in Castle Fight, where units is controlled by me, and I get all the gold for the kills - but I cant control them only sellect.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
in castle fight all units are of the classification "ward" which will hide the command buttons completely.
next step is that all units will be ordered to do "smart" to the enemys teams castle whenever they are issued any order not given by a trigger.

simple as that. you can give those units orders but they will instantly get a new order by the system.
 

X-maul

AKA: Demtrod
Reaction score
201
ohh - nice :) - thank you ;)
+rep:thup:

EDIT:
What type of order do i have to use to make them uncontrolable?
I succeded removing the command buttons, but I'm still able to control them - how to remove that 'ability'?
 

Goober4473

TH.net Regular
Reaction score
7
Use a trigger to detect when the unit is given the "smart" order, then re-apply the order you actually want them to have. "smart" is a right-click order.
 

X-maul

AKA: Demtrod
Reaction score
201
ok, but the problem is that I got units spawning and running in 3 different dirrections... any way to save order given to a unit?
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
i'd say add the "rally" ability to your units. this way they can set a rally point.
when you create your units and set the lane they should travel along set their rally point to the final destination.

whenever they are ordered an order by the player order them to attack / move to their rally point.

of course i dont know how your map looks like, i am just assuming you are making something similar to castel fight.
 

X-maul

AKA: Demtrod
Reaction score
201
It's a fusion of a hero line wars and an AoS where you send creeps and gets income and fights the enemy heroes - but could try that too :)

EDIT:
Rally didnt work due to the fact that by right clicking you set a new rally point - and I tried to make it work:


As soon as this trigger runs, the game crashes... It seems like I'm creating an infinity loop - but how to check if a unit which is catagorised as Ward (no command buttons, only right click) is ordered to do something?
Code:
Control Units
    Events
        Unit - A unit Is issued an order targeting an object
        Unit - A unit Is issued an order targeting a point
        Unit - A unit Is issued an order with no target
    Conditions
        (Level of Minion  for (Triggering unit)) Greater than or equal to 1
    Actions
        Set TempPoint = (Position of Castle[(Custom value of (Triggering unit))])
        Unit - Order (Triggering unit) to Attack-Move To TempPoint
        Custom script:   call RemoveLocation(udg_TempPoint)
(Castle is the units they need to attack, and those locations work)
(Minion is an ability based on channel which has options set to none (just to check if its the right unit))
Code:
Red and Blue
    Events
        Unit - A unit Sells a unit
    Conditions
        Or - Any (Conditions) are true
            Conditions
                (Triggering unit) Equal to Tier[1]
                (Triggering unit) Equal to Tier[2]
    Actions
        Set Income[(Player number of (Owner of (Triggering unit)))] = (Income[(Player number of (Owner of (Triggering unit)))] + (Point-value of (Sold unit)))
        Unit - Remove (Sold unit) from the game
        For each (Integer A) from 2 to 4, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Castle[(Integer A)] is dead) Equal to False
                    Then - Actions
                        Unit - Create 1 (Unit-type of (Sold unit)) for (Owner of (Triggering unit)) at RedBlueSpawn[(Integer A)] facing Default building facing degrees
                        Unit - Set the custom value of (Last created unit) to (Integer A)
                        Unit - Change color of (Last created unit) to (Color of (Owner of (Triggering unit)))
                        Set TempPoint = (Position of Castle[(Integer A)])
                        Unit - Order (Last created unit) to Attack-Move To TempPoint
                        Custom script:   call RemoveLocation(udg_TempPoint)
                    Else - Actions
This trigger works fine, its "Control Units" which doesnt.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
[...]
Code:
Control Units
    Events
        Unit - A unit Is issued an order targeting an object
        Unit - A unit Is issued an order targeting a point
        Unit - A unit Is issued an order with no target
    Conditions
        (Level of Minion  for (Triggering unit)) Greater than or equal to 1
    Actions
        Set TempPoint = (Position of Castle[(Custom value of (Triggering unit))])
        Unit - Order (Triggering unit) to Attack-Move To TempPoint
        Custom script:   call RemoveLocation(udg_TempPoint)
[...]
of course that trigger is making an infinite loop. your event is "unit is issued an order" your action is "issue order to unit". what do you think will happen when the unit is issued an order?

but there is a simple solution for you, just turn the trigger off and on again. in between issue your order.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top