#mod_development
1 messages ยท Page 382 of 1
started b41 
i thought it was a sprite, that was how it looked and how many animations there were
ayo @bronze yoke do you know sometihng about this? 
wearing clothes didn't change your character's appearance, every weapon looked like either a baseball bat or a fire axe

there were no 3d models other than the characters whatsoever
oh nooo
the zombies looked like green aliens
not really, i know OnTick gets passed a tick number though

yea i remember crowbar placeholder, played way before vehicles, new lighting its nice, but its still like pixel mess with some brocade. For me this is should be possible via scalling, even Factorio for example whitch is also image based not model, updated graphic in recent years a lot. Even in games from 1999 you can upscale textures like cs 1.6, so i would say its design flaw
B42 has proper depth buffering too and depth sprites
no more weird tile overlap when you drive near a wall
Is there anyone here who knows how the spawnpoints.lua works and how the game handles spawn locations?
TLDR I am one of the admins of one of Australia's largest PZ multiplayer communities, and I'm tinkering around trying to make a very simple mod that adds spawn locations to all of the named towns on the B42 map (not including LV).
I'm confused by looking at the spawnpoints.lua files though for the existing spawn towns, because they specify spawn points by occupation. However I want to simplify it and just have spawn points regardless of occupation.
I'm also a total novice at any type of modding so forgive me if this is a dumb question. But yeah, just a bit confused about how to specify spawn locations that cover all/any occupation
Like Black Moons said, they even added depth maps to tiles, so you don't have weird visual glitches and it's just a question of time until they add all the missing tile depths
idk why you are so closed on the textures and refusing to see all the visual tweaks around that clearly improve the game a ton
if an occupation doesn't have spawn points, it defaults to unemployed's spawn points
so just define them for unemployed only
Yes other games like Factorio had visual updates, but you seriously think the only thing they did to improve it is double or quadruple the texture size lol ? They did so much more
Just the details of lighting and stuff like that they did on textures improved things a lot
ahhh okay I hoped that was the case but it's good to have that confirmed. So if I setup ONLY 'unemployed' spawn locations, in theory that will work?
it should yeah
Thanks - i'll be back later with more questions but for now I'll concentrate on getting all my coordinates for my desired spawn locations etc. Much appreciated.
I know game its game is not about graphic, but if graphic is nice you can feel more immersed into the game, also for now project zomboid missing any big concurention,
Maybe some day with help of AI we will see this
:
https://www.youtube.com/watch?v=Lru3Esv2Ya8
Project Zomboid with ultra-realistic graphics using Gen-3 video to video Runway ML #ai
Project Zomboid REIMAGINED BY AI
Project Zomboid AI
OVERLAY AI OVERLAYS
GAME TO VรDEO
#projectzomboid #dayz #dayzstandalone #dayzgameplay #zombies #zombiesurvival #Sakhal #GTA6 #gta #gta5 #gtaonline #ai #runway #runwayai #artificialintelligence #gta6...
In my experience the "unemployed" occupation is used as a catch-all if there no match for other professions.
function SpawnPoints()
return {
unemployed = {
{ posX = 3905, posY = 12254, posZ = 0 }
}
}
end
This was what I used in a mod to have everyone spawn at 3905,12254. I assume multiplayer B42 works the same as single player
Any big breaks from 42.16 that I should check my mods for ?
you do guns right? any custom reload animations?
yes...
they don't work anymore ๐
weaponreloadtype was replaced with an enum, so custom ones aren't working currently
why would they do that
enums are a lot easier to work with for them, breaking mods was an oversight
one of my most installed mods is literally just the lever action animation replacer
surprised I haven't gotten any comments about this
11k current subs, not a single comment today about it being broken
strange
Do I need to change anything for guns that use vanilla animations
i don't think so
any other big issues ?
not that i know of
The game does not log a crash error anymore when you stop a server with the quit cmd. joy.
I remember seeing that a long time ago and asking for it to be fixed lol
Some of my older patches included this fix
zombie.GameWindow got some better try/catch logging lines which made me jump for joy.
Good hands touching the older code again.

