dePog Posted January 18, 2016 Posted January 18, 2016 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
txzeenath Posted January 18, 2016 Posted January 18, 2016 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
Recommended Posts
Archived
This topic is now archived and is closed to further replies.