rydin Posted March 27, 2015 Posted March 27, 2015 Has anyone used SexLab's NewThead() function in a mod yet? http://git.loverslab.com/sexlab/framework/wikis/guide-newthread I ask as I would like to see how it works (I'm one of those who learn from seeing it in action and breaking it down since I have no coding experience). ^^; (maybe this should be in the techincal support thread? Didn't think of that one. Meh. ><)
blabla11 Posted March 27, 2015 Posted March 27, 2015 Function punish(Actor _target, Actor _player, String _tag = "", bool _aggressive = false) String supress = "" String tag = _tag If(_aggressive) tag = tag + ", Aggressive" EndIf If _player.IsWeaponDrawn() _player.SheatheWeapon() EndIf sslThreadModel Model = SexLab.NewThread() sslBaseAnimation[] anims actor[] activeActors = new actor[2] If _player.GetActorBase().GetSex() == 0 ; male player always penetrates Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) supress = "lesbian, FF" Else ; PC is not male -> PC is female If _tag == "Oral" ; female player is licked Model.AddActor(_player, false) Model.AddActor(_target, _aggressive) anims = new sslBaseAnimation[1] anims[0] = SexLab.GetAnimationByName("Zyn Licking") ElseIf _tag == "Anal" If _aggressive ; female player penetrates NPC Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) tag = tag + ", fisting" Else Model.AddActor(_player, false) Model.AddActor(_target, _aggressive) tag = tag + ", Cowgirl" EndIf ElseIf _tag == "Vaginal" If _target.GetLeveledActorBase().GetSex() == 0 ;female player, male NPC Model.AddActor(_player, false) ; female player uses cowgirl Model.AddActor(_target, _aggressive) tag = tag + ", Cowgirl" Else ; female player penetrates NPC Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) tag = tag + ", fisting" EndIf Else Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) tag = tag + ", lesbian, FF" EndIf EndIf If !anims anims = SexLab.GetAnimationsByTags(2, tag, supress) EndIf Model.DisableUndressAnimation(_target) ; if(!_aggressive) ; supress = "Aggressive, " ; endIf Model.SetAnimations(anims) If _aggressive RegisterForModEvent("AnimationEnd_PostRape", "PostRape") Model.SetHook("PostRape") Else RegisterForModEvent("AnimationEnd_PostFornicate", "PostFornicate") Model.SetHook("PostFornicate") EndIf Model.StartThread() EndFunction
Earen Posted March 28, 2015 Posted March 28, 2015 Function punish(Actor _target, Actor _player, String _tag = "", bool _aggressive = false) String supress = "" String tag = _tag If(_aggressive) tag = tag + ", Aggressive" EndIf If _player.IsWeaponDrawn() _player.SheatheWeapon() EndIf sslThreadModel Model = SexLab.NewThread() sslBaseAnimation[] anims actor[] activeActors = new actor[2] If _player.GetActorBase().GetSex() == 0 ; male player always penetrates Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) supress = "lesbian, FF" Else ; PC is not male -> PC is female If _tag == "Oral" ; female player is licked Model.AddActor(_player, false) Model.AddActor(_target, _aggressive) anims = new sslBaseAnimation[1] anims[0] = SexLab.GetAnimationByName("Zyn Licking") ElseIf _tag == "Anal" If _aggressive ; female player penetrates NPC Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) tag = tag + ", fisting" Else Model.AddActor(_player, false) Model.AddActor(_target, _aggressive) tag = tag + ", Cowgirl" EndIf ElseIf _tag == "Vaginal" If _target.GetLeveledActorBase().GetSex() == 0 ;female player, male NPC Model.AddActor(_player, false) ; female player uses cowgirl Model.AddActor(_target, _aggressive) tag = tag + ", Cowgirl" Else ; female player penetrates NPC Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) tag = tag + ", fisting" EndIf Else Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) tag = tag + ", lesbian, FF" EndIf EndIf If !anims anims = SexLab.GetAnimationsByTags(2, tag, supress) EndIf Model.DisableUndressAnimation(_target) ; if(!_aggressive) ; supress = "Aggressive, " ; endIf Model.SetAnimations(anims) If _aggressive RegisterForModEvent("AnimationEnd_PostRape", "PostRape") Model.SetHook("PostRape") Else RegisterForModEvent("AnimationEnd_PostFornicate", "PostFornicate") Model.SetHook("PostFornicate") EndIf Model.StartThread() EndFunction Oh, just wondered, whether such code should be treated as an adult, porn content or not
blabla11 Posted March 28, 2015 Posted March 28, 2015 Function punish(Actor _target, Actor _player, String _tag = "", bool _aggressive = false) String supress = "" String tag = _tag If(_aggressive) tag = tag + ", Aggressive" EndIf If _player.IsWeaponDrawn() _player.SheatheWeapon() EndIf sslThreadModel Model = SexLab.NewThread() sslBaseAnimation[] anims actor[] activeActors = new actor[2] If _player.GetActorBase().GetSex() == 0 ; male player always penetrates Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) supress = "lesbian, FF" Else ; PC is not male -> PC is female If _tag == "Oral" ; female player is licked Model.AddActor(_player, false) Model.AddActor(_target, _aggressive) anims = new sslBaseAnimation[1] anims[0] = SexLab.GetAnimationByName("Zyn Licking") ElseIf _tag == "Anal" If _aggressive ; female player penetrates NPC Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) tag = tag + ", fisting" Else Model.AddActor(_player, false) Model.AddActor(_target, _aggressive) tag = tag + ", Cowgirl" EndIf ElseIf _tag == "Vaginal" If _target.GetLeveledActorBase().GetSex() == 0 ;female player, male NPC Model.AddActor(_player, false) ; female player uses cowgirl Model.AddActor(_target, _aggressive) tag = tag + ", Cowgirl" Else ; female player penetrates NPC Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) tag = tag + ", fisting" EndIf Else Model.AddActor(_target, _aggressive) Model.AddActor(_player, false) tag = tag + ", lesbian, FF" EndIf EndIf If !anims anims = SexLab.GetAnimationsByTags(2, tag, supress) EndIf Model.DisableUndressAnimation(_target) ; if(!_aggressive) ; supress = "Aggressive, " ; endIf Model.SetAnimations(anims) If _aggressive RegisterForModEvent("AnimationEnd_PostRape", "PostRape") Model.SetHook("PostRape") Else RegisterForModEvent("AnimationEnd_PostFornicate", "PostFornicate") Model.SetHook("PostFornicate") EndIf Model.StartThread() EndFunction Oh, just wondered, whether such code should be treated as an adult, porn content or not You wouldn't be the first to furiously masturbate to my code.
Ashal Posted March 28, 2015 Posted March 28, 2015 You can see how it works easily by looking at the code for the StartSex() function in SexLabFramework.psc. StartSex() is just a shorthand for using NewThread() internally with a couple common of model setup functions abstracted out into a single function. It basically just boils down to : ; // Claim an empty thread for use sslThreadModel Model = SexLab.NewThread() ; // Call any setup functions from sslThreadModel.psc you want ; // Only Model.AddActor(Actor) or Model.AddActors(Actor[]) is required ; // SexLab will compensate and use defaults for anything not setup in this phase. ; // Start the animation once scene is fully customized/setup sslThreadController Thread = Model.StartThread() ; // Check if animation successfully started if Thread != None ; // Do stuff with active animation Thread, like Thread.AdvanceStage() or Thread.StopAnimation() endIf
Recommended Posts
Archived
This topic is now archived and is closed to further replies.