#mod_development

1 messages ยท Page 209 of 1

errant sable
#

Will they be perfect greatest maps ever without flaws sometimes... nah

#

But you will be able to make fully playable maps, that are good, and without any major flaws at the push of a button

#

I would say it will get you 80% of the way to a "great map" at the push of a button

rugged latch
#

i assumed it was possible but alot of work

#

i mean anything is with code and junk

bronze yoke
#

i'd enjoy that

rugged latch
#

but didnt expect anyone to actually be there

errant sable
#

Yeah... I just have been doing the leg work already for the game im making... or this wouldnt be feasible

#

Luckily its just changing the output format of my stuff, and making a UI for it. Little bit of setup to handle PZ tiles

bronze yoke
#

my favourite map mod is clear cove because it just feels like vanilla except i don't already know where everything is

errant sable
#

My personal main goal for it is to make small mission maps

bronze yoke
#

procedural generation would be another way to approach that issue

errant sable
#

Entrance, buildings, objectives somewher eon it, and exit point

#

Like any of you ever play the old Syndicate game?

rugged latch
#

nah

#

but i see what you mean

errant sable
#

Those are super simple, it will handle those no problem

#

but it will do full on towns and cities

bleak jacinth
#

Hello everyone :) i'm actually quite interested in doing a UI mod, but i don't know where to start and it would be my first modding experience, maybe i don't even want it to have something functional just having something being replaced after i edit the files would be nice

rugged latch
#

fair warning, i personally dont have enough knowledge in the ui to give you any information and i think all the people who know things about the ui are asleep. but from what i heard the ui is quite a bother to mess with

#

more power to you though, are you planning on just changing it visually or moving around things as well?

bleak jacinth
#

changing visually only

rugged latch
#

well if you dont move a single thing like a button or text at all

#

im sure you can get away with no coding

#

youll probably have to find out the file structure for ui elements

bleak jacinth
#

i actually managed to unpack the .pack files

rugged latch
#

and beyond that just have some fun making pictures

bleak jacinth
#

so i already have the png

rugged latch
#

alrighty, id recommend just finding a template mod and base yours off that

#

you can see the source of any mod in the workshop but the game also comes with an example mod

#

i think as long as you name your png the same thing and put it in the same place

#

it should override

#

at least for me, i replaced the icons for some of the traits and it was simple as naming a png the same name

#

and putting it in the same place

bleak jacinth
#

what if i wanted to make the image a higher resolution?

rugged latch
#

hmm

#

i know some games like terraria dont accept things that arent the same resolution

#

but i dont think zomboid is like that, havent tried tho

#

once you know it replaces correctly id say just test it out

#

make the image like 10x bigger and see if it works

#

to be safe tho make it the same size when your testing to see if its even working

bleak jacinth
#

i'll try both

#

thanks :)

rugged latch
#

beware zomboid has a dummy mods folder in the source that confused me at first thinking it was where you put unpublished mods

#

the real one with the template is in your user folder -> zomboid -> Workshop

bleak jacinth
#

thanks for the warning

rugged latch
#

np

bleak jacinth
#

i have some part of the UI unpacked

#

but i'm having trouble with UI2

#

i'm using that unpacker.jar file someone made in the forums

#

it works on some files

#

but not with UI2

rugged latch
#

hm i havent unpacked any of the files before to tell you

#

but looking at it ui2 is significantly larger than ui one

#

which might have something to do about it

#

its possible it crashes before finishing

#

i mean they are still kilobytes so not that big at all

#

but unless the file is corrupted i dont see what other reason it could be

#

try it on another one

#

like tiles 1

#

to see if it works

bleak jacinth
#

yeah, actually tiles 1 doesn't work either

rugged latch
#

yep

#

seems to be the program your using

bleak jacinth
#

some files do actually

#

like UI

rugged latch
#

it breaks at sizes too large

#

wether its exporting too many images

#

or images too big

#

i remember i unpacked terraria files to make a texture pack and i think i had a similar issues

#

of course those were pck files not pack

bleak jacinth
#

almost every png file doesn't even surpass 1Kb

rugged latch
#

does it tell you anything when it doesnt work?

bleak jacinth
#

nope

#

it keeps thinking

#

you know, the spinning wheel

rugged latch
#

yea

#

does ui one go real fast?

bleak jacinth
#

instant

rugged latch
#

yea

#

i dont think its the file size tbh because what kind of a program cant export kilobytes lol

#

but its possible its just too many images

bleak jacinth
#

i already tried waiting for once

#

i think i waited for 5 minutes

#

and still nothing

#

maybe i'll have to wait longer...?

#

oh yeah

#

it creates a folder

#

with the name of the file

#

so at least we know it works

rugged latch
#

i say just try to find a different pack exporter program

bleak jacinth
#

well

#

pack is not the same as pak is it?

rugged latch
#

no

#

i was looking at the files however

#

it might be a bad sign that, all the files that i successfully was able to overwrite were actually the only traits that were not packaged

#

i never even tried any of the other ones and i know they are packaged because they werent in the source only these ones

#

im not able to try and see if i can override them right now

bleak jacinth
#

you splitted the xml file?

rugged latch
#

all i did was this

bleak jacinth
#

oh right

#

unpacking what i can

#

it creates a folder with the xml file

#

and the unpacker also splits that

#

to edit each individual sprite

#

i think

rugged latch
#

you might want to try and see if you can even overwrite the packed images as it is

#

you should be able to but i have to test

#

ill have to probably give it a shot tommorow tho

bleak jacinth
#

yeah, i'll try doing with what i have

rugged latch
#

this mod does so

hexed valley
#

i been trying to learn java for a while due to school and simply better myself as an IT guy and a lot of pepole recommended that i pick a porject and wrestle with it to improve at a language is learning java through trying to mod project zomboid a decent idea? would you recommended it? i was considering this or minecraft really

rugged latch
#

well

bleak jacinth
rugged latch
#

zomboid modding uses lua

#

zomboid source is java

#

so unless your making a mod that needs to manipulate the source

#

you wont learn much java here lol

#

maybe a little from decihpering how it works to make what you want in lua

#

since looking at the source is probably the best documents for modding zomboid has at the moment

rugged latch
#

probably do minecraft or another game that needs java

#

if you want to learn lua or practice coding in general

#

than yea zomboid isnt bad

naive crescent
#

Fax

rugged latch
#

it seems they just repack the pngs

naive crescent
#

You can start very entrance level with skill in modding in zomboid once you understand how all the pieces work together

bleak jacinth
naive crescent
#

Might be better to do a project on coding for absolute beginers though if theyve never coded a single thing before.

rugged latch
#

its kinda disheartening how easy it is lol, i started zomboid modding as an excuse to challenge myself to practice coding stuff

#

but going from c# making a game

naive crescent
#

It makes it accesible for more people\

rugged latch
#

to lua in modding one

#

yea no its a good thing 100%

naive crescent
#

I went from C# making games to this

rugged latch
#

just wish i COULD write the mods in java or something

#

lemme guess unity?

naive crescent
#

So it was a pretty easy transition, C# and lua are structured very similarly

#

Thats were I started and its what was taught in when I went to school for game design as wel

hexed valley
#

i want to learn java doing a project i like such as video games mostly but ye i guess PZ Is like world of warcraft where most stuff are in lua

#

ui stuff

rugged latch
#

college is a bust so far lol

naive crescent
#

But I chose hobbiest route after school and enjoy making mods for Zomboid then I did making games for myself

rugged latch
#

ive taught myself more stuff dicking around in my room than the time its taking me to even get my first object oriented programming class lol

hexed valley
#

its for a college class too cuz the ooc class is dogshit

naive crescent
rugged latch
#

yea

#

im doing it for the piece of paper for money

#

and the excuse to not be working full time

#

so i can teach myself and make game lol

hexed valley
#

i got a full time job as an it helpdesk to gain experiance for cyber while studying but i still have to take the exam next month and i need to get better in java

#

and python really

naive crescent
#

When I left school programming was my weakest strength and Modeling and game design were my strongest. 6 months after school programming was my strongest

rugged latch
#

python is easy

#

make java priority

#

if you know java youll know python in a week

hexed valley
#

ye im not worried about python im making java a priorty but most courses are so boring in mundane i tried MOOC and netbeans did not click with me at all

rugged latch
hexed valley
#

stuff kept getting borked if i dont use intelij community edition

rugged latch
#

lucky you thats what you HAVE to use for zomboid

#

if you do mod here

naive crescent
rugged latch
#

oh im aware especially for coding careers

#

most the people jobs want to hire are 7 year old started programming prodigies

#

failed highschool never went to college

#

but damn can they write lol

#

make more money than anybody

naive crescent
#

For now\

#

AIs getting pretty scary...

rugged latch
#

yea

hexed valley
#

