Coder Social home page Coder Social logo

chuckleberry-finn / zomboid-cnd-speech Goto Github PK

View Code? Open in Web Editor NEW
10.0 1.0 27.0 1.94 MB

Mod for Project Zomboid which generates text (in-game speech) utilizing a number of conditions as well as some randomization to create dynamic dialogue.

Home Page: https://steamcommunity.com/sharedfiles/filedetails/?id=2398253681

License: GNU Affero General Public License v3.0

Lua 100.00%
zomboid project-zomboid mod steam projectzomboid game

zomboid-cnd-speech's Introduction

zomboid-cnd-speech's People

Contributors

batur123 avatar beetlepie avatar chuckleberry-finn avatar jhonarroyo avatar kev1931 avatar matshou avatar mrazgrass avatar mrseeo avatar qyuta avatar redrenga avatar renkien avatar reveta avatar thorus007 avatar vchet avatar vs863129 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

zomboid-cnd-speech's Issues

Reminder: Options menu

Options menu for different customization settings. Whether or not phrases are given volume would be a good option to have.

Problem in encoding (TR)

Translation works, encoding not. Some of words from turkish language (ş,ö,ç,İ,ı) don't work in game.

About Translation

Does translation has to be exact same words in _EN file? Is localization allowed? (Like adding different words but same meaning)

Dragged Down speech.

I know this may make no sense, but here's my ideas for the small amount of words your character can get out before D E A T H:

"OH SHIT! OH SHIT! SHIT SHIT SHI-!"
"NO OH GOD HELP AHHHHHH!"
"OH GOD! OH GOD! AHHHHH!"
and a rare chance of
"Man I'm hungry."
(As a joke of course :P)

Add condition for reloading / ammo left.

Rather than just have a reaction for ammo left the player should be able to identify they're running low (and perhaps with a high shooting skill) can count shots for exact numbers. (Not for every shot though.)

__lt not defined for operand (RuntimeException)

from workshop:

Holothurin 2 minutes ago
It's a cool feature but it has blown my debug log to 6 MB within seconds with this:

function: PassMoodleFilters -- file: ConditionalSpeech_Core.lua line # 54
function: generateSpeech -- file: ConditionalSpeech_Core.lua line # 237
function: doMoodleCheck -- file: ConditionalSpeech_Core.lua line # 282.
[18-02-21 14:33:29.840] ERROR: General , 1613655209840> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: __lt not defined for operand at KahluaUtil.fail line:82..
[18-02-21 14:33:29.840] ERROR: General , 1613655209840> DebugLogStream.printException> Stack trace:.
[18-02-21 14:33:29.853] LOG : General , 1613655209853> -----------------------------------------
STACK TRACE

Add personality based speech

Players personality should be determined by a combination of profession, traits and other factors (things they do during the course of their playthrough). That personality would then influence what type of speech would they be eligible for when choosing from tables.

Standardize repository name

  • It is conventional for git repository names to be all lower-cased so that it's easier to handle inside terminals.
  • The name should be prefixed with pz so that it groups with other Project Zomboid mod projects.
  • The name should be shorter; for example pz-cnd-speech is short and informational.

Over encumbered triggers errors

As soon as I started carrying too much I was suddenly spammed with this error 100's of times:

STACK TRACE
-----------------------------------------
function: generateSpeechFrom -- file: ConditionalSpeech__Core.lua line # 198
function: check_PlayerStatus -- file: ConditionalSpeech__Core.lua line # 324

ERROR: General     , 1620184465091> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: __concat not defined for operands: null and > at KahluaUtil.fail line:82.
ERROR: General     , 1620184465091> DebugLogStream.printException> Stack trace:
java.lang.RuntimeException: __concat not defined for operands: null and >
	at se.krka.kahlua.vm.KahluaUtil.fail(KahluaUtil.java:82)
	at se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:805)
	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:37)
	at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:79)
	at zombie.characters.IsoPlayer.updateInternal2(IsoPlayer.java:1997)
	at zombie.characters.IsoPlayer.updateInternal1(IsoPlayer.java:1832)
	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.characters.IsoPlayer.update(IsoPlayer.java:1827)
	at zombie.MovingObjectUpdateSchedulerUpdateBucket.update(MovingObjectUpdateSchedulerUpdateBucket.java:69)
	at zombie.MovingObjectUpdateScheduler.update(MovingObjectUpdateScheduler.java:132)
	at zombie.iso.IsoCell.ProcessObjects(IsoCell.java:2890)
	at zombie.iso.IsoCell.updateInternal(IsoCell.java:5642)
	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.iso.IsoCell.update(IsoCell.java:5585)
	at zombie.iso.IsoWorld.updateInternal(IsoWorld.java:3176)
	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.iso.IsoWorld.update(IsoWorld.java:3102)
	at zombie.gameStates.IngameState.updateInternal(IngameState.java:1593)
	at zombie.gameStates.IngameState.update(IngameState.java:1299)
	at zombie.gameStates.GameStateMachine.update(GameStateMachine.java:101)
	at zombie.GameWindow.logic(GameWindow.java:282)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
	at zombie.GameWindow.frameStep(GameWindow.java:721)
	at zombie.GameWindow.run_ez(GameWindow.java:637)
	at zombie.GameWindow.mainThread(GameWindow.java:464)
	at java.lang.Thread.run(Thread.java:745)
