Here are some examples of some of the more complex situations we can create with OStim's API. These examples emphasize possibilities that aren't possible in a static-type sex system like sexlab. Remember, all of the functions in OSexIntegrationMain.psc can be used to create infinite possibilities. You're also free to copy paste this code or use some of the ideas presented here.
Read API Rundown and OSex's Animation labeling and tagging system explained before reading this
Situation: We're creating a story based mod, and we want to initiate sex with a female character that will get angry with the player if sex finished before they have an orgasmOsexIntegrationMain ostim = game.GetFormFromFile(0x000801, "Ostim.esp") as OsexIntegrationMain
ostim.StartScene(playerref, secondActor)
RegisterForModEvent("ostim_end", "ostimend")
...
Event ostimend(string eventName, string strArg, float numArg, Form sender)
if ostim.getTimesOrgasm(secondActor) < 1 ;by now, the ostim animation has ended, but all of the data in the ostim thread will still be there for us to read after the fact. Here we see that secondactor did not orgasm.
angryDialogue.say()
secondactor.startcombat(playerref)
runsomestoryfunction()
endif
endevent
Situation: We want to implement per-character "fetishes" into the game so that a character will get extra stimulation while performing their fetish. Here, a character gets extra stimulation during doggystyle animationsostim.startscene(playerref, secondActor)
while ostim.animationrunning()
utility.wait(1)
if (ostim.getcurrentanimation() == "0Sx0MF_Sx-DoggyLiSxHT_S1") || (ostim.getcurrentanimation() == "0Sx0MF_Sx-DoggyLiSxHT_S2") ; there are more animation speed variants here I did not list
ostim.setactorexcitement(secondactor, ostim.getactorexcitement(secondactor) + 1.0)
endif
endwhile
Situation: When the player actor is about to climax, we want to switch OStim to a "moneyshot" animationostim.startscene(playerref, secondActor)
while ostim.animationrunning()
utility.wait(1)
if ostim.getactorexcitement(playerref) > 95
ostim.warptoanimation("0MF|Sy6!KNy9|Po|KnStraApPo")
ostim.setanimationspeed(5)
return
endif
endwhile
0 comments