#mod_development

1 messages · Page 208 of 1

errant sable
#

100% easier to parse the vanilla map file

quiet plank
#

getName will get the "FrontDoor1" value, correct? Cuz that's the one I was aiming for.

bronze yoke
#

it's not the translation name, it's what is referred to as type in literally every other circumstance tired

quiet plank
#

Excellent

bronze yoke
#

on the Item object specifically though Type is something else

robust briar
errant sable
#

nah

#

Your jsut drawing an image man

robust briar
quiet plank
robust briar
#

They are

#

not me

errant sable
#

Oh, you mean the game, lol

#

Yea

robust briar
#

Which means no way in hell to get that bit data back from lua. 😢

#

I could if I wanted to make a javamod

errant sable
#

Well you can get the rects / shapes and colors, but that same data is in the map file itself

robust briar
#

but I don't want to do that

#

I'll just kill myself writing a crappy AutoHotKey script to do it.

#

My aversion to that is I do not want to render it myself

#

Which ones?

#

Both of those appear to be renders of the actual in game world

#

not the minimap though

#

unless I am missing something

#

I appreciate the insight and help y'all

#

ty

rugged latch
#

does PlaySoundWav even work to anyones experience?

#

i cant seem to be able to get it to

#

PlaySound with ogg files works just fine however

robust briar
#

Interesting

vernal ginkgo
#

what do i put inside the shared/definitions? trying to make a hair mod

hot void
#

<m_MasksFolder> <m_UnderlayMasksFolder> what does those 2 lines do ?

#

exactly

obsidian bronze
#

How does added ingredients works for food?
I'm making a new food item which I want it that you can add ingredients such as cheese, vegetables and meat moley

#

Is the EvolvedRecipe line code?

quiet plank
#

@bronze yoke those fixes worked PERFECTLY. (Thank you)*100

quiet plank
#

can the result of a recipe be populated by a lua function like the ingredients or does that kinda thing require an onCreate call?

quiet plank
#

and should I be seeing table-breaking behavior if I mistakenly skip index 3 (so [1] = .., [2] = ..., [4] = ...)

Fixing it because, of course it needs fixing, but it seemed to break population of the list

bronze yoke
quiet plank
#

That makes sense. So the solution would be to use table.insert anyway, right?

bronze yoke
#

yeah, and table.remove to remove elements

#

those will prevent gaps

quiet plank
#

o7

bronze yoke
#

lua tables are essentially half array, half hashmap, but you generally only want to treat a single table as one of those things

quiet plank
#

BTW - let me know if there's some link where I can "buy you a coffee" or something. I think i owe you a case of beer at this point.

bronze yoke
#

hehe ^-^ i'll dm you my kofi

quiet plank
#

I'm about to descend into producing a list of salvaged products based on the ingredient list for the original item. Wish me luck.

silent vigil
#

Very quick question, I know basically nothing about modding this game, but, I want to edit a mod I'm using with my friends, is there a version of ProcessSayMessage but for all chat ?

opal pier
#

Guys, which command in Lua would I use to pull up the list of items that are equipped? for example, Im currently using local inventory = player:getInventory():getItems(), but it would be better if I only received equipped items

quiet plank
quiet plank
# opal pier Guys, which command in Lua would I use to pull up the list of items that are equ...

