Jump to content

OSex+ The Greatest Virtual Sex Ever


Recommended Posts

Posted

 

HELLO CEO 0S

 

FIRST WANT SAY THANKS FOR MAKE THIS MOD RLY NICE BUT HAVE A PROBLEM I CANT DOWNLOAD IT.

 

DUDE PLZ CAN YOU SEND ME TH LINK OF 0SEX MOD I CANT FIND IT IN NEXUS ITS HIDDEN I DON'T KNOW WHY just If you can sent me the link I WILL BE grateful and by the way fantastic mod you are awsome rly like it.

 

Whoa calm down captain capslock ... if you want to access adult files on nexus you need an account and enable mature content, but since you are here already, take a look at kinky's signature ;)

Posted

 

HELLO CEO 0S

 

FIRST WANT SAY THANKS FOR MAKE THIS MOD RLY NICE BUT HAVE A PROBLEM I CANT DOWNLOAD IT.

 

DUDE PLZ CAN YOU SEND ME TH LINK OF 0SEX MOD I CANT FIND IT IN NEXUS ITS HIDDEN I DON'T KNOW WHY just If you can sent me the link I WILL BE grateful and by the way fantastic mod you are awsome rly like it.

 

Yeah its really hard to find the link to download 0sex. I wish it was somewhere more visible.

 

 

 

HAHA Thanks Kinky got the file thanks again  ^_^

 

Posted

 

Thanks i will try that. but was wondering if the mod EFF is incompatible ?? it has uiextender in it witch also contain those files you mentioned.

 

I've been using EFF with no problems.

Posted

Everything is working perfectly for me. I use EFF, iHUD and 150 other mods, so people that have issues with those are doing something wrong.

 

I uninstalled 1.06 and installed 1.08D2 on a level-85 save (130+ hours of gameplay). I have tested OS with custom NPCs. No problems whatsoever!

 

My personal issue is that I don't know how to undress the actors now. I have read the last 20 pages of posts, but I would appreciate some help. Thanks!

Posted

 

Hi Migal it's a little different, the key binds don't store any data except a reference number, if the spell is a go the key bind tells the UI this reference number and the UI does the heavy lifting looking up what the key was bound to. In this case the developer will tell OSA that exact information but this is very simple to set up, there's some concerns that are going to be complicated to figure out like when to hide menus etc but worse case I will develop the API and include it even if it's quirky for NPC scenes (just for now) so at least there's a path in place for developers to work around while I fix up the details of NPC/NPC scenes.

 

 

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

 

I worked more on the API, this is my newest draft, I'd be curious on you or anyone else's thoughts that is interested in developing papyrus that uses OSA what it needs, if it seems clear and if it can get the job done:

 

The current draft has a lot of optional fields in it so it can be filled out very simple or very complicated:

 

 

The simplest form: 

 

OSA(actor[], moduleID)

 

takes an actra array of up to 9 actors and the moduleID. For example:

 

actor[] osaPeople = new actor[2]

osaPeople[0] = Guy's actor form

osaPeople[1] = Fone's actor form

 

OStart.OSA(osaPeople, "0Sex")

 

in the newest menus I've set up you can easily get the moduleID and sceneID with 2 clicks of any scene so they should be easy to look up.

 

The full function with all optional stuff is this:

 

OSA(actor[] actra, string moduleID, string startStyle="basic", string firstScene="0", string location="0", string Directory="", int flags="") global

 

startStyle:  Is for future proofing the triggering function, for now there will just be "basic" which it defaults too.

 

firstScene: first scene can be entered but if it's not it will use what the module has listed as default firstScene's

 

location: You can define which actor to start the scene on here or it can also take coordinate data as a string. I've made a function that you stick an object reference into

and it outputs the location as it needs it, but you can also manually create the string on your own:

 

OLocationObject(ObjectReference) 
 
return "500,192,180,500.2,800.9,1256.8"
(returns XYZ position and rotation, comma dilimited)
 
 
so you can do something like this: 
 
objectReference SexySpot = RomanticTreeByLakeSpot
 
OStart.OSA(osaPeople, "0Sex", location=OLocationObject(SexySpot))
 

 

