Jump to content

[LE] Npc will not dismount horse (apparently stuck)


sornan

Recommended Posts

Hello :)

 

 

I have a scene where a female Npc rides their horse to a travel location, and then runs a new travel package with 'use horse if possible' flag as false with the travel location right next to the 'horse riding' travel location, so the result normally would be just a dismount with no further movement at that point. This was working great through numerous tests, and then a recent re-test on things revealed for some unknown reason, she is not dismounting.

 

I can confirm that the new travel package with horse travel flagged as false is indeed running, even though she is still on the horse.

 

Later on in the scene, she is meant to walk to a nearby location via a new travel package as well, and this now no longer works, she just remains indefinitely on the horse, as if stuck. This all used to work just fine previously.

 

The only adjustments I've made are to voice types after the scene was working fine, so there is nothing I can find that I had changed which would cause this.

 

I've also checked the Navmesh, it seems fine.

 

I did add the script function Dismount to her, and it had no effect, along with an Evaluate package right after it.

 

She also has all of her travel packages set to ignore combat, so any detection of semi-distant enemies should not be affecting things.

 

 

I don't know at this point, the Npc just seems stuck on the horse, as if something has bugged out.

 

Any insight or help would be much appreciated :)

Link to comment
Share on other sites

Hmm. Few test ideals ... Try not running the 2nd package but something she has to dismount for and test that.

Maybe the factor for the 2nd package is filled to quickly as she is already mounted and that is messing it up.

How about adding a stage in the middle with something she must dismount for. When fulfilled starts the 2nd riding package/quest.

Link to comment
Share on other sites

If you really think this could be an issue caused by packages, use next code to debug the packaging. It works for actor and referenceAlias scripts.

 

 

 

; Event received when this actor starts a new package (only if this alias points at an actor)
Event OnPackageStart(Package akNewPackage)
    myF_Info(1, akNewPackage)
EndEvent

; Event received when this actors package changes (only if this alias points at an actor)
Event OnPackageChange(Package akOldPackage)
    myF_Info(2, akOldPackage)
EndEvent

; Event received when this actors package ends (only if this alias points at an actor)
Event OnPackageEnd(Package akOldPackage)
    myF_Info(0, akOldPackage)
EndEvent


; -- FUNCTION --

FUNCTION myF_Info(Int i, Package p)
;----------------------------------
    string s

    IF     (i == 1)
                    s = "Start"
    ELSEIF (i == 2)
                    s = "Change"
    ELSE
                    s = "End"
    ENDIF

    Debug.Trace(s+ " <" +i+ "> with " +p)   ; output to "papyrus.0.log"
ENDFUNCTION

 

 

 

Actors behavior can be strange, if a scene (in which the actor is involved) is not finished.

For running scene use these: https://www.creationkit.com/index.php?title=IsActionComplete_-_Scene, https://www.creationkit.com/index.php?title=IsPlaying_-_Scene

Edited by ReDragon2013
Link to comment
Share on other sites

Hmm. Few test ideals ... Try not running the 2nd package but something she has to dismount for and test that.

Maybe the factor for the 2nd package is filled to quickly as she is already mounted and that is messing it up.

How about adding a stage in the middle with something she must dismount for. When fulfilled starts the 2nd riding package/quest.

 

Hi NexusComa :smile:

 

Thanks for the reply and input.

 

That is a good idea, I should just try a test run of her moving to a position that is certainly a distance away from her actual mounted position.

 

Even though that may not be the desired result, if it works, it moves things in the direction of fixing the issue.

 

 

If you really think this could be an issue caused by packages, use next code to debug the packaging. It works for actor and referenceAlias scripts.

 

 

 

; Event received when this actor starts a new package (only if this alias points at an actor)
Event OnPackageStart(Package akNewPackage)
    myF_Info(1, akNewPackage)
EndEvent

; Event received when this actors package changes (only if this alias points at an actor)
Event OnPackageChange(Package akOldPackage)
    myF_Info(2, akOldPackage)
EndEvent

; Event received when this actors package ends (only if this alias points at an actor)
Event OnPackageEnd(Package akOldPackage)
    myF_Info(0, akOldPackage)
EndEvent


; -- FUNCTION --

FUNCTION myF_Info(Int i, Package p)
;----------------------------------
    string s

    IF     (i == 1)
                    s = "Start"
    ELSEIF (i == 2)
                    s = "Change"
    ELSE
                    s = "End"
    ENDIF

    Debug.Trace(s+ " <" +i+ "> with " +p)   ; output to "papyrus.0.log"
ENDFUNCTION

 

 

 

Actors behavior can be strange, if a scene (in which the actor is involved) is not finished.

For running scene use these: https://www.creationkit.com/index.php?title=IsActionComplete_-_Scene, https://www.creationkit.com/index.php?title=IsPlaying_-_Scene

 

Thank you RedDragon2013 :smile:

 

Thanks for the code there, and that could certainly help detect for sure if the packages are completing or not.

 

The scene phase does wait on her to run the new package that *should* cause her to dismount, and that phase does complete, but I should double check and maybe add a section that requires completion of that package before allowing things to progress if for no other reason than to help whittle things down.

 

The Scene does progress beyond the point of her being bugged, but it gets stuck when she cannot move to a nearby position which a particular phase waits on so she can talk to someone.

 

Thanks for the links to those commands, good tools to know about in the event a scene is having major issues.

 

It'll get figured out, it's only about the 5th brick wall I've ran into in making this mod... things got worked out over time, often thanks to you great guys here helping as well :smile:

 

I'll post once I get a chance to test some changes

 

Thanks!

Edited by sornan
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...