action-
Actor - Send message "AnimPlay {} Stand,Work" to actor (Actor for Bullhorn Lights [77.50, 52.50])
Trigger- Turn current trigger off
and 30 seconds later i want the actor to stop playing the animation, i've tried sending most of the animation completion/duration/clearing but they still don't stop animating. I even tried sending the actor another message of just "Stand" (it's default animation) but it continues to "Stand, Work".
I don't have the editor available right now, but you can try to remove the animation property "Work".
I think that's what it was called: "Actor - Remove Animation Property From Actor"
@ResolveHK: Go
Alas, here we have yet another case of someone trying to do something in code/triggers which is p!ss simple to do with just the data editor with actor event fields (and much easier as well).
When do you guys think this hangover from Jass (and having to do everything in code/triggers) will finally clear so people can start realizing that 99% of the sh!t they need to do they can do with just the data editor? I think it will still take some time.
event- every 15 seconds
...
and 30 seconds later i want the actor to stop playing the animation
Remember (point 1), a unit can only be playing one animation at a time.
So when you play an animation at time = 0, then order it to play another one at time = 15, the one playing at time=0 gets nuked. So if at time=30 you tell it to stop playing its animations, but simultaneously tell it to start playing another loop (15 secs after time=15), it will produce weird results, since you are telling it to stop playing the animation and start playing a new one (at time=30) at the same time.
That being said, you are not even reaching this point yet, since you have not applied any trigger or logic that actually stops playing animations.
Remember (point 2), irrespective of where and how you told a unit to start playing animations, it will keep playing that animation until you explicitly tell it to stop (or unless you explicitly set up the animation as a 'one-shot play' and/or non-looping). Just nuking the trigger that tells it to play another set doesn't help, since the unit needs an explicit stop animation order to go back to its normal animation loop (as defined as being at the bottom of its animation priority stack).
Now, how can you do this? Well in the data editor it is simple and if I have time I will explain how you can do all of this with just the data editor and actor events+ fields (but first you need to fix your logic).
In the trigger editor (which is what you seem to be wanting to use, which I advise against, but will still provide you a solution for since I am a nice guy most of the times), this is how you start and stop specific animations (and yes, wtf are you doing using Send Message? sheesh. I hope thats not in some tutorial somewhere, coz if it is, the person who wrote that tutorial should be punched).
So here is how you control animations with triggers:
A few things to note. The "c_animFlagPlayForever" is what is explicitly telling it to loop the "stand work" animation. If you remove it, it will only play the animation as a "one shot" and only for the duration of the animation itself (which for most units is like 1 or 2 seconds.
Also note the "wait", put whatever value you want in there (after you fix your logic).
Also note, this is all done using the GUI. Just do a search for "animation" and find the GUI functions "Play Unit Animation" and "Clear Animation".
Let me know if you are interested in knowing how to control animations like these with just the data editor. If I have time and can be bothered, I will show you.
edit2: you did it in the GUI...that doesn't really help me. D:
Umm...
the GUI is basically triggers (I call it GUI, since it is a graphical user interface). Triggers are just GUI representations of underlying Galaxy code.
All those things are just actions in a trigger. What exactly do you want?
You can set up the trigger to fire however you wish (after you fix your timing logic).
Animation - Play Stand Work animation on Bullhorn Lights doodads in the region BaseATTACK as Default, using Play Forever options and Default Time blend time
Sound - Play UI_TerranKlaxonAlert for (All players) (at 100.0% volume, skip the first 0.0 seconds)
General - Wait 10.0 Real Time seconds
Animation - Clear the Default animation for Bullhorn Lights doodads in the region BaseATTACK
Trigger - Turn Counter Off
Trigger - Turn (Current trigger) Off
@ResolveHK: Go
What I said in my previous post still works.
All you need to do is loop through all the units in the region and apply the Animation(s) like I said, then after the wait, loop through them again and stop the animations.
It would probably make life easier if you created a unit group for all those units, but its not even necessary.
I really don't see what trouble you are having. If you can start/stop the animations for one unit, you can easily do it with identical units of the same type within a region just by looping over them.
Events
Timer - Every 30.0 seconds of Game Time
Local Variables
Conditions
Counter == playercount
Actions
Animation - Turn animation properties Stand Work on for (Actor for Bullhorn Lights [77.50, 52.50])
Sound - Play UI_TerranKlaxonAlert for (All players) (at 100.0% volume, skip the first 0.0 seconds)
General - Wait 10.0 Real Time seconds
Animation - Clear all animation properties for (Actor for Bullhorn Lights [77.50, 52.50])
Trigger - Turn Counter Off
Trigger - Turn (Current trigger) Off
Sorry for the annoyance. I hope this post helps others having troubles with Doodad animations.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Hey, i have a trigger that looks like this
event- every 15 seconds
condition- blahblah
action- Actor - Send message "AnimPlay {} Stand,Work" to actor (Actor for Bullhorn Lights [77.50, 52.50]) Trigger- Turn current trigger off
and 30 seconds later i want the actor to stop playing the animation, i've tried sending most of the animation completion/duration/clearing but they still don't stop animating. I even tried sending the actor another message of just "Stand" (it's default animation) but it continues to "Stand, Work".
How can i fix this?
@ResolveHK: Go
halp. nothing is working
@ResolveHK: Go
I'ts because you're calling the trigger every 15 seconds.
Where ever you're telling the actor to play a different animation, also turn off this trigger.
I don't have the editor available right now, but you can try to remove the animation property "Work".
I think that's what it was called: "Actor - Remove Animation Property From Actor"
k i made the trigger turn off after one go, followed the "remove animation property" advice and its still looping infinitely.
I even set the animation completion to 100 and its still looping. bladmfkgadfghdghj
@ResolveHK: Go
i've been at this for hours and no progress has been made. blah. ive even edited the data of the doodad and it still loops infinitely.
@ResolveHK: Go Alas, here we have yet another case of someone trying to do something in code/triggers which is p!ss simple to do with just the data editor with actor event fields (and much easier as well).
When do you guys think this hangover from Jass (and having to do everything in code/triggers) will finally clear so people can start realizing that 99% of the sh!t they need to do they can do with just the data editor? I think it will still take some time.
That being said, lets help this dude out.
Fire, you have basic logic errors
Remember (point 1), a unit can only be playing one animation at a time.
So when you play an animation at time = 0, then order it to play another one at time = 15, the one playing at time=0 gets nuked. So if at time=30 you tell it to stop playing its animations, but simultaneously tell it to start playing another loop (15 secs after time=15), it will produce weird results, since you are telling it to stop playing the animation and start playing a new one (at time=30) at the same time.
That being said, you are not even reaching this point yet, since you have not applied any trigger or logic that actually stops playing animations.
Remember (point 2), irrespective of where and how you told a unit to start playing animations, it will keep playing that animation until you explicitly tell it to stop (or unless you explicitly set up the animation as a 'one-shot play' and/or non-looping). Just nuking the trigger that tells it to play another set doesn't help, since the unit needs an explicit stop animation order to go back to its normal animation loop (as defined as being at the bottom of its animation priority stack).
Now, how can you do this? Well in the data editor it is simple and if I have time I will explain how you can do all of this with just the data editor and actor events+ fields (but first you need to fix your logic).
In the trigger editor (which is what you seem to be wanting to use, which I advise against, but will still provide you a solution for since I am a nice guy most of the times), this is how you start and stop specific animations (and yes, wtf are you doing using Send Message? sheesh. I hope thats not in some tutorial somewhere, coz if it is, the person who wrote that tutorial should be punched).
So here is how you control animations with triggers:
A few things to note. The "c_animFlagPlayForever" is what is explicitly telling it to loop the "stand work" animation. If you remove it, it will only play the animation as a "one shot" and only for the duration of the animation itself (which for most units is like 1 or 2 seconds. Also note the "wait", put whatever value you want in there (after you fix your logic).
Also note, this is all done using the GUI. Just do a search for "animation" and find the GUI functions "Play Unit Animation" and "Clear Animation".
Let me know if you are interested in knowing how to control animations like these with just the data editor. If I have time and can be bothered, I will show you.
@zzPop: Go
I forgot to add in the OP that after the trigger completes it turns off, so it only plays once, but i'm reading your post thoroughly now.
edit: it's also a doodad, but i'm sure i can change things accordingly.
edit2: you did it in the GUI...that doesn't really help me. D:
Umm...
the GUI is basically triggers (I call it GUI, since it is a graphical user interface). Triggers are just GUI representations of underlying Galaxy code.
All those things are just actions in a trigger. What exactly do you want?
You can set up the trigger to fire however you wish (after you fix your timing logic).
<<reply 128343="">>
event-every 30 seconds
condition- none
thats what it looks like
@ResolveHK: Go What I said in my previous post still works.
All you need to do is loop through all the units in the region and apply the Animation(s) like I said, then after the wait, loop through them again and stop the animations.
It would probably make life easier if you created a unit group for all those units, but its not even necessary.
I really don't see what trouble you are having. If you can start/stop the animations for one unit, you can easily do it with identical units of the same type within a region just by looping over them.
@zzPop:
I got it. All i did was:
Sorry for the annoyance. I hope this post helps others having troubles with Doodad animations.