#mod_development
1 messages Β· Page 62 of 1
Nothing, it's java
Ah ok
got one for telling how much time of an alloted block has passed. basically start time / endtime based on the current time? a countdown timer basically.
i cant seem to make my mod call the time actions.. does anyone know how to use it?
im using bowser8's radial menu mod
function OnPumpRefil(playerIndex, context, slice, vehicle)
local playerObj = getSpecificPlayer(playerIndex);
if playerObj:DistToProper(vehicle) >= 4 then
return
end
--local typeToItem = VehicleUtils.getItems(playerIndex)
for i=1,vehicle:getPartCount() do
local part = vehicle:getPartByIndex(i-1)
if not vehicle:isEngineStarted() and part:isContainer() and part:getContainerContentType() == "Gasoline" then
local fuelStation = ISVehiclePartMenu.getNearbyFuelPump(vehicle)
if fuelStation then
local square = fuelStation:getSquare();
if square and ((SandboxVars.AllowExteriorGenerator and square:haveElectricity()) or (SandboxVars.ElecShutModifier > -1 and GameTime:getInstance():getNightsSurvived() < SandboxVars.ElecShutModifier)) then
if square and part:getContainerContentAmount() < part:getContainerCapacity() then
if slice then
context:addSlice("Refuel Station Pumps", getTexture("media/ui/vehicles/vehicle_refuel_station.png"), RefuelStationPumps, playerObj)
end
end
end
end
end
end
end
------------------------ ---------------------------
VehicleMenuAPI.registerSliceOutside("context", OnPumpRefil)
------------------------ ---------------------------
---------------------- ---------------------------
function RefuelStationPumps(playerObj, part)
if playerObj:getVehicle() then
ISVehicleMenu.onExit(playerObj)
end
local fuelStation = ISVehiclePartMenu.getNearbyFuelPump(part:getVehicle())
if fuelStation then
local square = fuelStation:getSquare();
if square then
local action = ISPathFindAction:pathToVehicleArea(playerObj, part:getVehicle(), part:getArea())
action:setOnFail(ISVehiclePartMenu.onPumpGasolinePathFail, playerObj)
ISTimedActionQueue.add(action)
ISTimedActionQueue.add(ISRefillStation:new(playerObj, part, fuelStation, 100))
end
end
end
------------------------ ---------------------------
context:addSlice("Refuel Station Pumps", getTexture("media/ui/vehicles/vehicle_refuel_station.png"), RefuelStationPumps(playerObj, part), playerObj)
im made a modified version of ISRefuelFromGasPump, called it ISRefillStation
when you use (), you are calling the function, not passing a reference to it
so ill just remove the ones inside?
i'm not sure of the exact syntax of addSlice, but you want to pass RefuelStationPumps and it probably takes the arguments separately, like context menus
context:addSlice("Refuel Station Pumps", getTexture("media/ui/vehicles/vehicle_refuel_station.png"), RefuelStationPumps(), playerObj)
if you use () it's calling the function in that place, so it's putting the return value of your function, not the function itself
so ill remove it too?
context:addSlice("Refuel Station Pumps", getTexture("media/ui/vehicles/vehicle_refuel_station.png"), RefuelStationPumps, playerObj)
yeah like that
thank youuu
you can probably just add part to the end too, context menus have weird syntax but slices look normal
like context:addSlice("Refuel Station Pumps", getTexture("media/ui/vehicles/vehicle_refuel_station.png"), RefuelStationPumps, playerObj, part)
not about the player index but could it be possible that the moded vehicle is the reason i recall xyberviri telling me that the other vehicles have diffrent names for the gastanks
function getPartV(car)
if car == nil then car = krp.car() end
local pt = nil
if car:getPartById("GasTank") then pt = car:getPartById("GasTank") end
if car:getPartById("1000FuelTank") then pt = car:getPartById("1000FuelTank") end
if car:getPartById("500FuelTank") then pt = car:getPartById("500FuelTank") end
print("Vehicle Gas: "..pt:getContainerContentAmount())
print(CheckFuel())
return pt
end
iwrote this not sure if it will help
I'm working on adding some gun attachments.
Can anyone explain what each part of "ModelWeaponPart = x2Scope x2Scope scope scope," is representing in the weapon's item script?
The weapon part type twice and then the attachment point twice?
I can't be of much help, and I'm also interested in this topic. I am fairly certain that the last two terms are not attachment point references though.
function RefuelStationPumps(playerObj, part)
if playerObj:getVehicle() then
ISVehicleMenu.onExit(playerObj)
end
local fuelStation = ISVehiclePartMenu.getNearbyFuelPump(part:getVehicle())
if fuelStation then
local square = fuelStation:getSquare();
if square then
local action = ISPathFindAction:pathToVehicleArea(playerObj, part:getVehicle(), part:getArea())
action:setOnFail(ISVehiclePartMenu.onPumpGasolinePathFail, playerObj)
ISTimedActionQueue.add(action)
ISTimedActionQueue.add(ISRefillStation:new(playerObj, part, fuelStation, 100))
end
end
end
Nice! Want
What is y'alls opinion, More or Less options?
MOOOORE
more
less
I was thinking since I have the RGB sliders, maybe having the full color spectrum up there is kind of redundant. idk I like the rainbow though ππ
also should i integrate TTsKO variants into the surplus mod or make an offshoot for it on its own
main one already has around 25 uniform sets
actually ill just only make soviet TTsKO nevermind
so, how does the base game handle pills? I cant find any LUA files for them... So I would appreciate any pointers, I cant even find where the game is hooking the event trigger for taking them
which pills?
Any of the anti-dep, painkillers, or beta blockers
they're java if i recall
U might want to speak with the author of imeds
Yeah, I can see all the med specific code in the Class BodyDamage section of the JD, but I was really hoping they wouldnt be like that
if i remember, taking pills is a timed action that triggers some hardcoded java stuff
Their mod is why I initially landed here, since I noticed they set up some REALLY deep nested ways of triggering their med functions while I was digging through different med/drug code
Ye ive been there . I just worked aorund it. Since its hard to comprehend. And nyamops is out of his country so he couldnt answer much
Hardcore modder lol
i wanted to buff the herbalism health stuff, but basically all health stuff is java hardcoded
all i can think of is just reading the java and reimplementing the behaviour yourself, it's probably not actually that complex
Yeah... So my current fear- Checking out their steam, and their mod stuff... No updates or changes since March 8th- and they are russian :(
The way he did it was he made bunch of listeners and not sure if i can call it class but i looks that way
He can speak in english
I talked to him before
His name in discord and steam isnt same
You sure? Nyamops on both
Like lots of other modders
On both?
Yeah
Seems like it
I see messages from them on here with that name, mentioning the med mod, and that is their steam name too
But the most recent message anywhere is from July
Yeah, I just mean that whenever I see a modder from Russia go MIA since the spring/summer I get worried :(
So I'm trying to make a true music addon for PZ and I want to change the thumbnail that shows up on the workshop, but I can't find any option to do so and file manipulation has been unsuccessful so far. Can anyone help me?
how did I miss that-
Okay, thank you very much!
This is the technically the first time I'm "making" a mod, nonetheless on the workshop, so I'm obviously rather oblivious.
Anyone that has done Vehicle scripting, mainly for Motorbikes, would I be able to have a hand.
First time doing one myself.
hey guys, Im trynna make my world perma winter, without it being like -100 like in cryogenic, anyone know a way?
there's a temperature sandbox option, i'm not sure exactly how strong it is though
whats the difference between a static model and a world static model?
afaik world static model refers to ground 3d items and static models refer to weapons, hats, glasses, etc
hmm, the water bottle seems to have both, so maybe static also refers to when its in hand
Well yeah the way to add a visible item in equipped hand is to set a static model and add hand masks.
anyone know which container type is used for survivor caches?
like the containers full of weapons you find in survivalist houses
Seems to be defined by instance and not by type
Like- I think it designates a house as a survivor house, and then changes the contents accordingly
ah darn
All java and handled by iso player bools
4 hours late
Its all good haha, I appreciate it. Do you know if those are all closed off, or if I were to code it into LUA would I be able to mess with these variables to mimic the drug effect?
You would have to link them up to a function yeah, though keep mind the actual drug in game will do the same
So say you set anti depressants to true along with their delta, you are basically on anti depressants
for sure, I am looking to make a comprehensive drug mod- like, the not so legal kind. So I would like some way to mess with those variables, since the code is otherwise locked away for creating new meds that work in a similar way
Its quite difficult to do anything like that since we can't java mod yet, or possibly ever without piggy backing off game code
Yeah, but I will try my best :) So many different tools at my disposal, just a matter of finding some way to piece them together
Exactly that, with enough time I'm sure you will get the desired effect you are looking for, or close to it
I spent a good amount of time yesterday trying to find a bump anim which is basically just a bump, and not a hard shove. Something that could be seen as the player "jumping" or being scared
And ended up just going with the player dropping what they had on hand
Where are save game located? would like to back up my save
users/zomboid
I'm not sure on the exact names, You can go to lua/shared/StashDescriptions and check the files. You can see there are things like spawnTable and addContainer, those names can lead you to the right Distribution tables.
Possibly you are looking for SafeHouseLoot or SurvivorCache1,2,... or MeleeWeapons or ???
is it possible to simple just paste this on lua debug and the player wioll do the action?
ISTimedActionQueue.add(ISPathFindAction:pathToVehicleArea(playerObj, part:getVehicle(), area))
idk how to get the params for it tho
is it possible to force the player to wear a mask or gloves for example to craft a recipe? like they actually have to have it equipped.
Through the OnTest it should be possible in the .txt file of the recipe
if you want to queue equip action, you probably should do that before the IsCraftAction
Technically you could put that in the OnCreate function aswell
a bit confused on how to do this lol im just tired XD
onceate would have to do magic equip Vs real equip though?
Couldnt it add a timedaction to equip the item before creating the item itself?
OnCreate is called from inside a TimedAction though, right? So the equip action would just get added to the queue after the ISCraftAction.
for animation the craftaction checks prop1,2 if that is all you need.
Some samples would be great ππ
I can link you GitHub code for equip, but it's not in any way related to recipes.
Sure anything that helps is appreciated!
Iβm just trying to add that extra immersion when crafting certain items lol
Is there any vanilla recipes already in game that require you to wear/use the items needed while crafting? Maybe I can also use that for some pointers
recipe Open Lid
{
destroy SealedInstantNoodles_s_1,
Result:Missin.CupNoodles_s_1,
Time:40.0,
Category:Cooking,
OnGiveXP:Recipe.OnGiveXP.None,
Sound:OpenSeedPacket,
OnCreate:Recipe.OnCreate.RemoveLid,
Prop1:Source=1,
}
recipe Add Water
{
Water=1,
Missin.CupNoodles1,
Missin.NoodlePackets,
Result:Missin.InstantNoodles1,
CanBeDoneFromFloor:true,
Heat:-0.22,
Time:20.0,
Category:Cooking,
OnCreate:Recipe.OnCreate.AddWater,
OnGiveXP:Recipe.OnGiveXP.Cooking3,
Prop1:Source=1,
Prop2:Source=2,
}
@flint beacon heres what i did for my cupnoodle mod
recipe Craft Meth Table
{
keep [Recipe.GetItemTypes.Hammer],
Nails=12,
Plank=8,
destroy Anhydrous_Ammonia,
PZ_Flask=2,
BucketEmpty,
PropaneTank,
Pot,
CanBeDoneFromFloor:true,
Result:Mov_Methlab,
Time:1000,
Category:Meth,
AnimNode:BuildLow,
Prop1:Source=1,
Prop2:Source=2,
Sound:Hammering,
OnGiveXP:Recipe.OnGiveXP.WoodWork5,
}
and here are a couple from my drug mod
Anyone know how to retrieve cells other than the currently active one?
hm, somebody familiar with stash system? I see no chance for them to happen? They happen only after reading? / finding? the stash map? π€
I looked for a getcell(x,y) or similar on getWorld but doesn't seem to be exposed?
As far as I remember they spawn when the annotated map spawns
hello pardon the stupidity, Is it possible to give a placed object (ie. cookingpot) the functionality of a barbecue or is it only possible if DisplayCategory is set to furniture
Anyone familiar with the day length sandbox options and any implications on perHour events?
I'd assume it would be a non issue but I got two reports for EHE where people with longer days are getting significantly more events than what they set the frequency options to.
Two different servers, one has 6 hour long days, and they got smacked
Where can I find all the possible lines for an item?
You'll have to skim the Item.java file
And the scriptManager file
Where can I find it? Surely i dont have to decompile files right?
You kind of do π
You should be able to open a class file at a time with windows though - but if you plan to really get into modding it's just easier to be able to skim the java from time to time
This should probably get pinned but
Libraries for IntelliJ use: https://github.com/Konijima/PZ-Libraries
Basically gives you autofill/lookup for Lua functions + with the decompiled source you can shift+f/n search terms/filenames
With usage jumpto as well let's you skip around the files to see what's used where
I know others use vscode but I'm not sure if they figured out a way to get lookup of Lua functions
There's also PipeWrench which is typescript but also has lua lookup
Sorry for the info dump, I don't know how far you want to dive into modding
Are moderators the only ones with pinning powers or do the blue names have it as well?
I see, Ill check it out!
Atm im searching for the line that adds / removes Tiredness. Ill try using just Tiredness -50 and see if it works π
If you see another item using that, then it should work π
Just saw this, thanks π» - I'll toss this on the wiki with the other one when I get a chance. There isn't like a big Spiffo folder on your desktop by any chance?
Found it, its FatigueChange
hey I wanted to ask if anyone knew where the glove model is for the pz character
cause im new to pz modding and dont know where everything is yet
Gloves other than the Boxing Gloves will be just a texture layered over the body model's texture.
The textures are at "media\textures\Clothes\Gloves"
The boxing glove models are at "media\models_X\Skinned\Clothes\M_BoxingGlove_Left.X" and "media\models_X\Skinned\Clothes\M_BoxingGlove_Right.X"
`wait how do you add new gloves item to the game?
It's a bit of a process
https://steamcommunity.com/sharedfiles/filedetails/?id=2648115890
okay ima bit confused
There's models(shape) and there are textures(skin) - you can reuse the same model and just change textures as needed.
You need to define both in an item script
cells don't exist as an object as far as i can tell
getCell() gives you the loaded area around the player, it's not actually related to mapping cells
Is there anything in isoworld?
But yeah, generally, if the area isn't loaded there's not much to grab there
there were some weird objects you could mess with, something like servercell or something, but they didn't really have any interesting methods, and i didn't check if they were actually exposed anyway
Yeah, I might check out zombiesimulator to see what kind of shenanigans I can get from that, but that's the only system I know of that operates even close to unloaded cells
Thanks man Iβm also working on a standalone cocaine mod from planting the seeds to almost every process that it takes to make it.
I also tried to spawn and move around an IsoPlayer before but I couldn't get it working to load cells at the time
I think superb survivors has this issue - with NPCs loading in and out and not having any simulation working in the background
u need to do farm mod... thats goona bee hard.. im glad i didnt need do the cocaine par t of my mod cuz our server is set to kentucky and you cant grow coca there.. goodthing its the original lore they followed otherwise im sure im gonna get stuck on the farming thing. esp cuz i never ever once planted anything in pz lol
function SRainBarrelGlobalObject:changeSprite()
local isoObject = self:getIsoObject()
if not isoObject then return end
local spriteName = nil
if self.waterMax == RainCollectorBarrel.smallWaterMax then
if self.waterAmount >= self.waterMax * 0.75 then
spriteName = "carpentry_02_55"
else
spriteName = "carpentry_02_54"
end
elseif self.waterMax == RainCollectorBarrel.largeWaterMax then
if self.waterAmount >= self.waterMax * 0.75 then
spriteName = "carpentry_02_53"
else
spriteName = "carpentry_02_52"
end
end
if spriteName and (not isoObject:getSprite() or spriteName ~= isoObject:getSprite():getName()) then
self:noise('sprite changed to '..spriteName..' at '..self.x..','..self.y..','..self.z)
isoObject:setSprite(spriteName)
isoObject:transmitUpdatedSpriteToClients()
end
end
im looking at this fioguring how to change sprite of an object without destroying it
and i saw this noise again.. xyberviri told me before that is like a print but i never understood that... now i tried to use noise. it just errored
public void noise(String format,
Object param0,
Object param1,
Object param2,
Object param3,
Object param4,
Object param5)
i dont get it
it's just like print but it can be turned off
function SGlobalObject:noise(message)
self.luaSystem:noise(message)
end
function SGlobalObjectSystem:noise(message)
if self.wantNoise then print(self.systemName..': '..message) end
end
Yeah itβs almost done, the farming part was the first thing Iβve finished but I think Iβll need to redo it when they update how farming works
I was trying to work on a upgradable workbench system to where you can upgrade a sprite that replaces it with a level 2 version of it and unlock new recipes with it.
ow ok thnx
any idea how id go about adding oven/microwave function to a non tile object ?
what do you mean non tile
Like an item?
yeah just a found in container item
Itβs super easy to make a tile and do it that way but through an item I feel it would be more complicated
Am late, however you can also use PipeWrench's typings as an alternative lookup to exposed API for modding.
Does anyone know how I can affect the containers that load at Runtime?
Like the first time? I think there's an event called onFill
not really what I meant. So basically the small cardboard boxes that are found in game are called Moveables.trash_01_25. I am trying to attach a visible model to those containers. I've done it successfully when creating a new item. But the closest thing I can use as a reference point for what I am doing is the Visible Generators mod created by blair. He was successfully able to overwrite the Generator that loads ingame at Runtime. So when you find a random generator out in the world. When you pick it up it has the StaticModel he attached to it.
I've been racking my brain all week trying to fix this tiny issue. I've currently gotten the item version I created functioning exactly the way I need it to. But I've been stuck at this one issue all week. When its solved I can finally get back to creating a new model for it. Since the one I have isn't up to my standards.
You try adding WorldStaticModel=YourModelName to the script txt?
I like the immersion
Yes I wish I could explain this easier. The box in my hand has the WorldStaticModel working correctly. Actually everything is working as you would think it would for immersion purposes. BUT heres the thing. The box I have in my hand IS DIFFERENT from the cardboard box you will find when roaming in the game. The box in my hand is called Mov_Cardboard Box. But the one you see next to my on the ground is called Moveables_trashcontainers_01_25. I am trying to make the Moveables trashcontainer the one my model overwrites.
Okay okay
haha.
What you need to do is add a prop to Moveables_trashcontainers_01_25 or whatever
Big oof. I'm confused. Can you explain a little better lol. Sorry.
π€
Yeah, I am trying. Working from two computers right now
Donβt the props only work for when crafting a recipe though?
in client/Moveables/ISMoveableSpriteProps.lua line 47
it is reading all the props that will be used by the game when you pick up a moveable
When its picked up, client/Moveables/ISMoveablesAction.lua takes over, reads those props, and spawns in the item for that moveable. FOr most moveables, its a generic item which just holds a copy of the state of the moveable so it can be placed again.
(sorry, i am slow working through it all now, this is just me reading the source and figuring it out)
Lua. My arch nemesis haha. Gawsh I wish I could program lol.
I figured it would need some lua tho.
there is a prop CustomItem which looks like it may be what you want to set
I am checking the spawning code now to see if its actually used, or just leftover from another time (which there seems to be a bit of)
Okay thank you. I would love if you could help me figure out exactly what I need to do that would be awesome lol.
Welp, that is the other direction
So the CustomItem is not what we want
I am looking
I really appreciate it.
β€οΈ people always help me here, just paying it forward
Actualllyy
it does look like CustomItem will work. But you will likely need to implement the place yourself
π the thing is. If I can figure this one process out. I could do this for so many items in the game. Which I hope in the future I could drop for everyone. But NOT before I speak to a few others.
is there a way to jack up spawning?
like
i wanna make 2x as much zombies spawn during night and then when it turns day they despawn
is that possible
yeah its possible i think there are a few mods on the shop that allow you to edit those type of things.
ah
am i able to insta-despawn zombies though?
cause when day comes i want all the zombies that i spawned to despawn
Well I've used nothing but scripts to create what you see now. So I am limited on the state changes of my box. Let me drop my script. One sec.
has anybody played the new rv interior update? for some reason the interior maps did not spawn in and I'm not sure what to do
i had that happen once and i had to create a new save, also wrong channel #mod_support
modding is for mod developers
check your dm
mb
@frank rivet Something like this:
local scriptManager = getScriptManager()
local scriptItem = scriptManager:getSprite("Moveable.trash_01_XX")
local props = scriptItem:getProperties()
props:Set("CustomItem", "Base.YourItemName")
I think if that fires on game load, or sometime really early one time it should make it so when you pick it up it turns into your custom item.
Can the process work in reverse tho?
Where it says "CustomItem" do I need to put my item there to?
is it possible to force the player to wear a mask or gloves for example to craft a recipe? like they actually have to have it equipped.
No, Base.YouritemName is your item
you can check if they're weaking a certain item
dunno about the making a recipe disabled until its on part
if you could manually disable and enable a recipe that would work
but i don't know
I think the welding works by forcing the equip in a TimedAction
has anyone successfully used setSprite to change a sprite of an existing obj. i can only delete and spawn a new one, but now ineed the obj to stay as it is excpt for the sprite... any clues? thnx in advance
i trid looking at the water file but doesnt work when i try the code for somereason
you used setSprite on an IsoObject?
You can use the onTest / onCanPerform to do this automatically
onCanPerform
?
thing is
itd be best if i could grey out the recipe manually
as if ur missing an item
There's a line in recipe scripts
how would one check what weapon player is holding? I'm trying to get category of weapon player is holding on OnZombieDead event firing. Iassume for getting category I can use getCategory()
https://zomboid-javadoc.com/41.65/zombie/inventory/types/HandWeapon.html#getCategory()
But how do I check what weapon player is holding
Also how does that work in MP? will it check all players? Or only one that killed zombie? In onZombieDead there is no param of player who killed it
it doesn't pass a player because it could die from other causes
so there's no reliable way of catching which player killed it?
you could use OnHitZombie and check if the zombie has died
yea but that makes it do more checks than i want to

Eh if I cant check which player killed stuff I'll just be running my shit every time zombie dies
Not ideally optimized but oh well
What is a good way to add a new recipe to the game? Suppose I wanted to make a recipe for a wooden crate that holds 100 instead of 60, how would I create the new recipe?
You could add a small "last person to hit" on the onHit - so when a zombie does you can rely on that -- but it's not perfect
eh it's ok, I optimized it in some other palce
Doesn't onHit factor in if a zombie will die? Why wouldn't onHit be the more optimized one?
cuz it would run every time z is hit
Yeah but you could have a single if act as a gate to cap any possible performance issues

If dmg > hp
Or whatever the java does to check that
nice idea
@dreamy flicker did you get what you needed done in the end? I have some time spare to look at how you're trying to use the code/your ideal approach for pulling it into an install
but ye i gotit working already and was able to slightly optimize it on other place so gonna leave it as is
Fair enough
No need to kill yourself for the last 20% (referring to the 80/20 rule, where 20% of the effort nets 80% of the reward)
I think it's 20 effort, for 80 -- the argument being you'll spend more effort for a smaller improvement if you're greedy for the last 20%
But maybe I misunderstood that...
Would be kind of embarrassing as I tried to keep that in mind when stuff gets challenging

Never heard it but I assumed you mean "don't spend 80% of effort to get minor 20% reward"
The 80-20 rule, also known as the Pareto Principle, is a familiar saying that asserts that 80% of outcomes (or outputs) result from 20% of all causes (or inputs) for any given event.
Yeah basically, don't burn yourself out trying to do everything perfectly
smort
Nope, never did. Ended up using the old one instead, which is just a fork of https://github.com/garyttierney/project-zomboid-server. But I would love to jump over if you get it working.
huh, I should update the readme on my fork...
I have a guy working on server automation tools if you'd be interested if that's what's being discussed
cool, before I start working on something, can I understand how you're installing the mod onto the server? are you packaging with mvn then copying your config/launcher/ProjectZomboid64.json file over right now?
yeah, basically
I create the uberjar using mvn, plop that on my server, then I have some pre-start shell scripts (which also run steamcmd to keep the game server updated) that then copies over my target ProjectZomboid64.json from a diff git repo (gitOps in a sense)
alright, I'll start with a tarball containing the shaded jar and the json config file
I don't know what anything related to server stuff is
oh man that would be awesome. and if you put it as a release on github, that would be so beautiful
But it sounds like it's similar?
not quite, the code Oxymoron is referencing is for extending/hooking PZ java code on both the client and server
Ah
@sour island did you see this - https://github.com/Oxymoron290/ZomboidZoneResetter
cool, I'll ping you when I have something to share. I think shipping a copy of the config file might eventually run into issues (i.e. compatibility with other mods that patch JVM options or changes to JVM options by TIS themselves), but it's a good enough starter. I can probably just hook up CI to create new releases whenever a new build is uploaded to PZ steam depots to maintain compat with vanilla
yeah, or an install script that just parses the existing json and adds what it needs to. I can easily whip something like that up if you prefer
that's how it works in the newer code, I extend the existing JSON on the fly to create the IntelliJ run configurations
I can extract it out in the future but I'll start with something that'll only take me an hour or 2
would this return true if any part of body is injured?
https://zomboid-javadoc.com/41.78/zombie/characters/BodyDamage/BodyDamage.html#HasInjury()
@dreamy flicker what is it you use it for btw? is it just the HTTP server right now?
That's pretty neat
I call the api using Javascript fetch
Hey guys I run a Zomboid RP server for a rather amazing community. I am looking to Commission a Mod of someone proficient would like to contact me I'd love to discuss the mod.
Is your RP Server easy to join without application or whatever I'm curious?
What do you mean
@iron salmon ty nasko for facilitating this master piece. Also uploaded the laptop spiffo and the survivor spiffo to the wiki π
Hmmm the deposit slips on the table are off perspective

can you do a trucker spiffo? XD
Is anyone familiar with where the code for smoking is?
To explain in more detail I'd like to try and implement different forms of addictions into a game for a mod I am creating, so I would like to understand what makes the anxiety moodle tic, as well as how to sooth it.
yall how hard is the basement mod to make one?
?
look at the RV interior mod. do that.
will do
Hello! I can't seem to figure out why my mask is floating off to the side π
can this be done with Lua?
It looks like you didn't apply transforms to me.
I did, could it be an exporting issue?
Hi guys, how do i configure Brita's Weapon pack settings when hosting a multiplayer?
Hey guys, I'm kinda new but was interested, tried to check the pinned messages but did not find much, is there a beginner tutorial for modding or something I can follow
It's possible, check your Z-up/Y-up settings.
this is what it's default set to
What kind of modding?
Well, now you got me, I was checking this https://www.youtube.com/watch?v=N6tZujOPnDw&t=2383s&ab_channel=Blackbeard, to start with something, but I did not have a specific aim
This tutorial video will show you how to make a simple drink in Project Zomboid. I will go into the steps involved from start to finish. Read more below.
0:00 intro
1:08 Start
1:44 Searching for images to use in game
2:30 Searching for the Sound Effect
3:06 Creating mod file directory
3:54 Creating mod.info
4:34 Creating a poster
7:14 Adding ne...
just wanted to learn about modding mostly
Try exporting with Z-up.
What should I set for forward?
Leave that, it looks like it's already facing forward.
it's certainly progress π
Perfect.
In all seriousness though, I applied all transforms/rotations, though I don't know why it's floating so far?
Is it right side up now?
it's like this now
now I got it back up
I sent you a DM.
theres also setAnimate but dunno how to use it
In Blender, select the model, hit Ctrl + A, then Apply All.
I've tried this, no luck ): What are your export settings?
Same as yours. Is your clothingItems .xml set to static (<m_Static>true</m_Static>) and your item's script definition has BodyLocation = Mask?
Let me check rq
@gritty moss Someone in the modeling channel had issues lining up a helmet and it seems setting the exports to "X Forward" and "Y Up" worked for them.
I had the bodylocation = maskeyes! tested it and no change
You wouldn't believe it, but we found a work around π
Thank you to everyone to helped, I appreciate it a bunch!
maskeyes probably works, I'm not familiar with the attachment names.
Try deleting the .fbx, and regenerate it, and double check your StaticModel
edit: Nice!
when you find the lua function "manipulateSaveFile": time to brick my save!
deleteSavefileFilesMatching
"reload chunks for building" might be a thing
is is possible to show sandbox options conditionally? aka "if you have this mod enabled, show this options in addition to what you ahve"
You could try messing with SandBoxVars. but I'm not sure what the right time in load/boot would get the results you want.
Or if removing stuff from that list would remove it on the UI
You could try jumping into the UI itself and hiding them
anybody got an idea how to check if a player is an admin on the server?
playerObj:getAccessLevel() == "admin"
thanks a bunch!
Is this different to 'isAdmin()'?
yes, isAdmin does not take an player argument
isadmin is just the check
For the client, no?
exactly, i want to check on the server
feel you π
Useful info tho, so ty to both of you
fixed parentheses
nice when release?
Thanks - I did some more reading into it and yeah, seems like kind of a nightmare to achieve what I was trying to achieve. All I was trying to do was get a "total zombie population" figure but due to how the game loads / unloads map grid sections, even that is a bit useless. Cell zombielist is marginally less useless, but only is a valid list of zombies in a smaller region around the player so can't really do what I am looking for. Bit of a shame. Was going to make a "zombies remaining" kill countdown sorta thing
Even the debug tools only put a zombie population onto a cell when the players local cell extends into a grid
Might be possible to game it a bit to track population on cells you have entered, but starting to look like this might be more work than id intended for a simple mod
Is zombie population a fixed cap to begin with? I know it gets modified but is that something that is defined?
Also there's a simulated zombie manager - so the zombies are counted
And it handles simulated and not - if you've ever seen the -debug zombie population tool
For I believe the entire map (?)
I can use addsound to unloaded x/y/x and see simulated movement
After I'm done with my current commission I was going to look into a proper roaming horde mod as I understand the old old horde mod doesn't work
So I haven't had a chance to dig into that system yet - but perhaps there's something in there
Good luck @brittle mesa
Would making a mod that creates a random chance to beat the Konx Infection as time progresses a reasonable project for someone with no modding experience? I imagine it would be something like every x ticks % chance to remove the status effect.
yeah i can even write it for you now.. if u want me too
||
--coded by Glytch3r
local function CureChance()
local bodyDamage = getPlayer():getBodyDamage();
if not bodyDamage:IsInfected() then return end
local percent = 5
if not ZombRand(100)>=(100-percent) then
return true
else
return false
end
end
local function doZCure()
if not CureChance() or getPlayer():isGodMod() then
return
end
local bodyDamage = getPlayer():getBodyDamage();
bodyDamage:setInfected(false);
bodyDamage:setHasACold(false);
bodyDamage:setInfectionMortalityDuration(-1);
bodyDamage:setInfectionTime(-1);
bodyDamage:setInfectionLevel(0);
bodyDamage:setInfectionGrowthRate(0);
bodyDamage:setFakeInfectionLevel(0);
bodyDamage:setInf(false);
local bodyParts = bodyDamage:getBodyParts();
for i=bodyParts:size()-1, 0, -1 do
local bodyPart = bodyParts:get(i);
bodyPart:RestoreToFullHealth();
bodyPart:SetInfected(false);
bodyPart:setInfectedWound(false);
bodyPart:SetFakeInfected(false);
bodyPart:setWoundInfectionLevel(0);
end
end
if isClient() then
Events.EveryTenMinutes.Add(CureChance);
end
||
That's very nice of you, that would be awesome
you still need to test that as i just wrote it for you.. it just so happened that i have the cure codes on my snippets
Glytch3r, thank you a lot man
that shouldn't be too terrible, since you're basiclaly building a node wandering system and then spawning zombies in the players active cell when the two are close
the virtual zombie manager stuff is jsut complexity plus, I wasn't able to get reliable numbers being pulled from it in any fashion
Hi. Is there any API that could be used to get the new version of ProjectZomboid Server was released?
The following GitHub https://github.com/Danixu/project-zomboid-server-docker build an image for each release but relies on some not good source.
Maybe I could fix it but I need to know the right way to get the latest version.
That Dockerfile seems to pull it right from Steam directly via steamcmd, so when you build the Dockerfile it will pull the latest available.
The image registry shows it has the latest (41.78) image released: https://hub.docker.com/r/danixu86/project-zomboid-dedicated-server/tags
Check out https://developer.valvesoftware.com/wiki/SteamCMD
For pulling it outside of Docker (assuming you're on Linux):
steamcmd.sh +force_install_dir "${HOME}/PZServer" +login anonymous +app_update 380870 validate +quit
Hey y'all does anyone know a command off the top that works like Say but is visible to other people in Multiplayer?
player:addLineChatElement()
Started using it in cnd-speech: https://github.com/ChuckTheSheep/zomboid-cnd-speech/blob/master/Contents/mods/zomboid-cnd-speech/media/lua/shared/ConditionalSpeech02_Core.lua
Works in SP as well π
player:addLineChatElement(text, return_color.r, return_color.g, return_color.b, UIFont.Dialogue, vol, "default", true, true, true, true, true, true)
--player:Say(text, return_color.r, return_color.g, return_color.b, UIFont.Dialogue, vol, "default")
Nice... so this appears above their head?
Yes, and in chat too
Included the commented out Say()
Eh?
Under the π -- included a ussage
also
That commented line matters?
No just to show the relationship between the two in terms of arguments
Yes, I think the "default" when changed to Shout/whisper is how SayYell/Whisper works
indeed
What's with the 804 trues?
Uhhh honestly don't recall but they're needed for the correct overloaded method to be called
And does "vol" add noise?
No, say/chat don't add noise - volume is range
If you want to add noise you have to use addsound()
Ah fantastic thanks
I already have addSound(player, player:getX(), player:getY(), player:getZ(), 8, 8)
Just wondered if it might be deprecated
Nah you're good π
I hope they do add VC/chat attraction
π
Use those hand emotes boys
what all items can be broken by shooting them.
Actually sounds don't do anything without addsound() (the name is a bit confusing lol)
thats what i mean tho
not sure but what i meant was doing that
Fair enough, I think the naming convention makes things hard to clarify lol
My bad
Maybe I'll do that before the zombie horde mod
Need to get this commission done tho . _ .
is the first OnPlayerUpdate event too early to sendClientCommand? it seems to never arrive on the server side, i see commands from other modules, so the listener is correctly registered
i have ensured that the module and command strings are 100% the same, also there are no errors in the console/log
Is this something you want to send once?
Or constantly?
Just trying to understand what you mean by too early
it's a one-off command, yes
isDebugEnabled()
getCore():getDebug()
whats the diffrence?
if isDebugEnabled() then return; end
if not (getCore():getDebug() or isAdmin()) then return; end
so, yes, the command is sent exactly once in the first OnPlayerUpdate event but never arrives on the server. i'll test if the command arrives if i send it some time later
interesting, when sending from the first Every10Minutes event it works
Every ten fires after the first ten I believe
And that is a few ticks in
Have you tried OnCreatePlayer?
It fires once already
Although Ive had issues with it in MP sometimes
i'll make sure to try it, thanks
Can I somehow add custom buttons to the Sandbox options tab? I want to give mine a reset button
if you want to send a command to the server as early as possible use ontick
networking isnt available before the first tick
what kind of rest?
lua?
restore to default value
Yes, but I want a more convenient way
local function onTick()
Events.OnTick.Remove(onTick)
-- do your thing
end
Events.OnTick.Add(onTick)
Give the players some way to do it easily and only for that tab
Hey. Why would my recipe still use rotten food when I set "AllowRottenItem:false," inside the recipe?
False is the default value. No idea why that would happen but I see something about Cooking level >=7
at a high cooking level your character can salvage some edible food from rotten food
This is actually not showing in the chat for me... is there something else I need to do to enable that?
It shows over my head but I do not see myself talking in the chat
Oooo i need this too. A text that others can see?
My main goal is that other players see it over my head, so it's not the end of the world to make it appear in chat... just making sure I'm not using the wrong function or something.
I also wanted this feature and i had thos idea of using the cought or sneeze
Sonce thats viewable
Ahh thank you. This is it. That level
That's what Chuck says it does, but he also said it shows in chat, which it is not doing for me, so I'm wondering if this is the right function or not...
Could you point me to that file where this cooking level is defined maybe, pretty please.
RecipeManager.java
Damn, seems like it cant be edited the easy way
Hmmm last I tested it did show up in the chat window but I might have to double check.
You know what, I might be conflating it with processMessage
I use both in cnd-speech
Check the file I linked before - there's a use of it down below - but it's for messages put into chat after the fact
But maybe you can call it yourself
I am actually trying to test whether other players can hear me in nosteam right now... will look at processMessage if this doesn't do what I need
There's also ProcessSay() - it's a bit of a nest
You're trying to get people to say stuff others can hear right? Not typed in?
Did you set volume to 0?
Volume is 8
I'll have to retest my mod to confirm
0 not working either
Hmmm
Okay I think SayShout may be doing what I need.
Also appears in chat.
Hmm
0 would I believe prevent it from being heard outside of the source
It's probably one of the booleans at the end or I misunderstood the volume
If you're able to scan the java you can see what shout does differently - unless shout works fine for what you need.
Then I'd just roll with whatever works π
I am trying to figure out how far away (if at all) zombies will hear SayShout
To decide if the range is acceptable for me...
I was hoping to customize the range, but it's not the end of the world if I can't.
Okay great it seems to make none afaics
That's ideal because I use addSound for the range
are mod name prefixes still a viable way to ensure priority in the load order? e.g. exclamation points
@sour island Btw SayShout appears in my chat, too, so maybe you mixed up SayShout and the addLineChatElement in your head?
SayShout does basically what you told me you though aLCE does
Hello, what are the colors of the moodle backgrounds?
Hey y'all, does anyone know if there is a way to detect if the current player is on a 4k monitor, so I can scale up my UI to actually be readable?
Looking at the Radio, it looks like they are just measuring text, but is that the only way? If so, sure I can do that but I think it would be better to increase padding and stuff as well so the whole UI scales evenly not just the text
there's stuff like local width = getScreenWidth()
oh they use getCore():getScreenWidth()
@bronze yoke For the next fool like me: the reason my item was not appearing in game is because I did not create a textures folder with the corresponding texture in my mod. I did not bother creating a textures folder because I was attempting to use a vanilla texture (just the basic default book texture). That did not work apparently.
does that stop the item from appearing??
Apparently yes
But I added textures and now my item is visible
Same code you said looked perfect
no i'm sure it doesn't, i've put icons that i haven't made yet and it just gives me a circle with a ?
Apparently, the code was not the issue
Well that's odd but all I did was add a textures folder...
Still using this:
module MasteringYoga
{
imports
{
Base
}
item Book
{
DisplayCategory = Literature,
Weight = 0.5,
Type = Literature,
DisplayName = Mastering Yoga,
DisappearOnUse = FALSE,
Icon = Book,
StaticModel = Book,
WorldStaticModel = BookClosedGround,
}
}
Only diff is I added "Book.png" to my own custom textures folder.
Idk I could be wrong about why it's working but that's all I did.
maybe vanilla icons bug it out somehow...?
No clue at all
But fwiw I would point n00bs in that direction in the future
Why it worked eludes me, I just started trying stuff one-by-one that I had skipped, that was literally first thing I tried, and it worked.
how can i change the drop chances for modded items in a multiplayer server?
I know for buckets I didn't need to copy paste vanilla stuff into textures
I'm guessing the chance for items to spawn in? From what point of view, is this your mod, your server?
My server not my mod
And yes
I'm really excited for the animals to be released. I think the framework is really going to open up modding in special enemies by a massive amount
I am hoping to get some of the enemies from RE3 one day.
Does anyone have hopes/plans for when the next builds come in?
You can get a lot out of zombies right now tbh
CDDA zombies, soul Filcher s turning time, and super weird helicopters all have special zombies - there's probably more out there
If you're waiting to jump into modding - no need to wait π
How do I find a texture for an in-game item?
I wanted to use a cash register, but I needed its texture and model 3d from the game, does anyone know how I can get it?
It's not a 3D model, it's a 2D sprite apart of the sprite sheets
and where do i find it?
If you download the project zomboid modding tools, tilezed will give you sprite sheets for all the items in the game. The tiles are not 3d like Chuck said, but are 2D sprites- so you can find them in those sprite sheets
Thank you!!
Sorry to bother you, do you have a tutorial on how to do this? I'm new with mods 
So, what are you trying to do?
For the tile, your just gunna wanna go into your steam library, and search for the modding tools. You get them by default for owning the game, just need to download them. Launch it, then go to ~/steamapps/common/Project Zomboid Tools (or something like that) and open the file thatβs named tiles. All the tile sheets will be in there
@lavish arch
I want to shop at the cash register, I found the item, thanks again π
Is there any solution for rotten food that you can open giving fresh sub contents inside that should instead be rotten?
Theoretically, couldn't you just make a custom crafting function?
Just check the freshness of the item and set the contents accordingly.
I'm not sure how to make a custom craft function currently so I guess I'll need to do that
I believe recipes have an "OnCreate" function, if not you can always add one.
You will have to use the oncreate and apply the setAge function if I recall the name correctly
Greetings, I want to translate the mods in the workshop into Turkish, do I need to contact the creator after the translation, or is it okay if I share it on my own Steam workshop?
if the mod correctly uses translation files, you can just upload the translation files and nothing else
although i would first ask the author if they would like to integrate the translation into the original mod
Even if it doesn't integrate the translation, do I have a chance to integrate my translation into the game server I opened, it pulls the data from the workshop because
getPlayer():getZombieKills() woudl return player killcount, right?
What method should I follow for this?
so long as it uses translation files, you won't have to actually change the original mod to add your translation, you can just upload your translation separately from the mod, so there won't be any issues with uploading the translation as its your own work
if the mod doesn't use translation files, you will need to edit the mod which means you'll have to reupload the original author's work and then you will need permission
Cheers, il copy past it,
anyone knows why this wouldn't reach point 1?
for n = 0, player:getBodyDamage():getBodyParts():size() - 1 do
selectedBodyPart = player:getBodyDamage():getBodyParts():get(n);
print("Bodypart: "..tostring(selectedBodyPart:getType())..":hasInjury() = "..tostring(selectedBodyPart:HasInjury()));
if selectedBodyPart:HasInjury() and ( selectedBodyPart:getType() == "Groin" or selectedBodyPart:getType() == "UpperLeg_L" or selectedBodyPart:getType() == "UpperLeg_R" or selectedBodyPart:getType() == "LowerLeg_L" or selectedBodyPart:getType() == "LowerLeg_R" or selectedBodyPart:getType() == "Foot_L" or selectedBodyPart:getType() == "Foot_R" ) then
defaultOneHourFraction = 0.167; -- 0.167 every 10 min equals to 1 in 1h
print("point 1");
Log says it should work?
^added ss in case it's more readable than code snippet in discord
how do i create custom event that only activates when player is aiming
Is it possible to add a texture to the book that you are actively reading?
I notice even vanilla books are simply red when you're reading them
They do not reflect the color of the book in the icon in your inventory, or the color of the model on the ground when they get dropped.
maybe onMouseDown + additional checks if character has guns in hands?
idk thought never used it myself
Wouldn't work for gamepad players @dull moss
Is it not possible to hook to a weapon ready event or is that on the java end?
In IR, the only way I could find to do it (for KBM and gamepad) was an OnTick that checks whether player isAiming.
I do not know
I couldn't figure out how
i plan to use the isAiming but i want it to also activate a funmction when it is.. or maybe just an ontick or playerUpdate but just returned if not aiming?
Exactly, it can check whether you're aiming pretty fast, shouldn't break the game unless you go wild with what you do when you aim
In fact I can close a dozen UI elements when the player isAiming, and triggering that once does not cause noticeable slowdown for me.
I'm sure you can get away with a fair bit of activity once in a while OnTick, just don't spam stuff in loops.
do more debug prints. base thing
let me check how i did this real quick
model Book12
{
mesh = Book,
texture = WorldItems/Book12,
}
Ahhh interesting
Thanks
So Book for open-reading, WorldItems/Book for open ground
Weird choice of naming but β€οΈ if this works.
model Book12
{
mesh = Book,
texture = WorldItems/Book12,
}
model Book12_Ground
{
mesh = WorldItems/Book,
texture = WorldItems/Book12,
scale = 0.4,
}
model Book12Closed_Ground
{
mesh = WorldItems/BookClosed,
texture = WorldItems/Book12,
scale = 0.4,
}
Awesome
the first two books in a series use the open model, the other three use closed, iirc
Cool, I am not making a series... Just trying to make a small collection of books that teach meditation (grant "Yogi" trait). I'm gonna make them all look closed on the ground.
even if you were, nobody even realises this pattern lol
i'm sure there are very few people to have noticed or cared
Haha fair enough.
I am just trying to make me daggone book look right... having a red border on the brown book I just opened while I'm reading it takes me right out of the game lol
You know because all the other graphics are so flawless and realistic.
LMFAO @ the scaling
XD
Yes, you could look for where it draws a rectangle and pick different colour. In the Lua.
@undone crag It's actually done via .png files that are used as textures for models in the item script .txt files... no Lua for the coloring of books while you read them... but I got it working, thanks in large part to @bronze yoke for showing me the right mesh to texture!
Thanks also to @ancient grail for some good work on the wearing of the pages!
Yes that's a little Buddhist monk in the book...
Woohoooooo
o:
haha this took so long lmfao but at least it worked.
I thought books had the default transparent dark grey with light border though. Maybe it changed or it varies by book.
Oh do you mean the model the character carries? I thought you meant writing on paper. Your character can write in some books.
Yes I mean the book he's reading above
In vanilla, literally every book you read is the red book with white pages.
Even if the book looks brown in inventory
So I wasn't clear whether they COULD have textured their books correctly
@bronze yoke proved to me that yes, yes they could have. Haha.
yeah, the unreleased version of my literacy mod corrects that
Please link me when you're done, I would definitely use it! @bronze yoke
haha that kind of inconsistency bugs me so much
So glad I asked for help and you were online because I was so close to reverting to a red book for consistency's sake
Same, but I assume you're adding more item types of books?
I wanted to add recolored models for Named Literature but the model is pulled from the item script not the item itself π’
And the goal of the mod is to have a tiny footprint item wise so I didn't have to mess with loot distros
I just added a few books with the DisplayCategory "Meditation" and the Type "Literature" if you're talking to me
my mod is focused on skill books, it doesn't expand on the generic books
I was more interested in what I assume are changing models but I don't think what Id like is doable
i just edited the item scripts with script manager, i couldn't have multiple models per book or anything
Hopefully in the future there's item variation that isn't just a whole new item
you could override the model through ISReadABook perhaps?
I suppose you could, but that still leaves the world model
hmm yeah, i can't think of a simple way to fix that
There isn't
Would have to get a lot more hacky
It's not the end of the world though so it's fine
The meditation poses look neat tho
Do you plan to do alot more?
@thick karma
Also I skipped over this - are you coloring skill books differently?
yeah, i just recoloured the book texture to match their sprites
Ah, that's a solid change
I am unsure when I'll get to it, but what I would really like to do is add new attack animations for some melee weapons, rather than just swinging the same way, but I will have to look into how to make animations with items in my hands.
I think the game could use more loving to combat
Some way to charge melee attacks for heavy or quick would be nice
No kidding
That would be great
Does :stop() on a timed action get called when the action completes successfully? Or only on interruptions
Not to mention kicking and punching which get brought up a ton
I believe interrupted
Oof
OnPerform is completed
Interesting, I only see ISUnequipAction:perform() in the unequip event
it's just perform()
So it goes update>update>update>perform and it's done?
Yeah
Update each tick while the time is going
You can also make it loop forever
So the player has to manually interupt it
Okay fantastic... gonna just hook the perform function and try adding a little extra magic to it
on unequip
For weapons?
I think Brita added knife flips to equipping lol
So unequipping should work for that too
Nah unrelated sorry
Meditation looks wonky when you do it with an item. Currently I have it begin to unequip item when you trigger sit, but since sitting is in fact not a timed action, sitting happens immediately during unequip so it doesn't actually unequip before sitting, and thus sitting stage of animation doesn't happen
Trying to finish sitting immediately after successful unequip
Is sitting an anim state?
The timed action vs anim state is weird too me
Timed actions seem much more flexible and easy to use - but I guess thats from a modders perspective
it's because you can perform timed actions while sitting
That's true I think timed actions can only occur 1 at a time
they are a genuine pain, but it was needed in that case
I think I'm gettin close... decorated the perform function so hopefully it will continue forward with the process of sitting immediately after weapon gets removed.
testing now
Hi guys, so, i made a shop mod, it's an item, but i want to turn his sprite into the vanilla cash register. I saw on the internet hints to do it like the picture, but a tried a lot of variations and none worked. Someone know how to do it?
accessories
try location_shop_accessories_01_21
What do y'all figure would be the best way to go about a mineral mod?
I'm wanting to introduce ores and the like, but the only thing that comes to mind are rocks, which are finite.
(Rocks as in sprites you can mine)
Only other idea is being able to scavenge for them, but that feels significantly less effective.
I'm wanting to make use of it for a more deep ammunition crafting mod.
Being able to manually make your own gunpowder and casings from the unused vanilla molds.
there's no realistic way to do it, so get gamey with it
Hm.
Fair.
I just like trying to stick to realism for the sake of Zomboid since I feel that's the greatest strength it has.
Are there any resources for making melee weapons out there? All of them seem to be for firearms
Hrm, I'd imagine something that functions sort of like trees, with sprites of rocks/boulders - maybe duplicate an IsoTree object. Had a "Mine" option instead of "Chop Tree", and figure out how to drop rocks/minerals/stones instead of logs/branches.
yeah that's what i'd imagine
Oh yeah, I meant in terms of weapon modding
Like, most of the learning resources for weapon modding seem to be focused around firearms instead of melee weapons
This was the best idea I had, good to have confirmation. Thank you!
Updated so y'all can see more of your mod names, workshop item names, spawn locations, and presets horizontally and vertically.
https://steamcommunity.com/sharedfiles/filedetails/?id=2889964195
Hello, I'm looking for someone to make me a vehicle mod, similar in scope to the M998 humvee mod. We can discuss price in dm's
Not the best reference but .
I'm looking for mods that make the pc more powerful, ideally to a comical state of op, but in a way that's more interesting than just "high hp no infection"
@red crane I am working on a Jumper mod r.n. Can let you know when it's live.
oh that sounds interesting
You can save virtually endless locations in your global context menu, stored by category (and of course teleport to them immediately)
Todo: make sure nearby players can be dragged along with you, rework the context menu code a bit so that same-name locations are allowed in different categories
Saves 3d location so you can teleport to roof and such
I think it's fun, hopefully the realists won't downvote it out of spite.
(You can name categories and locations, works with builtin gamepad keyboard.)
Honestly I would love to get into modding, but my motherboard fried a week ago and its gonna be awhile before i can even play again let alone mod (on mobile rn)... Plus im waiting for animals to have a higher chance of avoiding incompatability with other zombie/clothing mods. Im hoping that adding creatures will be handled separately from reg zombies so that I can make them exceptionally rare and with different senses/durabilities.
The biggest hope is to get infighting amongst the enemies as in zombies versus BOWs. Currently I don't think infighting is possible yet, not without an overhaul which could cause compat issues
I also wondet if onesided josyility is possible, but it wont be clear till its ready
*wonder and hostility
i imagine you'll be able to do all of that in b42 without too much difficulty
Exactly. Also there are dino items with 3d models... So Dinoboid wen?
Joking for now at least
Replace the chicken models with t-rexes but leave them functionally the same.
Profit
Lol I could probably whip up a one-punch man mod where you just shove zombies and they immediately die
does vehicle have moddata?
yes
I'm wanting to find like a vampire mod where eating zombies heals your injuries
I actually thought of making a zombie-eating mod... I hadn't considered the vampire angle yet, haha. That would be a nice bonus feature. I'll consider looking into that when I figure out how to create the ability to eat zombies. That's gonna take a lot longer than those other two for me... I imagine it would involve a custom item and a bunch of custom recipes if I wanted to do it right lol
Maybe even a context option for butchering the body.
I guess this person started one but left PZ before finishing plans... Shame https://steamcommunity.com/sharedfiles/filedetails/?id=2823205096&searchtext=cannibal
just need a recipe to cook dead corpse probably
Can you guys check my logic if this is correct or maybe u guys know of a better or easier way
Im making a speedgun mod
(Lets u check vehicle speed when pointing at them)
Police player:
Ui function that displays the speed captured of closest driver player (better if i can use isAming and capture where the player is aiming
Function Ontick checks if vehicle is nearby and takes the moddaata which contains the speed
Function that toggle ontick on and off using onequipprimary event
Driver player:
Ontick applies moddata when driving
Toggle function that turns on and off the ontick function
nils moddata when leaving the vehicle or switched seats
There is a mod for it
Omg can u share link?
No
Ah so thats what im building
Thats your mod?
Nope
Here
Ahhh ok cuz u said it but u already shared the link
Do you understand what I mean
I gues i do now π thnx
So anyways i still need to determine if my logic is on point
Here's a tip of you want to be good at Aiming
Just use a shotgun

No i mean aiming at the player captures the speed of the vehicle
Its not a real gun its a device that captures the speed of objects
A radar speed gun (also radar gun and speed trap gun) is a device used to measure the speed of moving objects. It is used in law-enforcement to measure the speed of moving vehicles and is often used in professional spectator sport, for things such as the measurement of bowling speeds in cricket, speed of pitched baseballs, and speed of tennis se...
Ye
So i need to get the moddata out of the player whos droving ehile aiming the speed gun at him im not sure where on the vanilla lua i can find that function that creates a green and red highlights when aiming
I need to hook into that
Make, it shoot laser with 0 damage and retrieve speed of vehicle on hit?
Ow fuck you are a genius!!!!
But how do i disable player stagger
it was inspired by the conversion above
I havent done any onhit function tho
Is it an event?
I am pretty sure anonymous has something that can help you with vehicle related code
yo, does anyone know if there is a mod to allow zombie loot to drop from corpses that decay/despawn? Or maybe a setting?
@dreamy flicker no bundled HTTP server yet but you can check if the approach so far works for your deployment https://github.com/pz-extender/extender/releases/tag/untagged-04ec5082fe6f29b58e26
note it's quite a bit larger than the previous approach because it bundles the kotlin runtime and compiler
Does anyone still have the button on their load save menu for opening the save location? Or in the mods menu to open mod folder?
I can see desktop access is a boolean set in the java and only referred to in Lua - but I don't recall when it was set to false for me and there doesn't seem to be a way to enable it.
I'm curious if the devs decided to disable it at some point.
anyone has the function hide the container from the inventory panel
cuz the safe should be close and when it opens thats the time ti shows the container
I figured out a way to lock one
Normally it only works for a thumpable
The safe should be a thumpable right?
You should be able to set a locked by number
Otherwise, you can check out pzshops on GitHub and pull that code
Is there a mod that basically when fighting zombies your character would attack the nearest (standing) zombie within your characters view? I've gotten killed too many times by my character swinging past the closest zombie and getting bit.
I have a snippet that let me spawn anytile that i can convert into co tainer thats locable by padlock
Bht thats not the case i think
Cuz im doing a unique thing
My spritesheet has a closed and open version of the safe
I want the container invisible when its closed
Well sorta like padlock but still not exsctly
should I just copy paste my question there?
openUrl worked for @ancient grail , right?
so i think that api must be enabled on their computer
i never really investigated why, maybe they're on an older os or something
anyone know if the full balaclava is like the gloves only a texture over the player model?
or is it a model
local url = "https://projectzomboid.com/modding/index-files/index-1.html"
if isSteamOverlayEnabled() then
activateSteamOverlayToWebPage(url) --opens steam
else
openUrl(url) --opens browser directly
end
is a model
...\ProjectZomboid\media\models_X\Skinned\Hair\M_BalaclavaFull.X
its under hair?
damn you helped me so much
id never would have found it
Thanks a lot
probably you want use https://3d-convert.com/ to convert it to dae to import it to blender
oh, i missed that openUrl only uses the api if it's available
OpenUrl isn't the same as the desktopAPI
Omg I had the problem right now
thank you so much man
Whats the desktop api
your a real hero
Im just trying to figure out if anyone still has it enabled
DesktopAPI let's you open folders on your computer from in game
There are two buttons that get hidden if it's disabled
it does use the desktopapi, but only if it's available
Ye dislaiks a wizzard
i missed that and thought it only worked if the desktopapi was enabled
OpenURL requires desktopAPI? Cause open url works for me - open folders does not
it uses desktopapi if it's available, otherwise it uses a different method
i missed that when i was searching for uses of desktopapi and thought it didn't work without it
so it says this
I wonder if openURL can be used to technically open folders ...
is that good or not
it opens in explorer, surprisingly
Alright, that helps me a lot with the ErrorMag
@coarse nacelle knows something abt that
Anyway - if you have a container that's a thumpable you should be able to set locked by code or padlock
Or locked by user
yeah it always says an error has occurred during the conversion
I cant find on tilezed the isothump option but i know how to do it in lua
I'm not sure about creating your own in a tilesheet but yeah yo u can just spawn a isothump
I would assume isThumpable would be it?
For the tilesheet
Wow which means you can write using filewriter a bat and open it on the users end
Devastating
Yikes
i don't think it'll open a file
Care to try
It wont
Ok
Well... It shouldn't
i'll give it a try...
Yikes
Afaik typing a file name into your browser should just open it's location
yeah i don't expect it to run anything
It does thats true
when i try to give it a file, nothing happens at all
i did, it's not downloading them
Yeah it probably has some safety check
That's actually pretty useful for some mods that require moving files manually
it's possible that behaviour differs between browsers
Could be
But most browser are the same tho.
Excpt the download.
Some can be configure to auto dl
if i give it an image it opens it π
Time to force players to look at my feet
What if its an exe disguised as a png
I can try that
it opens mp4s too π
it didn't run an exe i tried though, and i tried giving it some weird formats my computer can't open and nothing happened
You can promote your bathroom singing record
Try to make it open pz again
Lol
Or loop open bunch of images πΉ
Tattoos possible in game?
Yes
it doesn't open file types that i'd expect to be dangerous, like exes and bats
Ahhh, ok thanks. Some one wants to start a tattoo shop in game. So maybe we can look at a custom mod for all the stuff @ancient grail
That's probably a built in safety for the browsers
i don't really like that it opens files at all but i don't see any obvious security oversight
Possible skizot or some one can load in some drawings idk how it works.
if i put an image into my browser though, it doesn't do that
Its decals like makeup it also has xml like clothings
Mine can
If you choose to open images in chrome for example
It will just open it for viewing
Weird
Ahh ok, so you just wear it or can the person give them the tattoo
Like in the medical stuff. βDraw tattooβ βleft armβ
Making someone give the tattoo is the complicated bit but doable
if i put the image's directory into my browser it embeds the image into the browser
if i use openUrl, it opens it in Photos
Medical is hardcoded
But albion has done codes that lets a player do something to other players via sending client to server and server to that player codes
isn't there already a tattoo mod?
It can be added to the medical context menu with out being medical
He wants other player to do the tatooing tho not sure if thats how that mod works
There's also that advanced medical mod - I wonder if that's good/fun
Ahhh. Hmm so maybe possible for one person to give others tattoos
Tasty skin infections cause you wanted to look cool during the apocalypse
I think we have that on server, if Iβm not mistaken itβs a little broken? Could be from my server mods Inter fearing with it
Yes technically yeah
I wanted to check it out but it seemed more focused on "realism" and a bit much
Maybe Iβll have to look at the tattoo mod, just wanted to keep it limited to the shop owner to give tattoos. Not just anyone
Shop owner?
Itβs pretty cool between checking blood, and what not.
Tattoo shop owner
Again with the profession suggestion
i definitely want more depth in the medical system, but that mod seems a bit much
Sooner the better
Does it have more illnesses or is it just blood transfusion stuff?
Unguys talking about imeds?
I was working up the courage to introduce germs as a mod
Something simple
I like the complex medical system. We will have to see whatβs causing it to be broken. I think some of the ems guys were saying the things were not letting them transfer blood.
Most likely because it was the wrong blood type, how ever idk if it will still let you or not.
Apparently we need to get better training programs for ems.
Sounds like tons of work on that note
We also have over 15 ems guys. Iβm sure Casey could figure out some kinda training to help them on her part.
Issac is doing the police training courses everyday cause obv are police are not properly trained.
We saw that when some one was gunned down at that bar π thatβs a terrible video but itβs so funny cause itβs not real
I still havent logged into the server . But i notice we getting more traffic nowadays

Hopefully we can see 100-200 everyday soon.
If all of em send like 1$ to each dev that would be instant 60$ for all lol
We have made 26 dollars this month in donations.
Last month we did 50 sooo.
It seems like we are doing a good job.
I assume we can see 50 again this month hopefully, that way I can keep giving bonuses or commission more for the server
Hello guy, do you think it's possible du use talkie-walkie feature to make a phone?
I think I already check but it's was not possible
Not possible ?? I hope itβs possible π maybe if we linked a outside voice provider like team speak?
you could put the two players onto the same frequency when they start a call
Anyone know where the code for the game camera is?
i would have a certain range for call frequencies and use the lowest available one or something
are there frequency limits? you'd want to go outside of anything a vanilla radio can reach
Mmmm, but it's that even possible in lua ?
I think I wanna use this same concept for my server Albion if we can make it happen for our phones πππ
Unless skizot asked you about that. Are you the pager person?
i think it's possible, the ui for starting a call would be a nightmare to write but i think the concept can work
You could write your own system for phone calls
Yes I am
I wouldn't use radios tbh as they're specifically designed to work a certain way
i didn't think we could control voice chat very much
You'll run into more issues trying to work around a very specific system
Oh shoot haha bounty is the one skizot asked to help us with phones
More the idea but is there function on lua for that ?
You can use/decorate certain functions to catch messages spoken outloud
Idk about voice chat though
Yeah, last time I check it's coded in java and I don't touch java
I only speak on Lua
Mm, possible to create a text link then? maybe instead of doing voice chats phones and stuff would just have to be private text chats.
I wouldn't mention a Java mod - only cause they seem like more of a headache
That's possible too, but I'd be more work -- also I like the idea of listening in on someone's chat
yeah, anything i say is impossible is probably possible with java modding
Ultimate goal was to create phones for people to use on the server.