I'll be thrilled if I see java.io API properly formed in conditional checks and not voided boolean returns. :D
Less yellow tabs in my IDE.
the right way to do mkdirs is something like:
if (!fileDirectory.exists() && !fileDirectory.mkdirs()) {
throw new RuntimeException("Failed to mkdirs: " + fileDirectory.getPath());
}
The zombie Color API is a lot nicer now.
Nothing recent. I needed this stuff back in 2017.
Somehow the PZDos mod I'm working on didn't break with the update.
I got a few new things... Multiple disk drives + hard drives work now; multi-filesystem. Added a full set of 286 and 386 class hardware. Made dosbox try to mimic your actual build
And now DOOM runs at a healthy ~9fps on a maxed out 386
Are you doing this all in Lua?
I've got a ton of lua stuff for the computer building UI, but the dos emulation is all Java side
The whole trick is.. i used JDosbox. It's a Java-based fork of Dosbox which you can use to emulate retro PCs
and it's all based on this vision of making in-game computers actually work just like they did in 1993
Oh so you have an emulator wrapper.
Basically that, yeah
I thought about making a similar mod, emulating assembly in Lua.
I kinda have my doubts how far you could go in lUA for writing an emulator, but I'm not great at LUA.. still learning
Something like a Commodore 64 mod would be pretty cool. Same idea as mine - millions of classic games there, too
I think players who like collecting might really get into this
Lua 5.1 and binary don't get along well.
I'm going to re-insert my bitwise ops API exposer from Java in my patch.
But if someone jumped to tell me Lua had stuff like python's numpy and i just didn't know - I wouldn't be that shocked
there's ways to do big heavy operations in simpler scripting languages.. Python become the go-to for this
Lua 5.3 introduced proper Integers.
I added Jython to build 41 out of curiosity but it's 2.7.3
Also isn't sandboxed. :(
If zomboid used python instead of lua you could do insane things
Oh yeah and it's fun too
but probably not dosbox, at least not as easy haha. I lucked out there
Yeah. Right now I'm writing a wrapper API for drawing onto textures.
You might actually be able to solve one of my biggest problems
There's a lot of smaller utilities that I'll need before advancing to drawing HTML and CSS in PZ UI.
I'm hijacking dosbox's frame buffer and making it in to a zomboid texture java-side.. Lua polls for updates to the texture, thats how I display it in game
But I have to make a NEW texture every frame, which is just .. slow. and ugly.
I tried using dynamic textures, which I think zomboid has java APIs for, but I couldn't get them to work.
Yikes
You'd need to hook into the render thread and where the SpriteRenderer goes through the ringbuffer of TextureDraw instructions.
Dos games are low-res, though. Usually about 320x200 pixels. Making new textures is still like heavy even if the textures aren't huge, but that does make the copy a LOT less bad
Bumping this, to hopefully get some insight into B41 AddItem/addItemOnServer syncing. Thanks!
If I hook that would I be using a zomboid texture or just making my own through my own OpenGL code?
I've done Opengl a lot, but I'd probably need their gl context
Lua in Render thread would be bad
There's no system that would allow this with the way PZ works atm
oh no, I'd be doing it in pure java if I had a good way
I have added async into my Java mod for Lua workers as an API with callbacks and workers but not for rendering.
God mode and invisible debug cheats are not working on my new solo games in B42.16. Is it working for someone ?
I was just using invisible okay
has set(IsoFlagType.waterPiped) changed again? all of my plumbable furniture no longer has the option nor do they have water connected in 42.16...
did not see anything in the notes about it...
I googled how to make mods wait for other mods to intialize. Since I can't trust anything it says anymore. Do you know if this is correct? local function onModsBuilt()
if getActivatedMods():contains("OtherModID") then
print("OtherMod is loaded! Initializing MyMod patch...")
-- Patch logic here
end
end
Events.OnModsBuilt.Add(onModsBuilt)
nope, nvm. Just answerd my own questions. OnModsBuilt is not a valid event
im trying to add my own furniture item with a custom script on it so it does things but there is no wiki page for adding furniture can someone point me in the correct direction with a writen or youtube tutorial. sorry if asking much
There's no documentation for it for now, you need to go check how the game does it with its own entity scripts
Does anyone have an example or instructions on how to make mods wait for others to intialize?
yeah but i dont think this is all the information there is for the metal crate
Because that's not the right entity script
look in the generated folder
The entity script used to define these is a module block
the xuiskin is manually written so it's in a different file
Yes
Currently that's the only doc about it but a lot of these are not detailed at all for now
but this doesnt say the invetory of the crates for example
like the size
i think that's still defined by the sprite
Yea that's a tile flag
What exactly are you waiting for? Most of the time you can just have your code attached to a particular event.
Or property
try modding build 42. there is more documentation about it they said
That sort of thing will be in one of the tileset definition .txt files. Find the identifier for the sprite, then search for that in the game data files.
There is
"More" does not mean "comprehensive"
But there's even less doc for B41 man lmao
damn this shit it hard
Yup.
Before I worked on the wiki the documentations was inexistent, you relied on asking around or knowing how to search for things in existing mods
A lot of things are harder than they really should be because technical debt from a decade ago has become the foundation of everything that came after.
Yes there's no docs for entity scripts, bcs it's a pain in the ass to doc and I haven't gotten around it yet
A few people in this channel have done a lot for documenting modding... but it's a huge undertaking
the majority of existing documentation is literally written by one guy (sim) so there's a limit to how broadly it can cover things
it's quite impressive how much he's gotten done
hmm damn. anyways i have an idea for an mod but i first wanna get some experience do you guys have an idea like help me get some experience and feel comforteble modding?
My deadass for loving to do that for some reasons lol
its called autism
Simply ask questions, we'll answer if we know the answer, or not
I suppose lol
i meant like an idea for a simple starting project
Tho I don't know if I am I never did any medical diagnostic
that's where that is, for example. media/newtiledefinitions.tiles.txt
You want us to give you a mod idea ?
Interesting
yeah a simple one i can use to get some experience before starting my dream mod
Think of something you wish was slightly different in-game
And make a mod to change the existing thing.
We can't really help you on that, it's up to you to find smthg
We all started modding bcs we wanted to add, improve or fix smthg
You'll also pick up different skills with different types of mods; if you want to add a new gun then you're looking as basic blender use & item scripts, if you want to change the way foraging works you probably are dealing with lua scripts, mapping has it's own set of tools, animations break my brain...
But a personal tweaks mod that adjusts the game for your taste is a good start. Mine does lots of trivial stuff like making alcohol have a display category of "Booze" so it's all together when I sort by category, for example.
I'm trying to see if there is a way to gather all rules traits and occupations into a framework mod from multiple occupation locked traits mods and then do the work all at once because once I access CharacterProfessionDefinition:getProfessions() and use addGrantedTrait() it can't be accessed again for the session. So one occupation at a time entering all rules traits. It works sometimes but other mods seem to race eachother, one finishes first and then the second can't access right.
Mod 1 and mod 2 can work together to lock traits, Mod 2 and mod 3 can work together to lock traits. Mod 1 and mod 3 will not work together. which is loaded first wins
This is probably due to mods being coded badly and replacing something completely instead of modifying it.
they are all sending the same tyhpe of thing so I don't get it.
Are you doing this on B41?
getProfessions() returns a new ArrayList which is made from a LinkedHashMap, so I expect you can't alter anything in that output - just use it for reference.
Or maybe you can alter the objects in it but the references will change if stuff is added/removed... this is the messy undomented stuff that will need some looking into the java behind those functions
I think I have the orignal function for angler traits.
proAnglerTraitsLock.lockAnglerTraits = function()
local allProfs = CharacterProfessionDefinition:getProfessions()
for i = 0, allProfs:size() - 1 do
local prof = allProfs:get(i)
if prof and prof:getType() ~= CharacterProfession.FISHERMAN
then prof:addGrantedTrait(NOTANGLERGV)
end
end
end
So the problem was if any mod does this same thing after mod, fisherman would be the only thing left in the list.
You're adding a trait to every profession except FISHERMAN?
Yes. It's adding a trait that holds mutual exclusive information with the other traits I'm adding. So it only shows for the angler. Then another script hides that rules trait in the selected traits list. And then the rules trait is removed when a non fisherman enters the game.
And how is that conflicting with other mods?
It only conflicts with any other mod that does the same thing. I'm trying to make another locked traits mod. But if it runs after proAnglerTraits, only the angler is modified.
And the weird thing is, I'm trying to make a framework mod that does all this work at once. I have 3 mods that can lock traits, mod 1 works with mod 2, mod 2 works with mod 3, mod 3 and 1 will not work together. One will beat the other depending on load order.
So I'm trying to see if there is someway I can make the framework mod wait until all mods are intialized. If that makes sense.
There is no single "initialised" for mods
When exactly does your code run? When the Lua is first loaded, or when a certain event triggers?
One thing that's kinda fun is mod 2 that works with both mod 1 and 3. as long as it's loaded after the framework it's irrelevant what order it's in
On main menu enter
No, I mean the lua
You have Lua code
What triggers that to be run?
When the Lua file is first loaded or something else?
Like an event or callback
sorry, you don't mean Events.OnMainMenuEnter.Add(applyRulesToOccupations)?
Yes that
All the mods trigger on that same event? And they all do something like the loop you shared earlier?
LockTraitFramework.AddRule = function(traitVar, excludeJobsTable)
if type(excludeJobsTable) ~= "table" then
excludeJobsTable = {excludeJobsTable}
end
table.insert(LockTraitFramework.Rules, {trait = traitVar, skips = excludeJobsTable})
end
local function applyRulesToOccupations()
local allProfs = CharacterProfessionDefinition:getProfessions()
for i = 0, allProfs:size() - 1 do
local prof = allProfs:get(i)
if prof then
local currentHandle = prof:getType()
for _, rule in ipairs(LockTraitFramework.Rules) do
local shouldSkip = false
for _, skipHandle in ipairs(rule.skips) do
if currentHandle == skipHandle then
shouldSkip = true
break
end
end
if not shouldSkip then
if not prof:getGrantedTraits():contains(rule.trait) then
prof:addGrantedTrait(rule.trait)
end
end
end
end
end
end
Events.OnMainMenuEnter.Add(applyRulesToOccupations)
The traits mod sends this - LockTraitFramework.AddRule(NOTANGLERGV, {CharacterProfession.FISHERMAN})
that other bit is from the framework
LockTraitFramework.AddRule = function(traitVar, excludeJobsTable)
if type(excludeJobsTable) ~= "table" then
excludeJobsTable = {excludeJobsTable}
end
table.insert(LockTraitFramework.Rules, {trait = traitVar, skips = excludeJobsTable})
end
local function applyRulesToOccupations()
local allProfs = CharacterProfessionDefinition:getProfessions()
for i = 0, allProfs:size() - 1 do
local prof = allProfs:get(i)
if prof then
local currentHandle = prof:getType()
for _, rule in ipairs(LockTraitFramework.Rules) do
local shouldSkip = false
for _, skipHandle in ipairs(rule.skips) do
if currentHandle == skipHandle then
shouldSkip = true
break
end
end
if not shouldSkip then
if not prof:getGrantedTraits():contains(rule.trait) then
prof:addGrantedTrait(rule.trait)
end
end
end
end
end
end
Then the traits mod sends this - LockTraitFramework.AddRule(NOTANGLERGV, {CharacterProfession.FISHERMAN}) The rules trait and the occupation I don't want it applied to.
And where is it going wrong on the second application?
Is getProfessions not giving you all the professions?
It will apply the rules trait for either one or the other mod, whichever is first in the load order. Which is confusing because of the mod that actually works with both does the same thing and it doesn't matter what order it's loaded in
and actually sometimes it will look like an occupation has the rules applied but I'll click off of it and back on and it won't have it anymore.
So the goal is the framework loads, each mod calls a function in the framework, then the framework stores those requests and applies them at once?
That's the goal yes.
Easy!
In the framework, define a table to hold requests
And a addrule function that puts stuff in the table in whatever format works for you
Other mods load after the framework
this is what I put in the registry for the framework. it might be wrong though-
LockTraitFramework = {}
LockTraitFramework.Rules = {}
They call framework addrule, but they do so immediately; not later because of an event.
Then in the framework you have a ApplyRulrs that is called by an event like mainMenuEnter that processes the requests
That way the requests are made and stored as Lua files are loaded
I thought that's what I was doing, but honestly I struggled to do this much. So I'm doing something wrong somewhere
What is the full Lua code in one of the mods that calls the framework? (Assuming it's short enough to post)
it's litterally just this - LockTraitFramework.AddRule(NOTANGLERGV, {CharacterProfession.FISHERMAN})
Good, that will run when the Lua loads
So debug why applyRulesToOccupatuons does not work. Easiest way is add print statements so you can look in console.txt and confirm things are what you expect at various points in the function.
E.g: print out the stored rules to make sure that input is correct, print at the start of each loop, print when an action is about to be taken etc
Then you look at the print statements and can see what the function was actually doing
That's probably better than my method of fucking around, then loading the game and seeing if it works.
In theory you can use the built-in debugger, in practice I find print statements easier and more reliable.
Yes, better to expose what is happening inside the black box
I will insert prints then to get a closer look. I'm sorry that I always talk to you after I've taken my medicine but I really must sleep now.
Thank you though.
I will check tomorrow, or the next day. And probably be chatting up here.
err, later today or the next day based on the time here.
Not a problem, I'm more likely to be hanging around online this time of day.
where are you from if that's okay to ask
so i'm assuming it's late evening for you
11pm right now.
I'm trying to create a mod where I create a spawn location in a hospital for B42 but get an error when trying to create a game which freezes me before the screen where you pick your spawn location. I have a spawnregion Lua in media-lua-shared and in maps in my room folder I have a spawnpoint lua with a map.info as well but im not sure what im missing or if I probably have things in the wrong locations. The region text matches the folder text I called room. I don't see anything spelled wrong or missing caps but my Lua code could be the issue as well. Any help would be appreciated.
Check console.txt to see if that gives a clue as to what it is hanging on.
I did do that but I have no clue what im reading really lol
I am looking to spawn 1 custom vehicle object in a distant place across the map. What is the best way to do it? Currently i do it in onTick and check if chunk is loaded and then spawn it but it doesn't feel like it's a good solution.
There's events when chunks load
Oh god for real? Much impact on the mods/Lua side if things or not sure yet ?
Also it was probably some attachment script causing issues. Slowly working through it all.
Nah
Question, is there a way to load a mod onto a dedicated server without the workshop and if so, how would that work for end-users connecting to the server? I'm trying to figure out how to be able to test a mod update without publishing the update to the workshop first to avoid rapid workshop updates for subscribers.
Test it locally
By hosting
Hello. does setting ConditionMax to more than 10 make it so the item durability becomes infinite?
@dry stone I might need to copy snapshots from JavaFX to LWJGL textures haha
no
then is item durability only governed by Condition Max and ChancetoLowerConditionOnein?
Yep.
cause when i set my Condition max to 15 and keeping the ChancetoLower value at 200, my item seems like theyre not breaking?
maintenance skill is at 0
Yes, that means it would take 200 strikes on average before it takes any damage
ive shot like thousands of rounds through the m16 and it doesnt lose condition?
Aiming is what matters for guns.
... they prob broke it again.
oh.........
It was working in like.. B42.13?
my aiming also reset to 0 for every change i made
but I dunno since I haven't played in awhile and TIS loves to just randomly hardcode disable features.
ok thanks for your help
you have to actually hit a zombie for condition to decrease
It's a pain but depending on how your images are made, if they're in RAM, then one way or another you need to get it across pcie and into GPU RAM. Just be glad it's just Opengl; you don't need to figure it out in Vulkan instead haha
facepalms hard enough to rearrange his facial features
I've already made my decision to emulate the webkit browser rendertree
I was already going that direction. I can't justify strapping WebKit itself to Java to get anything rendered correctly. It's too much.
New PZ theory: Instead of one electron, the one bullet theory. Every gun only has one bullet it recycles, Hence why hitting soft zombies damages the gun while missing and hitting.. concrete buildings doesn't...
I once considered throwing webkit into brutal nature just to have a nice help system with hyperlinks and such.
This clearly comes down to quantum entanglement
The zombie isn't dead until you collapse it's wave function
The good news is I've made a LuaGraphics wrapper of making images-to-textures using Graphics2D
So I can do dynamic texture rendering and caching from Lua
Requires my patch but works like:
--- @module "java.awt"
--- @module "sickle"
--- @module "sickle.io"
if not sickle then return end
Events.OnMainMenuEnter.Add(function ()
local name = "test_texture.png";
local width, height = 512, 512;
local lg = LuaGraphics.new(width, height);
lg:setAntialias(true);
lg:setColor(Colors.White);
lg:fillRect(0, 0, width, height);
lg:setColor(Colors.Red);
lg:fill(Ellipse2D.Double.new(50, 50, 100, 100));
lg:setColor(Colors.Black);
lg:drawString("Hello, Project Zomboid!", 200, 200);
local image = lg:getImage();
local texture = lg:toTexture(name);
print("Caching texture..");
LuaGraphics.saveAs(image, name, Cache.Sickle);
end);
Are you planning to make like an improved UI in the game? Or a library with better UI features
Both.
Been planning it off and on for years.
Old screenie from 2016-2017:
You mentioned webkit - will people be doing UI like html/css style?
Was doing stuff in the ISUI there
So I want to make my own rendertree codebase because the scripts should be in Lua, not JavaScript.
And yes.
If you did support JS though then you have a billion dependencies people can pull in ๐
I'm reading papers and W3 documentation to get a full grasp on how to model my engine.
And yesterday I heard one node.js package with 100 million downloads per day got compromised.. there's that whole topic again lmao
So HTML5, CSS3, and Lua
All local.
I'm FOSSing the engine and writing an adapter for my PZ patch and renderer.
I do know one thing about css that I've learned very well every time I ever had to touch it
It's to run away screaming
But it's it absolute? Relative? So we adjust the padding? The margin? Why isn't it even showing up! Heeelp
I learned inspect element
and !important
That's my css experience as a noob
I do it for a living soooooo
I'd love it for UI stuff for mods.
It'd be funny if PZ mods used tailwindcss and shadcn-ui
Yeah people should never look down on web dev that stuff is legit super confusing and the tech under you moves insanely fast
It all has reasons for being the way they are. Some of them are legacy bandaging but
And it also requires some artistic knowledge a lot of the time
It's mostly sensable when you read through it.
Most people want cliff-notes documentation for such a vast system.
And it's culturally-driven so that adds dimension to how to use CSS professionally.
I want responsive and flex designs though. :D
Even AI is able to super confidently write horribly broken CSS these days. It's on par with humans (me specifically)
Someone more insane than me should come along and rewrite React for PZ using it.
JSX + TypeScriptToLua
React is something I've always been curious about but my fundamentals in that whole area are too shaky. I'm not hopeless at JavaScript anymore at least
I'm a Svelte guy
To get 95% of CSS features wouldn't take too much time beyond layout calculations.
Have you checked out new Entity UI and xuiskin builder in b42 yet?
Nope.
I am oldhat modder.
Claude, please center this div.
Thinking.
Thinking.
Thinking.
Thinking.
Thinking.
Token limit exceeded.
I used to do the monthly sub on Claude... That's why I stopped lol
I'm finding (free) claude useful, and much nicer to deal with than ChatGPT.
That's just text chat; I'll ask it coding questions but I'm not letting it write code in my IDE/run an agent with any power to do stuff.
Helpful when you jump between so many languages for work/modding that sometimes you just can't be bothered to look up the syntax of a for loop in python or other trivial stuff.
And it's as useful as random people on the internet when getting advice on growing chili plants from seeds or other non-critical, non-technical stuff.
Hey folks, is this class by any means accessible via the lua API?
https://demiurgequantified.github.io/ProjectZomboidJavaDocs/zombie/util/hash/PZHash.html
declaration: package: zombie.util.hash, class: PZHash
You can usually check that by decompiling the game, and searching the class name in the LuaManager class
And that one isn't exposed in this case
Thx!
Ok in that case I'll just implement my own sha256 in Lua xD
Hey, I'm trying to make a mod to update a component of an entity using lua overrides, but the wiki doesn't have any documentation on this. Does anyone know where to get info on this, or does anyone have experience with doing this?
pretty sure those are done in java
so I need to make a java mod?
yea
soft overrides?
Ive been learning from the video on the wiki
This guide explains the basics of scripts, also known as zedscripts, for Project Zomboid modding. It goes in-depth on how they are made, their syntax and an extension which helps you more easily write them.
Relevant Wiki pages:
https://pzwiki.net/wiki/Scripts
https://pzwiki.net/wiki/Mod_structure
https://pzwiki.net/wiki/Game_files
https://pzwi...
added timestamp
oh nm I thought you wanted to change HOW an entity updated
I want to change one of its components
Soft overrides may or may not work due to how blocks/components are handled.
The scripting for items seems to work well, but for entities its so confusing
Do you know where i could learn more about this? Would sharing my particular problem help?
Yea you can try and post the component/script your trying to change
Ok thanks! Bear with me a sec while i get it
Yes, describing your goal will help a lot!
Zomboid is... slightly janky. And some of us have spent far too long modding it, gone insane, and can now offer suggestions on where to start for most ideas.
I want to make rain collectors give untainted water.
The relevant part of entity_raincollector in scripts\generated\entities\outdoors\
{
entity RainCollector
{
component FluidContainer
{
ContainerName = Collector,
Capacity = 400.0,
RainFactor = 0.4,
InitialPercentMin = 0.0,
InitialPercentMax = 0.0,
}
...
}
}```
From my understanding of looking through the decompiled game files, im 90% sure that if `FillsWithCleanWater = true`, then the water will be untainted. Therefore, I would like to add that to the `FluidContainer` components
I can show all the code snippets I looked through to get to this conclusion if its helpful, but im pretty confident itll do that
You could just do a full file override of the .txt file
if all it does is the rain collector anyway
(name file in your mod the same name, in the same subfolders as the vanilla file and it will fully replace it)
99% sure soft overrides won't work, it will just try to add another FluidContainer component
Hmm ok
I was trying to avoid that since I dont want it to interfere with any other mods
I guess its a small file though so it shouldnt affect too much
If you think you have a way to do it with lua or soft overrides though, thatd be very nice
Tysm though!
Really?! That's a thing for guns?
Maybe that explains it cause I was just running bullets through my gun and just shooting at the trees
it's an oversight yeah, made a bit more sense when guns weren't aimed
The 100% guaranteed way to test is change the vanilla file, see if it works. If it does change the file back and then work on how to make it happen in a mod.
@silent zealot ?
Confirm it works first.
ok!
I'm not convinced that field works, as opposed to having functiosn to save/load it and parse it but nothing to actually use it.
media/lua/server/rainbarrel/SRainBarrelSystem.lua:
that always adds tainted water.
that's not used anymore
the global object is the pre-rework system, rain filling is handled by the entity's fluidcontainer component
Are you still able to add new dropdown boxes to character customization ?
ah... so it would be FluidContainerUpdateSystem.java
private void updateEntity(GameEntity entity, FluidContainer fluidContainer, boolean doSync) {
...
if (ClimateManager.getInstance().getPrecipitationIntensity() > 0.0F
&& fluidContainer.getGameEntity().isOutside()
&& !fluidContainer.isMultiTileMoveable()
&& fluidContainer.canPlayerEmpty()
&& fluidContainer.getRainCatcher() > 0.0F) {
FluidType waterType = FluidType.TaintedWater;
...
if (fluidContainer.isFilledWithCleanWater()) {
waterType = FluidType.Water;
}
...which should make use of the FillsWithCleanWater property on the entity definition.
wow
it is magic to me how it took you 2 minutes to find what took me hours trauling through the game files to find
Do you know then if id be able to change this with lua or soft overrides?
It comes with experience with the codebase, and having a VSCode open with both media and decompiled java for searching.
at this point ive spent hours going through the java docs and i cant find anything that seems to work
The FillsWithCleanWater property is from the script (not each object) so... probably.
The issue with javadocs it it can only tell you function/parameter names and types, not what they actually do. Also it will only show public methods/fields, not all of which are lua accessible
Still immensly helpful for searching but you will find times when it it too limited
Im so sorry, i hate to ask, but I think ive reached my current limit looking through them, would it be at all possible for you to have a quick look to see if theres anything?
But... try making a script (with a different tfilename to vanilla) containing:
module Base
{
entity RainCollector
{
component FluidContainer
{
FillsWithCleanWater = true,
}
}
}
But, I'm not sure that soft overrides will work within the fluid container.
So the next test would be
module Base
{
entity RainCollector
{
component FluidContainer
{
ContainerName = Collector,
Capacity = 400.0,
RainFactor = 0.4,
InitialPercentMin = 0.0,
InitialPercentMax = 0.0,
FillsWithCleanWater = true,
}
}
and after that the entire entity... just to see if it works.
Otherwise... have to figur eout where the entity scripts are stored and grab the raincollector one and modify it after everything is loaded/before the game begins.
Like adding in a new clothing dropdown for say, bandanas
bad example cuz masks, but ykwim
better example would be for knee pads
So, the only thing that works is overwriting the whole file, with the added component.
I've managed to find the path to the fillsWithCleanWater component: zombie.scripting.entity.components.fluids.FluidContainerScript
(May also be related to zombie.scripting.entity.GameEntityScript.componentScripts[1], but I'm not sure what the difference is)
But I cant find a lua method to edit this at all
Thanks sm for your help though! If anyone else had any idea how to do this it would be much appreciated
Getting closer to a full database of items for my usable computers mod. Today I added a range of SCSI hard drives, controller cards for them, some MCA cards, a pretty decent set of 486 motherboards and CPUs. Up to 155 computer parts in my mod now
for items, all that's left are early pentiums and probably tons of "oh that's wrong" and fixing.
Okay but is there any noticable difference between said motherboards and cpus, or is it just different names
because 500 identical items sounds kinda,,,,
DOOM runs like crap on an old 386, but this new 486DX 66Mhz I put together runs it like a dream
it actually matches classic benchmarks
I think I misunderstood your message
You basically build a computer from parts you find.. and better computers increase the emulation speed and feature set
155 different parts still seems a bit much?
Are the differences between them important in game ?
like you can't play a VGA game if you have an old CGA monitor
and these items are loaded per computer in game ?
Thing is, they're mostly real parts and you put them together more/less the same as you would in reality back in 1993... It IS a bit complex, but it's also kinda educational. I'll make a screenshot
Think of it like the vehicle UI .. but for computers
I just worry about how many items will be generated in the game data if you walk into an office skyscraper
The plan is to make loose parts pretty rare. When you first use or interact with a computer, it'll generate a randomized machine appropriate to where it's found
that randomized machine exists within the mod data of the furniture item
nothing becomes actual items unless you start uninstalling parts
you also don't HAVE to build your own. You can just find a good computer, carry it back to your base
tough talk comin from the guy whose gun has 1 million unique combinations ๐ตโ๐ซ
haha no no
friendship ended ๐
but yeah haha this kinda IS a britas level computer mod...
I didn't want to just make it kind of a toy mod, I wanted something to give actual goals and things to look for and collect so you have more to do in game
Fully modular gun(s)
stats and models are 100% dictated by their attachments
And the collection.. Computer parts and software. There's 100s of old games I can distribute with the mod
Also includes in real time mag recognition and animated firing cycle(s)
Yeah, I'd install that.
It's technically released right now, but it has some issues in multiplayer and I haven't tested it on 42.16
I do have my mod working completely (afaik, might have bugs somewhere) in MP...
and it was kind of a total nightmare.
Here's a video demonstrating the cube mag variant.
It holds 35 rounds, and has to be racked every 5 rounds.
When the mag is empty, the next time it's fired will cause the magazine to eject
was already watching that haha
how do you have so much ammo? are you reloading clips in there?
If I may suggest, you need some kind of ammo counter on screen
the mag visibly shifts over on the gun ever 5 rounds until empty
It's a cube mag based off of a prototype
It's made of several smaller mags essentially.
The rack action is you chambering the next magazine into place
that's a bit crazy with a huge attention to detail
though I think I can understand.. you can see I'm kinda the same
You don't make a gun with 1 mil+ variations without paying attention to the details
Like I said though, the mod should be 100% functioning as intended in singleplayer, but due to how I have it checking and setting stats in real time it causes desync in multiplayer
It's functionally 6 guns smushed into 1
Do you handle weapon condition like per-part?
Can be
bolt/semi
and
single shot/magfed
Currently no but I have fiddled a bit with the idea of having an onBreak function that determines what part of the gun failed and broke
Like 95% of my playtime was in B41 so I'm less familiar with how weapon condition works now
I kinda stepped away from zomboid thinking B42 stable any day now.. years ago
This chopper attachment can be used as both a spear and axe
I'm very proud of the work I've done on the mod, but I likely won't add anything new until I make my metallurgy mod
I want to add in a bunch of alloys, and melee weapon materials
I've even toyed a bit with the idea of metal percents in a weapon changing the stats through modData
Meaning ratios are determined by the player and are important to the integrity of the item
I've got a lot of plans and ideas that are primarily held back by the fact I'm doing all of this on a prebuilt dell desktop from 2014 with an integrated graphics card
One thing I think PZ devs need to realize about metal, and how society will revert to medeival times... Even if it did, there's metal lying everywhere all over the planet - already mined, processed, and there for the taking.
Oh for sure, but you have to consider that most of that metal won't be used efficiently by the majority of survivors
it will be used in many ways, sure.
But most survivors aren't going to understand how to effectively run a forge, or what is required to actually smelt steel
I'm just saying... The entire idea of mining is kinda.. no, that would never happen
well that depends on what is being mined, and where it is geographically
some stuff like limestone is used for a lot of things anywhere from glue, to clothes, to baking soda
Not to mention that raw materials will have good use, and would likely be traded through caravans
the manmade stuff will degrade over time, the raw materials will be in the same condition as they were before the apocalypse
sure, but I think the thing people miss is that when the world ends, the world has resources to support ~5.5 billion people on earth in 1993. Now there's less than a million, and the leftovers are all just sitting there...
some of it will decompose, but most won't. There's just no using it all
I theorize that it would more than likely cause a second bronze age, mixed with a new iron age
If you're not already versed in smithing, it would need to be learned through context and decaying literature
I think it depends, if you're dead set on living as far away from society/zombies as possible, then things get a good bit more like ancient history
If it's not properly maintained in libraries or through word of mouth, it will decay and be lost to time
but if you're anywhere near old civilization, you'll have enough steel for a lifetime
Sure but how do you work that steel?
What tools do you need?
What techniques are used?
Do you need other materials to work it easier?
What about the grade of steel?
Not all steel is equal
it does get harder for sure. most modern forges you wouldn't be able to power
so I do think blacksmithing would kinda make a comeback
You could certainly cut it up and shape it a bit, but that's what the welding skill represents
and the other thing about industrial equipment is you wouldn't be able to maintain it
I think there would be 100 steel weld-smiths for every steel forge smith
It would become a sought after technique, and knowing how to work it could even go as far as putting you into slavery
This was also present in medeival times.
Experienced smiths would become indentured servants to kings in time of war.
well, it depends if you have access to a vast amount of propane. I'm sure there's some spot on this planet you could point at and say some astronomical amount stored there, but this stuff gets shipped long distances
true
there's also electric welders, but that's another issue
see, one thing zomboid does NOT model is gasoline
gas goes bad
after a couple years, basically all gas on earth becomes unusable
I mean they do more than they did before.
Gas now evaporates in open containers
you could, through some complex processes, fix the gas up to make it work again.. but after about 5 years it's too far gone even for that.
even stored properly, gasoline degrades... it has a shelf life
Well without capitalism in the way, solar energy would thrive
I do love the solar mod and all but.. solar tech was awful in 1993 heh.
electricity would possibly be more accessible than it is now
now you COULD get wind and hydroelectric working
you might also be able to get geothermal going if you find the right spot
like an already-dug out shaft for it
A lot of electrical production is hindered by the gas and oil industry
When you don't have to pay anything and can just break into department stores, a lot of stuff suddenly becomes a lot easier lmao
That's another big one why the world would never fully revert.. because somewhere there's a guy who survived and has engineering skills. people aren't going to let that knowledge go
I myself would have fuck-all idea how to do any of this though
Yeah, and they would probably get enslaved if not killed through ignorance
History very much shows that the more that survival is dire in day to day life, the more slavery that occurs
even if they did the knowledge will survive in records. most books would eventually wither but I'm sure there's plenty of info stored in more durable ways people could find for centuries
I think that would be exemplified by a flesh eating virus
I could see zombies being enslaved too, as mules.
TWD touched on this a bit
There would be a lot of manual labor being thrown onto zombies
well, zombies kind of don't really make any sense either
even if you accept the idea that a virus can keep a corpse moving
Depends on if the virus kills you or just controls you
Basically zombies defy conservation of energy and in pretty much all media they ignore natural decay
so even if the virus is real and works.. no way they'd still be moving after like a month at most.
It's very hard to discuss how zombies work when they are 100% made up and non-sensical.
but I ignore that because it's a zombie game and I like it lol
Assuming zombies need to eat, maintaining a zombie slave workforce with human meat that you harvest from
- Other zombies
- Insubordinates
- General casualties
Would not be that difficult
but yeah, if you were going to make electricity generation? Zombie in a hamster wheel.
not even joking that's a perpetual motion machine
I was thinking more like a grindstone
if you accept zombies, you accept zombies as hamsters to power my new in-game gaming rig.
Once you have rotational power you can convert it to other useful forms.
I think using them for electrical work would be a waste of their potential for packmuling and mechanical work like a millstone
A well kept zombie is an extra backpack or more
https://steamcommunity.com/sharedfiles/filedetails/?id=3227732522 I made this for Rimworld so Ghouls could be pack animals
keep in mind too, even if gasoline has a shelf life.. coal doesn't. and people WOULD reclaim coal resources. you'd probably find near endless amounts at any power plant
and you can 100% use coal to make a steam engine - and that can also function as a generator or as an engine for a boat or train
They did that in The Walking Dead! Once. And then forgot about it. Because they are not allowed to use clever ideas in more than one episode.
The zombie that uses a brick to break the shop window ๐ฉท
No arms or jaw == they follow passively and conceal you from other walkers HOW IS THAT SOMETHING YOU FORGET!!!
Anyway, check out this misc survival crafting mod I'm making lol
I remember that scene from the show. AND from the comic book.
Also I find it hard to believe that the zombies would just become passive without arms and jaws.
I feel like they would still try to attack you
If I made it a fluid, it couldn't be used in normal glue recipes
if I were one of those zombies, I would head-butt the crap out of someone.
It's certaianly not I would have chosen to do with a de-limbed zombie, but it's TWD canon. For some reason.
also makes glue give bottles back when depleted
I'd make it like Dwarf fortress - when you dismember a zombie Necromancers just animate the seperated parts and soon it's a nightmare of random mobile bodyparts.
Invisible Necromancer == so damn hard to deal with
They should at least have blindfolds on, right ?
Well they don't see with eyes. Since their eyes are all rotten
And what are teh optic nerves connected to? Not a functional brain.
Yeah they don't see with their eyes, except when they look at you I guess
It's all back to "Do what you want, it's made up magic... just be consistent and have your characters react in an sensible way"
...like undead hamster wheel powerplants.
well, no matter how much you want to, it's impossible to make zombies make sense.
I understand not being able to differentiate through sight, but surely they could still see that you exist
You can, but they are really boring. Just people on a bunch of drugs.
TWD (Tv show at least) does not give a fuk about decay rates so I have no reason to believe those zombies don't have functional eyeballs
its not boring for THEM
Shamble around, randomly violent, no self-preservation
I am legend vampires are neat
yeah they'd all be skeletonized within a year
in the book they become their own race of human technically
nature don't care if you're a zombie, bacterias gotta eat
Zomboid would not be as popular if the zombies were replaced with something more accurate like fentanyl addicts.
idk man, a game where you fight off a horde of fent addicts sounds funny asf
replace zombies with door to door salesmen
Also something that y'all wilderness survivalists might actually be interested in.
A cooking pot that doesn't require smithing
very sensible.
Currently only supports stew and soup evolved recipes, but later on I will (probably) add the rest of the pot food variants like pasta and rice
Can you make clay bowls as well? I remember addinga recipe to carve bowls once because I was having zero luck finding any, but that was a long time ago and hopefyully bowls are craftable now.
just lazy atm and wanna get the mod in a stable release functionality
yeah that's a vanilla thing
It's a little strange to me that the items that use sand in their clay mixes, don't use water
It's also somewhat random when you can can use grass instead of sand.
From what I can tell, sand is used in pottery recipes where an object is supposed to sustain high temperatures.
Only affecting the Crucibles and ...Teacups ?
You don't take your tea at a brisk 2100f?
Does that work the same for making the clay heat resistant ?
If your tea isn't 400ยฐ it's not real tea - Tea Drinkers in Kentucky
In real life? Probably not, but it might make itt stronger.
Well either way, I included the sand because from what I can tell it's there for heat resistance, which you would want from a cooking pot
The vanilla recipes don't accept grass, are you talking about a mod
I thought itt was vanilla, it was something I did on the way to makingg a full blacksmithing setup
clay cement
I beg to differ
ah
I knew it was somewhere!
how do you even get grass cuttings, and why does it give more hunger than bugs
You can use sand or grass for it, but if you're building a furnace I'd suggest not uisng grass...
hahahaha
right click ground -> gardening -> remove grass
I find it hard to believe a handful of grass is the equivalence to 7 caterpillars
wait why, I can definitely go out and eat a handful of grass
You're not going to keep a cow fed by hand-cutting your lawn with a knife for grass clippings
So can my cat, then they throw up and I have to clean it. ๐ญ ๐คข
(if you pick onion grass off public property and eat it then you're a psycho who isn't afraid of licking the bottoms of people's shoes)
I think that's correlation not causation.
If I remember correctly, cats will eat grass when they feel sick to try to settle their stomach
I feel like they do it to encourage puking lol.
(TBH, puking does usally settle my stomach so it would work that way..)
Oh shit you gonna make me play RimWorld again
I wonder how much crossover there is with Rimworld players & Zomboid players.
On one hand, such very different games.
On the other hand, for me they fill a similar gaming niche
And which one is that?
I was trying to make a trait mod at one point.
It was a โneat freakโ trait
I wanted to make it so they would get stressed in dirty environments, have a cleaning speed bonus, and also a special mental break called โmanic deep cleanโ where they repeatedly scrub fully clean tiles
I never learned enough of rimworld modding to make it lol
Rimworld is excellent for modding; there is a clear design pattern of putting functionality into modular components that are configured via XML instead of just hard-coding everything in C#, proper XML inheritance and XPATH manipulation instead of zero inheritance and a half-functional "soft override" system.
C# so it's easy to see the game's code and add/modify it via harmony, and an art style that means adding new things just needs simple 2D art
Mental Break: compulsive Cleaning would have been a fun mod!
xpath is wonderful
fun fact: i am genuinely not sure that 'soft overrides' are an intended feature
the way that feature is set up in the code makes it look very accidental
lol
makes sense, since there is zero use for it in vanilla
And TIS probably didn't put it in for modders.
script types can be flagged to either add or reset when encountering a duplicate -- most of them (such as items, recipes, etc) *are* flagged to reset, but their reset methods aren't actually implemented and do nothing, so nothing actually gets reset
the b41 behaviour of replacing the original definition entirely is probably what was intended
https://steamcommunity.com/sharedfiles/filedetails/?id=3697629742
Adds in various items and recipes meant to improve low loot survival and wilderness orientated gameplay.
Adds in:
Renewable school glue
Renewable wood glue
Clay/Ceramic cooking pot
Duck Tape (Not to be confused with Duct Tape)
Four handmade umbrellas
Future inclusions may contain:
Renewable baking soda
Renewable sugar ?
Renewable salt ?
Workshop ID: 3697629742
Mod ID: SaltysSurvivalAdditions```
Hopefully they keep it ๐
What's xpath ?
You know how XML is structured?
Do you work with TINT textures to create multi-color item variants from a single grayscale texture? ๐
Imagine a simple set of rules to find things and add/remove/change them.
A proper standard, not a made-up-by-a-game-dev-and-half-done standard.
Very simple example:
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="ShipLandingBeacon"]/displayNumbersBetweenSameDefDistRange</xpath>
<value>
<displayNumbersBetweenSameDefDistRange>5~25</displayNumbersBetweenSameDefDistRange>
</value>
</li>
<li Class="PatchOperationReplace">
<xpath>Defs/ThingDef[defName="ShipLandingBeacon"]/comps/li[@Class="CompProperties_ShipLandingBeacon"]/edgeLengthRange</xpath>
<value>
<edgeLengthRange>5~25</edgeLengthRange>
</value>
</li>
</operations>
</Operation>
</Patch>
im not family with xml but xpath also popular in web automation test
The matching can include wildcards and conditionas, you can have conditional patches... it's all very cool and very well documented
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationRemove">
<xpath>Defs/ThingDef[
defName = "Darktorch" or
defName = "DarktorchFungus"
]/comps/li[@Class="CompProperties_Refuelable"]
</xpath>
</Operation>
</Patch>
That removes any components of type CompProperties_Refuelable from DarkTorch and DarkTorch fungus.
Comp_Properties are where things get shared functionality like "this is a refuealable item" as opposed to IsoFirePlace being hardcoded to be a special refualable item and nothing else can use that functionality to make a generator with fuel, a turret with ammo, etc.
Like B42's FluidContainer.
But... consistant.
I forgot that XML schemas exists.
And inheritance! I miss that so much in Zomboid, it's insane how cumbersome the item definitions are because of it.
Partially aware yes
I only know PZ's xml
Yea itemScripts are all... the same itemScript class
though not all values are valid -_-
Ammo box rating
Very nice.
Nah idk how to use the tint function in zomboid
Ive spent weeks on this. Learn from what TIS has done with Rubberducky.
lol nice
wonder what causes to turn the inside side of the cardboard to turn green when I place the box in the world
Mhhh...probably when spawning when item is connecting to model in folder it accidentally expands image on the whole model.
Usually it's just a little mistake at spawning rate
How I remember from b41 coding
Here it is suppose to be a little same
never heard of any issue like that
its affecting just one color in specific, if it was afecting the whole image, the whole model would look bork?
Well I am saying that it's replacing only cardboard with it..so you can just double check the code and all.(Sry I am dislexic)
dawg this is bs lol. my gf has photoshop, and I was like, let me test the ai thing, ask him to give the colors some material like an AR and did this
not gonna use it but got surprised by the result
(still looks mid compared to a real artist)
@buoyant violet Btw what are those lines ?
Well I only suggested.
what? im taking about photoshop lol
I meant about the issue. And this looks good..almost look the same as in game.
Hmmmm...by the way Marz are you gonna do only guns or something else ?