im not worried about dev carrers since im IT side but carrer wise u guys look like u have it the roughest

rugged latch
#

if ai takes game dev from me i can gurantee you ill be the drunk homeless on the side of the street

#

im not going for no other job lol

#

that was it and they took it from me

rugged latch
#

i took a two year IT course since i went to a trade school

naive crescent
#

So I left the game industry to go back into construction because I like working with my hands as well and more and more these days im seeing it as I probably made the right call

rugged latch
#

(it was to learn coding)

hexed valley
#

im in 2 year it couse in something simmilar to a trade school

#

they suck hard but oh well its just a box for hr to check

naive crescent
#

Its going to take a lot longer for AI to come after my job security

rugged latch
#

look i only got one goal in life and thats make a video gams before i die

#

if the bucket list gets checked off by some damn robot

#

then the buckets bouta be me

#

that or move to the woods

#

learn widdling

#

sell wooden gnome statues for 50 bucks

#

and fish for food lol

naive crescent
#

While you live in the wood Ill be living in my stone castle built by my own two hands.

hexed valley
#

u guys can reskill to other stuff u know

#

its not that bad

naive crescent
#

Going down to homedepot hiring myself some cheap white colored labor

rugged latch
#

im stubborn

#

and i dont want to

#

high risk high reward

hexed valley
rugged latch
#

its the 1 thing i ask for lol

#

believe me im that stubborn

hexed valley
#

il belive you when u threw around 3k application and worked a hard non skilled manual labor

rugged latch
#

i did my highschool dead end job dues lol

#

i wanna stay out the system not get back in it

hexed valley
#

so what did they teach you? my hs jobs taught me to KILL for a chance to work in an office

rugged latch
#

well one of them taught me

hexed valley
#

u have no idea when i got this helpdesk job how comfortable and happy i became

rugged latch
#

dont work for restraunts

naive crescent
rugged latch
#

andddd dogs are damn mean

#

helpdesk jobs are nice

naive crescent
#

I get a 4 month paid winter vacation from being a seasonal worker.

#

so I cant complaine

rugged latch
#

i know masons are like

#

very sought after

#

so your good

naive crescent
hexed valley
#

i worked as a dishwasher

#

worst summer job ever

rugged latch
#

same

naive crescent
naive crescent
#

Its not the most glamorous but it pays the bills when things are desperate.

rugged latch
#

i think once the damn ai gets good enough to take masonry

#

nobody has a job anymore lol

#

we all just submit under the thunderhead who knows all

#

and runs the perfect economic system

naive crescent
#

and my last dishwashing job was an absolute banger of a resturant and atmosphere, met my long term partner who was a cook there as well. Most fun I ever had in my life

hexed valley
#

either only the elite lives or we reached etopia

rugged latch
#

where it is the economy

#

i guess they aint all bad

naive crescent
rugged latch
#

is it a sort of

#

ai becomes god and nobody needs work anymore thing?

#

thats what i was refrencing with the thunderhead lol, just a book not a show

naive crescent
#

No its about how humans used AI and how AI eventually rose above humans

#

It doesnt happen with a bang

#

It happens with tensions of the humans fearing for there jobs

#

because the machines were better at it and the humans were scared to work along side them as equals

#

If you have never seen the Animatrix and only the movies then your missing out. I never liked the movies but that show is a banger

rugged latch
#

i aint seen either lol

#

i sit at home coding zomboid all day i watch like 1 show/movie in a blue moon

#

buttttt, ill write it down

#

maybe for one boring popcorn night

#

it sounds cool

#

and anything described as a "banger" you know means its got some merit

naive crescent
#

Its an 1h 45 minute movie broken down into 9 small stories

#

I only use that word for works that have merit

untold radish
#

Pursue a skilled construction trade. That's something Ai machines will never be able to do

naive crescent
#

They do aleady have brick laying robots

#

Theyre just really not practicle

untold radish
#

I would not trust a brick laying robot

rugged latch
#

yea but brick laying robots cant really do it as fast, practical, or like

#

do the cool brick designs

#

the only way your gonna lose your job before the takeover is if we find a material better than brick

untold radish
#

The robot misses everything a skilled hand and eye doesn't

rugged latch
#

so much better that we stop using brick entirely

naive crescent
#

Masonry is already already not black and white data points and restoration masonry which is what I do is ever more grey.

untold radish
#

I'm an electrician by trade. So much of my trade is done by feel it's something a robot can never do

naive crescent
#

Especially working on older houses

#

Those things are chaulked full of problems you gotta work around

rugged latch
#

hah

#

i see what you did there

#

thats a masonry joke right there

#

wait no

#

i thought you said caulk which i dont even think is really masonry lol

naive crescent
#

It is.\

rugged latch
#

oh okay good good

naive crescent
#

Not something used every day but people have some for different use cases

untold radish
#

Caulk is universal in the trades

#

Do your best and caulk the rest

naive crescent
#

I dont bother with it, Unless I need to chauk like lkek 30 feet of wall or floor.

#

and if its inside id rather use a laser level.

rugged latch
#

who knew that the nerdy mod development channel of a zombie game would house more than 1 hard working tool tradin laborer

naive crescent
#

Yea I know,

#

The mod development channel last night and this morning has been the popping off with really interesting topics about not what the chanel is intended for.

#

I honestly dont know what the outside world is like on this server I just hang out here

rugged latch
#

i dont care and i dont think the server administrators do either

#

there is like 5 repeating people that use this channel

naive crescent
#

Neither do I

rugged latch
#

and everyone else drops by

#

if it was channel spam maybeeeee

naive crescent
#

When ever a someones got a question it gets answered right away

rugged latch
#

i wonder if the devs ever pop in here

naive crescent
#

They do\

rugged latch
#

i only ever open up this single channel

#

everythang else is muted

naive crescent
#

Some of the Devs started here

rugged latch
#

i think aiteron yea

#

1 other i think

naive crescent
#

Yea the guu who did the tow truck mod

rugged latch
#

and lockpickin

naive crescent
#

I go to other channels and I feel so alien, its like what people just sit and enjoy playing the game and dont spent 90% of there time in game not playing it?

#

Oh odd

rugged latch
#

i spend all my time makign my mod its so weird when i actualyl get to play it lol

naive crescent
#

How fiendishly drole

rugged latch
#

its like skyrim moddin

#

two differnet games

#

both very fun

#

i dont mena zomboid and skyrim

#

i mean skyrim and skyrim modding

naive crescent
#

It takes me at least 3 hours of set up just to start playing because I gotta go through everymod I want and what I want to do int he game.

#

and if I gotta make something custom then its longer

#

I gotta start planning the day before the night I want to play

rugged latch
#

as long as i got fancy handwork and dive through windows

#

im good tbh

#

i too have liek a 100 mod playlist but man

#

my friends and i never last that long to see half of em

#

and im too lazy to perfect the craft of the modlist right now

naive crescent
#

I think this winter I want to focus on content creation for PZ. So I can enjoy playing it a bit more and make custom mods for it to keep up with my modding side

naive crescent
rugged latch
#

well correction, my friends are not patient enough nor anybody should be

#

to wait 2 days for some guy to make a modlist

stiff bane
#

Someone knows how to create zombie free zones which are used commonly with community centers? I hope this is the correct channel to ask...

rugged latch
#

if i need this one

#

well i need that one

#

and then i need that one

#

and oh god we are 200 mods deep

naive crescent
#

Everytime I gotta go through every single one then do a second pass to make sure I didnt miss anything

#

I got like 600+ mods in my library

rugged latch
#

like gameplay?

#

like clearing out a cell so no zombies?

#

oh waitt

#

im dum

#

yea im not sure how to do that but i imagine its possible

naive crescent
rugged latch
#

if it comes down to it just make a mod that script deletes every zombie in that area

naive crescent
#

Thats what I would do

#

When zombie enters cell (x, y) destroy zombie

stiff bane
#

I am not good at that

#

So i was hoping a mod already exited for it.

naive crescent
#

It could

rugged latch
#

would this work?

#

just quickly looked that up

#

havent used it so wouldnt know

naive crescent
#

It should

rugged latch
#

personally part of the zombioid charm is that your never safe

naive crescent
#

But it seems you need to define the zone

rugged latch
#

itd be very fitting if the "community center" kept getting strays wandering in

naive crescent
#

Let the people eat cake.\

stiff bane
#

Sweet! Thanks. I couldnt find any for some reason -.-

#

I will fiddle with this one :3

rugged latch
#

sorry my strickly vanilla-like diet came out

naive crescent
#

Without the righrt vocabulary to know what it wouldbe been called they could be hard to cold search for

rugged latch
#

i just googled

#

"no zombie"

#

sometimes the dumbest option

#

is the best option lol

sour island
#

Ooh a zone for no zombies - ah it's a Konjima mod. ๐Ÿ‘

