I had to put the delay in, to ensure that the horse wasn't destroyed in that 0.5 seconds between when it's created and the player mounts it. I'd considered just having it be a delayed DestroyObject to get around that, but it still would have likely meant a delay of 2-8 seconds before being destroyed on dismount, instead of the 6-12 seconds it is now.
One thing you could do, is add a 2 stage VFX to the dismissal. Something like the ghostly pulse when the variable is initially set, and then an unsummoning effect when it's destroyed. While it would still have the same delay, it would look a little more like it was meant to be that way then.
Edit: Try this in the mounts HB script.
void main()
{
if (GetLocalInt (OBJECT_SELF, "UNMOUNTED"))
{
ApplyEffectAtLocation (DURATION_TYPE_INSTANT, EffectVisualEffect (VFX_FNF_SMOKE_PUFF), GetLocation (OBJECT_SELF));
DeleteLocalInt (GetMaster (OBJECT_SELF), "MOUNTED");
DestroyObject (OBJECT_SELF);
}
else
{
SetLocalInt (OBJECT_SELF, "UNMOUNTED", TRUE);
ApplyEffectToObject (DURATION_TYPE_PERMANENT, EffectVisualEffect (VFX_DUR_GHOSTLY_PULSE), OBJECT_SELF);
}
}
Modifié par Failed.Bard, 05 octobre 2011 - 12:03 .