Jump to content

OSex+ The Greatest Virtual Sex Ever


Recommended Posts

Posted

Is there going to be another update before release on nexus?

 

Yea 2 more:

One tomorrow:

 

- Redressing

- No sex with chickens

- Papyrus API for developers

- ESG exclude

- Nav Menu Translations

- Make OSA an esm

- Redo naming of scripts and other trivial stuff for a more unified brand

 

Smaller one a few days before launch

 

- All reactions triggered in sexdentity

- Hide nav menu toggle

- Whatever other small bugs

- Maybe NPC+NPC scenes with observation mode

- Maybe arousal score manual adjustment

- Maybe inspect key

- Last minute changes

- Dyndolod compatability

 

Also here's the latest API draft for input while I finalize it, if any of my Papyrus people want to check it out

 

 

Scriptname OSA extends activemagiceffect  
 
 
 
 
; ██████╗ ███████╗ █████╗                                                                                                                                             
;██╔═══██╗██╔════╝██╔══██╗                                                                                                                                            
;██║   ██║███████╗███████║                                                                                                                                            
;██║   ██║╚════██║██╔══██║                                                                                                                                            
;╚██████╔╝███████║██║  ██║                                                                                                                                            
; ╚═════╝ ╚══════╝╚═╝  ╚═╝                                                                                    
;█████╗█████╗█████╗█████╗█████╗█████╗█████╗                                                                                   
;╚════╝╚════╝╚════╝╚════╝╚════╝╚════╝╚════╝
;Functions for papyrus developers to use to set up custom scenes, use OSA effects, and format csv strings for the UI.
 
 
bool function exists()
return true
endFunction
 
;API event that begins a basic scene. Intended to be the permenant stable trigger.
;(Type1) Intended as the permenant stable version.
 
string function makeScene(actor[] actra, string moduleID, string password="", string triggerStyle="basic", string firstScene="0", string sceneLocation="0", string oFlags="", string sceneflags="") global
  
    int API = ModEvent.Create("OSA_OStage"+triggerStyle)
    int actraCount = actra.length
 
if !password
password = utility.randomInt(0, 99999)
endIf
 
        if (API)
        ModEvent.PushString(API, password)
        ModEvent.PushString(API, moduleID)
        ModEvent.PushString(API, firstScene)
        ModEvent.PushString(API, sceneLocation)
        ModEvent.PushString(API, oFlags)
        ModEvent.PushString(API, sceneFlags)
                    int pushActra = 0
                    while pushActra < actraCount
                            ModEvent.PushForm(API, actra[pushActra])
                    pushActra+=1
                    endWhile
                    int blankActra = 9 - pushActra
                    pushActra = 0
                    while pushActra < blankActra
                            ModEvent.PushForm(API, none)
                    pushActra+=1
                    endWhile
        ModEvent.Send(API)
        endIf
 
return password
endFunction
 
 
 
