Jump to content

Recommended Posts

Is there a way to delete child actors once they've spawned?

 

 

 

I've finally decided that I really prefer the baby items over the child actors, as the child actors are just so nonsensical:

* No ability to choose name directly

* Mandatory "Dovahkiir" last name (if you try renaming the actor with another mod, Dovahkiir will be appended automatically at some point!)

* Vanilla potato faces -- its own race rather than a node-scaled vanilla race

* Doesn't grow up

* Knows Aldmeris upon birth

* Throws himself into the middle of every armed confrontation without a moment's pause

* Player's children from NPC mothers don't follow their birth mothers (never tried as a female player character -- I've only ever tried with the baby items so far, this use of child actors was my first test)

* Player's children cannot be told to follow the other parent

* No relationship process nor need for caretaking

* No emotional impact or significant need to protect them

* No gameplay advantage or disadvantage -- neither rewarding successful pregnancy nor penalizing promiscuity

* etc.

 

In short, the child feature in BF is still too "early alpha" to use. I can just bury the little robot in some far corner of a dungeon and never think about it again, but I have a small moral objection to that (it is my character's simulated child) and would prefer to just pretend it never happened in the first place as I switch over to the baby items.

 

Given how many live references there are to your children in the MCM, I'm afraid to simply click-and-delete the actor since it doesn't seem like something the mod would expect or prepare for.  Has anyone else ever felt compelled to do this and have any tips before I bite the bullet and start hacking parts of my game off?

 

...I'm half-tempted to break my Skyrim modding moratorium and actually write a mod that permits infant caretaking and raising a child, where the baby item could be sourced arbitrarily from any mod and wouldn't even technically need BF (other than to make it in the first place, wink wink, nudge nudge), since this just bugged me so much. ;-)

 

 

 

 

Make that mod and upload it!

NOW!!1

 

Link to comment

Is there a way to delete child actors once they've spawned?

 

I've finally decided that I really prefer the baby items over the child actors, as the child actors are just so nonsensical:

* No ability to choose name directly

* Mandatory "Dovahkiir" last name (if you try renaming the actor with another mod, Dovahkiir will be appended automatically at some point!)

* Vanilla potato faces -- its own race rather than a node-scaled vanilla race

* Doesn't grow up

* Knows Aldmeris upon birth

* Throws himself into the middle of every armed confrontation without a moment's pause

* Player's children from NPC mothers don't follow their birth mothers (never tried as a female player character -- I've only ever tried with the baby items so far, this use of child actors was my first test)

* Player's children cannot be told to follow the other parent

* No relationship process nor need for caretaking

* No emotional impact or significant need to protect them

* No gameplay advantage or disadvantage -- neither rewarding successful pregnancy nor penalizing promiscuity

* etc.

 

In short, the child feature in BF is still too "early alpha" to use. I can just bury the little robot in some far corner of a dungeon and never think about it again, but I have a small moral objection to that (it is my character's simulated child) and would prefer to just pretend it never happened in the first place as I switch over to the baby items.

 

Given how many live references there are to your children in the MCM, I'm afraid to simply click-and-delete the actor since it doesn't seem like something the mod would expect or prepare for.  Has anyone else ever felt compelled to do this and have any tips before I bite the bullet and start hacking parts of my game off?

 

...I'm half-tempted to break my Skyrim modding moratorium and actually write a mod that permits infant caretaking and raising a child, where the baby item could be sourced arbitrarily from any mod and wouldn't even technically need BF (other than to make it in the first place, wink wink, nudge nudge), since this just bugged me so much. ;-)

 

Did you try the dialogue option that says "Leave me"? It should make the child run away and disappear. Although i never really tried that, so i'm not sure it actually works.. xD

 

If you are using rschildren, you can use the addon i made to fix the potato heads. http://www.loverslab.com/files/file/3354-bfa-beeingfemale-addon-for-rschildren/

 

However it only does visual improvements and i must agree with most of the other points you made. The child system really could use some love / additional features. Somehow feels more like a dead end most of the time. 

Link to comment

What's the verdict on 2.8 fix1? Is it not stable / very buggy? The mod's nexus page also has a lot of entries in the bug section...

 

Also what happened to the feature for residual breast growth (increase that remains even after pregnancy)? Thought I remembered seeing that in older versions but not seeing it in the latest version when testing.

Link to comment

how do I add spells to my Child actor? I have spell tomes, do i just give it to them?

 

Yes you give them one, but you must first make sure that they have the perks and stuff.

You need to check its status first. And set the perks there.

It is basic as when you set the perks for your self, you can make them better one handed or what you want.

Link to comment

Hello,

 

can anybody confirm, that the Bathing in Skyrim AddOn is working properly for them. I can't seem to get it work on my end. BeeingFemale-MCM says "Bathing in Skyrim: compatible", the AddOn itself seems to be active or is at least ticked in the AddOn manager. 

 

Acording to the code in BFA_BathingInSkyrim it should wash out sperm when it detects the Bathing MagicEffect from Bathing in Skyrim.

function OnMagicEffectApply(Actor akWoman, ObjectReference akCaster, MagicEffect akEffect)
	if bIsInstalled && bActive
		if akEffect==sBathingEffect
			System.Controller.WashOutSperm(akWoman, 1, 0.6)
		elseif akEffect==sBathingEffectSoap
			System.Controller.WashOutSperm(akWoman, 1, 0.8)
		endif
	endif
endfunction

 I confirmed ingame that the Effect is applied during bathing using mfg console information, but if i check the BF-MCM afterwards I can't make out any difference in the sperm amounts in either the information tab or the Debug tab even after several attempts.

 

Not sure if there is something wrong with my installation or the AddOn itself or if it is even active at all..

 

I'm having the same issue. Based on the scripts, soap has a 0.8 multiplier so if the MCM for water-assisted washout is set to 100%, using soap has a max chance of 80%. However, you'd think if you washed it multiple times in a row you should trigger it at some point. But in my testing it never happened.

 

Old stuff in spoiler

 

 

In looking over BFA_BathingInSkyrim.psc, I'm not sure I see how it's hooking into Bathing in Skyrim. I'm not an expert at how scripts integrate into the engine (e.g. properties), but OnMagicEffectApply isn't even an Event but rather a function. I don't see what is going to call that function... It seems to be an override function in FWAddOn_Misc but again I don't see what would call the function.

 

Even if it was setup as an Event, which is what you normally see OnMagicEffectApply as, I don't see how it would hook onto the Bathing in Skyrim magic effect...

 

 

Update: On looking more closely, the function OnUpdate() may be the connection. The properties seem to have sBathingEffect and sBathingEffectSoap to be what connects to the magiceffect, and they try to pull from the Bathing in Skyrim esp file.

 

 

 

event OnUpdate()
    int idx = Game.GetModCount()
    string modName = ""
    while idx > 0
        idx -= 1
        modName = Game.GetModName(idx)
        if modName == "Bathing in Skyrim - Main.esp" || modName == "Bathing in Skyrim - Main.esm"
            sBathingEffect = Game.GetFormFromFile(0x28a3b,modName) as MagicEffect
            sBathingEffectSoap = Game.GetFormFromFile(0x228ff,modName) as MagicEffect
            bIsInstalled = sBathingEffect!=none && sBathingEffectSoap!=none
            TryRegisterCount=0
            return
        endif
    endwhile
    if !(TryRegisterCount>10)
        TryRegisterCount+=1
        RegisterForSingleUpdate(5)
    endif
endEvent

 

 

 

But this raises two questions/issues:

  1.  
  2. Would changing OnMagicEffectApply to an event (like it's usually used) fix it?
  3.  
  4. Even if that was all fixed, it wouldn't cover showers (there are two separate formIDs for those)
  5.  

Update 2: I tested #1 and it didn't help...

 

 

 

 

 

UPDATE 3: The issue seems to be bActive, which is the option for whether the Bathing addon is active. I added Debug.Trace lines to the script and it seems bActive is always set to false.

 

This is supposed to be toggled by functions OnAddonActive() and OnAddonDeactivate(). I added Debug.Trace lines into both and found that only OnAddonDeactive() ever fires.

 

OnAddonActive() never fires. When I'm toggling the MCM option, only the Deactivate() function ever fires. This is likely the culprit for why the Bathing in Skyrim addon doesn't work.

 

I've tried to do more fiddling but I can't figure it out. The rest is beyond me. I simply can't unravel how the AddOn MCM menus work (in FWSystemConfig). There's too much going on there for me to work backwards to figure out.

 

With the issue narrowed down, hopefully someone more familiar with MCM menu scripts can figure out the cause behind why OnAddonActive() never fires.

 

 

Update 4: Think it's related to this block of code in FWSystemConfig.psc (b/c here is where the active/deactivate functions are raised):

elseif option==UI_Activator
			SetOptionFlags(option,OPTION_FLAG_DISABLED)
			if AddOnActiveRaces>=0
				bool bActive=!FWUtility.getIniCBool("AddOn",UIS_AddOnRaces[AddOnActiveRaces],"AddOn","enabled",false)
				FWUtility.setIniCBool("AddOn",UIS_AddOnRaces[AddOnActiveRaces],"AddOn","enabled",bActive)
				SetToggleOptionValue(option, bActive)
			elseif AddOnActiveCME>=0
				bool bActive=!FWUtility.getIniCBool("AddOn",UIS_AddOnCME[AddOnActiveCME],"AddOn","enabled",false)
				FWUtility.setIniCBool("AddOn",UIS_AddOnCME[AddOnActiveCME],"AddOn","enabled",bActive)
				SetToggleOptionValue(option, bActive)
			elseif AddOnActiveMisc>=0
				bool bActive=!FWUtility.getIniCBool("AddOn",UIS_AddOnMisc[AddOnActiveMisc],"AddOn","enabled",false)
				FWUtility.setIniCBool("AddOn",UIS_AddOnMisc[AddOnActiveMisc],"AddOn","enabled",bActive)
				SetToggleOptionValue(option, bActive)
				; Raise the Event
				int i=System.Manager.iMisc
				while i>0
					i-=1
					if System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]
						if bActive==true
							System.Manager.Misc[i].OnAddOnActivate()
						else
							System.Manager.Misc[i].OnAddOnDeactivate()
						endif
						i=0
					endif
				endWhile
			endif
			AddOnActiveRaces=-1
			AddOnActiveCME=-1
			AddOnActiveMisc=-1
			System.Manager.RefreshAddOn()
			SetOptionFlags(option,OPTION_FLAG_NONE)
			ForcePageReset()

What stops me from understanding it though is I don't get how FWUtility.getIniCBool and the corresponding Set work. The function header in FWUtility flags them as global native functions... but I don't see such a function so I don't get how it works.

 

Link to comment

can anybody confirm, that the Bathing in Skyrim AddOn is working properly for them. I can't seem to get it work on my end. BeeingFemale-MCM says "Bathing in Skyrim: compatible", the AddOn itself seems to be active or is at least ticked in the AddOn manager. 

Update 5: I don't think ANY of the Misc Addons will work. Since the code isn't commented to explain what the variables are, I did a lot of debug tracing to figure out what was going on.

 

Conclusion: There is something fundamentally and systematically buggy with how the MCM code is implemented for the Misc Addons.

 

 

The key line of code that determines whether the MCM will fire off the Activate / Deactivate functions is the first line in the below block of code (in FWSystemConfig.psc):

if System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]
	if bActive==true
		System.Manager.Misc[i].OnAddOnActivate()
	else
		System.Manager.Misc[i].OnAddOnDeactivate()
	endif
	i=0
endif

Since the code isn't commented, I had to do a lot of debug tracing but eventually figured out what those variables are:

  • UIS_AddOnMisc[]: An array of the addons
  • System.Manager.sMisc[]: Based on behavior, this seems to be an array of the active addons
  • System.Manager.Misc[]: This array mirrors sMisc but instead contains the object (quest) that the Activate/Deactivate function is called on

The code essentially does a cross-match across the first two arrays arrays to look for matches. But if an Addon is disabled, it will not be in the sMisc[] array meaning a match will never occur.

 

 

Below are some examples of what the first two arrays look like when toggling options (from Papyrus logs after adding in Debug.Trace code).

 

Initial State:

################### PRINTING ###################
##### UIS_AddOnMisc[0] = VisualEffects.ini
##### UIS_AddOnMisc[1] = Hunger AddOn.ini
##### UIS_AddOnMisc[2] = ContraceptionReminder.ini
##### UIS_AddOnMisc[3] = BF_FreeCam.ini
##### UIS_AddOnMisc[4] = BF_BathingInSkyrim.ini
##### UIS_AddOnMisc[5] =
###################   END    ###################
################### PRINTING ###################
##### System.Manager.sMisc[0] = VisualEffects.ini
##### System.Manager.sMisc[1] = ContraceptionReminder.ini
##### System.Manager.sMisc[2] = BF_SSL.ini
##### System.Manager.sMisc[3] = BF_FreeCam.ini
##### System.Manager.sMisc[4] = BF_BathingInSkyrim.ini
##### System.Manager.sMisc[5] =
###################   END    ###################

After disabling VisualEffects MCM option:

################### PRINTING ###################
##### UIS_AddOnMisc[0] = VisualEffects.ini
##### UIS_AddOnMisc[1] = Hunger AddOn.ini
##### UIS_AddOnMisc[2] = ContraceptionReminder.ini
##### UIS_AddOnMisc[3] = BF_FreeCam.ini
##### UIS_AddOnMisc[4] = BF_BathingInSkyrim.ini
##### UIS_AddOnMisc[5] =
###################   END    ###################
################### PRINTING ###################
##### System.Manager.sMisc[0] = ContraceptionReminder.ini
##### System.Manager.sMisc[1] = BF_SSL.ini
##### System.Manager.sMisc[2] = BF_FreeCam.ini
##### System.Manager.sMisc[3] = BF_BathingInSkyrim.ini
##### System.Manager.sMisc[4] =
##### System.Manager.sMisc[5] =
###################   END    ###################

As can be seen in the second PRINTING block for System.Manager.sMisc[], VisualEffects is no longer in the list so when trying turning the option back on, it is impossible to satisfy this condition:

If System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]

