Jump to content

[Project Zomboid] Being Female - Adding more complex Female Roleplay


Recommended Posts

Posted (edited)

I've been adding small low-effort features for personal use. The reason they're just for me is, that most of them are hackjobs instead of clean implementations. However, i believe the following code-snippet might be interesting to the dev, because it's not straight-forward to figure out (the relevant code in ZWDefeat has completely misleading documentation. Basically you cannot figure this out, unless you assume the ZWDefeat comments are lying, and the code is telling the truth).

 

Context: ZW has a special gameplay mechanic called the "Sexperiment" trait. In the codebase this trait is actually called "unblessing", not sexperiment. Anyways, Sexperiment is basically a succubus gameplay mode: This is implemented by the MC being infected from the start, and sex reduces infectionlevel. Zombies attracted to the MC also will not do damage to them. So far so good, but one thing that always bothered me about this pseudo-succubus gamemode is, that sex - not cum - reduces infection. Yeah, i'm sure somebody can come up with a fantasy explanation (zombie lore is already a pseudo-magic setting anyways). I don't care. It just doesn't seem immersive to me.

 

So when i looked at the ZWBF code, i wondered: "Why not just make it so that as long as there is sperm in the womb, infectionlevel stays at zero? The counter-risk of course is pregnancy, which can be prevented, but that costs ressources in turn."

 

So here's how to do it: In the womb lua, the onRunDown function already checks if there is sperm in the womb. This function only runs every 10 seconds or so, and 80% of the time it instantly returns doing nothing. So it is performance friendly and the ideal place to add this feature. Oh, and while we're at it, we can apply wetness to the groin, and we can make the rundown scale by how full the womb is (faster rundown if more full). The whole function now looks like this in my setup:

 

function WombClass:onRunDown()
    if ZombRand(100) < 66 then return end -- 66% chance not doing anything
    local player = getPlayer()
    local data = self.data
    --- new! Rundown only if sperm in womb, now scales with fullness
    local storedAmount = data.SpermAmount 
    if storedAmount > 0 then
        local amount = ZombRand(15 + math.floor(storedAmount / 50) )
        local text = string.format("%s %sml", getText("IGUI_ZWBF_UI_Sperm"), amount)
        HaloTextHelper.addTextWithArrow(player, text, false, HaloTextHelper.getColorWhite())
        data.SpermAmount = storedAmount - amount
        self:applyWetness(5)  --- new: add wetness on rundown

        --- new: If sexperiment trait, reduce infection to zero
        if player:HasTrait("unblessing") then
            local bodyEffects = player:getBodyDamage();
            bodyEffects:setInfectionLevel(0);
        end
    end
end

 

The above code is incomplete, because it does not check if ZWDefeat is installed. I just don't check because i always play with ZWDefeat. Also this feature should probably be an option in the settings. So there's still work to do if you want to add this to the official codebase.

 

Edited by bitnuke
Posted

Here's a cleaner implementation that doesn't use onRunDown and only checks once per hour. That's probably overoptimization, but what the heck. By the way: Is there a good reason why the pregnancy check runs every game minute? I see realize the contraceptive check also is per minute, so is the pregcheck simply on the same timer to make the UI react immediatelly, or is there an actual gamemechanical reason for pregchecks every minute?

 

Anyways, here's the alternate clean code for the Sexperiment mechanic:


--- New: If player has sexperiment trait, keep infection
--- at zero so long as there is sperm in the womb
function WombClass:onCheckSexperiment()
    local player = getPlayer()
    local wombData = self.data
    if player:HasTrait("unblessing") and wombData.SpermAmount > 0 then
        local bodyEffects = player:getBodyDamage();
        bodyEffects:setInfectionLevel(0)
    end
end


--- New: Eventlistener for new Sexperiment cum mechanic
Events.EveryHours.Add(function()
    Womb:onCheckSexperiment()
end)

 

Posted

