Never mind, I discovered that double clicking parts of the action in the panel below the trigger panel allows you to select "Order: Order Targeting Unit".
I looked at your map, but you seem to have ability commands that are simply not in my list of ability commands. I simply cannot order a warp prism or medivac to load units, because the ability commands simply aren't there. In fact, for some reason your ability command list is a lot smaller than the one I get.
That's actually an interesting thing to try. I must say that my current triggers work perfectly btw, but it's still good to try alternatives that might be more elegant.
For reference, I set the unit's turn speed to 0, let them move to a point a small bit in front of them every 0.3 seconds unless that point is not passable, in which case they turn around.
It's easy enough to implement these kinds of behaviours, but to perfect them, especially with the default pathing, it takes some thinking.
So... is this really impossible? I have quite a lot of arrays I wish to give a constant size. Changing the size is very bothersome, because it's so easy to forget an array.
Any workaround? Statement of blizz they will implement this? Anything?
Thank you so much for that! Your map really helped me to get it working and I learned a bit about actors and effects with all the linking that's going on.
Thanks for your time, mate! You've been a great help! <3
Thanks for the reply! The blink animation works perfectly now. However, I also try to create a nuke visual when I order a unit to explode. Neither the Nuke nor the Nuke explosion work when I create the actor or model. Perhaps the problem is similar, but I wouldn't know how to fix it yet.
I am still new to actors, animations and effects and they still confuse me a bit. I am causing a unit (has stalker looks) to 'blink' to a location using triggers. I tried this code but that doesn't show any visual effect. Why doesn't this work?
Actor - Create actor Blink Origin Model at point (Position of (Triggering unit))
Unit - Move (Triggering unit) instantly to (Point(newX, newY)) (No Blend)
Actor - Create actor Blink Stop Model at point (Position of (Triggering unit))
Another piece of code where I want an EMP visual effect when I kill a unit does work however, adding to my confusion.
Actor - Create actor GhostEMPAttackImpactEffect (Unknown) at point (Position of myUnit)
Unit - Kill myUnit
How do you make unit is clicked event work ?? I tried before and it didn't. I used unit is selected instead and it work fine. Honestly, the only difference i can think of is when a unit has the flag clickable but not selectable. It's just the same
You unset the flag 'cannot be clicked' for the unit you wish to get a click event from. This is done in the data editor.
The reason I don't use the 'Unit is selected' event, is because I don't want my command to be given to multiple units, which can happen when you select a group.
Events
UI - Player 1 clicks Any mouse button down. Actions
Variable - Set mouseIsReleased = false
Trigger MouseUp
Events
UI - Player 1 clicks Any mouse button up. Actions
Variable - Set mouseIsReleased = false
Trigger ClickUnit
Events
Unit Selection - Any Unit is clicked by Player 1 Conditions
mouseIsReleased == false Actions
Whatever your actions may be.
Note that the Player clicks Any mouse button event is fired before the Any unit is clicked by Player event. Now the event will only fire when on mousedown. If you want it only on mouseup, reverse the condition in your trigger.
NOTE: This is not an elegant solution, as it causes a lot of traffic on Battlenet, because every click of every player has to be sent across the network. I dearly hope anyone out there knows a better solution, but this will work for now.
I have made a map where you click a button and then click a unit to give that unit a command. The problem I face is that the "Unit is clicked by player" event fires when I click and when I release the mouse button. When clicking normally, this results in activating the trigger twice and thus the unit gets its command twice.
I wish the click event would only work if I really did a normal click, meaning down and quickly release without moving the cursor meanwhile. I haven't found a way to select that behaviour. Alternatively, I could ignore all the mousedown events and only listen to mouseup events, but I can't figure out how to do that elegantly either.
0
A great tutorial and much appreciated. <3
Cheers,
That nerd-guy
0
Hah, thanks for the quick reply though! :D
0
Never mind, I discovered that double clicking parts of the action in the panel below the trigger panel allows you to select "Order: Order Targeting Unit".
0
I looked at your map, but you seem to have ability commands that are simply not in my list of ability commands. I simply cannot order a warp prism or medivac to load units, because the ability commands simply aren't there. In fact, for some reason your ability command list is a lot smaller than the one I get.
Any clue what could cause this?
0
I am desperately looking for an answer to this problem.
Remove Doodads in Region ==> Only visual, the doodads still block
Kill Doodads in Region ==> Does not seem to do anything
I just need objects I can remove to open up a way, so to speak, preferrably without simply creating billions of regions everywhere and clunky logic.
P.S. I can't let units be the blocking objects, because the main units in my game do not collide with other units.
0
I am gonna bump this for programmer justice!
0
@Azkit: Go
That's actually an interesting thing to try. I must say that my current triggers work perfectly btw, but it's still good to try alternatives that might be more elegant.
For reference, I set the unit's turn speed to 0, let them move to a point a small bit in front of them every 0.3 seconds unless that point is not passable, in which case they turn around.
It's easy enough to implement these kinds of behaviours, but to perfect them, especially with the default pathing, it takes some thinking.
0
So... is this really impossible? I have quite a lot of arrays I wish to give a constant size. Changing the size is very bothersome, because it's so easy to forget an array.
Any workaround? Statement of blizz they will implement this? Anything?
0
Thank you so much for that! Your map really helped me to get it working and I learned a bit about actors and effects with all the linking that's going on.
Thanks for your time, mate! You've been a great help! <3
0
You have my love, good sir!
0
Thanks for the reply! The blink animation works perfectly now. However, I also try to create a nuke visual when I order a unit to explode. Neither the Nuke nor the Nuke explosion work when I create the actor or model. Perhaps the problem is similar, but I wouldn't know how to fix it yet.
Any more brilliant suggestions? :)
0
Hey guys!
I am still new to actors, animations and effects and they still confuse me a bit. I am causing a unit (has stalker looks) to 'blink' to a location using triggers. I tried this code but that doesn't show any visual effect. Why doesn't this work?
Actor - Create actor Blink Origin Model at point (Position of (Triggering unit))
Unit - Move (Triggering unit) instantly to (Point(newX, newY)) (No Blend)
Actor - Create actor Blink Stop Model at point (Position of (Triggering unit))
Another piece of code where I want an EMP visual effect when I kill a unit does work however, adding to my confusion.
Actor - Create actor GhostEMPAttackImpactEffect (Unknown) at point (Position of myUnit)
Unit - Kill myUnit
Any thoughts?
Cheers,
Dysprosium
0
You unset the flag 'cannot be clicked' for the unit you wish to get a click event from. This is done in the data editor.
The reason I don't use the 'Unit is selected' event, is because I don't want my command to be given to multiple units, which can happen when you select a group.
0
Thanks for the input! This is what I did.
Trigger: MouseDown
Events
UI - Player 1 clicks Any mouse button down.
Actions
Variable - Set mouseIsReleased = false
Trigger MouseUp
Events
UI - Player 1 clicks Any mouse button up.
Actions
Variable - Set mouseIsReleased = false
Trigger ClickUnit
Events
Unit Selection - Any Unit is clicked by Player 1
Conditions
mouseIsReleased == false
Actions
Whatever your actions may be.
Note that the Player clicks Any mouse button event is fired before the Any unit is clicked by Player event. Now the event will only fire when on mousedown. If you want it only on mouseup, reverse the condition in your trigger.
NOTE: This is not an elegant solution, as it causes a lot of traffic on Battlenet, because every click of every player has to be sent across the network. I dearly hope anyone out there knows a better solution, but this will work for now.
Cheers,
Dysprosium
0
Hey guys,
I have made a map where you click a button and then click a unit to give that unit a command. The problem I face is that the "Unit is clicked by player" event fires when I click and when I release the mouse button. When clicking normally, this results in activating the trigger twice and thus the unit gets its command twice.
I wish the click event would only work if I really did a normal click, meaning down and quickly release without moving the cursor meanwhile. I haven't found a way to select that behaviour. Alternatively, I could ignore all the mousedown events and only listen to mouseup events, but I can't figure out how to do that elegantly either.
Anyone have a good idea to fix this?
Cheers, Dysprosium