Meaning when turning the MCM option back on, while it may visually toggle, the code to Activate it under the hood will never trigger.

 

 

Unfortunately this is a fundamental issue with the code and I don't understand enough about how the sMisc, iMisc, and Misc arrays are handled, used, and modified. A lot of that code is contained in FWAddonManager.psc but it's even harder to read without commented code.

 

 

 

Here is my guess on how it was meant to work:

 

The MiscAddons is meant to be dynamic and expandable which is why the code is setup in the complex way it is (with arrays and cross-matching):

 

And for the key line:

if System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]

UIS_AddOnMisc[AddOnActiveMisc] contains the index for the MiscAddon that is selected in the MCM menu.

 

If it's being matched to sMisc, then all the Misc[] arrays should contain all Addons installed, not just the Active ones.

 

 

The problem: While I don't understand enough about how sMisc is set, I do see that it is also used within the function IsAddOnActive(). Meaning the fix isn't simply to make sMisc contain all Addons, as that function is using sMisc for active addons. So if the behavior of sMisc is changed, that function would break.

 

Therefore this looks fundamentally flawed and I don't see an easy way to fix it. Would take a more experienced Skyrim scripter than me (and as a coder I don't have much experience with Papyrus), or for milzschnitte to provide some help.

Link to comment

I dont like the fact a vampire female must cure her vampirism for becoming pregnant -.- i dont like to play as a elf or human without chaotic faction

 