#

Also, working on some game night QoL. Wouldn't mind any feedback anyone's got.

This showcases tooltip zones per piece. Most useful for boards, and cards I imagine.

rugged latch
#

ive been meaning to try this mod, awesome lookin thing love when you can just do real life stuff in zomboid

#

having not used it yet, gif looks good

#

i would say if your extra fancy do a little outline around the selected square buttt

#

its not super needed and i think that looks zomboidy nuff

naive crescent
#

Need a little Spiffo on there as well.

#

With the top hat

rugged latch
#

oh so true

#

monopoly does collab game boards with like everything so it would make sense

#

id say im a willing artist for the capitalist spiffo but it seems you already made that thing yourself

#

i just think itd be fun to draw

robust briar
#

Oh gosh, yeah I'll just poll in my own code

sour island
#

Also, added scaling for 1.5x and 2x, so I may need to redo everything again ๐Ÿ˜ญ

rugged latch
#

Oh no you don't need to scale the pixel art do you?

tribal gull
rugged latch
#

Probably not currently I assume that's why it took the devs till now to make ui properly scale

#

Good idea tho

#

And I might be wrong

tribal gull
#

There's a patch for Inventory Tetris that already does that, which is why I asked.

rugged latch
#

im glad to be wrong

naive crescent
naive crescent
#

Neat

manic relic
#

wierd question

#

but would it be realistic if the Hemophobia trait would be able to be lost?

#

the same way in how the become Become Desensitized mod works?

#

like after killing 250 zombies you shouldnt really be afraid of some blood around / on you right?

rugged latch
#

phobias as far as im aware

#

are an "irrational fear"

#

i dont know if they can go away fully

#

i mean it seems like it should for that though

#

but then again irrational might also mean yea youve killed 10 thousand zombies and know like

#

the blood isnt gonna hurt you

errant sable
#

phobias are not irrational fears

rugged latch
#

doesnt matter its an irrational fear

#

they arent?

manic relic
#

yeah like in a "face your fears"

errant sable
#

there is nothing irrational about the fear of spiders

#

Phobias are overly strong fears that are often engaged in the mere presence of a thing

rugged latch
#

yea

#

its irrational in the sense that

manic relic
#

true

rugged latch
#

you know a tiny daddy long leg isnt going to hurt you

errant sable
#

but certainly not irrational, spiders are fucking creep, and gross, and many (and many more in the past) are poisoness

rugged latch
#

but your still scared shitless

errant sable
#

Just because the fear is not useful against a single type of spider, does not make it irrational

rugged latch
#

fear of the dark

errant sable
#

It may seem irrational in a particular overly constrained context, but that is the power of perspective

rugged latch
#

some people have a fear of clowns

errant sable
#

fuck clowns to

rugged latch
#

specific harmless bugs like ladybugs

errant sable
#

nothing happy or cool about them

#

bunch of weird creepy pedos imho

rugged latch
#

i think clowns are cool tho lol

#

they just like being goofy guys

#

entertain people

manic relic
#

this conversation took an interessting turn xD

rugged latch
#

id say its irrational to be screaming and crying in fear of a daddy long leg

#

phobia is a phobia but by the term its not a real threat

errant sable
#

Clown profile over laps with pedo and serial killer to much for my liking, ill pass

rugged latch
#

it does occur

#

its not clowns faults that the job of being a clown gives you such easy access to be a horrible person

errant sable
#

Look, anyone trying that hard to make other people laugh and smile, where wearing a ton of makeup, and wierd clothes... aint all right up in the head, its that simple

rugged latch
#

so like

errant sable
#

case and point robin williams

#

not a pedo or serial killer, but did off him self from depression, and he wasnt even a clown... but did those thigns alot

rugged latch
#

i try way too hard to make people laugh and smile

#

all im missing is the makeup and funny clothes

#

but hey if it makes people laugh and smile ill put it on

errant sable
#

Well, as long as you stay away from the makeup and clothes, ill only be worried about you offing your self, not playing touch the no no spot with kids or eating your neighbors

rugged latch
#

im calling up the national clown association

#

i promise you your birthday this year

#

it will be crazy

#

balloon animals everywhere

#

biggg party

errant sable
#

oh im not afraid of clowns, I just think they are creepy wierdos

rugged latch
#

you wont need the big driveway either

#

they can carpool like no other lmao

errant sable
#

my brother on the other hand... would shit himself

rugged latch
#

clourophobia

#

i spelt that wrong

errant sable
#

alright im outtie, work holiday lunch at fancy grill place. peace out

rugged latch
#

enjoy the food, keep an eye out for the chef

#

i heard they like to wear red noses from time to time

#

and funny wigs

#

anyways gamer bro

#

seems there is points for both sides

#

just make the mod to make you lose fear of blood

#

its modding the great thing people are just gonna use it or not if they agree or not

manic relic
#

yeah il think about it

modern knot
#

Hi! I want to try something different on a private server for myself and some friends, but Iโ€™m not sure if what I want is possible, even after quite a bit of research.

I want to set up my mp server so that I can regularly update the map files without losing progression on things like character stats and placed objects. Player construction would be disabled. I understand this is an issue for most servers. Is there anything at all to make this possible? Iโ€™m open to any/all ideas for a workaround.

naive crescent
#

I dont think its a bad idea but I dont think a phobia ever goes away. I could imagine that it would be come more mangable as you became more desensitized.

#

Like not completely removing panic but leaving you at the first moodle state.

#

That way it doesnt completely leave you and still gives you a bit of a debuff but you can sleep at night now

naive crescent
#

Theres a program that let me do it. The guy whos tutorial ai was following did it in MP liv3

#

He did it though in like build 35. I tried in build 41 with limited success

modern knot
naive crescent
#

Your going to have to wait till I get home. Ill DM you

modern knot
tender estuary
#

Where can I find the moodle background texture thingy?

tender estuary
#

For more information I was planning to try to make it more colorblind accessible for my brother

mellow frigate
tender estuary
#

Oh shit there is blue red

#

Still I would love to know where to find the background for the moodles

mellow frigate
tender estuary
#

Thats ok to do?

#

Imma do that thx

mellow frigate
tender estuary
#

Gotcha

nova socket
#

Can someone in a bright mind explain me why in the world my server suddenly decided to stop itself by quit command into socket?


LOG  : Network     , 1702505803133> 8,530,493,192> *** SERVER STARTED ****
LOG  : Network     , 1702505803133> 8,530,493,192> *** Steam is enabled
LOG  : Network     , 1702505803133> 8,530,493,192> Server is listening on port 16261 (for Steam connection) and port 16262 (for UDPRakNet connection)
LOG  : Network     , 1702505803133> 8,530,493,192> Clients should use 16261 port for connections
LOG  : General     , 1702505803133> 8,530,493,193> LuaNet: Initializing...
LOG  : General     , 1702505803133> 8,530,493,193> LuaNet: Registering server listener...
LOG  : General     , 1702505803133> 8,530,493,193> LuaNet: Initialization [DONE], triggering events for 'LuaNet.onInitAdd'.
LOG  : Network     , 1702505803133> 8,530,493,193> DISCORD: token not configured
LOG  : Network     , 1702505803133> 8,530,493,193> *** DISCORD DISABLED ****
LOG  : General     , 1702505803134> 8,530,493,193> ##########
Server Steam ID 90178694834704412
##########
LOG  : Multiplayer , 1702505803149> 8,530,493,208> [MPStatistics] mem usage notification threshold=16,320,875,520
LOG  : General     , 1702505804505> 8,530,494,564> command entered via server console (System.in): "quit"
DEBUG: Multiplayer , 1702505804625> 8,530,494,684> QuitCommand.Command                 > cmd="quit" user="admin" role="32" unknown connection"

Literally loads up and quits imeddiately from some unknown source?

quiet plank
#

OS/Platform?

#

cuz 'admin' and 'unknown connection' translates to a local character device passing commands directly to the java program

#
/bin/sh -c "echo save > /opt/zomboid-debug/Zomboid/zomboid-modded-debug.control; sleep 5; echo quit > /opt/zomboid-debug/Zomboid/zomboid-modded-debug.control
/bin/sh -c "/opt/zomboid-debug/start-server.sh -servername modded-debug </opt/zomboid-debug/Zomboid/zomboid-modded-debug.control

and when the zomboid-modded-debug.control file is present, but not a character device, it automatically triggers that stop behavior (the first block I posted)

random finch
#

Anyone figure out a way to setHighlight() a tile without the highlight being obscured by snow?

errant sable
#

The real question is... Did anyone create the phone number mod while I was working today?

bronze yoke
#

i haven't but if you sit on it too long it is a risk

errant sable
#

Lol, im ok with someone making it before I get there. Like I said I got lots on my list to do

fast galleon
errant sable
#

