Jump to content

Need help to add a sex scene to my Tiefling mod


dePog

Recommended Posts

Posted

Hi,

 

I am the author of the Tiefling mod. It adds a new Tiefling race, plus overhauls most of the game mechanics, plus adds an overall story line to the Tiefling character.

 

I was hoping that another mod author who has some expertise with Sexlab could add a sex scene to the Tiefling mod.

 

To give a bit of background: Due to a curse from her father, Molag Bal, Tiefling has no health, magicka, or stamina regeneration, and so she has to teleport back to Oblivion every day to get regenerated by him. Currently she worships at his altar to get her stat regen, but due to the storyline that I have given Tiefling, it would be more likely that Molag would only regen her if she 'submitted' to him.

 

Just to be clear, she can choose to follow Mara and avoid this humiliation, but if she chooses to remain with her father, and thus gain greater power, then she has to 'pay the price'. So seeing that Molag is a pretty sick dude I feel that I need to add the submission scene when she returns to Oblivion for her daily dose of health. This sex event would have to be triggered each time Tiefling teleports back to her cell in Oblivion. Ideally it would be good if there was some variation, so that the sex scene was not always the same.

 

I can do normal Papyrus scripting, but have never ventured into Sexlab, so if there is anyone interested in creating this for me I would be appreciative.

 

Thanks,

dePog

Posted

I haven't really looked at it, but you could check Sanguine's Debauchery for some inspiration.

 

I know PSQ has a "manually" controlled kissing scene, which uses move/translate and scale to get the actors in the proper position, and calls the animation directly rather than through sexlab. This might be the best way to avoid conflict/weirdness with any mods which tie into orgasm/startsex events.

 

 

 

 

Event OnUpdate()    If KissingNow        If KissingActor.IsBleedingOut()            Debug.SendAnimationEvent(KissingActor, "Arrok_StandingForeplay_A2_S1")        EndIf        SyncLocation()        RegisterForSingleUpdate(1.0)    EndIfEndEventEvent OnControlUp(String Control, Float HoldTime)    If Control != "Activate"        Return    Endif        If KissingNow        EndKissing()    EndIfEndEventFunction StartKissing(Actor Kiss)    KissingActor = Kiss    FadeToBlackHoldImod.ApplyCrossFade(2.0)    Utility.Wait(2.0)        Debug.ToggleCollisions()    Game.ForceThirdPerson()    If PSQ.SexLab.Config.AutoTFC && Game.GetCameraState() != 3        MiscUtil.ToggleFreeCamera()        MiscUtil.SetFreeCameraSpeed(PSQ.SexLab.Config.AutoSUCSM)    EndIf    LockActor()    SyncLocation()        KissingActor.SplineTranslateTo(LocX, LocY, LocZ, RotX, RotY, RotZ + 0.001, 20.0, 500, 0.00001)    PlayerRef.SplineTranslateTo(LocX, LocY, LocZ, RotX, RotY, RotZ - 0.001, 20.0, 500, 0.00001)        Utility.Wait(1.0)    ImageSpaceModifier.RemoveCrossFade(2.0)        RegisterForControl("Activate")    KissingNow = True    RegisterForSingleUpdate(1.0)EndFunctionFunction EndKissing()    UnregisterForControl("Activate")    KissingNow = False    FadeToBlackHoldImod.ApplyCrossFade(2.0)    Utility.Wait(2.0)        Debug.ToggleCollisions()    If Game.GetCameraState() == 3        MiscUtil.ToggleFreeCamera()    EndIf        KissingActor.StopTranslation()    PlayerRef.StopTranslation()        UnLockActor()        KissingActor = None    KissingActorHelmet = None    PlayerRefHelmet = None    RaiseArousalCount = 0    Utility.Wait(1.0)    ImageSpaceModifier.RemoveCrossFade(2.0)EndFunctionFunction LockActor()    Scaling()    ClearHandsAndHead()    ActorUtil.AddPackageOverride(PlayerRef, KissingDoNothing, 100)    PlayerRef.EvaluatePackage()    ActorUtil.AddPackageOverride(KissingActor, KissingDoNothing, 100)    KissingActor.EvaluatePackage()    Game.DisablePlayerControls(False, False, True, False, False, False, True)    Game.SetPlayerAIDriven()    KissingActor.SetRestrained(True)    KissingActor.SetDontMove(True)    MfgConsoleFunc.SetPhonemeModifier(KissingActor, 0, 15, 50)    MfgConsoleFunc.SetPhonemeModifier(PlayerRef, 0, 15, 50)    Debug.SendAnimationEvent(KissingActor, "Arrok_StandingForeplay_A2_S1")    Debug.SendAnimationEvent(PlayerRef, "Arrok_StandingForeplay_A1_S1")EndFunctionFunction UnLockActor()    Debug.SendAnimationEvent(KissingActor, "IdleForceDefaultState")    Debug.SendAnimationEvent(PlayerRef, "IdleForceDefaultState")    PlayerRef.SetScale(PlayerRefScale)    KissingActor.SetScale(KissingActorScale)    PlayerRef.ClearExpressionOverride()    MfgConsoleFunc.ResetPhonemeModifier(PlayerRef)    KissingActor.ClearExpressionOverride()    MfgConsoleFunc.ResetPhonemeModifier(KissingActor)    ActorUtil.RemovePackageOverride(PlayerRef, KissingDoNothing)    PlayerRef.EvaluatePackage()    ActorUtil.RemovePackageOverride(KissingActor, KissingDoNothing)    KissingActor.EvaluatePackage()    Game.EnablePlayerControls()    Game.SetPlayerAIDriven(False)    KissingActor.SetRestrained(False)    KissingActor.SetDontMove(False)    KissingActor.EquipItem(KissingActorHelmet)    PlayerRef.EquipItem(PlayerRefHelmet, False, True)EndFunctionFunction SyncLocation()    RotX = PlayerRef.GetAngleX()    RotY = PlayerRef.GetAngleY()    RotZ = PlayerRef.GetAngleZ()    LocX = PlayerRef.GetPositionX() + Math.sin(RotZ) * 1    LocY = PlayerRef.GetPositionY() + Math.cos(RotZ) * 1    LocZ = PlayerRef.GetPositionZ()        KissingActor.SetPosition(LocX, LocY, LocZ)    KissingActor.SetAngle(RotX, RotY, RotZ)EndFunctionFunction Scaling()    Float Display    Float Base        Display = PlayerRef.GetScale()    PlayerRef.SetScale(1.0)    Base = PlayerRef.GetScale()    PlayerRefScale = Display / Base    PlayerRef.SetScale(0.985 / Base)        Display = KissingActor.GetScale()    KissingActor.SetScale(1.0)    Base = KissingActor.GetScale()    KissingActorScale = Display / Base    KissingActor.SetScale(1 / Base)EndFunction

 

 

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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