Love the updated mod (and the animation for actually squeezing out a kid. Pretty hot) but only real complaint I have from the standalone pregnancy and the bundled with one is the risk and in depth birthing time settings, I know it's to make the animation fit but if I'm gonna get knocked up I would imagine that they would have to be there for a hour or three trying to give birth. And give some risk too, it's the apocalypse so things can go sideways so labor complications could kill. Otherwise love the work done so far. Hoping for more in the future (and more birth animations but wrong mod to be asking for that) 

Posted
On 5/14/2025 at 6:29 PM, bitnuke said:

I've been tweaking the code to my personal preferences. While doing so i noticed an outright bug:

 

I wondered why milkproduction is insanely high, even though this should not be possible based on the numbers in the code. It turns out you set the braces wrong in the line where it calculates milk produced.

 

Load up the lactation lua and go to the onEveryHour function. The braces are placed so that it multiplies the already STORED amount by the production multiplier. This way the stored amount magically multiplies every hour.

 

The relevant line should instead look like this:

data.MilkAmount = data.MilkAmount + (amount * multiplier)

Good Catch!

I will include your fix in the next version, for sure

Posted (edited)
On 5/16/2025 at 9:08 AM, bitnuke said:

Here's a cleaner implementation that doesn't use onRunDown and only checks once per hour. That's probably overoptimization, but what the heck. By the way: Is there a good reason why the pregnancy check runs every game minute? I see realize the contraceptive check also is per minute, so is the pregcheck simply on the same timer to make the UI react immediatelly, or is there an actual gamemechanical reason for pregchecks every minute?

 

Anyways, here's the alternate clean code for the Sexperiment mechanic:

 

--- New: If player has sexperiment trait, keep infection
--- at zero so long as there is sperm in the womb
function WombClass:onCheckSexperiment()
    local player = getPlayer()
    local wombData = self.data
    if player:HasTrait("unblessing") and wombData.SpermAmount > 0 then
        local bodyEffects = player:getBodyDamage();
        bodyEffects:setInfectionLevel(0)
    end
end

 

 

--- New: Eventlistener for new Sexperiment cum mechanic
Events.EveryHours.Add(function()
    Womb:onCheckSexperiment()
end)

 

 

That is a good Idea, I will add this to the next version.
For code nerds out there, this is the implementation I have come with

 

--- Check for SexEperiment trait from ZW Defeat
function WombClass:onCheckSexperiment()
    local player = self.player
    local data = self.data

    if player:HasTrait("unblessing") and data.SpermAmount > 0 then
        local bodyEffects = player:getBodyDamage();
        bodyEffects:setInfectionLevel(0)
    end
end

 

and, in the event listener, I check for the mod

Events.EveryHours.Add(function()
	self:onEveryHours()
	-- If ZW Defeat mod is active
	if getActivatedMods():contains("ZomboWinDefeatStrip") then
		self:onCheckSexperiment()
	end
end)

 

By the way, you are correct, the reason why it is checking in every minute is to responsiveness showcase things in the UI

 

 

UPDATE: I've actually ended up using an custom Event listener, maybe a little more cleaner implementation

if getActivatedMods():contains("ZomboWinDefeatStrip") then
	-- Sexperiment trait, make infection 0 if there is sperm in the womb
	Events.ZWBFWombOnEveryHours.Add(function(womb, amount)
		local player = womb.player
		local data = womb.data
		if player:HasTrait("unblessing") and data.SpermAmount > 0 then
        	local bodyEffects = player:getBodyDamage();
        	bodyEffects:setInfectionLevel(0)
    	end
	end)
end

 

Edited by Zikhad
Posted (edited)
On 5/14/2025 at 1:04 PM, Mikachuuuuuuu said:

console.txt here hope that helps you 

Did you installed the latest version? if so, did you simply unpacked the new version into the older one?

If so, this won't work, you need to remove the entire zwbf folder first before unpacking the new version there.
 

According to this console.txt the issue is  happening in a file that does not exist in the new version of the mod.

