Jump to content

Recommended Posts

Posted
12 hours ago, TrollAutokill said:

Nah, this is just a test to see if the actor is currently holding a torch, so that EquipInventory won't try to unequip the torch.

 

OnItemAdded does nothing if you choose the right MCM option, as I suggested before.

 

By the way which version are you using? 5.2.2 or 5.2.3?


Yupp you were right, it had nothing to do with the torch pose.

 

I was using 5.2.2 and 4.9.1 but the testing I've done now was on 5.2.3
Sad to say I went back to 4.9.1 and tested it again and it also seems to have the issue, I just did not experience it the one instance I tested it.

But luckily, I think I have found and solved the issue!

The freezes and crashes were due to two things.

  1. Calling either of the functions PO3_SKSEFunctions.AddKeywordToForm(...) or PO3_SKSEFunctions.RemoveKeywordOnForm(...)
  2. Passing an Armor object as a parameter to a function that wants a Form object

I believe the PO3_SKSEFunctions are SE only. I believe have last updated Papyrus Extender (2.5) for LE. The compiler complained about RemoveKeywordOnForm() but not AddKeywordToForm(), I am not sure why. Perhaps the latter exists in Papyrus Extender (2.5), but is bugged? Not sure. Either way, commenting away those function calls was needed to solve the issue.

The second cause required me to dig through a lot of functions, since it seems to be quite prevalent. But simply adding "as Form" wherever needed seemed to fix it. I am not sure why the compiler did not complain about this either, when it seems to be an issue.

Either way, I added the fixes and now I seem to be able to pass items back and forth without problem (fingers crossed). I might have missed some instances due to not experimenting with all items types, but I will notify you if I find any more issues. The bug was spread out over several functions, and I don't know if that was why the issue was so erratic (sometimes working, sometimes crashing). Sometimes I had to pass the items back and forth several times before it froze or crashed.

Below is a list of all the functions I changed (and what I changed in them) to solve the problem. Note that many of the functions had several instances of the same error! (I am only listing each "type" once though)
 

Quote

