Jump to content

OSex+ The Greatest Virtual Sex Ever


Recommended Posts

 

Make sense?

 

 

Yep crystal clear now thanks again. I have to revisit things now lol.

 

Is it possible to decide where the blocks goes using your correction above:

 

o.push(NewXML.odata[0].actors[0].actor[0]);

 

to somehow generate an o.actor[0].name = fione at level 1 of the o? 

 

----------

 

I was trying to keep them informative in name but I wound up with really wonky functions like this:

 

return osa.osn[osa["oss"+OStageID].o.mod].scene[osa.osn[osa["oss"+OStageID].o.mod].ix[osa["oss"+OStageID].o.cur].r]

 

that's returns the scene index reference based on what's playing in the live scene currently. I'm sure there's an easier way but with descriptive names it was turning out to be 3 desktops wide across worth of that. Your'e always right though I'll return to making the functions clear it should be easier now that I can make these data objects form the way i want them too.

Link to comment

 

 

Yep crystal clear now thanks again. I have to revisit things now lol.

 

Heh. It will be worth it in the long run.

 

 

 

Is it possible to decide where the blocks goes using your correction above:

 

o.push(NewXML.odata[0].actors[0].actor[0]);

 

to somehow generate an o.actor[0].name = fione at level 1 of the o? 

 

Do you mean putting a new object at the beginning of the array rather than the end? If so, yes. Use "unshift" in place of "push".

 

Or, do you mean putting an actor node at the root level of o? You would do that like this:

o.actor = [NewXML.odata[0].actors[0].actor[0]]; // If there isn't already an actor node on root.
o.actor.unshift(NewXML.odata[0].actors[0].actor[0]); // If there is already another actor on root.

 

I was trying to keep them informative in name but I wound up with really wonky functions like this:

 

return osa.osn[osa["oss"+OStageID].o.mod].scene[osa.osn[osa["oss"+OStageID].o.mod].ix[osa["oss"+OStageID].o.cur].r]

 

that's returns the scene index reference based on what's playing in the live scene currently. I'm sure there's an easier way but with descriptive names it was turning out to be 3 desktops wide across worth of that. Your'e always right though I'll return to making the functions clear it should be easier now that I can make these data objects form the way i want them too.

 

 

It's not such a bad thing to have a messy reference like that if you only need to figure it out once and then can rely on that function to always work as expected.

 

Though, that could be compressed. For example:

var oID = "oss"+OStageID;
return osa.osn[osa[oID].o.mod].scene[osa.osn[osa[oID].o.mod].ix[osa[oID].o.cur].r];

Or, further for readability:

var oID = "oss"+OStageID;
var modifier = osa[oID].o.mod;
var currentID = osa[oID].o.cur;
var rotation = osa.osn[modifier].ix[currentID].r;
return osa.osn[modifier].scene[rotation];

 

Link to comment

 

 

 

Ok I did some tests and I think I understand it now that I get the functionality. Something like this.

 

Simplified but: 

 

I make an OScene class. and a start function with three properties "actors" and scene. I take the scene from the dataobject when it's time as a New Oscene, and have the class set up to autopilot the rest of the way and start that animated scene in Skyrim. Seems like it would be a clean an easy solution. I think you mentioned something like this before with pushing 2 actors into a scene.

 

Var MyScene = New Oscene

 

zI //SceneIndexRef

MyScene.Length  = sceneobject[zI].length

MyScene.animation = sceneobject[zI].animation

 

MyScene.start(actor1, actor2, sceneobject[2])

 

and have the Oscene class auto arrange the data from the object and launch the scene.

 

startScene(){

skse.sendanimation()

}

 

Maybe if Oscene extends object I can just startScene a node in the dataobject so all it needs is actors, and has all the data on it's branches.

Link to comment

Thanks for the detailed instructions. I will start working on my sounds and maybe post a video on here when i'm finished! 

 

Would love to see/hear it and I'm looking forward to it! Not many people have tried much but I went through a lot to put the customization there, it's kind of OCD'd out but I'd be really happy to see some custom content, especially sounds where the mod is really lacking at the moment. If you need any information or get stuck please don't hesitate to ask.