bonus points for adding a Thriller CD and dance as well

random finch
outer crypt
#

The jukebox can be picked up and becomes an inventory item but it does not seem to have an moveable item in the scripts folder. Is it still possible to have this item become the output of a recipe? If I just create a moveable in this format will it work? item Mov_FoldingChair
{
DisplayCategory = Furniture,
Type = Moveable,
Icon = default,
Weight = 0.5,
DisplayName = Folding Chair,
WorldObjectSprite = furniture_seating_indoor_01_60,
}

sour island
fast galleon
outer crypt
#

testing to see if it will let me use Moveables.recreational_01_1 as a result

#

ah, just what I was thinking. I figured I was overthinking this

fast galleon
random finch
#

Yah I just noticed that. Not too savvy on what kind of texture to make but I just took the image size and through a white transparent alpha on it.

nova socket
# quiet plank is there a socket or control file passing commands to it?

There is FIFO service called zomboid.socket that is ran by server and the only entity that passes commands into it is me. And it suddenly stopped after few server restarts. Thus why I asked why and what sends quit command without my knowledge into server that just started up. There cannot be any context of any user or player because if you look at timestamps and logs
LOG : Network , 1702505803133> 8,530,493,192> *** SERVER STARTED ****
DEBUG: Multiplayer , 1702505804625> 8,530,494,684> QuitCommand.Command > cmd="quit" user="admin" role="32" unknown connection"

How in the world would somebody silently join in a span of 1.5 seconds of server startup?
I don't have any cronjobs for such ridicolous action either.

quiet plank
#