Edited by Zikhad
Posted

yo so i'm pretty sure i'm stupid but it keeps saying it requires ZWBF when i use the github version, and this version doesn't show up in the mod menu and doesn't work

Posted

Just saw this mod today, so I am not sure how specifically the cycle works, and etc. (I might try to implement some of the ideas myself, but I would probably fail :P)
Some ideas (ofcourse none of them have to be implemented, just I thought it would fit the mod):


Realistic setting perhaps(cause I feel like it would fit the zomboid A LOT)

- Condoms could break sometimes or slip
- New ovulation system perhaps?(not fully sure how the current one works)
The fertilisation could occur only when the egg cell would be released during the cycle(e.g. ovulation can happen at sligthly different times per month), if the semen stays then it runs checks every hour or minute or anything with a set chance.
 

- Two reworked contraceptive pills, the daily birth control and the planB
The Monthly Birth control:
To make it actually protect you, you would need to take it everyday for at least a week(or any other amount of time that could be changed)
PlanB Birth control:
Would simply delay the ovulation by a week or a few days until the semen disappears. During ovulation would simply not work.

- Reworked chances, never zero. even with birth control it could be something like 0.001 percent.

- Status/Visibility
With a switch of a setting, you could make it so it would impossible to see the pregnancy/fertility moodlet/status in the menu, until further on in pregnancy, and thus you could also add pregnancy tests and fertility tests.

Arousal (Not sure if this is a thing)
- Arousal could be a separate status, it could rise if you see romantical movies/pornographic movies or ovulating, seeing lewd actions.
Causes debuffs, and wetness in the groin area.
Could be solved with either masturbation, perhaps sleeping, or well doing the deed.


I think thats all

Posted (edited)

i have a problem about this mod

how do i fix it

here is the console about it

 

Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@add26326
function: onUpdateUI -- file: ZWBFUI.lua line # 145 | MOD: ZomboWin Being Female
function: Add -- file: ZWBFUI.lua line # 184 | MOD: ZomboWin Being Female

ERROR: General     , 1748513835263> ExceptionLogger.logException> Exception thrown java.lang.reflect.InvocationTargetException at GeneratedMethodAccessor15.invoke.
ERROR: General     , 1748513835263> DebugLogStream.printException> Stack trace:
java.lang.reflect.InvocationTargetException
    at jdk.internal.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at se.krka.kahlua.integration.expose.caller.MethodCaller.call(MethodCaller.java:62)
    at se.krka.kahlua.integration.expose.LuaJavaInvoker.call(LuaJavaInvoker.java:198)
    at se.krka.kahlua.integration.expose.MultiLuaJavaInvoker.call(MultiLuaJavaInvoker.java:79)
    at se.krka.kahlua.vm.KahluaThread.callJava(KahluaThread.java:182)
    at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:1007)
    at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:163)
    at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1980)
    at se.krka.kahlua.vm.KahluaThread.pcallvoid(KahluaThread.java:1812)
    at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66)
    at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139)
    at zombie.Lua.Event.trigger(Event.java:64)
    at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:65)
    at zombie.gameStates.IngameState.renderFrameInternal(IngameState.java:1146)
    at zombie.util.lambda.Invokers$Params2$CallbackStackItem.run(Invokers.java:91)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$1(AbstractPerformanceProfileProbe.java:91)
    at zombie.util.lambda.Stacks$Params4$CallbackStackItem.invoke(Stacks.java:286)
    at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
    at zombie.util.Lambda.capture(Lambda.java:136)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:89)
    at zombie.gameStates.IngameState.renderframe(IngameState.java:1114)
    at zombie.gameStates.IngameState.renderInternal(IngameState.java:1296)
    at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83)
    at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230)
    at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
    at zombie.util.Lambda.capture(Lambda.java:130)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81)
    at zombie.gameStates.IngameState.render(IngameState.java:1271)
    at zombie.gameStates.GameStateMachine.render(GameStateMachine.java:37)
    at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83)
    at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230)
    at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
    at zombie.util.Lambda.capture(Lambda.java:130)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81)
    at zombie.GameWindow.renderInternal(GameWindow.java:340)
    at zombie.GameWindow.frameStep(GameWindow.java:774)
    at zombie.GameWindow.run_ez(GameWindow.java:681)
    at zombie.GameWindow.mainThread(GameWindow.java:495)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "<parameter1>" is null
    at zombie.core.Translator.getTextInternal(Translator.java:781)
    at zombie.core.Translator.getText(Translator.java:766)
    at zombie.Lua.LuaManager$GlobalObject.getText(LuaManager.java:5840)
    ... 46 more