There is an addon that is enabled by default that prevents vampires from getting pregnant, you can disable that addon to allow them to get pregnant again.

Link to comment

Each time I see 99% of papyrus log it is this repeating line:

[##/##/2017 - ##:##:##AM] Error: Unable to call RegisterForSingleUpdate - no native object bound to the script object, or object is of incorrect type
stack:
    [Active effect 8 on  (0003A198)].FWAbilityBeeingFemale.RegisterForSingleUpdate() - "<native>" Line ?
    [Active effect 8 on  (0003A198)].FWAbilityBeeingFemale.OnUpdate() - "FWAbilityBeeingFemale.psc" Line 165

This line spam-spam-spam all of the log way. I was reading here about same log spam but not found any fx.

 

 

Link to comment

Each time I see 99% of papyrus log it is this repeating line:

[##/##/2017 - ##:##:##AM] Error: Unable to call RegisterForSingleUpdate - no native object bound to the script object, or object is of incorrect type
stack:
    [Active effect 8 on  (0003A198)].FWAbilityBeeingFemale.RegisterForSingleUpdate() - "<native>" Line ?
    [Active effect 8 on  (0003A198)].FWAbilityBeeingFemale.OnUpdate() - "FWAbilityBeeingFemale.psc" Line 165

This line spam-spam-spam all of the log way. I was reading here about same log spam but not found any fx.

 

http://www.loverslab.com/topic/35269-beeingfemale/?p=1845249

Link to comment

 

This line spam-spam-spam all of the log way. I was reading here about same log spam but not found any fx.

 

http://www.loverslab.com/topic/35269-beeingfemale/?p=1845249

 

It is not a fix and message is quite old and still no a fix but thanx for the info anyway.

I will try to disable all effect-addons and maybe it will fix something or will make game more stable because BF is one of mods wich has quite visible effect on the game stability..

 

Link to comment

 

 

This line spam-spam-spam all of the log way. I was reading here about same log spam but not found any fx.

 

http://www.loverslab.com/topic/35269-beeingfemale/?p=1845249

 

It is not a fix and message is quite old and still no a fix but thanx for the info anyway.

I will try to disable all effect-addons and maybe it will fix something or will make game more stable because BF is one of mods wich has quite visible effect on the game stability..

 

 

I wasn't using it as a fix only to tell you that its a known issue and the mod author hasn't had time to come back and work on the mod and even if he did he is unsure on what could be done to alleviate the issue.

Link to comment

The spam occurs whenever the entity to which the effect script is attached isn't currently loaded.  Trying to prid to the person who is generating the spam (in the above example, 0003A198) using MfgConsoleExtensions will show that there are no effects currently active on that person.  The spam usually goes away once you re-enter their cell, but not always -- the Face Sculptor, for instance, kept her log spam up even while I was standing and facing her, and her effects list in the console did actually show she'd been reinitialized.

 

How this information can be actually translated into a fix, I'm not sure. =)

Link to comment

 

 

 

can anybody confirm, that the Bathing in Skyrim AddOn is working properly for them. I can't seem to get it work on my end. BeeingFemale-MCM says "Bathing in Skyrim: compatible", the AddOn itself seems to be active or is at least ticked in the AddOn manager. 

Update 5: I don't think ANY of the Misc Addons will work. Since the code isn't commented to explain what the variables are, I did a lot of debug tracing to figure out what was going on.

 

Conclusion: There is something fundamentally and systematically buggy with how the MCM code is implemented for the Misc Addons.

 

 

The key line of code that determines whether the MCM will fire off the Activate / Deactivate functions is the first line in the below block of code (in FWSystemConfig.psc):

if System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]
	if bActive==true
		System.Manager.Misc[i].OnAddOnActivate()
	else
		System.Manager.Misc[i].OnAddOnDeactivate()
	endif
	i=0
endif

Since the code isn't commented, I had to do a lot of debug tracing but eventually figured out what those variables are:

  • UIS_AddOnMisc[]: An array of the addons
  • System.Manager.sMisc[]: Based on behavior, this seems to be an array of the active addons
  • System.Manager.Misc[]: This array mirrors sMisc but instead contains the object (quest) that the Activate/Deactivate function is called on

The code essentially does a cross-match across the first two arrays arrays to look for matches. But if an Addon is disabled, it will not be in the sMisc[] array meaning a match will never occur.

 

 

Below are some examples of what the first two arrays look like when toggling options (from Papyrus logs after adding in Debug.Trace code).

 

Initial State:

################### PRINTING ###################
##### UIS_AddOnMisc[0] = VisualEffects.ini
##### UIS_AddOnMisc[1] = Hunger AddOn.ini
##### UIS_AddOnMisc[2] = ContraceptionReminder.ini
##### UIS_AddOnMisc[3] = BF_FreeCam.ini
##### UIS_AddOnMisc[4] = BF_BathingInSkyrim.ini
##### UIS_AddOnMisc[5] =
###################   END    ###################
################### PRINTING ###################
##### System.Manager.sMisc[0] = VisualEffects.ini
##### System.Manager.sMisc[1] = ContraceptionReminder.ini
##### System.Manager.sMisc[2] = BF_SSL.ini
##### System.Manager.sMisc[3] = BF_FreeCam.ini
##### System.Manager.sMisc[4] = BF_BathingInSkyrim.ini
##### System.Manager.sMisc[5] =
###################   END    ###################

After disabling VisualEffects MCM option:

################### PRINTING ###################
##### UIS_AddOnMisc[0] = VisualEffects.ini
##### UIS_AddOnMisc[1] = Hunger AddOn.ini
##### UIS_AddOnMisc[2] = ContraceptionReminder.ini
##### UIS_AddOnMisc[3] = BF_FreeCam.ini
##### UIS_AddOnMisc[4] = BF_BathingInSkyrim.ini
##### UIS_AddOnMisc[5] =
###################   END    ###################
################### PRINTING ###################
##### System.Manager.sMisc[0] = ContraceptionReminder.ini
##### System.Manager.sMisc[1] = BF_SSL.ini
##### System.Manager.sMisc[2] = BF_FreeCam.ini
##### System.Manager.sMisc[3] = BF_BathingInSkyrim.ini
##### System.Manager.sMisc[4] =
##### System.Manager.sMisc[5] =
###################   END    ###################

As can be seen in the second PRINTING block for System.Manager.sMisc[], VisualEffects is no longer in the list so when trying turning the option back on, it is impossible to satisfy this condition:

If System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]

