#mod_development

1 messages · Page 473 of 1

viral spire
#

Let me check.

#

Normal GEAR.

#

That was the required one for ToxicFog, along with Item Tweaker API. 7 errors showed when it started raining while I was outside.

fallow bridge
willow estuary
viral spire
willow estuary
#

Sorry, there is no Toxic Rain, I should have said Toxic Fog and Rain.

viral spire
#

Ah, okay. I know there's a really old Toxic Rain mod by someone else, but I wasn't sure if the newer version had just a rain variant.

What mods are installed for you?

#

I'm trying a new save with just ToxicRainAndFog, GEAR CORE, and Item Tweaker API.

willow estuary
#

Yeah, that's all I got running. I'm sorry but as long as it works on my end that's the end of what I can do on the occasions where I do help people with my mods.
I have too many mods, and too many people use too many mods at the same time, for me to provide end user support, and as a matter of personal boundaries, and to conserve my time and energy, I can't help beyond occasionally error checking on my end.

#

Being that it takes 10-15 minutes to try and replicate an error, and 90% of the time I can't replicate the error.

viral spire
#

No worries at all. It's likely just an issue on my end that I missed. Been a while since I've played, so there's probably something I changed that I forgot about.

jovial summit
#

Also validating game files wouldn't hurt

viral spire
umbral wasp
#

Is there a way to lock the game zoom?

#

And/or stop the camera from panning when aiming?

winter bolt
#

theres a checkbox in the controls tab called "pan camera while aiming" or something like that

#

it might just be in the normal settings tab

viral spire
umbral loom
#

is hydrocraft updated yet for 41.51 Thonk

craggy furnace
#

hydromancer mostly just does rimworld now, the caretaker seems to not care anymore

#

either someone will step in, or itll get stripped for parts basically

#

looking over it now, damage doesnt look too terrible but id give it a month or three

visual wasp
#

is there any hunting mods for build 41.50 ?

tulip valve
#

require"MainCreationMethods"

BaseGameCharacterDetails.DoTraits = function()

TraitFactory.addTrait("Packmule", getText("UI_trait_Packmule"), 6, getText("UI_trait_PackmuleDesc"), false);

end

end

Is this the correct way to add a new trait without screwing compatibility with other mods that alter the MainCreationMethods file?

#

Nope that was wrong. Turns out I only needed to do it like this:

require"MainCreationMethods"

TraitFactory.addTrait("Packmule", getText("UI_trait_Packmule"), 6, getText("UI_trait_PackmuleDesc"), false);

#

Now it works ^^

tulip valve
#

Okay now this happends, I have no idea why :/

#

Organized trait gets the exactly same name and description and I have checked in UI_EN that I havn't set the same name for Organized

tulip valve
#

Okay I fixed it

#

How can I add two requires on a mod? Dosnt seem to work

fringe oxide
#

Is there a mod to prevent zombies from hearing shots?

undone crag
#

You can do that if the zombie is a reanimated isoplayer. I tested it by spawning an isoplayer and infecting it and ending its virtual life. It was dressed in a white shirt, black trousers, and black shoes.

#

I then gave it a black jacket and sunglasses.

#

After I exited to the main menu and loaded the game again, it was still wearing the black jacket and sunglasses.

#

Hmm so the game spawned an African American with blonde hair :/

#

Yo dawg your firecracker weighs 1.5 dawg

sour island
#

weird thing is it's not referenced at all

#

wait are you on 50, 51 or 52?

nimble spoke
#

survivor zombies having their own inventories is an old thing

fair frost
#

I got a problem with the addon created by me
It doesn't work if I try to download it from steam

Like vehicles from it just won't spawn unless i put file of these directly into fili cars mod on my pc which its using as a base, i don't know why game doesn't want to spawn my cars
like does it not know what to do with my files ?
Anyone know how could I fix it ?
here is addon
https://steamcommunity.com/sharedfiles/filedetails/?id=2511297916

undone crag
undone crag
#

It also works in Build 41.52, though the player turns invisible briefly while the isoplayer NPC is alive.

sour island
#

hm

keen sierra
#

Has someone ever made a radio mod?

#

Like, making your own music play and all that

upper junco
#

Survivor Radio does that and immersive CD players.

flint seal
#

feature or glitch?

plucky nova
#

look, with that profile picture, i wouldnt talk to you even if you werent a bot

ruby urchin
#

lol A moron that can think we can falls on his phishing page, get out here lammer...

#

Ban pls

#

or probably he is an infected user, I recommend turning off your computer and analyzing

grizzled grove
ruby urchin
craggy furnace
#

needs more detail and a long paint session but 8/10 the way there

undone crag
#

Back then though didn't they have the engine under the wing instead of in front of it?

craggy furnace
#

@undone crag its firmly attached to the wings

#

with the gears holding the wings

#

you have three points of contact

undone crag
#

What's attached to the wings?

craggy furnace
undone crag
#

By engines I meant these two things.

craggy furnace
#

theyre fused into the wings

#

by design theyre propped up

#

hence the beams

undone crag
#

Hmm yeah actually that photograph shows them right out in front of the wings.

#

Oh no

#

Déjà vu

#

Why this Déjà vu?

craggy furnace
#

not sure about the paint job(s) yet

undone crag
#

Maybe my brain made a mistake but it's like this conversation has already happened. Maybe something mistakenly perceived the recent memory of this conversation as an old one.

harsh sapphire
undone crag
#

I mean I was thinking about aeroplanes looking different now with the engines in front of the wings instead of tucked back beneath but those two pictures are actually like that. Are they from before 1994?

harsh sapphire
#

In all honesty, I think I associated my deja vu with dreams

craggy furnace
#

yes?

undone crag
#

Oh ok

#

Actually maybe those look half way between, and also they have propellers maybe that's it or maybe not.

sour island
#

I remember someone was messing with zombie targeting

#

any luck on that front?

stable linden
echo sky
#

I forget what planetagol's tag in here is but found an error with his new trash mod

#

This type of trash pile has a weird weight, and throws an error when trying to pick it up

#

@willow estuary

#

I remembered

willow estuary
echo sky
#

No worries, just wasn't sure if you were aware of it

#

good mod, adds some good feel to the world. Although for some reason I didnt see 7 corpses and a bunch fo trash appearing inside my home lol

brave olive
#

Hi friendos! I'm looking for some docs to get into modding this game. Anyone has a handy link to share?

craggy furnace
brave olive
#

txtx

echo sky
undone crag
#

Has anyone worked out or been informed of how to use the new custom perk thing?

#

I am too awkward or something to DM one of the Indie Stone guys to ask :c

nimble spoke
#

I think we have a pinned message with the example files

#

my building time mod was updated today to use it

umbral wasp
#

big sad

#

i also need some help making windows unbreakable and unopenable

#

never mind about unopenable. ill just make them locked

undone crag
#

I see the example.

latent orchid
#

**Proposed New Channels for the Workshop Section **- Please look at #mapping pinned item
Howdy fellow modding channel dwellers. We have pinned a short-time Y/N poll for some suggested new channels over in mapping (it just came up and nasko will make it happen on the basis we all agree on names).

The proposal is to add a couple of extra channels under WORKSHOP that will help centralize some types of discussions such as 3D modelling, animations, lua and custom graphics. This will also help newer members find past answers and ask for help relevant to their specific focus without getting their questions lost amongst other topics related to modding/mapping.

Please head over and check the pin and let us know if you agree or disagree with the proposed channel names.

sour island
#

Encountering errors? (a visible red box at the bottom right of your screen)

A log file can be found in: C:\Users\<username>\Zomboid\console.txt
Note: The file resets after each game boot so you will have to grab the file right after the error happens.

Once you have the log handy you can search through it for the terms "ERROR" or "Stack Trace". These will include the file names, and even lines the errors occurred. Even if you don't understand what the log says, it should hopefully be obvious which mod is triggering the error based on the lua file name.

#

since I suggested someone write this up- I figured it could be me lol

wanton cosmos
#

i wanna make one of those scenarios that you can choose, alongside "winter is coming", "you have one day" and the other things.
it's "winter is coming", but -30°C, and you only have one week of autumn before the permanent winter.

if anyone knows the temperature of the sea ice biome in rimworld, that's how cold i'd like to make it permanently.

am breezing through the "Winter Is Coming" challenge, would like something actually cold.