ERROR: General     , 1748513835296> ExceptionLogger.logException> Exception thrown java.lang.IllegalStateException at UIManager.update line:685.
ERROR: General     , 1748513835296> DebugLogStream.printException> Stack trace:
java.lang.IllegalStateException
    at zombie.ui.UIManager.update(UIManager.java:685)
    at zombie.GameWindow.logic(GameWindow.java:262)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.GameWindow.frameStep(GameWindow.java:765)
    at zombie.GameWindow.run_ez(GameWindow.java:681)
    at zombie.GameWindow.mainThread(GameWindow.java:495)
    at java.base/java.lang.Thread.run(Unknown Source)
LOG  : General     , 1748513835428> FirstNAME:MinervaMeacham
LOG  : General     , 1748513835501> [Bandits2]     0
LOG  : General     , 1748513860381> [Bandits2]     0
LOG  : General     , 1748513864091> EXITDEBUG: ToggleEscapeMenu 1
LOG  : General     , 1748513864091> EXITDEBUG: ToggleEscapeMenu 3
LOG  : General     , 1748513864092> EXITDEBUG: ToggleEscapeMenu 4
LOG  : General     , 1748513864092> EXITDEBUG: ToggleEscapeMenu 5
LOG  : General     , 1748513864092> EXITDEBUG: setGameSpeed 1
LOG  : General     , 1748513864092> EXITDEBUG: setGameSpeed 3
LOG  : General     , 1748513864093> EXITDEBUG: setShowPausedMessage 1
LOG  : General     , 1748513864093> EXITDEBUG: setShowPausedMessage 2
WARN : Lua         , 1748513864093> LuaManager$GlobalObject.require> require("NVAPI/ctrl/instance") failed
WARN : Lua         , 1748513873907> LuaManager$GlobalObject.require> require("NVAPI/ctrl/instance") failed
LOG  : General     , 1748513878125> Copied to clipboard!
LOG  : General     , 1748513878341> Copied to clipboard!
LOG  : General     , 1748513878525> Copied to clipboard!
LOG  : General     , 1748513880507> Copied to clipboard!
 

Edited by train264
Posted

I would like to ask if there are any pre-requisites for the new version. I deleted version 1.4 and re-downloaded 1.8, but when I right-click my UI options, there is no option to show the UI as before, and the UI options of several of my mods have also disappeared (such as the excretion mod)

Posted

H-Status no longer appears... I've been using this mod and everything that comes with it for a while now. What initially worked without issues suddenly stopped working. Was there possibly a change or update that could have caused this malfunction? (P.S.: older versions no longer work either)

Posted
41 minutes ago, Dragoterra said:

H-Status no longer appears... I've been using this mod and everything that comes with it for a while now. What initially worked without issues suddenly stopped working. Was there possibly a change or update that could have caused this malfunction? (P.S.: older versions no longer work either)

Read the actual forum instead of asking something that is already answered

Posted

2025-06-16072724.png.c0673952c00e73ad8643a7a1c2886878.png

Subject: Bug Report: NullPointerException related to ZWBFUI.lua (ZomboWin Being Female)

Hello Mod Author,

I'm experiencing an issue while playing with your "ZomboWin Being Female" mod. The game does not crash or show significant performance drops, but I am consistently getting an error message in the console/logs. It seems to be related to some text display.

