gainLOS vs horse

Post » Tue Jan 01, 2013 3:49 pm

i have a quest start when the player approaches a dead actor.
this is done by
RegisterForSingleLosGain (PlayerRef, Guntur)
in an OnDeath event on the actor's script and then
Event OnGainLos (Actor akViewer, ObjectReference akTarget)	if ( ( akViewer == PlayerRef ) && ( akTarget == Guntur ) )							if ( PlayerRef.GetDistance (Guntur) &--#60;= 1024 )			QuestAntipathy.SetStage (201)				else			Utility.Wait (1)			RegisterForSingleLosGain (PlayerRef, Guntur)		endif	endifendEvent
(the getdistance is to make it wait until pc is close enough or else keep waiting until he is)
and works perfectly - as long as the pc is on foot.
when you approach the whole thing on a horse though, _nothing_ happens.
not even if you dismount, walk away on foot a bit and re-approach. coming on horse absolutely breaks the whole thing.


And the weirdest thing is, in the same script on the same actor, even in the same OnDeath-event,
there's an alternate way to start the same quest (as an eye witness to the actor getting
murdered), going like
	elseif ( PlayerRef.HasLos (Guntur) )
, which absolutely works, no matter if on foot, on horse or on whatever...

so, what is this? hasLOS works on a horse, gainLOS not, or am i missing out on something here?
any help largely appreciated, i don't even know where to look right now
(and it's the last bug before i can finally release the thing, so i'd really like to get this over with)
User avatar
kiss my weasel
 
Posts: 3221
Joined: Tue Feb 20, 2007 9:08 am

Return to V - Skyrim