Meaning when turning the MCM option back on, while it may visually toggle, the code to Activate it under the hood will never trigger.

 

 

Unfortunately this is a fundamental issue with the code and I don't understand enough about how the sMisc, iMisc, and Misc arrays are handled, used, and modified. A lot of that code is contained in FWAddonManager.psc but it's even harder to read without commented code.

 

 

 

Here is my guess on how it was meant to work:

 

The MiscAddons is meant to be dynamic and expandable which is why the code is setup in the complex way it is (with arrays and cross-matching):

 

And for the key line:

if System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]

UIS_AddOnMisc[AddOnActiveMisc] contains the index for the MiscAddon that is selected in the MCM menu.

 

If it's being matched to sMisc, then all the Misc[] arrays should contain all Addons installed, not just the Active ones.

 

 

The problem: While I don't understand enough about how sMisc is set, I do see that it is also used within the function IsAddOnActive(). Meaning the fix isn't simply to make sMisc contain all Addons, as that function is using sMisc for active addons. So if the behavior of sMisc is changed, that function would break.

 

 

 

 

Therefore this looks fundamentally flawed and I don't see an easy way to fix it. Would take a more experienced Skyrim scripter than me (and as a coder I don't have much experience with Papyrus), or for milzschnitte to provide some help.

 

 