Link to comment

 

 

 

 

Ok I did some tests and I think I understand it now that I get the functionality. Something like this.

 

Simplified but: 

 

I make an OScene class. and a start function with three properties "actors" and scene. I take the scene from the dataobject when it's time as a New Oscene, and have the class set up to autopilot the rest of the way and start that animated scene in Skyrim. Seems like it would be a clean an easy solution. I think you mentioned something like this before with pushing 2 actors into a scene.

 

Var MyScene = New Oscene

 

zI //SceneIndexRef

MyScene.Length  = sceneobject[zI].length

MyScene.animation = sceneobject[zI].animation

 

MyScene.start(actor1, actor2, sceneobject[2])

 

and have the Oscene class auto arrange the data from the object and launch the scene.

 

startScene(){

skse.sendanimation()

}

 

Maybe if Oscene extends object I can just startScene a node in the dataobject so all it needs is actors, and has all the data on it's branches.

 

 

Yes. You're on the right track.

 

Variables and functions: first word lower case, all words after first letter uppercased (likeThis, orThis, andSoOn).

Class names: all words first letter upper case: MyClass, OScene (if it must be only a mysterious "O" scene).

"var" should be all lower case: Capitalizing types is a bad habit born out of Papyrus.

 

Sorry to keep nagging about naming convention. :D I can't resist and I think you will thank me later.

Link to comment

 

Maybe if Oscene extends object I can just startScene a node in the dataobject so all it needs is actors, and has all the data on it's branches.

 

 

I overlooked this sentence before.

 

Object are essentially a blank class. But, I get the concept you're thinking of. Yes. You could make the parser use slightly customized classes in place of creating an Object. That is essentially what the built in XML API does (when Scaleform hasn't ripped it out).

 

Though, it really should be pretty easy to just instantiate your custom classes as you need them in the main class. Having the parser automatically make them would be kind of neat. But, probably wouldn't save much time/code.

 

The cool thing here though is that you're thinking in a 3D Object Oriented Programming way. Bravo!

Link to comment

 

 

 

There are a few data strategies to consider. Actually, there are probably more than a few. But, a couple basic ones:

 

A. Make the custom classes for major moving parts. And all classes always just receive the entire loaded data. It is then the responsibility of each custom class to dig the relevant data out.

 

B. Cut up the data in your main class and feed out what each custom class needs to work.

 

I think that I prefer the elegance of A. It forces you to put code relevant to the custom class IN that class rather than having some of it in the main class cutting up the code on its behalf.

 

But, it probably does introduce some redundant work in each custom class having to do a little parsing of its own to figure out what data it needs and where it's at.

 

---------------------

 

If you don't already know about UML, you should introduce yourself to it. Google "online UML editor". Plenty of options that should give you what you need to plan your classes out.

 

It's basically just drawing tools to visually map out a schema of classes, their relationships, etc.

 

In the case of this project, you could have a basic Scene class with important, always needed functions. Then, there would be various types of scenes that extend that with unique instructions: FemaleFemale, FemaleAlien, etc.

Link to comment

Probably just me being a noob, but on install, I agreed for 0S to overwrite some existing stuff. My assumption being that the 0S files were named the same, but had 'extra' content.

Wrong assumption, it seems. Some warning errors on game load about papyrusUtil being out of date, that SKSE wasn't happy etc.

NMM uninstall to roll back to the original files, then reinstall, but didn't let it overwrite the originals = another happy customer.

 

Very nice animations, very nice transitions, very nice guides and explanations. Very nice work altogether.

 

With most people being right handed, though, wouldn't it have made more sense to put the control keys on the left of the keyboard?

 

lol

Get rid of NMM in favor of MO to make all the worries go away.

Get rid of all version of 0sex before installing new. Always use latest papyrus util and let it overwrite 0sex. And start using both hands like the rest of us. :D

Link to comment

 

 

 

Pipdude thanks you've given me most likely at this point a hefty chunk of a college level course is knowledge. I'm in debt to you for your time this understanding I'm sure will find a way to help me far beyond making Skyrim Porn.

 