Directory: Not implemented yet but will be the directory an ini or xml that holds customization for the scenes. In the future this will lead to developers being able to command scenes, choreograph them all the way, provide abstract guidelines for the AI, put limitations on the scene, define starting arousal and stats of actors and other special flags.

 

Flags: this is an integer where every digit represents some special customization that might be needed, the first thing that comes to mind is if the developer is submitting and xml or ini the first flag could represent that for example. It will come out just like a long string: 01100001010 for more future proofing. I will make a function that aids developers in creating this for commonly used flags when they start being used.

 

 

 

Developers will not have to worry about this but behind the scenes OSA hooks up to this:

 

 

 

Function OSA(actor[] actra, string moduleID, string startStyle="basic", string firstScene="0", string location="0", string Directory="", int flags=0) global
int a = ModEvent.Create("0S0_"+startStyle)
if (osa)
        ModEvent.PushString(osa, moduleID)
        ModEvent.PushString(osa, firstScene)
        ModEvent.PushString(osa, directory)
        ModEvent.PushInt(osa, flags)
        ModEvent.PushForm(osa, actra[0])
        ModEvent.PushForm(osa, actra[1])
        ModEvent.PushForm(osa, actra[2])
        ModEvent.PushForm(osa, actra[3])
        ModEvent.PushForm(osa, actra[4])
        ModEvent.PushForm(osa, actra[5])
        ModEvent.PushForm(osa, actra[6])
        ModEvent.PushForm(osa, actra[7])
        ModEvent.PushForm(osa, actra[8])
        ModEvent.Send(osa)
    endIf
EndFunction

 