Thanks for digging into that problem. Unfortunately I also can't help any further with this. That's a bit over my head..

Best bet would probably be milzschnitte, but I don't think he's still actively modding at the moment. Have you tried to send him a pm with your findings? Maybe we can re-activate him for a little (?) fix  ;)

Link to comment

 

 

 

 

can anybody confirm, that the Bathing in Skyrim AddOn is working properly for them. I can't seem to get it work on my end. BeeingFemale-MCM says "Bathing in Skyrim: compatible", the AddOn itself seems to be active or is at least ticked in the AddOn manager. 

Update 5: I don't think ANY of the Misc Addons will work. Since the code isn't commented to explain what the variables are, I did a lot of debug tracing to figure out what was going on.

 

Conclusion: There is something fundamentally and systematically buggy with how the MCM code is implemented for the Misc Addons.

 

 

The key line of code that determines whether the MCM will fire off the Activate / Deactivate functions is the first line in the below block of code (in FWSystemConfig.psc):

if System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]
	if bActive==true
		System.Manager.Misc[i].OnAddOnActivate()
	else
		System.Manager.Misc[i].OnAddOnDeactivate()
	endif
	i=0
endif

Since the code isn't commented, I had to do a lot of debug tracing but eventually figured out what those variables are:

  • UIS_AddOnMisc[]: An array of the addons
  • System.Manager.sMisc[]: Based on behavior, this seems to be an array of the active addons
  • System.Manager.Misc[]: This array mirrors sMisc but instead contains the object (quest) that the Activate/Deactivate function is called on

The code essentially does a cross-match across the first two arrays arrays to look for matches. But if an Addon is disabled, it will not be in the sMisc[] array meaning a match will never occur.

 

 

Below are some examples of what the first two arrays look like when toggling options (from Papyrus logs after adding in Debug.Trace code).

 

Initial State:

################### PRINTING ###################
##### UIS_AddOnMisc[0] = VisualEffects.ini
##### UIS_AddOnMisc[1] = Hunger AddOn.ini
##### UIS_AddOnMisc[2] = ContraceptionReminder.ini
##### UIS_AddOnMisc[3] = BF_FreeCam.ini
##### UIS_AddOnMisc[4] = BF_BathingInSkyrim.ini
##### UIS_AddOnMisc[5] =
###################   END    ###################
################### PRINTING ###################
##### System.Manager.sMisc[0] = VisualEffects.ini
##### System.Manager.sMisc[1] = ContraceptionReminder.ini
##### System.Manager.sMisc[2] = BF_SSL.ini
##### System.Manager.sMisc[3] = BF_FreeCam.ini
##### System.Manager.sMisc[4] = BF_BathingInSkyrim.ini
##### System.Manager.sMisc[5] =
###################   END    ###################

After disabling VisualEffects MCM option:

################### PRINTING ###################
##### UIS_AddOnMisc[0] = VisualEffects.ini
##### UIS_AddOnMisc[1] = Hunger AddOn.ini
##### UIS_AddOnMisc[2] = ContraceptionReminder.ini
##### UIS_AddOnMisc[3] = BF_FreeCam.ini
##### UIS_AddOnMisc[4] = BF_BathingInSkyrim.ini
##### UIS_AddOnMisc[5] =
###################   END    ###################
################### PRINTING ###################
##### System.Manager.sMisc[0] = ContraceptionReminder.ini
##### System.Manager.sMisc[1] = BF_SSL.ini
##### System.Manager.sMisc[2] = BF_FreeCam.ini
##### System.Manager.sMisc[3] = BF_BathingInSkyrim.ini
##### System.Manager.sMisc[4] =
##### System.Manager.sMisc[5] =
###################   END    ###################

As can be seen in the second PRINTING block for System.Manager.sMisc[], VisualEffects is no longer in the list so when trying turning the option back on, it is impossible to satisfy this condition:

If System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]

Meaning when turning the MCM option back on, while it may visually toggle, the code to Activate it under the hood will never trigger.

 

 

Unfortunately this is a fundamental issue with the code and I don't understand enough about how the sMisc, iMisc, and Misc arrays are handled, used, and modified. A lot of that code is contained in FWAddonManager.psc but it's even harder to read without commented code.

 

 

 

Here is my guess on how it was meant to work:

 

The MiscAddons is meant to be dynamic and expandable which is why the code is setup in the complex way it is (with arrays and cross-matching):

 

And for the key line:

if System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]

UIS_AddOnMisc[AddOnActiveMisc] contains the index for the MiscAddon that is selected in the MCM menu.

 

If it's being matched to sMisc, then all the Misc[] arrays should contain all Addons installed, not just the Active ones.

 

 

The problem: While I don't understand enough about how sMisc is set, I do see that it is also used within the function IsAddOnActive(). Meaning the fix isn't simply to make sMisc contain all Addons, as that function is using sMisc for active addons. So if the behavior of sMisc is changed, that function would break.

 

 

 

 

Therefore this looks fundamentally flawed and I don't see an easy way to fix it. Would take a more experienced Skyrim scripter than me (and as a coder I don't have much experience with Papyrus), or for milzschnitte to provide some help.

 

 

Thanks for digging into that problem. Unfortunately I also can't help any further with this. That's a bit over my head..

Best bet would probably be milzschnitte, but I don't think he's still actively modding at the moment. Have you tried to send him a pm with your findings? Maybe we can re-activate him for a little (?) fix  ;)

 

 

I actually figured out a workaround so it would actually trigger.

 

However after getting it to trigger, the next issue I noticed is the success rate calculation. I made a workaround for that as well but I'm trying to better understand the issue first to determine if there's something else going on.

 

Link to comment
On 8/24/2017 at 6:06 PM, gullu said:

 

On 8/23/2017 at 12:25 AM, nanashi50 said:

 

 

 

 

On 3/21/2017 at 3:53 PM, gullu said:

