• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Unsolved] Data editor questions: Actor problems

Status
Not open for further replies.
Level 4
Joined
Jul 9, 2007
Messages
50
Hey guys,
i have some trouble with actors:

1) i have a warcraft III tree (as destructable) and want its "corpse" to stay after it has been killed. to achieve this i made the actor pause its animation with a timer shortly after the death of the tree and set its death time to -1.
the problem is: when i now go away from the tree (so it is in the fog of war again) the snapshot is in stand animation and the tree looks like it is alive (i used fog of war visibility: snapshot for both the unit and the actor)
i want the snapshot to look like the last time i saw the tree but it doesn't. how can i fix this?
i played around with the snapshot actor but i couldn't fix it myself

2) i have several attachments for my units, but the animations of them are weird. they "jump" at some points. for example the unholy aura attachment (it rotates) jumps to the start of the animation at random (?) points in time. when i use the same model for a unit actor there are no problems so there is probable something wrong with the attachment actor
any ideas what can cause this?

EDIT: figured the second out my self... FINALLY! in the attachment actor it is under "model flags" the flag "automize global loops" (translated to english)

thanks for reading! =)
 
Last edited:

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,178
For your first problem, try using the "Take Snapshot" action in response to the same actor event as you use to pause the animation. Honestly I have no idea what that action does but it does sound like the sort of thing that will do what you want.

Otherwise I will need the map (or a dummy map with the problem re-created) to mess around a bit. Actors are very difficult to do right and get perfect results.
 
Level 4
Joined
Jul 9, 2007
Messages
50
hmm, ok i tried the TakeSnapshot action but it doesn't change anything here. i created an example map and attached it to this post.

i only created a model, a unit and an actor called "tree"
to see the problem just kill a tree and go away from it
 

Attachments

  • example.SC2Map
    10.4 KB · Views: 49

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,178
Struggling to find an actor only solution as the Snapshot mechanic is quite elusive.

If worst comes to worst you can try a morph solution where you change a tree to a tree (dead) which uses a stump model.

I did find a better solution to the death animation however. Use a customized death macro instead of the default and do not destroy the actor upon animation completion if there is no dead animation. That way it will persist at the last key-frame of the death animation automatically without need for complex timer stuff. You also need to remove the term from the orphaned event in the macro so that it gets removed properly if the unit is removed.
 
Level 4
Joined
Jul 9, 2007
Messages
50
ah, i didn't even know about macros yet. i did what you suggested and played around with it and finally solved the problem. i just removed the whole death macro and everything works as it should. i already tested what happens when other people destroy a tree in the fog of war and it behaves perfectly =)

thanks for your help!
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,178
i just removed the whole death macro and everything works as it should.
The actual problem is not the macro but one specific action...
SetTransferOverrideAnim Dead
I am guessing it tries to transfer the "Dead" animation to the snapshot which is missing. Setting it to "Death" does not help either since the model is not animated.

I recommend you give the model a macro with the following event (provided in XML below).
Code:
        <On Terms="ActorOrphan" Send="Destroy"/>
This will mean that if the tree unit was ever removed (say by triggers) then the actor will be removed. Without this the actor would persist forever even when the unit has been removed from the game.
 
Status
Not open for further replies.
Top