I have an OData class that the script creates one of at the start. It's meant to last the entirety of one play sitting. It has a few objects of xml data separated by categories "Actor Scene etc." In response to how the UI information wont persist a load or shutdown I figure it will not be able to generate enough data to cause an issue in one sitting and it's better it stores the data for later and only loads what it needs. So it might be a little heavier at start and then become very smooth as play goes on.

 

OData works with one more class in my mockup called OScout which checks the OData library and requests information from the game if it needs more. Basically a screen when initiating something new to make sure OData has the needed information.

 

 Rough mock up and it's very slim and organized I think this is absolutely the way to do it.

 

-------------------

 

A simpler question half papyrus but I haven't been able to solve it yet. I'd like to be able to have actors send their forms to the UI incase the UI needs to call a papyrus function by sending their specific form. It has the InvokeForm function that turns their form into an ActionScript object. The issue I'm having is I can't supply additional data with the form to tell the DataObject who the form belongs to. So it winds up with a form and no idea who that form is.

 

Basically due to how I can't send string data like an ID for the actor along with the form in the InvokeForm function so the script knows who it is.

 

The purpose would be so OScout can request actor information directly by actor form. If it sees it doesn't have the actors name it can send papyrus the form and .getname() gets sent back and organized into the correct spot by OData.

Link to comment

 

 

Pipdude thanks you've given me most likely at this point a hefty chunk of a college level course is knowledge. I'm in debt to you for your time this understanding I'm sure will find a way to help me far beyond making Skyrim Porn.

 

 

It's all good. I enjoy programming and not all modders are open to input. So, it's win-win. I do hope that some of this helps outside of modding. I can tell you that real coding skills start with a good work ethic and time in the trenches making things. There are many so called developers that have fancy computer science degrees that are terrible at coding. Trust.

 

 

I have an OData class that the script creates one of at the start. It's meant to last the entirety of one play sitting. It has a few objects of xml data separated by categories "Actor Scene etc." In response to how the UI information wont persist a load or shutdown I figure it will not be able to generate enough data to cause an issue in one sitting and it's better it stores the data for later and only loads what it needs. So it might be a little heavier at start and then become very smooth as play goes on.

 

If it needs data the OData class has the functions to call and sort the information into it's library. Rough mock up and it's very slim and organized I think this is absolutely the way to do it.

 

 
That's a good approach as well. A "DataManager" model where you send the raw data into it and then write functions that simplify getting the data out and connecting it to the other moving parts.
 

 

A simpler question half papyrus but I haven't been able to solve it yet. I'd like to be able to have actors send their forms to the UI incase the UI needs to call a papyrus function by sending their specific form. It has the InvokeForm function that turns their form into an ActionScript object. The issue I'm having is I can't supply additional data with the form to tell the DataObject who the form belongs to. So it winds up with a form and no idea who that form is.

 

Basically due to how I can't send string data like an ID for the actor along with the form in the InvokeForm function so the script knows who it is.

 

 

You could probably do this with two calls:

 

A. Send a call to a function that says "I am preparing to send you a form and it is for an actor identified as x."

B. Send the form and attach the identifier sent with the first call.

 

The flaw of this is that there theoretically could be a situation with multiple calls where it gets confused and attaches the wrong form to the wrong name. You should be able to check for that by sending in a piece of information from the form along with the identifier and making sure it matches.

 

I don't immediately see a way around using two calls for that.

Link to comment

 

 

 

Thanks Pipdude.

 

In thinking about it a little more I was able to create forms in JSON by mimicing the text output it made for a Skyrim form 09429|0act.esp| for example, the wall there was that I couldn't generate a form by string because the native papyrus in the storageutil.dll was expecting a form always in order to write as a JSON form (types would not align basicaly.)

 

Maybe I can send an object to actionscript have  > testformobject 

 

convert it to string:

 

skse.sendmodevent(test, string(testformobject))

 