Fair reaction.
Is that a single polygon with texture on both sides?
I wonder if Zomboid can't handle that... it looks a bit like rendering two planes on top of each other and z-buffering being being weird.
Maybe the "render 3D image -> low res spite in texture atlas" rendering is not working properly
Did phtooshop just do 2d texture work, like "make this texture with grey blocks into metal"
Or did it actually have the 3D model to look at and figure out the textureing for?
pz doesnt use backface culling so its z fighting it looks like
you have to make the boxes have actual thickness
I just did a quick uv uns
Wrapped bake thr texture gave it to photocopy and said. It's an AR can you give some details
Interesting that it managed to get some of the edges "edge like" though maybe that's just a bit of luck with how it unwrapped
Then there is this:
Good old AI, making shit up
placed items have a really messed up depth buffer for some reason
so the back face is fighting with the front face
you can see thin flat objects fight with the ground too
it was a first try, pretty ass, I guess to automate some stuff its fine, but I dont see how corpos plan to use this to replace actuall artist
Id assume there are AI models that can generate and texture 3D models
If not, they will be under development.
So studios churning out slop can churn out more slop for less effort., but also (hopefully) so good 3D artists have new tools
3d ai generated models have been a thing for awhile, I doubt they havenโt improved
Not sure if this fits here 100%, but I imagine some of you might enjoy it. Had a little April Fools mod on our server where you'd have to sleep to regenerate an energy bar ala Runescape Classic, except with more, uh, interesting captchas.
Any ideas why getText would work in SP but fail in MP and print the key instead of the translation?
I'm spawning items and setting their name in OnCreate with a static part from IG_UI.json using getText and a randomized part. All the other translations from the same file work fine in other parts of the game, like the context menu (B42.15 & .16)
Does anybody know what exactly the WithoutDrainable parameter does? the gas mask have this parameter for example aiming to the id of another item called "Hat_GasMask_nofilter", however, when removing the filter from the gas mask the original gas mask remains as "Hat_GasMask" instead of "Hat_GasMask_nofilter".
I've checked the documentation, however, it doesnt exist yet
It seems to be only used for the gas mask, respirator and SCBA for getting the clothing model/item when the filter or tank is not attached (getClothingItem() in InventoryItem.java and ItemVisual.java. AlsogetAlternateModelName() in Clothing.java)
getAlternateModelName only tests gas mask, respirator and SCBA specifics and returns alternate model name for others, so WithoutDrainable seems useless for anything else
Oh i see, thanks a lot for the clarification! Im working of adding custom gas masks and im trying to figure out a lua script to be able to modify them only when the filter is removed. Regarding of why your translations arent working, Maybe either the "OnCreate" or "getText" part arent outputing values correctly? I had some similar issues with translations before, however, at my end it was due to a small typo
I still need to test my translations from the mod im making in MP, maybe i'll stumble with a similiar issue
Clothing.hasFilter() should at least tell you if the filter is attached
The translation issue is weird, because it works just fine in singleplayer and only the very specific case breaks in multiplayer. Not really sure what could cause that
_nofilter variants are not used anymore, and now they use an java call to set the no-filter state (via setting modData)
function MakeImprovisedGasMaskOnCreate(craftRecipeData, character) local mask = craftRecipeData:getAllCreatedItems(); mask:get(0):setNoFilter(); end
is the onCreate function I made for properly setting created gas masks to the 'no filter' state\
Dunno if it will work for modded gas masks
Hello someone can help me please, i develop a mod who you can load alternative ammo for your gun, but the new ammo don't want to load in the magazine, here is my lua code for the reload part :
Has anyone tried making a more unified gun base for PZ to help modded guns and attachments less.. isolated? Like more distinct tags for guns to help the process of using multiple gun mods and making them interact with each other, like in gmod
Like I know I could just go into the files and edit the mod txt files myself but that means Iโd have to manually update the files every time one of the mods updates, and if I wanted to distribute these fixes Iโd have to make like, 50 individual mods to allow a bunch of different mods to work together
They do work normally from what i tested, the only issue im having atm is when trying to use the mask as an ingredient in recipes, like i want the masks that im working on updating to be able to be attached to some custom hoods, the thing is that when executing the recipe, instead of the hoodless mask being removed and replaced, it creates a new one, with new filter with random condition. I've tried many ways to attack this problem but so far no luck
Use the mode:destroy tag on the ingredient for the recipe?
Ohh i see, will try! thanks!
That's amazing lol
IIRC some translation files don't get loaded on the server
...this both makes me sad and does no suprise me.
hmm thee temptation to get into zomboid modding but i dunno where to start
seems good to me. translation should be a gui thing only.
what language is a server in anyway? ๐
Disagree - it is also used in things like OnCreate functions for literature to set titles.
...which probably means if a multiplayer server has players with different language settings the book titles will be wrong for some of them.
Also, it's not like making it available would take up a lot of resources.
I am not saying translation is a gui thing only, in PZ. I am saying it should be (in any software).
I feel like proper support for that would be set it to translation keys and then translate on the client
The title includes dates for a lot of things, don't would need a little bit of UI adjusting to allow multiple translation keys
I.e. one for main name, then the optional month, year is just a number but would need storing...
Definitely possible without huge drama.
yea, would need to add like a subname that is passed to getText when it translates the item name
would be ignored if the item name doesn't have a %1 or whatever in its string
It doesn't make any sense to retrieve translations server side, that's as simple as that
Yeah. Now that I think about it that way, it makes sense
Is there a way to do it the right way and have the translation key part of the custom name localized client side? Does any item work like that in vanilla
If I put the unique part only in the tooltip, it wouldn't show in the vehicle menu. If I leave the localized part out it would be kind of confusing
I dunno if 'custom name' supports localization at all, im almost sure its all locked to english
Well I quess it's just forced to english server side then. Better than the other options
Lisence plate mod, but didn't add several million unique icons, sad /s
j/k of course. cool idea
Guess I'll have to generate them then. Just a couple of gigs worth of images
But yeah I would have liked to do procedural icons, but no way to do it only in lua
40gigs for 10 million 32x32 raw icons. Less in PNG of course.
but 10 mil is prob an underestimate.
stupid letters.
@red tiger is your man for that.
hes adding new rendering apis and stuff. especially render to texture
7 slots with 37 supported symbols, so 95 mil? Plus the different backgrounds and sizes multiply that
not saying you should for such a minor detail but... you could.
Realistically jab's render to texture stuff would likely work
(without generatinge very combo)
and you could prob detect for it at runtime to make it optional
That would be interesting. If it could be used for worldItem textures, it would be even better to have them actually show the correct text
I mean hes patching the java soo
show a good enough use case, maybe submit source for the changes you want... And bingo bango.
The way to do it might just be to not have it in the item name
That would work, but then you couldn't see it in the mechanics menu. Might not be an issue with only one plate, but gets confusing when you have a couple in the inventory
Could override the rightclick menu with a hook?
I'll have to look into what that would require
to display custom text when its a lisence plate.. since no other mod adds lisence plates
Jab is basically working on a PZ extenstion with a bunch of modder requests and his own stuff.
But IIRC hes already commited to render-to-texture stuff
procedural lisence plates seems like a dead ringer for an application
And you could likely detect if his mod is installed and only have custom plates if it is, ie soft dependency not a hard requirement
Not sure if the context menu works the same way in the mechanics menu, but maybe I could change it to show the plate text automatically
Yea there should be some lua callback you can override IIRC
CapturingISVehicleMechanics:doMenuTooltip(part, option, lua, name) and updating the name to include data from the part should do it
BTW any suggestions how I should handle vanity plates? Come up with some word list or just randomize letters and numbers? Normal plates are limited to 3 letters followed by 2-4 numbers
Sure, but why not use tooltips ?
You can't see the tooltips in the mechanics menu. Or at least I couldn't figure out how to. The normal overlay is replaced with the one showing install requirements (also there is no right click context menu)
But the combination of using tooltips in the inventory and modifying the mechanics menu to show it in the name (or the mechanics tooltip) should work
I suppose for the context menu of mechanic you can change the name of the license plate
The name of the option*
Yeah. Already got it working. I hooked around ISVehicleMechanics:doMenuTooltip and changed the name to include the unique text only for license plate items. Then just the generic item name and inventory tooltip with the text for MP
As a plus it can also be used limit what can be installed: blocks installing two different plates to a single vehicle
Nice !
@main pasture I am wrapping the Graphics2D library and have methods to save them and convert them to PZ's Textures.
Nice. Haven't checked in a while, but if the world objects allow dynamically setting the texture, then that would allow all kinds of interesting use cases. At least dynamic icons would be a nice touch
Mine is for UI and eventually dynamically-projected texture wall objects
But general use yes
I wanted to try creating dynamic in-world text with only lua because haven't seen it done, like signs. So i tried to dynamically create textures a while back and wasn't able to, so I turned to shaders. Then wasn't able to add uniforms, so the only shader that fit the requirements without java changes was vehicle, so license plates it is
Hahah yeah you could before reflections was taken.
Fonts you still can but it's annoying as you'll need to compile them.
I'm adding both into my community patch.
I'm going to write both a texture renderer for dynamic, vector fonts like TTF for legacy UI use and then I'm going to also write a renderer for the modern font stuff with CSS properties in my UI stuff.
The big issue is that UIFont is an enum and only points to preloaded AngelCodeFont objects.
The ISUI API only uses those enums. You can calculate the same stuff it does but you'll need to provide your own boilerplate OR override API functions in ISUIElement to make something even nice to use for custom fonts.
I see. Are you planning only UI with this, or also for in-world rendering? What do you mean with the texture wall objects?
Well because my stuff taps into Texture API it means it can be used anywhere you can throw a texture object.
I'd like to add an ISOObject that allows me to project textures onto walls and isometric world objects.
Thinking guild / faction flags.
Like imagine drawing flags and then using them on a multiplayer server's base.
You could also draw and fill round arcs so rounded UI corners for ISUI would be fantasic.
I did something like that but using textures I drew myself.
Yeah. Even just text would be very useful, but custom images would bring a lot of possibilities
Here's my first test code for the API
--- @module "java.awt"
--- @module "sickle"
--- @module "sickle.io"
if not sickle then return end
Events.OnMainMenuEnter.Add(function ()
local name = "test_texture.png";
local width, height = 512, 512;
local lg = LuaGraphics.new(width, height);
lg:setAntialias(true);
lg:setColor(Colors.White);
lg:fillRect(0, 0, width, height);
lg:setColor(Colors.Red);
lg:fill(Ellipse2D.Double.new(50, 50, 100, 100));
lg:setColor(Colors.Black);
lg:drawString("Hello, Project Zomboid!", 200, 200);
local image = lg:getImage();
local texture = lg:toTexture(name);
print("Caching texture..");
LuaGraphics.saveAs(image, name, Cache.Sickle);
end);
That uses the java.awt library to draw and then I'm converting that to a texture there but not using it anywhere.
What I'd also like to add is a base64 serialization utility for sending textures from server to client. 
!!! Note to those who don't know: This is a Java patch. !!!
@main pasture If you're interested in the project it's called "Sickle" and is being developed on my discord. I can DM you the server if you want.
I'm writing a HTML rendering emulation alongside it and plan to place it in when its ready so I can do my dream UI mod for the game.
Nice work! Yeah I can check it out
I got to announce something widely and put steam off...
PZK mods further developing is discontinued until one particular issue will be resolved.
For few months all we have constant unexpected changes, rewriting modding API, in one word: modders & players hell - that's not main issue. Main reason is one particular issue that crossed line for further PZ gaming for me, friends and whole servers we hosted. At first we were thinking that was a bug, waiting months to be fixed, but it wasn't bug, it was in changelog in B42.13. Change unexpected, without any explanation and that make totally no any sense.
I created thread on TIS forum: https://theindiestone.com/forums/index.php?/topic/93467-building-obstructing-view-before-player-eyes/
You can post there and help resolve that issue.
Until resolving or option to revert for those changes we don't have interest in further PZ gaming, we're not masochists.
https://steamcommunity.com/sharedfiles/filedetails/?id=3217685049
Eventual hotfixes between PZ versions can be done by PZK community or solutions delivered to them. Mods are on lockdown due to licencing laws and cannot be repacked or reposted.
Since build 42.13, the behavior of buildings has changed, obstructing the view of the surroundings. I, along with many other players who have spent thousands of hours in PZ, are frustrated by this and feel no desire to continue playing ending with constant rage quits since this update. Especially...
ah christ how have they changed trait/occupation names now
all my shit's back to fallbacks
oh, of course, they changed UI_EN.txt to UI.json
glad to see we're getting the real, hard-hitting changes
Yea it's some really good stuff !
did they change getText() too? I switched my stuff over to JSON and it still doesn't seem to be finding the values
looks like this
they did not change getText
only difference i see between my file's format and base game's is that i'm using tabulators instead of spaces but i doubt that would cause issues
shouldn't no
closing , is technically invalid json but i'm pretty sure the game accepts it anyway
for better or worse, I shove my json's into common\media\lua\shared\Translate\EN
figured if it needs it, it knows where to find it
oh my god i'm SO STUPID
it's been so long since i've touched project zomboid modding ๐ญ
i was editing the B41 directory ๐ญ ๐ญ
that'll do it
not stupid. I have a mod with 3 B42 versions and half the time I'm editing the wrong file
i've just been refusing to maintain multiple b42 versions, i always just update to latest
so many API changes that every patch may as well be a whole different game
Just received a 52k line PR for inventory tetris on github...
So anyways, that repo's private now.
No clue. The mod got versioned a few times in the PR too, so I couldn't even see changes in the diff as every file was a full addition.
Yea that's a nono then lol
At that point, it's like replace your mod with mine
Basically lol
Oh, but also go through all of my code and make sure it's on the level. Plzthxbai?
What
Ai has been a blight on open source projects
Do server-side java patches not apply to clients anymore?
they have never done that
How come the old no mo' culling mod had it so server patches completely remove culling?
in b41, more of the game logic was serversided, so you could do more with just a server patch
Right thats probably whats happening then
i would be surprised if you can't do that with a server patch only though, the client shouldn't be able to delete zombies
but i don't know the full details of how that mod was implemented
I'm not exactly sure how it's happening either but it wasn't an issue before and I realized it was an issue now after some testing
The dedicated server with patches present works with a client that has the culling patches present too, but starts culling if the client doesn't have it
Apparently clients do zombie counting themselves and request deletion from the server, I don't know how it worked before when I didn't have the patches present but in retrospect it might've been a mishap.
I used to do this check to detect NPCs from all the NPC mods before:
---Function responsible for managing Bloodlust meter
---@param zombie IsoZombie
local function bloodlustKillETW(zombie)
local player = getPlayer()
if player:isLocalPlayer() == false then -- checks if it's NPC doing stuff
logETW("ETW Logger | bloodlustKillETW(): kill by NPC")
And it worked fine cuz logic was client-side, so it worked both SP and MP. But now I am moving logic to server side, is there a way to check if it's a player character doing something? Cuz something tells me running isLocalPlayer() on server side not gonna give me anything meaningful 
Also follow-up question, how does one figure if Event is client-side, server-side or universal?
I know umbrella has docs/annotations but not sure how up-to-date those are
And if they are up-to-date, how exactly something like OnZombieDead works within the scope of client and server?
My assumption would be that on server it triggers for every zombie dying and on client only for those loaded by the game for current player?
unfortunately the easiest way is to put a print on it and find out
they aren't up to date, but if it does trigger on both sides, that's how i'd imagine it'd work
i doubt it
So NPCs mods in MP is gonna be a pain 
Need to figure new way to figure if it's player character 
i wonder what getOnlineID returns for an npc?
that usually corresponds to the player's client, so i don't know what the ids would be for players that exist outside of that system
it is possible to make sheets works on wire fence?
Most likely not no
Pretty sure that'd require a Java mod, or some weird stuff to manage to do it
Like adding an invisible wall to hide or some shit, idk. The worst would be to visually make the sheets appear on the fences
-----------------------------------------
STACK TRACE
-----------------------------------------
Lua((MOD:Evolving Traits World (ETW))).ETWModOptions.lua(ETWModOptions.lua:3)
Lua((MOD:Evolving Traits World (ETW))).ETW_ByHealth.lua(ETW_ByHealth.lua:2)
ERROR: General f:0, t:1775253405011, st:20,735,801> Lua((MOD:Evolving Traits World (ETW))).ETWModOptions.lua> Exception thrown
it now prints the mod name
and format changed abit
Always did
yea, but not in java stacktrce
Ah if it's a Java stacktrace no there wasn't anything like that no
Very interesting
much cleaner
there was an issue where lua -> java -> lua calls were basically untraceable, this could be trying to address that
or it's just because it looks better ๐
Neat, I guess its a dump of the current LUA stack... Backed up by the fact that it ends with a new error log: KahluaThread.flushErrorMessage > Dumping Lua stack trace
that part's not new actually ๐
hm, guess I never noticed it
it's just that they seem to be printing the lua stack trace inside the java stack trace now, which is a lot easier to read
I think its new
they were separate before
ah
well ye
they did have chain of lua calls before but it was outside of java
which is what i was saying
quick question how can I test a lua mod locally without uploading it im on 42.16.1, it doesnt seem to show up anywhere
in build 42 you need to put everything in this folder into a 42 or common folder
so mods/KillZombies/42/mod.info
Someone might know this.. I'm making my computer mod, and i see the computer furniture item is named: appliances_com_01_72, appliances_com_01_73, appliances_com_01_74, appliances_com_01_75 and it depends which direction it's facing
that's all fine.. but just now, I stumbled upon a appliances_com_01_77 .. it's a computer with its screen turned on. I can't pick it up, though.
if I try finding it on google, nothing even comes up
Ideally, I'd try to make it so you can move this thing around.. or even use it as a "screen turned on" effect when you use the computer
if it matters, the new one is in the basement of the muldraugh PD, which was just updated with B42, so its probably a brand new tile
@dull moss lol there was one update where in my java mod I had to camel case the hell outta everything in it cause TIS recased a TON of code internally
(Re: #mod_portal message )
good, as long as its moving into standartizing everything
crazy that they didn't thing of using linter and formatter
while devving this for 10 years
This is about the best I've found for my question:
grep: ./maps/Muldraugh, KY/41_40.lotheader: binary file matches
grep: ./maps/Muldraugh, KY/59_0.lotheader: binary file matches
grep: ./texturepacks/Tiles1x.pack: binary file matches
grep: ./texturepacks/Tiles2x.pack: binary file matches
./tileGeometry.txt:83386: /* appliances_com_01_77 */
./tileDepthTextureAssignments.txt:66: appliances_com_01_77 = appliances_com_01_73,
./newtiledefinitions.tiles.txt:1945: // appliances_com_01_77
grep: ./binmap/lot_basement_police_muldraugh.pzby: binary file matches
you can find some data about the computer tile i found in those files. It's clearly not set up like the other computer though, which has fields for facing direction, pick up weight, and so on
I'm not sure if this is something I can even mod
whoa.. I guessed that 59,0 in there was a chunk coordinate. I went there on the B42 online map. Secret area with every piece of furniture sitting out in the open heh
the tiles seem to be lined up in order, so this is pretty good confirmation that appliances_com_01_76, appliances_com_01_77, appliances_com_01_78, appliances_com_01_79 are all computer furniture items I should list in my mod as being usable.. even if the game won't let you pick them up and place them
https://steamcommunity.com/sharedfiles/filedetails/?id=3697629742
Internal changes to hopefully help with mod compatibility issues
Changed (Wood)Glue to no longer "ReplaceOnDeplete" and instead uses "KeepOnDeplete"
Removed tag from Tarp Piece, instead dividing the "Craft Umbrella from Waterproof Materials" into two Leather and Tarp recipes```
Hi, I just wanna ask what should be the specs of hosting / server are efficient tohandle atleaast more than 35 - 45 players. Like what RAM and CPU is really enough for a private server that has heavy mods that has 200-300 mods in it. Thank you so much
When you double click to add a trait to a list it sends 'item'
'''lua
function CharacterCreationProfession:onDblClickTrait(item)
print("DEBUG_DBLCLICKAdd: Type is " .. type(item) .. " | Content is " .. tostring(item))
self:addGoodTrait();
self:checkXPBoost();
end
'''
And it gets this -
DEBUG_DBLCLICKAdd: Type is userdata | Content is zombie.characters.traits.CharacterTraitDefinition@2904a646
a RAM referance. Is there anyone to know what this trait this specific referance is for? Can I look into this zombie.characters.traits. or something?
nvm, I figured it out. It's just this print("DEBUG_DBLCLICKAdd: Type is " .. type(item) .. " | Content is " .. tostring(item:getUIName()))
hey there. im currently modding, and stuck with an issue. i set an code to an interior door, and am able to lock it.
but im able to unlock the door even without the key from either side. can i somehow disable interior doors from always being able to be opened unlocked?
Look up the times action for locking and unlocking doors, media/lua/shared/ISLockDoor.lua
function ISLockDoor:isValid()
local keyId = instanceof(self.door, "IsoDoor") and self.door:checkKeyId() or self.door:getKeyId()
if self.character:getInventory():haveThisKeyId(keyId) then return true end
if self.door:getModData().CustomLock then return false end
return not self.character:getCurrentSquare():has(IsoFlagType.exterior)
end
the vanilla code will always let you unlock a door if you're on an interior tile, presumably because every vanilla locked door is an external one.
I don;t know what CustomLock in the doors moddata is for.
I think it might be an admin and/or debug thing... so looks like the issue is just the ISLockDoor:isValid() function needing to be redone to handle interior doors while not removing the option of locking/unlocking external doors from inside.
Maybe add some moddata to the door when you install the internal lock, and then override ISLockDoor:isValid() with something like
if door has MyCustomModdata then
return (player has correct key)
else
return (original function)
end
local item = player:getWornItem(ItemBodyLocation.TSHIRT) if item then local visual = item:getVisual() player:Say(item:getName()) player:Say(tostring(visual:getTint())) visual:setTint(ImmutableColor.new(0.1, 1.0, 0.1, 0.1)) player:resetModelNextFrame()
end do tints not have an alpha? Also is there a way to make an object transparent at runtime? I want to simulate an item appearing on the player with a function looping that changes the alpha value of said item
I'm not sure if anyone has ever tried that
maybe there is a way
this helped me allot. tyvm!
Good morning/evening everyone! I have a question about inputs in recipes, can i call a function in them? Lets say i have a function called "function Test1(scriptItems)" and i want this function to be called in the inputs section of a recipe. Should it be "item 1 [Test1] mode:keep," ?
No you can't
That's not a thing
Oh got it, thanks!
There is a function that can be used to decide if a recipe is valid, OnTest =, which might do what you want.
But it depends what your goal is.
if item then
local visual = item:getVisual()
player:Say(tostring(visual:getTextureChoice()))
player:Say(item:getName())
visual:setTextureChoice(2)
player:Say(tostring(visual:getTextureChoice()))
player:resetModelNextFrame()`
end```It does change the TextureChoice but there is no visual change
WorldItems use the basicEffet shader and its alpha value is calculated with Alpha * texSample.w (texSample is straight from the texture, ignoring tint etc). So you have to change the Alpha value or you'd have to dynamically change the texture alpha.
Almost every other rendering setup (player and vehicles) use effect.setAlpha(this.alpha); or similar, but WorldItemAtlas.java, that seems to handle clothing items, uses effect.setAlpha(1.0F);
So it would seem to require java modding or some shader hacks. Changing the alpha value for WorldItem rendering might be something worth requesting API for
someone pls make a mod for 42 with farmers npc's to watch out my farm while i do fun stuff on the map
I have a (hopefully) simple mod that I'm working on that needs fixing, I have all the files already ready yet I'm unsure why it hasn't worked yet
Uhh just DM me if you wanna help a baddie like me out aha : - (
ItemModelRenderer.java uses the alpha value from InventoryItem.getWorldAlpha (set with setWorldAlpha), but I couldn't use it at least with clothing items
My goal was to write a function that checks for all items that contain the name "bullet" and automatically insert them into the input section of my recipe. Im working on making a mod that allows you to repair the bulletproof vests, and i wanted to allow vests from other mods to use this recipe as well
anyone use survivor superb mod? if their status only number, does that mean they died?
hi, i want to learn to make mods for this game. how should i learn to do it?
https://www.youtube.com/watch?v=-yrmCAwzTbY&t=4785s this is best you can find
1:11 Step 1 - Know your file locations
4:06 Step 2 - Storyboard your ideas out
9:03 Step 3 - Get your files from the game or other mods
11:47 Step 4 - Build your mod files
1:01:54 Step 5 - Create the textures (mislabeled in the video, oops)
1:19:45 Step 6 - Put your mod files in the right structure
1:30:37 Step 7 - Test your mod (please back up ...
even tho its older i would say its still probably the best vid for it
What about using the pickaramidthread tag?
Looks like all the vanilla ballistic armor has that, though maybe more than desired... but it's a good starting point.
yep im using that method, rn im booting up the game to see if everything is working fine
If you like to read: https://pzwiki.net/wiki/Modding and https://pzwiki.net/wiki/Mod_structure, and many other useful pages on the wiki.
If you like to disect existing work: look at the mods in your steam downloads folder to see how they do what they do
If you like to learn by doing stuff: come up with a mod idea, this channel can help point you in teh right direction to get started.
Are there specific types of mod/mod ideas you want to make?
Did anyone ever figure out why containers of custom mod fluids tend to spawn empty about 50% of the time?
Whatโs the recipe going to need ?
(Seemingly no reason why that I can figure out why.. seems to happen without any other mods too)
thank you stranger of the internet โค๏ธ
a huge one, i see that this game has so much potential but a lot of things are missing and the late game is boring. i want to make it more flesh out such as being capable of amputing an arm or leg if it has been recently biten to evade the knox infection (and recipies for various prostetics). this is just an example of things i want to do (the first mode im gonna do is a simple one, make a trait called onwer with a -3 points, it will give +1 animale care and will grant you a dog and a cat with maximune aceptance seens the start). to make this trait worht it i need to add things to animal care such as but not limited to animal training and desing dogs and cats to have multiple possible utilities
How does one nowadays change character stats in MP for testing purposes? Like say I wanna change character sickness value, using sliders in debug menu doesnt do anything as server resets it to original value next tick/minute
They seem to work fine if you have admin access level and obviously god mode disabled
toying around with Antigravity, ngl this is pretty good
(ignore that it says it worked for 2h, took it like 2 min)
I checked and all is good

I finally found a working approach for making something opaque over time 
That's pretty cool. I found out the 3d models items use when placed can also have alpha
my approach is pretty backwards though, I made a blender script to make 30 textures with different opaqueness and just iterate over them with a timer or button
I tried a lot with other methods in the docs but this is the easiest for mme
Sometimes in modding... you do what you can lol
oh, somebody already have done that
you can still do it ofc, just know you have long standing competition
Adding dogs and cats is not simple!
There's a good reason there are not lots of new animals being added via mods.
Which is not to say don't do it... I"d love to see dogs and cats in the game, just be aware you can't casually add new animals and huge complicated new systems like animal loyalty/training casually.
ye it took a team of like 10+ modders to implement horse in the game
of really good modders
especially animals like dogs and cats which vary a lot in behaviour from vanilla animals
the animal system is designed for farm animals, not pets -- all of that is work you'll have to do yourself
similarly because we expect features like riding from horses most of the complexity came from that
basically, adding an animal is easy, adding an animal the way you actually want it is quite complex
your own amputation based system would genuinely be easier to implement I think
Oh its gonna need tailoring 1, an armored plate, needle and 5 thread. Rn i got it functional, however im thinking to add more stuff
I have one question, when doing soft overwrites in clothing for example, should i declare them in their own .xml files? Rn im having an issue that results of me being unable to reload a save, i checked the logs and is because an item is trying to override an existing registry id
Before and after, decided to learn substance painter, and not so bad for a first day
Is there a particular reason youโre needing to modify the clothing ?
Thought you were just adding in a repair recipe.
Whatcha workin on
How does substance painter work
Oh thats from another mod im working on, its more an update tbh. Im trying to re-do most of the SMUI mod (the one that replaces most military stuff) so it can work on b42
Is like photoshop for 3d models
My work is almost finished, however there are some issues regarding the overwrites and the masks with hoods
aside from that, everything is working, i've made some custom new models for the filterless masks
Ans you add materials to lift the texture up
hey guys do you know about some weather framework mod or something like that ๐ ? i suck at art but im working on something that should basically force some weather sometimes but i couldnt find like some good references
Look into the ClimateManager class
thanks
Got some "dynamic" item working ๐ could grow on player kills or zombie kills
"The longer you spend without wearing pants, the more your horns grow"
this is awesome but i'm so confused what the game's style is, like what is the common consensus
other maps aren't used on vanilla guns r they
@sour island a mod can write to its own lua folder?!?!? Cool, a self checksum erroring mod!
Indeed
I think it was useful way back when- for per mod configurations