DOM_Core
    IsItemDevice
        ;PO3_SKSEFunctions.RemoveKeywordOnForm(the_form,DOMNotDevice) - causes crashes
        ;PO3_SKSEFunctions.AddKeywordToForm(the_form,DOMIsDevice)
        ;PO3_SKSEFunctions.RemoveKeywordOnForm(the_form,DOMIsDevice)
        ;PO3_SKSEFunctions.AddKeywordToForm(the_form,DOMNotDevice)

    EquipItemArmorNaked
        EquipItem(item_as_armor #as Form)
        IsEquipped(item_as_armor #as Form)
        UnequipItem(item_as_armor #as Form, true)
        
    EquipItemArmorClothes
        EquipItem(item_as_armor #as Form, true)
        UnEquipItem(item_already_in_slot #as Form,true)
        IsItemSpecial(item_already_in_slot #as Form)
        IsToBeStripped(item_already_in_slot #as Form)
        
    EquipItemArmor(...)
        IsItemDevice(item_as_armor #as Form)
        IsItemSpecial(item_already_in_slot #as Form)
        EquipItem(item_as_armor #as Form)
        IsEquipped(item_as_armor #as Form)
        UnEquipItem(item_already_in_slot #as Form,true)
        IsToBeStripped(item_as_armor #as Form)
        
    EquipItemDevice
        IsItemDevice(item_already_in_slot #as Form)
        
    EquipItemWeapon(...)
        IsEquipped(item_as_weapon #as Form)
        UnEquipItem(item_already_equipped #as Form,true)
        
    EquipItemAmmo(...)
        IsEquipped(item_as_ammo #as Form)
        UnequipItem(item_as_ammo #as Form, true)
    
    IsToBeStripped(...)
        ;PO3_SKSEFunctions.AddKeywordToForm(...)
        ;PO3_SKSEFunctions.AddKeywordToForm(...)


I also encountered a minor bug: when passing items back and forth quickly I sometimes duplicated an item. I think it was when that particular item was in the process of being equipped by the slave. Don't think it is any major problem though, it only happened when I was spamming.

Hope this helps solve the issue for other Oldrim users, and thanks a lot for this cool mod!

Posted

Also, some general feedback/suggestions:

 

I'm adding some tweaks of my own to my copy of the mod, changing things and testing them out. I found it strange how difficult it was to get a new slave to strip, despite how much you punished them initially, so I added a difficulty parameter to the function IsObedient(float difficulty = 100.0) to make the some orders easier. Example:

 

function IsObedient(float difficulty = 100.0)
       if timer_obedient > 0 || RandomFloat()*difficulty < respect_training

 

Then I added a variable to keep track of "temporary feelings" (I know you already have a system for feelings but let me explain). It felt odd to me that no matter how much I whipped a new slave, they would not relent in the moment. So after each punishment OnEndPunishment() I added a value to feeling_fear. Every OnMoodUpdateGameTime() reduces the value a bit. Then I added a new property called "Fear":
 

Float Property Fear Hidden
    Float Function Get()
        if __fear_training > feeling_fear
            return __fear_training
        else
            return feeling_fear
        endIf
    EndFunction
EndProperty


So that when the temporary feeling of fear exceeds the "drilled-in" fear, it takes over. Checks that previously used fear_training now checks the Fear property instead. Then, to have it affect more things I changed the check in IsObedient to take into account more than just one type of training by weighting them depending on the mood:
 

float training = (2 * respect_training + 4 * Fear + 4 * resignation) / 10.0 + bonus_chance
	if timer_obedient > 0 || RandomFloat()*difficulty < training
		return true


To make sure it was consistent between loads, I saved the value of feeling_fear in the faction DOMFeelFear, which as far as I can tell wasn't used for anything yet?

I personally really like this change since it makes the slave feel more dynamic! If they at first refuse an order I can punish them over and over until they relent, but only for the moment. Once some time has passed they become rebellious again, until the training takes hold. I am thinking of doing the same thing with anger_training, so that if you punish a slave a lot they become angry temporarily. I think it might spice things up when handling fully-trained slaves, so that while they still like you, they can get angry temporarily if you mistreat them.

Now, I don't have a full understanding of the mood system yet, so some of these things might be accounted for already. Though from my testing it feels (in my opinion) a bit too static as-is. Again, might just be my opinion.

Lastly, are the training system set in stone? I like most of it, but I don't think it makes a lot of sense that you increase anger_training through punishment. Since this is (from what I can tell) a measure of how much the slave "likes" you, then it seems counter-intuitive. If it was my choice I would change it to increase whenever you successfully do something nice. Be it flattery, consensual kissing/sex, praise, and so on.

Though, apart from all that, I am really liking the mod. Hats off to you for this excellent creation!

Posted (edited)
15 hours ago, hurtifrej said:

Also, some general feedback/suggestions:

 

I'm adding some tweaks of my own to my copy of the mod, changing things and testing them out. I found it strange how difficult it was to get a new slave to strip, despite how much you punished them initially, so I added a difficulty parameter to the function IsObedient(float difficulty = 100.0) to make the some orders easier. Example:

 

function IsObedient(float difficulty = 100.0)
       if timer_obedient > 0 || RandomFloat()*difficulty < respect_training

 

Then I added a variable to keep track of "temporary feelings" (I know you already have a system for feelings but let me explain). It felt odd to me that no matter how much I whipped a new slave, they would not relent in the moment. So after each punishment OnEndPunishment() I added a value to feeling_fear. Every OnMoodUpdateGameTime() reduces the value a bit. Then I added a new property called "Fear":
 

Float Property Fear Hidden
    Float Function Get()
        if __fear_training > feeling_fear
            return __fear_training
        else
            return feeling_fear
        endIf
    EndFunction
EndProperty


So that when the temporary feeling of fear exceeds the "drilled-in" fear, it takes over. Checks that previously used fear_training now checks the Fear property instead. Then, to have it affect more things I changed the check in IsObedient to take into account more than just one type of training by weighting them depending on the mood:
 

float training = (2 * respect_training + 4 * Fear + 4 * resignation) / 10.0 + bonus_chance
	if timer_obedient > 0 || RandomFloat()*difficulty < training
		return true


To make sure it was consistent between loads, I saved the value of feeling_fear in the faction DOMFeelFear, which as far as I can tell wasn't used for anything yet?

I personally really like this change since it makes the slave feel more dynamic! If they at first refuse an order I can punish them over and over until they relent, but only for the moment. Once some time has passed they become rebellious again, until the training takes hold. I am thinking of doing the same thing with anger_training, so that if you punish a slave a lot they become angry temporarily. I think it might spice things up when handling fully-trained slaves, so that while they still like you, they can get angry temporarily if you mistreat them.

Now, I don't have a full understanding of the mood system yet, so some of these things might be accounted for already. Though from my testing it feels (in my opinion) a bit too static as-is. Again, might just be my opinion.

Lastly, are the training system set in stone? I like most of it, but I don't think it makes a lot of sense that you increase anger_training through punishment. Since this is (from what I can tell) a measure of how much the slave "likes" you, then it seems counter-intuitive. If it was my choice I would change it to increase whenever you successfully do something nice. Be it flattery, consensual kissing/sex, praise, and so on.

Though, apart from all that, I am really liking the mod. Hats off to you for this excellent creation!

DoMFeelFear is the long-term feeling of fear of an actor, unrelated to the player actions. Quite the opposite actually.

 

Fear_training is the acquired fear toward the player.

 

Immediate fear is described by the moods.

 

DoM principle is that immediate fear is a state of mind, a mood, triggered by personality and player's actions. The player actions are legitimate to pileup and cause fear, but they can also cause anger, sadness or shame depending on the personality. As such they can not be flagged as just causing fear.

 

The build up is already taken into account by the repeating abuse, each abuse giving a chance to trigger fear (or anger, ...) increasing counters and setting cool down timers.

 

I am not saying the current system is perfect and can not be polished, but I am afraid you're just duplicating the system and creating unnecessary complexity.

Edited by TrollAutokill
Posted

troll looks like there issues with the clothing system now.
1. when you tell them to strip completely they  strip even  no strip sexlab stuff
2. sometimes when you tell them to strip they will literally never want to put back on some  items.
  seems to be related to teh wear  inventory selection as it NEVER changes o anything but wear inventory and there is no reply about it.. example current slave i accidentally told them to fuly strip which is how i knew they striped nostrip sexlab stuff. now  she wont put on her wig, nipple piercings  or glasses.

Posted (edited)
51 minutes ago, sidfu1 said:

troll looks like there issues with the clothing system now.
1. when you tell them to strip completely they  strip even  no strip sexlab stuff
2. sometimes when you tell them to strip they will literally never want to put back on some  items.
  seems to be related to teh wear  inventory selection as it NEVER changes o anything but wear inventory and there is no reply about it.. example current slave i accidentally told them to fuly strip which is how i knew they striped nostrip sexlab stuff. now  she wont put on her wig, nipple piercings  or glasses.

Probably a mishap with the recent OBody compatibility changes. I'll check it.

Edited by TrollAutokill
Posted

yeah just tested on my game mor eand  10 slaves---> strip everything---> removes everything including no striip keyword items--->  wont  requip anything but slot for feet, body and necklace.
so things like earrings or  glasses slot items they wont requip.

 

Posted
3 hours ago, sidfu1 said:

yeah just tested on my game mor eand  10 slaves---> strip everything---> removes everything including no striip keyword items--->  wont  requip anything but slot for feet, body and necklace.
so things like earrings or  glasses slot items they wont requip.

 

Yes, I found the culprit, a stupid missing return... I will post an update later today.

Posted
On 12/31/2023 at 11:14 AM, Serenity_XXI said:

Hi guys!

 

I'm having a serious problem with FNIS and Nemesis after installing this mod.

 

With FNIS I get the warning:

All Anim Lists scanned. Generating Behavior Files....
WARNING: Motion Data (MD/RD) multiply defined for BaboSpankingF.hkx. Mods BaboMotionData and DiaryOfMine
WARNING: Motion Data (MD/RD) multiply defined for BaboSpankingM.hkx. Mods BaboMotionData and DiaryOfMine

But it does complete successfully.

 

With Nemesis though, I get the error:
 

ERROR(3024): Duplicated header has been detected in "animationdatasinglefile.txt". Please contact the template creator
Template: b
Project: DefaultFemale.txt
Header: 2410

Failed to generate behavior

And as you can see, it fails completely, as opposed to FNIS which gives only warning but does manage to complete.

 

I've narrowed it down to this mod, since uninstalling it gets rid of all warnings/errors.

 

I also use the SexLab mod "Babo Dialogue" (I'm assuming that's the reference to "BaboMotionData" in the FNIS warning).

 

Any ideas?

 

 

UPDATE:

After doing some more digging, I think I managed to solve the problem. So the errors above seem to indicate some kind of conflict between this mod and "Babo Dialogue", specifically regarding the files: "BaboSpankingF.hkx", "BaboSpankingM.hkx"

 

What I ended up doing to resolve this is edit the file "MAIN\DEFAULT_FILES\Meshes\actors\character\animations\DiaryOfMine\FNIS_DiaryOfMine_List.txt" inside the mod's archive. Specifically I commented out the lines 248-251 (which reference the conflicting files):

'b -a DoMBaboSpankingF BaboSpankingF.hkx
'MD 0.0 0.0 0.0 0
'b -a,Tsoundplay.DoMSpankHitFleshSD/1.000 DoMBaboSpankingM BaboSpankingM.hkx
'MD 0.0 0.0 0.0 0

Then saved and created a new (updated) archive, then installed it.

 

After doing this, running both FNIS and Nemesis completed without any issues!

 

Hopefully this won't break the "spanking" animations in the mod, but even so it's better than not working at all :]

 

Hopefully the mod author can have some kind of official fix for this conflict issue. Thanks!

 

I just updated from 5.0.4 to 5.2.3 and FNIS is reporting this error with the two spanking animations listed above, so I presume the Babo conflict has not been resolved yet? Is this still on the update list?

Posted (edited)
18 minutes ago, wolfeman77346 said:

 

I just updated from 5.0.4 to 5.2.3 and FNIS is reporting this error with the two spanking animations listed above, so I presume the Babo conflict has not been resolved yet? Is this still on the update list?

But doing so you loose the definitions of the animations for DoM... This is just a warning so I'd rather leave it as is, until we find a more reasonable solution.

Edited by TrollAutokill
Posted

New in version 5.2.4: Mostly bug fixes.

 

  •  Added a cross check at load game on xmarker form to avoid sending the player above the giant camp.
  •  Removed use of PO3_SKSEFunctions if useStripKeywords is not set (see MCM menu main tab)
  •  This should allow LE users to not crash since those functions are SE only.
  •  Added MCM menu main tab toggle to reset DoM strip/device/special keywords from forms.
  •  This should be used until all wrongly flagged equipment has been corrected.
  •  Corrected a bug forcing to strip every single piece of equipment.
  •  Adapted and corrected house cleaning.
Posted (edited)
14 minutes ago, TrollAutokill said:

But doing do you loose the animations for DoM...

I have not tested it. I received the error, researched, found the post above, and commented. Im not sure how to invoke the animations in Babo to test.

 

I will complete the upgrade, and see if any instability arises. Thanks

Edited by wolfeman77346
Posted (edited)
2 hours ago, pitipol said:

5.2.3 LE   

 Potato face Kimli strikes back!

 

 

CK strikes back! The face is correct in the package, as far as I checked. Will check the plugin later.

 

Edit: no problem with the plugin.

 

If using MO2 check your overwrite folder for unwanted faceted meshes and face tint textures.

Edited by TrollAutokill
Posted

and they still not equipping from inventory. when you use the wheel to tell them to equip inventory still same. no response  or anything. ima take and reintlaze the mod and see if that fix hopely nothign goes boom.

Posted
29 minutes ago, sidfu1 said:

and they still not equipping from inventory. when you use the wheel to tell them to equip inventory still same. no response  or anything. ima take and reintlaze the mod and see if that fix hopely nothign goes boom.

Could you point me to one of the mods you're using? Devices and nude bodies worked for me.

Posted

hmm thinking  dom may have saved badly or such due to one of the updates. i hit the initialize and nothing happens no resetting of things or messages at all.
when you use teh wheel and you tell them to equip inventory do they  suppose to  give any  messages?

also did you test on  a existing game or new game?

Posted
39 minutes ago, sidfu1 said:

hmm thinking  dom may have saved badly or such due to one of the updates. i hit the initialize and nothing happens no resetting of things or messages at all.
when you use teh wheel and you tell them to equip inventory do they  suppose to  give any  messages?

also did you test on  a existing game or new game?

I tested both, but I only tested the rip-off, strip and wear clothes options. Not the "equip inventory" which should be just in case and should not change the behaviour.

 

If you pm me a  log file I could check what's going on.

Posted

well everythng is working but specific slots.  for example slot 31 which is wig slot they wont equip wig or  nipple piercings and such. rings and jewelry are fine its the off slot things they seem to not wan tot equip.

here is a piercing mod that i use and they wont equip them.

for now ima go back to 5,1.1 as i just want to play some  nive spent most of the past 3 days  troubleshooting mods for my games and not even playing.

Posted (edited)
20 minutes ago, sidfu1 said:

well everythng is working but specific slots.  for example slot 31 which is wig slot they wont equip wig or  nipple piercings and such. rings and jewelry are fine its the off slot things they seem to not wan tot equip.

here is a piercing mod that i use and they wont equip them.

for now ima go back to 5,1.1 as i just want to play some  nive spent most of the past 3 days  troubleshooting mods for my games and not even playing.

Ok I will check piercings and wigs. I don't usually use them. So sorry you're the guinea pig on those.

 

Also one more question: do you use a body mod or OBody?

Edited by TrollAutokill
Posted

I'm getting a ctd when capturing males with the latest version of DoM and ObodyNG. If DoM's "transfer Obody preset to clone" option is disabled it will not ctd while cloning. Could be caused by trying to copy obody data that isn't there because I just use the vanilla male body.

Posted
51 minutes ago, TrollAutokill said:

Also one more question: do you use a body mod or OBody?

yeah using obody.
i dont mind tesing. it sjust one of those times that every single game i mod decided all at once that they want to break....

Posted (edited)
10 minutes ago, Gräfin Zeppelin said:

Oh  FFS after I removed the collar both the wig and piercings worked. It also the case if I reapply the collar again.

 

 

 

 

 

Spoiler

20240205231614_1.thumb.jpg.f512be5f774f601681a0a134a9ca076c.jpg

 

On that note: I had a similar problem a couple of days ago, that some wigs/helmets would not equip and the culprit was the Devious Devices item hider slot, which uses the slot 41 by default, which is "long hair" and it kept unequipping anything using that slot. Might be unrelated, but just in case.

Edited by Jasmine92
Posted
16 minutes ago, Jasmine92 said:

On that note: I had a similar problem a couple of days ago, that some wigs/helmets would not equip and the culprit was the Devious Devices item hider slot, which uses the slot 41 by default, which is "long hair" and it kept unequipping anything using that slot. Might be unrelated, but just in case.

Devices have priority over body/hair, that could be the problem. Not sure Skyrim let's you wear both.

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
×
×
  • Create New...