Nymra Posted January 28, 2025 Posted January 28, 2025 Long story short, I want to control expressions and sound via my own mod instead of Sexlab (Sexlab Expressions and Sound turned off) To do this I need to somehow track the State of things for the PC on each stage... and there I cannot follow the Sexlab Scripts. I can already track stages and stage changes, but I do not understand how I can scan for the "Sound" that is supposed to play during the scene (Oral sound or Squising), but more importanly I want to check if the "open_mouth" tag is provided by the SLAL animation. I found the OpenMouth in ssBaseAnimation and sslActorAlias but I dont really understand the scripts or where to start working with them... ";sslBaseAnimation ; bool function UseOpenMouth(int Position, int Stage) ; return FlagsArray(Position)[FlagIndex(Stage, kOpenMouth)] as bool ;endFunction seems what I need, but I cannot compile the script. sslBaseAnimation .UseOpenMouth(pPosition, sStage) says I have to use it on a variable not a type or alone
AndrewLRG Posted January 28, 2025 Posted January 28, 2025 Do you need sounds for the currently running Sexlab scene? In that case you could probably get them from the sslThreadController directly. We can catch any Sexlab event, use SslThreadController thread = SexLab.GetController(threadID) and get any variable we need from Thread. For example, Actor[] actorList = thread.Positions will return a list of actors in SexLab scene. For the currently playing sound it should be Sound CurrentlyPlayingSound = thread.SoundFX It's been a while since I looked at Sexlab scripts, but if memory services me it should look like that.
Hex Bolt Posted January 28, 2025 Posted January 28, 2025 1 hour ago, Nymra said: seems what I need, but I cannot compile the script. sslBaseAnimation .UseOpenMouth(pPosition, sStage) says I have to use it on a variable not a type or alone sslBaseAnimation is the script name. That's why it doesn't compile. Use the instance of the current animation to call UseOpenMouth.
Nymra Posted January 28, 2025 Author Posted January 28, 2025 41 minutes ago, AndrewLRG said: Do you need sounds for the currently running Sexlab scene? In that case you could probably get them from the sslThreadController directly. We can catch any Sexlab event, use SslThreadController thread = SexLab.GetController(threadID) and get any variable we need from Thread. For example, Actor[] actorList = thread.Positions will return a list of actors in SexLab scene. For the currently playing sound it should be Sound CurrentlyPlayingSound = thread.SoundFX It's been a while since I looked at Sexlab scripts, but if memory services me it should look like that. ah, thx. it compiles. Will play around with that. 29 minutes ago, Hex Bolt said: sslBaseAnimation is the script name. That's why it doesn't compile. Use the instance of the current animation to call UseOpenMouth. hmm, how do I get the instance of an animation? the "thread." thingy is not the thing I need here? At least I tried with it and it still does not compile. I mean this exists: if sslBaseExpression.IsMouthOpen(cfgqst.PlayerRef) Debug.messageBox("USE OPEN MOUTH") endif AND IT compiles, but "IsMouthOpen" seems to only check for the applied mfg expressions and not IF the mouth is supposed to be open, hmm. my script at the moment: int threadID = SexLab.FindActorController(cfgqst.PlayerRef) SslThreadController thread = SexLab.GetController(threadID) Int SceneStage = thread.Stage Sound CurrentlyPlayingSound = thread.SoundFX if thread.UseOpenMouth(1, SceneStage) Debug.messageBox("USE OPEN MOUTH") endif
AndrewLRG Posted January 28, 2025 Posted January 28, 2025 18 minutes ago, Nymra said: my script at the moment: if thread.UseOpenMouth(1, SceneStage) Debug.messageBox("USE OPEN MOUTH") endif I'm surprised it compiles. Function UseOpenMouth() belongs to sslBaseAnimation, I thought it should be: if thread.Animation.UseOpenMouth(1, SceneStage)
Hex Bolt Posted January 28, 2025 Posted January 28, 2025 31 minutes ago, Nymra said: hmm, how do I get the instance of an animation? the "thread." thingy is not the thing I need here? sslThreadController tc = SexLab.GetController(tid) sslBaseAnimation anim = tc.Animation
Nymra Posted January 29, 2025 Author Posted January 29, 2025 7 hours ago, Hex Bolt said: sslThreadController tc = SexLab.GetController(tid) sslBaseAnimation anim = tc.Animation 7 hours ago, AndrewLRG said: I'm surprised it compiles. Function UseOpenMouth() belongs to sslBaseAnimation, I thought it should be: if thread.Animation.UseOpenMouth(1, SceneStage) got it to work, thx alot
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now