#mod_development
1 messages · Page 508 of 1
fillContainer stops working with "crate" type
after filling a container under the room for 1060 times
tried to set setExploered to false
container and the room
and creating new container and assigning the container to the object
it just stops
is there a way to keep the chunk loaded even no player is around that chunk ?
but "bin" works all the time
was it to me ?
noep
I'm having a simple issue, I have a vector2, how do I get the first element?
nvm
it's ```
MyVector2:getX();
the inventory icon ?
or world 3d object ?
inventory icon
REPOST
Gentlemen , after a little while in PZ I have came to the realization that this game needs a Armored Boxville (GTA V) mod for the Chevalier Step Van.
AutoTsar has a similar mod to this with the bus Mod.
But I dream of the Stepvan with a zombie dozer up front, that 50 cal lmg up top.
If any experienced modders are interested in taking on this project for a commission ( we talk in private ofc )
Dm me and we have a chat 💬
I had no idea that it's a thing. How can I know that? And is it possible to unprotect it ?
check the decompiled code or javadoc for the access modifier
don’t think you can unprotected it
and no, you can't
I put sleeping bags into the game! Check it out! https://steamcommunity.com/sharedfiles/filedetails/?id=2714848168&searchtext=
So it's screwed up? I just want to tidy up the inventory panel, like when we click outside the panel
It's in texturepack/UI if I remember correctly
why do you need to access that method?
You see when you click outside the inventory panel, it reduces it, hides it. Well there it is, that's what I want to do. It's enabled by ui:onMouseClickOutside() or ui.draggedItems:reset() but both give me the same error.
I think you can override ui:getTable()['OnMouseDownOutside']
oh you want to call it
you can re-create what it does pretty easily if you need to
void onMouseDownOutside(double arg0, double arg1) {
if (this.getTable() != null && this.getTable().rawget("onMouseDownOutside") != null) {
LuaManager.caller.protectedCallVoid(UIManager.getDefaultThread(), this.getTable().rawget("onMouseDownOutside"), this.table, BoxedStaticValues.toDouble(arg0 - this.xScroll), BoxedStaticValues.toDouble(arg1 - this.yScroll));
}
for(int var5 = this.getControls().size() - 1; var5 >= 0; --var5) {
UIElement var6 = (UIElement)this.getControls().get(var5);
var6.onMouseDownOutside(arg0 - (double)var6.getX().intValue(), arg1 - (double)var6.getY().intValue());
}
}
Otherwise where can I see that ? On the javadoc, there is no onMouseDownOutside()
javadoc probably excludes signatures that aren't public
you can decompile the code yourself
Ok thx, what is decompile ? It's with the java code ? Because I know nothing about java
yeah, find a decompiler and look at the classes you're interested in
How do I use that ? I put my code at the end ?
You take me for smarter than I am here x)
Won't that change the function for all UI Elements? Because that would be problematic.
Nop, nothing in the table
Hello, I have already done some research on the subject but without success.
I am coming to you to find out if it was possible to make a mod that checks if the tile belongs to a safehouse before removing the objects on the ground. Thanks 🙂
Basically I'd like to able people to keep items on the grounds in their Safehouse.
does anyone know the Sewing Machine mod? how do you get fabrics to sew stuff in it?
Is that the super old one?
Ah, seems like it was updated sort of recently
Doesn't seem to be updated for the current version tho considering the description
also, the author is here