can anybody confirm, that the Bathing in Skyrim AddOn is working properly for them. I can't seem to get it work on my end. BeeingFemale-MCM says "Bathing in Skyrim: compatible", the AddOn itself seems to be active or is at least ticked in the AddOn manager. 

Update 5: I don't think ANY of the Misc Addons will work. Since the code isn't commented to explain what the variables are, I did a lot of debug tracing to figure out what was going on.

 

Conclusion: There is something fundamentally and systematically buggy with how the MCM code is implemented for the Misc Addons.

 

 

The key line of code that determines whether the MCM will fire off the Activate / Deactivate functions is the first line in the below block of code (in FWSystemConfig.psc):

if System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]
	if bActive==true
		System.Manager.Misc[i].OnAddOnActivate()
	else
		System.Manager.Misc[i].OnAddOnDeactivate()
	endif
	i=0
endif

Since the code isn't commented, I had to do a lot of debug tracing but eventually figured out what those variables are:

  • UIS_AddOnMisc[]: An array of the addons
  • System.Manager.sMisc[]: Based on behavior, this seems to be an array of the active addons
  • System.Manager.Misc[]: This array mirrors sMisc but instead contains the object (quest) that the Activate/Deactivate function is called on

The code essentially does a cross-match across the first two arrays arrays to look for matches. But if an Addon is disabled, it will not be in the sMisc[] array meaning a match will never occur.

 

 

Below are some examples of what the first two arrays look like when toggling options (from Papyrus logs after adding in Debug.Trace code).

 

Initial State:

################### PRINTING ###################
##### UIS_AddOnMisc[0] = VisualEffects.ini
##### UIS_AddOnMisc[1] = Hunger AddOn.ini
##### UIS_AddOnMisc[2] = ContraceptionReminder.ini
##### UIS_AddOnMisc[3] = BF_FreeCam.ini
##### UIS_AddOnMisc[4] = BF_BathingInSkyrim.ini
##### UIS_AddOnMisc[5] =
###################   END    ###################
################### PRINTING ###################
##### System.Manager.sMisc[0] = VisualEffects.ini
##### System.Manager.sMisc[1] = ContraceptionReminder.ini
##### System.Manager.sMisc[2] = BF_SSL.ini
##### System.Manager.sMisc[3] = BF_FreeCam.ini
##### System.Manager.sMisc[4] = BF_BathingInSkyrim.ini
##### System.Manager.sMisc[5] =
###################   END    ###################

After disabling VisualEffects MCM option:

################### PRINTING ###################
##### UIS_AddOnMisc[0] = VisualEffects.ini
##### UIS_AddOnMisc[1] = Hunger AddOn.ini
##### UIS_AddOnMisc[2] = ContraceptionReminder.ini
##### UIS_AddOnMisc[3] = BF_FreeCam.ini
##### UIS_AddOnMisc[4] = BF_BathingInSkyrim.ini
##### UIS_AddOnMisc[5] =
###################   END    ###################
################### PRINTING ###################
##### System.Manager.sMisc[0] = ContraceptionReminder.ini
##### System.Manager.sMisc[1] = BF_SSL.ini
##### System.Manager.sMisc[2] = BF_FreeCam.ini
##### System.Manager.sMisc[3] = BF_BathingInSkyrim.ini
##### System.Manager.sMisc[4] =
##### System.Manager.sMisc[5] =
###################   END    ###################

As can be seen in the second PRINTING block for System.Manager.sMisc[], VisualEffects is no longer in the list so when trying turning the option back on, it is impossible to satisfy this condition:

If System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]

Meaning when turning the MCM option back on, while it may visually toggle, the code to Activate it under the hood will never trigger.

 

 

Unfortunately this is a fundamental issue with the code and I don't understand enough about how the sMisc, iMisc, and Misc arrays are handled, used, and modified. A lot of that code is contained in FWAddonManager.psc but it's even harder to read without commented code.

 

 

 

Here is my guess on how it was meant to work:

 

The MiscAddons is meant to be dynamic and expandable which is why the code is setup in the complex way it is (with arrays and cross-matching):

 

And for the key line:

if System.Manager.sMisc[i]==UIS_AddOnMisc[AddOnActiveMisc]

UIS_AddOnMisc[AddOnActiveMisc] contains the index for the MiscAddon that is selected in the MCM menu.

 

If it's being matched to sMisc, then all the Misc[] arrays should contain all Addons installed, not just the Active ones.

 

 

The problem: While I don't understand enough about how sMisc is set, I do see that it is also used within the function IsAddOnActive(). Meaning the fix isn't simply to make sMisc contain all Addons, as that function is using sMisc for active addons. So if the behavior of sMisc is changed, that function would break.

 

 

 

 

Therefore this looks fundamentally flawed and I don't see an easy way to fix it. Would take a more experienced Skyrim scripter than me (and as a coder I don't have much experience with Papyrus), or for milzschnitte to provide some help.

 

 

Thanks for digging into that problem. Unfortunately I also can't help any further with this. That's a bit over my head..

Best bet would probably be milzschnitte, but I don't think he's still actively modding at the moment. Have you tried to send him a pm with your findings? Maybe we can re-activate him for a little (?) fix  ;)

 

 

Here's the workaround I mentioned in the above post.

 

BeeingFemale Bathing in Skyrim - Workaround Fix v1.0

 

Excerpt from the readme of what the workaround fix does:

 

Quote
This workaround does three things:

 

(1) Makes a workaround fix so that the Bathing in Skyrim Addon can actually work. Previously, the player could attempt to take a hundred baths, but it would never trigger washing out insemination.

 

(2) Shower support was added. The original code was only for bathes (both with and without soap). Taking showers with Bathing in Skyrim now has the same chance of trigger of a washout as a bath.

 

(3) The calculation for a successful washout with a bath/shower was altered to make sense. With the previous implementation, a successful washout would almost never occur with the default settings. Though now it is more likely, it is still somewhat immersively low to keep with the realistic spirit of BeeingFemale.

 

