Jump to content

The Sexoutng Api (How-To For Modders)


prideslayer

Recommended Posts

Posted

 

  1. What Sexout vars do I need to be looking at/outputting to determine why sex hasn't/isn't starting?  I've been told that acts aren't starting in my mod maybe 5-10% of the time.  While I'm guessing that maybe the flag hasn't been turned off on the actor from a previous act, I'm uncertain what to look for/at to diagnose the issue.
  2. When I've called a specific anim on all actors, should I be seeing stuff like this in the console:  "NGSAN: RandomSextype rndA 37"?  I'm setting the anims on all actors as well as the anim var itself.

 

 

I'm being "that guy," but only because notifications were wiped yesterday.

 

Guest Jezzy
Posted

For my own curiosity and because i might need to use callbacks soon, I need help with the syntax of a callback to find out if the player is giving oral. I'm not sure how to do this. Anyone can help me ?

Posted

Check out the SexoutPositioning mod in my sig. Small esp and contains callback usage, nx var usage, and usage of the positioning support built into the anim script of Sexout. Makes a good practical example.

 

In particular, it shows how to:

 

  • use the callbacks to cast a spell on sex activation
  • obtain the current spellTarget of the sex act
  • obtain nx var information from the spellTarget ref
Guest Jezzy
Posted

<p>Check out the SexoutPositioning mod in my sig. Small esp and contains callback usage, nx var usage, and usage of the positioning support built into the anim script of Sexout. Makes a good practical example.In particular, it shows how to:

  • use the callbacks to cast a spell on sex activation
  • obtain the current spellTarget of the sex act
  • obtain nx var information from the spellTarget ref

Thanks astymma for the answer. I Will Check it out.

 

I was wondering If we could get the animation id running too

Posted

You can get the animation # by getting the anim var.  If you want the numbers and categories of available anims, checkout the Sexout Sutra thread.  Most recent post (4/25) has links to a spreadsheet and image of it that have the current numbers of available anims in there.

Guest Jezzy
Posted

I think my problem is im trying to access those var from a quest script... that or im totally dont know what i am doing lol

 

Im a quest script, in the begin gamemode i have this set anim to playerRef.NX_GetEVFo "Sexout:Start::anim"

 

of course anim is declared as a int in the variable declaration

 

imho it should work but if i run this : 

 

if(anim >= 201 && anim <= 400)
printC "BJ!!!!!!!!!!!!!!!!!!!!!!"
endif
 
the script doesnt catch the anim id :s
Posted (edited)

Aren't they still cleared out on sex start?  This is exactly why I have some things on hold, granted I don't keep as current as I probably should on every post about it.

 

EDIT:  So I guess it's been solved, I just missed it?

Edited by t3589
Posted

Aren't they still cleared out on sex start? 

 

This should probably be answered and added to the OP.  WHEN the SO Start vars are cleared, and if not from there, where we can get those values during or at sex end.

Posted

They ARE cleared from the SexoutNG *quest* variables.

 

However, they ARE written to the actor involved in the sex act labelled as the "spellTarget".

The "spellTarget" NX Var is written to all actors in the sex act.

 

So... assuming this is a script for a spell added to the callback list for sex act START...

ref ActorInvolvedREF
ref SpellTargetREF
 
ref refNXVar1
ref refNXVar2
ref refNXVar3
float fNXVar4
float fNXVar5
float fNXVar6
 
Begin ScripEffectStart
 
    set ActorInvolvedREF to GetSelf
    set SpellTargetREF to ActorInvolvedREF.NX_GetEVFo "Sexout:Start::spellTarget"
 
    ;start obtaining NX_Vars
    set refNXVar1 to SpellTargetREF.NX_GetEVFo "Sexout:Start::BlahBlah1"
    set refNXVar2 to SpellTargetREF.NX_GetEVFo "Sexout:Start::BlahBlah2"
    set refNXVar3 to SpellTargetREF.NX_GetEVFo "Sexout:Start::BlahBlah3"
    set fNXVar4 to SpellTargetREF.NX_GetEVFl "Sexout:Start::BlahBlah4"
    set fNXVar5 to SpellTargetREF.NX_GetEVFl "Sexout:Start::BlahBlah5"
    set fNXVar6 to SpellTargetREF.NX_GetEVFl "Sexout:Start::BlahBlah6"
 
End ;ScriptEffectStart
Guest Jezzy
Posted