whats the difference between
container:removeAllItems, container:reset, container:emptyIt
idk why ItemPicker.fillContainer breaks a lot
it does not respawns item
only works in certain cases
I just unpacked the all the new icons from the .pack file. Here you go!
what is breaking on it?
maybe some generation code? idk
i don't have java code
what i can say is
bin = {
rolls = 4,
items = {
"BandageDirty", 0.5,
"BeerEmpty", 0.25,
"Cockroach", 6,
"DeadMouse", 0.5,
"DeadRat", 1,
"ElectronicsScrap", 0.5,
"PopBottleEmpty", 0.5,
"PopEmpty", 4,
"ScrapMetal", 0.5,
"SmashedBottle", 0.25,
"TinCanEmpty", 4,
"WaterBottleEmpty", 0.5,
"WhiskeyEmpty", 0.25,
"WineEmpty", 0.25,
"WineEmpty2", 0.25,
},
junk = {
rolls = 1,
items = {
"Garbagebag", 100,
}
}
},
this works
clothingrack = {
procedural = true,
procList = {
{name="ClothingStoresDress", min=0, max=99, weightChance=100},
{name="ClothingStoresShirts", min=0, max=99, weightChance=100},
{name="ClothingStoresShirtsFormal", min=0, max=99, weightChance=100},
{name="ClothingStoresJumpers", min=0, max=99, weightChance=100},
{name="ClothingStoresJackets", min=0, max=99, weightChance=100},
{name="ClothingStoresJacketsFormal", min=0, max=99, weightChance=100},
{name="ClothingStoresJumpers", min=0, max=99, weightChance=100},
{name="ClothingStoresPantsFormal", min=0, max=99, weightChance=100},
}
},
this breaks after like hundreds of run
maybe that max=
implies something
so this means
you can only have finite amount of things
in single run
Yes, that means there should be a maximum of 99 instances of that procedural spawn table spawning in that room.
I don't know the mechanics of how that is applied, but it unsurprising that a table stops working at 100 times if you're force spawning or something.
yup
well at least i can see if this is true
lucky trait is literally useless
got pissed for workshop 0.0015 magazine
tried to evaluate the real chance
ended up lucky trait actually blocking low-weight loots
if its below like 0.2 or something
it is literally hardcore mode
if the loot table has "empty"? well you're boned
if it doesn't have one
idk if im doing it wrong
the lower the chance is
you get less goodies
prolly gonna run more than a million
just tired atm
well now i know why
at least i can try to fix my coop session with friends
to make it less frustrating and fun to loot and chill
prolly add up that min/max value
multiply by the players
Could have told you lucky/unlucky is not really worth it
well at least i know how bad it is
with statistics
i can tell everyone "if you want more food, its good"
from the code it's highest impact is 10% +/-
with all of the other variables thrown in I wouldn't be surprised if it was much much lower
the thing is zombies in the area impact loot
so idk if this unit test can be accurate
well me too
but at the very least that does sound like something is wrong
i ran it millions time
inside of storage
but i can make it more accurate
now i know there is a cap
so i can investigate it further
but the trend seems same
if the lucky trait is there
you can get more goods
but not rare goods
and yes, i really don't want to believe this
I mean idk if this helps but this is doRollItem(
boolean var7 = false;
boolean var8 = false;
String var9 = "";
if (player != null && var3 != null) {
var7 = var3.Traits.Lucky.isSet();
var8 = var3.Traits.Unlucky.isSet();
}
for(int var10 = 0; (float)var10 < var0.rolls; ++var10) {
ItemPickerJava.ItemPickerItem[] var11 = var0.Items;
for(int var12 = 0; var12 < var11.length; ++var12) {
ItemPickerJava.ItemPickerItem var13 = var11[var12];
float var14 = var13.chance;
var9 = var13.itemName;
if (var7) {
var14 *= 1.1F;
}
if (var8) {
var14 *= 0.9F;
}
float var15 = getLootModifier(var9);
if (var5) {
var15 = 1.0F;
var14 = (float)((double)var14 * 1.4D);
}
if ((float)Rand.Next(10000) <= var14 * 100.0F * var15 + var2 * 10.0F) {
InventoryItem var16 = tryAddItemToContainer(var1, var9, var0);
if (var16 == null) {
return;
}
god this is something i was looking for
but it seems like old cost just moved into java code
for perf reason
float var15 = getLootModifier(var9);
if ((float)Rand.Next(10000) <= var14 * 100.0F * var15 + var2 * 10.0F) { this part look familiar
this is the part that is probably messing your test up too
well
i rather test the end api
because thats the final output comes in
and what we get in the game
since i just started the modding
i can take my time to reduce the pain make it fun with my friends
if you're in a zombieless world that also* has an impact on loot
but it's linear and not related with other variables right?
still the existence of "loot cap" by itself already ruins the fun for me
since reaching 300 is pretty easy
in worst case, it could be like 20
just found this: media\lua\client\DebugUIs\ISLootStressTestUI.lua
if (var0 != null && var1 != null) {
float var5 = 0.0F;
IsoMetaChunk var6 = null;
if (player != null && IsoWorld.instance != null) {
var6 = IsoWorld.instance.getMetaChunk((int)player.getX() / 10, (int)player.getY() / 10);
}
if (var6 != null) {
var5 = var6.getLootZombieIntensity();
}
if (var5 > zombieDensityCap) {
var5 = zombieDensityCap;
}
if (var0.ignoreZombieDensity) {
var5 = 0.0F;
}
var5 is what get's pushed through to the final roll chance
in if ((float)Rand.Next(10000) <= var14 * 100.0F * var15 + var2 * 10.0F) { the var5 from above is var2
local alt = false;
local itemname = nil;
for m = 1, containerDist.rolls do
for i, k in ipairs(containerDist.items) do
if not alt then -- first we take the name of the item
itemname = k;
else -- next step is the random spawn part
local lootModifier = ItemPicker.getLootModifier(itemname) or 0.6;
if ZombRand(10000) <= ((((k*100) * lootModifier) + (zombieDensity * 10))) then
-- make an item in the container of that type
local item = ItemPicker.tryAddItemToContainer(bag:getItemContainer(), itemname);
if not item then return end
if instanceof(item, "Key") then
item:takeKeyId();
item:setName("Key " .. item:getKeyId());
end
item:setAutoAge();
end
end
alt = not alt;
end
end
What exactly spawn chances mean? For example, I set 0.001 to my item for crates. Does it mean that each crate have a chance 0.001 that I will see my item in it?
ah it's probably linked to the old table then?
it does seems pretty same
with minor adjustment (which i can't see)
still
tbh this is frustrating
i guess this affects other mod experiences too
also idk if this is related or not
im not getting any loots from military crates
i can fix that but still

do you have a test with unlucky included?
no not yet
I'd be curious
im still trying to code automated test
so i can sip a tea while its running in black background
because it freezes for like 3 hours
300-1000 runs/sec
if the table is heavy
it goes down to like 30-100
you only need like 10k tests at most though?
i only value the test at least millions of samples
to each their own
at least i can showcase how lucky can you be for each 100 run segments
considering there is not much of docs i kinda like the output
I feel like this is right up @grave solstice 's alley
at least i can see
what is the most painful to find
and adjust the rate
well considering the sledge is 0.01
that's designed to be rare for gameplay design I guess
i value the intention
but my borderline is sledge
i haven't found any sledge for 4 runs
if anything goes rare than that
its gotta be a nuke
unless there's a fixed minimum you may never find one
or ICBM launch code
How do I make a recipe require an item be equipped when using it? Like the welders mask when doing metalworking recipes?
personally I'd nerf sheet ropes and give players the grueling ability to destroy with basic tools
the pain of wall frame
+try to eliminate floating bases
the sole reason of journey to sledge was to remove ugly frames
and got bitten
and a month of run is gone lmao
happens
well crafting is supposed to be looked at
hopefully and eventually construction gets looked at
but i don't think aiming for 0.23% god run is fun unless I have at least 8 hours to play daily
like like to see varied base building mechanics and destruction
my urge to make build menu
ugh
i want build menu like crafting menu
click to build
i.e. building with bricks is alot more work but is sturdier - but throwing up drywall helps mood or something
search functions
why not press key, type "wall"
and click
if we have some sort of render target texture
player can design their own shirts
ofc its going to be limited to player clothings i think
I'm quite confused as to what is the tileset "TileWalls" that I see used in another mod that uses base-game tiles.
Going through the guidance given earlier on this channel, I can discern no tileset called TileWalls using TileZed's "Tile Properties" -tool.
I'm looking at newtiledefinitions.tiles which resides in the modding tools' Tiles -folder, and this is what I see that are wall-related:
Should I be looking at some other .tiles -file than the one found in the modding tools' folders?
Apparently TileWalls is found in ProjectZomboid\media\tiledefinitions.tiles, but this tileset is all red questionmarks.
is it allowed to overwrite exiting mods and exclude from update?
So the mod I'm looking at is outdated, and I should use the newtiledefinitions.tiles' definitions, is this correct?
How do I make a recipe require an item be equipped when using it? Like the welders mask when doing metalworking recipes?
I'd recommend checking the recipes you mentioned to see how the game has coded that. Besides that, you should use getPlayer() as a starting point
I've looked into that. These recipes just use the welders mask with KEEP but using that on my recipe does not make the player wear the mask while using it in the recipe.
Hello everyoine
I want to make a mod that will spawn itens on a distant cell
the cell itself are not loaded then I cannot spawn far
Someone know a way to load a remote cell or a event to check when a cell is loaded?
GlobalObjectSystems have a function called OnChunkLoaded(wx, wy) that is executed when the player enters a new chunk. It's used for IsoObjects with Lua scripts (like rain barrels) but maybe you could repurpose some of that code to your needs
Ohh good, I will look for it
Then I can easy put the event x and y on variable and check if the player loaded the chunk! Thanks!
I will test later and tell here if it worked
gosh I've been losing my mind on this, does anybody know the file or directory where the trait Smoker comes from?
I've been trying to locate it to see how it was made and I just can't figure out where it is
Hello everyone, Ive been working on a car parts mod this week and have been stuck for 3 solid days trying to fix the code on installing a new type of battery, The install menu does not appear, I uploaded the mod on github maybe someone can help me out on this, I would much appreciate it! Link to the mod https://github.com/darkstorm2150/Carcraft
Not entirely sure, have you looked for "perks" I think maybe?
Hello everyone
First of all, I don't know English very well. I'm sorry for that. I want to know about a mod. I will use it on my server but I don't quite understand how it works. Can anyone help with this
@bleak grotto Hello! Maybe try asking in #mod_support and make sure to mention what mod and what problems you have!
aye bois i have a question
what mods are good?
i mean like, do you guys have any recommendations for mods?
@hidden estuary Not sure if this is of any use, but I found this while I was looking around for something else:
zombie/characters/BodyDamage/BodyDamage.java
if (this.getParentChar().Traits.Smoker.isSet()) {
this.getParentChar().setTimeSinceLastSmoke(this.getParentChar().getTimeSinceLastSmoke() + 1.0E-4F * GameTime.instance.getMultiplier());
if (this.getParentChar().getTimeSinceLastSmoke() > 1.0F) {
double var3 = Math.floor((double)(this.getParentChar().getTimeSinceLastSmoke() / 10.0F)) + 1.0D;
if (var3 > 10.0D) {
var3 = 10.0D;
}
this.getParentChar().getStats().setStressFromCigarettes((float)((double)this.getParentChar().getStats().getStressFromCigarettes() + ZomboidGlobals.StressFromBiteOrScratch / 8.0D * var3 * (double)GameTime.instance.getMultiplier()));
}
}
oh my GOD why is it on body damage, this is pretty much it
traits be fucked
thank you
Anyone have a nice list of mods to be used in multiplayer that extends the vanilla gameplay experience but doesnt add any game breaking items or features? I have found the Filibuster's Used Cars (great but does add some slight game changing vehicles) and Expanded Vanilla Firearms (Good balance so far, havent found all new weapons though). become Desensitized (Because it just makes sense after bashing 1000 skulls), and some model update mods, but looking for more.
Trying to preserve the difficulty and risk of the game, but add variety and content basically. :)
Only way to do that would be to manually sort and sift. Game breaking is pretty ambiguous and means a lot to different people.
Hi, I wanted to ask something I couldn't figure out.
I've created my own mod, which works as intended without any errors.
There's another mod called ScrapWeapons which works without any errors.
When my mod and ScrapWeapons are loaded together, ONLY IN DEBUG MODE, I get an error on ScrapWeapons distribution lua file. The error line is this;
table.insert(SuburbsDiistributions["all"]["postbox"].items, etc...
And Stack Trace says;
attempted index: items of non-table: null
Meaning that the table does not exist.
Another note here is; my mod does not even touch any postboxes.
So the questions here are;
- Why does this error happen when I load both these mods at the same time?
- Why do I get an unrelated error? Meaning that, my mod cannot have any incompatibility with that mod's postbox distribution.
Thanks in advance for any help
@stiff urchin not really ambiguous at all, its pretty much just preserving vanilla balance and difficulty. EX: A weapon added one shots 3 zombies every swing, that would be a game breaking item, or an invulnerable vehicle that blows through zombies unimpeded, these would be things that are somewhat breaking.
Good EX: Expanding firearm models, that use the same ammo types and deal similar damage, that would be expansion based on vanilla principals. Adding char creation items that serve no combat purpose, or adding more types of baseball bats for diversity. These are the kind of things I am looking for really.
not too familiar with how assets scripts are handled, but does your mod have a script file with the same name as one from scrap weapons?
I think the loader for mod scripts might overwrite rather than merge scripts with the same name
Being said, I am also thinking about making a mod (with expensive recipes) that allows us to modify vehicles (late game skill levels) into Mad - Max style rides. But its been 10 years since I really got into and wrote any mods, Seems like a fun project for the game.
I mean...in a sandbox game like this with varied playstyles between multiple people "game breaking" can mean a lot of different things. Obviously, something that 100x the rate of sledges or something would be op, but in general, it really depends on the type of experience youre looking for as well as alternative sandbox options.
Cool thx but i need basicaly all of them xD
Yeah, I do understand what you mean completely. I hope you understand what I meant as well about preservation. Either way, I need to resume my hunt for mods of just the right caliber then to bring into my live servers
Defnitely! Exactly what I meant by different definitions of it, we have two opinions...and thats ok! 😛
Hi guys, I have a strange problem with foraging of some modded items.
Instead of saying "2 Small Salt Rocks", the popup above the head gives me "<full texture path> 2 small salt rocks". Could it be that it somehow fails to find an icon for a small texture, and why, if the ingame item shows the icon?
it looks like theres a typo in that line
does it happen if your mod isnt enabled?
What are peoples experiences with the player added cities? Quality mods or do they cause issues? Seems like a lot of objects that might go wrong.
Does anyone know what the Neckprotection modifier does at clothing items?
(Long Leather jacket)
if its set to 0.5 then the neck will have half the protection stats of the rest of the body
does that mean your neck is twice as likely to be attacked?
it'd just be the same as if you had lower protection on any other clothing item
With 0,5 modifier:
if you have 20 scratch protection with 0.5 neck modifier then the neck will have 10 scratch while the rest of it has 20
Without modifier:
Ah i get it now. Thank you spongie
Its just a way to threat it seperatly
yeah its because most clothing items cover some of the neck but not all of it
yeap
ah thats cool
Is there a way in a function to have a character equip an item theyre using for a recipe? I have a recipe that uses a welders mask but would like to have it so the character equips it when using the recipe.
Question: Is there a tag or something that determines if a container can be used to boil water?
And second, how do I change this tag for already-existing items?
it's really reasonable but the file names aren't the same. I always try to keep names unique by naming in this context MODID_filename
if my mod is not enabled it does not happen
oh weird
and vice versa, if my mod is enabled and ScrapWeapons is not no error
does anyone using britas weapon mod pack know how to find a silencer or can i craft one? i've searched so many gun places. police station in muldrough, gun store in west point, i have loot respawn on and checked them multiple times and i never get a silencer
any clue how to load mods on server without going through steam workshop?
does it work if I just put them in Zomboid/mods?
in ~/Zomboid/mods, yeah
ah so linux user too I presume? 😅
if you're running the server in steam mode (not via steam, but as a steam dedicated server) you can also put them in the mods folder of the zomboid server installation
yeah, Linux is what I do work on
I do feel less lonely hehe
what does your mod contain?
It contains a new custom item, with a custom model, icon and a distributions lua file
and ofc a custom texture
the mod link to be specific. It's nothing fancy, and the errors don't seem to cause any game breaking bugs but I couldn't find the time to test if it affects the distributions in the game.
https://steamcommunity.com/sharedfiles/filedetails/?id=2709965544
I kind of think this is not related to my mod, since the errors can happen with some other mods under the same circumstances. But why does this happen with my mod and the others enabled at the same time?
some mod conflict maybe?
table.insert(Distributions, 1, distributionTable);
your mod is overriding the built-in distributions
are you hooking some functions?
hah
change that to table.insert(Distributions, distributionTable)
think that's probably it
definitely
they'll still get merged correctly, but some mods might assume the defaults are in Distributions[1]
I'm personally not a fan of that distribution insert method.
why not?
i see, ill check if that solves the issue, and contact the mod author
For one, I don't understand why it even works in the first place? 😄
but why can this be happening when my mod is enabled with them?
It shouldn't work AFAIK, I think there's funky extra code to make it work?
😄
what's the mod?
the error creating one is scrap weapons a pretty popular one
mine is linked just up above
the one by djvirus?
i thought it made sense, felt like sql queries dumbed down
but the table names are so messed up tbh
i use only use new version and it produced these errors yes
it should also require the workshop new version
I dunno, I guess my simple answer as to why I don;t like that insert method is that I worry that that distro insert method has potential to mess up things unintentionally that the method that I like to use doesn't?
Again, I don't understand it so I don;t like it 😄
I know the method I like works without issue if it's done properly so I stick to it?
what s your method ? 😄
so Scrap Weapons directly modifies the vanilla distribution table
o rly?
and your mod changes the vanilla distribution table to something else
can you explain what i did 😄
i have two mehods of distributing
methods*
one is insert into procedural tables
the other hardcode into vanilla tables
two things
table.insert(Distributions, 1, distributionTable);
Distributions is a table of distribution tables
Okay, so this was written in a deliberately grouchy over the top comedic voice, because at the time there was a lot of confusion and problems with bad distributions stuff? But it details the "simplest" IMO way to insert items into distro tables with minimal potential to cause problems, again, IMO?
#mod_development message
the vanilla table is found at Distributions[1]
your table.insert(...) puts your table at Distributions[1] and shifts vanilla to Distributions[2]
and then you do this:
--for mod compat:
SuburbsDistributions = distributionTable;
which points the global SuburbsDistributions to your smaller distribution table
which only contains swiss army knives
I got it, so how should i distribute my items then if i may ask?
The method I linked to "works" and is simple, if that works for you?
lemme check 😮
that approach looks good to me and is what Scrap Weapons does
the only caveat to be aware of is if you need to modify the distribution for a container of another mod
you obviously need to make sure that mod is loaded first, or use the OnDistributionsMerged event
Anyone Successfully Migrate map chunks from one server to another. I have pulled my base over but all of my containers do not have my loot in it.
What I do for other mod containers is check to see if the table exists, and then if the other mod tables exists, then I insert into it. Needs some extra care to ensure it works properly with file names, load order, etc,
yeah that'll work as long as the other mod does the same, don't want them just overwriting the changes you put in
using the table.insert(Distributions, table) approach is what handles merging it automatically
it just recursively merges everything in Distributions to a single table
how do you manage load order? I read somewhere that lua reads mods in an alphabetical order so we didn't have any say on order
Yeah, TBH I'm pretty dumb so I always prefer directly modifying tables over using a middle-function to handle it? 😄
Easier for my pea brain to wrap around.
I got the lua file you've provided @willow estuary and thanks for that
anyway to fix your existing Lua file
just change this
table.insert(Distributions, 1, distributionTable);
--for mod compat:
SuburbsDistributions = distributionTable;
to this
table.insert(Distributions, distributionTable);
btw @tacit ermine i did add this from a tutorial on youtube
--for mod compat:
SuburbsDistributions = distributionTable;
I thought it was a must
alrighty
this okay 😄
and do you guys know what the list name beforehand means?
such as;
ProceduralDistributions["list"]["BedroomDresser"]
list before bedroomdresser
It's just part of the table structure for the PreoceduralDistributions table?
Not sure if it serves any purpose, might just be an organizational conceit?
for instance Blair's lua calls them [all][bla bla]
Tables are really flexible, so sometimes people do extra funky stuff with the wiggle room?
Yeah, I'm actually switchign away from using the bracket formatting with my distro stuff myself 😄
and some dont even have a 2D list
It's hard on my eyes!
😄
anyways I'll mess with them when I have some time and get some understanding then
thank you guys both @tacit ermine @willow estuary
@willow estuary hello, think it would be doable to move #mod_support higher than #mod_development in the channel list?
also having a more convincing topic would be nice I guess 😅
it looks like the person who set the topic wasn't really sure
Yeah, moving it to the top for support of mods. Also it may not be very clear for many on what each channel is for, especially non native english speakers. Maybe changing modding to modding-dev, modeling-dev, mapping-dev? Or just a change in name to be more clear what each channels purpose is.
I like the dev idea, it's clearer
yeah I think -dev is good
agreed
#mod_development makes it look like the logical place you'd go to discuss mod lists, requests, ideas, etc. and a lot of people mistake it for that
totally
it sounds like the go to place about mods if you don't know where to ask your question
I guess pz_chat is the only other place for "general mod discussion" that doesn't fall within dev/support
Maybe add a mod discussion channel too, for the mod lists, ideas, ect.
yeah it should probably be renamed to "mod-development" or something like that
@winter bolt add some thumbs up then 😛
oh i didnt see those messages lol
thx 🙂
@tacit ermine about my earlier question with non-workshop mods, can it be done for the dedicated server too? or just when hosting a game with "Host" menu
not sure how to enable mod on dedicated server unless you have a workshop ID
oh
hm
I think the workshop ID is just so it can download them from Steam (and tell users which to download), maybe you can just put the mod name in server.ini's Mods option
hmm that doesn't sound right, I usually only put the workshop ID in servertest.ini, unless the same workshop id has multiple mods
you cant if you dont know the workshop id
100% sure it can't be done?
if you dont have the workshop id and the mod name it just doesnt do anything
yea
there are ways to get the workshop id i think but if they dont tell you the modname you're probs screwed
well I know for sure you don't need the mod name, unless for the case I mentioned just before
you might be able to fiddle in the steam workshop files and find it manually
on your c drive
thing is it's not on the workshop
what I said is correct, it'll try to load mods you specify in the Mods= server option
ok let me try that
I've tried to do just one or the other to save on time and its never worked for me
works perfectly fine for me with only workshop ID though
give it a shot then it wont hurt
big if but if you really want the mod you could download something like filezilla and dump the mod into the server directly and see if it works
not sure if this works for zomboid
moveables use the ContainerType flag in the tileset properties to determine it's type of inventory. you can view them in TileZed. ovens use a ContainerType of "stove", but there's also "microwave" and "barbecue" attached to other appliances. I'm not sure what you're trying to do, but maybe explore that.
obj:getSprite():getProperties() might be useful
I know the microwave, stove etc are there at least
ok so just the mod ID (the id from mod.info) in Mods= doesn't seem to load the mod :/
any way you can upload it to the workshop?
well of course I could but I would like to be able to test a mod before uploading 😂
just set it to private :)
it feels like "put your stuff on production and see if it works", so wrong
I wish there was another way
last time i checked i thought you could set workshop items to "unlisted"
publishing to Steam every time you change a line of code is a terrible workflow
exactly my point
can you check what's happening in ChooseGameInfo.getModDetails(...)?
I'm reading GameServer#doMinimumInit and it definitely should be attempting to load your mod
will check
I guess the good question would be is Hosting == Dedicated
in which case no need to use Dedicated
you mean via the main menu??
yes
let me check
it's supposed to be done in lua but it's also possible with java
I don't use an IDE myself
you won't really find much in terms of an IDE for Lua
guess IntelliJ has some form of integration though
been using visual studio code personally
any editor will do, IntelliJ might give you some context sensitive tips
that is for other games tho
what is?
huh?
oh, you're using vs code for other games
ye
no reason you can't use vscode to edit zomboid Lua
LUA mods
pretty much all you're going to get is syntax highlighting and semi-smart completion on Lua standard library functions and some simple user defined types
you might want to check this: https://github.com/pzstorm/capsid
so lua would be simpler to use ?
yeah
Java modding is a bit experimental and it's not quite as terse or loose as Lua
i guess you can do more with it ?
im only planning on making a simple mod to start with
the game being written in Java means you can do extend it with anything within your technical capabilities, yeah
you can do more, but for example you wouldn't be able to distribute your mods through steam
Lua modding is restricted to "official" extension points
unless you make users install something manually of course
i see. the thing i am planning on making is just to play a sound when a key is pressed. should not be too hard to make
definitely go with Lua then 😅
Is there a rapid way of testing a mod you’re writing?
Like if I want to change variable increments and immediately test
you can reload lua from the in-game lua console
depending on what your mod does that might not speed it up significantly (i.e. you have events when the player is first created), but it's something
looks like it's using the same JVM as the main game when you're hosting through main menu
but it's using the same config etc
I'm not sure what it's doing then, the GameServer startup process is signifcantly different from what MainScreenState does
like if I add mod with Host menu, I can see them in my server config
and it just puts it in the Mods option with the mod name, it doesn't try to update WorkshopItems?
Sorry for the off topic question- just joined 5 minutes ago. Is there a text channel for discussing dedicated server hosting?
oh, so that launches a CoopServer
I guess it does yes
just general chat, or support? there's #old_techsupport for the latter, not sure about the former
Yeah I’m looking and that seems to be the winner. Thank you!
hey guys, I'm working on this simple mod that adds a new spawn region with spawn points based on the character's profession. It works just fine on single player but not on our private server since spawn regions are defined in servertest_spawnregions.lua which is usually located outside the game folder, inside C:\Users\YourUsername\Zomboid\Server. I wonder if there's a way to get it to work without having users manually edit the server lua files to add the spawn points
hmm so I have these lines of code in my mod:
print("DEBUG1: " .. tostring(player))
print("DEBUG2: " .. tostring(player:getModData()))
print("DEBUG3: " .. tostring(player:getModData().getOrCreate))
local modData = player:getModData():getOrCreate(TheReturned.id)
``` but I get a crash because getOrCreate does not exist, but when I look at the code ModData have such a method so I'm not sure what I'm doing wrong. Any clue?
OnSpawnRegionsLoaded gets triggered with the list of regions after loading the server file, you could add yours in there
player:getModData() is just a Lua table (defined in IsoObject), not a ModData or GlobalModData
oh damn you're right, I was sure it was returning a ModData object
but why is there a ModData class then? 😅
it's for world global ModData that isn't associated to any one entity
wondering why there's not using the same ModData class everywhere
ModData isn't actually ever created, it just holds a bunch of static methods (that call into a singleton GlobalModData)
someone have the github with all the events ?
I exported them a couple days ago https://github.com/pz-extender/extender/issues/1
Nice, thx
I think it's mostly a legacy thing, only foraging (old?) uses it
newer things seem to be done with the GlobalObjectSystem
@tacit ermine cool, I have looked into it and from what I see I would have to do something like Events.OnSpawnRegionsLoaded.Add(spawnTable). I wonder how I should go about actually adding it to the mod, would a new file in scripts dir with the event call suffice? (first mod I'm making for PZ so i'm not sure)
I am using RequiresEquippedBothHands = TRUE, to try and make an item be required to be equipped in both hands to be carried like a generator, I don't receive any errors but the item is still able to be picked up without being equipped. Is this old or is there a new replacement?
no, you need to give it a function
what about https://pzwiki.net/wiki/Modding:Lua_Events?
Events.OnSpawnRegionsLoaded.Add(function (spawnRegions)
table.insert(spawnRegions, { name = "My Spawn Regions", file="..." })
end)
I was thinking of another one, I use this one normally but i know there is a github too. And github has a dark theme
oh I see
anybody know how the um
fog works
is it like rendered
or like
I tried editing this pack file called weatherfx
to change the hue of the fog but it didn't do anything
what do you mean by "is it rendered"
it's done in a screen space pass with a fragment shader you can edit in media/shaders/fog.frag
oh neat
ok cuz
I had a mod that changed the fog to different colors
I need it for my RP server next month
I just need to find a way to color it red
look at the various fog colour fields on ClimateManager
try calling transmitClientChangeAdminVars() on ClimateManager after changing it
oh nvm, that doesn't work from the server
does anyone know where the hair cutting item requirements are stored in? I checked almost all files and couldn't find it
is this how you add additional items to a module? trying to get the battery to install on a standard car.
This done by player:getInventory():containsTypeRecurse("Scissors"), so your item need to be a scissor type
ahh but where does this exist? And I didn't see a scissor tag on scissors item definition in items_weapons.txt
ok hoping someone can help here...
I made a copy of the journal in game.. new name.. i am using ItemZed dont know how else to make a new item
Is there away i can make it so it has text on the pages by default?
It's in media\lua\client\XpSystem\ISUI\ISCharacterScreen.lua but no idea where to define that your item is a scissor type
I'll try my luck with tag rn, and thanks for the info 🙂
"type" there is just the name in the script
Wait no, player:getInventory():containsTypeRecurse("Scissors") check if you have an item scissors
i.e., matches module Base { item Scissors { ... } }
yeah that's it, so you can't add an object that cut hair without redoing the whole function
😄
nice edit 😄
i guess it checks the name rather than tag
so either I'll have to define a new cut hair function or idk :S
it just checks if it contains "Scissors"
just define your item as item Scissors But Not Actually { ... }
It will not create a problem in the game if two items have the same name?
they don't have the same name, one is called "Scissors But Not Actually"
the haircut code only cares if it contains "Scissors", not if it's an exact match
though, if you have both scissors and your item it might use the scissors instead
Oooooooo, that rly interesting ! That, that will help me
sometimes it's not just contains but startsWith, so good practice to make "Scissors" the first part of the name if you're doing things like that
oh actually, that might be wrong for this specific case, ItemContainer might be the one place it does search for an exact match
I am using
RequiresEquippedBothHands = TRUE,
to try and make an item be required to be equipped in both hands to be carried like a generator, I don't receive any errors but the item is still able to be picked up without being equipped. Is this old or is there a new replacement?
anyone planning to make it happen? https://www.youtube.com/watch?v=-0l8GCanhBQ
Project Zomboid used to have a insanity that was quickly removed but what was it like? In this video I look at some of the remaining leftover sound files for the insanity system in the game.
system is kinda already there
there's a second bit in ISInventoryPaneContextMenu
it might be bcz I tried naming my item (x here is old original name) "XXXX_Scissors" and it doesn't see it as a scissors
if generator then
if not playerObj:isHandItem(generator) then
context:addOption(getText("ContextMenu_GeneratorTake"), playerObj, ISInventoryPaneContextMenu.equipHeavyItem, generator);
end
elseif corpse then
if not playerObj:isHandItem(corpse) then
context:addOption(getText("ContextMenu_Grab_Corpse"), playerObj, ISInventoryPaneContextMenu.equipHeavyItem, corpse);
end
elseif
the equipHeavyItem callback seems to be what handles those
@pearl prism I use speed demon for all my play throughs and let me tell you that APC gose super fast, I hope this is not intended lol, breaks the immersion of being a heavy beast
very epic, thank you!
anyone use itemzed?
Hey, new to modding PZ, hoping someone might have some good information I can look for on where to get started with the scripting side of things. I understand it's mainly Lua based, but don't know where I can find objects, events, etc.
camel by camel
https://zomboid-javadoc.com/41.65/
https://pzwiki.miraheze.org/wiki/Modding:Lua_Events
https://pzwiki.net/wiki/Modding
https://github.com/quarantin/pzwiki/blob/main/data/json/parameters.json
Otherwise searches in the game files, in the discord and pinged messages of this channel
Thanks, I'll read through this stuff and see what questions come next 🙂 thanks.
Welcome, there is other stuff but it's what I use
we other just say check the pins xD
what your plan for first mod ?
@abstract raptor Any luck with the magenta zombie blood mod?:P
awesome, can ya give me a ping when you do? 😄
anyone have a recommendation for a good storage (bigger crates, etc) mod?
using getEmitter():playSound() and the audio is choppy do I need specific encoding or something ?
Is it a custom sound?
yes it works fine if I play on a grid square but on players its choppy and other issues
playing on a grid square would be fine if the radius wasn't like 10 tiles
Hmm, I know the audio is weird when it's attached to a player. It seems like it flips between left/right channels randomly. You could try adding 'is3d = false' to your sound, but I think that breaks the sound falloff. (Where it gets quieter the further away you are.)
#mod_development message
hello i'm having an issue with uploading my mod
even so everything is up to spec
i checked for hidden files
i can't even upload the mod template
my mod is multiple submods, does that require anything?
ty ill look at that
Is it possible to create a new type of zombie definition and specify where it spawns?
For example, I assume the game has a definition for police zombies and they have regions in the game where they are most likely to spawn
you should check authentic Z
Does that mod have zombies that spawn in specific locations?
figured i should ask here, if i have mods installed locally, can i join other servers that dont have mods?
@ionic galleon just put more than one mod in your Workshop/YourMod/Content/mods/
Mod suggestion: TV Guide that incorporates all modded TV channels. In the 90s my Grandmother got the TV guide. So Mailboxes should have a pretty decent shot of having a TV guide.
i did
I have used every method i know to find the file it's complaining about
what does your file tree looks like?
like i've tried new folders, spaming ls -a, used root
hmm maybe try to upload just one, and add the other after?
same story
i can't even upload the template
like even if i just copy the template folder I can't upload anything
it's driving me insane
are there any mods that make playing cards and playing dice more than just junk items?
Is it possible to eliminate the vanilla professions and create customized ones in which there is no possibility of having trait points and also, that depending on the profession you appear with one equipment or another?
Planetalgol had a mod that lets you use dice
And I believe soulfilcher has a mod that lets you play with junk items like toys and playing cards to reduce boredom
Playing Time or something
Thanks a lot, I appreciate it 🙂
how do I change climate colors in mp?
My goal is to have a mod that turns off the vehicle when you get out. I've found the onExitVehicle event and alternatively a custom keybind that wraps around the interact key. However I can't find any information on what commands I can run, how to get status, etc. It feels like part of the docs is missing
How do I find the list of available commands like 'player.exitVehicle()' or whatever it is
I use a command-line and grep
Hi, does anyone know which mod or how to make a mod that makes vehicles claimable? I saw a few servers do it B40 and I want to know if its possible in B41 and how to do it if yes
Is OnNewGame supposed to run when the player respawns post-death as a new character in a single player game? Seems contrary to the docs but maybe I'm misunderstanding
anyone able to help me make a custom journal with pre-assigned text for ppl to read? I have Itemzed but dont know how to add text to it etc
Any suggestions for mods to prevent other players on a server from using your stuff? We're one faction but want an ability to have "our" stuff.
I think itemized no longer works, in any case with me it crashes
oh i dont get a crash downloaded from the website how can i make a item mod without it doing what i want instead? do you know
Depends the type of item you want
hello! does anyone knows how and where the game handles the choice between a male texture with or without chest hair? all I know so far is that the ui for that option is controlled by some lua files in media/lua/client/OptionScreens and I am also able to manipulate it and show the chest hair option also for women. but how does the game in case of men knows which texture to use? where is this controlled?
I want to make a new journal item with a custom name and have text pre-assigned to it for people to read.. so no putting own text in just pre-set text.. i want to use it as part of a map i made
No idea for the text part, but start look at this https://github.com/FWolfe/Zomboid-Modding-Guide
In the script part, you have how to make an item
thank you.. ill read it over tonight when i get home
hopefully can work it out.. the map is made for our RP server so this custom journal i wanna do a custom pistol to.. basically just a copy of one with a different name lol will make great additions to the rp part of the map 😛
I advise you to try to make a notepad with some text already in it. I know it was a feature a long time ago, I don't know if it's still there
when i do have one to test.. can i add it into my map mod file as long as its under media/scripts?
ok will do ty ^.^
No idea, never made a map but the best way to test an item is to start the game in debug and use the item list to give you the item
ok cool ty ^.^
just figured if i can add it into the map file as well wont need to download extra mod for it 😛 ill try it out if i can work out how to do it lol ty again for all the info.. ill play with it and come back once iv had a try
Would it be hard to make a mod that makes 10% of zombies sprinters?
https://steamcommunity.com/sharedfiles/filedetails/?id=1992785456&searchtext=custom+zombies Such a mod seems already to exists. Not sure how good it works though
Ooh, ty
It says it's updated. I'm pretty sure. It will be for solo also
It will be for solo. Also Is default shambler or fast shambler? In apocalypse
i am sorry. do not really know how the mod works. i just remembered that it somehow exists but i have never tried...
Hoping someone here has heard of a certain mod or familiar with a mod that I saw linked in a video a while back, but I can't find the mod anymore. It's a mod that allows you to pick up backpacks that are over-encumbered.
Hey there, is the Paw Low Loot (41.50) mod compatible with build 41.65? / Is there a patch that makes it compatible?
Does anyone know if there’s a mod that would add like a cosmetic slot to my character. Basically like if I want to wear a dress but I’d like to keep the protections of everything else opt into only showing the dress?
#mod_support is better suited for this question
Thanks
Is there a mod that does the equivalent of 7 Days to Die blood moon by chance?
I feel like there should be
Has anyone seen the emergency broadcast system play when connected to a multiplayer game?
I'm sitting around on the hour mark, tuned in, and I don't hear it
just <szzt> <bzzt> etc
(i realize the irony of me asking if this is broken in multiplayer since my mod is supposed to break it, but my server is vanilla right now)
local name = scriptItem:getDisplayName() if name == getText("DisplayName_NameOfItem")
This throws me the missing translation error. getText("DisplayName_NameOfItem") returns "DisplayName_NameOfItem" instead of the name set inside the translate files. The translate is working properly in all other places, like the name of the item itself, I've tested it using other languages. But it seems this line of code is being called before the translate files are loaded. Is there another way to verify if the item is the one I'm looking for? Or if there is a way to require for the translate files?
You could use Lua to make a UI element that shows you the text. You could also add an option to the right click menu for the journal, using Lua.
are there any guides for creating UI with lua?
is there any extra steps I have to take in order to require files in lua mods? I'm trying a simple Got it 😬require of /media/maps/<customSpawnRegion>/scriptB.lua from /media/maps/<customSpawnRegion>/scriptA.lua and the require keeps failing
ive been playing around with alot of map mods/other mods in my own private server to just see which ones are working and not and it seem that some of them just arent showing up on the new ingame map and mini map. for example grapeseed, over the river, fort knox, erie county, is there somthing im doing wrong when loading them. I'm pretty new to modding but it seems pretty straight forward.
hello, can anyone help me, when i use the comand /addxp, say no such user?
Does anyone know where in the files you can find the sprites for items in the non-fucky formats?
Like, just .pngs of items like they are presented in the inventory
@weak moss https://www.dropbox.com/s/dnirnjphryhtc8w/Tiles-Apr-06-2021.zip?dl=0 in the 2x folder
err, thats moveables
Thanks man 🙂
That's not all of the items, but that's a good deal of them. I have more sheets I could DM you if you like.
I'm guessing there's no format with all of them as individual files already
Someone mentioned earlier they had done so, might be worth searching upwards a bit. I haven't gotten around to it yet
I'll check, tyty. God I hate discord as a searchable forum
sign, sealed, delivered
does anybody know how this method actually works?
"containsTypeRecurse(String)"
Is there a synchronized map mod to let faction members see other faction members on the map/minimap
hey every one..
Im trying to add this custom journal into my map..
in my mod folder for custom map i have media folder under that i have maps and scripts.. map works fine.. but the item script i have, isnt showing in the item list as admin to spawn...
imports {
Base
}
item GyazoJournal {
DisplayCategory = Literature,
Weight = 01,
Type = Literature,
DisplayName = Gyazo Journal,
Icon = Notebook,
CanBeWrite = true,
PageToWrite = 20,
StaticModel = Newspaper,
WorldStaticModel = Newspaper_Ground,
}
}
@plucky pollen I'm not sure if items are available by default in the admin item list. You could try to add a handler for OnKeyPressed or something and spawn the item directly in your inventory to see if it works
or even directly spawn the item in your inventory from OnCreateCharacter or something
try using debug mode instead
so what does weaponlength do
How many tiles away a weapon can hit a zombie
gotta love single core lua
150 tests per seconds
well it will take 6 hours to get lucky, unlucky, normal loot statistic for a million samples each
good time to sip a tea
it seems like fileio is waaay slow
idk if it's an issue or not
I hope there is a way to add lua coroutines
so i can add asynchronous queue for the writing the file
and keep the main thread going for generating the loot
You mean, a mod that makes backpacks able to carry more weight than they're supposed to, or...?
How can I add a tooltip to an added context options ?
btw does anyone here know if there's a way to remove the pixilation of 3d object in game
or is it because you need really small model to make them work relative to the character
I've heard it; did you manually enter the frequency from another save, or find it saved as a preset on a random radio? The frequency is random, so the former won't work.
howdy
I'm trying to do a little tweak on a mod.
That mod is recycle and reuse almost everything. I want to get rid of the recipe to getr screws from lunchboxes.
The fourth line is the one that had the lunchbox items listed there. As u can see, I deleted those, but they still appear in game (new game). Am I perhaps missing some piece of code or do I have to turn off and on the mod for changes to take effect?
No, I saw a video that talked about a mod that allows you to pick up a backpack once it's over encumbered. Like if you die with too much stuff in a larger backpack and you normally can't pick up that backpack from that body, this mod then allows you to pick it up regardless of the encumbrance.
Trying to figure out how a backpack becomes over encumbered is the thing... like, one character had the Organized trait and you dont?
No, modded backpacks.
When large weight bags get too many things in them, you can't pick them up until you are able to finally access them and pull the items out. But an issue I have had is that if you die, the backpack is still attached to that body and you can not open it up to transfer items out of it to them pick up that backpack again.
This is a post for the Modders, there are already a group of mods ingame that will cure the virus completely which is nice to have but a bit of a cheat. It would be nice to have a mod that can slow zombification down but not cure it completely like zombrex from dead rising. So you have to basically medicate for the rest of your life until the medication runs out or until you succumb to the virus meaning that when you need another dose you will slowly lose a bit more health and you will no longer be able to get your health bar back to max again. Is this something that can be done? If so it would be a great addition to both single player and multiplayer as it creates a new game dynamic, for trading currency or holding people up in desperation
In my headcannon, with our characters being immune to the ariborne version of the virus, I believe they should be able to resist it as well.
However, what I love about this game, is that everybody can have it's own playstyle and tweak it to it's preferences, so I second this idea.
Anybody know why this dosnt work?
recipe Combine A + B = Gunpowder C
{
GunpowderA,
GunpowderB,
Result:GunpowderC,
Time:250.0,
}
If I have a Gunpowder A and Gunpowder B in my inventory, the recipe dosn't show up at all.
But if I have 2 Gunpowder A or 2 Gunpowder B then the recipe shows up... I have no idea why this happends
do not put + or = in the name of the recipe
Or combine A plus B to C
Mix A and B
but ye
I'm learning to make Custom Moodles
since I want to make a happiness mod 
why only be not unhappy when you can be happy
It's strange, because this works:
recipe Combine A + A = Gunpowder AA
{
GunpowderA,
GunpowderA,
Result:GunpowderAA,
Time:250.0,
}
or this:
recipe Combine B + B = Gunpowder BB
{
GunpowderB,
GunpowderB,
Result:GunpowderBB,
Time:250.0,
}
but A + B will not work? So strange
idk it might have special meaning somewhere else
I changed the name to Combine A and B to Gunpowder C and still it dosnt work.
If I have a Gunpowder A and B in inventory the recipe dosnt show up, it only shows up if I have atleast 2 Gunpowders A or B lol
maybe the spaces in the recipe names might mess it up?
you could try using underscores
i doubt its the cause but its the only thing i can think of lol
the other Gunpowder recipes also has spaces and they work perfectly, its only the A+B recipe that dosnt wanna work :/
what does the entry in the crafting menu say?
hmm I havnt checked that
Did you not forget to do the item GunpowderC, or a error in the name?
on what MrBounty said, it's possible your recipe never worked and the one you're seeing when you have 2 of each is a different recipe
No Gunpowder C exists, and it works to create the item if I have 2 Gunpowder A and a B or 2 Gunpowder B and 1 A, but if I have only 1 Gunpowder A and B recipe dosnt even show up lol
does it show up in the crafting menu?
hi! does anyone knows what the line "WorldRender = FALSE" means? This can be found in some of the script txt files. for example, all bandages and wounds seem to have this line.
Can anyone help. I'm trying to add the WestPointExpansion map installed on my server (Nitrado)
Here is what I've tried in the servertest.ini config
I cannot get the map to load
Mods=WestPointExpansion
Map=west_point_expansion;Muldraugh, KY
WorkshopItems=2195155059
Any help would be appreciated.
Oh yeah it does! I just crafed one, A + B into a C with craftin Meny, but recipe won't show up when right clicking on the item like the other recipes, strange
Atleast it works with Crafting menu
seems to literally stop it from rendering when you place it in the world/on the floor
oh huh, that's odd
very
That makes sense. Thanks!
seems to only be concerned with sprites, though, not sure if 3d objects are handled differently
Anyone have a link to the modders discord?
i'm making a mod and would like to search the prior conversations in the discord for research
theres a modding discord?
A related question: If you select bandages or wounds as starting "clothes" in sandbox (unlocking all clothes), they are not shown in your ingame inventory when the game starts although they are technically under the category "clothing". Does anyone knows which part of the lua codes is responsible for this? So which part of the code makes it happen that a selected denim jeans is shown in your inventory while Bandage_Head is not for example?
WorldRender = FALSE
probably, its the only thing unique in their item scripts
all my searching keeps leading me to dead links going to a "modders" discord
discord links that have expired
so i figured someone in here might be in it currently
idk about a discord but these channels have modding stuff regularly
this is probably not the case. at least for me, other items with WorldRender=False can still be shown in your ingame inventory. (did some tests)
is there any good way to remove an vanilla item from spawning? All methods I have tried havn't worked at all
it could also be because of "group:setMultiItem("Bandage", true)" in lua\shared\NPCs\BodyLocations.lua
thanks! that's an idea and i'll try
spongie have you authored any released mods?
yeah
what ones?
^ Great mods
😳
both are the reason i decided i wanted to make a clothing mod actually lol
so i've been doing research about it, though i intend to make a more weeb-ish one. i want cat ears 
probably a good idea
any tutorials you'd recommend?
and it's been very insightful
Oh very cool thank you
Can I add a tooltip to an added context options ?
I am now attempting to use the MoodleAPI in the CommunityAPI git will be fun
does not work either. nevertheless, was a plausible idea to try that. thanks! 🙂
oh weird
Hi! Sorry for the noob question. I can't find any option in game to select parts of specific mods in the server settings like you have for single player. How you do that and what happens in mp if a mod has multiple "versions" or "options"?
bandages are handled directly on the BodyDamage parts afaik
oh crap wrong chat sry
Hello everyone, I want to understand the working logic of a mod. There is a reset area system. Is there anyone who can help with this?
Preset on a radio
One that i spawned in
Ah, hm. It triggers at the top of every hour?
correct
So it should work eventually.
hrmmm
Oh, it didn't then? Mm.
maybe i need to find one in the world?
oh
Not 100% sure though.
it shouldn't be tho because i don't have any problem in singleplayer in muldrough
I'll hunt around the save files and see if i can find what the freq is and see if it's a bug on spawned in walkies
thx for confirming you've seen it work tho
Yeah, big multiplayer server too
i can also confirm that on our server (another one than the abovementioned) we have heard the automated emergency broadcast
I'm not sure if it's a mod or not but how do I add more spawn locations to my server? Right now it's just a random spawn (instead of being able to choose the city like some servers have)
you should have a spawnpoints.lua -file in your media/maps -folder, i'd guess based on making a custom map once
ah, not in media/maps by default but in the separate subfolders (i.e. Muldraugh spawnpoints are in maps/Muldraugh, KY/spawnpoints.lua)
If such one exists, then it could be a server setting that enables/disables them?
Great, yeah I have those files and I can see the map pos's for the spawnpoints but when I die, I want to be able to choose the city
I wasn't sure if that was a setting or mod
It sounds more like a server setting than a mod, but I can be mistaken. Hope you figure it out!
There is steam workshop tab to load mods, then the mods tab allows you to remove the optional portions of a mod you don't want to use.
oh so if i add the mods to the server from the steam workshop one then it will use what i select in that menu?
The mods menu allows you to choose, lore cars or real cars for phils used cars.
The steam workshop tab allows you to load that mod unto the server.
What should it be then?
Im basically just trying to recreate the journal as a new custom item next i need to work how to add custom text for people to read
Was in debug mode.. went into itemlist and couldnt find it
@plucky pollen well just spawn your item directly from your mod? So you'll see if your item is working or not?
thank you, got it @valid terrace
oh weird
Anyone help me?
How can i do that? Sorry
I guess something like: getPlayer():getInventory():addItem("Base.YourItem") or something?
Got it time to add more serial killer energy
Fairly new here, but was wondering what zombie item spawns would be under? (for LUA distribution)
not sure it's going through the distribution system
zombie loot is generated when they die
I'll explain what's going on then; helping a friend of mind add new distributions to loot tables, and he was wondering if it were possibly to say, for example, add a fire extinguisher to a zombie's loot table, or change the clothing/stuck weapon/attached weapon they may come with.
I gues syou could easily add whatever loot you want on the corpse using OnZombieDeath() but no clue about the items he's wearing, stuck weapons etc
I figured it was worth a shot asking, but thanks! I'll try digging into the discord some more, maybe it has been answered already 🙂
There's more! 😉
So this is all from my own stuff, and is sloppy and full of commented out stuff etc.?
But should provide you with a template to do all that stuff?
This would be for general zombie inventories, not outfit specific.
table.insert(SuburbsDistributions.all.inventorymale.items, "CokeBaggie")
table.insert(SuburbsDistributions.all.inventorymale.items, 0.05)
table.insert(SuburbsDistributions.all.inventoryfemale.items, "CokeBaggie")
table.insert(SuburbsDistributions.all.inventoryfemale.items, 0.05)
Oh that'll definitely help for sure, I appreciate you sharing!
Cool, that second file gets into attaching visible items to zombies by outfit? And also involves some custom body locations and items from my stuff so it's not directly usable FYI 😄
you can also find all the valid attachment locations in AttachedLocations.lua (and can define new attachment points on the NPC model in models_items.txt)
"Radio.Flashlight_Military" what the fuck did I fuck up there?!?!?! 😄
ah good to know
hello, i was trying to make a alert sound mod, but when i test it ingame, it just plays the default one
is there a requirement for the sound to be in some format or size?
Anyone know if there is a mod that makes zombies blind?
Can't look ATM, but I just had a idea for like a bat zombie type of deal. Like that movie with the guy from the office.
Had lots of fun making this, thanks to this channel and everyone who suffered before me, CTRL+F ftw. https://steamcommunity.com/sharedfiles/filedetails/?id=2715654337
I'm interested in commissioning a couple modders, if you have previous published examples of your work on the workshop feel free to DM me.
You looking for anything specific? clothing, weapons, or maybe custom cars?
Sorry fell asleep.. where do i put/run that? Sorry all new to me. I only just finish making my first map ha
nice work as always, snake
looks cool indeed
Thanks!! 😄 3D models made by Truji! I only make the textures for that models! 😄
@plucky pollen could work in the debug console I guess
haha ok ty
A lot of texture work also! 😄
Greetings, dear modders. Is there a guide on what should go in client/shared and /server folders for LUA?
Like, what's the logic behind running the script in a specific folder, I understand that concept-wise some code is executed in the client only, but what's shared, and is there any explanation on how to do it properly, to avoid desync data?
Need to do some things for ammo maker about 3D models (Need to do some cans for cases and lead)
where can i put a question around to coding/modding please? i have a problem with script 🙁
You can in #mod_support , or here
ok ty 😉
I know Rod's but I not do that mod (Sorry about my language I speak spanish)
Ah, I saw it in your workshop so I thought it's yours
so i loaded it to my test server i have and it works item is in item list im guessing my local host wasnt working cause i had wrong setup? it shows 3 of my maps names for somereason
Ok, so.. how do I add pre-exisiting text to it?
anyone able to help with possible conflicting mods?
yeah its right here #mod_support
is there an easy way to add extra variants of existing items (for example: more backpack colors)
yes
go into the clothing.xml
you have two options
i need a little help.. i made a custom journal item.. not replacing old one but i need to force it to have text when ever its spawned same text.. how can i
- you can set texture choices
<textureChoices>clothes\bag\totebag</textureChoices>
it just needs to path correctly
awesome thanks, ill look at that
the cheapest way to do it is to have a white texture but enabling this <m_AllowRandomTint>true</m_AllowRandomTint> as number 2
does changing this require a server restart? or will newly added bags now be able to spawn
for changes to take effect?
yes, of course
you can edit xml's locally and have the change take effect
but i would not expect that in MP
ok thanks
can anyone pls help with this? 😛
item GyazoJournal {
DisplayCategory = Literature,
Weight = 01,
Type = Literature,
DisplayName = Gyazo Journal,
Icon = Notebook,
CanBeWrite = true,
PageToWrite = 20,
StaticModel = Newspaper,
WorldStaticModel = Newspaper_Ground,
}
just want find if possible to add pre-exisiting text to it when its read
Look I added two new object types for my map
Hey guys any idea where loot stored in containers is stored on the server? Like which files? I transferred my server to another computer, but the items in the containers are no longer there. Thanks!
which file governs the spawning/despawning of zombies please?
where are vanilla item icons located?
how do I set things like fog intensity from server transmitClientChangeAdminVars() doesnt work
Hello!
I made a simple mod that adds some pieces of furnitures as moveable (barbed wire fence, military crate, tall metal lockers...) so i could spawn them as admin. I basically reused the code from the NewMoveable file that just associates a tile to an item.
Problem is, i would like these moveables to be indestructible once placed on ground (like the barbed wire fences). How would i go about that ?
Thanks!
is there some api that allows to automate mod releases to steam workshop from cli? having to open pz every single time I want to release a mod update is a bit annoying
what is the workflow you guys usually use for releasing updates?
If i tested it enough, i then release it hahaahhaa
That being said, I just finished a release but i want to make sure it works before releasing this updated version. Any way to get people to test it?
In VirtualZombieManager.java there is this function:
public void createHordeFromTo(float var1, float var2, float var3, float var4, int var5) {
ZombiePopulationManager.instance.createHordeFromTo((int)var1, (int)var2, (int)var3, (int)var4, var5);
}
Where do I find the ZombiePopulationManager.java?
ZombiePopulationManager.java is in /popman/
@drifting ore rofl, fair enough. Regarding testing, I usually work with two separate branches (git/github): Production and Testing. I work on testing branch and once I'm done I'll do a test release (this a completely separate workshop item with "hidden" status) and install it in both our personal dedicated server to see if it works on multiplayer and then locally for solo gameplay. If nothing breaks I proceed to merge the testing branch into production and make the official release to workshop.
wtf is n_spawnHorde some kind of global function? Its used in ZombiePopulationManager but cant find where it is defined, only declared.
bear in mind I'm new to mod development so I'm still coming to terms with the ecosystem
Yeah sounds about the "normal" procedure, as a standard release, like in real world development for projects
My issue falls with my lack of resources to test it more in-depth in MP
Especially for high user counts and such
zombie/Lua/LuaManager.java
public static void spawnHorde(float var0, float var1, float var2, float var3, float var4, int var5) {
for(int var6 = 0; var6 < var5; ++var6) {
VirtualZombieManager.instance.choices.clear();
IsoGridSquare var7 = IsoWorld.instance.CurrentCell.getGridSquare((double)Rand.Next(var0, var2), (double)Rand.Next(var1, var3), (double)var4);
if (var7 != null) {
VirtualZombieManager.instance.choices.add(var7);
IsoZombie var8 = VirtualZombieManager.instance.createRealZombieAlways(IsoDirections.fromIndex(Rand.Next(IsoDirections.Max.index())).index(), false);
var8.dressInRandomOutfit();
ZombieSpawnRecorder.instance.record(var8, "LuaManager.spawnHorde");
}
}
}
all i can find regarding that
my advice is make updates less frequent but more substantial. if you want people to use the mod anyways in a MP environment. every update causes a desync between clients and servers, leaving clients unable to join until the server is restarted and updated.
ok thanks Khrodes
So I guess the spawning and grouping are different. i.e the game spawns a bunch of zombies and the zombiegroupmanager groups them eventually? Doesn't seem to be anything about spawning groups themselves
Getting anxiety from updating my mod and recieving negative reviews 
Don't let it fuss you; there's all these confused anxious newbie players and server owners that don't understand how things work?
thats about normal for updating software... the anxiety lol. the bigger the project and the more on the line the worse it is XD
@drifting ore Totally understand. Wish I had something like a QA team for my mods (xD). Currently I rely on a small group of friends that play on our server to test it and give it the green sign or not, but I see how this can quickly become unreliable for mods with a very high user base. On a side note, imagine having something like a CI/CD pipeline mod releases... It would surely save up time and allow people to use the saved time to do more testing
yeah, coincidently enough I was thinking about this very issue after having to restart our server multiple times to "resync" the installed mods
probably quite cumbersome for large servers
with hundreds of mods
its a real issue for larger dedicated servers who dont always have someone at the drivers seat
lmao
I know someone working on a few tools to make updating mods/automated restarts easy to do
@sour island that's really interesting. Is it an open source project? would love to chime in and help with that
we can get you into contact with him
he can use them help
Yeah, fear it a lot since my mod got over 30k subs in a week 
about a week ago i would get anxiety about uploading updates to mod because theyd get followed by what seemed like a cacophany of complaints for stuff that was completely out of my control sometimes
disable comments
i have settled on the mindset that the moment you download any mod you immediately sign a deal with the devil outside the normal realms and perimeters of the game and you alone take the blame if something snaps because you were the one who grabbed it
and i really cant with some of them
expanded helicopters especially
i have shifted away from getting anxious because this is one of my hobbies and its insane to put that much thought into something people get unusually mad about
Disabling comments is ultimately not helpful
rofl, yeah. I considered disabling comments too, but feedback can really be useful so I ended up not doing that
if you're getting comments it's because there's something wrong - the issue is they don't know how to explain stuff
disabling comments is usually just an antisocial activity by drama queens
What do you mean closing the door doesn't make the zombie horde go away? Smh 
though I only have a single released mod so I didn't get any negative feedback yet, so let's see how things turn out
only reason ill ever disable comments is because i am actively not working on something
putting up a FAQ with instructions to fetch console.txt has made the experience alot less painful
and have no willingness to hear about it
can anyone help me with my item mod im trying make? i have it in game.. just not sure how i can do what i want to do
I like my solution. i just dont upload my stuff to the workshop (other people end up doing it) 😅
I'm just sick of ppl asking "Does it work in mp?" bro just read the description please, it's there... and in other comments too...
i want to post comments but not have them enabled 😦
steam workshop in general is overdue for about 5 years worth of quality of life updates in one go
comments also stop coming the second everything is stable
having mods keep old files and seeing users have old versions of mods that are two updates behind is sad
which is sad cause I'd be nice to get showered with compliments
at least to the degree to match complaints
agreed. I need my ego massage from time to time too...
steam awards are better than comments and you don't need to read any complaints 🙂
i wish that was the case
Just waiting for these awards to turn into NFTs
still gotta hold your nose and find the useful stuff in the ocean of suggestions, free requests, and people getting mad
i swear, steam awards are like chuck e cheese coins
i need help with the notebook / journal for my mod please
?
sorry sir, this is the only thing accepted at the epeen counter
currently i have it as journal but can change to notebook if easier?
I have a custom journal but i need it to be pre-filled with some text meant to be a dead persons journal
item GyazoJournal {
DisplayCategory = Literature,
Weight = 01,
Type = Literature,
DisplayName = Gyazo Journal,
Icon = Notebook,
CanBeWrite = true,
PageToWrite = 20,
StaticModel = Newspaper,
WorldStaticModel = Newspaper_Ground,
}
unless there's a lua call for oncreate that may be difficult to do
oncreate in this case not being crafted but literally created
you could run a function in fillcontainer
how would i do that?
there's an event called 'OnFillContainer'
I'm not sure that it handles zombie deaths though
there's also OnZombieDead if you want the books to be on zombies
i just want it to spawn some place containers are fine
I made a map for our rp server and kinda want this to expand on it further..
how and where would i use onfillcontainer? in the same .txt file as the item or?
the ironic thing is if the game isn't doing something already it tends to be alot of work
this would involve programming in Lua
writing a function that ties into an event the game calls
onfillcontainer should apply when you open new containers
so you'd have to put the books in loottables
then during this event you'd modify books found/spawned
having things be in specific places may even be harder
could i have it spawned just on my map then already to start? so there is just 1 journal? or..
oh 😦
I wrote (with the help of konjima/co/etc) a spawnerAPI that can take care of the spawning things in certain places
but even then you'd have to write the function
ok, without alot of help for me atm not going be easy.. i got no idea how to even start 😦
it's not a too complicated idea