I don't know off hand, but if you looked for any code in other mods (or ${zomboid_home}/media/lua I would guess it's some kind of tag or status or other metaparameter that you could check. (maybe even as simple as inventoryItem:equipped() == true ? Look especially at any clothing that offers protection, as it can only do so if it's equipped.

But from a quick scan of the vanilla lua code, you'll need to iterate through a list of inventoryItems and check if isEquipped() == true

silent vigil
quiet plank
#

ah - well, you can just disable 'say' in the server config

#

@bronze yoke they evade my MW-grind on account of a missing DisplayCategory.... for now

outer crypt
#

is there a version of the character "say" command that can be broadcast from an object or square than will be seen in the local chat window?

#

or maybe even have it generate a note that drops into the player inventory?

quiet plank
#

Say is proximity. As is yell. If you want everyone to see, use '/all'.

random finch
#

Anyone figure out a way to get right-click context menu working in a safezone that is not your own?

I reported a bug regarding this long ago but wasnt sure if there was a modder solution out there that I may have missed.

rugged latch
#

has anyone figured out implementing shaders at all yet? like a drunk filter or anything, haven't seen any on the workshop so wondering if it's very possible. I don't want to get into it if it's too much of a hassle.

bronze yoke
#

funny i was just wondering the same thing 😅 i know the blind mod accomplishes its look through a shader but i have no clue how they do it

rugged latch
#

funny i actually am looking at that exact same mod

#

they basically fake it

#

they use the foraging system and change the saturation values for it

#

so its not a real shader just the built in one from foraging

#

they have a REAL shader, but its weird you have to rename the thing to turn it on and off and thats not really something i want to make people do lol

bronze yoke
#

so can we mess with which shader the foraging system uses, or do they just overwrite it?

rugged latch
#

im not sure but it seems like they just change the values, you can change how desaturated it is and how blurred it is

#

thats how it gets the black and white

bronze yoke
#

oh i see, it's not a custom shader at all?

rugged latch
#

that isnt

#

they use a real custom shader for the gray characters but im not sure how it works

#

im guessing it wasnt easy or possible for them to turn it on or off in game easily however because it requires a game restart and renaming the file

bronze yoke
#

had a quick look, yeah they just overwrite the foraging shaders

rugged latch
#

ah that makes sense then

#

i was looking at the zomboid source and it seemsssssss like there is some sort of a system for implementing your own shaders without that whole shebang

bronze yoke
#

you can use your own shaders for models and stuff but i'm not sure about screen shaders and either way there are some serious limitations

#

there's no way to pass uniforms to the shader so you're limited to only ones the game already uses

rugged latch
#

youch, well that shuts down exactly what i wanted to do lol

#

do you think i could somehow use the in game ones, overwrite them when i need it, and force a shader reload so it doesn't mess with the original?

bronze yoke
#

i'm gonna look more into how the foraging shader is implemented

#

when i was looking into shaders last i was more interested in how they were rendering models

rugged latch
#

okay cool i feel like you'd be able to figure it out before me so thank you lol, if you find anything please do tell

bronze yoke
#

i'm not optimistic with how my last look into shaders went so don't get your hopes up

rugged latch
#

ha its fine, i'm probably going out of the scope of what i need to do anyways here so if you don't find it out thats cool

bronze yoke
#

well this is frustrating, the architecture is actually pretty friendly but no we can't really do anything

rugged latch
#

thats a bummer, hopefully next update theyll open up the options a bit

errant sable
#

so, i was reading back a bit, but maybe i missed it; so can you change shaders? and to what extent if you can?

#

I saw it said that you couldnt pass uniforms, so im assuming you can, to some extent change the shader, just not whats sent...

rugged latch
#

you can change some of the details about the shader used for foraging

#

and thats about it

#

if you want to do anything further you just have to overwrite the file

#

but that means its on till you turn it off

#

which requires a restart

errant sable
#

ok so now on the fly shader switching, sad

rugged latch
#

yea thats what i was looking for too lol

bronze yoke
#

you can use custom shaders for models freely

#

just not too much you can do without uniforms

rugged latch
#

oh yea forget about that part

errant sable
#

Is there a good way other then hooking one of the update events and checking to tell if a player has entered a specific area?

rugged latch
#

what do you mean specific area?

#

square? cell? room? building?

heady crystal
#

Afaik it's just check check check frequently

errant sable
bronze yoke
#

no, not really

fleet bridge
#

2 hour days will do that

heady crystal
#

Yeah I generally hook to every one minute, or do on tick with a counter

#

Not like counting 1,2,3,4,5 will impact performance in any meaningful way

#

Depends on how accurate you want your code to be. Higher accuracy, worse performance.

mellow frigate
quiet plank
errant sable
dusky flower
#

Hey folks. I've just posted on Reddit and Steam Discussions before remembering discord exists.

#

I'm making a trait mod, and I've got the lua figured out. Timings, pain areas, moodles, and taking away and adding traits based on different conditions.

#

But I don't see anywhere in the mod files that I'm examining where I can actually modify skill level. Can anyone point me in the right direction? What am I missing here?

quiet plank
errant sable
#

AH, you ment a file of a particular folder, not a type of file

quiet plank
#

they're called 'script files' generally and 'scriptItems' in the code

#

lua is lua

#

*just

errant sable
#

Lua is a scripting language

#

lol

#

a lua file is a lua script

quiet plank
#

I didn't pick the nomenclature. i'm just working with it

dusky flower
#

Ok... looks like Khairi may have answered this 4 days ago. hmm...

#

The relevant file was in the NPC folder of the trait mods I was examining. So I can copy that.

#

Literally, the one place I didn't check.

quiet plank
#

is there an accessible method to loading up an interactive lua shell - with all of the java environment and other media directory contents loaded - but without the game loop and GUI client?

bronze yoke
#

unfortunately the game refers to most of its content formats as scripts so calling lua scripts is inherently confusing in this context

#

even if technically correct

quiet plank
#

perhaps if I find a luashell class and replace the contents of this param in the json file?

"mainClass": "zombie/network/GameServer",
open drum
#

hey hey guys

#

this might b a really dumb question

#

but is there a way to access or play the function

#

of a mod

#

within the game play?

#

using the Console?

#

for Example, in a mod called "HereTheyCome", it has a lua file called "HereTheyComeMain.lua"

#

and in that lua it has a declared function HTC_CheckHordeStatus()

#

is there a way to manually run this function in a game using console?

bronze yoke
#

as long as it's not local

#

you can just call it from the console normally

dusky flower
#

I'm cooking now. 🙂 figured out how to make all sorts of custom perk effects based on game conditions.

open drum
#

it is not then

#
local function HTC_pulseOnPlayer(player, _)
    local playerLocation = player:getCurrentSquare()
    if playerLocation ~= nil and SandboxVars.HereTheyCome.PulsePlayersDuringHorde then
        getWorldSoundManager():addSound(player,
                playerLocation:getX(),
                playerLocation:getY(),
                playerLocation:getZ(),
                SandboxVars.HereTheyCome.PulseRange,
                PULSE_VOLUME);
    end
end```
#

k then one more question

#

how about accessing into GlobalModData???

#

like i can get into object moddata by doing

#

itemname.getModData()

#

but how about the global ones?

#

like..

bronze yoke
#

ModData.get("Key")

#

e.g. ModData.get("Overlooks_CustomitemSpawns") @open drum

open drum
radiant girder
#

Attempting to make custom roles within my dedicated server!
Current roles are; Observer, GM, Overseer, Moderator, Admin. Is there a change to make more access groups?

solar moth
#

Rookie question but how do you make it so you keep an item when you're making a recipe? I know you write keep or K or something but im not sure the right format. What I got:

recipe Craft Hammer
{
Hammerhead=1,
Base.WoodenStick=1,
keep Base.HammerStone=1,

Result:Hammerhead,
Time:200.0,
Category:Cooking,

}
}

solar moth
#

nvm that works 🙏 🤦‍♂️

iron iris
#

I just want to see if I am reading this right. I am assuming this function makes zombies randomly look at a direction when in contact with smoke from a smoke bomb?
Image
Also what is "IsoGridSquare"
or perhaps it makes a smoke effect in a random direction?

open drum
open drum
#

isoGridsquare is a square of each tile

#

addspokeonSquare means a parameter sent to the server

#

to perform a function (likely written in another .lua file in server folder)

iron iris
open drum
#

sendclientcommand is a function to communicate with the server yes

#

this is usually done to control zombie hordes, world items and etc

#

to alter object datas that are saved in the server sides

iron iris
#

I got the server-client side stuff down. Is there a wiki with a pz library?

dusky flower
#

Over the course of testing, I have learned that each character gets their own voice color.

#

Does anyone know if there's an API to interact with that color?

#

I can't find anything with google/ reddit/ workshop.

misty marlin
#

how do i mod the title screen? I wanna mod this gif in whenever the lightning flash hits

open drum
open drum
open drum
dusky flower
#

Hmm... I'll try that! thanks

dusky flower
#

I've found that the color is consistent.

#

It seems randomly selected, but consistent with each character.

sour island
#

I believe that's mpTextColor or SpeakColor, I messed with it way back with conditional speech.

quiet plank
#

why? just.... why? tf
media/textures/Item_SMCartonMenthol \342\200\224 \320\272\320\276\320\277\320\270\321\217.png

#

media/textures/Item_SMCarton\320\241igarettes.png

#

now, this doesn't make sense to me - how does adding the float value have anything to do with the previously inserted book entry? wouldn't they need to be part of the same object/key=value set?

--Bookstore (BookstoreBooks)
table.insert(ProceduralDistributions["list"]["BookstoreBooks"].items, "LY_Skillbooks.BookAiming1");
table.insert(ProceduralDistributions["list"]["BookstoreBooks"].items, 1);
table.insert(ProceduralDistributions["list"]["BookstoreBooks"].items, "LY_Skillbooks.BookAiming2");
table.insert(ProceduralDistributions["list"]["BookstoreBooks"].items, 0.8);
table.insert(ProceduralDistributions["list"]["BookstoreBooks"].items, "LY_Skillbooks.BookAiming3");
table.insert(ProceduralDistributions["list"]["BookstoreBooks"].items, 0.6);
table.insert(ProceduralDistributions["list"]["BookstoreBooks"].items, "LY_Skillbooks.BookAiming4");
table.insert(ProceduralDistributions["list"]["BookstoreBooks"].items, 0.4);
table.insert(ProceduralDistributions["list"]["BookstoreBooks"].items, "LY_Skillbooks.BookAiming5");
table.insert(ProceduralDistributions["list"]["BookstoreBooks"].items, 0.2);
sour island
quiet plank
#

that's what I thought. That's not what it looks like is happening here, though

#

it looks like two different elements are being added to the table, one item name and one float value

abstract pine
#

So looking at this java code (in IsoPlayer.java, same command data sent elsewhere like in LuaManager.java setAdmin) for how access level is set to try to find how to do something...

public void setAccessLevel(String var1) {
   byte var2 = PlayerType.fromString(var1.trim().toLowerCase());
   if (var2 == 1) {
      GameClient.SendCommandToServer("/setaccesslevel \"" + this.username + "\" \"none\"");
   } else {
      String var10000 = this.username;
      GameClient.SendCommandToServer("/setaccesslevel \"" + var10000 + "\" \"" + PlayerType.toString(var2) + "\"");
   }
}

If I want to detect when a player's access level is changed to admin in MP and do something on the client, will this work? Not really messed with client/server netcode scripting before, so I'm not sure I am understanding how to detect a server command correctly.

local onSetAccessLevelAdmin = function(_module, _command, _args)
    if not isClient() then return end
    local username = getPlayer():getUsername();
    if string.find(_command, tostring("/setaccesslevel \""..username.."\" \"admin\"")) ~= nil then
        -- do stuff
    end
end
Events.OnServerCommand.Add(onSetAccessLevelAdmin);
abstract pine
bronze yoke
#

it's so the java can parse it faster

cedar kraken
robust briar
#

Is there an event for detecting sandboxvar's changing?

dark wedge
robust briar
#

Aight, ty

#

Good ole polling it is 😭

quiet plank
quiet plank
quiet plank
#

as I'm fixing my tweaks mod:

[12-12-23 16:14:46.545] ERROR: General     , 1702419286545> 2,540,096,551> ExceptionLogger.logException> Exception thrown java.lang.NullPointerException: Cannot invoke "java.lang.Double.intValue()" because the return value of "se.krka.kahlua.vm.KahluaUtil.rawTonumber(Object)" is null at TableLib.remove line:247..
[12-12-23 16:14:46.545] ERROR: General     , 1702419286545> 2,540,096,551> DebugLogStream.printException> Stack trace:.
[12-12-23 16:14:46.546] LOG  : General     , 1702419286546> 2,540,096,551> -----------------------------------------
STACK TRACE
-----------------------------------------
Callframe at: table.remove
function: LY_SkillbooksLootSpawnFix.lua -- file: LY_SkillbooksLootSpawnFix.lua line # 46 | MOD: Spectrm's Recipe Tweaks.
for _,dist in ipairs(distributions) do
    for _,book in ipairs(removeList) do
        table.remove(ProceduralDistributions["list"][dist].items, book);
    end
end

guessing I'm mistaking a table for an arrayList again? or vice versa

cedar kraken
quiet plank
# cedar kraken So an object can be a table (I know a tiny bit of Lua and how the { brackets wor...

object is a very general term that could really mean anything (which is why I gave two examples). In object oriented code like Java, even integers are their own kind of object in most cases. But the basis of most objects is 'key=value' pairs.

But fundamentally, yes - when you build a table/dictionary/hash/whateverTheyWannaCallIt, some variable has a collection of keys that can be referenced as variable[key] to return the value stored/associated with that key

#

the behaviors change depending on whether or not keys need to be unique (usually they do) or if there's going to be a lot of forced iteration (in which case you may save it as variale[value] = key (though, usually more useful with numeric indexes as 'key's instead)

#

for my part, I'm just learning how lua deals with it's disparate array/table/whateverElse objects

quiet plank
summer warren
#

There is no wasy that is any plants vs zombies mod in the workshop, right?

cedar kraken
quiet plank
#

or do I pull in this function?

media/lua/shared/luautils.lua:function luautils.indexOf(table1, value)
cedar kraken
#

Having relatively little time to learn coding with school and work, this is kind of the best place for me to squeeze in some extra Lua learning

quiet plank
#

any little bit helps. There are very few jobs today that wouldn't benefit from some computer knowledge, and the more you know, the more options you have generally

#

@abstract pine so this should work, right?

require("luautils");

...

for _,dist in ipairs(distributions) do
    for _,book in ipairs(removeList) do
        targetIndex = luautils.indexOf(ProceduralDistributions["list"][dist].items, book);
        table.remove(ProceduralDistributions["list"][dist].items, targetIndex + 1);
        table.remove(ProceduralDistributions["list"][dist].items, targetIndex);
    end
end
abstract pine
quiet plank
winter thunder
#

Looking for the code that describes how the Washer/Drier work, if anyone knows where that is?

quiet plank
#

probably touches all of the objects involved in either of the two

winter thunder
#

I appreciate you tho <3

bronze yoke
#

they are java

abstract pine
winter thunder
#

... Ah... Java 😭

#

So then... I suppose that brings me to my next question.

Anyone have any tips on making a custom world object that the player can put items into, and have something done to them over time? 😅

#

Similar to washer/drier/oven/etc... Really any of them lmao

quiet plank
#

OH! and in the Java itself? not just from the perspective of a mod?

#

beyond my paygrade

winter thunder
#

No no, that is all good haha! I dont want to mess with the java side. I just want to implement my own object that has its own functionality haha

abstract pine
#

I think you would just need a tile that's a container, a way to activate it (unless it's always on) such as by context menu or something fancier built into the container UI (no idea about UI modding), the first way I would think to do it would be setting mod data on the isoObject. Then you could do whatever you want to the items in the container through an event running OnTicks/EveryTenMinutes/etc depending on your needs.

bronze yoke
#

the easiest way is to just keep the time the player last interacted with it

#

then when the player interacts with it, simulate what would have happened from them until now

#

of course you can't do this if what it does is visible

#

if it needs to react to certain conditions while it's unloaded (like how rain barrels need to react to whether it's raining) you need to use a global object instead

winter thunder
#

The main things I am working on rn are a charcoal pit and a rock tumbler. It is going to be a matter of figuring out how I should go about doing both of those things... lmao.

The original idea is to have the charcoal pit be something the player can add wooden items to, ignite, and get charcoal out of after some time. Rock tumbler would ideally work like the drier does, with the items being put in, and then after being in for some time, being swapped with the requisit output materials for the item

#

So uh... If anyone has any ideas on how I should go about designing that sort of funcitonality in the code, by all means, I am all ears haha

bronze yoke
#

this is unfortunately one of the more complex things to do

#

you could probably reference campfires for the charcoal pit, the functionality mostly crosses over

#

they're global objects so they're defined in lua

gilded hawk
#

And, yesh one of the most complext thing to implement

errant sable
#

Can someone explain what makes this complex. From my limited modding so far this doesnt seem horribly complex. The only thing I don't know how to do (with the ideas being talked about) currently is support dragging and dropping of an item from inventory to a component in a custom UI window.

sour island
errant sable
#

Yea but hat isnt complex or difficult... or maybe that is subjective..

bronze yoke
#

i call it complex because most things don't need to be written from scratch in zomboid

#

this generally does

sour island
#

That too

errant sable
#

Nod. I suppose most people doing modding don't have a solid backround in programming or games either.. so my take is probably slanted.

sour island
#

Then again, sometimes writing from scratch saves you from hitting roadblocks down the road trying to twist the game to do something it wasn't designed for. 😅

mellow frigate
errant sable
mellow frigate
bronze yoke
errant sable
weak needle
#

Is there a place to commission mods?

errant sable
fast galleon
quiet plank
#

and now I'm running into dumb 'wtf' errors:

[12-12-23 21:20:59.269] ERROR: General     , 1702437659269> 2,558,469,274> ExceptionLogger.logException> Exception thrown java.lang.NullPointerException: Cannot invoke "se.krka.kahlua.vm.KahluaTable.len()" because "<local2>" is null at TableLib.insert line:217..
[12-12-23 21:20:59.269] ERROR: General     , 1702437659269> 2,558,469,274> DebugLogStream.printException> Stack trace:.
[12-12-23 21:20:59.269] LOG  : General     , 1702437659269> 2,558,469,275> -----------------------------------------
STACK TRACE
-----------------------------------------
Callframe at: table.insert
function: VROSourceItems.lua -- file: VROSourceItems.lua line # 18 | MOD: Spectrm's Recipe Tweaks.
...
local doorItemTypes = {}
local doortItemTypesNot = {}
table.insert(doorItemTypes, "door")
table.insert(doorItemTypes, "cover")
table.insert(doorItemTypes, "hood")
table.insert(doorItemTypes, "lid")
table.insert(doorItemTypesNot, "armor")     <---- line 18
table.insert(doorItemTypesNot, "armour")
...
bronze yoke
#

local doortItemTypesNot

quiet plank
#

omfg

#

thank you. That other set of eyes... smdh

quiet plank
#

@bronze yoke I found THIS stupid error myself. LOL

diff --git a/Contents/mods/spectrm_recipe_tweaks/media/scripts/vehicles/VROSalvageParts.txt b/Contents/mods/spectrm_recipe_tweaks/media/scripts/vehicles/VROSalvageParts.txt
index e52d21a..70b962b 100755
--- a/Contents/mods/spectrm_recipe_tweaks/media/scripts/vehicles/VROSalvageParts.txt
+++ b/Contents/mods/spectrm_recipe_tweaks/media/scripts/vehicles/VROSalvageParts.txt
@@ -240,7 +240,7 @@ recipe Salvage Vehicle Panels
           OnGiveXP:Recipe.OnGiveXP.MetalWelding20,
           Category:Salvage,
     }
-
+}^M
 
 /******************* Salvage Large Container Tanks **********************
 
@@ -260,7 +260,6 @@ recipe Salvage Large Container Tanks
           Category:Salvage,
     }
 
-}
 */
 /************************ Misc electrics ***********************
 
@@ -474,3 +473,4 @@ recipe Salvage Large Container Tanks
           Category:Salvage,
     }
 */
+}
\ No newline at end of file
#

I need to start drinking (or smoking) again... I only make these mistakes sober. lol

bronze yoke
#

LOL

heady crystal
#

Does anyone know what is getPlayerByOnlineID and getOnlineID referring to? Is it the Steam ID? Is it like the player number? Its own thing?

#

If so, is it persistent?

bronze yoke
#

it's their id on the server, it is not persistent

quiet plank
#

player != user

bronze yoke
#

when an account logs in they're assigned 4 online ids for their local players to use

#

(so the first account gets 0-3, second gets 4-7, etc)

#

they're used for identifying characters across clients/the server

#

if they log out their ids aren't freed but they use the same ones if they log back in

#

they're not persistent, when the server restarts they're assigned from zero again

#

also even within the same session the same online id could refer to a different character (e.g. if they died and made a new character)

#

it's similar to the player number in that the player number is just the online id % 4

heady crystal
#

Wait, you can have more than one player per account in MP?

#

Like at once?

#

I thought you could only play splitscreen with 2 players, and in some special SP mode (Never even found out how you do it)

bronze yoke
#

you can play splitscreen with up to 4 in any mode, unless the server disables it

heady crystal
#

Woah that's insane

#

TIL

naive crescent
heady crystal
#

How do you even enable splitscreen

naive crescent
#

That just blew my mind,

bronze yoke
#

just press a button on a controller and it'll open a context menu to join

heady crystal
#

Yeah that must be terrible in a single screen

bronze yoke
#

yeah, the game pauses while they create their character

heady crystal
#

This is almost a hidden feature smh

naive crescent
#

Thats what I figured is how it worked. Using a controller isnt great, I havent done it in over 6 years but theres a ton of actions you cant do on it. I couldnt imagine splitting the screen 4 ways

heady crystal
#

I can finally play with my sibling that doesn't have a PC!

heady crystal
naive crescent
heady crystal
#

lol

#

I rarely get the time to actually play this game, let alone MP

naive crescent
#

I met one guy at shcool who played and then showd her and it was like that from the first public build until 41.

#

now everyone and there mother plays it.

bronze yoke
heady crystal
#

😂

naive crescent
#

The controller is not a good experience to be fair. But if thats all you got then its great.

heady crystal
#

Sometimes people comment on my mods like "X doesn't work on controller" and I'm like

#

"You play with a controller?"

naive crescent
#

I want to take a look

heady crystal
#

Nothing major

bronze yoke
#

i played splitscreen on steam remote play before b41 mp came out

#

great times

heady crystal
naive crescent
heady crystal
#

Were you around when zombies were 2D aliens?

naive crescent
heady crystal
bronze yoke
#

i started playing a couple years ago, when b40 was pretty old but still the 'main' build of the game

#

so yes, 2d aliens

heady crystal
#

😆

naive crescent
#

Im only responsible for the public mod that changes the misplled word Baloney to Bologna.

heady crystal
#

Hahaha that's awesome actually

#

The game has quite a few weird namings

#

Like using UK English for flashlight

naive crescent
#

I have a few other mods but they were private ones for friends or for me to mess around with.

bronze yoke
#

most internal names use our terms

#

it's rather comfy really

heady crystal
#

You're from the UK? panic

bronze yoke
naive crescent
#

Panics in English

heady crystal
#

I love UK English. One day I want to be able to talk with an accent like that

naive crescent
#

All got is the silly canadian version

#

eh

heady crystal
#

I trained myself to talk the generic murican English so it's hard to recondition oneself

naive crescent
#

Which coast you near?

heady crystal
#

Oh I'm not American, I am self taught 😝

naive crescent
#

Ah

#

If you dont mind me asking whats your native accent?

bronze yoke
#

i'm tempted to start faking a different british accent myself

heady crystal
#

😆

heady crystal
#

English is softer so to speak. And UK English is much softer.

#

English also seems to cut off vowels

bronze yoke
#

somebody asked me for a 'british translation' mod, i'm all for it but i still haven't gotten around to it...

naive crescent
#

I unfortunately dont have that simple life Canadian accent and just a muddy french canadian one.

heady crystal
#

Omg that's sooo true! I have a british friend that is like... You just can't understand them haha

#

When we're in game group chats, everyone is often asking him to repeat himself

#

Like it's just so hard to understand drunk

bronze yoke
#

if you're struggling with england the other countries in the uk are going to be a nightmare

heady crystal
naive crescent
#

Panics en français

bronze yoke
#

i'm personally a big fan of the french accent

naive crescent
#

France french or Quebec french?

#

Big difference

bronze yoke
#

france french...

naive crescent
#

One is like me saronated and the other is like being assulted

bronze yoke
#

i'm not sure i'm familiar with the quebec accent

heady crystal
#

French is beautiful too!

naive crescent
#

Its sounds like spanish but with a lot more mud in the mouth.

#

Theyre different though in sounds and words.

#

I like the france french as well, its like theyre speaking molasis

quiet plank
#

what's the best way to think about if a function should be under lua/server vs lua/client?

Situation: there are a set of functions that CLEARLY are desired on the server end, but I anticipate there will be some operations that ARE meant to be on the client-side, and I need to be able to identify which are which so I can partition them properly

bronze yoke
#

testing 🙃

#

anything that seems like it should be client-side probably is, but a lot of things that seem like they should be server-side aren't

naive crescent
#

I try to find a mod similar to the mechanics of what im doing and see how they did it. Along with testing over and over and over again.

#

This is how you died...This is how you died...This is how you died...This is how you died...This is how you died...This is how you died...This is how you died...This is how you died...This is how you died

rugged latch
#

are you not running debug? lol

naive crescent
#

Somethings cant be done by reloading luea

rugged latch
#

ahhhhhh

#

oh wait no your right

naive crescent
#

Im always in debug.

#

I have to quit out of games every single time I play with friends because I forget its in Debug

rugged latch
#

eh i just leave it on

bronze yoke
#

most servers will kick you if you join in debug

naive crescent
#

Cant join a multiplayer game with Debug unless you are host

rugged latch
#

usually when im playing with friends im hosting and im secretly using it as an opportunity to test the mod, so I have the debug on just to see errors or quickly fix anything that goes wrong

naive crescent
#

I only started playing MP with friends over the past year and the guy who streams it hosts.

bronze yoke
#

that's why i finally got around to doing this

naive crescent
#

I just make mods and then use them as trogan horses to sneak other mods in under there noses

bronze yoke
#

especially because of local copies of my mods loading over the workshop version and giving me inconsistency until i remove them U_U

naive crescent
rugged latch
rugged latch
#

pineed?

quiet plank
bronze yoke
#

all client 😔

quiet plank
#

client-side would be UI elements, animations, and behaviors, no? anything that can't be abused to game the item spawn system?

#

when does the item update make it back to the server, then?

bronze yoke
#

you usually call methods like addItemOnServer/removeItemOnServer

#

ironically these methods don't work on the server and it's actually extremely cumbersome to replicate them from there

quiet plank
#

so the mods operate on the honor system... LOL

bronze yoke
quiet plank
#

fair enough

bronze yoke
#

b42 is moving item stuff to the server so i'm excited for every single mod that interacts with items to be broken

quiet plank
#

moving this from lua/client to lua/server fixed a missing function error from a script file, though

function Recipe.GetItemTypes.Crowbar(scriptItems)
        scriptItems:addAll(getScriptManager():getItemsTag("Crowbar"))
end
bronze yoke
#

server folder loads last, if you define it in client the table gets overwritten

rugged latch
#

i have a feeling every mod will be broken by build 42 anyhoo lol

bronze yoke
#

because the vanilla table definition is in server

naive crescent
#

But the systems theyre introducting will spark a renaissance of new types of mods

quiet plank
#

hrm...

bronze yoke
naive crescent
#

The secobd they bring in basic character controllers for animals the tables gomna get flipped

quiet plank
#

"You should completely redesign your system about every 5 years"
-- Intel

naive crescent
#

PZ is 10 years in the making and im experting 10 more

#

content for life

rugged latch
#

how "intel"ligent of them

quiet plank
naive crescent
#

Zomboid porn servers have already been a niche thing

#

or were

quiet plank
#

everything humans do...

#

I love the theory on civilization that basically goes: "Skyscrapers are just really elaborate peacock plumes"

naive crescent
#

The character controlleds and animation systems were not developed enough for progress to keep going.

#

The community is of course still strangley very active even though no developer has spoken for over a year and development has ceased for 3

quiet plank
#

did it all just go private/offline?

naive crescent
#

It was always private

quiet plank
#

there are some texture mods out there, but I haven't seen anything else otherwise

bronze yoke
#

well it's against tos

naive crescent
#

Never mentioned on any offical places like discord, steam or the website

naive crescent
#

They had custom animation frame work before the modding community had cracked the first .fbx character model

quiet plank
#

@bronze yoke it seems if it's return goes to a recipe parameter, it needs to be under server, which is, like, 90% of the use cases I'm dealing with right now. Is this right?

bronze yoke
#

it can be in the client folder, but if it's in the Recipe table it needs to be in server because that's where the table is declared

quiet plank
#

okay. That makes sense

heady crystal
bronze yoke
#

keep in mind that there is no difference in the actual behaviour based on the folder itself

#

the folder only affects if and when the file is loaded

heady crystal
#

What I do when I'm unsure where to put what I'm working on, is to write it client side and check in Vanilla files. Often you'll see indications if it's meant to run server side. And in SP server side doesn't matter. So usually server side I only use for what I mentioned.

quiet plank
#

well, I've already fixed XP gain on some 50 recipes in my modlist, so...

errant sable
#

Random question but has anyone made a train mod?

heady crystal
#

I am working on one

bronze yoke
#

awesome

quiet plank
#

that would be cool

errant sable
#

Dude, braven. Can I just hire you or something? lol

quiet plank
#

get the little see-saw pump cart, too?

heady crystal
#

Shhh stop spoiling the planned features

#

😤

quiet plank
#

🤐

heady crystal
#

Lately I've been tackling airplanes too. Very difficult stuff, but I think I can manage it.

naive crescent
#

What I love about this modding community is that Ill come up with a project to work on during my winter vacation and when my vacation comes someone had already made it.

heady crystal
#

LMAO

#

I can relate somewhat. There's a lot of mods people asked me to do, and I was like "Well I am busy right now, but next wee- WTF SOMEONE ALREADY TOOK IT!"

errant sable
#

I have been thinking on trains, and Im like man.. can you just hijack cars, and make them follow a set path and go "forward and backward" only

quiet plank
heady crystal
#

All the power to you! Personally I don't do stuff other people already did.

#

Unless it's just unnacceptable and needs replacement

naive crescent
rugged latch
#

yea if your idea isnt original at least go for the goal

#

try to make it the best version of it

naive crescent
#

Oh im super cool with it, it means I dont need to do the work and I can build off what theyve done if theyre cool with it

heady crystal
#

I understand the effort that goes into making a mod and I feel bad basically replacing someone's mod. Like I already felt terrible when another modder released a mod that was literally a feature I had almost ready for one of mine, even though we never communicated or anything. We just both happened to work on the same thing at the same time.

naive crescent
#

I was making one because the other at the time were trash but Radiated Zones seems really well made

bronze yoke
#

i make mods because i want to use them

naive crescent
#

I havent tested it yet though. Winter vacation just started and I mainly play PZ during that time.

quiet plank
#

I think the mod community needs to be a little more open source. So many bugs and misbehaviors that could be corrected quickly - or mod conflicts and overlaps...

heady crystal
#

Yeah most of my ideas are stuff I was playing the game and was like "Wh... why isn't this in Vanilla?" lol

naive crescent
#

I have a few other ideas in the work.

#

for this winter

bronze yoke
#

if my idea overlaps with an existing mod (as it often has) i pledge not to look at their code and try not to follow their ideas too closely (but if i was following them closely why even make my own mod)

bronze yoke
#

i don't really look at other mods' code anymore anyway

heady crystal
#

I'm like nuh uh

quiet plank
#

I do shame face

heady crystal
#

I mean, nobody can stop you from doing it

#

So long as you don't straight up copy paste the code

rugged latch
#

it feels really guilty to do something that someone else has done, especially if you want it done "different"

naive crescent
#

I do it because my lua coding experience isnt super great so I look at it for structure and syntax

#

I have a C# background

quiet plank
#

I'm still in the 'learning enough to patch/fix bugs in other's mods' phase

naive crescent
#

John Carmack the guy who made Doom let the source code out into the internet immediatley against the wants of his partners to push game development farther

#

and thats how game development should be

quiet plank
#

I can tell a lot of mods are written for solo - or only tested there - based on some of the comments y'all made about the differences. I only play MP for the most part, now, so I only ever test in MP

naive crescent
#

People who gate keep by keeping things secret arel are just holding the community back

#

Imgaine if Throttlekitty kept his models a secret

#

how much we wouldnt have

rugged latch
#

once i get my first mod out i have no cares if people run away with the code or whatever.

errant sable
#

I have two good reaons for looking at other mods currently and remaking a few.

  1. While I can code, I just stared modding PZ a few days ago... only way to learn is to look what others have done since there is no official guide.
  2. Thematic presentation and appearance. What I am working on needs a cohesive presentation, and one that is more graphical than the vanilla UI and most mods.
rugged latch
#

they can open it up and stare at it for free anyways

bronze yoke
#

if you're not copy pasting i don't have an issue with it, nobody owns api calls and if your mod concept doesn't overlap you wouldn't be able to copy a significant portion of it anyway

errant sable
#

but I dont imahine Ill need to look at mods more than another week or two. i just need to learn how to actually hook the bits and bobs together

naive crescent
bronze yoke
#

but if the mod concept overlaps i personally wouldn't feel good about getting that process from them

naive crescent
#

You cant really frankenstien code like that anyways with good quality you still have to put in effort

rugged latch
#

im making a big trait mod which is just allllllll of the worst "wow i found out im doing this thing someone else has done" alll the time

errant sable
#

Like one I redid is vending machines. Mine have a very graphical UI, different logic for populating them, and a different currency sytem to be used though, and if you try shaking the machine around, you end up setting of an alarm.

bronze yoke
#

if you are copying them more directly that is a violation of copyright and i would take issue with that, but i don't think that's common

naive crescent
quiet plank
#

I stop short of making a patched, full version in my tweaks mod and just overwrite the offending file (with one notable exception that I've just been too lazy to put the work in - no activeMods check for various operations and the scripts files aren't split out into disparate mods in the same WI

heady crystal
#

Depends on what it is. I don't take issue with like 2-3 lines, you can't copyright a line of code.

#

Copyright only protects the thing as a whole.

#

Specially in modding, I'd argue. There's only so many ways you can do this or that.

quiet plank
#

I've submitted at least 5 patches via comments in the last few months. i don't think any of them have made it into the actual mod

rugged latch
#

yea usually mod makers sort of just

#

vanish

naive crescent
#

Like even though I had the idea and have worked on a radiation mod I feel like the guy who released radiated zones kind of covered everything I wanted to do so my project is trashed. If anything Ill talk to them about building off it

rugged latch
#

off the face of the earth, and then its akward if people are able to do anything with what they left behind

naive crescent
rugged latch
#

yea lol

errant sable
#

Another reason I would prefer to write my own version of some mods for what I am doing even though the funtionality exists out there already

naive crescent
#

Its also alot more rewarding doing everyhing yourself

#

But I wouldve never learned how to code if I didnt follow and learn from the works of others.

bronze yoke
#

ideally all mods would be written modularly so that other mods can just build off of them and patch them

naive crescent
#

I have folders of other peoples code just so I have an idea of what direction I should be heading in so I dont stumble in the dark for hours on end wasting time

bronze yoke
#

of course some authors don't want that and that's fine, but in my experience most do and are just unaware that they can do this

errant sable
#

Yeah, ideally there would be "one mod", with modules, and everyone would contrinute to it

bronze yoke
#

when i say modules i mean a specific pattern lua is usually written in

#

it's industry standard, so of course it is almost never seen in modding

errant sable
#

instead of every mod including like a handful or more of duplicate purpose functions

naive crescent
rugged latch
#

i still have yet to find out what the hell the correct standards are for naming in lua

#

because EVERY MOD uses different ones lol

naive crescent
#

oh yea, someone explained it to me last year and I was more confused then I was before

rugged latch
#

PascalCase? camelCase? all lowercase?

#

what about functions?

#

do we care if its global?

naive crescent
#

YouForgotTitleCase

rugged latch
#

aint that Pascal?

bronze yoke
#

never make anything global

#

global by default is the biggest mistake in lua's design

heady crystal
#

I started basically duplicating my most often used functions for every mod, because I was done with people subscribing to one mod, and not the utilities mod with the functions I needed, or not activating the utilities one, yada yada, then complaining to me.

naive crescent
#

Pascal I believe is every wordsis captiolized

rugged latch
#

is it actually?

heady crystal
#

Yeah

rugged latch
#

shit

heady crystal
#

Everything

bronze yoke
#

anything you can do with globals you can do better with modules

rugged latch
#

ive got some work to do lol

heady crystal
#

LMAO

rugged latch
#

i just assumed it was local??

heady crystal
#

I fell for that one too at first

bronze yoke
#

uh oh

quiet plank
heady crystal
#

I hate how Vanilla UI is so hard coded

#

Most stuff is local

naive crescent
#

The UI is starting to really be the weakest part of the game

heady crystal
#

Makes me want to kms when I need to edit a tiny thing and have to either overwrite the whole function, or start from the ground up

naive crescent
#

It didnt bother me up untill this year

heady crystal
#

I often get caught in the UI having a specific size, and if I try to add some button to it or something, I have to modify the base function

bronze yoke
#

the ui also is by far the biggest cause of lag

#

that's why they gave it a separate framerate

heady crystal
heady crystal
naive crescent
#

Ive always been able to juggle it, but now when I play my worlds have gotten more elaborate in set up and take hours of debug work and its become overwhelming

quiet plank
#

so, I got some snippets from chatGPT that made me wonder...

How plausible/reasonable is it to make recipes exclusively in lua?

bronze yoke
#

i think you can, yeah

#

i've had success (with a significant caveat) with item scripts created from lua

quiet plank
#

that was my next question

bronze yoke
#

but i can't see why recipes would run into the same issue

rugged latch
bronze yoke
errant sable
quiet plank
#

one question I got was 'but why?'

And the top answer I thought of was "to get rid of all these 'missing mesh' errors in my startup

rugged latch
#

that makes me frown

naive crescent
#

You dont like 6 contextual menus while playing?

errant sable
#

Thus making it persist

naive crescent
#

Gotta get reminded of Eve Online while playing Zomboid

quiet plank
bronze yoke
rugged latch
#

am i the only one that didnt start this game and be immediatly turned off by the ui?

#

i find it a bit charming

bronze yoke
naive crescent
quiet plank
#

I'm looking at a patch to athaulers that will restore the items in the seats and trunk when the vehicle respawns - and maybe even making the despawn/respawn vehicle agnostic

rugged latch
#

its so overly complex and so much its like funny, a fun slap in the face when you realize there is a whole ass menu for your tempature and thermoregulation

quiet plank
bronze yoke
#

the item itself will be lost

naive crescent
#

Nothing like trying to buld wooden walls/paint and plaster and spend 60% of the time in menus

quiet plank
#

hrm... but since recipes are ephemeral in nature, that doesn't matter

#

to recipes, that is

rugged latch
#

whatever that mod in here i saw that gave icons to context menu stuff

quiet plank
#

but okay, so items from lua is out

bronze yoke
#

i actually like the ui too

#

i think it's very consistent and usually easy to follow

#

there are specific elements i take issue with though

quiet plank
#

as for the athauler's item respawn, I imagine all of the condition and whatnot could be stored in modData

bronze yoke
#

actually probably just the recipe menu

errant sable
#

The only thin I really dont like is inventory, equipment, and containers

naive crescent
#

Its not bad when youe playing casually. But when your setting something up for an elaborate game kr content it getts a bit much

quiet plank
errant sable
#

I wold prefer large icons, no text, let me hover for a tooltip. I should know what it is at a glance after the first day of playing for most things anyways.

rugged latch
#

i think the inventory could do better with some changes too just because I don't need to scroll past my thousands of cigarettes to check which invisible item is currently in my hand

errant sable
rugged latch
#

especially books

bronze yoke
rugged latch
#

my god could you imagine trying to find a book with no visible label?

quiet plank
naive crescent
#

Try finding a specific color of clothing in debug

#

its impossible

quiet plank
#

1:1 map the item parameters, append the instance information, slap on a uuid, ship it to a table.

#

bind it to a vehicle serial

rugged latch
#

i know i do this coding stuff like everyday but everytime i hear someone use terms like that i feel like a real dumbass lol

quiet plank
#

append container name to the serial to pass on where the item should respawn

rugged latch
#

"put the thingy in the thingy"

quiet plank
naive crescent
#

Ive been operating like this for years now. Ive created my own personal hell.

quiet plank
#

I've always done a fair bit of ruby (and when bash doesn't cut it, it's my go-to). But it's rare I've undertaken whole development projects

bronze yoke
#

after years of telling myself i hate ui i've gotten to that point of writing my renderer and realised i'm actually really looking forward to writing the ui portion... just not actually designing the specific ui elements LOL

errant sable
#

Im working on my own game from scratch. Wrote a banging UI system... loathe writing the actual UI still

quiet plank
#

only UI I like writing for is enlightenment - it's designed as if the devs were considering logistics first (which feels natural to me, and scales better). Everything else feels like a burdern

#

quartz was nice until apple closed-sourced it

naive crescent
#

UI an a game this ambitious is always going to be a monumental task. I dont blame them for taking this long.

#

Other aspects really needed attention first. But now it's getting to the point that UI really needs some love.

errant sable
#

Im not certain... but I do know the way the UI works, and some of the API calls are sucpiciously similar to Dear ImGui.

naive crescent
#

Lmfao!

heady crystal
#

I love how we all managed to get a pretty cool convo going here besides the usual just ask answer ask answer 😄

quiet plank
#

I still can't believe that the 'no such mesh' and 'no such model' errors don't break anything...

heady crystal
#

Well it can't break what it can't load

quiet plank
#

it's the not loading...

errant sable
naive crescent
heady crystal
#

Whoops

#

Now you're staying the whole day here

naive crescent
#

People who like to code and all are very passionate about the game.

heady crystal
naive crescent
#

That we keep taking the abuse knowing itll get better

quiet plank
#

know how many seratonin spikes I've gotten working on these fixes?

#

makes it all worth it

heady crystal
#

LMAO

#

Relatable

#

Aaaaye I just managed to optimize my mod covers folder from 6GB down to roughly 3.2GB 🥳

#

Really gotta organize sometimes

naive crescent
errant sable
quiet plank
#

seratonin isn't the addictive one

#

that's dopamine

errant sable
#

I know, but it was the joke

heady crystal
#

Yeah me too

quiet plank
heady crystal
#

I can quit anytime... aaaanytiime.

naive crescent
#

It is but I gotta close my company up.

heady crystal
naive crescent
heady crystal
#

Been there

quiet plank
#

I wonder if groovy could be added to the stack...

heady crystal
#

Lately I've been enjoying more of life and being less of a workaholic

errant sable
quiet plank
#

hrm....

naive crescent
bronze yoke
#

no idea how anyone could think i'm not autistic

heady crystal
#

You'll get through it!

quiet plank
heady crystal
quiet plank
#

yes

#

they have to press into social interaction more than many of them do, but yes

naive crescent
errant sable
naive crescent
#

My most ambitious project yet

quiet plank
#

I had no choice but to become outgoing, so...

heady crystal
#

Huh. I mean I don't see Albion as autistic. It is very hard to tell from online chat messages though lol

heady crystal
quiet plank
#

my therapist told me I should do an evaluation. That was enough

heady crystal
#

ROFL

#

I have two friends with autism. I think they're great people and should be protected

#

I see them as normal. I hate when people make fun of them unhappy

naive crescent
#

Im not autistic, I just get to damn passionate about my creative outlets sometimes.

bronze yoke
quiet plank
#

I hate when people think I'm making fun of them when I'm extolling them

heady crystal
rugged latch
#

i mean it was sebun for a bit

errant sable
#

Yeah i mean... looking at all the profile pictures... everyoen kinda checks out 👀

heady crystal
#

Well yeah we all are crazy

errant sable
#

Oh, well I forgot I changed mine.. was evil morty till yesterday

heady crystal
errant sable
#

Cause hes not actually evil

#

hes the only sane one on the show

naive crescent
#

Mines a parody of the Canada Post symbol being the Mailman and all.

rugged latch
#

i thought it was cake

heady crystal
#

ROFL

rugged latch
#

it thought it was a slice of cake

naive crescent
#

Im just really into the postal service. never stops just like me

heady crystal
#

Omg I see it now

errant sable
#

I thought it was a paper airplane

naive crescent
#

Fuck now I see it too

heady crystal
#

I CAN'T UNSEE IT

#

It's become cake

naive crescent
#

Well now I got a new hyper focus in the redesign.

rugged latch
#

hey yknow it is christmas

#

you could just double down on the cake-age

quiet plank
#

with almost 400 mods:

root@apocrypha:/opt/zomboid-debug# egrep 'ERROR' Zomboid/Logs/*server.txt|wc -l
165

bows

naive crescent
#

Thanks I needed a another one

heady crystal
#

lmao

#

Surprise mechanics

naive crescent
heady crystal
#

Santa cake

#

Omg yeah you reminded me I have to remake my pfp for christmas drunk

quiet plank
#

ooohhhh... Now that I have a working oven, I need to make cupcakes

#

and brownies

#

and maybe some of those chocolate chip cookie brownies

#

in my all-edges pan

#

😄

heady crystal
#

😮

naive crescent
quiet plank
#

I'm a pizza cutter, baby. All edge, no point

errant sable
#

Nah, if they are done right the edges are perfect for long term dunking in milk

quiet plank
#

thinkGeek still sells them if you want to add it to your christmas wishlist

errant sable
#

and if you get high and leave them in to long, they turn to glass....

naive crescent
#

Well the edge pieces are the best like the tops of muffins

rugged latch
#

go straight to max difficulty

quiet plank
#

omg... this is happening

#

butterscotch will be switched out for peanutbutter chips (can't stand butterscotch)

errant sable
#

Brownies > marshmellow fluff > rice crispy treats (or peanut butter captn crunch treats are even better) > Raspebrry Pie filling, or sliced banans, covered with melted cholate chips and thrown in the freezer for abotu 15 mintues.

#

Thank me later

rugged latch
#

they look a bit weird but its 7 layers of sweet goodness

naive crescent
#

Lasagna dessert

quiet plank
#

and I love walnuts, but my kids don't, so...

rugged latch
#

omg its hilarious, this has nothing to do with mod development

quiet plank
#

pfft... we need our fuel

bronze yoke
#

somebody throw that recipe into a mod real quick

rugged latch
#

no no keep going

#

thats actually a good idea

quiet plank
#
UnhappinessChange = -1000
rugged latch
#

id be a cook for once in my life in this game if i could indulge in those sweets

naive crescent
#

Well now I may have to make a logo cake mod to remind myself

quiet plank
#

reminds me - I need to dig into evolved items stuff... if you put cooked chicken or beef into sapphs lasagna before cooking, it produces a cooked, but uncuttable, lasagna that makes you sick REAL quick

#

I had to admin-save a server denizen the other day for making lasagna the irl way

#

with setain, ffs - not even dangerous uncooked.

#

setain --(meat grinder) --> ground chicken

naive crescent
#

Oh wow you gave me a weapon to mess with my friend.

#

Or a good challenge can you gather enough lemon grass to survive in zomboid only eating lasagna

quiet plank
#

we run sprouts... grow all the lemongrass you want

bronze yoke
#

i actually really enjoy the cooking

quiet plank
bronze yoke
#

i love periodically discovering new recipes that have been in the game literally the whole time

heady crystal
#

Lmao same

quiet plank
#

one of my server members, that's his primary enjoyment in-game is gathering the requirements for cooking recipes.

I armor up his vehicles, he bakes me cookies

#

fair trade

bronze yoke
#

i desperately try to make my friends eat meals instead of ingredients 😭

heady crystal
#

😦

#

I always eat raw stuff

#

lmao

naive crescent
#

I specialize in bulldozing zombies hoards with hammers while my friends are cooking and fighting tooth and nail to stay alive.

rugged latch
#

as much as i wanna say im no min maxer, i feel like there just isnt very much incentive at all to not eat like a raccoon all game instead of cooking lol

#

and its funny to rummage through peoples stuff and just eat it all

#

or bite into some raw vegetables because im too lazy

naive crescent
#

I eat the cans and slowly leave them in my friends room slowly so he doenst notice until theres so many of them.

rugged latch
#

everytime i make sure that after i eat a canned food in my base, i place it somewhere

#

so i can feel like a real trashy zombie apocalypse survivor

naive crescent
#

I t throw ky butts everywhere..

rugged latch
#

kentucky butts?

naive crescent
#

The mod is so inconvenient and annoying but its like a S tier for me

#

The auto smoke mod

rugged latch
#

ohhhhhhhhh

heady crystal
#

Wait how is a QoL mod inconvenient

#

Don't tell me I have to remake it

naive crescent
#

'No fire no party' as they say

heady crystal
rugged latch
#

unrelated i was so mad with my lack of geographic knowledge when i heard the ohio river in real life does NOT border OHIO!

#

my dumbass lives in ohio and i thought kentucky was below me because of this game lol

naive crescent
heady crystal
#

Aw man

#

It's not toggleable?

naive crescent
#

But its a toggle automatic option tou dont notice it

heady crystal
#

Oh thank god

naive crescent
#

untill people complaine

rugged latch
#

can you stuff into ash trays?

heady crystal
#

This is why I make easy stuff enabled by default

rugged latch
#

at least?

heady crystal
#

And realism stuff disabled

#

Saves some headaches

naive crescent
#

They have toggle options for toss on ground, Inventory? garbage can or ash tray

rugged latch
#

do you manually have to?

naive crescent
#

No

#

all auto matic unless have the auto for storing an inventory

#

Id rather take that aspect then having to manually smoke a cigarette for my crippling smokers anxiety

rugged latch
#

i wouldnt be apposed to it if i could feel like a cowboy flicking away ciggy butts

#

hey your vanilla crippling smoker at least knows how it is

#

smokes rare anymore

#

gotta smoke the WHOLE cigarrete

#

leave no butt behind

naive crescent
#

Nothing like playing with ridiculously rare and having nothing but 100 packs of cigarettes.

rugged latch
#

its realistic at least

naive crescent
#

Oh another thing though is tou can smoke the butts as well.

bronze yoke
#

on the topic of qol

rugged latch
#

oh i know that mod now i played with it

#

i turned it off cuz i got sick of having filters

bronze yoke
#

could i be the only person alive with autodrink disabled? 😅

rugged latch
#

and pulling out ciggys

rugged latch
#

i need to know the basis for this

#

blasphemy

#

stand trial

bronze yoke
#

i guess i dislike thirst management being a purely passive thing

#

i nearly always play with high thirst, too

rugged latch
#

okay i was joking before

bronze yoke
#

maybe it's just a matter of immersion but i like having to actually drink

naive crescent
# rugged latch and pulling out ciggys

That can get annoying. Its like oh I see smoking a cigarette is more of a priority then loading your shotgun that you need for the hoard coming towards you.

rugged latch
#

yea at least autodrink has no animation

rugged latch
#

but high thirst?

#

i played high thirst once

naive crescent
#

High thirst foe life

rugged latch
#

i just did not like hoarding so many bottles

naive crescent
#

Just like real life.

rugged latch
#

i gotta admit it does feel cool to pull open a fridge steal some drink when youve been out for awhile

#

and drink it right there

#

maybe i ought to try autodrink off

bronze yoke
#

i consider high thirst basically free points

naive crescent
#

Same

bronze yoke
#

you just have to carry two bottles and it's exactly the same

naive crescent
#

You carry two bottles and your good for a long time

rugged latch
#

thats 1.1 less weight room i have for all my thousands and thousands of nails

naive crescent
#

I only started running into issues when I was doing ridiculously rare run with atomic sun

rugged latch
#

i need my box of nails, my 3 weapons, gun, shotgun, im not sparing room for no hydration

naive crescent
#

Water sucks...shotgun shells are better

rugged latch
#

thirsty? yea thirsty for blood

#

if it comes down to it drink the gunpowder

naive crescent
#

Drink your piss good for another block.

rugged latch
#

bear grylls knew what he was doing

bronze yoke
#

water is way too easy to manage in general imo

rugged latch
#

just forget the hotel parts

quiet plank
#

well, I'm fading. gonna hit the sack. Hasta manana

bronze yoke
#

i made water goes bad because of it but that only addresses the most significant issue

naive crescent
#

Same. Its been good time, Hope to see you all loitering here again soon.

rugged latch
#

grimy sinks

naive crescent
#

S tier mod for hardcore runs

bronze yoke
#

it's probably too fast for that but i justify it with the walking corpses

#

really bothers me that the water shutoff is basically meaningless when every tap still has a whole reservoir of drinkable water in it

rugged latch
#

its realistic i thinkish

rugged latch
#

contaminate the whole thing

#

i mean really corpse sickness as well should be soooo much worse

bronze yoke
#

it's in the works...

rugged latch
#

oh no lol

#

really the zombies are already corpses, my guy should be vomiting from the horde alone

#

okay okay one last question

#

what do people here use for making custom animations if you know?

#

i really really want to make some but i just cant seem to get an answer on what the consensus on program to use is

#

i know zomboid uses some weird animation file types

bronze yoke
#

i've always heard fragmotion but it's not my area

rugged latch
#

wow

#

this is ancient looking

#

alright thanks lol, hopefully i can finally get the vomit and door kick animations ive dreamed of

bronze yoke
#

unfortunately the only guy i know of that's good with animations is a massive scumbag

rugged latch
#

hm?

#

is it fancy handworks guy?

#

i only know 1 animation mod and its those ones

bronze yoke
#

no he's cool

rugged latch
#

okay good

#

i like his mods

#

yea i havent touched 3d animation but i know enough 2d that im confident enough i could figure it out

bronze yoke
#

something i have a little more experience with is that pz's animation definitions use xml files

#

with things like conditions to trigger an animation and transitions between animations defined there

heady crystal
#

Yeah it's extremely annoying to make animations

#

The XMLs are mostly fine when you get the hang of it

#

But the animation itself just god

rugged latch
#

likeeee the programmm

#

no inverse kinematics?

heady crystal
#

I almost drove monkey mad when I asked him if he could make me the bicycle idle animation

heady crystal
rugged latch
#

thats a bad sign

#

if i get in there and realize pretty quick its gonna take days just to frame by frame move the characters head over ill be out pretty quick lol

heady crystal
#

Well if you do succeed, I've always been interested in making a mod where you can bash doors open by sprinting towards them

rugged latch
#

heeyyyyy i already made that lol

heady crystal
#

YOU DID?

rugged latch
#

i just re use the bump animations

heady crystal
#

Shoowww

rugged latch
#

yea its not posted

heady crystal
#

Why not

rugged latch
#

ah shoot

heady crystal
rugged latch
#

let me get to my computer

#

give me a sec

heady crystal
#

We need this for yesterday

rugged latch
#

kay so

#

gameplay wise

#

feels great

#

but logistics i had no idea how to make it work

#

liek what happens if you charge into a locked door

#

should we open it or should you bounce off?

errant sable
#

You know what mod I want yesterday. Every phone in the game has a phone number, and you can get it by looking at the phone while you are at it. Phones work till the power is off.... call phones to distract zombies

rugged latch
#

well wouldnt that be annoying because in vanilla full sprinting into a door you dont usually die from headcrackage

#

and you have NO WAY to tell if a door is gonna be locked

#

also visually

#

doors open the same way, every time

#

so you charge into a door this way and it magically opens your end

#

also i couldnt figure out tripping at the time but i figured that out so i guess i could finish it

errant sable
#

It has MP use as well

rugged latch
#

dont think thatd be tooooo hard besides calling a phone in an unloaded area

heady crystal
#

Ah shame. I hope you can get it finished!

errant sable
#

Calling payphones.. get some people to meet you somewhere, around some payphones, and call the phones to bring in the hordes

bronze yoke
#

i mean, you can bonk into walls too

#

just be consistent

errant sable
#

doing it in an unloaded area would ring the phone like normal on your end, but do nothing otherwise... its not a loaded around... no ones there so who cares

rugged latch
errant sable
heady crystal
#

But how do you know where to get the other phones to ring to

#

You're gonna check every square in the world?

bronze yoke
#

well if sprinting into locked doors opens them, locked doors don't exist

errant sable
#

Give each one a unique phone number, and store it and the phones location

heady crystal
#

Oh you mean those fixed ones? I thought you meant the mobile phones

errant sable
#

and reasonable could work after the power goes out.

heady crystal
#

Yeah but those can be moved around

#

Sounds like an extreme headache just to check which place has a phone lol

errant sable
#

Hmm, yeah im thinking it threw, mobiles could ge tmessy

bronze yoke
#

why craft a noise maker

errant sable
#

could jsut not do mobile "sateliites are overloaded" but the hardlines still work cause they go through the switchboards

bronze yoke
#

i mean the engineering stuff is kind of a waste of time as is

#

but at least it's technically not obsolete yet

heady crystal
#

I guess I could make a functional electronics mod

errant sable
#

Yeah I think just skip mobiles, or they can only call out to landlines but no calls in...

rugged latch
bronze yoke
#

landlines would be cool

heady crystal
#

Love it!

bronze yoke
#

you can actually justify the vast majority of numbers doing nothing as knox country has been cutoff

rugged latch
#

dang well now i gotta finish this

errant sable
bronze yoke
#

actually that can justify mobile phones not working either

heady crystal
#

Yeah it sounds fun but ultimately it'd be much more of a fun little detail than functional gameplay mechanic

rugged latch
#

okay if you make phones, you need a phone book

errant sable
rugged latch
#

if you have a big phone book

#

let me hit zombies with it

bronze yoke
#

if they've cut off communications it's not like they're going to filter specifically for outside traffic

errant sable
bronze yoke
#

landlines stay connected inherently, satellites don't

errant sable
#

Think about it, you could have one person sagely keeping a zone loaded, and if you know all the numbers down a street, you could lead a horde

rugged latch
#

how would you know which number goes to which one?

heady crystal
#

Don't think there's enough phone sprites for that

errant sable
#

or have a meetup somewher you know the numbers at and its a trap

heady crystal
#

And you need a player nearby anyways

errant sable
rugged latch
#

ohhhhhh

errant sable
#

pay phones had a code you could dial to get its number back then

rugged latch
#

so setup beforehand

errant sable
#

I forget what it was, but it was a thing

bronze yoke
#

it'd be niche but honestly sick and i don't think it'd be too useless

errant sable
#

Could even maybe make a phone book item thats super rare spawn places

#

and it has some numbers in it for stores in the area

#

but i suppose you would need to gen that on the fly... or people would know the numerbs ahead of time and be lame.... and we already covered cant do items on the fly so idk

bronze yoke
#

rather than thinking of it as 'there's barely any phones' it's more like you have a special trick you have any time you do see one

rugged latch
#

good idea would be to spawn flyers around the world for like schools or churchs

#

and list the phone numbers

#

so you could call them lol

bronze yoke
errant sable
#

Like you jsut got the master key to a bunch of phones

bronze yoke
#

but yeah i don't think you could predetermine every phone number

#

at least without making assumptions

errant sable
#

nah, just fo like a handful of them

bronze yoke
#

that assumption being vanilla map and that it hasn't been updated

errant sable
#

or, if you want to avoid the map scna on startup, a phone doesnt get assigned a number till you go check it

rugged latch
#

why not decide the phone number based off something that doesnt likely to change?

#

like the position on the map?

#

so itd be the same for every mod

#

even map mods

errant sable
#

yeah could create some position to phone number lookup... the only "downside" to that is, once you know a number.. you know it

#

no reason to go there in game first, or find the phone book

rugged latch
#

oh i meant like do some fun math somehow

#

so no need for a big list

errant sable
#

Yeah, but if the math is based of something that is the same on every play through, like map position, the phone number will always be the same

rugged latch
#

i dont think thats a bad thing if the phone number is the same, if the house is the same

errant sable
#

So the first time I go ther ever, i get it, write it down, and now I never need to go there to get it again... on any playthrough

#

yeah, maybe an option. I could see people wanting it both ways

#

i would prefer random per game

#

I need more reasons to go out an explore

#

But yeah... this idea is on my "todo list", but if someone wants to make it first, go right ahead... my todo list is long

rugged latch
#

i mean we cant solve the problem either that despite the player being a "new survivor" they somehow know how to stitch their wounds, and exactly what to do when power shuts off, and where to find all the gun stores in the game lol

errant sable
#

well that last part...

#

I am working on a fully procedural world generator

rugged latch
#

psffffh random generation?

#

goodddd luckkkkkkkkkk

#

itd be really awesome to see

#

but that is a monumental task

errant sable
#

Procedural generation is my jam. I have all the code to do it already

#

Im just spending time making a UI and having it export to PZ code and use its tileset

rugged latch
#

you gonna make custom buildings?

#

or use in game ones?

errant sable
#

This is the screen for one of the terrain generation modifiers you can use when creating your setup.

rugged latch
#

huh

errant sable
#

To start im gonna jsut do procedural placement, and a handful of buildigns I have, but then full procedural buildings

rugged latch
#

wow yea that is pretty neat

#

but the real trouble is procedural towns no?

errant sable
#

Nah

rugged latch
#

depends on how you do it, but it could be really tough or not so tough

#

im just saying makin

#

realistic sort of towns

#

with roads that make sense