like I said, if the socket loses character device status (haven't figured out that part yet), for whatever reason, the java process receives a 'quit'

#

did you get it restarted?

#

for one of ym server instances, I can just reference the service and it brings the socket up automatically.

nova socket
quiet plank
#

Not really. It is set to be a character device. Something happens. And the file is still there, but the kernel stops caring about it

#

the 'something happens' is the part I'm still trying to figure out.

#

but it just means I have to be a little intentional with start/stop sometimes

nova socket
quiet plank
#

the 'FIFO service' you were referring too

#

it's a First In First Out character pipe/socket

nova socket
#

I just call it a socket device

#

ok

#

makes sense

quiet plank
#
root@apocrypha:/opt/zomboid-debug/Zomboid/Server# cat /opt/zomboid-debug/zomboid-modded-debug.socket 
[Unit]
BindsTo=zomboid-modded-debug.service

[Socket]
ListenFIFO=/opt/zomboid-debug/Zomboid/zomboid-modded-debug.control
FileDescriptorName=control
RemoveOnStop=true
SocketMode=0660
SocketUser=zomboid-debug
SocketGroup=svc_zomboid
#

I mess with a lot of block devices and other UDEV items, so... I always differentiate

nova socket
#

ye, my FIFO is running and something for some reason kept sending quit into it, until it randomly stopped after 2-3 restarts through systemctl

#

according to daemon procedures of Stop/Start there is not such thing to happen from zomboid.service which is the parent of it.

#

so.. what in the actual fuck then

quiet plank
#

best bet in those cases:

systemctl stop zomboid.service
systemctl stop zomboid.socket
rm -f /path/to/socket_file
systemctl start zomboid.socket
systemctl start zomboid.service
#

yeah - if setup right, the service is suppose to create and destroy the socket as a part of it's startup, but alas

nova socket
#

you think its because the device is busy by some pid that daemon didn't recognize (aka socket stuck?)

quiet plank
#

but if the system doesn't see the socket file as a character device - just a regular file - the daemon receives it as a 'quit'

nova socket
#

OH FUCK TRUE

quiet plank
#

no, because I've seen it when my system has fewer than 1024 pids active

nova socket
#

last command received because of that?

quiet plank
#

even lsof isn't oversubscribed

nova socket
#

Because guess what is the last command to it?

#

quit obviously is the last after any restart.

#

fuck me.

quiet plank
#

I suppose an 'echo > /path/to/socket' would work too, but that still doesn't register it with systemd and udev

#

er maybe that's just dmesg... either way - still doesn't register the socket

nova socket
#

yeah, well at least I now know that its better to kill socket file for sure.

quiet plank
#

yes. remove it and restart the whole stack

#

liek I said, it's wierd, because the service doesn't start the socket on it's own, but a stop/start (via restart) works fine

#

and my production instance works flawlessly

#

๐Ÿคทโ€โ™‚๏ธ

#
root@apocrypha:/opt/zomboid-debug/Zomboid/Server# lsof |grep -v kworker|grep -v lsof|wc -l
23127
root@apocrypha:/opt/zomboid-debug/Zomboid/Server# ps aux|wc -l
251
nova socket
#

yeah that happened when I messed with daemon by restarting it multiple times when Steam was doing their poopoo (maintenance)

quiet plank
#

HEY! Someone who might benefit from some toys I've been writing!!!

nova socket
#

then I noticed server just started receiving quit command, came to solving this on my own by stopping the whole stack manually

quiet plank
#

simple, but it works - still need to make it require $1 to be 'all' or something - or also allow it to skip modules and just update the app and restart

#!/usr/bin/env bash

steamfile='tmp/update_mods.txt'
servername='modded-debug'
ini_file="${servername}.ini"

printf 'force_install_dir /opt/zomboid-debug\n' | \
  tee tmp/update_mods.txt
printf 'login anonymous\n' | \
  tee -a tmp/update_mods.txt

test -n "${1}" && \
  printf 'app_update 380870 validate\n' | \
  tee -a tmp/update_mods.txt

for wi_id in `grep '^WorkshopItems' Zomboid/Server/${ini_file} |cut -d= -f2|tr ';' '\n'`
do
    printf 'workshop_download_item 108600 %s\n' ${wi_id} | \
      tee -a tmp/update_mods.txt
done

printf 'quit\n' | \
  tee -a tmp/update_mods.txt

/usr/games/steamcmd +runscript /opt/zomboid-debug/tmp/update_mods.txt && \
  rm -f tmp/update_mods.txt

echo "servermsg 'server restarting in 5 minutes. Get to safety'" > Zomboid/zomboid-modded-debug.control

sleep 180

echo "servermsg '2 minutes left'" > Zomboid/zomboid-modded-debug.control

sleep 60

echo "servermsg '60 seconds'" > Zomboid/zomboid-modded-debug.control

sleep 60

echo "servermsg 'going down for restart now'" > Zomboid/zomboid-modded-debug.control

systemctl restart zomboid-modded-debug
#

runs from the zomboid user's home

#

and steamcmd requires a fully qualified path to the script file

nova socket
#

you wanna funny thing?

quiet plank
#

I like funny

nova socket
#
#!/bin/sh

# Script for checking and restarting server when mod updates are in order
# Use crontab to add this to queue but consider sleep timers to not overlap with cron job.
# Example:
# */10 * * * * /bin/sh /opt/pzserver/checkmods.sh

SOCKET=/opt/pzserver/zomboid.control # Path to your zomboid server socket, FIFO service should be installed as recommended in Dedicated server manual for it to work
LOG=/home/pzuser/Zomboid/server-console.txt # Path to your server console log to read commands responses

echo checkModsNeedUpdate > $SOCKET;
sleep 10;

if grep -q "CheckModsNeedUpdate: Mods need update" $LOG; then
    echo servermsg \"WARNING! Server restarts for mod updates in 5 minutes\" > $SOCKET;
    sleep 240;
    echo servermsg \"WARNING! Server restarts for mod updates in 1 minute\" > $SOCKET;
    sleep 30;
    echo servermsg \"WARNING! Server restarts for mod updates  in 30 seconds! Logout NOW!\" > $SOCKET;
    sleep 30;
    systemctl restart zomboid;
else
    echo not found
fi
#

my lazy ass crontab that finds out mods has to be updated kek

quiet plank
#

where's the checkModsNeedUpdate function declared?

nova socket
#

In server commands, its a basic console command of a server from IS

quiet plank
#

oh really? That's awesome

#

I'l lbe working that into my setup. Thank you

#

I wrote a script that reads the mods line and pulls all the workshopItemIds in the same order and creates that line. That was just the first goal.

I'm writing parsers for the lua and items/recipes/etc to verify functions and check for overlaps/overrides. With my work schedule (our team of 5 is down to 3 right now), a couple more weeks of time and effort, and I should have it.

#

should be able to punch in a workshopItemId, the system will pull it down, scan the mods - a simple sqliteDB to help with storage and relationships - and be able to verify/correct conflicts and order on the fly

#

my denizens would shit bricks if I setup restarts on a cron-check - I guess they would get used to it, but... probably better to bot it from my discord

#

finally - another *nix nerd.

#

the part that seems easy on it's face, but I'm willing to bet will be super difficult: testing the map mods as a part of the aforementioned script

quiet plank
#

danke

hot void
#

Where is the masking system located?

#

Been looking for it for a while

quiet plank
#

it begins:

spectrm@madmax:~/Zomboid/workshop_processor$ ls -l app/models/
total 24
-rw-rw-r-- 1 spectrm spectrm   74 Dec 14 08:38 application_record.rb
-rw-rw-r-- 1 spectrm spectrm   53 Dec 14 08:47 cell.rb
drwxrwxr-x 2 spectrm spectrm 4096 Dec 14 08:38 concerns
-rw-rw-r-- 1 spectrm spectrm   52 Dec 14 08:47 map.rb
-rw-rw-r-- 1 spectrm spectrm   62 Dec 14 08:42 mod.rb
-rw-rw-r-- 1 spectrm spectrm   60 Dec 14 08:42 workshop_item.rb
hot void
#

<m_underlaymasksfolder> adds custom mask + vanilla mask

#

What I really wanna do is make a custom mask only appear

#

Maybe by making a mask that is empty I would probably be able to make custom masks show and empty vanilla mask

#

its a .class file? java?

hot void
outer crypt
#

is it possible to identify a sprite in a square that is not an object? To find most sprites I have been able to check for objects in the square and read the sprite name. With this one it doesn't see it. industry_02_67 is part of the "silo". I tried spriteName() but I don't think it is seen as an object at all.

bronze yoke
#

all tiles should be objects

outer crypt
fleet bridge
#

is there a way to detect if a zombie cannot path to a player?

outer crypt
random finch
#

Anyone aware of a method to display temporary markers on the map - like a simple square? Maybe a mod that already does that that I can check out?

random finch
#

For context, I am trying todo something similar to auto-marking a safehouse/zone on the players map when itโ€™s created.

#

Apparently there are MapMarkers and WorldMapMarkers. I have seen the usage of WorldMapMarkers, but not MapMarkers.

#

MapMarkers for the map, WorldMapMarkers for the world itself.

rugged latch
#

aight i havent messed around with multiplayer bugs before to know how your exactly supposed to make stuff eun for all players,
i assumed it would be just put the stuff in the shared folder buttttt

right now i've got two things
I have text the player says that i want to show to all players, but currently only shows on that players side
and i cancel the player from tripping when bumping into zombies, but they still visually trip on other peoples screens

what is the usual way to fix problems like these?

bronze yoke
#

use client/servercommands to transmit information to the other players

rugged latch
#

do you have an example i can see?

quiet plank
rugged latch
#

ive abandonded google as a resource when it comes to zomboid modding lol

#

it has never served me once

#

but you know what maybe you right

#

let me see what i can find

quiet plank
#

Odd... It's still one of my primary gotos.

rugged latch
#

well i uh

#

use bing currently lol

#

too lazy to swap it

#

and bing is just terrible at giving good results

quiet plank
#

Chat gpt has also been helpful

rugged latch
#

chatgpt seems to just collect stuff from google anyhoo,

#

i tried it for a bit but i felt guilty lol

bronze yoke
# rugged latch do you have an example i can see?

not really, but i can explain the concepts:

when you call sendClientCommand(player, module, command, args) from the client, the event OnClientCommand will fire on the server with the arguments module, command, player, args

player is the player sending the client command - if it doesn't matter which character on the client is sending the command, or if it doesn't really belong to a character at all, you can omit that argument and the game will assume it's player 1
module and command are strings - you can technically put whatever you want for them, but usually module is the name of the mod, and command is the specific instruction you're sending to the server
args is a table - any additional information you need to pass to the server should be here. you cannot send objects over the network (as they are really just a memory location specific to that instance of the game), only basic types

typically, on the server you would have an OnClientCommand handler that checks if the module is your module, then fires code based on what the command is, using the arguments:

--on the client
sendClientCommand("MyModule", "MyCommand", {})

--on the server
local OnClientCommand = function(module, command, player, args)
    if module ~= "MyModule" then return end
    if command == "MyCommand" then
        -- do something!
    elseif command == "MyOtherCommand" then
        -- do something else!
    end
end

Events.OnClientCommand.Add(OnClientCommand)

similarly, when you call sendServerCommand(module, command, args) on the server, the event OnServerCommand will fire on the client with the arguments module, command, args
you can also use sendServerCommand(player, module, command, args), in which case the command will only be sent to the client that player is from

you cannot call sendClientCommand from the server, and you cannot call sendServerCommand from the client, so if you need two clients to communicate, you have to send a client command to the server, which then responds by sending a server command to the client(s)

bronze yoke
rugged latch
#

i know lol

#

i remember i was having an issue in C#

#

and im like ykonw what

#

let me try this gpt thing

#

the dang robot just lied to my face, told me the wrong answer

quiet plank
rugged latch
#

does it?

bronze yoke
#

it'll definitely be of more help as just an assistant to someone with actual experience, but i've seen people asking for help with code they've generated with it and it's just entirely made up functions and structures

quiet plank
#

I use it to prime the pump for teraform and helm (kubernetes) work, too

rugged latch
#

i didnt expect a giant concise guide on how to do it when i asked lol

quiet plank
#

The more exact you are with your request, the better your results will be

quiet plank
bronze yoke
#

๐Ÿ˜‡

quiet plank
#

Hence ^^^

#

I'm just a surly curmudgeon

bronze yoke
#

a popular pattern is to make a table of functions where the keys are the command names, so you can just do commands[command](args) instead of using an if tree

#

but i thought it'd be better to keep it simple for demonstration

slow graniteBOT
#
uncolorr has been warned

Reason: Bad word usage

brave bison
#

NUH UH UH

brave bison
#

Indeed

hearty junco
#

So I'm brand new to zomboid modding, but not new to lua. From what my research tells me the best way to detect if a zombie is within range of a light source, like a lamp, would be to run a function with OnZombieUpdate and then search for the tile within the radius of the individual.
The only other thing I saw was just browsing through the modding page, but I assume I would need to have some java knowledge to utilize the api.

rugged latch
#

which is likely much more performance friendly than zombies looking for lamps around them every frame

#

this is all I do for one my mods that needs the light

#

for some reason you need to send the playerindex, but im not sure if that would actually change anything using it for zombies

drifting ore
#

Can somebody make a simple codelock mod?

tribal gull
#

Combination Padlock is already a thing, no?

drifting ore
#

Ill pay with the blood of my enemies

quiet plank
#

what's the exchange rate of blood for eggs?

drifting ore
#

Depends if they eggs come from chicken from a cage, hall or from the field

quiet plank
#

and if the chickens are vegan or vegetarian

drifting ore
#

If you feed them chicken then the chicken will be more chicken = higher price

inland bane
quiet plank
#

hate it when that happens. So hard to find good help these days

quiet plank
rich void
#

Anyone know a way to figure out which zpop files relate to areas of the map, in a similar way to how BTSE chunk list viewer can give you those files for the map chunks?

#

Due to the way my mutant spawn system works it can get exponentially out of control, and also need to ensure I reset the zpop for the instanced dungeons that get reset on server restarts but currently this means that faction members are logging into their HQ being extremely occupied, same thing with Hub zones, I know I could just prevent zeds existing there but it's a bit too clinical and easily abused, if I can't find away around it then I'm going to need to write a whole new mod just to delete zeds from the HQ's based on the players faction and the name of it for the first player that logs in cry

quiet plank
#

zpop_50_9.bin

first number is x, second is y

#

so that file corresponds to the zpop in cell 50,9

rich void
#

Ohhh, so each file relates to a cell and not a chunk, this makes a tonne more sense thank you so much ๐Ÿ‘

quiet plank
#

I believe. Open to corrections if I'm wrong.

rich void
drifting ore
#

Anybody knows which mod is the one that adds random sturdy/big/sharpened/dull/five-star etc to melee weapons?

drifting ore
#

Thats it

#

I kiss ur eyes brother

drifting ore
#

not sure where to ask but is there a mod that increases smoking time? the current duration for smoking doesnโ€™t work well with the Smoker and smokers sound mod

drifting ore
hollow current
#

My pleasure ๐Ÿซก

crisp wadi
#

WIP of my new map mod, it connects to my previous mod (Leavenburg)

heady crystal
#

Link? ๐Ÿฅบ

humble anchor
#

That mission in vice city where you had to bomb a construction site made me want to bomb a puppy orphanage so I made the van that starts those godawful minigames

#

They don't let you remote control exploding helicopters designed to cause an aneurism in the player yet but i am considering it

heady crystal
#

I have achieved 100 take my points!

#

๐Ÿฅณ

humble anchor
#

Ooh what mod

heady crystal
#

Common Sense

humble anchor
#

Oh sick that's one I always use. Good job on it btw

heady crystal
#

Thank you! Glad you like it!

cedar kraken
#

Well done! And wonderfully well deserved :)

