sslThreadController function QuickStart(Actor Actor1, Actor Actor2 = none, Actor Actor3 = none, Actor Actor4 = none, Actor Actor5 = none, Actor Victim = none, string Hook = "", string AnimationTags = "")
SexLab.QuickStart(Game.GetPlayer())
int function StartSex(Actor[] Positions, sslBaseAnimation[] Anims, Actor Victim = none, ObjectReference CenterOn = none, bool AllowBed = true, string Hook = "")
int Function QuickSex(Actor[] Positions, sslBaseAnimation[] Anims, Actor Victim = None, Actor CenterOn = None) ; 脱衣スロットの前準備 bool[] stripoverwrite = new bool[33] int i = 0 while (i != 33) stripoverwrite[i] = false ; trueなら脱衣 i += 1 endwhile sslThreadModel Thread = SexLab.NewThread() if !Thread return -1 elseIf !Thread.AddActors(Positions, Victim) return -1 endIf ; ここらへんから設定・もちろんどれかだけ指定が可能 Thread.SetAnimations(Anims) Thread.DisableBedUse(true) ; ベッド使わない Thread.DisableLeadIn() ; 前戯なし Thread.CenterOnObject(CenterOn) Thread.SetStrip(Positions[0], stripoverwrite) ; 脱衣させない Thread.SetStrip(Positions[1], stripoverwrite) ; 脱衣させない Thread.DisableUndressAnimation() ; 脱衣アニメしない Thread.DisableRedress() ; 再着衣させない Thread.DisableRagdollEnd() ; ラグドールエンドさせない if Thread.StartThread() return Thread.tid endIf return -1 EndFunction
sslBaseAnimation[] anims anims = SexLab.GetAnimationsByTags(2, "mf,kissing", "sex")
sslBaseAnimation[] anims string tag = SexLab.MakeAnimationGenderTag(sexActors) tag += ",kissing" anims = SexLab.GetAnimationsByTags(sexActors.Length, tag, "sex")
Actor.HasKeyWordString("SexLabActive")
Actor.IsInFaction(SexLabAnimatingFaction)
ObjectReference function FindBed(ObjectReference CenterRef, float Radius = 1000.0, bool IgnoreUsed = true, ObjectReference IgnoreRef1 = none, ObjectReference IgnoreRef2 = none)
Actor function FindAvailableActor(ObjectReference CenterRef, float Radius = 5000.0, int FindGender = -1, Actor IgnoreRef1 = none, Actor IgnoreRef2 = none, Actor IgnoreRef3 = none, Actor IgnoreRef4 = none)
Actor.GetFactionRank(sla_Arousal)
function AddCum(Actor ActorRef, bool Vaginal = true, bool Oral = true, bool Anal = true) function ClearCum(Actor ActorRef) int function CountCum(Actor ActorRef, bool Vaginal = true, bool Oral = true, bool Anal = true) int function CountCumVaginal(Actor ActorRef) int function CountCumOral(Actor ActorRef) int function CountCumAnal(Actor ActorRef)
int cumid = controller.Animation.GetCum(0) SexLab.ActorLib.ApplyCum(controller.Positions[0], cumid)
int Function ValidateCreature(Actor ActorRef) ; from ActorLib.ValidateActor ActorBase BaseRef = ActorRef.GetLeveledActorBase() if !SexLab.Config.AllowCreatures return -17 elseIf !sslCreatureAnimationSlots.HasCreatureType(ActorRef) return -18 elseIf !SexLab.CreatureSlots.HasAnimation(BaseRef.GetRace(), SexLab.GetGender(ActorRef)) return -19 endIf return 1 EndFunction
sslThreadController controller = SexLab.GetController(tid)
sslThreadController controller = SexLab.GetActorController(Actor)
sslThreadController controller = SexLab.GetActorController(Actor) Actor aggr = controller.Positions[1] ; => Actorを取得できる int stagecnt = controller.Animation.StageCount ; => アニメのステージ数を取得できる controller.Stage ; => 現在のステージを取得できる controller.GoToStage(stagecnt - 2) ; => 任意のステージに変更できる controller.ChangeAnimation() ; => アニメを変更できる。いわゆる「O」キー ; controller.EndAnimation() ; => アニメを終了
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, Bool abPowerAttack, Bool abSneakAttack, Bool abBashAttack, Bool abHitBlocked) Actor selfact = self.GetActorRef() if selfact.HasKeyWordString("SexLabActive") sslThreadController controller = SexLab.GetActorController(selfact) controller.EndAnimation() endif EndEvent
Function Something(Actor act) SexLab.QuickStart(act, Hook="SomethingHookName") RegisterForModEvent("HookAnimationEnd_SomethingHookName", "EndSexEventSomethingHookName") EndFunction Event EndSexEventSomethingHookName(int tid, bool HasPlayer) sslThreadController controller = SexLab.GetController(tid) ; dosomething() EndEvent
Event OnInit() RegisterForModEvent("HookOrgasmEnd", "SSLSomethingPluginOrgasmEnd") EndEvent Event SSLSomethingPluginOrgasmEnd(int tid, bool hasPlayer) ; 引数はこのまま sslThreadController controller = SexLab.GetController(tid) ; dosomething() EndEvent
Event OnDying(Actor akKiller) ObjectReference wobj = self.GetActorRef() as ObjectReference wobj.SetPosition(wobj.GetPositionX(), wobj.GetPositionY() + 10.0, wobj.GetPositionZ()) debug.sendAnimationEvent(wobj, "ragdoll") EndEvent
SexLab.Config.AutoAdvance SexLab.Config.DisablePlayer SexLab.Config.StageTimerAggr[4]
act ; 対象Actor controller ; sslThreadController position ; contoller.Positions中のactのindex ; の時 sslBaseAnimation anim = controller.Animation int sosbend = anim.GetSchlong(controller.AdjustKey, position, controller.Stage) debug.SendAnimationEvent(act, "SOSBend"+sosbend) ; ちなみに debug.SendAnimationEvent(act, "SOSFastErect") だと元気いっぱいの角度になる