I'm using FireSquibDeathRagdoll.m3 as a model for a buff. It is the only fire-model that produces no smoke or other unnecessary effects, which makes it perfect for my buff.
The problem is that the fire burns only for a few seconds when applied to a unit, then it disappears. I have tried the ordinary actor and model solutions, for example:
- ModelAnimationStyleContinious
- PersistentSpellFX
- Events set to BSD play forever
- and other typical settings that tend to work
I usually get stuff like this to work, but now it seems like I have hit a wall. Nothing works at all. The fire just disappears after a few seconds. Other types of fire-models last forever, but not this one.
Any ideas on how to overcome the problem? Perhaps the model just can not be used as a buff in this way?
Is there a risk that it causes lag? The fire model lasts ca 2-3 seconds, and I estimate that it can be between 25-100 buffs on the battlefield at the same time in a game. (Depending on how players play of course)
I'm curious though, what is it that prevents this particular fire-model from being looped in the same way as other types of fire-models?
"I'm curious though, what is it that prevents this particular fire-model from being looped in the same way as other types of fire-models?"
That's just how it was made. There's no setting in the editor that determines if a model is looped or not. (the model itself determines that)
"Is there a risk that it causes lag? The fire model lasts ca 2-3 seconds, and I estimate that it can be between 25-100 buffs on the battlefield at the same time in a game. (Depending on how players play of course)"
As long as the actors are being deleted, the only cause of lag is going to be from simply having that many models out. (if that was your question)
Rather than recreate the actor just have a timer set in the actor's events that is roughly the length of the animation before it disappears and then when the timer expires just restart the animation and timer.
Its not global but will last forever, until actor gets destroyed. For such simple model it's ok, but if you want just stop this loop and play another animation without destroying the actor you will have to add SetStatus message and IsStatus term to prevent loop from triggering again.
Hello.
I'm using FireSquibDeathRagdoll.m3 as a model for a buff. It is the only fire-model that produces no smoke or other unnecessary effects, which makes it perfect for my buff.
The problem is that the fire burns only for a few seconds when applied to a unit, then it disappears. I have tried the ordinary actor and model solutions, for example:
- ModelAnimationStyleContinious - PersistentSpellFX - Events set to BSD play forever - and other typical settings that tend to work
I usually get stuff like this to work, but now it seems like I have hit a wall. Nothing works at all. The fire just disappears after a few seconds. Other types of fire-models last forever, but not this one.
Any ideas on how to overcome the problem? Perhaps the model just can not be used as a buff in this way?
Although far from optimal, you could periodically create a new actor for the fire. On destruction you could make a new one, or maybe with a timer.
Is there a risk that it causes lag? The fire model lasts ca 2-3 seconds, and I estimate that it can be between 25-100 buffs on the battlefield at the same time in a game. (Depending on how players play of course)
I'm curious though, what is it that prevents this particular fire-model from being looped in the same way as other types of fire-models?
@Kabelkorven: Go
"I'm curious though, what is it that prevents this particular fire-model from being looped in the same way as other types of fire-models?"
That's just how it was made. There's no setting in the editor that determines if a model is looped or not. (the model itself determines that)
"Is there a risk that it causes lag? The fire model lasts ca 2-3 seconds, and I estimate that it can be between 25-100 buffs on the battlefield at the same time in a game. (Depending on how players play of course)"
As long as the actors are being deleted, the only cause of lag is going to be from simply having that many models out. (if that was your question)
@Kabelkorven: Go
Rather than recreate the actor just have a timer set in the actor's events that is roughly the length of the animation before it disappears and then when the timer expires just restart the animation and timer.
@JacktheArcher: Go
a good example of this is the guardian shield on the sentry
Just make a cycle for animation instead of silly workarounds.
ActorCreation => AnimPlay "Fire" Stand
AnimDone -> (term)AnimName "Fire" =>(action)AnimPlay "Fire" Stand
Thanks for your suggestions! I found a solution now.
@abvdzh: Go
Yea but odds are it's global and will just go on forever once the flame goes out. Though if it's not then that's likely the best solution.
Its not global but will last forever, until actor gets destroyed. For such simple model it's ok, but if you want just stop this loop and play another animation without destroying the actor you will have to add SetStatus message and IsStatus term to prevent loop from triggering again.