Jump to content

Recommended Posts

Posted

Also, there's some temporary code in place to track virginity that eventually will be changed to use SexLab's "GetSkill" API calls. So you will have to reset SexLab stats in the future to reset back to virgin...

Posted

 

To get the time spent having sex:

 

    If StorageUtil.GetFloatValue(ActorReference,"TimeSpent",0) == 0.0 ; No time spent having sex at all! We have a complete virgin!
        ...
    ElseIf StorageUtil.GetIntValue(ActorReference,"Vaginal",0) == 0 ; Vagina is virginal for gals, dick has never been in a pussy for guys
        ...
    ElseIf StorageUtil.GetInt(ActorReference,"Anal",0) == 0 ; Anus is virginal, still just a poop chute instead of recreation center
        ...
    ElseIf StorageUtil.GetInt(ActorReference,"Oral",0) == 0 ; Mouth is virginal
        ...
    EndIf
Probably not how you'd actually code your detection but it should show how to get the best stats

 

I had thought that there were separate time stats for each type of sex but my examination of the framework code said no so I went with the next best item. Note that since there is an overall time spent having sex you can detect a complete virgin vs one with experience in at least one type of sex.

Posted

To get the time spent having sex:

 

    If StorageUtil.GetFloatValue(ActorReference,"TimeSpent",0) == 0.0 ; No time spent having sex at all! We have a complete virgin!
        ...
    ElseIf StorageUtil.GetIntValue(ActorReference,"Vaginal",0) == 0 ; Vagina is virginal for gals, dick has never been in a pussy for guys
        ...
    ElseIf StorageUtil.GetInt(ActorReference,"Anal",0) == 0 ; Anus is virginal, still just a poop chute instead of recreation center
        ...
    ElseIf StorageUtil.GetInt(ActorReference,"Oral",0) == 0 ; Mouth is virginal
        ...
    EndIf
Probably not how you'd actually code your detection but it should show how to get the best stats

 

I had thought that there were separate time stats for each type of sex but my examination of the framework code said no so I went with the next best item. Note that since there is an overall time spent having sex you can detect a complete virgin vs one with experience in at least one type of sex.

 

 

Well, I'm glad I'm not going crazy, because I couldn't find that in the SL core code either.

 

Why do I need to even look at TimeSpent at all? In the case of Apropos, i need to know specifics, and I'm not really interested in a "complete" virgin really.

 

Those string literals.. "Vaginal", "Anal", etc, are keys that SL itself is using in SU calls? They aren't 'namespaced' ? I've been using JContainers, so I don't recall offhand if PU does that for your mod or if the onus is on the mod author...

 

Thanks

Posted

Seems like I can just write code like

Bool isAnalVirgin = StorageUtil.GetIntValue(anActor, "Anal", 0) == 0
Bool isVaginalVirgin = StorageUtil.GetIntValue(anActor, "Vaginal", 0) == 0
Bool isOralVirgin = StorageUtil.GetIntValue(anActor, "Oral", 0) == 0

If I'm correct about the SU keys that SL is using...

Posted

READINESS and FAROUSAL tokens don't seem to be working in the descriptions. Not implemented yet?

I've tried a couple times as Male PC on female follower and also as female PC 1st person. 

 

In the Apropos log I can see that it's reading the FAROUSAL and READINESS tokens from the DB. Just not displaying them in the message where the tokens are placed.

Posted

OK, one more observation. Messing with W&T degrade. If the PC W&T degrades enough, they get dropped from tracking. I can absolutely see why this SHOULD be the case with NPCs, but the PC should not be dropped once they are "initiated". Although I suppose if the stats are all at 0, then there's no point in tracking it.

 

so...  just a thought I guess. 

Posted

Seems like I can just write code like

Bool isAnalVirgin = StorageUtil.GetIntValue(anActor, "Anal", 0) == 0
Bool isVaginalVirgin = StorageUtil.GetIntValue(anActor, "Vaginal", 0) == 0
Bool isOralVirgin = StorageUtil.GetIntValue(anActor, "Oral", 0) == 0
If I'm correct about the SU keys that SL is using...

 

Looks right to me. The framework stores these stats using those exact literal keywords and this code just reads them directly from the store without going through the framework. One thing I realized about these stats though is that the framework will invent stats for a NPC the first time they have sex and will never create a virgin.

 

That creates a problem in that effectively virginity will always belong only to the DB and therefore be lost only once making the whole virginity thing into a once and done item and not worth coding for. Checking before sex however means that any NPC you encounter will show no sex in their stats and be a virgin even if the game has them having children and grandchildren so every NPC will be virgin to your mod the first time and yet at the end of sex the creation of those stats could end up marking that NPC as a grandmaster of every type of sex.

 

