Jump to content

LAPF script help/documentation


Akor

Recommended Posts


Hi,

 

anyone knows if there is any kind of documentation for the LAPF framework available?

I am currently trying to script something for oblivion and I have trouble figuring out how to pick animations.

 

Is there a way randomly select animations of a certain type (if possible, for example: oral|anal|vaginal, rape|consensual)

 

After peeking in some other mods I currently use this to start a LAPF animation:

 




Call xLoversCmnInitQuestInterface
Let xLoversQuest.SPos := call xLoversCmnGetRandomSPos 10000
set xLoversQuest.Offence to stalkerRef
set xLoversQuest.Deffence to Player
set xLoversQuest.OffNudeFlag to 128
set xLoversQuest.DefNudeFlag to 128
set xLoversQuest.DefResetAnim to xLoversResetAnimStun
Call xLoversMainSafeStart


I assume it has to do with the SPos variable and xLoversCmnGetRandomSPos function, but i couldn't figure out yet how to use it correctly (or if it is controlling the animation type at all).

 

Any help would be appreciated.

 

 

akor

Link to comment

Every position has a position type 'sposgroup' defined in its ini, which you can evaluate and build from. Here's a snippit from LoversTamagoClub, which calls xLoversPkrAddSPosGroupItem, which in turn calls Call xLoversPkrGetSPosGroup. so it looks like SPosGroupM is your key. Hopefully, that will give you a place to start.

if eval(lovers->SPosGroupM == 0)
   let spos := "Cowgirl"
elseif eval(lovers->SPosGroupM == 1)
   let spos := "Doggy"	
elseif eval(lovers->SPosGroupM == 2)
   let spos := "Missionary(Lying)"	
elseif eval(lovers->SPosGroupM == 3)
   let spos := "Front(Standing)"	
elseif eval(lovers->SPosGroupM == 4)
   let spos := "Non-penetration(Fellatio/Blowjob etc)"
else
   if eval(100 == lovers->SPosGroupM)
      let spos := "Beast-like"
   else
      let spos := "Unknown"
   endif
endif
Link to comment
Thanks Supierce, I think i understand now how to use the sPos variable to select specific animations. 

 

I'm still looking for a way to tell LAPF if the animation is consensual or rape.

 

I also could use some help with callback functions. I assume i can use them to get notified when a LAPF animation starts/end correct?

To register a callback function i use the xLoversCmnCallbackEntry function?

 

What are the parameters of the function doing?



scn xLoversCmnCallbackEntry


short trg
ref scr
short ret
ref xme
ref zme

Begin Function{ trg scr xme zme }
Let ret := Call xLoversPkrCallbackEntrySub trg scr xme zme
SetFunctionValue ret
End

trg = ???

scr = my callback script?

xme = ???

zme = ???

 


How often do i need to register my callback script? Every GameLoad or is one time enough?

 

 

akor

Link to comment

Look at WappyOne's Raper S version.  He has scripted so that a simple ini file can list the animations you want to use for rape.  Should be easier to reverse engineer that, then try to build something from scratch.

 

As to documentation:  

Main site page:  http://seesaawiki.jp/w/oblivion_jp/d/Lovers%b4%d8%cf%a2MOD%b0%ec%cd%f7#content_6

Developer resourse:  http://seesaawiki.jp/w/oblivion_jp/d/Lovers%b3%ab%c8%af%bc%d4%b8%fe%a4%b1%bb%f1%ce%c1

 

You'll need to use the translate button in google chrome as the page is in Japanese.

Link to comment

 

Thanks Supierce, I think i understand now how to use the sPos variable to select specific animations. 
 
I'm still looking for a way to tell LAPF if the animation is consensual or rape.
 
I also could use some help with callback functions. I assume i can use them to get notified when a LAPF animation starts/end correct?
To register a callback function i use the xLoversCmnCallbackEntry function?
 
What are the parameters of the function doing?
scn xLoversCmnCallbackEntry


short trg
ref scr
short ret
ref xme
ref zme

Begin Function{ trg scr xme zme }
Let ret := Call xLoversPkrCallbackEntrySub trg scr xme zme
SetFunctionValue ret
End
trg = ???
scr = my callback script?
xme = ???
zme = ???
 
How often do i need to register my callback script? Every GameLoad or is one time enough?
 
 
akor

 

1. The way to indicate if the act is consensual or rape is to add 128 to OffNudeFlag and DefNudeFlag. These flags are a series of bits that indicate certain things about the sex act, and 128 indicates rape. In your original post, you had both these flags set to 128 anyway, so every sex act called by your function would be rape.

 

2. For the callbacks, trg=1 is the start of the sex act, trg=2 is the end of the sex act, trg=3 and 4 are something to do with ejaculation, if I remember correctly. In the callback function, the parameter xme is the 'off' actor (the male position), and zme is the 'def' actor (the female position). If you want to add a callback function that is called no matter who is having sex, set both values to zero when you set up the callback. For example:

set r0 to 0
Call xLoversCmnCallbackEntry 1 xlHookerCallbackScr r0 r0
Call xLoversCmnCallbackEntry 2 xlHookerCallbackScr r0 r0
This calls the xlHookerCallbackScr script at the start of sex and then again at the end of sex, no matter who is having sex. 
 
3. Callbacks need to be registered every GameLoad, as they are not kept in the save game.
Link to comment

Thanks guys, that helped me a lot :)

 

@Gaebrial

 

to make an act consensual i set the OffNudeFlag and DefNudeFlag to 0? Do you have more information on the flags (what flags exist and what they do)?

 

thanks again!

 

akor

 

Link to comment

You might study these two links-

http://www.loverslab.com/topic/16351-need-some-help-coding/

and

http://www.loverslab.com/topic/13736-basic-stuff-commands-scripts-etc/

 

also you might find some interesting things here- http://www.loverslab.com/topic/168-useful-community-scripts-to-start-mods-with/ 

 

If you want to be sure you get a specific animation you may need to insure the LwPK settings are not on the extended animations choice.

Mem

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • 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