Note that the calculation is now based on a percentage of the "Anti-Sperm Essence 'safe zone'" MCM setting. The reasoning for why this was necessary requires a technical explanation and will be left to the below section.

 

 

 

 

Full readme on the fix below in spoiler.

 

 

 

Quote
BeeingFemale: Bathing in Skyrim Addon - Workaround Fix v1.0 (for BF v2.8.1)

 

Credit: nanashi

Version: 1.0

 

 

### ISSUE ###

In v2.8.1, the Bathing in Skyrim Addon will not work. The implementation is fundamentally flawed which causes the addon settings to never "Activate" under the hood. The pieces of code in question have some strange conflicts in implementation and may possibly be the result of the scripts going through a rewrite but never being fully completed.

 

 

 

 

### WHAT THIS FIX DOES (TL;DR version) ###

 

This workaround does three things:

 

(1) Makes a workaround fix so that the Bathing in Skyrim Addon can actually work. Previously, the player could attempt to take a hundred baths, but it would never trigger washing out insemination.

 

(2) Shower support was added. The original code was only for bathes (both with and without soap). Taking showers with Bathing in Skyrim now has the same chance of trigger of a washout as a bath.

 

(3) The calculation for a successful washout with a bath/shower was altered to make sense. With the previous implementation, a successful washout would almost never occur with the default settings. Though now it is more likely, it is still somewhat immersively low to keep with the realistic spirit of BeeingFemale.

 

Note that the calculation is now based on a percentage of the "Anti-Sperm Essence 'safe zone'" MCM setting. The reasoning for why this was necessary requires a technical explanation and will be left to the below section.

 

 

 

 

### TECHNICAL EXPLANATION OF THE FIX ###

 

(1) The workaround: The addon script (BFA_BathingInSkyrim) depends on the variable bActive to determine whether the washout calculation function is executed. The problem is due to conflicting implementation and usages of some functions, causing the code that sets bActive to true to never fire. More details can be read in this post here: http://www.loverslab.com/topic/35269-beeingfemale/page-245?do=findComment&comment=1988852

 

 

 

(2) Shower support: The triggering of the relevant washout code for the Bathing in Skyrim Addon is based on magic effects. Taking a bath or shower in Bathing in Skyrim is done by applying a magic effect. There are four: Bath w/o soap, Bath w/ soap, Shower w/o soap, and Shower w/ soap. Previously the addon only supported the baths. I've added in code to support the showers.

 

 

 

(3) Calculation change: The original calculation's success rate was 60% (no soap) or 80% (with soap) of the "Water-assisted 'safe zone'" MCM setting. The default value for this MCM settingwas 2%. 80% of that is 1.6%. With such a low chance of success, even repeatedly bathing 100 times a row may not trigger a washout successfully.

 

The reason why the regular "water-assisted" method (i.e. swimming) sometimes worked is because it was used through OnUpdate() calls when swimming. This means it would be called repeatedly while swimming (every 5 seconds). The swimming method also had a 0.8 strength multiplier, so the actual chance was 1.6%. But even with 1.6%, if swimming for 5 minutes the OnUpdate()'s success chance calculation would trigger 60 times, giving a cumulative success chance of 70%.

 

Bathing and Showering however work fundamentally different and its calculations don't trigger using OnUpdate() but instead OnMagicEffectApply(). This means when bathing or showering, the calculation triggers once. So that measly 1.6% stays as 1.6%, meaning a successful washout almost never happens.

 

The way the Water-assisted MCM setting is used for swimming vs. bathing is fundamentally different. Therefore the only way to fix this is for bathing to use a different MCM setting. The least invasive fix was to make it use the Anti-Sperm Essence MCM setting, but give it a lower strength multiplier. I changed it from the initial 0.6 and 0.8 (for "with  soap" and "without soap" respectively) to 0.2 and 0.25. This means with default settings, when bathing/showering without soap, the chance of a successful washout is 15%. For reference, it takes 5 repeated baths for the cumulative chance to rise above 50%.

 

And note, per the original mod behavior, sperm can only be washed out during the initial (default) 6 hours. So successfully washing out with a bath or shower may take a very deliberate effort of repeatedly bathing 5-10+ times in a short period of time.

 

 

 

 

 

 

BeeingFemale Bathing in Skyrim - Workaround Fix v1.0.7z

Edited by NNS10
Link to comment

Hi everyone!!! :)

 