craggy furnace
#

@wanton cosmos cryogenic winter

wanton cosmos
#

tried that, still perfectly fine

late hound
#

Fresh Prince of Bel Air Meets Zomboid!

mellow oyster
#

Ok, so i just found this file in survivor radio, can someone please explain wtf this is

sand stump
#

but i can tell you if you're fine with spoilers

mellow oyster
#

sure

#

cuz im sort of spooked rn and i gotta pet my dog because its too early for this crap for me haha

mellow oyster
wanton cosmos
#

pretty much impossible

mellow oyster
warm belfry
#

hey everyone, has anyone encoutered the game crashing after trying to attack zombies?

#

or how can I track down the reason why the game crashes?

#

i use a lot of mods btw

willow estuary
shrewd knot
#

@/TiberianEuan#9662 Rimworld sea ice is -20 to -30°C.

sick crater
#

Anyone here know if there has been a fan made radio station or radio theater? Something like "We're Alive"

frank helm
#

can someone update the kitsune crossbow to 52? and the wooden crossbow long with it ?

frank helm
latent orchid
#

this fella obviously doesnt know blair that well 😂

willow estuary
#

What? Oh good lord, I have over 120 mods, how the heck would that even be feasible?
Just click on where it says Project Zomboid > Workshop > planetalgol's workshop near the top of the mod page cowpoke.
https://steamcommunity.com/profiles/76561198032164260/myworkshopfiles/?appid=108600

But yeah, no, I just do my own thing, and am not someone anyone should be coming to with their ideas or requests. I have too many dang ideas for mods that I haven't knocked off anyways.
Plus if I make a crossbow mod, then I'll get too much attention from all The Walking Dead stans/cosplayers, and that ain't my vibe.

willow estuary
# frank helm then how about bow ?

I'm really trying to firmly but politely explain to you here that I'm not a "suggestion guy" in the least? Ordinarily I'd just keep my mouth shut, but you seem like a persistent rascal, so I'll be frank.

Having people come to me wanting me to make mods on request is no bueno given that:

  • I have a significant backlog of mods that I'm working on, or have ideas for, that can keep me busy indefinitely.
  • I feel like if I make even one requested mod, then that just opens the floodgates for having more people than already coming at me wanting requested mods.
  • In the past people have driven me absolutely batty making suggestions and requests for mods, or changes to my mods, that I have 0% interest in, and it's one of the reasons I have workshop comments disabled.
  • I am incredibly grouchy, cranky, and insular, and I just don't want to deal with any of that stuff? I just want to do my thing, shove mods out the door, and let people use them, or not, as they see fit.
#

However, there seems to be plenty of people that are eager to make a name for themselves as PZ modders, and also have a radically different attitude than I do, so I all can suggest is take you requests to one of those people?

sick crater
#

OOOOOO you made a sewing machine nice! Going through your mods right now Blair 😛

sour island
sick crater
#

(T_T)

#

I finally clicked on the build 41 filter and that eliminated all but 5. >.<

#

So why would someone install a mod to prevent yourself from doing something....wouldn't you just not do the thing?

sour island
#

Maybe it's for weak willed people

#

Did they fix the workshop tag system?

#

Iirc you have to use a mod to set tags for your uploads- not sure how long that's been the case

sick crater
#

🤷‍♂️

sour island
#

Just saying, you probably have to check the mod's name or description to see which build it's for-- but generally if it's old it is probably broken.

glad portal
#

it's just me or guns mods loot is broken af?

#

just looted like 390kg of guns and ammo from one military building

flint seal
#

that's too much weight!

glad portal
#

ye thats nothing for mili truck

#

it's that much cuz i've disabled thing where trunk capacity is smaller while destroyed

#

cuz it's illogical for me

crimson panther
#