Here are my game and mod versions:

  • Game Version: 41.78.16
  • ZomboWin Mod Version: 1.28
  • ZWBF Mod Version: 1.8.4
  • ZomboWin AddOn Mod Version: v1

Here are the error logs I'm seeing:

1.

`java.lang.reflect.InvocationTargetException
    at jdk.internal.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at se.krka.kahlua.integration.expose.caller.MethodCaller.call(MethodCaller.java:62)
    at se.krka.kahlua.integration.expose.LuaJavaInvoker.call(LuaJavaInvoker.java:198)
    at se.krka.kahlua.integration.expose.MultiLuaJavaInvoker.call(MultiLuaJavaInvoker.java:79)
    at se.krka.kahlua.vm.KahluaThread.callJava(KahluaThread.java:182)
    at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:1007)
    at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:163)
    at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1980)
    at se.krka.kahlua.vm.KahluaThread.pcallvoid(KahluaThread.java:1812)
    at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66)
    at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139)
    at zombie.Lua.Event.trigger(Event.java:64)
    at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:65)
    at zombie.gameStates.IngameState.renderFrameInternal(IngameState.java:1146)
    at zombie.util.lambda.Invokers$Params2$CallbackStackItem.run(Invokers.java:91)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$1(AbstractPerformanceProfileProbe.java:91)
    at zombie.util.lambda.Stacks$Params4$CallbackStackItem.invoke(Stacks.java:286)
    at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
    at zombie.util.Lambda.capture(Lambda.java:136)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:89)
    at zombie.gameStates.IngameState.renderframe(IngameState.java:1114)
    at zombie.gameStates.IngameState.renderInternal(IngameState.java:1296)
    at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83)
    at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230)
    at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
    at zombie.util.Lambda.capture(Lambda.java:130)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81)
    at zombie.gameStates.IngameState.render(IngameState.java:1271)
    at zombie.gameStates.GameStateMachine.render(GameStateMachine.java:37)
    at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83)
    at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230)
    at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
    at zombie.util.Lambda.capture(Lambda.java:130)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81)
    at zombie.GameWindow.renderInternal(GameWindow.java:340)
    at zombie.GameWindow.frameStep(GameWindow.java:774)
    at zombie.GameWindow.run_ez(GameWindow.java:681)
    at zombie.GameWindow.mainThread(GameWindow.java:495)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "<parameter1>" is null
    at zombie.core.Translator.getTextInternal(Translator.java:781)
    at zombie.core.Translator.getText(Translator.java:766)
    at zombie.Lua.LuaManager$GlobalObject.getText(LuaManager.java:5840)
    ... 46 more
`

2.

`Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@b3f640e6
function: onUpdateUI -- file: ZWBFUI.lua line # 145 | MOD: ZomboWin Being Female
function: Add -- file: ZWBFUI.lua line # 184 | MOD: ZomboWin Being Female
`

 

 

  • 2 weeks later...
Posted

`attempted index: setVisible of non-table: null
function: togglePanel -- file: ZWBFUI.lua line # 61 | MOD: ZomboWin Being Female
function: IGUI_ZWBF_UI_Milk_toggle -- file: ZWBFUI.lua line # 111 | MOD: ZomboWin Being Female
function: onMouseUp -- file: ISSimpleButton.lua line # 23 | MOD: Simple UI API
java.lang.RuntimeException: attempted index: setVisible of non-table: null
    at se.krka.kahlua.vm.KahluaThread.tableget(KahluaThread.java:1689)
    at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:641)
    at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:163)
    at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1980)
    at se.krka.kahlua.vm.KahluaThread.pcallBoolean(KahluaThread.java:1924)
    at se.krka.kahlua.integration.LuaCaller.protectedCallBoolean(LuaCaller.java:104)
    at zombie.ui.UIElement.onMouseUp(UIElement.java:1228)
    at zombie.ui.UIElement.onMouseUp(UIElement.java:1183)
    at zombie.ui.UIElement.onMouseUp(UIElement.java:1183)
    at zombie.ui.UIElement.onMouseUp(UIElement.java:1183)
    at zombie.ui.UIManager.update(UIManager.java:816)
    at zombie.GameWindow.logic(GameWindow.java:262)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.GameWindow.frameStep(GameWindow.java:765)
    at zombie.GameWindow.run_ez(GameWindow.java:681)
    at zombie.GameWindow.mainThread(GameWindow.java:495)
    at java.base/java.lang.Thread.run(Unknown Source)
`

