Jump to content

Four-Play WIP Discussion (was SexTec)


DocClox

Recommended Posts

 

 

 

Oh, I ask because I'm currently using that mod, and I kind of like the format of it. But a whole prostitution mod sounds really nice, are brothel building mechanics going to be a part of it, or is it going to be more like TDF Prostitution for Skyrim?

 

 

Eventually there will be brothel building, yes. For the first version, it's just whoring yourself, get approached and pimping out your follower

Link to comment

 

 


I guess it's going to be glitch prone for a while biggrin.pnglaugh.pngcool.gifrolleyes.gif
 
1YCLVDo.jpg


 

 

 

Damn Karma Sutra is really difficult it seems.

 

Anyways how do you plan on going with controls? Sexlab style or Sexout style? As in we have control and can toggle auto advance stage or we have no control and it plays a single animation that loops for a set period of time in the settings.

 

 

 

The fact no one posted this yet too is appalling.

rl0FOxdz7CcxO.gif

 

 

Link to comment

Anyways how do you plan on going with controls? Sexlab style or Sexout style? As in we have control and can toggle auto advance stage or we have no control and it plays a single animation that loops for a set period of time in the settings.

Well, currently, it plays a single animation for a set period of time. I'd like to move things more towards SexLab style controls, but there's a few things to take care of first.

 

As a minimum, it would be nice to have some way to terminate the animation (possibly not for n/c scenes) and to reset the time counter. A re-align command is going to be essential too. After that, I need to think about an animation loader and how I'm going to store multi stage animation data. I know how SexLab does it, but without a StorageUtil equivalent, I'm going to have to get creative. (I'm thinking attack scripts to some sort of static and place new ones in an unreachable cell somewhere, maybe with a formlist to help search them).

Link to comment

We have a release!

 

Four-Play

 

As noted on the download page: a little expectation management is probably in order. This is very rough, very crude and doesn't in itself add anything to the game. (You can get to the test cell with "coc 4test" from the console, but that's about it).

 

Scenes with mindless sex won't trigger. When I checked plugins, It says four_play.esp is missing DLC esm masters. Do I need to have all the DLCs for this to work?

 

EDIT: Found my answer in your comment on Fourplay DL page :)

Link to comment

 

 

Scenes with mindless sex won't trigger. When I checked plugins, It says four_play.esp is missing DLC esm masters. Do I need to have all the DLCs for this to work?

 

EDIT: Found my answer in your comment on Fourplay DL page smile.png

 

 

Yeah, it was a balls-up on my part. I'll fix it shortly :)

Link to comment

Ok, nothing is working on my end at all, but Crazy's does........I was forced to install Armorsmith Extended & Armor Keywords, I noticed.......

 

I have all the DLC's & all the fixes for them but nothing is working, not even the test cell.

 

I guess the joke is on me!

 

ANY IDEAS??
 
