Jump to content

The Sexoutng Api (How-To For Modders)


prideslayer

Recommended Posts

Posted

What variable can I check against to get 'time remaining' during sex?  I know the base script has a timeleft, but I can't find anywhere that it's written to something I can grab.

Posted

There isn't one, not a reliable one anyway. The problem with trying to determine that is that there are a few things (and likely to be more) that can muck with it. Lust for example modifies the duration of the act, and the Pause spell (used by positioning and other stuff) causes the timer to stop moving. FinishNow will end the act right now without waiting for the timer.

 

Sexout is intended to be largely event driven because of stuff like that, just watching a clock and hoping things match up isn't reliable. Is there something you can't do (nicely) with the existing hooks and such? Maybe I can extend them or make new ones.

Posted (edited)

Mods like Lust are exactly what I'm trying to account for.  I can properly end sounds playing by grabbing the duration at sex start and running a timer.  However, if I run a timer, and Lust prolongs sex, sounds end too early.  If I take the timer away, Lust isn't a problem, but there is no way to account for that last sound playing, and they play too long.

 

I think we've been over this before.  lol

 

EDIT:  I wonder if forcing another silent SayTo or PlaySound at sex end would interrupt/end that last SayTo or PlaySound?

Edited by t3589
Posted

It might, not sure.

 

I understand what you're trying to accomplish, but there's just not a reliable way to do it with the timer. As I'm UDFifying sexout, I'm going to get the soundsystem in there too, and we'll have to have a talk about what the easiest way to convert is for you.

 

Sexout doesn't even *try* to deal with "sound overrun" itself, I gave up after going down the road to madness that you're on. The early versions, before the duration could change, would look at the remaining time and make sure they picked a sound that was short enough to fit within the remaining time.

 

That's not really possible now. My solution was to just stick to 'short' sounds so that if/when they do overrun, it's not by much. They should all be done by the time the knockdown/redress is finished.

Posted (edited)

Right.  That's what I'm trying to address.  I too just came to the short length conclusion for this second time around.

 

Though you said something interesting.  The sounds DO stop playing by the time redress is finished.  I'm tying to stop them before that.  It just seems odd for sexfx to be playing in between kd and redress.

 

BTW playing a blank SayTo does end the voices.  So at least that's covered.  It's just these FX that are problematic.

 

EDIT:  What do you mean convert?  I originally created the sound replacer to be absorbed by SexoutNG.  So whatever you want to do and however you want to do it is fine with me.

 

EDIT EDIT:  Could I just end them when KD happens?  Is there a var I could grab to know when KD has occurred?  Will the var still be present if they set KD to off?

Edited by t3589
Posted

Lemme think (and code) before directly answering. I could tell you some vars or tokens to look for, but the UDF stuff is going to be the preferred interface for that, so I'll be able to provide an "fnSexoutGetStage" or something, and you'll be able to try some different things to see where it works best.

 

As for the convert.. I wasn't aware. One of the things on my todo list is to make much of sexout pluggable, and the UDFs are going to allow that nicely. My plan was to take things like the sound engine, knockdown, splash/vibrator/etc effects, and basically anything I can -- and make them 'open' to mods to replace by just telling sexout to use a UDF they provide to handle it, rather than the built in one.

 

Eventually users could even pick this stuff through MCM, and use your sounds for rape and the built in ones (or someone elses) for consensual, or whatever else we can dream up.

Posted

Roger that.  Before you try too hard I think I've found a viable solution.  The global CB end spell seems to apply in adequate time.  It's not perfect, but as you mentioned if they're short lengths it shouldn't be a problem.  I'm going to give up there for now.

 

For the record, I think that sound fx should be applied by the animators, or that is, whichever part is responsible for making those anims that play sounds synced with the motion of the anim.  Those work great because they really sync up the sounds.  We're just arbitrarily playing sxf as some sort of work around imo.  I honestly do love the synced anim sfx, other than those, I can't stand them personally.

 

 

Posted

Yeah, I'm conflicted about that.

 

On the one hand, yes, with good quality sounds and proper syncing, it adds a ton to the experience.

 

On the other hand, I tried a soundpack by someone once and it was full of squealing and screaming girls from an anime porno, and I wanted to hunt the author down and murder him.

 

Different people find different sounds sexy, so I want to leave the door open for the players to use sounds they like, rather than the animator (or anyone) dictating to them.

 