seems like on new build 41.52 even with changed loot (if it's changed), CrashedCars mod works with it's own loot.

#

so it seems like I don't need to change anything.

#

Is new loot tables in? Is the update released..? I am a bit confused since I haven't played PZ in months

sour island
#

The new loot tables don't impact vehicles

#

Yet

viral spire
sour island
#

I agree, crossbows are overated I prefer a real man's weapon - an English longbow.

#

I'm not some dandy who uses a single finger to fire his weapon.

dry sparrow
#

Bro do you even atlatl?

sour island
#

I'm not worthy, take my big-boy™ license.

#

Incidently, a sling would be a pretty good weapon in a zombie apocalypse.

worldly olive
#

Hey guys, is there any timedActions that's executed when doing exercise? is there one for each exercise?

sour island
#

There's a folder with all timed actions

worldly olive
#

I couldn't find in the client/timedactions location

dry sparrow
worldly olive
#

The only one I found is "ISFitnessAction" but I wasn't sure that's related to the specific exercises 🤔 probably yes and are all together

sour island
#

Sounds like it

#

Exercise menu was/is just called fitness

pine tree
#

Does anyone know if theres a way to package up some custom difficulties into a mod? I have at least a half dozen by now

drifting ore
#

Hey, was having issues with superb survivors and needed some help

#

I was directed here

#

The survivors can’t aim… at all. Against humans or zombies. Or if they can, it does no damage

#

Like I tested it, I stood in front of some hostile npcs with guns for several minutes and they just couldn’t hurt me

sour island
#

Are you using the Subpar patch?

#

The original mod isn't supported anymore, even before this update tbh- but the guy working on the patch might be able to plug those issues.

drifting ore
#

Yeah but shit I’m looking it up now

#

This is apparently a very common problem

#

This sucks ass man, that’s my favorite mod and survivors literally can’t do damage rn

sour island
#

Honestly surprised it broke

dry sparrow
#

Superb and Subpar are both broken right now because of 41.51/2

sour island
#

As much as it was ducttaped together- I wouldn't see a connection to the new update and preventing NPCs from targeting.

dry sparrow
#

Pretty sure it's related to some MP code changes, similarly to how split screen had problems.

#

Anything that creates an IsoPlayer is affected.

sour island
#

That's true

dry sparrow
#

For instance, Aiteron's early tests of a new NPC mod from scratch have the exact same problems.

sour island
#

So SS may have relied on some variable that got gutted

dry sparrow
#

It seems any procedurally-created IsoPlayers cann't deal damage.

sour island
#

Hmm

dry sparrow
#

I suspect that it's actually a bug in the engine somewhere, but since it only affects NPCs it wasn't noticed in testing.

#
sour island
#

Oh your the author of subpar

#

I salute your efforts

#

Aptly named

dry sparrow
#

Haha thanks I just wanted to fix it for myself then got a little carried away.

drifting ore
#

Same here man, it’s my favorite mod bc it adds base building and you’re the only one up keeping it

#

Like npc base building

sour island
#

Are you using an IDE? (I assume atleast debug mode)

#

You could pinpoint the issue if you lay in debug outputs.

dry sparrow
#

Yeah, everything in lua works fine.

#

All the right events trigger.

sour island
#

So they try to attack/shoot (use up ammo) but deal no damage?

dry sparrow
#

Yes exactly.

#

Blood splatter even occurs.

drifting ore
#

I noticed that

#

Which was weird

sour island
#

So something within Hit() must have changed

drifting ore
#

It doesn’t occur on humans though only zombies

sour island
#

I would run a comparison between .50 and .51/52 IsoGameCharacter.java

#

Worst case scenario you could write your own dmg handling

dry sparrow
#

Yeah I've considered that, it seems like it would get really hacky though.

#

They also don't knockback properly.

sour island
#

You can simulate knockback too

dry sparrow
#

I would need to decompile to look at that java file, right?

sour island
#

If you use intelliJ or a similar IDE it decompiles automatically

dry sparrow
#

Ah I've just been using vscode

sour island
#

It does it Everytime you open the file- but you can actually decompile it to speed up the process.

#

Does vscode let you read java?

dry sparrow
#

It's really just a text editor.

sour island
#

I'd say you'd be better off with a few more bells and whistles dealing with SS

dry sparrow
#

Yeah I looked into getting set up with storm and everything but it all starts to resemble my day job too much.

sour island
#

You honestly don't need to get into storm to write Lua and maybe debug some Java

dry sparrow
#

What jar file should I be looking at?

sour island
#

IsoGameCharacter

dry sparrow
#

It's in its own jar?

sour island
#

That is the base object which makes up IsoPlayers and IsoZonbies

#

It should be yes

#

The nice feature about IntelliJ is you can use Ctrl+n / Ctrl+shift+f to find stuff in the java files if you've decompiled.

#

I can't tell you where it'd be otherwise

dry sparrow
#

Do you happen to know if intellij has a diff function?

sour island
#

Different function to what?

dry sparrow
#

I have two files open side-by-side

#

I want to find differences between them

sour island
#

Oh

#

It has a history of changes feature- but I'm not sure if it has a side by side.

dry sparrow
#

Cool, I'll just copy and paste into vscode

#

Yeah, there's a whole lot of changes in Hit()

#

It seems to have been refactored a bit, with the damage calculations split out into a new meth, processHitDamage

sour island
#

Are the arguments in the same order?

dry sparrow
#

Yeah, code all seems pretty similar just moved around and split out.

#

I did just notice something really really interesting though.

#

I'm verifying, but I think OnWeaponHitCharacter event may not be firing

#

Yeah, confirmed

#

Which must mean Hit() isn't even being reached.

#

Do you happen to know what calls Hit()?

sour island
#

Not sure honestly, not at a PC to look

#

IsoZombie and IsoPlayer also have their own Hit()s too

#

They call super.Hit() which is IsoGameCharacter's if I understand it correctly.

undone crag
#

Currently calling hitConsequences from Lua does not damage zombies or make them suffer the consequences of being hit from what I have seen.

dry sparrow
#

Events.OnHitZombie isn't firing either, which is one of the first things done in IsoZombie's Hit()

#

hitConsequences now has an additional boolean argument

#

Hm it's never referenced though

#

And there are no other changes to hitConsequences

#

Ok this is pretty interesting.

#

That extra parameter is passed in from the last parameter in Hit()

#

Which defaults to false

#

Another change in 52 is the following:

#

if (!var6) {
var12 = this.processHitDamage(var1, var2, var3, var4, var5);
}

#

var6 is that added parameter.

#

So yeah, that would be it for sure

#

There's an optional parameter to Hit() that has to be set to true or else no damage is dealt.

#

So something that's calling Hit() in NPC attacks is missing that parameter.

undone crag
#

Is the the ''ignore damage'' one? I can't read the new Java.

drifting ore
dry sparrow
#

Those methods seem to be missing though.

undone crag
#

I can't open a class in this with Java Decompiler :/

#

How did you do it?

#

Are there more than 4 parameters for hitConsequences now?

dry sparrow
#

public void hitConsequences(HandWeapon var1, IsoGameCharacter var2, boolean var3, float var4, boolean var5) {

#

Hit passes that same var6 variable from above in as the final parameter

sour island
#

It would if set up correctly, generate what's available as you typed- and as well Ctrl+click to jump to what it is referencing.

undone crag
#

I meant to ask how Felkami was able to read those files inside the zip file using Java Decompiler. Konijima said the zip file contained the Java already decompiled. When I try to open one of the files, it is not opened.

sour island
#

I'm not sure what they may be doing differently as I left CocoLabs a while ago

#

What are you using to decompile?

undone crag
#

I was not decompiling something, I had instead downloaded Konijima's zip file which he said was the decompiled Java of Build 41.52. Felkami said that some software last updated in 2019 named ''Java Decompiler'' was able to read Konjima's decompiled Java, but I have not succeeded on opening it with it.

tulip valve
#

Is over 3000 polygons for PZ weapon models high?

earnest prairie
#

I joke I joke. Had to Raze you a bit! Have a great one!

sour island
undone crag
#

The zip was provided as an alternative to using InteliJ though... :c

sour island
#

I'm not familiar with other programs- are you using vsc?

#

If it can hold jar-sources or Lua zip libraries it should work

willow estuary
earnest prairie
#

HAHAHA Thanks Blair

sour island
#

I see there's a vscode-lua plugin for it

#

Alternatively I think it should work as an external library

undone crag
#

I do not know what vcs is and I am probably not using it.

sour island
#

What are you writing code in?

undone crag
#

Notepad++

sour island
#

I have notepad++ I don't think I've seen advanced features that could look through java.

undone crag
#

I have been ''JD-GUI'' or ''Jave Decompiler'' to read the Java but it won't open Java 15. Konijima gave some Java he said was decompiled but it can't read that either but it could for Felkami so that's odd.

sour island
#

He'd be using intelliJ which reads java natively

#

If I'm not mistaken

#

On both facts

undone crag
#

He said he was using IntelliJ with Gradle with Capsid.

sour island
#

If you download intelliJ I'll give you the two libraries you'd need if you don't feel like dealing with capsid/pzmod/Gradle/cocolabs

#

It'd only be up to date for .52 though

#

So if there's a .53+ it may not have every function that's exposed.

undone crag
#

It's 774MB though :/

#

I may download it though actually, if I can't read the reportedly decompiled Java with something else.

placid delta
#

would you like to see this as an expensive trait? "The 6th Sense"
https://youtu.be/SuFw__xU4ZY

I was working on a mod that will give you a Visual indication of the direction that sounds are coming from, now thats not quite done and not what is in this video, but I realized this same system could be used to give you a zombie sense.

See the arrow follows the closest zombie to your position and color/flashing reflects how close/dangerous it...

▶ Play video
radiant ginkgo
iron salmon
#

That's looking fly, dude

ruby urchin
#

trying make a new hunter mod here!

viral spire
#

I'd love to see a Project Zomboid mod that sets the game in the year 1900. Granted, that would be a huge overhaul of pretty much every mechanic in the game, but it would be fun to imagine.

#

No radios, primitive cars which are rare, and very few ways to properly store your supplies long term. Very few canned items, things go bad faster because of fewer preservatives.

Makes me wonder how people then would've fared against the Knox Infection.

dry sparrow
#

No highways and lower population that was all scattered around would mean the infection would spread much slower without a real exclusion zone hotspot like in PZ so I think it would be a much different simulation.

#

Would be fun to play a zombie game set in that era though.

timid saffron
#

im looking for a mod that lets you use the chat function in single player anyone know of anything like that?

swift sequoia
#

The happiest lua function: player = getPlayer(); player:Kill(player);

drifting ore
viral spire
drifting ore
#

hey what are these parts between the legs

#

are they for skirts ?

#

or can i remove them

tulip valve
#

Damn that porche looks good. Sick!

low yarrow
#

I have a quick question to make sure i understood this new distribution thing right:

#

I want a item spawn in here:

#

So i do this?

#

And if its a item i just switch the junk to "item", right?

sour island
#

I've never seen list[] used - does that work?

willow estuary
willow estuary
#

The difference between items and junk is that the amount of zombies in the vicinity "inflates" the spawn chance of items in the items category; that's why if you make an item with a super low spawn chance, and have it in the items category, it'll spawn more than you'd expect it to.
That's why, I presume, the axes and machetes are in the junk category in the above distro table.

severe ridge
next shadow
#

Has anyone found a way to add the junk category to loot procedural tables that do not have one defined in ProceduralDistributions.lua?

sour island
#

You can just define it

#

ProceduralDistributions.CrateFarming.junk = {}

#

I wasn't aware list[] can be used for indirects - I've tried using [] by itself and it didn't work unless it was the last nest.

next shadow
#

oh crud I just figured out my mistake haha

sour island
#

?

next shadow
#

I was defining it as just CrateFarming.junk ={}

#

and not adding ProceduralDistributions

sour island
#

Lua is all tables, nested inside tables, etc

#

Easy mistake to make

next shadow
#

never worked with it all the much. figured I would get some experience by updating an abandoned mod I like

#

thank you btw!

sour island
#

Np

next shadow
#

follow up...
to test I added in ProceduralDistributions.BakeryBread.Junk = {} but get a return of attempted index of non-table also tried throwing it in with a random item included but it throws the same error.

sour island
#

Junk isn't capitalized

#

Also is bakery bread a list in there?

#

I was under the impression the lists were for rooms/furniture is this the display case for bakeries?

next shadow
#

yeah

#

and breaks with both upper and lower case

sour island
#

Oh

#

Try ["junk"]

next shadow
#

same

sour island
#

Also is bakery bread calitilized the same way?

#

That error means you're trying to access a table that doesn't exist- which is strange

#

Where are you calling it?

next shadow
#

from the original game files

willow estuary
sour island
#

I've not had to use list before

#

Unless these are special Lua tables that behave differently.

next shadow
#

shit.

#

list did it

sour island
#

Strange

next shadow
#

is list a modifier that is telling the table what it is being used for?

willow estuary
#

But I'd suggest trying

ProceduralDistributions.list.BakeryBread.junk = ProceduralDistributions.list.BakeryBread.junk or {}

or

if not ProceduralDistributions.list.BakeryBread.junk then
  ProceduralDistributions.list.BakeryBread.junk = {}
end

For compatibility with theoretical other mods that also define a junk category for that table; not guaranteeing that that will work, but if it does you're one step closer to inter-mod compatibility.

next shadow
sour island
#

Defining it that way does work for compat

#

Good suggestion

#

Also, can't find anything about list[] being a thing- so I guess it's unique to Kahlua?

willow estuary
#

Oh! You'll also have to define the rolls value for new distro tables as well.

next shadow
#

since I am a scrub I will just ask. to define roles would it just be ProceduralDistributions.list.BakeryBread.junk.roles = 1; I feel like that is not right but still trying to wrap my head around the tables inside tables thing haha

sour island
#

That defining method should work - but I'm not sure with the whole list[] thing being required.

next shadow
#

lua is weird man

sour island
#

Lua is fairly easy to use- you already got it. The list[] thing isn't normal as far as I can tell.

willow estuary
#

rolls 😉

next shadow
#

oooof

#

haha

regal monolith
#

any mods that add NPC companions?

hollow shadow
#

I got pinged? i missed it

dry sparrow
#

Might have found a workaround for NPC damage. I can call IsoGameCharacter:Hit() manually in my attack method and it seems to work ok. I'll just have to manually implement chance of missing and randomized damage. Does anyone happen to know where the code is that determines those so I can copy it?

sour island
#

Before you do that you should bug @iron salmon with as much info as to what's going on.

dry sparrow
#

I've been updating this thread as I dig up information but no response yet https://theindiestone.com/forums/index.php?/topic/38421-isoplayer-npcs-cannot-damage-zombies-in-4151/

sour island
#

Out of curiosity is it cause they're not connected players?

#

Maybe you could just tell the game they're clients

dry sparrow
#

Yeah, I've had that thought. There seems to be some additional stuff added with game client and network checks that could be failing.

#

How would I do that?

sour island
#

I assume the code is looking for clients or coop players now, these were handled differently to eachother prior. I'm haven't checked changes.

iron salmon
#

I'll make sure it gets a look internally, cannot guarantee any sort of timeframe yet as all gears are on fixes for .53 and further

#

it'll be seen though

dry sparrow
#

Thank you, that's very much appreciated!

iron salmon
#

No problem, sorry for the frustration this must be 😦

velvet field
#

Hey, when I subscribe to mods in the workshop, how do I actually download and use them? Theyre not popping up in my mod selection at the start screen, and theyre not in my Mods folders in my User PZ folder or Steam PZ folder

slow graniteBOT
#
TonyTravis#8521 has been warned

Reason: Read the pins. No memeing / Reaction gifing.

rapid granite
worldly mantle
#

Hi, i'm new to the Discord and PZ-modding (but have dabbled in modding other games) and run into a question which i hope someone already knows the answer to:
I'm attempting to modify a mod in-order to make it compatible for both B41 (which the mod already was) and B40 (in which it's non-functional)
In this case it's the Unpack Mod, i've managed to make edits which (at least as far as i've now tested) appear to work fine in B40 but am wondering if there's already ways to run certain bits of code ONLY when it's in B40 as an attempt not to break stuff for B41 🙂

sour island
#

You'd have to do a version check

#

Have the parts you have working ran under one end of the if statement

sour island
worldly mantle
# sour island You'd have to do a version check

Thanks, i'd figured that's probably one approach. Would you happen to know if i.e. the game already has a function for retrieving build-number or alternatively a mod that already checks the buildno. That i could take a look at for reference? Before i go down the rabbit hole of reading through the majority of zomboid's code :) if not i might consider making the changes into a patch that only overrides some of Unpack's functions instead :)

sour island
#

Yes, it's under Core

#

@worldly mantle

local gameVersion = getCore():getGameVersion()
if gameVersion:getMajor()>=41 and gameVersion:getMinor()>50 then
---this is post .50 code
end
worldly mantle
#

Awesome, that helps me a lot!

sour island
#

Np

#

For the sake of avoiding repetition I suggest setting this once as a global boolean. Then if you need to check in multiple places you can just do if X then etc.

#

You can also run ifs outside of function/code defines and that Lua will just not be called at all.

worldly mantle
#

Aye i was considering registering a local "majorVersion" at the start of the lua file which gets filled with the gameVersion:getMajor()'s output, assuming the if-statement i plan to use wouldn't call the function every single time you use those lines 🙂

sour island
#

I think there's a function that spits out the whole game version as a string

#

But I prefer dealing with major and minor considering you can't check for later versions all that accurately.

#

You could simply have the variable set to {}, and then run the stuff I wrote. No need for a function.

#

So the variable would be "global" and I would set it to true or false

#

You can run loose Lua outside of functions and hooks

#
Post40_50 = false
local gameVersion = getCore():getGameVersion()
if gameVersion:getMajor()>=41 and gameVersion:getMinor()>50 then Post40_50 = true end
#

Tossing that into your code as is will give you something you can use if x and if not x with.

worldly mantle
sour island
#

Yep

#

If it's not explicitly stated to be local it's assumed global

worldly mantle
#

Ah awesome 🙂 Thanks a lot!

sour island
#

Lua does alot of assuming for you

worldly mantle
#

Mucht too used to c# xD

dry sparrow
#

Just be careful with globals, they can be a huge performance drain.

#

If you're checking it multiple times or in a loop or something, copy it into a local and check that.

sour island
#

This would only be ran once when Lua is ran, then refered to later.

dry sparrow
#

Referencing any global has a performance impact because they have to be looked up in a massive table of all globals.

sour island
#

I wasn't aware of that- so if something is nested deeply in lua's pseudo classes and refers to a global it could basically shit itself?

worldly mantle
#

Entirely unsure why, but since i've started trying to use the getCore i keep getting errors on the line i try to do
majorVersion = getCore():getGameVersion():getMajor();or any variants on 😒
throwing a java.lang.RuntimeException: Object tried to call nil in Unpack.lua and furthermore nothing usefull in the stack trace, currently trying to hunt the cause down xD

sour island
#

Is majorVersion in that cause the global?

#

Specifically is that how you have it defined

worldly mantle
#

yeah it's the entire line

sour island
#

You may have to define it as 0 first

worldly mantle
#

local isB40 = (majorVersion == 40); one line after it thanks to the tip/pointer SlightlyMadman just gave 🙂

sour island
#

You could try defining it within OnGameBoot

#

That's what I do- only cause I don't know if Core is referencable at Lua load

#

That may be why it's failing for you

worldly mantle
sour island
#

There's a few functions that are global in Lua and provided by the java

#

But I'm not sure if Lua load is called prior to Core being available to reference

#
  • Core gets assigned a GameVersion object
#

That might not be available

worldly mantle
#

currently seperated it in way-too-many-lines just so it can spit out which function exactly is causing errors

#

appears core itself loaded fine

#

just made a stupid typing error that i have to restart to test again xD

sour island
#

Could be a syntax issue of defining something as the result of a function(s)?

worldly mantle
#
local core = 0;
core = getCore()
gameVersion = core:getGameVersion();
majorVersion = gameVersion:getMajor();
local isB40 = (majorVersion == 40);
print ("Detected game major version:")
print (majorVersion)
print ("isB40 is:")
print (tostring(isB40))

is the new code block i tried to make for debugging/printing output

#

and that one throws an error at the
gameVersion = core:getGameVersion(); line for now

sour island
#

getMajor and Minor should be numbers

#

Hm

#

What if you collapse the whole thing to:

#
major = getCore():getGameVersion():getMajor();
local isB40 = (majorVersion == 40);
print ("Detected game major version:") in
print (major)
print ("isB40 is:")
print (tostring(isB40))```
worldly mantle
sour island
#

Oh, that might be the issue then

#

I use it under OnGameBoot with 52

dry sparrow
sour island
#

I'll keep that in mind

#

If you look along the bottom, lines 119-143. This works in .52. I would try this method first. Unless you can determine that B40 doesn't have a getGameVersion available.

#

In your case you'd be setting a global though.

worldly mantle
#

would appear this might've changed between major 40 and 41; getCore():getVersionNumber() correctly (or at least as-documented) returns a string 40.43
At least enough for me to work with xD

#

rest of the logic is already such that if isB40 isn't filled with true it will default to the mod-creator's default behaviour, so i think it should give no issues that way

#

or hope it won't xD

plucky nova
#

for some reason, zombies wont stay dead! i dont have sandbox plus, though... so i dont know what could be causing this

sour island
#

I think core:getVersionNumber is still around btw- but it would spit out a static "40.52-IWBUMS"

#

Which would break with a potential .53, .54, etc

worldly mantle
#

hmm, any idea how lua's tonumber() would react to that, would it simply strip off the letters?

#
gameVersion = tonumber(getCore():getVersionNumber());
local isB40 = (gameVersion < 41.0);
``` is what i ended up going with (for now)
sour island
#

Depends if the end string is added on all versions of getVersionNumber

#

This whole issue is rather ironic

worldly mantle
#
function Unpack:shouldIgnoreItem(player, item)
    if (isB40) then
        return item:isFavorite() or player:isEquipped(item) or Unpack:isKeyRing(item);
    else
        return item:isFavorite() or player:isAttachedItem(item) or player:isEquipped(item) or ISHotbar:isInHotbar(item) or Unpack:isKeyRing(item);
    end
        
end

example of a rewritten piece of code im using, in hopes when getVersionNumber would no longer work, isB40 should stay nil or false, thus defaulting to the original author's code

sour island
#

True

#

I've only dealt with 41+ so I'd have to check once I'm home

#

I'm hoping the changes to gameVersion are not new to 41.51+

worldly mantle
#

I'd really hope in either case it'd rather been changed upon major-version transition then any minor-version xD

sour island
#

Worst case scenario you can refer to the new stuff and let the error slide on start up

#

As long as the default is what you expect

#

I.e.: assumed version is preX, the function is called but fails to check if it's postX then you're still ok.

worldly mantle
#

Yeah, should function that way r/n 🙂
Can't be bothered right now to check for B41, eager to get back to playing on B40 mp as soon as my friend comes back online

errant meteor
ruby urchin
# errant meteor Big question, how will we spot them, and can we dry the meat, for winter.

although I have no idea where is the script that load the models vertexes, I'm try decompile .class files to find it, the steps to achieve that would be:

  • decode the function that create a survivor (by following the routing, through this, you will find the function to load models to the game)
  • make test with new models
  • use the zombie population to the distribution of the wildlife
unique monolith
#

has anyone using fort redstone had issues with the gates not spawning properly?

worldly olive
#

Does somebody knows how to get the current gamespeed? 🤔

glad portal
#

any 1 having a lot of bugs while using superb survivors or am i the only one?

dry sparrow
#

You have to play on 41.50

glad portal
#

im playing on 41.50

dry sparrow
#

What sort of bugs are you seeing?

iron salmon
#

@dry sparrow Hey mate, the issue of NPCs not damaging zombies is going to be fixed in 41.53. It was due to an MP related change

#

Sorry for the headache

dry sparrow
#

Thank you so much @iron salmon !

#

I put a hack in place for the moment but I'll remove it as soon as the update is out.

undone crag
#

Yey

sour island
undone crag
#

Also when you spawn an isoplayer all isoplayers including your one go invisibru

sour island
#

that happens even when you load into the game - might be intentional

undone crag
#

What do you mean?

sour island
#

when ever I've loaded into a game with zombies near by if I didn't move they'd be unable to notice me - even before .51

#

this would be after I was in ghost mode when last saved - which doesn't carry over

undone crag
#

By invisibru I mean their models don't show.

sour island
#

oh

#

carry on

undone crag
#

eh

dry sparrow
#

The thing about invisible zombies reminds me though, I've been seeing this occasionally for some time, but every once in a while I'll load a game (with Survivors mods active) and the entire cell (or at the very least the immediately visible area) will be cleared of zombies.

undone crag
#

It often happens when I am making a mod and I load a saved game and all the live zombies are gone.

#

Has anyone successfully used setHue? I tried values from 0 to 1, and from 0 to 255, but it's always white.

dry sparrow
sour island
#

The 'cell is devoid of zombies' thing happened to me once or twice- I don't think it's unique to SS but knowing SS it probably causes it to occur much more.

sour island
dry sparrow
#

Nope, really simply just call:
victim:Hit(weapon, self.player, damage, shoveMaybe, multiplier, false);

sour island
#

hm

dry sparrow
#

It seems to work ok. I think the multiplier thing is for how multiple hits with the same weapon do more each hit.

#

I'm not tracking that, which I think makes them weaker.

#

It's also a little wonky with the animations, like they don't properly smash down on fallen zombies.

#

I think it's good enough as a band-aid until the next update though.

sour island
#

when in doubt write it yourself has been my goto

#

the thing is onhitzombie returns nils for every argument but the zombie

dry sparrow
#

Yeah, thanks btw you gave me the idea to look at that. I'm pouring over the diffs to figure out why it's not getting called, then I noticed "wait this is public"

#

Oh it doesn't have the attacker?

sour island
#

it's supposed to

#

oh

#

i'm dumb

#

I wasn't passing on the arguments all the way

#

oh setImmortalTutorialZombie

#

that could work lol

#

ah nvm it requires tutorial to be active too

#

speaking of down attack - that appears to be what the first boolean in isoGameChar Hit() is for

dry sparrow
#

Ohh interesting, that makes sense.

sour island
#

the last one appears to be if it will deal dmg

#

So how would I intercept Hit( with onhitzombie exactly?

#

onhitzombie is called within isoZombie's Hit(

dry sparrow
#

Passing false seems to make it do damage.

#

Actually, maybe what you want is Events.OnWeaponHitCharacter

sour island
#

What I mean is, if I call hit( with onhitzombie wouldn't that trigger hit twice?

dry sparrow
#

I think that's called for any character

sour island
#

I'll check

dry sparrow
#

Returning false from Events.OnWeaponHitCharacter is one way SS prevents damage between teammates.

#

Who knows if it actually works though.

sour island
#

that one is called from within IsoGameCharacter's Hit(

#

I think your fix only works cause one of the hit()s is broken

dry sparrow
#

Well there's this line

#

if (LuaHookManager.TriggerHook("WeaponHitCharacter", var2, this, var1, var3)) {
return 0.0F;

sour island
#

oh hm

dry sparrow
#

Yeah the hit() thing is what I'm using to fix damage not being applied.

#

If you're trying to prevent damage, calling hit() won't do you much good.

sour island
#

that hook might be onto something

#

I'm just not trying to rewrite their entire dmg proc...

dry sparrow
#

Yeah

#

Can you do something on update that just heals any damage applied?

sour island
#

the problem is it is a kind of puzzle zombie where only 1 specific thing can deal dmg

dry sparrow
#

Ah

sour island
#

so I gave it a crap ton of health

#

but even then I can jawstab it 6 times to kill it

dry sparrow
#

If you can't prevent the damage, you could detect if they attack with the specific thing maybe.

#

Then set a flag.

#

If that flag isn't set, you heal all damage.

#

Not perfect though since they could attack once with the special weapon then finish them off with a spoon.

sour island
#

yeah

dry sparrow
#

I guess you could also just always heal all damage, but track how much damage they've made with the special weapon and apply it all at once if it's enough to kill?

sour island
#

that's not a bad idea

undone crag
digital onyx
#

Been running the same carpenter character for a while. He has the locksmith trait, and after the most recent update, when I right click on doors and windows, it no longer gives me the option to “check alarm “. Anyone else running into this?

nimble spoke
#

if that mod requires Extra Skills System and you're playing 41.51+ you will have to wait for the mod to update and fix

digital onyx
nimble spoke
#

if you want to play in 41.50 you still can

hybrid palm
#

hey guys, is there a way to determine how much does weapon fix/percentage it will fix?
Im trying the make so that the smallsheetmetal (the top one) will fix much better than the screws (the bottom one)

fixing fix HPS
{
  Require : HPS,
  Fixer :SmallSheetMetal=1,
  Fixer :ScrapMetal=2,
  Fixer :Screws=4,
}

Thank you

#

or is it automaticly selected from the top to the bottom fixer?

severe ridge
#

doesn't it scales with maintenance or the required skill if applicable? i dont remember D:

hybrid palm
#

never mind what i said,
i think i read somewhere it has something to do with maintenance skills
Thank you!

cobalt shell
#

Does the subpar mod even work? NPCs still seem to be as stupid and useless as without it

#

NVM just found out it's kind of broken rn

undone elbow
#

Is there a way to mark my mod in mod.info as not compatible with build 40? So players won't be able to enable the mod.

winter bolt
#

i think all you can do is say in the mod title or workshop page that its b41 only

undone elbow
#

Some users ignore the title, then they write something like "it doesn't work at all".

#

Actually, I can do more: add a warning in the game or even modify the list of mods in the game. I just asked if it was possible to get by with the API capabilities of the game itself.

tulip valve
#

If they ignore or cant read its their problem honestly :p

strange bronze
#

Hi, does anyone know how you can get all positive traits, i think its a mod or something im just dumb lol

tacit pelican
#

Go into sandbox

#

Make a scneario or w/e its called with like +99 character points

next shadow
#

Any lua experts in here that could help me figure out what I am doing wrong with a code snip?

#

Trying to add the junk sub table and getting java.lang.RuntimeException: attempted index of non-table

#

if not ProceduralDistributions["list"]["Bakery"].junk then ProceduralDistributions["list"]["Bakery"].junk.rolls = 4; ProceduralDistributions["list"]["Bakery"].junk.items = {"BeerBottle",99}; end

ruby urchin
#

Try ProceduralDistributions["list"]["Bakery"] = ProceduralDistributions["list"]["Bakery"] or {}

sour island
#

The format provided yesterday was .list["Bakery"] I thought?

#

I still don't know what list[] is for unless that's its own table.

next shadow
willow estuary
#

OH SHIT, big fuckup in that, hold on, as written it would completely overwrite the items in the junk table IF another mod added them 😄

next shadow
#

I figured I could just nestle that in the if then statement haha

ruby urchin
willow estuary
#

Yeah, fixed the example code above.

#

So yeah, it turns out that using if to evaluate whether a table exists or not is no bueno, but =/or does work?

#

I just pulled yesterday's code out of thin air, but I tested the above right now ingame and it doesn't throw errors.

ruby urchin
#

Use var or {} this create a new table if it doesn't exist, all depends which mod loads first

next shadow
#

you glorious people

willow estuary
#

Haha, I just call it "playing with legos until it works" for myself.
Just trying stuff in debug mode + reloading code in different variations until it actually works 🤪

next shadow
#

basically what I have been doing

ruby urchin
#

same here lol

willow estuary
#

It appears that ["SOMETHING"] business is unnecessary as well; it's just something I picked up from copying other mod's homework on how to add items to distro tables myself.

next shadow
#

yeah it seems to work either way. I kind of like it for the readability

willow estuary
#

Found another fuckup on my part, I asssume, sans testing, that this will work vs the original example (edited the above code too)

table.insert(ProceduralDistributions.list.Bakery.junk.items, "BeerBottle");
table.insert(ProceduralDistributions.list.Bakery.junk.items, 99);
willow estuary
next shadow
#
ProceduralDistributions.list.Bakery.junk = ProceduralDistributions.list.Bakery.junk or { rolls = 4; items = {}}
table.insert(ProceduralDistributions["list"]["Bakery"].junk.items, 
BeerBottle");
table.insert(ProceduralDistributions["list"]["Bakery"].junk.items, 99);

This should also work in theory

#

I will eventually figure out how to do the syntax highlighting in discord haha

willow estuary
#

Well, it's all pixie dust and balloon juice until it works in testing 😉

next shadow
#

there we gooo

#

works in testing 😄

sour island
#

So is list just another nest? I didn't notice it in the procedural examples before.

next shadow
#

It may have something to do with how Java interprets the data for the lua table

#

may

sour island
#

Yeah it's weird

next shadow
#

oh shit

#

I see

sour island
#

Personally I don't use [""] unless I'm indirectly referencing something. So it was strange to see that recommended.

next shadow
#

from the games default generation file

sour island
#

Ah

next shadow
#

just another nested table

sour island
#

Not sure why that's nested again

#

But that clears that up

next shadow
#

I am guessing potential future expansion of the system. Like if the wanted to add procedural loot by container type or some other alternate method

sour island
#

Are they all like that cause even in the example photo pinned I notice the top is cut off or doesn't feature that extra nesting

ruby urchin
#

var.["list"] and var.list actually is the same

sour island
#

Yep

#

I just never noticed list as a nest before- so I was asking Blair if he knew what that was about

#

For a bit I thought it was some Kahlua stuff as he suggest using x.list["y"].z yesterday

#

And I was confused as to why, and where list was

ruby urchin
#

jaja yeah, that could also be x["list"]["y"]["z"]

#

or x.list.y.z

sour island
#

I wonder if there's functions under proceduraldist that warrants an extra nest of list

#

If you for loop through a table it will actually list the functions too

ruby urchin
#

You mean

#

Oh shit, wait me a second, for a moment i forgot the syntax

sour island
#

ProceduralDist is like a pseudo class in Lua

#

You can have pseudo variables/fields like "list" or functions

ruby urchin
#
for j = 1, #table do
  table[j]
end
sour island
#

Yeah

#

It will list "list" as a table, and if there's functions defined under proceduraldist

#

That would be my guess as to why list is there

#

Maybe Baph would know

#

He was helping with them right?

ruby urchin
#

You can, but you can't call it like table.var, you must be use table[1]
I was learning the lua docs for a while, and the list, arrays, etc, doesn't exists on lua, just tables, is a great topic of discussion in stackoverflow jaja, anyway, if you need an ordered table, use enumeration for his creation

sour island
#

Arrays exist in Lua tho

#

They're either numerated or keyed

#

ProceduralDist[1] doesn't exist for example

#

Unless you use ipairs() which would force numbers in the key positions

ruby urchin
sour island
#

Nah it's fine, it's a bit confusing

#

I use array/table/list interchangeably with Lua- but technically numerated = list, keyed = table?

#

But they're all arrays or something

ruby urchin
#

I dont remember if ipairs() convert his variables in the order they were created, if you want convert a table to array, It's been a year since I stopped using lua and there are several things that I don't remember anymore jaja

sour island
#

I don't think it does maintain order

#

That's a weird thing about keyed tables

#

If you forloop through pairs() atleast it shoots out a random order

#

I'd have to test what happens with ipairs()

#

But I also use objects as keys all the time so ipairs() would break half my tricks

#

Ex: a table made up of players online but structured like this: {player=true, player=true}

#

Lets me do table[player] to check if it's in the list or not

#

Another thing I learned the hard way is if the last entry of a table is nil it removes the key automatically

ruby urchin
#

lol I never come across that case where I need to verify that

sour island
#

I needed a way to reset variables on objects

#

So I added the original values to a list but kept losing anything which was nil by default- so I use false now instead

ruby urchin
#

Yeah, I see now, apparently it just removes the initialization of the variable if it is nil

sour island
dry sparrow
#

Does anybody know if it's possible to do profiling in pz lua code?

#

I'd love to figure out what bits of code are causing some performance issues.

ruby urchin
#

What issues are you getting?

dry sparrow
#

Just generally laggy.

#

I'm sure there's some loop somewhere that's just spinning out.

sand stump
#

anyone got a link to the mod they're talking about?

dawn wraith
errant meteor
ruby urchin
dry sparrow
#

I don't think it's specific to any variables. I think it's just that some task or bit of code is doing a lot of unnecessary work sometimes.

#

I've used profilers in the past with other languages that will tell you the amount of time spent broken down by lines of code or functions.

sour island
#

Maybe someone in the Roblox community know of a way.

dry sparrow
#

So you can see for instance in 60 seconds of run time, maybe some function was responsible for 20 seconds of that and is your bottleneck.

#

I may just have to manually do it by adding some time checks to the beginning and end of any methods I'm suspicious of.

ruby urchin
#

Oh yeah, in FiveM has a program that does that, but honestly I never need it and I have no idea if it is a closed environment just for them

dry sparrow
#

Thanks, I'll look that one up!

sour island
#

Btw how does SS scan for things?

dry sparrow
#

Like finding loot you mean?

sour island
#

Like items or targets

#

Anything really

dry sparrow
#

So Superb does it really inefficiently. It loops over an entire square one block at a time, keeping track of the closest, then returns it at the end.

sour island
#

I wrote an isoRange function that allows for fractally scanning

dry sparrow
#

One of the improvements I made with Subpar is that I now search in a spiral moving out from the origin and stop when I find something.

sour island
#

If you want it?

#

Ah

dry sparrow
#

Interesting, I'd be curious to look at that, sure.

sour island
#

Returns a list of isoSquares from a center (1 row at a time) - but it can also create a fractal net so to speak- so it can offset the search and scan with in those multiple centers recursively

dry sparrow
#

Oh very cool.

sour island
#

Similar concept I think lol

dry sparrow
#

Yeah, so you're checking basically one ring at a time?

sour island
#

Yes, for each center

dry sparrow
#

Yeah, I started with that approach, then decided this was easier as a drop-in replacement in existing code that had for x/for y loops.

#

It doesn't seem to have made much of a difference though surprisingly, so I think the code is hung up in something else besides searching.

sour island
#

The vanilla is 0,0 scan across right?

sand stump
errant meteor
#

its only on his site

sand stump
#

oh, ew

errant meteor
#

worth is doe

dry sparrow
worldly olive
#

Snake's mod are not in the workshop yet

sand stump
#

i'll wait i guess but thanks for the info

worldly olive
#

You'll probably wait forever 😂

errant meteor
#

You will be waiting for a few months he is waiting for 41 to release

worldly olive
#

Nah jk, he mentioned he's going to upload them but no dates yet so I recommend you to use the modpack downloaded from his blog

sour island
errant meteor
#

He dose have 41.52 updated

sour island
#

Do the AI have a loop delay?

#

They're not running something every tick are they?

dry sparrow
#

Looks like they update every 20 ticks.

#

Although I'm not sure if that applies to tasks.

#

I haven't looked too deeply into the task manager.

#

Ah the taskmanager update is only called inside the survivor update, so same modulo

#

Oh wow, I just noticed while looking at that, that the DoVision function loops through every single object in the cell and checks if they're visible lol

#

That would explain why the game tends to grind to a halt when there's a lot of zombies.

sour island
#

Yeah that would do it

glad portal
#

how to acctualy use nightvision

#

by keybind or something?

dry sparrow
#

Has anybody used IsoGameCharacter.getLocalEnemyList() or getVeryCloseEnemyList()

#

Seems like that might be a better set to iterate to count visible threats than running through the whole cell.

drifting ore
#

What’s a good place to start for pz modding?

sour island
tulip valve
#

lol

dry sparrow
sour island
#

hm

#

even for Zombies?

#

I think isoPlayers get a few variables for zombies actively chasing them

#

so I don't see enemyList being used for them

dry sparrow
#

Oh that would explain it if it's only filled for zombies.

#

I was checking on players.

#

It's 0 on a player, even when they're surrounded by zombies being dragged to the ground.

#

I think I greatly improved the dovision method at least by just skipping any entry that's not within 20 tiles.

#

It was previously doing two separate line-of-sight checks on every single entry.

sour island
#

nice lol

mellow oyster
#

any mods for changing item rarities midgame?

pseudo lake
#

Add a new set of knives and forks called 'fancy knife' or 'fancy fork' that is exactly the same as the original knife/fork 😄

strong helm
#

👀

flint seal
#

@tulip valve i think i can call that a preview

craggy furnace
analog saffron
#

Hi, after a long time without touching the modding (6 months), I'm going back to it

#

I started again by trying to make a texture pack mod allowing to incorporate slopes in the game ...

#

I created a texture pack mod but I can't get it to appear in my mod list ??! However my other texture pack mod created 6 months ago works well!

#

my slope mod pack texture was accepted by the steam workshop so I think the folder structure is good.

proud fern
sour island
#

It's a "family friendly" mod actually.

#

Hopefully I can get what I want out of the zombieAI and this thing can get pushed.

stoic fern
sour island
#

Yes

errant meteor
sour island
#

We'll see how much I can squeeze out of the game

analog saffron
#

it's good I solved my problem ... It was spaces in the mod info file that was causing the problem!

spare ether
#

How long until somebody tries to make a fallout mod for zomboid

sand stump
abstract raptor
sand stump
abstract raptor
#

What would a fallout mod even be

#

Also if you use Coyote County Araxas I already added the new Vegas radio to it.

balmy prism
#

Hey, is there any way I can fix get the books from the "Additional Skill books" mod to spawn as of the new update? I heard it was possible to mess around with distribution files or something like that?

glad portal
#

ey guys any1 know already which mod have bug that makes u unable to detach trailer?

#

ok its better towing

#

on 41.50

spare ether
undone crag
#

Do you mean something specific by rarity?

abstract raptor
#

I just had a neat idea.
So like with the teleporting code
you could set it up so like there's two cells that are identical in WorldEd except there's a different variation of the building
And like; you could make Silent Hill
Basically
the rusted metal area
if you found a way to make you teleport to the adjacent location on the map
you could probably even make a siren play

mellow oyster
#

so i can make everything common at first since i like starting at the very start of the apocalypse

undone crag
#

I know not, though there may be something in Lua for changing what may be named sandox settings.

mellow oyster
#

Does anyone have any idea of a mod like that?

pseudo lake
#

The loot is distributed when the chunk is loaded for the first time

#

any changes that happen after should only happen to chunks that haven't been loaded yety

nimble spoke
#

it would affect loot respawn

#

in theory a check to decide the values that go in the table-insert, but then it would only work when you quit and then load. If you keep playing forever without quitting it wouldn't work

#

But maybe there's a better way of doing that

drifting ore
#

Fallout in PZ is quite an intriguing concept, it almost harkens in my mind back to Fallout and and Fallout two.

deft glen
#

Wouldn't that just become fallout tactics but with open world gameplay?

abstract raptor
drifting ore
#

Acid Trip! drunk

tulip valve
#

I cant believe nobody has made a custom shout mod for b41, so tired of hey hey you! 🤣

#

Would be nice to have differents shouts depending on moodle, pain, sad, drunk

shrewd knot
# tulip valve I cant believe nobody has made a custom shout mod for b41, so tired of hey hey y...
frank helm
#

is there a mod that replace the color bar of our item to number ?

hybrid pendant
#

no dont think so

frank helm
#

can yall make one?

dry sparrow
#

"Make the mod you want to see in the world." - Gandhi, probably

severe ridge
#

"No furries tho." -
Also Ghandi, maybe

abstract raptor
#

where's my incendiary ammo mod!?

undone crag
devout flint
sour island
winter bolt
#

😳

devout flint
severe ridge
#

"misc" macabre sound

flint seal
#

WOW, THAT's A LONG LIST!

verbal sparrow
#

Would it be possible to have sounds emit a circle around where they were being made showing its length and loudness/

tulip valve
verbal sparrow
#

similar but not what im talking about

tulip valve
#

Ah okay then ^^

verbal sparrow
#

im talking about like, if you break a window a circle will appear on the floor tile and expand and fade out showing its range

tulip valve
#

Ah or if you shoot a gun it would show the sound radius?

polar prairie
#

i think he means something like in the game 'this war of mine'. for zomboid this would be an awesome feature.

tulip valve
#

Yeah I like that idea too

#

OnWorldSound(x,y,z,radius,volume,source) event is what you would need I think

craggy furnace
#

first ever ice cream van

wet dune
#

not a ice cream van

craggy furnace
#

have you never seen an actual ice cream van?

wet dune
#

I was joking

#

I have

wet dune
sour island
#

note the roof tho

craggy furnace
#

itll have some surprises in it >:)

sour island
#

horrible horrible surprises

#

perhaps worse than murder spiffo

twin zinc
#

Toss in a jingle in place of a siren and it'll bring everyone for ice cream lol

grizzled grove
#

looks like rust to me?

sour island
#

It's probably not obvious enough bit it's supposed to be the TIS logo in rust

#

More obvious on the right I think

quick solstice
#

omg you guys have made my day with the ice cream truck. One question though....does it play the music?

upper junco
#

Nice ! would be cool if you could set it up like a siren to play the music on it maybe, not really sure if that's possible or not

craggy furnace
#

people really seem to love hydrocraft so its not that shocking

latent orchid
#

shark, lets rebuild it...together we can do it....lets make ThermoCraft

frank helm
#

@willow estuary do i still need Chest Rig and Webbing (build 41) if i have advanced gear?

exotic acorn
#

What exactly does hydro craft do?

drifting ore
#

Adds a lot of stuff and systems and mechanics

#

Its a little much for my taste but to each their own

shrewd grove
flint seal
#

can't wait for an animation in which a survivor opens the door of; Cars, Houses and Garages

fast girder
drifting ore
#

Anyways I had a question

#

I know that delimbing would be Far too difficult to implement due to all the model work involved - but what about breaking limbs?

#

I.e. you break a zombies leg and now it’s slower, break both and it crawls

exotic acorn
sour island
shrewd grove
sour island
#

I'm under the impression github actions can upload to a workshop page - just not something I'm actually familiar with

sour island
#

I think I figured it out but I have steam guard on lol

harsh prairie
#

PZ makes me want unreal world levels of primitive survival. Or jus unreal world in PZ’s isometric style.

drifting ore
#

@dry sparrow hey I had a question about subpar survivors

outer tangle
#

Subpar is not working for me. Survivors are not spawning. Tried everything... So sad, I really like this mod.

dry sparrow
#

Are you playing a modded bap?

outer tangle
#

me? No, zero other mods.

#

trying to reinstall the game and everything. I'll let you know in the workshop forums if I can't solve this issue.

drifting ore
latent orchid
# shrewd grove what would be nice is if people would sit down, work together and make a modern ...

Whilst I said that in humor, a part of me does sometimes feel like making a more focused version of Hydrocraft. However, it is not a mod I think a single person can update without some assistance from other experienced modders. I'm also mindful that such a rework will tend to attract too many 'cooks in the kitchen' and then we end up with the same old smorgasbord of mostly scatter-shot items and contraptions.

#

My approach would be to take a focused tech tree branched approach and ensure things fit for purpose, theme and lore.

rigid wave
#

Is superb survivors still a functioning mod or is it bugged out? I get a error when loading into the game as well as hearing all the breaking and panic noises of them and when i die it just endlessly counts errors

#

But otherwise it seems to work

shrewd grove
keen cape
errant meteor
craggy furnace
severe ridge
#

ghost mode removes swing sounds now xD resistant spiffos

craggy furnace
#

they also dont get phased by grenade launchers

severe ridge
#

i like that they have bullet holes lmao

craggy furnace
#

there will be no head/jaw stabbing in this establishment

abstract raptor
#

so they're like invincible then

craggy furnace
#

they have an acute weakness but the normal ways to kill zombies are useless

#

its odd though because certain mods seem to affect them

#

britas handles things to the nth degree

abstract raptor
#

@craggy furnace for Survivor Radio reasons I'm wondering if I can summon the helicopter by calling to a disabled moodle tag with the radio

tulip valve
#

Radio in an Apache heli thats destroys everything xD

craggy furnace
#

all youd need to do is call the function to spawn one

abstract raptor
#

I see

#

I wonder if I can rework one of the moodle tags like I was saying in ISORADIOINTERACTIONS.LUA to catch say... "Sickness = 1" to summon a specifc type of helicopter

#

And then you could create a table that'd summon different helicopters when the player heard the broadcast

harsh prairie
latent orchid
#

less timeline and more across practical lines such as electrical, metal working, automotive. Just something that keeps it simple and grounded in useful knowledge. IDK as I haven't given it much thought, but maybe something to explore down the track. For now I have enough on my plate with RL and mapping

harsh prairie
#

RL? Real life?

#

What map are you working on?

sour island
#

Np

serene finch
#

Is it possible to tell what mod is causing the error through the console log? I'm don't really know scripting languages but I'd like to know what is causing errors

sour island
serene finch
#

Yeh I saw, a bit late

#

Gave me the exact file, but I had no idea where it was, had to go looking for it

sour island
#

Ah yeah the actual mod files are somewhere else

serene finch
#

I found whats causing it, Plantalgol's Advanced Gear

#

Looking into why it happened

#

Seems like this is way above anything I can figure out lol

#

ERROR: General , 1627921511107> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: __lt not defined for operand at KahluaUtil.fail line:82.

#

Guess this is the price I pay for not being able to grasp how coding/scripting works

#

xd

sour island
#

Those errors can be convoluted if it breaks on the java side of things.

#

"_lt not defined for operand" if I recall means he's trying to compare two things that can't be compared.

#

Specifically "Less than" "lt"

serene finch
#

Started a new save, doesn't seem to occur anymore, still getting distribution file-type errors from other stuff tho but that didn't seem to really affect my gameplay yet

sour island
#

Those shouldn't, just means the items don't exist - mostly likely needs another mod

#

Is there more around that error btw?

serene finch
#

I'm pretty sure it's due to loading into an existing save after adding it on later, instead of starting out with it

#

And yes, I did add the mod into the save using the 'more' options when loading in

sour island
#

No I mean, more lines around it

serene finch
#

Oh, uhhh let me check

sour island
#

Usually it should say which file caused it

serene finch
#

Yeah I found what it was

#

happened when I opened a very specific section of the crafting menu

#

Generated the same error over and over again

#

This is what kept generating

#

Exclusively when I entered the tailoring section of the crafting menu and selected the advanced gear's vest repair option

#

This one, doesn't generate the error anymore

waxen hound
#

where's the documentation on the game's API?

sour island
waxen hound
#

I have to decompile the game in java to find the API? what?

#

why isn't there an easy doxygen documentation site?

serene finch
#

I don't normally delve much into modding, or looking inside actual lua files so this was a nice little experience lol

waxen hound
#

do you write Lua mods?

waxen hound
#

ah that's much better

serene finch
#

Nah I am 100% a consumer not a creator lol

sour island
#

The game is getting updated so the /modding stuff might be outdated.

serene finch
#

Wish I had the brains to understand that stuff, I tried, really couldn't figure it out

sour island
#
  • there's multiple builds available
#

So decompiling it or having something that can read java is more precise.

serene finch
#

Solely trying to get a game going without errors lol

#

After disabling a few, only got 2 at new game launch, so that's progress

#

Usually it's at least 4

sour island
#

Many errors don't break game play so it's not that big of a deal honestly. Some are just warnings.

serene finch
#

That's true, but I noticed that most of them came from map mods like little township or raven creek, so I turned those off as to not potentially encounter a void when driving

waxen hound
#

where i think, is this actually a zombie class?

sour island
#

It's IsoZombie

waxen hound
sour island
#

The conventions for PC/NPCs is not great

waxen hound
#

nevermind

sour island
#

IsoObject > IsoMovingObject > IsoGameCharacter

#

So far makes sense

#

Then it branches to IsoLivingCharacter and IsoZombie

#

IsoLivingCharacter branches to IsoSurvivor and IsoPlayer

#

Most of the functionality is in game character, player, and zombie

#

IsoSurvior was for NPCs and is not recommended for anything

#

If your doing anything with these you should know some functionality is redundant and prescribed to IsoZombie and IsoPlayer

serene finch
#

Feel silly for asking,
Would a mod failing to add items into lootable containers in the world have an effect on how items would normally generate without the mod?

sour island
#

Coincidentally I'm working on some AI stuff so I'm neck deep in that part of the code.

sour island
serene finch
#

It is a mystery

plucky nova
#

hey guys, any idea what mod could cause zombies to not stay dead?

#

after i kill them, at a random time, all of the dead zombies on the map will just get back up and the same time

#

its scary as hell

harsh prairie
#

What mods are you using?

plucky nova
harsh prairie
plucky nova
harsh prairie
#

Just try and narrow it down I guess? It shouldn’t be any crafting/clothing mods etc. maybe some mods that affect zombies?

plucky nova
#

so yeah.....

#

i dont think im gonna do that

hexed anchor
#

But again, like beard said in techsupport, mods can affect unrelated stuff, unless you check the logs and test what's causing it theres no way of knowing

plucky nova
#

nothing i can notice shows up in the logs

hexed anchor
#

Narrowing it down would be another option, but since you have too many mods installed you don't want to do it yourself, you can't really expect other people to do it for you, after all it's your game

sour island
#

Do you use sandbox+ or terrorZeds, etc?

plucky nova
#

but now, seemingly out of nowhere, its back

sour island
#

Strange

#

How many mods do you have installed?

plucky nova