see if it can be output as a string, if so the actors could write their own form as a string send it to the UI then the UI could cast that string as an object maybe skse.sendmodevent(test, object(actors form as a string). I'd imagine it's the same as JSON hex > decimal + esp name.

Link to comment

 

see if it can be output as a string, if so the actors could write their own form as a string send it to the UI then the UI could cast that string as an object maybe skse.sendmodevent(test, object(actors form as a string). I'd imagine it's the same as JSON hex > decimal + esp name.

 

 

I don't think that would work because sendModEvent can only send a string and an integer. Though, maybe you could send it to Papyrus as a string and then have Papyrus recast it? This one I'm not sure about.

 

Side note: I just discovered a quirk about loading text via LoadVars in Skyrim. It sort of goes crazy when you load text with a percentage symbol "%" in it. It scrambles letters around it which can easily break an XML file. Because it has to do with % symbols I suspect it has something to do with urlencoding. It's odd though because those symbols load just fine in the debugger. I guess Scaleform may have removed something about a urlencoder or text reader.

 

Anyway, not too difficult to work around. You can do a text replace scheme if you really need to use % symbols. But, keep this in mind if/when loading xml starts freezing the game. It's not an easy one to troubleshoot. You may even need to add mechanisms that encode or prevent users from ever entering text that includes that symbol.

Link to comment

 

 

see if it can be output as a string, if so the actors could write their own form as a string send it to the UI then the UI could cast that string as an object maybe skse.sendmodevent(test, object(actors form as a string). I'd imagine it's the same as JSON hex > decimal + esp name.

 

 

I don't think that would work because sendModEvent can only send a string and an integer. Though, maybe you could send it to Papyrus as a string and then have Papyrus recast it? This one I'm not sure about.

 

Side note: I just discovered a quirk about loading text via LoadVars in Skyrim. It sort of goes crazy when you load text with a percentage symbol "%" in it. It scrambles letters around it which can easily break an XML file. Because it has to do with % symbols I suspect it has something to do with urlencoding. It's odd though because those symbols load just fine in the debugger. I guess Scaleform may have removed something about a urlencoder or text reader.

 

Anyway, not too difficult to work around. You can do a text replace scheme if you really need to use % symbols. But, keep this in mind if/when loading xml starts freezing the game. It's not an easy one to troubleshoot. You may even need to add mechanisms that encode or prevent users from ever entering text that includes that symbol.

 

 

I see % symbol is a no go in any user made xml documents then as the .Load will enter random letters and then then the parsing process might struggle, when the flash is run from Skyrim.

 

That's a really good idea in terms of the string convert, if it retains the data to turn into form this should work: I'll try it later tonight

 

-------

Event OnTest(string eventName, ActorFormString, float numArg, Form sender)

 

((ActorFormString) as Actor).GetName()

---------

 

We could just use form ID at that point but it has some disclaimers on it's description which I haven't had cause problems yet but might. Would be cool if it could just recreate the form of an actor.

 

Attaching my latest flash draft with the concepts we talked about in the last page. I think it's so much simpler and I have a control of the blocks now. It seems like an easier and more powerful path. It's a model for accepting the kind of data that will be needed, Actor, Module, and Scene. Loads them in, adds them to the data, and generates the reference ID array at the same time. For debugging it loads OSex module and OSex Scene and pressing V introduces a new actor to the system with a random number for their ID. Their ID will be their Hex form ID converted to decimal which is what the reference index uses. I use this because it's the only total unique identifier anything else gets altered depending on load order of the actor's mod.

 

Scenes could easily be made from this by making an OScene class now with a start function that accepts the few pieces (actors, + scene).

Link to comment

 

 

I see % symbol is a no go in any user made xml documents then as the .Load will enter random letters and then then the parsing process might struggle, when the flash is run from Skyrim.

 

That's a really good idea in terms of the string convert, if it retains the data to turn into form this should work: I'll try it later tonight

 

 

Ran some more tests on this. Somehow, when using LoadVars through Skyrim, it runs the text through a urldecode. So, you can get % symbols by using its urlencode value: %25. Otherwise, it decodes '%xx' where 'xx' are whatever letters happen to be next to the percent symbol. This usually results in missing two letters and an invalid character.

 

To address this, you could just run the escape command on any text a user inputs that is to be saved (i think it will unescape it before it gets into flash provided that you use loadvars). Or, you could do a search/replace on their input, replacing % with %25 before saving. I like the second option better just because it wouldn't make their text look scrambled in the save file (in case anyone needed to look at it to troubleshoot, edit or whatever).

 

 

Event OnTest(string eventName, ActorFormString, float numArg, Form sender)

 

((ActorFormString) as Actor).GetName()

---------

 

 

Attaching my latest flash draft with the concepts we talked about in the last page. I think it's so much simpler and I have a control of the blocks now. It seems like an easier and more powerful path. It's a model for accepting the kind of data that will be needed, Actor, Module, and Scene. Loads them in, adds them to the data, and generates the reference ID array at the same time. For debugging it loads OSex module and OSex Scene and pressing V introduces a new actor to the system with a random number for their ID. Their ID will be their Hex form ID converted to decimal which is what the reference index uses. I use this because it's the only total unique identifier anything else gets altered depending on load order of the actor's mod.

 

Scenes could easily be made from this by making an OScene class now with a start function that accepts the few pieces (actors, + scene).

 

 

Sounds like a good plan. I'll take a look at the files when I get a chance.

Link to comment

0SEX ALPHA 1.07C

 

1.07C Intro

 
Shortcut to Cowgirl is in the patch notes 1.07C
 
I theorize that maybe the lack of reverse role face and voice data at the moment (Female in Dom roll, Male in Sub Roll) could be causing bad arrays to happen and an infinite loop. I'm chipping away at it but if you always actor swap can you try also without as that's why I've tried to test all the variables to see if it effects things? If there are lots of performance issues still i will make 2 alternate test scripts disabling certain sections to see if that improves performance so i can find the culprit.

 

0Sex 1.07C is a bug clean up of most of the issues listed since 1.07B and an attempt to solve the performance issue, I think it will help but I don't think it will bring it all the way to the smoothness of 1.06 which is what i want. I'll be making a 1.07D out in a few days which runs multi spells to multithread the process, and I believe that will fix this for good. 1.07C is a little rushed as I am more excited about doing 1.07D. I didn't super test it BUT if there's problems that I can fix right away I'll give hot fix patches as needed, and I'm sorry if I messed up packing. Thank you as always testers for helping me so much with this project!

 

 

For developers I'm not going to repost adjustments until 1.07D is done and I can see which path is better (C vs D). I did have to make a crucial change in C basically putting <cy> <speed> and <flag> into a single suite to reduce load.

 

1.07 Intro

 

WARNING: This is much more so a test of the 0SA framework the 0Sex. 0Sex is not polished and ready for release but I believe the framework is so I'm releasing this alpha. The long delay has made some developers working on making their own modules for 0SA have to wait a very long time to get their projects launched, so it's important If I do this framework test now to iron out any bugs there will be a platform that people can start releasing content for, I know some is ready to go just waiting on 1.07B.

 

0Sex is expanded but you'll notice a majority of the new transitions are not complete and some of the older scenes are a little wonky as they are being rebuilt. Anything transition related being choppy unfinished clipping etc. I'm aware of and will work on polishing the mod and get it up to shape as fast as I can. 

 

The advantage of releasing the framework IF it is complete and I can get it bug free is that I can release animation booster packs regularly from that point on, so there will be no more waiting and I can just toss a patch up whenever a new animation is complete.

 

 

MEGA IMPORTANT 0SEX WILL NOT WORK IF YOU DO NOT DO THIS:

 

To get people used to "Equiping" scenes in 0SA I will be releasing from here on out 0Sex not prebound in the the MCM. You must go to the first page of the 0SA MCM. Pick an Ability Slot (1 through 12) Type in "0SEX" (The 0 is a zero) into the first text entry line for that ability then above that select a key that will cast the spell. This is how you will equip other developers scenes also.

 

 

BUGS FOUND ©:

 

PATCH FIXES:

 

IDEAS THAT CAME UP:

 

1. I'll be rebuilding a 1.07d and we can compare 1.07d and 1.07a to see which is best. 1.07D will go back to a multi spell approach where different spells handle different stuff to hopefully capitalize on multithreading. It will not take long to make. (Few days) 

 

2. NPC scene targeting have option to start at player location instead of npc location. (Pref. follower functionality to bring them to the start spot)

 

3. Add a menu check so key presses do not function in Console. It pisses me off when I'm tweaking mfg in console for a screen and exit and ez mode made the position change!

 

------------------------

 

4. Some entirely new scene types I'm polishing up and working the new builds to accomodate:

 

a.I'm working on a few mini demo scenes on the side that people might be interested in. I'm trying to get a 3 actor scene tested (It's going to be a scene where you can command your follower to grapple an opponent and wait for the PC to join in (Testing 3 actor and PC joining into a scene.).

 

b. Ill be making a template for 2 and 3 actors that serves like a poser, you can just hot swap through scenes (no transitions.) In case people want to mess around and make a little animation pack without doing all the work of a seamless scene.

 

c. I'm trying to make a single 2 stage demo scene that is pre and post penetration involving monster sized genitals (for a minotaur NPC I have(I like minotaur). I want it to cause belly distortion, I might only be able to do belly node push but I'd like the stomach itself to take the shape of the shaft and not just bulge outward. which might be possible with nioverride. (to test it scripted on thrust) and am trying to make pelvis (hips) push out a bit on the moment of penetration and stay like that until Pull Out but I'm not sure if it will be possible. I want penetration to be epic in the scene.

 

d. IMPORTANT: If someone can make me a long chain of short bones skinned to a tube that I can skin wrap from and make me export docs for havok tools out of 2012 for the tentacle (I can do it twisting the human skeleton but it would be a lot better if this proper tentacle was available). If someone can do that I will make a 5+ tentacle scene that you can control multi tentacle seamless.

 

1.07C Notes

 

 

 

-Added a shortcut to Cowgirl, this will be permanent once I animate it but I haven't got around to it yet. From UP6, Sub sitting in Dom's lap facing away, press DLEFT or DALT + DLEFT then DDOWN or DSELF + 4 to lay the dom down right before cowgirl. Up or DSELF+3 to return back.

 

- Sorry I didn't get to finish the bend over knee spank as I got sidetracked on the script. Bend Over 2-3 are pretty much done but 4 5 have just weak loops and transitions atm.

 

-Script Rewritten to use state's
 
-Different types of scenes are handled uniquely and only get the data they require.
-Serves as a shield from arrays running that are risidual and inncorect (Should prevent a lot of log errors)
-Bonus: It allows for more kinds of special scenes uniquely processed and also for 1,2,3,4 etc actor scenes.
-I believe this will reduce a lot of the debug errors due to array errors and might help the script run smoother but I'm not sure it will get it to being super smooth, hence I will make 1.07d.
 

ESG:

 

-Dom Can strip the sub now with specific keys outside of sequential mode.

Optimized Full Strip/Redress to be more efficient

-Undressing is still slower because it needs to check if an item is equiped

Redressing should be almost instant
-Dom and Sub will Redress Correctly after actor swapping
Weapons should now properly unequip including spells
-It might not handle second sets of weapons, for example it might take off swords then skyrim switches the PC to the bow etc. I'll look into this more if it's happening, let me know.
 
MCM: Auto Light Fixed.
 
Cock scaling should now properly do what is set in the MCM menu.
 
-New MCM splash page
 
HotKeys: Key Press system was optimized to have to do calculations far less on press.
-Alternators: The upgrade gave me the opportunity to add the final 4 keys which are going to be very rarely used but I felt they were needed to let the mod never have a cap. They are called Alpha Beta Delta Zeta. They are intended to be a 3 press modifier and only for very special circumstances. I'm binding them to Mouse 4 Mouse 5 and Mouse wheel for now. 
 
The main intention of alternations is to provide a means to shift the feel of a key, for example I was unhappy there would be no way to add rough strip options due to lack of undress combos left. Now there can be an Alternator that switches the tone. I wanted to reserve one for magic and affliction use, and one for crazy stuff that is freebie and doesn't belong anywhere + lore breaking in case I want to just make some weird scenes for fun. The 4th alternator is for back up just in case a scene needs 1 billion different transitions.
 
Help Menu + Nav
 
Key presses were optimized for the problems mentioned and the Nav help has been updated everywhere that was brought up. I also brought back the ESG help menu. NOTE: To optimize help menu I had to make it only check modifier first so you must press help before alt for the menu to come up.

 

 

 

1.07B Notes

 

 

 

RUNDOWN OF STUFF:

 

A.I. \ RANDOMIZER \ TRAVEL:

 

I had to pull AI again sorry but it's super close I can most likely finish it within a few days but it's uncertain. It's a lot of data entry to make it perform better which I am working on. In the meantime I left a lot of the AI functions still in place. 

 

 

NumPad2 : AI Menu

 

This will be you in scene access to managing AI. Only Randomizer works in this version. 

Not all scenes are reachable, due to the section I'm rebuilding. You will be able to reach a majority of scenes at the moment from here though, the same applies to "Travel" on the quick warp menu. If it doesn't go or doesn't reach your destination it just means that section is temporarily broken until I fix it. Some scenes currently won't serve as a "Launch Pad" and others you can't travel through so trying randomizer and travel from different scenes especially older scenes will have a high chance of working. (A majority of it should be traveling fine at the moment)

 

When AI returns the first option on the AI menu will toggle AI on for either actor and they will run in autopilot. In this draft you only have access to their navigation not the autopilot decision making.

 

DOM / SUB + Shift Left - Right

 

Holding Dom or Sub Shift and pressing left (Lower) or right (Raise) on the DPAD will adjust each NPC's ArrousalScore. They start at 3, 5 is the max 1 is the lowest. 1 represents pretty bad sex and they are bored unaroused, 5 represents incredible sex about to orgasm. Sounds, facial expressions and impact sounds will adjust depending on their levels when you change it. Don't spam the key it causes a lot of calculations to take place, it's intended to be handled automatically by the script (and only run once when needed.) but while the segment is offline you can adjust it manually.

 

 
Expressions
 
Expressions should be a million times stronger now especially for the male. They are completely customizable so if they aren't to your taste you can make them do whatever you want. This applies to sound and all aspects of their faces.
 
Sound
 
I'm trying to extend on the sound packs of the EvenToned Male and Female. I feel i was successful in expanding the Male but not the female. I needed a bigger sound palette then I could get from Skyrim by itself to test the effect of ArousalScore + SexDentity. 
 
I felt the prior sound pack for female was more true to the spirit of 0Sex where the sound isn't too overwhelming and will be returning to a default of the femaleEvenToned voice but I will use the current as an extra sound pack when I switch back.
 
The current extra sound pack is still in development I'm switching a lot of sounds out and not crazy happy with it yet. I think her blowjob sound expansion worked out really good though especially on the "feeding" blowjobs and I will combine that as a base line for the default pack. If you want to check it out I think it's best in the "MoneyShotLolipop Thrust (forced BJ) scene. I feel it's interacting and escalating really well from low to high score and speed and is true to the scene and that's what I'd like all the sound ranges to be like.
 
Actor Swap Issues
 
The male doesn't have a full female sexdentity yet (In case he is in that role) and the same applies to the female in the male roll. They have a partial cross over but I haven't completed filling them out for all setups yet. You might have no expression changes in certain scenes or sounds if you're actor's gender is not in the intended roll (I'll fix this asap).
 
I think there will most likely be some issues with Actor Swapping as there's a lot to cover and I feel I might have missed some holes. Thing like it might try to equip the females equipment to the male if you swapped after undressing or it might give the wrong gender's voice pack after a swap. I got as much as I could find but I'm anticipating a bunch of bugs around this.
 
New Animations:
 
A majority are between doggy and cowgirl. Start at Doggy Legs In and follow the help menu from there. There's also some bridges connecting up to missionary and back and I plan to ad a few more in the works. All transitions in this section are not finished yet, the loops however primarily are done.
 
Laying down, Ass Up, Ass Down,
Dom kneeling to the Side, TummyLounge, Spoon, Spoon Em, Spoon Kiss,
 
Doggy Style Legs out has a start at another female pleasure scene "Trunk" which you can follow the menu from doggy legs out base position (Just a rough start)
 
 
UP6 (Sit in lap)
Leads to a sub to the side > Leaning over the dom's knee which will lead to some epic spanking.
 
It also stems to the sub leaning forward now and also another path where the sub sits on the Dom's knee, regular and legs spread.
 
Standing Reverse Snuggle (ST6 embrace) if you press CTRL+2 you will go to the Sensual Neck Kiss which will be where I stem the first vampire bite from. I'd like to also add Sensual Kisses to all the embraces when I have time like this one.

 

Less Important Stuff:

 

F6 = Developer Menu, it refreshes JSON documents so you can make changes without restarting the game.

It also reports back a lot of information to verify things, (Only Report Actor by Roll works atm, Actor by Number i haven't hooked up yet.)

My fave is Report Actor by Roll > Record, check it out if you want, it's data for records to be saved post scene for external mods to do w/e with and will play a part in arousal / sore calculations.

 

------------------------

 

 

Sorry if I packed the zip with any mistakes I'll fix it if so and thank you everyone as always for testing and your feedback!

 

 

http://www.loverslab.com/index.php?app=core&module=attach&section=attach&attach_id=254724

Link to comment

so before i give up on this thing. can anyone link instructions?

and before any one starts i run fnis put 0sex where it should be and the only thing i can get the actors to do is hold each other and strip.

 

i know the mod author can't/won't do it, but presets r not always bad thing. i spend a good 45 mins playing around in the mcm trying to get anything to happen after the embrace.

 

trying not to be rude or go on too long of a raid. i am sure there is a lot of time that goes into this thing. i will follow this tread a little longer but if i get no response or cant get it too work. then i will delete the mod. its just not worth it. no matter what happens LL forums is a pretty nice community. feels good to get that out.

Link to comment

so before i give up on this thing. can anyone link instructions?

and before any one starts i run fnis put 0sex where it should be and the only thing i can get the actors to do is hold each other and strip.

 

i know the mod author can't/won't do it, but presets r not always bad thing. i spend a good 45 mins playing around in the mcm trying to get anything to happen after the embrace.

 

trying not to be rude or go on too long of a raid. i am sure there is a lot of time that goes into this thing. i will follow this tread a little longer but if i get no response or cant get it too work. then i will delete the mod. its just not worth it. no matter what happens LL forums is a pretty nice community. feels good to get that out.

 

At the moment it's best not to touch this mod. CEO is trying to make huge improvements because 1.07 is kind of messy for everyone.

 

The only build that works really well so far is 1.06 which is even on the Nexus.

Link to comment

 

We could just use form ID at that point but it has some disclaimers on it's description which I haven't had cause problems yet but might. Would be cool if it could just recreate the form of an actor.

 

Attaching my latest flash draft with the concepts we talked about in the last page. I think it's so much simpler and I have a control of the blocks now. It seems like an easier and more powerful path. It's a model for accepting the kind of data that will be needed, Actor, Module, and Scene. Loads them in, adds them to the data, and generates the reference ID array at the same time. For debugging it loads OSex module and OSex Scene and pressing V introduces a new actor to the system with a random number for their ID. Their ID will be their Hex form ID converted to decimal which is what the reference index uses. I use this because it's the only total unique identifier anything else gets altered depending on load order of the actor's mod.

 

Scenes could easily be made from this by making an OScene class now with a start function that accepts the few pieces (actors, + scene).

 

 

Looked over the code. Looks good. I get lost pretty quickly in the actionscript due to code-word naming convention. But, I think that I need to stop nagging on that point now. :)

 

bak.xml is nice and clear. I can tell what most things are just by looking at it. scene.xml gets a little obscure with some one-letter attributes. I would name those more clearly. But, overall, everything looks likes its going in a solid direction.

Link to comment

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

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