• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Make transport not moving when loading

Status
Not open for further replies.
You will need to trigger this. When the order is given to load the unit, change the transports movement speed to 0. When the unit is loaded change it back to default. Now, there is also an issue with a canceled order. You will need to deal with this too. One way might be to set a timer to cancel the order or see if there is a way to check for an interrupted order. Something like a unit is given an order. Unit = Loading Unit. Order issued not equal to load.

To keep it from turning is a bit trickier. You could loop set facing angle. You could also try pause unit, but this may disable the load ability.

I assume you know how to find and give orders based on your rep, but just for other people I will post a trigger of an order finder.

  • GetOrder
    • 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
      • (Triggering unit) Equal to (==) unit
    • Actions
      • Custom script: call BJDebugMsg(OrderId2String(GetIssuedOrderId()) + " - " + I2S(GetIssuedOrderId()))
      • Game - Display to (All players) the text: (Name of (Target unit of issued order))
      • Game - Display to (All players) the text: (Name of (Target destructible of issued order))
      • Game - Display to (All players) the text: (Name of (Target unit of issued order))
Then to give the order use this script:

  • Custom script: call IssueTargetOrderById(udg_<unit>, 852600<order id>, udg_<target unit> )
And remember "GetTriggerUnit()" = triggering unit, if you want to use that.
 
Level 12
Joined
May 20, 2009
Messages
822
Loop remove move ability? I think that'll work functionality-wise but may look weird UI-wise. You can't just remove move once because I'm pretty sure the move ability is automatically added to units that have a movement speed > 0 by the game itself. Setting the movement speed to 0 than removing move might work without having to loop.

If you want to make it look right UI-wise, just make a dummy Move, Hold Position, and Patrol ability based off of channel and add and remove them to your unit as necessary.
 
Status
Not open for further replies.
Top