(It needs checks to convert unused actor array slots to "none" that I haven't got to yet)

 

 

 

 

 

 

Everything is working perfectly for me. I use EFF, iHUD and 150 other mods, so people that have issues with those are doing something wrong.

 

I uninstalled 1.06 and installed 1.08D2 on a level-85 save (130+ hours of gameplay). I have tested OS with custom NPCs. No problems whatsoever!

 

My personal issue is that I don't know how to undress the actors now. I have read the last 20 pages of posts, but I would appreciate some help. Thanks!

 

Hi Serge, 

Thank you for the nice comments.

 

I use my own equipment system called ESG. The purpose of it is to tell Skyrim exactly what type of clothing you are wearing in each "Slot" so I can play appropriate animations for clothing types. There's some rough guidelines in the community of what slot does what but in reality there's no unity at all and different authors put equipment in whatever slot they feel like. You will have to go to:

 

Data\meshes\0SA\_0S\Config\esg.xml

 

There you can change the slot numbers which are in the e=" " for each equipment type to match your Skyrim. You can put multiple of the same esg ids together if you want them to all come off at once. For example if you wanted to put all your arm pads and harness together to come off with your cuirass:

 

<esg id="cuirass" s="32"/>

<esg id="cuirass" s="Harness Slot"/>

<esg id="cuirass" s="ArmPad Slot"/>

 

ESG is a utopia set up where I know that a lot of users aren't going to take the time to ensure their slots are aligned and they will be at the whim of developers but it's the only way I can logically see this being done in a way that "could" work with 100% accuracy for all users.

 

 

If you don't set up your esg you will most likely only be able to remove the vanilla slots (Cuirass, boots, helmet, gloves), unless other parts of your slot setup align with the defaults I've provided.

Posted

 

 

 

The simplest form: 

 

OSA(actor[], moduleID)

 

takes an actra array of up to 9 actors and the moduleID. For example:

 

actor[] osaPeople = new actor[2]

osaPeople[0] = Guy's actor form

osaPeople[1] = Fone's actor form

 

OStart.OSA(osaPeople, "0Sex")

 

in the newest menus I've set up you can easily get the moduleID and sceneID with 2 clicks of any scene so they should be easy to look up.

 

The full function with all optional stuff is this:

 

OSA(actor[] actra, string moduleID, string startStyle="basic", string firstScene="0", string location="0", string Directory="", int flags="") global

 

startStyle:  Is for future proofing the triggering function, for now there will just be "basic" which it defaults too.

 

firstScene: first scene can be entered but if it's not it will use what the module has listed as default firstScene's

 

location: You can define which actor to start the scene on here or it can also take coordinate data as a string. I've made a function that you stick an object reference into

and it outputs the location as it needs it, but you can also manually create the string on your own:

 

OLocationObject(ObjectReference) 
 
return "500,192,180,500.2,800.9,1256.8"
(returns XYZ position and rotation, comma dilimited)

 

Directory: Not implemented yet but will be the directory an ini or xml that holds customization for the scenes. In the future this will lead to developers being able to command scenes, choreograph them all the way, provide abstract guidelines for the AI, put limitations on the scene, define starting arousal and stats of actors and other special flags.

 

Flags: this is an integer where every digit represents some special customization that might be needed, the first thing that comes to mind is if the developer is submitting and xml or ini the first flag could represent that for example. It will come out just like a long string: 01100001010 for more future proofing. I will make a function that aids developers in creating this for commonly used flags when they start being used.

 

 

 

Developers will not have to worry about this but behind the scenes OSA hooks up to this:

 

 

 

Function OSA(actor[] actra, string moduleID, string startStyle="basic", string firstScene="0", string location="0", string Directory="", int flags="") global
int a = ModEvent.Create("0S0_"+startStyle)
if (osa)
        ModEvent.PushString(osa, moduleID)
        ModEvent.PushString(osa, firstScene)
        ModEvent.PushString(osa, directory)
        ModEvent.PushInt(osa, flags)
        ModEvent.PushForm(osa, actra[0])
        ModEvent.PushForm(osa, actra[1])
        ModEvent.PushForm(osa, actra[2])
        ModEvent.PushForm(osa, actra[3])
        ModEvent.PushForm(osa, actra[4])
        ModEvent.PushForm(osa, actra[5])
        ModEvent.PushForm(osa, actra[6])
        ModEvent.PushForm(osa, actra[7])
        ModEvent.PushForm(osa, actra[8])
        ModEvent.Send(osa)
    endIf
EndFunction

 

 

 

 

 

 

Looks straightforward enough.  I have a very specific experiment I will attempt to perform with my own mod once you have it ready.  I'm curious about one thing.  If one of the two actras involved in the start event is currently in a position that is approximately the same position where you would like them to be when the first animation in the sequence begins, will the other actra (in this case, the player) automatically teleport/moveto their correct starting position for that same animation, or I do I need to figure out the dom's proper starting coordinates myself?

 

Note:  My previous experience incorporating animations involved paired animations, so the second actor automatically moved.  Although, it was always the NPC who moved and not the player.  Not sure why that was.

Posted

 

 

 

Looks straightforward enough.  I have a very specific experiment I will attempt to perform with my own mod once you have it ready.  I'm curious about one thing.  If one of the two actras involved in the start event is currently in a position that is approximately the same position where you would like them to be when the first animation in the sequence begins, will the other actra (in this case, the player) automatically teleport/moveto their correct starting position for that same animation, or I do I need to figure out the dom's proper starting coordinates myself?

 

Note:  My previous experience incorporating animations involved paired animations, so the second actor automatically moved.  Although, it was always the NPC who moved and not the player.  Not sure why that was.

 

 

 

I think I see what you mean, does this explain it?

 

The order you put them in defines their role in the scene. In the following case Guy will be the "Dom" and Fione will be the "Sub"

 

actor[] osaPeople = new actor[2]

osaPeople[0] = Guy's actor form

osaPeople[1] = Fone's actor form

 

OStart.OSA(osaPeople, "0Sex")

 

Since no location data is provided the script will default to starting on the player and if no player is in the scene it will start on Actor[0]

 

 

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

If location data is a single digit the UI will use that number to decide the start actor.

 

OStart.OSA(osaPeople, "0Sex", location=1)

 

in this case since location=1 it will start on actra[1] (Fione)

 

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

If location data is coordinates it will start on those coordinates

 

OStart.OSA(osaPeople, "0Sex", location=OLocationObject(SexySpot))

 

Here it will start at the location of the "SexySpot" which is an objectReference

 

 

OR

 

OStart.OSA(osaPeople, "0Sex", "500,192,180,500.2,800.9,1256.8")

 

You can just manually put in comma separated values for the position / rotation. The function in the prior example does the same thing automatically. The scene will start at those values. For example if you knew the scene was going to happen in a specific location and wanted to define the point in the room exactly that it occured at, (this will have more importance if some furniture / against the wall animations come into play etc.)

 

 

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

 

If you are refering just to their root in the scene, and lining them up. Both actors are stuffed onto the exact same coordinate, and separated only visually by animations where as technically as far as the game is concerned they are completely stacked on top of each other. With the non-paired animation approach all they have to do is be stacked up by Papyrus in the same spot, and you can animated them around the 0,0,0 as you want them to appear in Skyrim.

Posted

Sounds really easy.  I can do a papyrus sex check to decide array element order, which is nice.  Based on what you're saying, the coordinates will be cake as well.  Looking forward to checking it out.

 

How are you coming on Dynolod compatibility?

 

 

 

 

 

 

Just kidding on that last part.

Posted

I am wondering how can I go to the new magic positions? Can't really find the right path or I my eye sight is just too bad...

 

From starting position separate actors and you will see wizard sex option.

Posted
 
Function OSA(actor[] actra, string moduleID, string startStyle="basic", string firstScene="0", string location="0", string Directory="", int flags=0) global
...

 

(It needs checks to convert unused actor array slots to "none" that I haven't got to yet)

 

You could try PapyrusUtil ActorArray function when you create the array, setting the filler as needed.

Actor[] function ActorArray(int size, Actor filler = none) global native

Instead of Actor[] actra = new Actor[10] for example it would be Actor[] actra = PapyrusUtil.ActorArray(10, <filler here>).

Posted

 

HELLO CEO 0S

 

FIRST WANT SAY THANKS FOR MAKE THIS MOD RLY NICE BUT HAVE A PROBLEM I CANT DOWNLOAD IT.

 

DUDE PLZ CAN YOU SEND ME TH LINK OF 0SEX MOD I CANT FIND IT IN NEXUS ITS HIDDEN I DON'T KNOW WHY just If you can sent me the link I WILL BE grateful and by the way fantastic mod you are awsome rly like it.

 

Yeah its really hard to find the link to download 0sex. I wish it was somewhere more visible.

 

 

 

LoL....

 

That is all for now.

 

 

P.S. To keep it on topic, CE0 You rock. I dont know how or where you find all the awesomness that overflows from ya, but wow, Thanks.

Posted

tumblr_o7gegyXgcs1ubnr1mo2_r1_1280.jpg

 

Sorry a little delayed on this patch but seeing most of the fine points of the UI all the way through, I can do it by tomorrow. Still mostly boring stuff this time like translations, menus, config stuff, but I need testing very much so please me out! Finishing the equipment slots menu and I'm separating the translation ini into a few files, it will be used both for translation but also for customizing terms. There's main for most common phrases, esg for the names of the slots, and obscenity for debatable sex phrases and body part names depending on how vulgar or civil you want your experience to be. 

 

It's got a languageOverride also so you can translate to non-skyrim official languages, example:

 

languageOverride= "British"

verbMaleMasterbate= "Wank"

verbSexIntercourse= "Fumpwunk"

 

Setting a hard release date goal to build hype and force some deadlines so this can actually happen, don't need that much time but giving myself a few days breathing room to polish, going to nexus it on June 1, thank you for your patience everyone over the last half year while we got OSA to this point. Thank you for all the support, help inspiration and great ideas through that time also! Very excited to see the communities reaction to what this has become.

 

 

 

CEO is OSA able to animate any spoken line (wav file) without creating lip sync files?

 

Hi Kinky,

 

It can, but the system needs a little refinement, I've only really tested it so far for a single gesture of the lips but it can take more elaborate lip movements in the same way you were working with the lipsync data.

 

Lip sync data has a delay setting for how how long a pause you want before each entry happens and also a recovery time of how long until the system restores that motion of the mouth back to what it originally was. You'd stack all the movements up and just set their delay and recovery rates to make the lips move the way you want and set the time of the sound so it locks them out for making other sounds for the duration.

 

This would be pretty painful to do for things like a paragraph long text and I am exploring ways to make this easier so I will most likely make an easier system for the future to handle long phrases better, focusing on this when I get around to Dirty Talk. The single sounds benefit being woven in and mixed around passively and that would be weird for long phrases and sentences so it kind of needs it's own system. At the moment it can already roughly do that.

 

What are you thinking about? Keep in mind that if developers want any feature I will do my best to put it in, a lot of my slacking is due to their being a ton that could be done but I can only focus on so much at a time but I'm happy to expedite something if it would suit a vision.

Posted

This is a very minor problem that I think doesn't have anything to do with your mod directly.  When using this mod and rotating the camera, at times the NPC will disappear leaving only me (in fact, my character never disappears).  For example, if my character and the NPC are in the initial scene with us looking at each other, I can only get the camera so close before the NPC disappears and as I rotate the camera the NPC will usually fade in and out at different angles.  It feels like the camera is clipping the NPC.  I believe there's a .ini file setting that may able to adjust this but i'm not sure.  

 

The way I get around this for close camera shots is to back the camera making sure the NPC is visible and use the command console TFC,   This allows me to move the camera where ever I want and the NPC never disappears.  The small negative is that I have to use the TFC commend once initially and once again after using the mod.  Now Sexlab has an option where it can automatically take you into TFC and then back out at the end.  If possible this could be a good tweak for this mod as TFC gives much better camera control than the default camera. 

Posted

 

 

I would recommend Enhanced Camera if you aren't already using it, it may solve your NPC issue.

 

As for TFC, if you have SexLab installed NUMPAD 3 should put you into free-cam at any time as well.

Posted

 

Nice idea nt thanks. I think that's just a skyrim problem I encounter it also. I'll work a line into the ini that triggers and ends it automatically for you on scene start. I know sex lab slows tfc down more then it's default speed which is a nice feature I'll work in also.

 

To Sff's suggestion I'm going to try to put into a key package hide the nav menu and toggle tfc with the num pad so you don't have to open console and clear things out for screen shots etc. Mostly in case users don't have sexlab in so they can still get the functionality

 

 

Posted

Are there going to be two releases like before? i.e. Animations which were too controversial for Nexus? If so, will I need to install Sexlab or are you planning on packaging those animations into the new release here on LL. 

 

Cause I have to confess, I uninstalled Sexlab on my most recent playthrough :P since testing here. 

 

Its not that I don't like SL, but I realized that it was the idea of being able to do it that was enticing rather than watching the scene itself.

 

OSex brings the best of both, the enticing opportunity to do WHAT I want WHEN I want and HOW I want. 

Posted

CEO is OSA able to animate any spoken line (wav file) without creating lip sync files?

 

Hi Kinky,

 

It can, but the system needs a little refinement, I've only really tested it so far for a single gesture of the lips but it can take more elaborate lip movements in the same way you were working with the lipsync data.

 

Lip sync data has a delay setting for how how long a pause you want before each entry happens and also a recovery time of how long until the system restores that motion of the mouth back to what it originally was. You'd stack all the movements up and just set their delay and recovery rates to make the lips move the way you want and set the time of the sound so it locks them out for making other sounds for the duration.

 

This would be pretty painful to do for things like a paragraph long text and I am exploring ways to make this easier so I will most likely make an easier system for the future to handle long phrases better, focusing on this when I get around to Dirty Talk. The single sounds benefit being woven in and mixed around passively and that would be weird for long phrases and sentences so it kind of needs it's own system. At the moment it can already roughly do that.

 

What are you thinking about? Keep in mind that if developers want any feature I will do my best to put it in, a lot of my slacking is due to their being a ton that could be done but I can only focus on so much at a time but I'm happy to expedite something if it would suit a vision.

 

 

For now its only curiosity. I wont bother you with this since you have a mod to release and also i would like to see some other wishes come true before like plumber blowjob animation and cumshot at any time. Im full of ideas but they can wait for now. :)

 

Posted

 

 

 

I would recommend Enhanced Camera if you aren't already using it, it may solve your NPC issue.

 

As for TFC, if you have SexLab installed NUMPAD 3 should put you into free-cam at any time as well.

 

 

I do have Enhanced Camera installed.  

 

I never knew about the NUMPAD 3.  How did I not know that?  That's very helpful.  Thanks! 

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