Can't Lactate. Help

 

Posted

`Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@80fee771
function: onUpdateUI -- file: ZWBFUI.lua line # 145 | MOD: ZomboWin Being Female
function: Add -- file: ZWBFUI.lua line # 184 | MOD: ZomboWin Being Female
java.lang.reflect.InvocationTargetException
    at jdk.internal.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at se.krka.kahlua.integration.expose.caller.MethodCaller.call(MethodCaller.java:62)
    at se.krka.kahlua.integration.expose.LuaJavaInvoker.call(LuaJavaInvoker.java:198)
    at se.krka.kahlua.integration.expose.MultiLuaJavaInvoker.call(MultiLuaJavaInvoker.java:79)
    at se.krka.kahlua.vm.KahluaThread.callJava(KahluaThread.java:182)
    at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:1007)
    at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:163)
    at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1980)
    at se.krka.kahlua.vm.KahluaThread.pcallvoid(KahluaThread.java:1812)
    at se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:66)
    at se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:139)
    at zombie.Lua.Event.trigger(Event.java:64)
    at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:65)
    at zombie.gameStates.IngameState.renderFrameInternal(IngameState.java:1146)
    at zombie.util.lambda.Invokers$Params2$CallbackStackItem.run(Invokers.java:91)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$1(AbstractPerformanceProfileProbe.java:91)
    at zombie.util.lambda.Stacks$Params4$CallbackStackItem.invoke(Stacks.java:286)
    at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
    at zombie.util.Lambda.capture(Lambda.java:136)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:89)
    at zombie.gameStates.IngameState.renderframe(IngameState.java:1114)
    at zombie.gameStates.IngameState.renderInternal(IngameState.java:1296)
    at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83)
    at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230)
    at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
    at zombie.util.Lambda.capture(Lambda.java:130)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81)
    at zombie.gameStates.IngameState.render(IngameState.java:1271)
    at zombie.gameStates.GameStateMachine.render(GameStateMachine.java:37)
    at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83)
    at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230)
    at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26)
    at zombie.util.Lambda.capture(Lambda.java:130)
    at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81)
    at zombie.GameWindow.renderInternal(GameWindow.java:340)
    at zombie.GameWindow.frameStep(GameWindow.java:774)
    at zombie.GameWindow.run_ez(GameWindow.java:681)
    at zombie.GameWindow.mainThread(GameWindow.java:495)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "<parameter1>" is null
    at zombie.core.Translator.getTextInternal(Translator.java:781)
    at zombie.core.Translator.getText(Translator.java:766)
    at zombie.Lua.LuaManager$GlobalObject.getText(LuaManager.java:5840)
    ... 46 more
`

 

  • 2 weeks later...
Posted

I got an error that prewent my from any other sex type than blowjob and masturbation i use custom player model if it can help:

ERROR: General     , 1751997717536> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: attempted index: actors of non-table: null at KahluaThread.tableget line:1689.
ERROR: General     , 1751997717536> DebugLogStream.printException> Stack trace:
java.lang.RuntimeException: attempted index: actors of non-table: null
        at se.krka.kahlua.vm.KahluaThread.tableget(KahluaThread.java:1689)
        at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:492)
        at se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:163)
        at se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1980)
        at se.krka.kahlua.vm.KahluaThread.pcallBoolean(KahluaThread.java:1924)
        at se.krka.kahlua.integration.LuaCaller.protectedCallBoolean(LuaCaller.java:104)
        at zombie.ui.UIElement.onMouseUp(UIElement.java:1228)
        at zombie.ui.UIManager.update(UIManager.java:816)
        at zombie.GameWindow.logic(GameWindow.java:262)
        at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
        at zombie.GameWindow.frameStep(GameWindow.java:765)
        at zombie.GameWindow.run_ez(GameWindow.java:681)
        at zombie.GameWindow.mainThread(GameWindow.java:495)
        at java.base/java.lang.Thread.run(Unknown Source)

  • 3 weeks later...