Edit: Not that I have any problem with anime pornos, I'm a fan, but... the voices do not go with the fallout visuals. Not my fallout anyway, others go to lengths to make the looks match that sound, I know. ;)

Posted

Isn't there a variable or something to get the surface that the actors are on?  If so, what kind of info does it provide (base id of whatever is -# Z below one of them?), and how do I access it?

Posted

No :(

 

There's a refSurface setting, which is probably what you're thinking of, but that's used to tell sexout that you want the act to take place on that surface rather than on the ground. It's intended for use with beds, countertops, car hoods.. whatever, and sexout uses it to fix the Z offset as well as orientation (heads toward head of bed, etc).

 

There isn't one that goes the other way and tells you the surface, but generally speaking, the surface is the ground. I think only DoctaSax is using refSurface right now.

 

In the future, sexout is going to use it for the ZAZ restraints as well. This should allow you to put a restraint static in the world and then use it for sex. Right now to get that effect you have to remove/hide the world static, and then make the ZAZ call which generates its own prop.

Posted

The ground can be lots of different textures, though.  I guess a solution would be to walk-ref 128 and check any ids to a form list of different statics, which I'm pretty certain doesn't already exist, cause that would be too easy.

Posted

Textures as in carpet, sand, etc.  *sigh*  With a quick search, it would appear that buildings may not be constructed the way that I thought that they were.  I never went through the "build a vault" tutorial, so I haven't learned how to put together an interior (including a floor!) from scratch.

Posted

Perhaps you should try the tutorial? It's time well spent that will help you understand the engine a bit better.

 

I'm still confused about how textures enter into it. Textures are just pictures applied to a mesh to give it color and.. well.. texture.

Posted

Textures as in carpet, sand, etc.  *sigh*  With a quick search, it would appear that buildings may not be constructed the way that I thought that they were.  I never went through the "build a vault" tutorial, so I haven't learned how to put together an interior (including a floor!) from scratch.

 

The way you construct levels in the GECK really through me for a loop compared to things like first person shooter levels. It's a lot more like working with tilesets in a 2D game. Gave me a bunch of flashbacks to modding Fallout Tactics.

Posted

There's a MCM option regarding TFC enable / disable, but I never managed to make it work (I untick but it still goes in tfc, maybe it's not for what I assume it is, but it shouldn't be a problem with mcm, other options work). Is there a way to force the disable by other script instead of touching sexout.esm?

Posted

I'm thinking that it's required for some reason.  Some people have been clamoring for supporting 1st person during sex due to the semi-recent mod that lets you see your body when you look down.

Posted

 

Textures as in carpet, sand, etc.  *sigh*  With a quick search, it would appear that buildings may not be constructed the way that I thought that they were.  I never went through the "build a vault" tutorial, so I haven't learned how to put together an interior (including a floor!) from scratch.

 

The way you construct levels in the GECK really through me for a loop compared to things like first person shooter levels. It's a lot more like working with tilesets in a 2D game. Gave me a bunch of flashbacks to modding Fallout Tactics.

 

You got that right. That's why I screamed with rage when I lost my work on the silver rush basement. I spent *hours* building it, trying to find the right arch that fit with the wall, and that kind of shit.

 

 

There's a MCM option regarding TFC enable / disable, but I never managed to make it work (I untick but it still goes in tfc, maybe it's not for what I assume it is, but it shouldn't be a problem with mcm, other options work). Is there a way to force the disable by other script instead of touching sexout.esm?

TFC is a requirement right now, so that control doesn't work. Without tfc, the player will not animate -- pickidle on the player only works in TFC. When I've switched over to playidle I think that works either way.

Posted

but is it still possible? do I have the possibility to disable it by script, like changing some variable that handles it, or there's some sort of protective script that re-set that value in Gamemode? I'd love to avoid weird solutions like invoking a CB with con_TFC or modifying the source esm :o

 

 

Posted

There is some older code in there for that, but right now, no -- no way to control it short of overriding the main sexout script it looks like. I will put it on the todo list for the next beta cycle though, which should start next weekend if not sooner.

Posted

thank you prideslayer. Not if it's something hard to handle, I mean mine is just a curiosity for few experiments, so not an essential thing

Posted

No problem. It's a setting that I made available, it should be honored. If people turn it off and things get sideways, well, I'll make sure the hint makes it clear that this is a likely outcome. ;)

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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