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)