Posted

I have a question. Does anyone know why the Being Famous window isn't showing up in the UI? I already have the recommended mods, but when I start a game, that window doesn't appear.

  • 2 weeks later...
Posted
On 7/30/2024 at 11:56 AM, Zikhad said:

ZomboWin Being Female (ZWBF) is a mod that connects some other mods to ensure a more in depth play for female characters.

With this mod you now will have a menstrual cycle and the possibility of being pregnant by zombies 😨.

 

poster.png.57509673f945b0fa332f1d629c85d932.png

 

Features

  • UI (Integrated into the Character UI Panel)
    • H-status Panel: An UI panel that shows current Womb condition
      • Current and Total Semen Amount
      • Menstrual cycle information
      • Current Pregnancy status
      • Animations during intercourse
      • Animation during birth
    • Milk Panel: An UI panel that shows status related to Lactation
  • Lactation Mechanics
    • New recipes using Breast pump to fill Baby bottles (Biberons) and empty bottles with Milk
    • Ability to breastfeed baby
    • Lactation will "wear off" if not used
    • Engorgement mechanic
  • Pregnancy Mechanics
    • The pregnancy is a Trait that will be added / removed and gives some debuffs, like extra calories and water consumption.
    • The UI will show the birth animation
  • Items
    • Breast pump
      • Allows new recipes
    • Contraceptive
      • Make the chance of conception to be 0% for one day
    • Lactaid
      • Will start lactation or increase milk supply


Required Mods

 

  Hide contents

 

 


Optional Mods

  Reveal hidden contents

 

NOTES ON UPGRADING FROM 1.7.1 > 1.8.0

  Hide contents

You MUST remove the Pregnancy Mod, it is not required anymore and it will conflict!

[Screenshots] ZomboWinBeingFemale

  Reveal hidden contents

image.png.4ba268e8c0d96ac1c8f25e7a0c75f7b0.pngimage.thumb.png.1c2684a69ca188d8411c3c8fccdbc54c.pngimage.png.7d439e2d389bdee1672a873564bb7c8b.pngimage.thumb.png.2130b0c49d768af49ce54e634afa1a6e.png

image.thumb.png.69a4239ed3f4a168867e335caaf84769.png

image.thumb.png.4e09d0cd677738c2b01c0162dfe23270.png

 

 

 

[Download] ZomboWinBeingFemale Public Release -  v1.8.1

zwbf-1.8.1.zip 3.15 MB · 3,966 downloads

 

 

[Download] ZomboWinBeingFemale - Translations

Translations now are handled by specific mods.

The below mods are my attempt to translate the mod (with help of this wonderful community), please be aware that some things I translated myself using google translator)

Let me know if you want to contribute into making this mod available in your language!

 

[Download] ZomboWinBeingFemale - GitHub Releases

You can find all the latest releases on Github
https://github.com/zikhad/zwbf/releases

 

[GitHub] Check the repo if you want to contribute!
https://github.com/zikhad/zwbf

 

[Download] ZomboWinBeingFemale  - older versions

  Reveal hidden contents

 

 

Upcoming features

  Reveal hidden contents