Bottom line, there's no good way to mark any virgin in the game. I suggest you just change the status to "virginal" and remove the "for the first time" bits and call it good they way it is right now where with enough rest the ststus of any orifice can return to a "virginal" state.

 

Skyrim is a sexy place I guess and there are just no actual virgins to be found there.

Posted

 

Skyrim is a sexy place I guess and there are just no actual virgins to be found there.

 

 

Volcano erupts near Whiterun.

 

Yarl:  "Quick, we need a virgin to appease the Gods!"

 

Priest:  "We can't find any.... We'll have to wait till an unmodded TESVI is released!"

Posted

 

Seems like I can just write code like

Bool isAnalVirgin = StorageUtil.GetIntValue(anActor, "Anal", 0) == 0
Bool isVaginalVirgin = StorageUtil.GetIntValue(anActor, "Vaginal", 0) == 0
Bool isOralVirgin = StorageUtil.GetIntValue(anActor, "Oral", 0) == 0
If I'm correct about the SU keys that SL is using...

 

Looks right to me. The framework stores these stats using those exact literal keywords and this code just reads them directly from the store without going through the framework. One thing I realized about these stats though is that the framework will invent stats for a NPC the first time they have sex and will never create a virgin.

 

That creates a problem in that effectively virginity will always belong only to the DB and therefore be lost only once making the whole virginity thing into a once and done item and not worth coding for. Checking before sex however means that any NPC you encounter will show no sex in their stats and be a virgin even if the game has them having children and grandchildren so every NPC will be virgin to your mod the first time and yet at the end of sex the creation of those stats could end up marking that NPC as a grandmaster of every type of sex.

 

Bottom line, there's no good way to mark any virgin in the game. I suggest you just change the status to "virginal" and remove the "for the first time" bits and call it good they way it is right now where with enough rest the ststus of any orifice can return to a "virginal" state.

 

Skyrim is a sexy place I guess and there are just no actual virgins to be found there.

 

 

LOL. That was funny.

 

I think I will stick with tracking virginity within my mod for the time being. I know technically it can get "out of sync" with the SL stats for the DB, but that is something i'll have to live with until SL matures just a  little more.

Posted

OK, one more observation. Messing with W&T degrade. If the PC W&T degrades enough, they get dropped from tracking. I can absolutely see why this SHOULD be the case with NPCs, but the PC should not be dropped once they are "initiated". Although I suppose if the stats are all at 0, then there's no point in tracking it.

 

so...  just a thought I guess. 

 

Yep, as designed. PC is treated very similarly to NPCs with regard to tracking. The only real difference is the MCM panel.

Posted

READINESS and FAROUSAL tokens don't seem to be working in the descriptions. Not implemented yet?

I've tried a couple times as Male PC on female follower and also as female PC 1st person. 

 

In the Apropos log I can see that it's reading the FAROUSAL and READINESS tokens from the DB. Just not displaying them in the message where the tokens are placed.

 

Can you post the log, and the file that's not working?

Posted

Had to go grocery shopping. I'm getting back on this. My latest apropos log has a line telling me there was a problem parsing :

[06/13/2014 - 09:20:46AM] Problems parsing file 'Data/Apropos/db/FemaleActor_male/FemaleActor_male_Anal.txt'. Check Json validity at jsonlint.com

and

[06/13/2014 - 09:19:21AM] Problems parsing file 'Data/Apropos/db/FemaleActor_male/FemaleActor_male_Vaginal.txt'. Check Json validity at jsonlint.com

 

I've pasted them into the JSON validator and they show there as valid JSON.

 

So I'm going to run through another session kinda quick here and see if that issue repeats itself.

 

AND.... I want to test a virgin again which may or may not be possible on the same save :)

 

Posted

Had to go grocery shopping. I'm getting back on this. My latest apropos log has a line telling me there was a problem parsing :

[06/13/2014 - 09:20:46AM] Problems parsing file 'Data/Apropos/db/FemaleActor_male/FemaleActor_male_Anal.txt'. Check Json validity at jsonlint.com

and

[06/13/2014 - 09:19:21AM] Problems parsing file 'Data/Apropos/db/FemaleActor_male/FemaleActor_male_Vaginal.txt'. Check Json validity at jsonlint.com

 

I've pasted them into the JSON validator and they show there as valid JSON.

 

So I'm going to run through another session kinda quick here and see if that issue repeats itself.

 

AND.... I want to test a virgin again which may or may not be possible on the same save :)

 