:(
 
 
Link to comment

 

 I need to think about an animation loader and how I'm going to store multi stage animation data. I know how SexLab does it, but without a StorageUtil equivalent, I'm going to have to get creative. (I'm thinking attack scripts to some sort of static and place new ones in an unreachable cell somewhere, maybe with a formlist to help search them).

 

 

Is it possible to put Arrays of different types into an Array ?

This way you could create an array "performance data" wich contains a string array for tags, an array for the idles and an float array for holding offset positions. All the "performance data" arrays would then go into a "Registration" array from which the function picks a legit performance.

Adding knew performances would then just need to put the new performance data arrays into the registration array while expandig its length.

 

Another thing i could think of would be not using the "static" 4 stage performance design SexLab uses, but only define stages ( so one animation per Actor) assign tags to these and let the framework build a scene out of all available stages.

This way whoever is using the function can build a scene of whatever number of stages wanted and containing whaterver type of act wanted.

So its basically mixing stage01 of performance A and stage02 of performance B and so on.

 

Downside is that the scene progression could look off or plain weird.

Link to comment

Ok, nothing is working on my end at all, but Crazy's does........I was forced to install Armorsmith Extended & Armor Keywords, I noticed.......

 

I have all the DLC's & all the fixes for them but nothing is working, not even the test cell.

 

I guess the joke is on me!

 

Try the new version I just updated. It fixes a problem with the bsa2 archive name (which may have been messing up a lot of people) and clears out a ton of crap from the archive. Note that one file name has changed and the other has vanished entirely, so you may need to delete the old bsa2 files by hand.

 

Is it possible to put Arrays of different types into an Array ?

Oh, if only! Papyrus specifically forbids arrays of arrays. You can have arrays of structs, but then structs cannot contain arrays, so we're no further forward.

 

Dynamically allocated multi-dimensional arrays seems to be something they specifically do not want us to do. But if I can store object refs, I reckon I can get around that.

 

This way you could create an array "performance data" wich contains a string array for tags, an array for the idles and an float array for holding offset positions. All the "performance data" arrays would then go into a "Registration" array from which the function picks a legit performance.

Adding knew performances would then just need to put the new performance data arrays into the registration array while expandig its length.

Could work. Let me think about this a bit. I've tried to put down my thoughts about three times now and I keep restarting. I need to think this through.

 

Another thing i could think of would be not using the "static" 4 stage performance design SexLab uses, but only define stages ( so one animation per Actor) assign tags to these and let the framework build a scene out of all available stages.

This way whoever is using the function can build a scene of whatever number of stages wanted and containing whaterver type of act wanted.

So its basically mixing stage01 of performance A and stage02 of performance B and so on.

 

Downside is that the scene progression could look off or plain weird.

Interesting. I always seemed to be fighting ewith SexLab's tagging system in my mods, so this could suit me well. We'd need to think about how set it up though.

 

 

Many many thanks to your hard work, guys! Really exciting so see some real progress!

My pleasure smile.png

Link to comment

Ok, it now works! But........

 

1. The pistol using the player & 1 npc shows me in first person, and I don't do anything.

 

2. The receiver still doesn't move, just the giver.

 

3. NPC sometimes whistles twice, interrupting the moment.

 

But hey, it's working pretty good overall.

 

:D  :D  :D  :D

 

 

Link to comment

 

Is it possible to put Arrays of different types into an Array ?

Oh, if only! Papyrus specifically forbids arrays of arrays. You can have arrays of structs, but then structs cannot contain arrays, so we're no further forward.

 

 

Damn it... no arrayception then.

 

But doing it with structs should do the trick, espacially when only defining the stages.

Basically you only need a string as type of act ( Oral,Anal, etc) some strings for Tags ( are more than like 3 are really needed ?) a bool for Agressive/Consensual some floats for positions and one idle per actor.

Then its possible to put those structs into an array.

 

But i think this is a horrible way to do it in regards of "search for animation by tags"...

 

Ok, it now works! But........

 

1. The pistol using the player & 1 npc shows me in first person, and I don't do anything.

 

2. The receiver still doesn't move, just the giver.

 

3. NPC sometimes whistles twice, interrupting the moment.

 

But hey, it's working pretty good overall.

 

:D  :D  :D  :D

 

point 1 and 3 are things you should post in the respective support topic of the mods adding this stuff and point 2 is because only one Actor is animated, the other one is just posed, so there is no issue here...

 

Nonetheless i propose that bug reports and the like should go into the support topic of FourPlay to keep this topic "clean".

Link to comment

 

Eventually there will be brothel building, yes. For the first version, it's just whoring yourself, get approached and pimping out your follower.

 

Ah, the person I need to see......I need an industrial strength can opener & the ability to ask anyone for sex at any time. The power armor is giving very weird results, and some followers & NPC's are not responding to the calls you already have.

 

SO! I figure just a generic "Hey baby, let's fuck!" should do.......

 

;)

Link to comment

This bug report-turn-suggestion here from Yuni really gives me an idea how we can turn the problem of not having a way to store animation data into an more interactive implementation than SexLab

 

Bug Report:

People who are in the middle of fucking me often solicit me again while still in the sex pose. People who get out of bed to solicit me frequently stay in the sleeping position.

 

Suggestion:

Since they seem capable of talking to you while you are fucking them, there are options here. Perhaps they can offer to pay extra to cum INSIDE instead of pulling out. Or something. I don't know precisely what to do with this without a pregnancy/risk/arousal mod of some kind, but it gave me an idea and seems to have a little potential, at least.

 

How about something like this  (warning: oversimplification, haven't tested any scripts at all)

 

Instead of the each-animation-has-a-few-stages system like in SexLab, we can have mix-and-match system pooling in the work of different animators in each sex scene (saving animators time for not having to make very similar looking 'stages' just so they can have a four-stage animation) with interaction between the actors during sex - like a SexLab and Osex hybrid (loads of users are asking for Osex-like stuffs). We can have a system of individual idles, divided into their respective arrays for what their (relative) sex position:

 

 

 

We just have to make sure that the M.. arrays and F.. arrays sort the idles correctly in terms of their index positions.

 

 

Idle[] property MBlowjob Auto

Idle[] property MBlowjobCum Auto

Idle[] property MMissionary Auto

Idle[] property MCowgirl Auto

Idle[] property MDoggy Auto

Idle[] property FBlowjob Auto

Idle[] property FBlowjobCum Auto

Idle[] property FMissionary Auto

Idle[] property FCowgirl Auto

Idle[] property FDoggy Auto

Bool aggressive

Int/GlobalVariable Idle_Duration

Int/GlobalVariable Scene_Duration

 

The idle arrays could (probably should) be more specifc:  Idle[] property Missionary_Anal_Agressive Auto

 

We also have a bunch of forcegreet package pointed to a bunch of topics. For example:

 

 

ConsensualM ForceGreet Topic:

 

That was good baby. What shall we do next?

                         Blowjob

Missionary                       Cowgirl

                        Doggy

Each of the four choices could be conditional. Some there is a bed nearby (maybe a referencealias conditional fill), Bed Doggy show up instead. 

 

Each of the four choices have a Papyrus fragment to play a random idle in their respective idle arrays:

For example the fragment for Missionary from the consensualM forcegreet could look like this:

Int Index = Utility.RandomInt(0, (MMissionary.Length -1) ) 

MaleActor.PlayIdle(MMissionary[index] ) ; for Idle_Duration seconds

FemaleActor.PlayIdle(FMissionary[index] ) ; for Idle_Duration seconds

Scene_Duration = Scene_Duration + Idle_Duration

 

Utility.Wait(Idle_Duration - 5); now play another missionary idle - as if you're proceeding to a new stage

 

Int Index2 = Utility.RandomInt(0, (MMissionary.Length -1) ) 

MaleActor.PlayIdle(MMissionary[index2] ) ; for Idle_Duration seconds

FemaleActor.PlayIdle(FMissionary[index2] ) ; for Idle_Duration seconds

Scene_Duration = Scene_Duration + Idle_Duration

 

; maybe a few more missionary idles

 

; the rest is the same for all fragment

 

Utility.Wait(Idle_Duration - 5); so that your loving partner asks you before the previous idle ends
 
if Scene_Duration <  60 (or whatever how long you want each scene to be)

ConsensualM.ForceRefTo(MaleActor) ; might need MaleActor.EvaluatePackage() as well / or maybe a conditional alias fill is better

else

; Play A Few Cumming Idles and End Scene

endif

 

 

 

This creates a looping process to continue with sex scene one idle at a time

 

aggressive is the same concept but with the AggressorM package forcegreeting with humiliating dialogues that no matter what option you choose (Scream, Scold, Beg, Silence) will pick a random aggressive animation anyway.

 

At the same time, you have a quest with the following optional reference alias linked to their respective forcegreet package

 

 

ReferenceAlias property ConsensualM auto

... ConsensualF

AggressorM

AggressorF

VictimM

VictimF

 

 

Finally, when a mod gives Four-Play two actors and a bool for aggressive. Very rough example here:

 

 

If aggressive == false

 

Int Index = Utility.RandomInt(0, (MBlowjob.Length -1) )
MaleActor.PlayIdle(MBlowjob[index] ) ; for Idle_Duration seconds
FemaleActor.PlayIdle(FBlowjob[index] ) ; for Idle_Duration seconds
Scene_Duration = Scene_Duration + Idle_Duration
 
; another random blowjob idle perhaps
 
Utility.Wait(Idle_Duration - 5); so that your loving partner asks you before the previous idle ends
ConsensualM.ForceRefTo(MaleActor) ; might need MaleActor.EvaluatePackage() as well / or maybe a conditional alias fill is better
 

From there our package with our topic and the dialogue options with fragment will continue the scene. 

 

 

 

Just some random ideas. Not sure if it will work at all. Probably a massive hole somewhere that I haven't considered. 

Link to comment

One thing that SexOut had that worked well for lesser skilled modders was bedsides the script data available it still had some basic tokens added to actors for basic things like to indicate the actor is having sex (don't interrupt them). Maybe add a timed one that indicates the actor appears sweaty/exhausted whatever so don't ask them for sex again yet. That way people making dialogue didn't have to learn to script to write a good dialogue mod. I continued that in pregnancy with Pregnant tokens so NPCs could see one token indicated the actor appeared pregnant, 3x tokens meant that actor appeared to be ready to give birth.

Link to comment

Need to check for PA and either disallow stripping or else make them exit the PA first. Getting into PA chages the player race into something based on the Skyrim werewolf proportions, apparently. Looks weird as hell if you just console unequip the PA.

 

Lots of stuff above that I want to comment on - it'll have to wait until lunch though.

Link to comment

 

You guys are using, or are aware of Leito's animations too right?

 

http://www.loverslab.com/files/file/3937-fo4-animations-by-leito/

 

Leito's animations work with Four-Play right out of the box. It overwrites Crazy's animations

 

 

Oh.. cool! :)

 

Women & men in body armor are being deformed, and will NOT return to their proper shape. Need that can opener, bro!

 

:(

 

 

 

Women & men in body armor are being deformed, and will NOT return to their proper shape. Need that can opener, bro!

 

:(

You mean power armor?

 

 

Wait.. why would you try to fuck in power armor anyway, lol?

 

I can see it now, loud clunking and crashing noises, followed by pieces of armor flying off during a doggy style scene. :lol:

Link to comment

I just got to export my 2 Actor animation test, maybe you have use for that.

Though not looking very good, its working quite well when overwriting one of Crazys animations.

Looks good, I'll have a play tonight. 

 

This bug report-turn-suggestion here from Yuni really gives me an idea how we can turn the problem of not having a way to store animation data into an more interactive implementation than SexLab

 

Bug Report:

People who are in the middle of fucking me often solicit me again while still in the sex pose. People who get out of bed to solicit me frequently stay in the sleeping position.

 

Suggestion:

Since they seem capable of talking to you while you are fucking them, there are options here. Perhaps they can offer to pay extra to cum INSIDE instead of pulling out. Or something. I don't know precisely what to do with this without a pregnancy/risk/arousal mod of some kind, but it gave me an idea and seems to have a little potential, at least.

 

Hmm... Looking over the code this morning, I noticed I still had some stuff commented out from when I had the camera lock problem. There's a combination of disabling FootIK on the actors, turning off player avoidance for NPCs disabling player input setting actors as restrained. I'm pretty at least one of those is off and needs to be on.

 

That said, having actors able to talk in scenes is occasionally useful. But we need to be able to control what is said, clearly.

 

Instead of the each-animation-has-a-few-stages system like in SexLab, we can have mix-and-match system pooling in the work of different animators in each sex scene (saving animators time for not having to make very similar looking 'stages' just so they can have a four-stage animation) with interaction between the actors during sex - like a SexLab and Osex hybrid (loads of users are asking for Osex-like stuffs). We can have a system of individual idles, divided into their respective arrays for what their (relative) sex position:

Do you know, I never tried 0sex? I heard good things about it, but I had my game set up the way I wanted and if it ain't broke... Maybe I should start a new Skyrim profile, just so I know what peope are asking for.

 

I do like the idea of free-form combinations of idles, although we should probably have a way to specify one specific set if that's what the modder wants.

 

struct stage
	idle i0	
	float xoff0
	float yoff0
	float zoff0
	float rotation0	; do we need more than one axis?
	int duration0
	;... and so on ...
	idle i5		; set to None if there is no actor5
	float xoff5
	float yoff5
	float zoff5
	float rotation5 ; do we need more than one axis?
	int duration5
endstruct

function four_play_vector(actor[] actors, stage[] stages, Flags flags)

That would us you string together arbitrary idle sequences for up to six participant (probably more than we'll ever need with current technology :))

 

Hmm... number of actors is something we'd need to track as well.

 

So:

  • Num Actors
  • Aggression
  • Type of action
  • Intensity ; maybe 1-5 with 1 being foreplay and 5 climax

I'd also like to track who is being aggresive. I ended up disabling animations in sexlab because I'd want a BJ and I'd get some femdom face-sitting animation with my dude in the submissive role. Although a lot of that was because the "Oral" tag covered everything from m/f bj to three stages of missionary variants ending up with a 69 position. I'm thinking we could use Mf style notation with capitals indicating a dominant partner and maybe "x" as "works for both genders"

 

The idle arrays could (probably should) be more specifc:  Idle[] property Missionary_Anal_Agressive Auto

Or maybe just index arrays. I gather F4SE still doesn't allow extnsions to define Papyrus APIs yet. Pity really.

 

Forcegreets: I think I want to keep things fairly RP neutral in the framework. Which isn't to say we can't turn off auto progression and raise an event or set a property somewhere and let the caller handle the dialogue (or whatever selection method they like, really). We'll need a non FG variant in any case, just for NPC/NPC cases.

 

Just some random ideas. Not sure if it will work at all. Probably a massive hole somewhere that I haven't considered. 

 

I probably need to read that again. I'm pretty sure I missed the point for half of it.

 

One thing that SexOut had that worked well for lesser skilled modders was bedsides the script data available it still had some basic tokens added to actors for basic things like to indicate the actor is having sex (don't interrupt them). Maybe add a timed one that indicates the actor appears sweaty/exhausted whatever so don't ask them for sex again yet. That way people making dialogue didn't have to learn to script to write a good dialogue mod. I continued that in pregnancy with Pregnant tokens so NPCs could see one token indicated the actor appeared pregnant, 3x tokens meant that actor appeared to be ready to give birth.

 

Tokens are still a good way of adding flags to NPCs. And I'm all in favour of making this as newbie friendly as I can.

Link to comment

 

Wait.. why would you try to fuck in power armor anyway, lol?

 

I can see it now, loud clunking and crashing noises, followed by pieces of armor flying off during a doggy style scene. :lol:

 

 

I suppose you could do a fade to black when your health gets too low, and then come to somewhere naked and in trouble with the PA as a burned out frame nearby  containing a collection of broken armor segments.

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