Jump to content

Anyone using NewThread() fuction in a mod?


rydin

Recommended Posts

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. ><)

Link to comment

 

 

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

Link to comment

 

 

 

 

 

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 :D

 

 

Link to comment

 

 

 

 

 

 

 

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 :D

 

 

You wouldn't be the first to furiously masturbate to my code.

 

 

Link to comment

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
Link to comment

Archived

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

  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use