;   ___   ___   _____ 
;  / __| | __| |_   _|
; | (_ | | _|    | |  
;  \___| |___|   |_| 
;  _       ___     ___     _     _____   ___    ___    _  _ 
; | |     / _ \   / __|   /_\   |_   _| |_ _|  / _ \  | \| |
; | |__  | (_) | | (__   / _ \    | |    | |  | (_) | | .` |
; |____|  \___/   \___| /_/ \_\   |_|   |___|  \___/  |_|\_|
;
 
;Makes a CSV string for the location where the scene should begin. (Version #2)
;Used to retrieve coordinate data for a start location from an objectReference
 
string function getPosObject(ObjectReference Object)
return object.GetPositionX()+","+object.GetPositionY()+","+object.GetPositionZ()+","+object.GetAngleX()+","+object.GetAngleY()+","+object.GetAngleZ()
endFunction
 
 
;Makes a CSV string for the location where the scene should begin. (Version #2)
;Used to retrieve coordinate data for a start location from an Actor
 
string function getPosActor(Actor actra)
return actra.GetPositionX()+","+actra.GetPositionY()+","+actra.GetPositionZ()+","+actra.GetAngleX()+","+actra.GetAngleY()+","+actra.GetAngleZ()
endFunction
 
 
;Makes a CSV string for the location where the scene should begin. (Version #3)
;Use this version if you want to input the coordinates yourself based on your own calculations or if you want to use an exact spot.
 
string function scribePos(float posX, float posY, float posZ, float rotX, float rotY, float rotZ)
return posX+","+posY+","+posZ+","+rotX+","+rotY+","+rotZ
endFunction
 
 
 
;  ___    ___   ___   ___   ___   ___ 
; / __|  / __| | _ \ |_ _| | _ ) | __|
; \__ \ | (__  |   /  | |  | _ \ | _| 
; |___/  \___| |_|_\ |___| |___/ |___|
                                     
 
;Makes a CSV string for the UI of flags that apply to all OSA scenes
 
string function scribeOFlags()
return ""
endFunction
 
 
;Makes a CSV string for the UI of flags that apply to a specific module
 
string function scribeSceneFlags()
return ""
endFunction
 
 
 
 
actor[] function scribeActors(actor a0, actor a1=none, actor a2=none, actor a3=none, actor a4=none, actor a5=none, actor a6=none, actor a7=none, actor a8=none) global
actor[] actorTeam = new actor[9]
actorTeam[0] = a0
actorTeam[1] = a1
actorTeam[2] = a2
actorTeam[3] = a3
actorTeam[4] = a4
actorTeam[5] = a5
actorTeam[6] = a6
actorTeam[7] = a7
actorTeam[8] = a8
return actorTeam
endFunction
 
;  ___    ___    ___   __  __     ___   ___  
; | __|  / _ \  | _ \ |  \/  |   |_ _| |   \ 
; | _|  | (_) | |   / | |\/| |    | |  | |) |
; |_|    \___/  |_|_\ |_|  |_|   |___| |___/ 
                                            
;Returns the always true formID of an actor which OSA uses as a serial number. 
;Note that this number will change with the users load order so it should not be used as a permenant identifier
;The actors events while they are in a scene can be registered for and listened to using this.
 
string function id(actor actra)
return _oGlobal.GetFormID_s(actra.GetActorBase())
endFunction
;Epic solution made by SF, thank you!

Posted

Ceo, why i am having freeze right after loading game with enabled 0S 1.08 v5 ? : O

 

Did you use Kinky's modifications to esg.xml?

 

I have had exactly the same problem as you have but I managed to fix it initially by putting back the original esg.xml  from Demo 5. I think I must have stuffed up the file editing it wrong somehow.  I am not sure how but I did get Kinky's code  working by pasting into an empty file and using that file to overwrite CEO's version.

 

A link to Kinky's esg code is in Kinky's signature.

 

I hope this helps as I know all too well how frustrating this sort of problem can be.

 

Posted

 

Here's the gist of it if you want to take a look and see what could be done, I will too:

 

 

 

The Tpose animation has an event "0STPOSE" at 0 seconds into the animation. When an actor is being measured I make them register for this animationevent and also for a modevent called TPoseSpam, which sends them a request to play the TPose animation every .1 seconds (While it waits for any animations that are overriding it to finish. When the TPose starts this animation event occurs: Basically unregistering for the spam, and event measuring then putting them back to what they were doing after sending the info the UI.

 

State Measure

 

Event OnAnimationEvent(ObjectReference akSource, string zAE)
 
UnRegisterForModEvent("0Temp"+FormID+"_TPoseSpam")
UnRegisterForAnimationEvent(Actra, "0STPOSE")
string[] OHeight = new string[2]
OHeight[0] = FormID
OHeight[1] = NetImmerse.GetRelativeNodePositionZ(Actra, "NPC Root [Root]", "NPC Head [Head]", false)
oi.oSS(".com.skyActraOHeight", OHeight)
Debug.SendAnimationEvent(Actra, "IdleForceDefaultState")
ActorMeasured = True
GoToState("") 
EndEvent
 
EndState
 

 

 

 

 

I was looking at that code last night while checking out the stripping/redressing stuff.  I have an idea but I need to test it first.

Posted

 

 - No sex with chickens

 

 

lmao

Posted

I've encountered a problem where wizard animation is nowhere to be found. Clean save and new game did not make a difference. I looked through the files and .oplug files located in plugin folder have 0KB in size. They also show up as "not installed" in GUI. Are they only placeholders or should they contain something?

Posted

- Dyndolod compatability

 

Sorry if this is somehow a dumb question, but why would a mod like 0Sex be incompatible with Dyndolod?

 

Posted

 

 

Pip I thought you might like to see this, maybe already know but it's a pretty big break through for me and opens up a ton of doors for API. Basically would allow API without mastery to change or adjust anything at all in a scene to initiate it and also tweak it during play.

 

I got this to work by finding that widgetID is a property auto made by the WidgetBase and plugging that number and some additional stuff successfully replaced  WidgetRoot 

 

---------

 

int OSAID = oi.WidgetID
 
UI.InvokeString("HUD Menu", "_root.WidgetContainer." + OSAID + ".widget.debugOutput", DID THIS TEST WORK?")
 
which can be called anywhere with no mastery. I can make a series of global functions with that simplify interacting with OSA for developers to do whatever they want and it could come from a dialogue fragment or a full script.
-----------
 
Plan at the moment is to have a global variable form  in OSA.esm. It will hold the UI's widgetID. On game reset (When the UI boots) it sends an event that updates the Global Variable with the new widgetID.
 
I would then make a bunch of global functions that simplify using that so outside developers can communicate directly with the scene:
;Pick a callsign to communicate with the scene
string[] MyScene = new string[2]
MyScene[0] = "MySceneCallSign"
 
;Create a shell for the scene to set up properties
OSA.createOScene(MyScene)
 
;Set Flags
OSA.includeActors(MyScene, Actor, Actor)
OSA.disableRedressing(MyScene, Actor)
OSA.setStartScene(MyScene, "OtherStartScene")
etc..
 
;Launch it
OSA.beginScene(MyScene)
 
Here's the papyrus functions I've set up so far to try to give an idea what my plan is:

 
 
;  ___    ___   ___   _  _   ___      ___   ___   ___     _     _____   ___    ___    _  _ 
; / __|  / __| | __| | \| | | __|    / __| | _ \ | __|   /_\   |_   _| |_ _|  / _ \  | \| |
; \__ \ | (__  | _|  | .` | | _|    | (__  |   / | _|   / _ \    | |    | |  | (_) | | .` |
; |___/  \___| |___| |_|\_| |___|    \___| |_|_\ |___| /_/ \_\   |_|   |___|  \___/  |_|\_|
 
string[] function makeScene(string sceneDesignation) global
oGlyphS(".glyph.makeScene", sceneDesignation)
string[] sceneBuilder= new string[10]
sceneBuilder[0] = sceneDesignation
return sceneBuilder
endFunction
 
 ;  ___     ___   _     __   __  ___   _  _ 
 ; / _ \   / __| | |    \ \ / / | _ \ | || |
 ;| (_) | | (_ | | |__   \ V /  |  _/ | __ |
 ; \___/   \___| |____|   |_|   |_|   |_||_|
 
;oGlyph is my cryptic designation for the Identifier of the UI overlay for communication. 
;It's retrieved and set in a global variable everytime the UI is rebooted.
;This allows outside develpoers to communicate directly with the UI without needing to master OSA
 
 
;The glyph will auto fill itself out if it's not given but it does use a game.getfile which might be expensive
;These most likely will not have to be used to often but if for some reason a developer needs to spam them
;I would recommend getting the glyph with oGlyph() and including it in your functions. Keep in mind that the
;OGlyph value could change everytime the game is reloaded so don't save it for permenant usage.
;It's life time usage should be restricted to one play session.
 
Function oGlyphO(string zMethod, int glyph=0) global
    glyph = oGlyphValidate(glyph)
    UI.Invoke("HUD Menu", "_root.WidgetContainer."+glyph+".widget"+zMethod)
EndFunction
 
Function oGlyphI(string zMethod, int zInt, int glyph=0) global
    glyph = oGlyphValidate(glyph)
    UI.InvokeInt("HUD Menu", "_root.WidgetContainer."+glyph+".widget"+zMethod, zInt)
EndFunction
 
Function oGlyphS(string zMethod, string zString, int glyph=0) global
    glyph = oGlyphValidate(glyph)
    UI.InvokeString("HUD Menu", "_root.WidgetContainer."+glyph+".widget"+zMethod, zString)
EndFunction
 
Function oGlyphSS(string zMethod, string[] zStringArray, int glyph=0) global
    glyph = oGlyphValidate(glyph)
    UI.InvokeStringA("HUD Menu", "_root.WidgetContainer."+glyph+".widget"+zMethod, zStringArray)
EndFunction
 
;Validates the oGlyph
;If one isn't provided by the user in the parent function this will retrive
;the oGlyph value itself.
 
int function oGlyphValidate(int glyph) global
if glyph < 1
return oGlyph()
else
return glyph as int
endif
endFunction
 
int function oGlyph() global
return  (Game.GetFormFromFile(0x00005056, "OSA.esm") as globalVariable).getValue() as int
endFunction
 
 
in _Global the oGlyph global variable is initially set by the UI on reboot:
 
function oGlyphSet(globalVariable glyph, int identifier) global
glyph.setValue(identifier) 
endFunction
 

 

 

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

Basically I find extending and hooking up papyrus fragments a huge thing to get feet on the ground with even if the setup process wasn't kind of wonky, secondly I'd like OSA to be able to function optionally. Developers could make a mod and have it use OSA if the user has it so it's less of a decision to use. Lot of users seem terrified of setting up even SKSE etc. so I think some strange thing like OSA that's hard to explain what it does exactly is an even harder sell.

 

This would be quick short functions to manage scenes, the actors stats and behaviors in the scenes, send special events to the scene, any flag could be adjusted. It could inject custom profiles on the fly also interact with OSA text boxes. Any mod can make the UI do pretty much anything now as long as OSA is installed.

Posted

 

- Dyndolod compatability

 

Sorry if this is somehow a dumb question, but why would a mod like 0Sex be incompatible with Dyndolod?

 

 

 

Dont worry there is no incompatibility its just inside joke and trolling a guy who was asking for it in a really rude way.

 

Fun fact: he really didn't include it in his guide. :D

 

Posted

I've encountered a problem where wizard animation is nowhere to be found. Clean save and new game did not make a difference. I looked through the files and .oplug files located in plugin folder have 0KB in size. They also show up as "not installed" in GUI. Are they only placeholders or should they contain something?

 

Hi Vack,

I'm almost certain this is due to a clean save. oplug's should be empty I'm scanning for their file names only. Most likely the MCM quest script isn't up to date and needs to be wiped/reset resulting in it not scanning for and detecting any plugins.

Posted

 

Is there going to be another update before release on nexus?

 

- Dyndolod compatability

 

 

OMG CAN'T WAIT!

 

 

 

 

 

 

 

:P

Posted

 

 

 

Migal,

 

I reworked the API entirely, I'm super stoked about it, it pretty much has full power with no requirements, WAY more then I was expecting and without complicated modevents and filling out xmls. I had to make some big changes to the script and it's in regards to UI stuff which my knowledge quickly becomes low. On this note I'll need my testers to just use OSA when I demo tomorrow and tell me if the results are the same to confirm there's no sketchy stuff happening from the new system.

 

I'm writing to you though because it sounds like you have a rough infrastructure in place to test API, or have made some initial plans to something that could connect? I was wondering since you have great knowledge on this stuff if you could test run the API for me to see if you're getting similar results to me.

 

Here's a summary of the new system.

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

 

String[] newScene = osa.makeStage("OS_SexySceneByATree")

osa.setActors(newScene, osa.scribeActors(Fione, Guy))

osa.defineScene(newScene, "0Sex")

*******Custom Flags and adjustments here

osa.start(newScene)

 

osa is an entirely global script so there's no need to master/register/extend anything.

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

 

 

 

 

To make a scene you need to give it a name similar to a mod event. This has to be unique enough to not be duplicated in 1 play session. (However it might be fine as long as two scenes aren't happening at the exact same time with the same name.)

 
---------------
 
String[] MyNewScene = osa.makeStage("OS_SexySceneByATree")
 
You start by making a string[] with osa.makeStage(Identifier for the instance of your scene). 
It returns a string[] that just automatically assembles all the registration data you'll need so you don't have to worry about it.
 
At this point the UI has made a shell for the scene with all the variables in place but hasn't started the scene yet.
 
---------------------
 
osa.setActors(MyNewScene, osa.scribeActors(Fione, Guy))

 

Add your actors to the scene. The 2nd property wants a string[] with SF's trueFormID for each actor. scribeActors automatically does this and outputs a string[] it can take 1-9 actors.

 

osa.defineScene(MyNewScene, "0Sex")

 

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

CUSTOMIZE FLAGS HERE

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

 

osa.start(MyNewScene)

 

This line concludes scene registration and begins the scene

 

 

 

 

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

 

The cool thing is though in the flag section the UI has all the variables in place and you will be able to manipulate them all before launching the scene. These are all fairly straight forward but I'll have to make the connections for them to work so I won't have them in the demo but here's an example of what it can do. Keep in mind that these are just examples and it will be able to change pretty much anything.

 

 

osa.actorStats(osa.id(Guy), "profile", "tempTitle", "Misbehaving Boyfriend")

 

osa.sceneFlag(MynewScene, "firstScene", "StandingAdore")

 

osa.actorStats(osa.id(Fione), "intimacy", "arousal", "5")

 

osa.sceneFlag(MynewScene, "autoNav", "Cabooser")

 

osa.start(MyNewScene)

 

Something like this as an example would:

1. give "Guy" a temporary title displayed for the duration of the scene

2. Start from the standing scene

3. Fione get's very arroused pre spanking people I guess

4. Auto Navigate from the start scene to Cabooser.

 

I can make every thing the script can do able to be changed and adjusted here,  and can provide and make flags for any kind of customization a developer might want, for playback, stats, persona, and display profile data.

 

Again I won't this part for the demo but it will be very easy to set this up if the initial test works ok. This also can continue while the scene is live so there can be ways to manipulate the scene while it's taking place, proc certain dialogue options, sounds, custom options etc.

Posted

 

I've encountered a problem where wizard animation is nowhere to be found. Clean save and new game did not make a difference. I looked through the files and .oplug files located in plugin folder have 0KB in size. They also show up as "not installed" in GUI. Are they only placeholders or should they contain something?

 

Hi Vack,

I'm almost certain this is due to a clean save. oplug's should be empty I'm scanning for their file names only. Most likely the MCM quest script isn't up to date and needs to be wiped/reset resulting in it not scanning for and detecting any plugins.

 

 

 i have this problem too am using mod organizer and looking at the file tree i notice that the skse folder in your mod with the mfg.dll files is not installed could this be the problem?

Posted

 

How exactly do I enable the wizard animations? I'm curious as to what they look like.

 

From the first position (Standing Adore) select the "Let Go" option. From that next scene you can wizard sex. (It has it's own page tab)

 

 

I'm only seeing stripping options and the return to base position from the standing apart position.

 

I'm on the 5th demo version, upgraded from a clean save. Might be a bug on my end?

Posted

 

 

How exactly do I enable the wizard animations? I'm curious as to what they look like.

 

From the first position (Standing Adore) select the "Let Go" option. From that next scene you can wizard sex. (It has it's own page tab)

 

 

I'm only seeing stripping options and the return to base position from the standing apart position.

 

I'm on the 5th demo version, upgraded from a clean save. Might be a bug on my end?

 

 

Hi Zone,

I'm almost certain this is a clean save problem. If you go the scene menu on the left. > Info > and hover over the Plugins option an overlay will show up. You'll see a list of possible plugins and stuff in developent BUT if they are installed you'll have a division on the overlay labeled as "INSTALLED" that should list 4 or 5 plugins. 

 

I'm assuming it will not show any as installed and that's why you aren't seeing wizard sex. Try from a fresh game or at least from a definitely pre osex save to see if this problem still happens to narrow it down.

 

As a note some of the new systems I got from making the API I believe will make a majority of clean save problems go away this will hopefully become less of an issue in the future.

Posted

There's an OSex API on the way? Wow, that's exciting stuff! The stuff sexy dreams are made of.

 

Thanks!

Does this mean Amorous Adventures is geting updated to use 0sex? If yes then thats really exciting and sexy dreams are comming true. :D

Posted

 

 

 

 

Migal,

 

I reworked the API entirely, I'm super stoked about it, it pretty much has full power with no requirements, WAY more then I was expecting and without complicated modevents and filling out xmls. I had to make some big changes to the script and it's in regards to UI stuff which my knowledge quickly becomes low. On this note I'll need my testers to just use OSA when I demo tomorrow and tell me if the results are the same to confirm there's no sketchy stuff happening from the new system.

 

I'm writing to you though because it sounds like you have a rough infrastructure in place to test API, or have made some initial plans to something that could connect? I was wondering since you have great knowledge on this stuff if you could test run the API for me to see if you're getting similar results to me.

 

Here's a summary of the new system.

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

 

String[] newScene = osa.makeStage("OS_SexySceneByATree")

osa.setActors(newScene, osa.scribeActors(Fione, Guy))

osa.defineScene(newScene, "0Sex")

*******Custom Flags and adjustments here

osa.start(newScene)

 

osa is an entirely global script so there's no need to master/register/extend anything.

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

 

 

 

 

To make a scene you need to give it a name similar to a mod event. This has to be unique enough to not be duplicated in 1 play session. (However it might be fine as long as two scenes aren't happening at the exact same time with the same name.)

 
---------------
 
String[] MyNewScene = osa.makeStage("OS_SexySceneByATree")
 
You start by making a string[] with osa.makeStage(Identifier for the instance of your scene). 
It returns a string[] that just automatically assembles all the registration data you'll need so you don't have to worry about it.
 
At this point the UI has made a shell for the scene with all the variables in place but hasn't started the scene yet.
 
---------------------
 
osa.setActors(MyNewScene, osa.scribeActors(Fione, Guy))

 

Add your actors to the scene. The 2nd property wants a string[] with SF's trueFormID for each actor. scribeActors automatically does this and outputs a string[] it can take 1-9 actors.

 

osa.defineScene(MyNewScene, "0Sex")

 

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

CUSTOMIZE FLAGS HERE

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

 

osa.start(MyNewScene)

 

This line concludes scene registration and begins the scene

 

 

 

 

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

 

The cool thing is though in the flag section the UI has all the variables in place and you will be able to manipulate them all before launching the scene. These are all fairly straight forward but I'll have to make the connections for them to work so I won't have them in the demo but here's an example of what it can do. Keep in mind that these are just examples and it will be able to change pretty much anything.

 

 

osa.actorStats(osa.id(Guy), "profile", "tempTitle", "Misbehaving Boyfriend")

 

osa.sceneFlag(MynewScene, "firstScene", "StandingAdore")

 

osa.actorStats(osa.id(Fione), "intimacy", "arousal", "5")

 

osa.sceneFlag(MynewScene, "autoNav", "Cabooser")

 

osa.start(MyNewScene)

 

Something like this as an example would:

1. give "Guy" a temporary title displayed for the duration of the scene

2. Start from the standing scene

3. Fione get's very arroused pre spanking people I guess

4. Auto Navigate from the start scene to Cabooser.

 

I can make every thing the script can do able to be changed and adjusted here,  and can provide and make flags for any kind of customization a developer might want, for playback, stats, persona, and display profile data.

 

Again I won't this part for the demo but it will be very easy to set this up if the initial test works ok. This also can continue while the scene is live so there can be ways to manipulate the scene while it's taking place, proc certain dialogue options, sounds, custom options etc.

 

 

 

I will test it when it's ready, CEO.

 

I tried to recompile your _0SA_ActraT1.psc script, but failed.  All kinds of nonsense about missing things, including HUD stuff.  Additionally, my brain isn't 100% right now because I'm still a little groggy from the meds I got for a kidney stone I (unpleasantly) learned about yesterday.

 

Were I able to compile, this is where I would start with your scaling issue:

Event OnTPoseSpam()
        ;---------- new ----------
	Actra.PlayIdle(ResetRoot)
	if (Actra.GetSitState() > 2)
		Actra.MoveTo(Game.GetPlayer(), (40 * Math.Sin(Game.GetPlayer().GetAngleZ())), (40 * Math.Cos(Game.GetPlayer().GetAngleZ())), 0.0, abMatchRotation = false)
		Utility.Wait(0.2)
	endif
        ;-------------------
	debug.sendanimationevent(Actra, "OSA_TPose")
	utility.wait(0.1)
	TPoseSpam(FormID)
EndEvent

The goal is to get the NPC out of a chair prior to your measuring routine.  The added code should do that.  It will put the NPC directly in front of the player, standing up.  I realize this would have to be adjusted for multiple actors and I might need a different approach for laying down furniture such as beds, but I'd want to see if this works first.  Theoretically, you could also remove the "if (Actra.GetSitState() > 2)" and just run the ResetRoot and MoveTo on standing NPCs.  It should kill any animation they are currently running and hopefully reduce the number of times the spamming would be required (if it still needs to be spammed).

Posted

i read something about an 1.8 patch? can someone point me in the right direction?

No. Just remove any previous version of 0sex, do clean save and install version from the link in my signature. Thats all you need to be up to date.

Posted

 

 

 

How exactly do I enable the wizard animations? I'm curious as to what they look like.

 

From the first position (Standing Adore) select the "Let Go" option. From that next scene you can wizard sex. (It has it's own page tab)

 

 

I'm only seeing stripping options and the return to base position from the standing apart position.

 

I'm on the 5th demo version, upgraded from a clean save. Might be a bug on my end?

 

 

Hi Zone,

I'm almost certain this is a clean save problem. If you go the scene menu on the left. > Info > and hover over the Plugins option an overlay will show up. You'll see a list of possible plugins and stuff in developent BUT if they are installed you'll have a division on the overlay labeled as "INSTALLED" that should list 4 or 5 plugins. 

 

I'm assuming it will not show any as installed and that's why you aren't seeing wizard sex. Try from a fresh game or at least from a definitely pre osex save to see if this problem still happens to narrow it down.

 

As a note some of the new systems I got from making the API I believe will make a majority of clean save problems go away this will hopefully become less of an issue in the future.

 

 

Hi,

 

Tried different clean saves and new game, problem still persisting. Even disabled all unnecessary mods and started fresh, still same. Probably issue with my game, will try my luck with next beta version. Nevertheless it's working flawlessly, did not encounter any problem besides being stuck on unfinished path (can by fixed be navigating to different scene with warp on).

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