errant oriole
#

Hey mod chat, I've had a challenge idea centered around a recent mod, the loot boxes mod, where i can only use loot from those boxes
problem, some of the recipies take the Money item, and as far as i know, money in zomboid only spawns in 2 things, cash registers and survivor stashes

I wanted to figure out a way to make a mod that makes money spawn in every type of container to make it more interesting

#

Actually i found a mod that makes zombies have a chance to drop money, sorry

hearty junco
#

I'll prolly take a short class on basic java to get a better understanding after I make this first mod

rugged latch
#

I've never written a thing in Java but I know enough c# and am able to somewhat decipher the source

#

But hey nothing wrong with learning lol

heady crystal
#

If anybody here has experience with UI and graphic design and would like to help me out on a mod as a contributor, please send a friendship request ๐Ÿ’–

rugged latch
#

i can do pixel art but uhhh

#

not a very graphic designer lol

errant sable
#

are the payphones the only phones in the game? I thought there was a desk phone but I can seem to find it

heady crystal
heady crystal
errant sable
errant sable
rugged latch
#

i can give advice but i dont think i could lead the charge exactly lol

#

depends on what you need

#

what are you making ui for?

broken cloak
#

hi can someone help me to make a mod? i want to buy one

timber thicket
#

I just had an idea about a mod to make the game a bit more hard/realistic in a small way, it would be something like not telling you certai things like the ammo in ur gun unless u inspect it maybe or reload/unload it. Would be cool

eternal garnet
vale nacelle
#

Hey everyone. I am planning on starting to mod Project Zomboid. I have experience in C++, and as far as I understand PZ is programmed in Java, so how hard will it be to learn Java?

I am planning to make a few simple mods first. I plan on adding sharpening.
Items will have a certain level of sharpness ranging from 1-100%. The sharper an item is the more damage it will do, and the faster actions it will have (by actions I mean stuff like crafting items with knives, or chopping down trees).
Items will be sharpened using a whetstone (which has its own durability) which will be somewhat common to find, especially in rural areas and survivors houses.

Later on I plan adding other stuff like different types of whetstones (like japanese whetstones who are faster to use, but wear faster too;
guided sharpeners which do not need a very high maintenance skill, but are extraordinarily rare to find;
and arkansas stones which are the most plentiful and last long, but sharpen very slowly.)

Note: In my most basic version on the mod I plan on making, sharpening will not be tied to maintenence, the skill of sharpening will always be constant.

In the far future it will even include stuff like making wood handles for tools like axes.

Now, how hard will this be to mod (the most basic version) and how do I get started?

rugged latch
#

well zomboid uses lua for modding, so this is a huggeee downgrade in terms of difficulty level lol

#

i recommend looking at this page really quick

#

but when you get to the part that says stuff about intellisense

#

the guide on how to setup with intellij is outdated

#

this is a fork from that guide that tells you the current way

#

there is no big document currently on zomboid modding as far as im aware
but this https://projectzomboid.com/modding/ website is pretty helpful in just seeing the things you can do with objects
other times your gonna have to dig around with the source code which that guide for intellisense also has you do

vale nacelle
#

thanks for the information!

rugged latch
#

np that should be enough of the basic stuff to get you to the point where you are finally able to actually write some code

versed mica
#

How good is zomboids source code to follow?

rugged latch
#

ehhhhhhhh

versed mica
#

Is it easy to understand

rugged latch
#

that is heavily dependent on your knowledge in coding or not

#

if you know java or something similar

#

yes

#

but either way it is still a bit

#

much

#

at times

#

you can figure anything out in time

versed mica
#

I know C# and C++ but Iโ€™ve had previous experiences trying to follow source code and it just sucks lol maybe just a me thing

rugged latch
#

yea its gonna be the same thing here

#

nah i get that

#

i know c# too but sometimes that shit from someone else is hieroglyphics

versed mica
#

Iโ€™ll probably check it out anyways after I finish my map mod

#

Doesnโ€™t hurt to try okayge

rugged latch
#

hey

#

so has anyone here figured out random spawning yet

#

like TRUE random spawning?

#

wanted to spawn the player naked in the middle of nowhere butttttt for a trait

#

couldnt exactly get that far with the spawning part yet lol

#

i looked on the workshop for mods that do it but they seem to all record all the cells in the game, which isnt ideal as it wouldnt work wiht modded maps

#

and i wanted to entertain the idea of just mimicing eating telecorn before spawn on the player, but i still dont even know if telecorn is acutlly real lmao

quiet plank
#

bows

rugged latch
#

nice lol

#

i guess imma go poking for some chaos corn in the files now then lol

quiet plank
rugged latch
#

idk i saw albion made a mod for telecorn spawn rates

quiet plank
#

also - separate note...