LOG  : General     , 1620184465094> -----------------------------------------

BUG? Speak to Mutch "HavyLoad"

I had to disable it because even with inventory weighing 8/18, characters kept saying I was carrying too much weight.
All the time they release some phrase referring to weight and back pain.

Speech no longer displaying for anyone

after recent update any normal chat in /say is no longer displaying for anyone other than the speaker. Chat isnt recorded in the log and it seems to be treated as speech done from the mod

System for players to contribute speech

We need a system where players can easily contribute speech lines and conditions without opening up issues.
Preferably an easy to use online tool for creating logic gates, or perhaps just invite them over to #pz-cnd-speech in Coco Labs.

Related to #10.

Bug: Boredom resetting at 25% when invoking Conditional Speech

Every time Boredom gets to 25% and invokes a conditional speech, it flashes the speech line and moddle on the screen for a brief moment then immediately drops Boredom back down to about 20%, and this happens every time it hits 25% Boredom (so it will never progress to higher tiers of boredom).

I've troubleshot by loading only this mod (and Easy Config Chucked since it's required), loading up a brand new game (with every difficulty and/or sandbox imaginable). I've also resubbed and validated files and it only happens with this mod and with the Boredom moodle.

Idea: wimpering and forcefully shutting self up.

Custom Keybind that when pressed, makes your character try to shut themself up, and not talk.
Shutting self up for more than 2 days starts to make your character sad, really, really slowly.
Having a sad character shut up will make them sometimes wimper.
Having a character in lots of pain will make them wimper and groan.
Having a cowardly/easily scared character trying to stay shut up will still make them scream, they're so mentally weak they can't stop themself from alerting the entire f*cking neighborhood.

Idea : TTS

I've been reading the comments on the steam page of the mod and i thought adding voiced stuff would be a nice addition.
I know another mod that does that exact thing (voicing dialogue only text with a text-to-speech tool) it's Pelican TTS for Stardew Valley.

https://www.nexusmods.com/stardewvalley/mods/1079?tab=description

The author of that mod uses Amazon Polly voices and there is the source code available on the Nexus page. (I don't know if it could be useful though) :

https://github.com/Platonymous/Stardew-Valley-Mods/tree/master/PelicanTTS

Java Error at Main Menu

Here's the error I just got after I enabled this mod from the main menu:

STACK TRACE
-----------------------------------------
Callframe at: Update
function: load_n_set_Moodles -- file: ConditionalSpeech_Core.lua line # 245
Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@60c981c1
function: createAvatar -- file: CharacterCreationHeader.lua line # 328
function: create -- file: CharacterCreationHeader.lua line # 173
function: instantiate -- file: MainScreen.lua line # 771
function: instantiate -- file: Disabl_Welcome_Message.lua line # 5
function: addToUIManager -- file: ISUIElement.lua line # 991
function: LoadMainScreenPanelInt -- file: MainScreen.lua line # 2051
function: LoadMainScreenPanel -- file: MainScreen.lua line # 1980

ERROR: General     , 1613851124080> ExceptionLogger.logException> Exception thrown java.lang.reflect.InvocationTargetException at NativeMethodAccessorImpl.invoke0 (Native Method).
ERROR: General     , 1613851124080> DebugLogStream.printException> Stack trace:
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	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.LuaJavaInvoker.call(LuaJavaInvoker.java:188)
	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:37)
	at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:122)
	at zombie.Lua.LuaEventManager.triggerEventGarbage(LuaEventManager.java:134)
	at zombie.characters.IsoSurvivor.<init>(IsoSurvivor.java:118)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at se.krka.kahlua.integration.expose.caller.ConstructorCaller.call(ConstructorCaller.java:47)
	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:37)
	at zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:50)
	at zombie.core.Core.ResetLua(Core.java:3891)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	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:60)
	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.pcall(KahluaThread.java:1782)
	at se.krka.kahlua.integration.LuaCaller.pcall(LuaCaller.java:76)
	at zombie.ui.UIElement.onMouseUp(UIElement.java:1237)
	at zombie.ui.UIElement.onMouseUp(UIElement.java:1191)
	at zombie.ui.UIElement.onMouseUp(UIElement.java:1191)
	at zombie.ui.UIManager.update(UIManager.java:780)
	at zombie.GameWindow.logic(GameWindow.java:246)
	at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
	at zombie.GameWindow.frameStep(GameWindow.java:721)
	at zombie.GameWindow.run_ez(GameWindow.java:623)
	at zombie.GameWindow.mainThread(GameWindow.java:464)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
	at zombie.characters.IsoGameCharacter.isEquippedClothing(IsoGameCharacter.java:10844)
	at zombie.characters.IsoGameCharacter.isEquipped(IsoGameCharacter.java:10838)
	at zombie.characters.IsoGameCharacter.getInventoryWeight(IsoGameCharacter.java:11963)
	at zombie.inventory.ItemContainer.getCapacityWeight(ItemContainer.java:2672)
	at zombie.characters.Moodles.Moodle.Update(Moodle.java:450)
	at zombie.characters.Moodles.Moodles.Update(Moodles.java:109)
	... 58 more ```

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.