I'd be curious to see why its choking. Can you post here those two files. I have another validation technique.

Posted

OK, log and text attached.

Simple virgin test

If you read this in Notepad++ then on line 127 you see the {READINESS} token got skipped in the message display as well as the {FAROUSAL} token in the same output.

 

It doesn't appear as though they even got read into the array for that orgasmStart event.

 

the text file attached for virginity lost does validate as proper JSON.

chajapa_log-and-text.zip

Posted

OK, log and text attached.

Simple virgin test

If you read this in Notepad++ then on line 127 you see the {READINESS} token got skipped in the message display as well as the {FAROUSAL} token in the same output.

 

It doesn't appear as though they even got read into the array for that orgasmStart event.

 

the text file attached for virginity lost does validate as proper JSON.

 

Ok, I guess I specifically omit those new tags in orgasmstart/virginity messages. Actually I only support three tokens in virginity lost messages ("{CUM}", "{PRIMARY}", and the sex part, e.g. "{ASS}", etc)

 

I guess I could expand it.

Posted

BAH......

[06/13/2014 - 12:02:57PM] Problems parsing file 'Data/Apropos/db/femaleActor_male/femaleActor_male_Vaginal.txt'. Check Json validity at jsonlint.com

 

That file validates fine. I've checked it several times.

I get that from the femaleActor_male_anal.txt as well. Both validate fine.

 

help! :)

 

In fact these are the same files I was using with the previous version, but with the new token names in place of the old ones. 

Posted

BAH......

[06/13/2014 - 12:02:57PM] Problems parsing file 'Data/Apropos/db/femaleActor_male/femaleActor_male_Vaginal.txt'. Check Json validity at jsonlint.com

 

That file validates fine. I've checked it several times.

I get that from the femaleActor_male_anal.txt as well. Both validate fine.

 

help! :)

 

In fact these are the same files I was using with the previous version, but with the new token names in place of the old ones. 

 

Can you post femaleActor_male_Vaginal.txt ?

Posted

Not 100% positive, but Earendil switched internally to a different Json parser in the last version of JContainers, which I know was causing another mod author some grief. 

 

Earendil, do you see this? I can get this file to validate against jsonlint.com, and also the JSTool plugin in Notepad++.

 

Chajapa,

 

you might try changing line #36

 

From

"{PRIMARY}’s {PADJ} {PUSSY} is full of {COCK}.",

To

"{PRIMARY}'s {PADJ} {PUSSY} is full of {COCK}.",

Notice the difference in the apostrophe character.

Posted

That appears to have been the culprit. It's funny because I can't even find that other apostrophe on my keyboard! :)

 

I have the one on the tilde key:  `

and one on the key with the quotation marks:  '

 

So I'm not even sure where that one came from, but now I should probably go hunting for it and the only way I can reproduce it is to copy and paste it from here! heheheh

 

Posted

Updated the release today: 06/13/2014

 

- Added a bunch of new description files submitted by Susanoo27.
- Change Virginity Lost message generation so it uses the main token map, rather than a truncated one (Chajapa)
- Add message support for SexLab animation stage progression (no real message description file content yet!)
- Add message support for MMF/FMM TwoMales-OneFemale animations.
Posted

That appears to have been the culprit. It's funny because I can't even find that other apostrophe on my keyboard! :)

 

I have the one on the tilde key:  `

and one on the key with the quotation marks:  '

 

So I'm not even sure where that one came from, but now I should probably go hunting for it and the only way I can reproduce it is to copy and paste it from here! heheheh

 

Did you use Wordpad or MS Word at one point to edit?

Posted

Nope. And I'm on a Mac where that apostrophe doesn't exist so it almost had to come from me copy/pasting other peoples' descriptions.

NotePad++ found 49 occurrences  in my db files (thank you, thank you, thank you for suggesting notepad++. I'd have spent HOURS hunting them down file by file.)

 

And can I upgrade in place with this new version?

And can I start adding stage text files as you talked about in post #766?

 

 

Posted

Nope. And I'm on a Mac where that apostrophe doesn't exist so it almost had to come from me copy/pasting other peoples' descriptions.

NotePad++ found 49 occurrences  in my db files (thank you, thank you, thank you for suggesting notepad++. I'd have spent HOURS hunting them down file by file.)

 

And can I upgrade in place with this new version?

And can I start adding stage text files as you talked about in post #766?

 

#1 : Upgrade in place should work. So far all recent bug fixes and enhancements require no MCM changes, and no removal/deprecation of script properties and/or variables, ... just internal method changes. Should work.

 

#2 : Yes

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