an anim is a number, so you'd use NX_GetEVFL instead of evfo, and call it on the spelltarget ref rather than the playerref

 

Thanks for the precision. 

 

Here what I did with partial result. Sometime it works, sometime it just dont. I have 2 checks for helping me understand how Sexout work.

set jezzyRefTarget to playerRef.NX_GetEVFo "Sexout:Start::spellTarget"

;This will work about 30% of the time
set jezzyGivingOral to jezzyRefTarget.NX_GetEVFl "sexout:Start::IsOral" 

;Trying to get the anim id. This is just not working. All i get is 0
set anim to jezzyRefTarget.NX_GetEVFL "Sexout:Start::anim"

Maybe what i'm trying to achieve is not possible

Posted

IIRC there is no "anim", there's "animA", "animB", "animC" and "animX" since each actor can be playing a different anim.

Posted

There is an anim var.  Pride told me to set it in addition to setting animA, etc., when something I was doing didn't work.  They're doing different things, but the animation kf for each pose is combined into an anim number group.

 

EDIT:  The exception to that being Actor X, who is a bystander/next in line and with whom I've never worked with.

Guest Jezzy
Posted
OMG i finally got it to work! For some retarded non sens, i have put the get anim number check in a conditionnal that wasnt used anymore LOL must be the hormones...  :blush:
 
So set anim to jezzyRefTarget.NX_GetEVFL "Sexout:Start::anim"  now work on every check. Cool! 
 
Thanks guys for the help! I can now add more features to my fx scripts ^.^

 

divers-fuck-this-shit-big.jpg

Posted

@astymma:  Do you know when the vars are cleared from the spelltargets?

 

There's a chunk of code that does:

 elseif (200 == bInit)
    set bInit to 1000
    if (nNewActID == nThisActID)
      self.NX_ClrEVFl "Sexout:Start::" 2
      self.NX_ClrEVFo "Sexout:Start::" 2
    endif

    ; dispel
    Dispel SexoutNGCleanup

Right after the Cum Spell is CIOS'd, it CIOS's SexoutNGCleanup which has the above code in stage 200 as one of the last things done.

 

That's in the script SexoutNGCleanupEffectSCRIPT, which is the script assigned to base effect SexoutNGCleanupBASE which is the effect assigned to the Actor Effect  SexoutNGCleanup.

Guest Jezzy
Posted

Another quick question : within my script, what should i use for a check if Sexout is done? Duration?

Posted

There is an anim var.  Pride told me to set it in addition to setting animA, etc., when something I was doing didn't work.  They're doing different things, but the animation kf for each pose is combined into an anim number group.

 

EDIT:  The exception to that being Actor X, who is a bystander/next in line and with whom I've never worked with.

 

Interesting, I always assumed it was safe to ONLY rely on animA-B-C-X and not anim.

Posted

Another quick question : within my script, what should for a check if Sexout is done? Duration?

 

My advice is add a simple spell to the Finish callback list and have that spell notify your quest the act has completed and/or do whatever you need done in the spell itself. In the main quest of SexoutPositioning, I add my spells for sex act start and sex act end like this (SexoutPosSpTerminate gets cast on the spellTarget as sex ends):

SCN SexoutPosQS

Begin GameMode
    if (GetGameLoaded || GetGameRestarted)
        ListAddForm SexoutNGFLGlobalCBStartS SexoutPosSpMain
        ListAddForm SexoutNGFLGlobalCBEndS SexoutPosSpTerminate
    endif
End; GameMode
Posted

SexoutPosSpTerminate does simple cleanup, like so:

 

scn SexoutPosBETerminateS

Begin ScriptEffectStart
    set SexoutPosActive to 0
End

Begin ScriptEffectUpdate
    Dispel SexoutPosSpTerminate
End
Posted

@astymma: It's in this thread somewhere.  Also, in rereading the OP, it says that Actor X's animation happens *after* the act is completed. 

 

@Jezzy:  If you look in the OP, there are also other formlists that you can use for your callback spell.  In addition to the Start and End form lists that astymma has in the code above, there are also specifically Oral, Anal, and Vag Start and End form lists.  I don't know if it would be easier for what you're doing to create one script/spell/whatever that's used after sex or a script/whatever for after each particular kind of sex.

Posted

So what is the NX equivalent to doing this older token check to try avoiding casting animations on an actor already engaged in sex?

if rZActor.GetItemCount 00SexoutActor < 1
 <Start Sex Animation>
endif

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