never name your variables like this, no matter how redundant proper naming seems to be:

 public void doUtilityVehicle(IsoMetaGrid.Zone var1, IsoChunk var2, String var3, String var4, String var5, Integer var6, String var7, ArrayList<String> var8, int var9, boolean var10) {
rugged latch
#

which could have been a joke

#

lol

#

im pretty sure thats a like side effect of the decompilation of the code

#

i dont think they know the variable names

#

so it just

#

does that

quiet plank
#

I've never seen that in decompiled java, but my experience is limited... and I see it all over inside functions, not just in the declarations

rugged latch
#

yea its very very like

#

grosssssss

#

and hard to read

#

i would be heavily concerned if that is how the real source code is

quiet plank
#

took me 25min to figure out that this function doesn't use the scriptName at all, but only picks from zones

#

each type of randomizedVehicleStory seems to have it's own structure entirely. My head cannon is that they had an internal competition to push the best way to write them, but it's clear to me which ones were written by the same person and which ones not

rugged latch
#

that

#

is pretty funny

#

that or they just didnt realize someone already did the work

quiet plank
#

not to bash on anyone: software development can be a nightmare even for the experienced

rugged latch
#

im digging through the source scrouunggginggggg to find where the heck the dang view radius variable is

#

yknow for like eagle eyed and junk

#

i need to see where they set it and its just a nightmare

wild flower
#

Howdy, I want to make a mod for zomboid that just involved me changing the jpeg of a single item for me and my friends

#

How do I do this?

modern knot
# wild flower Howdy, I want to make a mod for zomboid that just involved me changing the jpeg ...

Hey! Try this tutorial if it's for an object. If it's for a tile, you can check out this tutorial series.

1:11 Step 1 - Know your file locations
4:06 Step 2 - Storyboard your ideas out
9:03 Step 3 - Get your files from the game or other mods
11:47 Step 4 - Build your mod files
1:01:54 Step 5 - Create the textures (mislabeled in the video, oops)
1:19:45 Step 6 - Put your mod files in the right structure
1:30:37 Step 7 - Test your mod (please back up ...

โ–ถ Play video

Quick guide on how to make a mod with custom tiles so that your own custom tiles show up in-game.

If you like what im doing please consider donating to my Patreon.
https://www.patreon.com/DaddyDirkieDirk

โ–ถ Play video
wild flower
#

Ahh, its just the way an item looks in an inventory.

modern knot
#

Try the first one, then. You'll get to the relevant part pretty early on in the video.

wild flower
#

Nice, thanks

modern knot
#

Np!

bronze yoke
#

if you use beautiful java it'll rename variables based on their type float1, float2, zombie1 etc which is a lot easier to read

rugged latch
#

hey lucky guess

quiet plank
#

I guess if they're not passed or used outside that class, it's more likely to happen

bronze yoke
#

and you can see the actual names of method parameters on the reference site

#

so long as it is public

quiet plank
#

I did eventually end up going there. I've just never seen it out of java before. But most java I've dealt with before was tomcat and jboss stuff

bronze yoke
#

would be nice to get beautiful java using those names, no idea if they take contributions but i know jab scraped them for umbrella so it can't be too hard

quiet plank
#

but I think we've also ssen some code that DOES name their variables that way. I worked with a guy who that's how he wrote bash scripts. He never admitted it, but I think it was for added job security

bronze yoke
quiet plank
#

declare -x global_ary_one

bronze yoke
#

i've seen a few people in here who like their local x =

quiet plank
#

declare -x globale_ary_two

rugged latch
#

ewaguh

#

i already cant understand why people shorthand their varaible names so dang hard

quiet plank
#

only time I abbreviate a variable is when it's an iterator, index, or key=val (or similar instances)

quiet plank
willow estuary
rugged latch
#

i didnt think it was lol

#

well good to hear it from someone who would really know

willow estuary
#

Nobody is doing anything deranged like using var1, var2, var3 as variable names but sure seems like people love jumping to that conclusion when they decompile. ๐Ÿ˜†

quiet plank
#

I guess its highly likely if the variable is strictly local or lacks any kind of formal declaration.

errant sable
sour island
quiet plank
#

Yes. Workshop items.

willow estuary
#

Well, there is nothing keeping a toddler or an escaped insane dog from uploading workshop items to steam either.

Anyways, some people get mad about the variable names that RJ and I use in the code that you don't have to decompile, so yay.

errant sable
willow estuary
#

Well, also a lot of mods are made by a twelve year old who was just learning for the first time as they went along, and some of them end up with more subs and on more servers than a mod made by a professional computer rocket scientologist coder person, so I just feel you have to have realistic expectations re the coding standards in mod.

rugged latch
#

if the code is beautiful only coders are gonna appreciate it, most people only care on what the mod does lol

willow estuary
#

Never seen a mod use var1, var2, var3, but hey, with the way people keep believing that that's the way TIS does it I guess someone must have tried it in a mod ๐Ÿ˜„

sour island
#

Likewise, worst case I've seen is stuff like local a = or worse yet making single letter globals

rugged latch
#

i cant remember where but 1 letter varialbes are

#

something ive seen

#

even if its local i just

sour island
#

I've used them in some cases

rugged latch
#

yea for loops its aight

#

or like something like x, y, z, i

#

theres nothing wrong with writing your variables whatever you want

#

only thing computer cares a bout is

#

"does code work?" "Yes?"

sour island
#

Most mods are not the issue when people "use over 200 mods"

#

It's configuring mods wrong, or using directly stated 'use only one' options, or using mods written several builds ago

rugged latch
#

as someone who "uses over 200"

#

well its around there

#

its a balancing act lol

sour island
#

If you run into issues it's almost always one or two mods

rugged latch
#

oh yea

#

thats the issues

#

its 1 out of like

#

200

#

that i gotta find

#

and man you cant control yourself

#

you get one

#

well why not get that one?

#

well if i have this then i need that?

#

and then your thousandddssss deep

#

most pz mods tho seem to be pretty well written that they dont conflict with each other unless, expressly doing the same thing

#

or similar

sour island
#

Pretty much

#

I've seen way too many posts of "what mod does this thing?"

#

Or comments like 'I spent hours trying to find what was causing this' left on my workshop lol

#

Not bugs either, to be clear, like actual mechanics.

quiet plank
drifting ore
#

i canโ€™t find westpoint expanded? was it remove or smth

quiet plank
#

Nope. I have it running on my server. Dunno the workshop id but the mod is WPE

rugged latch
#

okay now this is just ridiculous. how does this even work???

#

shaders are a different breed or something
if (alwaysfalse == true)
{
code runs???
}

red whale
#

Its a switch. This codepart will be ignored. The dev might kept it for testing purposes

rugged latch
#

no no, i made this

red whale
#

And it is working? I mean 0 == 1?

rugged latch
#

yes lmao

red whale
#

oO

errant sable
#

im gonna say you have a mistake somewhere

rugged latch
#

this code

#

is entirely copied from the games source

#

except this one section

#

i added

#

and when i delete this section shown

#

it renders just fine

#

i have no idea

#

no matter what i do that line existing at all it runs no matter what, im assuming this is shader junk or gpu something that i just cant comprehend

errant sable
#

I would wager that is the problem. If you have something which you presume is false, and == true code block runs, then that variable is not false

rugged latch
#

as far as im aware

#

0 is not 1

#

i know what you mean tho

#

i tried it with normal variables

errant sable
#

yeh exactly, so somewhere you are failing to understand what the value of alwaysFalse is

rugged latch
#

i went to this as like a last resort like

#

"surely not"

#

no alwaysfalse was an example

#

this is genuinely how it is

#
#version 110

varying vec3 vertColour;
varying vec3 vertNormal;
varying vec2 texCoords;

uniform sampler2D Texture;
uniform float Alpha;
uniform float LightingAmount;

uniform vec3 TintColour;

uniform vec3 AmbientColour;
uniform vec3 Light0Direction;
uniform vec3 Light0Colour;
uniform vec3 Light1Direction;
uniform vec3 Light1Colour;
uniform vec3 Light2Direction;
uniform vec3 Light2Colour;
uniform vec3 Light3Direction;
uniform vec3 Light3Colour;
uniform vec3 Light4Direction;
uniform vec3 Light4Colour;
uniform float HueChange;

#include "util/math"
#include "util/hueShift"

void main()
{
    vec3 normal = normalize(vertNormal);

    vec4 texSample = texture2D(Texture, texCoords);
    if(texSample.w < 0.01)
    {
        discard;
    }

    vec3 col = texSample.xyz;

    float dotprod;
    if(HueChange != 0.0)
    {
        col = hueShift(col, HueChange);
    }

    const float QuantiseLevels = 8.0;
    vec3 lighting = vec3(0.0);

    dotprod = max(dot(normal, normalize(Light0Direction)), 0.0);

    lighting += Light0Colour * dotprod;

    dotprod = max(dot(normal, normalize(Light1Direction)), 0.0);

    lighting += Light1Colour * dotprod;

    dotprod = max(dot(normal, normalize(Light2Direction)), 0.0);

    lighting += Light2Colour * dotprod;

    dotprod = max(dot(normal, normalize(Light3Direction)), 0.0);

    lighting += Light3Colour * dotprod;

    dotprod = max(dot(normal, normalize(Light4Direction)), 0.0);

    lighting += Light4Colour * dotprod;

    vec3 gray = vec3(dot(vec3(0.2126,0.7152,0.0722), col));
    vec3 tintColour = TintColour;
    if (0 == 1)
    {
        tintColour = vec3(mix(TintColour, gray, .99));
    }

    lighting.x = min(0.0, 1.0);
    lighting.y = min(0.0, 1.0);
    lighting.z = min(0.0, 1.0);

    col = vec3(col.x * tintColour.x * lighting.x, col.y * tintColour.y * lighting.y, col.z * tintColour.z * lighting.z);

    vec4 fragCol = vec4(col * vertColour, Alpha * texSample.w);
    gl_FragColor = fragCol;
}
#

well that worked as planned

#

yea but that is literally everything

quiet plank
#

That's a debug pattern.

rugged latch
#

mm

quiet plank
#

There a missing semicolon or bracket that it's closing or something?

rugged latch
#

pshhh (like pssh of thinking)

#

i didnt see any and it seems to work just fine

#

and the fact that the code goes allll the way through

#

the character is only supposed to look black when 0 = 1

#

yet always looks black

#

and obviously 0 never = 1

quiet plank
#

And you've tried it without that conditional?

rugged latch
#

yes

#

when i remove the code that makes the character black

#

the character is not black

#

that single line

#

any ideas i had of fixing this have been fubar

#

its just entered into the realm of nonsensical

quiet plank
#

That's why I'm wondering if the conditional is buggy.

errant sable
#

um, well in TintColour is black, it will always be black

quiet plank
#

Well, actually, if it's working how you say, we know it is.

#

The why... That's just odd

errant sable
#

if you look, gray is the dot product between a fixed color (some grey i presume), and a hueshift from the texture

rugged latch
#

im aware of that

errant sable
#

ok, so what is the value of TintColour as passed into the shader?

rugged latch
#

well without mixing it with the gray its just what makes it come out normal

#

i want it to be black, but i only want it to be black with conditions

#

the problem is that no matter what that condition is the code just always seems to run

errant sable
#

what is the source image?

#

like, paste it in here

#

cause I'm like 99% positive what you think is happening, isnt what is happening. Not saying your not seeing the results you see, but Im not sure the code is doing what you think its doing when you think its doing it

rugged latch
#

left is with the line of code there, no matter where its placed
right is with the line of code removed

errant sable
#

In order to check this, need the actual source image, and to know the actual value of TintColour as passed to the shader

rugged latch
#

i dont think i can give you the value of tintcolour

errant sable
#

sure you can, make it the the output color real quick

rugged latch
#

like actually i cannot print it, nor can i directly communicate with the shader

errant sable
#

screen grab, and check the color

rugged latch
#

ohhhhh

#

its not really the color thats the matter its the condition

#

im able to change the tintcolour just fine

errant sable
#

no, but the color matters in the calculation of what you are seeing

#

the only thing I can think could be happening is because you have a bad conditional, the shader compiler is optimizing it out... but i have NEVER seen that happen like this

rugged latch
#

yea i just want to be able to tell the code to do different things, based off different conditions. and i cant get it to do that

errant sable
#

um

#

is it possible that your condition is causing the compiler to throw an error, and the code is catching it, and loading the default shader?

#

which is why when you remove the "bad condition" it works... because its no longer reverting to a default shader of some sort...

rugged latch
#

the default shader is the right one

errant sable
#

that seems more likely than if (0 == 1) always evaluating to true

rugged latch
#

as in right picture

rugged latch
#

but i dont know why it would automatic to running the condition?

#

if it couldnt find that out

#

it started out with me trying to make it actually care about what the condition was

#

but then i realized that it just didnt seem to even care

timber thicket
quiet plank
#

Actually, doesn't seem prohibitively difficult. And it seems that's how guns should work while the weapon condition indicator for melee weapons should be default (for realism of sorts)

fast galleon
#

anybody have an example of how to make a quit to desktop error message?

quiet plank
quiet plank
#

That I know, those kinds of errors only pop up when an integrity check fails at the start of a server connection

#

As for the quit to desktop option, I also see those when someone is auto-kicked for various anticheat reasons

#

I think it may determine to give the quit to desktop option when the failure could be caused by steam or steam-related things

fast galleon
#

these seem relevant

function ISGameLoadingUI_OnGameLoadingUI(status)

function ISServerDisconnectUI_OnServerDisconnectUI(reason)
quiet plank
#

All speculation in the moment, as I don't know for sure

quiet plank
fast galleon
eternal garnet
quiet plank
#

Everybody who knows how to do something started off not knowing.

nimble badger
granite jasper
#

so look, I've literally never made a mod in my life, but I was wondering if there was a guide somewhere that helped with a simple audio replacement mod

rain shard
#

Hello everyone (again). Is there a file that defines wall health somewhere? I'm looking to see if I can lift it and utilize it for some custom tiles that we have so they're much harder to break.

mystic ivy
#

[Phobia remove cockroaches]

Hi people. My wife and I love playing, buy she has a serious phobia of the cockroaches.
Is there any mod where I can remove or replace this item?

I have a little knowledge on coding so if I had do addapt something that could work. If anyone could help that would mean a Lot. Thanks

tender fossil
mystic ivy
#

Great to know! Will take a look on that. Thanks!
If I get Lost I'll ask you to dumb down your answer by 15%. Lol

grim cedar
warped otter
#

Hello, I'm trying to change values of an XP multiplier mod, but it does not seem to work. I found this file, and changed some stuff, but still dont work, HELP?!?

red whale
#

Guys, let me ask a question, do you know is it possible to gather player mod data from an admin instance? i tried to use remoteIsoPlayer:getModData() but no luck it returns with an empty table... or is it possible only if I send a command to the client through the server and sending back the data?

mellow frigate
red whale
#

Thanks for the answer btw!

wheat kraken
#

where does dedicated server logs store the print results? from lua mod server part

quiet plank
#

<server_root>/Logs

#

What log are you looking for?

wheat kraken
#

im trying to print inside the server scope, and is not showing anywhere

like
if isClient() then
--do something
else
print("server log")
end

quiet plank
#

Could also see it as <installation_root>/Zomboid/Logs

#

Oh, it has its own log handler that I haven't dug into yet.

wheat kraken
#

my server is dedicated server

quiet plank
#

Mine too.

#

With force_install_dir /opt/zomboid my logs are at /opt/zomboid/Zomboid/Logs

unique veldt
#

Iโ€™m curious if anyone is working on a Union City map mod

#

On the other hand, is there a mod that adds favorite foods? Like you assign a certain food that in turn gives your character increased happiness and stress relieving stuff upon eating it?

empty osprey
#

Is there a way to reduce weapon spawns from a mod if there are no sandbox settings for it? Like what specifc numbers do i have to mess with in what file to reduce them

#

I felt this would be the best place to ask for it

rich void
#

Hey guys, trying to initialize a table that's updated by the server by initializing server side and the client requesting it when they join.

I tried sending the command from client from the OnGameStart event but it didn't seem to come through on the server side, is it possible that during this stage of loading the client does not have access to communicating with the server in this way, just about to try onConnected but any insight from someone with more experience would be greatly appreciated ๐Ÿ™

#

Ongamestart triggers before onload say what, by now I thought I'd know the answer to this question but.. is there any event that happens JUST before or immediately as the player clicks "click to start"?

sour island
#

APIs for my APIs

#

I don't know if this is exactly what you want but it uses a system to update connecting clients with serverside data upon connection (and updates in realtime).

#

Linked the wrong mod, my bad

rich void
# sour island Commands can't be sent right away to clients when connecting. However, if all yo...

I'll definitely check this out, atm I've just resorted to this.. which isn't the best way of going about it I'm sure but it works shrug


function InitialLoadedArtifactLocations(player)
    if not HasInitialArtifactLocations then
        HasInitialArtifactLocations = true
        local args = {}
        sendClientCommand("Anomaly", "RequestArtifactLocations", args)
        print("Client Requesting Artifact Locations")
    end
    
end

Events.OnPlayerMove.Add(InitialLoadedArtifactLocations)

sour island
#

I've done something similar before, you're ok with using onPlayerUpdate and removing the function

rich void
#

Bro's just gained 10 fps from 2 other mods I'm doing this with Kek

sour island
#

Events.OnPlayerMove.Remove(self) (I think should work, although I never tried self)

rich void
#

Thank you ๐Ÿ™

sour island
#

How are you storing the table?

#

Saving, rather

#

GlobalModdata on the serverside? Or a read text file?

rich void
#

local artifactLocations = {}


ServerShouldInitAL = true


local function InitArtifactLocations()
    if isServer() and ServerShouldInitAL then
        ServerShouldInitAL = false
        for i = 1, #GlobalAnomalyZones do
            artifactLocations[i] = { found = false }
            print("Init Artifact location.." .. i)
        end
    end
end

Events.OnServerStarted.Add(InitArtifactLocations)

#

And then I'm just updating it through client command bounces

#

Whenever people find artifacts

sour island
#

How is it being saved?

rich void
#

It's not persistant across restarts if that's what you mean.. it's just stored in the table on the server side and sent to clients when they join now

sour island
#

Ah

rich void
#

Anytime that table changes on any client, it updates the server, the server then sends the updated table back to clients

#

Emissions also reset the table

sour island
#

I do pingpong updates too, but if you want it to be persistent check out the zones api

rich void
sour island
#

Also if you're ping-ponging commands it won't work in SP

sour island
rich void
#

Ahh well yeah that's essentially what I'm doing

sour island
#

Yeah but in SP it can't properly use server to clients cause nothing is connected

sour island
#

So the workaround is to have it call a function first that checks for isServer send command otherwise do the contents of the command.

#

It's another thing to have to write around ๐Ÿ˜…

rich void
#

Haha yeah I'm still getting to grips with the server client communication stuff, got all 5 brain cells working overtime

#

Appreciate the help from the all mighty chuck ๐Ÿ™

sour island
#

No worries, it takes me like 2-3 days to setup network interactions cause I forget/don't make a general API for it.

#

And decide to change up how it works everytime.

#
function zoneEditorServer.pushUpdate(zoneType, zones, disableRefresh)
    if isServer() then
        sendServerCommand("zoneEditor", "loadZone", {zoneType=zoneType, zones=zones, disableRefresh=disableRefresh})
    else
        zoneEditorServer.loadedZones[zoneType] = zones
        zoneEditor.loadedZones[zoneType] = zones
        if (not disableRefresh) and zoneEditor.instance then zoneEditor.instance.refresh = 1 end
    end
end
rich void
#

The worst part is needing to borrow some poor soul to make sure I've done it right lmao

sour island
#

This also needs refactoring cause I think I can get around using a separate variable for clients by just referring to the same variable - which clients have access to in server

sour island
#

The "server" code is still executed on "players".

#

For both SP and MP

#

Trying to keep things clear in setting up zones API I used one list for players and one for host. But I think it can consolidate it by just referring to the same variable for both.

drifting ore
#

hi there, could anyone tell me which event it's triggered when a player spawn? there are a few, but quite don't understand the difference between survivor, character, etc..

sour island
#

At least for SP

drifting ore
#

i.e OnCreateLivingCharacter OnCreatePlayer OnCreateSurvivor

sour island
#

Or fire before connection is complete.

rich void
sour island
#

Oh?

rich void
#

But I did manage to butcher together a custom spawning system used for my mutants instead of just adding them directly to zed distribution using at as a base

#

also radiation

drifting ore
#

thanks, i'll add my function there and see how it goes ^__^ @sour island

sour island
#

I thought the name was not used prior - and this mod lets admins edit zones in the server in real time. At which point you can do other things on your own.

rich void
#

And a teleport fade to black dealio

rich void
sour island
#

Also didn't realize vanilla zones were kind of a thing already lol

#

I've seen how other mods handle zones and it appears to just be copy pasting the vanilla methods. I want to see if I can incorporate vanilla zones into my UI.

rich void
#

It's still costly but allows me to have one table with 1000 zones with no lag

sour island
#

I should look into that

#

I don't think I have anything to mitigate that many zones

rich void
#

Knowing you, you could slap it together in an hour way better than I have ๐Ÿ˜›

sour island
#

I'd probably look into making it a matrix

rich void