Jump to content

Fix for actor height being reset to 1.0


Recommended Posts

Posted

Sexout sets actor scale to 1.0 when starting animations but in my case it wouldn't set actor scale back to the original value before starting the scene. I tried this fix 

but it didn't work. Since Sexout by default has the positioning function forcing actor scales isn't necessary in less than extreme cases, so I disabled it by deleting these lines located in

Sexout.esm

Script SexoutNGEffectBaseScriptF 

 

    ; Lock and scale our participants
    foreach Entry <- Actors
      let actor := *Entry
      let fScale := actor.GetScale
      if actor.GetIsCreature
        if 1911 == anim ; special rule for bighorner 1911..
          PrintD "Scaling "+$(Entry["key"])+" from "+$fScale+" to 0.8"
          actor.NX_SetEVFl "Sexout:Started::fScale" fScale
          actor.SetScale 0.8
        endif
      else
        PrintD "Scaling "+$(Entry["key"])+" from "+$fScale+" to 1.0"
        actor.NX_SetEVFl "Sexout:Started::fScale" fScale
        actor.SetScale 1.0
      endif
    loop

 

    foreach Entry <- Actors
      let actor := *Entry
      call fnSexoutActorUnlock actor
      let fScale := actor.NX_GetEVFl "Sexout:Started::fScale"
      if fScale > 0
        PrintD "Rescaling "+$(Entry["key"])+" to "+$fScale
        actor.SetScale fScale
      endif
    loop

 

Posted (edited)

What you suggest should work for the scaling problem, but I'm not sure it's a good idea to remove "call fnSexoutActorUnlock actor".
This function seems to reset some NX variables, including "InUse".

 

22 hours ago, SloBroOld said:

  foreach Entry <- Actors
      let actor := *Entry
      call fnSexoutActorUnlock actor
      let fScale := actor.NX_GetEVFl "Sexout:Started::fScale"
      if fScale > 0
        PrintD "Rescaling "+$(Entry["key"])+" to "+$fScale
        actor.SetScale fScale
      endif
    loop

 

If you have a moment, try testing "call fnSexoutActorInUse rActor" after a sex scene (with rActor one of the actors in the party).

 

fnSexoutActorInUse rActor should return TRUE if the rActor is currently being used by Sexout, FALSE otherwise.

With the removal of the "call fnSexoutActorUnlock actor" line, the fnSexoutActorInUse function should systematically return TRUE during and after the sex scene. This is likely to cause problems with any mods that check fnSexoutActorInUse before launching a sex animation.  

 

 

I think it's safer to keep the second loop with just ‘call fnSexoutActorUnlock actor’ and "let actor := *Entry" inside, the first loop should be able to be deleted completely.

 

Edited by Machiavelique

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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