These are features that I'm working on or considering for future updates (non chronological order)

 

  • Integration with modOptions / Sandbox Options for some customizable options (introduced in V 1.4.0)
  • Traits (Introduced in V 1.5.0)
    • Add traits: Fertile / Infertile that can change the chances of getting pregnant!
  • Condoms (Introduced in V 1.6.0)
    • Chances of finding "condoms" and using it
    • Thanks to @AmoraLurialis for the idea
  • More Traits (Introduced in V 1.7.0)
    • Hyperfertile - +100% chance of becoming pregnant and half of recovery time
    • Dairy Cow - Increases milk production rate (+25%) and time lactating after pregnancy (+25%)
    • Thanks to @Darkanna17 for the idea
  • Engorgement mechanic (Introduced in V 1.7.0)
    • If you don't milk regularly, you will start feeling discomfort and, eventually, pain
  • Pregnancy Revamp (Introduced in V 1.8.0)
    • Considering dropping the Pregnancy as required mod and creating ZWBF own implementation 
  • New UI (Introduced in V 1.8.0)
    • Working on a new UI, possible moving to the Health panel in a custom TAB
  • Bleeding and effects when menstruating
    • Some bleeding will be applied to groin when menstruating
    • (possibly) tampons  as an item
    • Thanks to @Yonchi for the idea

 

[Change log] History of Changes

Check the latest change log on GitHub! - here

 

  Reveal hidden contents
  • V 1.8.1
    • Fix: animation images fix
  • V 1.8.0
    • Feat: Created my custom implementation of Pregnancy
    • Feat: Integrated the UI in the Health Panel as a new TAB
  • V 1.7.1
    • Fix: adding missing translations for Dairy Cow Trait
  • V 1.7.0
    • Added more traits (Hyperfertile and Dairy Cow)
    • Added Engorgement Mechanic
  • V 1.6.0
    • Added Items: Condom, Used Condom and Condom Box
  • V 1.5.0
    • Added Traits: Fertile and Infertile
  • V 1.4.1
    • Bumped in distributions chances
  • V 1.4.0
    • Added some Sandbox Options
  • V 1.3.1
    • Added logo mini
  • V 1.3.0
    • Added skin color Support (Thanks to @Johnstell for the graphics)
  • V 1.2.3
    • Reduce the number of repetitions so its possible to see the finish of animations
  • V 1.2.2
    • Fix to correct identify animation and add sperm into the womb
  • V 1.2.1
    • Added 3d models and animations (Thanks to @blabla012345 and @Yonchi)
    • Removed ZomboWin Defeat as required mod
  • V 1.1.2
    • Added support for animation tag system (the animation exclude list should be more reliable)
  • V 1.1.1
    • Fix on pregnancy progress
  • V 1.1.0
    • Animation loops
    • Animations doesn't use EveryMinute hook anymore
    • Minor fixes in lactation logic
    • Minor changes in menstrual cycle
  • V 1.0.5
    • Added animation whitelist logic
  • V 1.0.4
    • Fixed some issues with the lactation multiplier working incorrectly
  • V 1.0.3
  • V 1.0.2
    • Fix on missing commas (Thanks @blabla012345)
  • V 1.0.1
    • Animation fix between variants (Thanks @Yonchi)
  • V 1.0
    • Very first version

 

 

[Important] Notes

  Reveal hidden contents
  • I did not tested this on Multiplayer
  • All the "intercourses" will be considered as Vaginal ones (Unfortunately I couldn't found a way to tell which animation is being played) work in progress on a fix
  • The pregnancy was only tested with zombies from the Defeat Mod
  • I recommend changing the default pregnancy time from sandbox options (otherwise the pregnancy will take a while, lol)
  • The TAB maybe sometimes appears a little offset, it can be fixed by simply toggling to other thing and going back
  • If you want to contribute with this, specially with art, feel free to DM me 😉

 

screenshot-1.png

screenshot-2.png

zwbf-1.8.0-ES.zip 78.68 kB · 238 downloads zwbf-1.8.0-FR.zip 79.49 kB · 91 downloads

So i saw the github and found the birthing animation, i managed to integrate the bellies blenshape model and add more "life" to the birth animation by messing around a little, want the blender file?

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