sry for the year 2016 :D it was a year you can feed to the pigs.... I lost my job - i found a new job - the job was hell (work + people) - i was fired there, too - searching for jobs - then I recived a "job offering" (in germany, when you don't have a job, the "Arbeits Amt" sends you job offerings, and you must take this job) ... they said "you must do everything in IT - repearing computers, programming software, programing websites, server administration .... for 1800 eu per month (= around $2100) ... but in the last second I found a job in one of germanies biggest companies :)

It's a lot of work, but it's woth it - and i earn a lot - so I'm happy with my new job.

 

Anyways

I've read the last 10 pages ... holy, that was a lot.

 

 

Is there a way to delete child actors once they've spawned?

 

I've finally decided that I really prefer the baby items over the child actors, as the child actors are just so nonsensical:

* No ability to choose name directly

* Mandatory "Dovahkiir" last name (if you try renaming the actor with another mod, Dovahkiir will be appended automatically at some point!)

* Vanilla potato faces -- its own race rather than a node-scaled vanilla race

* Doesn't grow up

* Knows Aldmeris upon birth

* Throws himself into the middle of every armed confrontation without a moment's pause

* Player's children from NPC mothers don't follow their birth mothers (never tried as a female player character -- I've only ever tried with the baby items so far, this use of child actors was my first test)

* Player's children cannot be told to follow the other parent

* No relationship process nor need for caretaking

* No emotional impact or significant need to protect them

* No gameplay advantage or disadvantage -- neither rewarding successful pregnancy nor penalizing promiscuity

* etc.

 

In short, the child feature in BF is still too "early alpha" to use. I can just bury the little robot in some far corner of a dungeon and never think about it again, but I have a small moral objection to that (it is my character's simulated child) and would prefer to just pretend it never happened in the first place as I switch over to the baby items.

 

Given how many live references there are to your children in the MCM, I'm afraid to simply click-and-delete the actor since it doesn't seem like something the mod would expect or prepare for.  Has anyone else ever felt compelled to do this and have any tips before I bite the bullet and start hacking parts of my game off?

 

...I'm half-tempted to break my Skyrim modding moratorium and actually write a mod that permits infant caretaking and raising a child, where the baby item could be sourced arbitrarily from any mod and wouldn't even technically need BF (other than to make it in the first place, wink wink, nudge nudge), since this just bugged me so much. ;-)

Use one other mod? Or make one mod your self?

 

 

I know, i know, the childrens aren't perfect and I also know, that they are realy overpowerd, when they reach level 100+ :)

I've already started to make some more functions - but then I've stopped developing BeeingFemale. Some things are already done.... some not... some got high priority, some not....

I've realy tried to fix some things... since many versions ago.... I think, in creation Kit you can also find some "Dialogues" that I've removed again - some where just to complicated like "Follow your mom/dad" (for player and NPC children) .... Skyrim doesn't make things easy....

 

One thing I've made is, that the children will complete "Head hunter" Quests for you.... you can give order to the kids that they should 'Kill the Giant/Dragon/...' and then (depending on the level) they run to the hunted creature and kill it - after that they go to the quest giver and get complete the quest.... and then they run back to the player

 

Thanks to the native developing (BeeingFemale.dll) it was possible to do even more things and fix some bugs.... 

But I think the native developing was also a reason why I've stopped BeeingFemale - it was to complicated and way to much work.... it's a complete new programmed BeeingFemale with all it's features .... again... and all existing AddOns should keep working.... this was a realy huge project and after some days full of programming, I've stopped.

 

 

Renaming the child isn't a big deal. All I remember it's already possible with a console command.... but I'm not sure (you can try to use 'setname Holga').... maybe it was just something on my ToDo List..... There are more then 1 reason, why I havn't done a "Please enter a name" window. One reason is the multilingual thing. I can only test it with Latin characters, not with katakana, cyrillic letters, .... and I don't know how I should test it....

Another reason is, that BeeingFemale should be possible to play with a controller. For that I had to create a virtual keyboard ... that also can print cyrillic and katakana letters as well as chinese letters.... that's impossible.

 

 

 

Can someone tell me what Active effect 7 is and what is going haywire?  I have been looking through the posts hoping to stumble across it but have not yet.

 

[07/29/2017 - 10:43:37AM] ERROR: Unable to call RegisterForSingleUpdate - no native object bound to the script object, or object is of incorrect type
stack:
 [Active effect 7 on  (6130916C)].fwabilitybeeingfemale.RegisterForSingleUpdate() - "<native>" Line ?
 [Active effect 7 on  (6130916C)].fwabilitybeeingfemale.OnUpdate() - "FWAbilityBeeingFemale.psc" Line 165

 

I am looking into this issue myself actually.

 

What I find odd is that 'fwabilitybeeingfemale' or its parent do not have any call to 'RegisterForSingleUpdate' in their OnUpdate loop. No idea where this is coming from.

 

Seeing the same errors with active effect 3, 5, 6, 7

 

 

I spend hours on trieing to fix this bug.... I realy can't find the reason... this had Prio-1 on my todo list untill I gave up.

I'm up for any idea

 

 

 

Future plans:

Oh god.... the future.... well, BeeingFemale is still my baby :D

BUT, I don't think i will keep developing for the 2011 Skyrim version.

Up to now, there isn't a SKSE64 and I don't think there will be a SKSE64 version... and I don't play Skyrim anymore....

BUT, I will play Skyrim VR when it comes to PC... and now we know, it will come to PC.

What does this meen? ... in fall or winter there is a chance that I will make a Non-SKSE version of BeeingFemale that will work on Skyrim 64 + Playstation + Xbox + Skyrim VR!

BUT, because I can't use SKSE functions, many lovely things are not possible to create... like the current AddOn manager (via .ini files) .... there won't be a MCM Menu.... there won't be HUD Widgets or Child Skill window, maybe there won't even be Belly scaling (fallback to weight scaling)

All I remember, it won't be even possible to give the child a random name... so they will be all named "Child"

The old "AddOn Manager" system should work - but it may raise to many bugs.... it won't be the BeeingFemale you all love.

 

Now the question is - is it worth it?

Link to comment

Hello Milzschnitte there is any chance of an add on with the fill her up or soul gem oven? Why could not the woman become pregnant if she ovulated with liters of semen inside her? Dendendo of what has been doing by skyrim and the configurations of the mods it is possible that there is semen of before 3 days (if I am not mistaken is the time limit of the being female). As for soul gem oven it would be interesting to have the effects of pain and etc. given by being female as the gems were growing inside you.

Link to comment

biggrin.png

Hi everyone!!! smile.png

 

[..]

Oh god.... the future.... well, BeeingFemale is still my baby biggrin.png

BUT, I don't think i will keep developing for the 2011 Skyrim version.

[..]

 

Now the question is - is it worth it?

​Hoooray! And welcome back!

​Since there are still Oblivion players around ... well.. I wouldn't give up on Skyrim 2011 vintage tongue.png

​Personally I will not switch to Skyrim-SE UNTIL there is finally a SKSE64 .. and of course the other depending mods on top of it. I played it a bit and I must confess: far too many of my beloved mods don't do as they shoud be doing .. it doesn't feel right. So no fun.

​The remaining question is now who needs to be killed by us to convince you into a bugfix version v2.8.2 wink.png

​I guess bugfixing for the sake of a longterm game stability is higher priority over new features.

Link to comment

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

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