#mod_development

1 messages ยท Page 384 of 1

willow tulip
#

thats why its all screwy when you load it with a different use delta.

#

even though its float in the game...

#

.. but used as int

bronze yoke
#

it's always stored as an int, it's only used as a float

willow tulip
#

also its literally wrapped in
if (worldVersion >= 220) { so the fact that TIS bricks our saves over the smallest of changes is just a few missing if statements -_-

bronze yoke
#

the only thing really unintuitive here is that it's not displayed as an integer in-game, but i don't think that really matters at all

willow tulip
#

or rather, store useDelta as a float

#

instead of just having maxUses be an int

#

My thought would be you give items a rightclick 'upgrade' menu thing that tags em with some mod data and changes their internal uses.. or something -_-;

vast pier
#

I genuinely can't think of why they chose a float over an integer

#

I feel like
ItemUses = 420,
would have sufficed

#

not to mention that I'm pretty sure the game math can mess up the usedelta total due to rounding numbers

#

like 500 uses turns into 490 something I think

#

Is there a genuine reason why they chose 0.01 to define an item as having 100 uses instead of just straight up having it be set to 100 uses ?

bronze yoke
#

i can't think of any reason

vast pier
#

Can you set the usedelta to like,,,, 2 ?

#

what happens if you do that

#

ik you can set usedelta to 1

bronze yoke
#

it probably just goes to zero after one use

#

a lot of code that checks if you have enough uses might just fail actually

dry stone
#

I was asking if Zomboid throttles network traffic yesterday.... The answer is yes. To about 32KB per net tick, 10 net ticks per second. And it's all constants in the jar, not configurable settings

#

Also that's a drastic oversimplification, but approximately its right heh

willow tulip
#

@sour island wonder how long till I get bored of this concept

#

(TBF I already had all this code ready for my respawn item mod)

dry stone
#

...Saving items to disk is exactly what I'm doing!

willow tulip
#

takes old mod, changes some of the tooltip descriptions, bingo, new mod!

dry stone
#

My PZDos mod. I'm doing network file transfers to cache dos games on client machines coming from the server heh

willow tulip
#

so you can import them into a new save

lost tartan
# bronze yoke the only thing really unintuitive here is that it's not displayed as an integer ...

the unintuitive thing to me is just that the item scripts suggest that useDelta is a fraction, and that lowering useDelta will slow the consumption of items. that's true for new items, but because existing items' internal state is an integer that was initialized to 1/useDelta as it was set when the item spawned, we don't affect already-in-save items. if it were a [0,1] float internally, it wouldn't have that problem. that's all shrugDog

dry stone
#

Uhm, definitely keep trying to do that, saving parts of the world sounds super useful lol

willow tulip
dry stone
#

even more so if you could somehow load em up in the map editor... but I'm pretty sure the new map tools stil laren't released

willow tulip
#

Nah, you wouldn't be able to load the file in anything except PZ to overwrite part of the world

frank lintel
#

why? are the tools on steam now, broken?

dry stone
#

I mean.. you COULD make it load in the map editor. Just decompile everything, manually figure out all the formats, write conversion tools, do free work you could earn over 100K/year doing professionally...

bronze yoke
#

at this point just write a save converter, doing it this way seems like more work for everyone involved

willow tulip
#

this will let you import to a new world, new sandbox settings, new mods, etc.

#

new server if anyones dumb enough to let you import stuff from another server lol

bronze yoke
#

i suppose

willow tulip
#

Anyone know the API to create a directory in username\zomboid\lua?

bronze yoke
#

just create a file in that directory

#

you can't create a directory alone

willow tulip
#

Oh, right, \ is an escape character.. duh

bronze yoke
#

notepad issue ๐Ÿ˜…

willow tulip
#

I mean I should be using / anyway...

bronze yoke
#

i just use / for paths since the game is expecting and converting to that format anyway (even if it's finally converted to \ again for windows users)

willow tulip
#

Yea

#

boo, makes me close the file and everything. whatever happened to my magic memory management. /s

bronze yoke
#

java blows is what happened

willow tulip
#

Ok one very poorly saved container

#
containerCount:1
itemCount:2
type:Base.Belt2
maxUses:1
currentUses:1
condition:100
type:Base.Socks_Long
maxUses:1
currentUses:1
condition:100
bronze yoke
#

since garbage collection doesn't guarantee when an object is destroyed (or, crucially, that it will *ever* be destroyed) you can't really use object destruction for any kind of logic in a garbage collected language

#

later java versions have an alternate way of doing this kind of thing, but lua wouldn't be able to use it anyway ๐Ÿ˜… lua also gets a different way of doing this much later

willow tulip
bronze yoke
#

to me, that is *the* reason to use those languages

willow tulip
#

placement new/delete ftw.

#

its MY memory, I'll handle it how I want.

bronze yoke
#

woah let's not get crazy

willow tulip
#

Some of my first code in C# was a memory pool.

bronze yoke
#

i like destructors because they can be used to make things safer (i.e. with file access, it is essentially impossible to not close the file), manual memory management makes things unsafe ๐Ÿ˜…

willow tulip
#

stupid job exam giving me a C# exam when I only said I knew C++. And then they asked me to reduce all the garbage collection this code was doing.

bronze yoke
#

not that there's no need for it but i don't work within a realm where you need to be the one thinking about that

willow tulip
#

Like so first I had to learn what garbage collection was. Then after I was done being disguested, I learned how to pool objects to prevent destruction and allow reuse

willow tulip
#

And if you want a memory pool, there should be a few templated ones ready to go

#

(unless you really enjoy writing memory pools.. and TBH I kinda do)

harsh kindle
#

hello - the useful barrels mod is (discontinued) but also broken currently due to not a mod issue, has anyone experienced this with similar mods/same mod?

from a forum post: the function ISWorldObjectContextMenu.onFluidInfo = function(player, fluidcontainer) causes the issue from the ISWorldObjectContextMenu.lua file.

local c = ISFluidContainer:new(fluidcontainer); is defined inside of an if statement near the bottom of the function despite being called in a different if statement earlier on. Am I crazy or is there a reason for this? Swapping the definition of the variable fixes the bug, so I am unsure why it is the way it is ๐Ÿฅน

willow tulip
#

fixed size object memory pools are so simple, yet such a powerful optimization

#

its like the poster child for "Want speed? Spend a little more memory"

bronze yoke
harsh kindle
#

๐Ÿ˜ญ

bronze yoke
#

possibly a vcs mishap

harsh kindle
#

I hope they can hot fix it. I am unsure how having modified client files impacts multiplayer, but I am sure (I hope) there is some check that would prevent me from playing MP with this modified client side

bronze yoke
#

yeah you wouldn't be able to play online

willow tulip
#

You could release a patch that requires the original mod.

frank lintel
#

easy way to watch it is in debug IG, bring up your FPS meter. you'll have a bar graph bottom left. showing memory used, free etc in text above the bargraph

pastel wolf
#

i wonder how mods like the only cure disable arm use, It could be fun to try and make a straightjacket

willow tulip
#

Anyone know how to get/set the color of clothing? like how socks come in different colors?

sonic needle
vast pier
#

Cleaned up texture (forgot to include padding so there was alpha layer seams)

Added the tape colors.
Will be experimenting with textures tapes instead of just color swaps.
Basic stuff like camo tapes

willow tulip
#

getColorRed/etc always returns 1...

#

getModelIndex is always -1...

sonic needle
#

there is likely no referance for the clothing so returning 1, is it just being literal

#

you .. would have to find that RGB float, likely a proper command for it. that isnt just getColorRed for instance

#

fidn the color picker code from the character creator UI? it should have it

willow tulip
#

CURSED. getColor():getR() works, getColorRed() does not.

#

but getColorRed() is also used over the codebase -_-;

#

items have TWO DIFFERENT COLORS SOOOO CURSED

sonic needle
#

feels like one was literal, the other was float

willow tulip
#

both are float, both are SUPPOSED to be the same value...

#

but apparently not all code properly syncs them

sonic needle
#

zomboid things

frank lintel
#

how hard is it to remove flags from an object like 'streetlight' apparently just found out xmas string lights are some reason flagged as streetlights so when power dies. so do they...

willow tulip
#

Not sure if its doable from Lua

frank lintel
#

thats what I was afraid of sadly

willow tulip
#

See if the getFlags (Or whatever) function returns a container object

frank lintel
#

oh I dont know lua at all, java I'd be somewhat versed but no pro at it.

#

hard enough me just trying to figure out like for debugging errors I find how to set up my workspace to be able to grind thru the code

sonic needle
#

Sexy Ewe

lavish gulch
#

Just checking that this isn't against the rules before I link it; am I allowed to post a steam workshop link to a simple mod (designed for MP communities) I've just published, and invite people to test it and see if there's any issues they identify? Or is that breaking the rules?

lavish gulch
#

Designed for multiplayer servers so the four classic starting spawn towns don't get overpopulated and trashed so often. Just adds a bunch of hand-curated spawn locations to every named town other than LV.

frank lintel
lavish gulch
#

Definitely keen on getting testers to make sure there's nothing wacky

lavish gulch
willow tulip
#

Now I need to make a file dialog, ugh ๐Ÿ˜›

#

also need to save stuff on the floor too I guess... meh.

sonic needle
#

he's so special

eager vigil
#

Is here somebody experienced in making multiplayer mods ? Im like 80% finished with my mod but like even tho im trying to make it mp it only work in sp and i dont know what im missing

crisp fossil
#

What does this mean? I'm using math.floor and math.max, is there some changes related to that?

bronze yoke
#

you tried to multiply two things that can't be multiplied

#

unless you're doing weird metatable shit that means something isn't actually a number

dull moss
#

(not prog, other dude)

eager vigil
#

i just dont know how to formulate that question ๐Ÿ˜„ i would send the files for somebody to check if he can find something that i cant

dull moss
#

I can guarantee nobody is going to do that

eager vigil
#

because console is not telling me shit

dull moss
#

then start adding prints

eager vigil
#

i thougt so

dull moss
#

prints are your friends if somehting aint working and there are no errors

#

:D

eager vigil
#

its like when i start in sp console have prints and mod work as soon as i press "host" and start game console is quiet and it looks like mod no longer exist :d

dull moss
#

Is your code in client folder?

eager vigil
#

so i just found this .. the last is my mod this is in coop console and in sp it works but this is closest i've been to solution or at least i know what seems to be the problem i guess

WARN : Mod f:0, t:1775809091372, st:55ย 906ย 052> ZomboidFileSystem.loadModAndRequired> required mod "MoodleFramework" not found
WARN : Mod f:0, t:1775809091372, st:55ย 906ย 052> ZomboidFileSystem.loadModAndRequired> required mod "MoodleFramework_SafetyPatch" not found
WARN : Mod f:0, t:1775809091373, st:55ย 906ย 052> ZomboidFileSystem.loadModAndRequired> required mod "RadiationStormRedux" not found

willow tulip
#

are there any functions for getting a list of files in username\zomboid\lua ?

buoyant violet
eager vigil
#

i love it

lusty drift
#

idea for you guys: can you make us be able to melt butter and put it into bottles/containers

#

just basically treat it as a transportable drinkable callery liquid

#

i cant spell

lusty drift
silent zealot
#

Good news @sonic needle, @vast pier and anyone else wanting custom reload types on weapons: I've figured a workaround for the changes in B42.16. Whenever the game tries to set the the reload type to a value from the enum list, we set it to what we want instead!

willow tulip
#

Meanwhile im surprised those two events exist.

silent zealot
#

Drop that into shared, rename it to avoid any conflicts, change the gunFullType and desiredReloadType and (very important) change the two occurances of NepOG_setAnimVariableFix to something else. Literally anything else, it just has to be different so multiple mods using this fix can play nice with each other.

#

Extensively tested for approximately 5 minutes in single player. ๐Ÿ˜›

dull moss
#

won't making ISBaseTimedAction.NepOG_setAnimVariableFix = ISBaseTimedAction.setAnimVariable local also work?

#

as long as your override is still global

buoyant violet
#

I knew we had to hook into the time actions, I just got so lazy about and never looked into it cuz I know we will eventually have a way for it morrojoy

silent zealot
#

I'm working with Ash to see if we can also make thinsg work when aiming... since a bow also needs different aiming animations

buoyant violet
#

yeah ash bow needs a fix like this now, else it wont work or will look weird so makes sense

#

in my case, since I am just owkring with guns I was fine waiting for now

#

let me know if yall need help with anything I had an idea of possibly where to target but never got around looking

sonic needle
buoyant violet
#

@silent zealot @sonic needle idk if you still having problems, i try the code earlier but the reload was having a bit of issues

#

try this perhaps

#

require "TimedActions/ISBaseTimedAction"
require "TimedActions/ISReloadWeaponAction"
require "TimedActions/ISEjectMagazine"
require "TimedActions/ISInsertMagazine"
require "TimedActions/ISRackFirearm"

local customReloadAnims = {
    ["MWA.FAL"] = "FAL",
    ["MWA.G3"] = "MP5",
    ["MWA.M1_GARAND"] = "m1reload",
}

local function overrideReloadType(action)
    local gun = action.gun
    if gun then
        local reloadType = customReloadAnims[gun:getFullType()]
        if reloadType then
            action:setAnimVariable("WeaponReloadType", reloadType)
        end
    end
end

local origReloadStart = ISReloadWeaponAction.start
function ISReloadWeaponAction:start()
    origReloadStart(self)
    overrideReloadType(self)
end

local origEjectStart = ISEjectMagazine.start
function ISEjectMagazine:start()
    origEjectStart(self)
    overrideReloadType(self)
end

local origInsertStart = ISInsertMagazine.start
function ISInsertMagazine:start()
    origInsertStart(self)
    overrideReloadType(self)
end

local origRackStart = ISRackFirearm.start
function ISRackFirearm:start()
    origRackStart(self)
    overrideReloadType(self)
end

silent zealot
#

...I forgot to check guns with magazines

buoyant violet
#

altho the problem is the aim right

silent zealot
#

Since the ones I was was working with all have no serate magazine object

#

Yeah, and it's tricky because aim is not tied to a timed action

#

And I don't understand the quirks of the animation systems conditionals very well.

sonic needle
#

i got it to enable for 0.01s.

#

hope isnt lost.

silent zealot
#

Just do that on hundreds times and run it in a second long loop.

#

Also, check the animation monitor with the show ticks enabled and see if you can tell what is ruining it

#

Anim monitor can show all the animations happening and evey change to an animation variable

sonic needle
#

it just means, that performing the action, reload succeeds in true, for a fraction of a second while aiming,
it cant be permenant

#

need another way to force it

#

gonna try a custom action.

eager vigil
#

so i finished the mod maybe if there was somebody bored and wanted to play i would appreciate any playtests ๐Ÿ˜„ i have no friends so im not sure about multiplayer but it should work - it has no visuals yet but it has like storm through whole map with one safezone but it cycles every few days to other place if u stay outside safe zone for long you will be loosing stamina, doing smaller dmg and much more or less

https://steamcommunity.com/sharedfiles/filedetails/?id=3703792549

willow tulip
#

although you could prob do some simple screen overlays. (static type effects are popular for radiation)

eager vigil
#

that would be awesome i really need that i was trying to add some visuals but i was able to only just make smaller view distance simmilar to read while walking

eager vigil
red tiger
willow tulip
# eager vigil i didnt even think of that ๐Ÿ˜„

yea just have a couple noise textures, maybe not 1:1 but like 1024x1024 and display say, 90% of the texture over the screen, randomly switch between 2~3 textures and offset them randomly, should look random enough

#

or stretch to fit on the width, then scroll the texture up/down at random (so it covers the screen but different parts are shown each frame)

main pasture
#

Black Moons did you try listFilesInZomboidLuaDirectory (from LuaManager.java)?

willow tulip
#

Nice, looks perfect.

eager vigil
# willow tulip yea just have a couple noise textures, maybe not 1:1 but like 1024x1024 and disp...

i think i would maybe like to make it more complicated later like adding working hazmat suits and gas masks but i want to have the safezone visually be different from rest of like radiated zone just hope that i did everything right rn because after i finally made it work on hosted game it made safezone outside of map but i fixed it then the main thing i wanted to work with it the "rv interior" didnt work that is like my main focus rn to make it work with that

willow tulip
#

I think its just across the river or something... use fast move cheat to just walk outta your RV walls

eager vigil
#

yes but only if the rv is parked in the safe zone on regular map

willow tulip
#

You'll have to hook the enter RV stuff for that

eager vigil
#

i was going through that mod im not sure if i saw there anything that i could hook it on

willow tulip
#

Now its just the simple matter of... writing the entire rest of the file save/load dialog.

#

todays free shitty code of the day: Save/Load of tables to disk

local function writeTable(writer, tableToWrite)
    local entryCount = 0;
    for k, v in pairs(tableToWrite) do
        entryCount = entryCount + 1;
    end
    writer:write("entryCount:"..tostring(entryCount).."\r\n");
    for k, v in pairs(tableToWrite) do
        writer:write(tostring(k)..":"..tostring(v).."\r\n");
    end
end

local function readEntry(reader)
    local text = reader:readLine();
    if text == nil then 
        return nil 
    end
    local it = string.gmatch(text,"[^:]+");
    return {key = it(), value = it()}
end

local function readTable(reader)
    local header = readEntry(reader)
    if header == nil then 
        print("Header not found in readTable");
        return 
    end
    if header.key ~= "entryCount" then 
        print("Incorrect key. Expected entryCount, found " .. header.key); 
    return end;
    print("entryCount " .. header.value)
    local tableToRead = {}
    for entry = 1, tonumber(header.value) do
        local entryData = readEntry(reader);
        tableToRead[entryData.key] = entryData.value;
    end
    return tableToRead;
end
main pasture
#

I usually grep over all the lua and decompiled java files to figure out if something exists

willow tulip
main pasture
#

Yeah. It often returns way too much stuff on the first search

willow tulip
#

Doesn't help that theres like, entire file classes and such that im sure are not LUA exposed

#

Like, I didn't even bother checking because I knew the chance of them being exposed in B42.16 was next to nil.

main pasture
#

Also lots of stuff that just isn't used in the lua anywhere

#

That function wasn't used once

willow tulip
#

if there was going to be a 'scan directory for files' function it would have been a global/specalized with security function like you found -_-

willow tulip
#

Clearly its for modders ๐Ÿ™‚

#

listFilesInZomboidLuaDirectory doesn't even show up in any of my installed mods -_-;

main pasture
#

Theres is also listFilesInModDirectory that is exposed to lua

willow tulip
#

Guess im one of the few whose wanted to make generic file I/O -_-;

willow tulip
#

same with the mod file writer

#

"Cool, I can make my mod self-fail the checksum tests"

#

Make a mod that purposefully just erases some other mod.

#

"Common sense patch" (just deletes common sense)

#

"Now with 0 errors!"

main pasture
#

But then coudn't you just overwrite those with empty files without lua

willow tulip
#

Sure, but your ruining about the only use case I can think of here. ๐Ÿ˜›

#

"Here as TIS, we support security... And self modifying code"

main pasture
#

Maybe you could use it to save stuff that then gets automatically deleted with the mod

willow tulip
#

I guess?

#

Honestly kinda cruel though. "I'll erase all your saved data if you unsubscribe from my mod, even just for an instant!"

#

(especially considering how often you need to unsub/resub just because steam)

#

Maybe could be used for cache data or something, like if you spent time rendering something and wanted to save the results? dunno.

#

I assume loading a texture from \lua is more problematic then your mods media\ folder...

#

Do textures trigger the checksum or just .lua files?

main pasture
#

I was thinking more about the lua folder being filled with unused files over time

willow tulip
#

@dry stone might be interested in the concept

#

store your mods cached downloaded files in your mod folder so they get cleaned on unsub-resub, instead of \lua where they persist forever

#

(since presumably, if those files get deleted it just causes a re-download)

#

And might even let unsub-resub fix some weird edge cases where the files get corrupt

#

(instead of trying to instruct people to find a folder and delete files...)

#

plus hes actually downloading gasp entire megabytes of floopys.. and maybe even a whole 40meg hard drive or two.

#

while most people throwing stuff in \lua are filling it with kilobytes.

#

(and complaining about file count itself is a bit rich when zomboid uses 100,000+ files per savegame)

lusty drift
#

can you guys add a mod that lets me free fall turds over my garden plots for fertalizer?

#

seems realistic

willow tulip
#

Sure. Will we? unlikely.

lusty drift
#

theyre growing vines

#

potatoboid

#

irishboid

eager vigil
#

๐Ÿ˜„ ๐Ÿ˜„ when ifinish my mod i can look into that

lusty drift
#

thank you i also really need to shit ing

#

surely you get it

eager vigil
#

but it will come with diarhea and food poisoning expanded

lusty drift
#

no problem

#

i dont mind my ass being a wave of nutrients

#

add kebabs

eager vigil
#

so its not just butterflys and rainbows but i focus on other mod rn after that i can check it out

lusty drift
#

guarenteed food poisoning even w/ specific traits

#

if youre gonna add shitting you might aswell add the whole package

#

add the foods

#

different types

#

of stool

#

etc

#

shit (no pun intended) let us store it

#

for the future

#

i will dedicate my self to making a pooboid vault a basement dedicated to turd storage

#

my potatos must prevail

willow tulip
#

My thoughts so far: Instead of killing you, it should get you killed

#

I was thinking it could either limit your max endurance (maybe that sucks too much especially with people wondering why resting isn't removing their moodle) or cause extra fatigue/endurance loss from actions

#

(or just a constant fatigue/endurance loss)

#

You'll have to do some playtesting on that ;0

#

Considering the first level endurance/tiredness is 50% damage, and 2nd is 20% damage... those are huge debuffs that are right up their with outright murdering the player if he gets into a fight he can't avoid

#

Honestly, I think the 50->20->10->5% damage on exhaustion/tiredness should be more like 75->50->25->10, especially considering exhaustion and tiredness stack -_-

#

25% is already a near death sentence, 20% is crazy, 10% is just murder, 5% is 'WHY WON'T YOU DIE IV HIT YOU 30 TIMES'

eager vigil
#

my radiation currently is doing pretty much the same although it add some anxiety too i think it wouldnt be that hard i just suck with models

willow tulip
#

I wanted to add food poisoning for my realistic cooking mod, if you cooked while covered in blood/dirt

#

Someday I'll give it a proper release ๐Ÿ˜›

eager vigil
#

omg that sounds wonderfull i love cooking in this game so much like im allways experimenting with spices and stuff that is something i love the most right after the annotated maps ๐Ÿ˜„

lusty drift
#

you mind adding worms to the turd mod

#

so that way they increase hunger usage

#

if you eat your own shit

#

or trash food

#

like rotten

#

why do i have so many ideas for a mod about shitting

eager vigil
#

maybe you should do it

lusty drift
#

i cant be asked to try wiht this game

#

i cant even work on my c# projects for > 5 mintues

eager vigil
#

this is better this is lua it is simpler :DDDD

lusty drift
#

i know

#

ive done roblox lua before

#

for many years

#

it makes me wonder if they support bitwise

#

on pz

willow tulip
#

PZ doesn't even have support for ints in LUA

lusty drift
#

thats one vector of attack gone so it makes me wonder how the 0d worked

#

i thought they supported bitwise

#

so i thought they did some weird memory shit

#

i guess if there is ever a study released or whatever then maybe we will know

lusty drift
willow tulip
#

nope.

lusty drift
#

dang

#

ig you wouldnt need memory management on this

willow tulip
#

AFAIK latest LUA has some kinda support for it (And IIRC some people have made extensions to do it) but no native support

lusty drift
#

ahh i see

willow tulip
#

and PZ lua is very old

lusty drift
#

yes true

#

it is an acient game

#

with an ancient codebase

warped grotto
#

why is all the pages in the wiki for modding empty? i cant figure out what halve of the item params do

eager vigil
#

just go through game files then ๐Ÿ˜„

willow tulip
#

download, install, set JAVA_HOME=yourjava25 dir, run .bat file, done

#

Worlds shittyest file open dialog, DEPLOY!

frank lintel
willow tulip
#

Yea. file dialog for my container saver/loader

frank lintel
#

nice

willow tulip
#

step 1 in being able to move stuff from one save to another.

frank lintel
#

bro if you can make a SP to MP converter that would be epic

willow tulip
#

Hoping to entice @sour island into expanding skill recovery journal into allowing someone to port a character between saves with it.

vast pier
willow tulip
#

Technically "Base Saver" but yea ๐Ÿ˜›

sour island
#

I wouldn't be opposed to it, but I'll be traveling for a week

frank lintel
#

oh I want a character saver esp when Im testing stuff from SP <> MP

willow tulip
sour island
#

I wanted to tackle EHE when I return - but also SRJ seems to have some serious sync issues with timed actions

#

Making it server authoritative would probably be the next step

#

I was hoping to stick to simple item modData ๐Ÿ˜…

dry stone
# willow tulip <@221393369354469377> might be interested in the concept

I used to use the game's mod folder to store dos software... But now i don't save anything beyond the normal static assets there. Software library got moved to Cache_Folder\Lua\PZDos_Files and driven by a new package manager. I DO use the save folder to store per-save computer filesystem data, but that's only because I have/require a Java-side component anyway

frank lintel
#

Finn you work for TiD?

sour island
#

TiD?

frank lintel
#

the indie store

#

sorry S

#

(still waking up

sour island
#

God damn moderator ๐Ÿซก

#

That was fast

frank lintel
#

roger was gonna ask yas for the love of god please add a 'server is ready' dialog at the end up dedicated bootup

sour island
#

The Indie Dore, yes

#

I don't work for them

dry stone
#

Lol I just type indie stone and then fix all the typos

sour island
#

I have a workshop role for light moderation purposes

frank lintel
#

I dont use error correction hel I dont see colors, images, icons or any of that stuff I got discord running in IRC mode.

willow tulip
dry stone
#

er you mean unsub/resub clears the MOD folder right?

willow tulip
#

was very impressed.

dry stone
#

afaik the LUA folder is just kind of a "random junk from mods" folder.

frank lintel
#

you should abeen in salamander chat last night oh boy someone was going off in portugese

knotty stone
#

So, i found the culprit or atleast one possible variable for the self moving trailers for the w900 mod, setting stoppingMovementForce to 0, stops the wheels from spinning and the trailer in response to move, but then why when its set to 3 its over 20 times slower moving than when its set to 1? And why is the petyarbuilt trailers fine? car physics are bonkers <.<

frank lintel
#

no yhou didnt

#

because those trailers move in vanilla its not mod related

#

ya might found the reason but its def not mod 'caused'

knotty stone
#

yea but then again, why is petyarbuilt trailers fine? atleast in my last test and they dont have 0

frank lintel
#

I dunno I cant explain it. I was the one who actually caught this first and put in a bug report about it but still havent even seen a reply about it (correction I was in the middle of typing it up but somenoe else posted it so I added to theirs mybad just got done mowing )

knotty stone
#

yea i mean even when the trailer is not moving when alone, if you attach it, it still moves the truck^^

warped grotto
#

Does anyone know if i can use SharpKnife as a crafting requirement? that way i don't have to add every knife and be mod friendly.

frank lintel
knotty stone
frank lintel
#

if its too light

#

a big van or stepvan it wont move it

#

guess its force vs mass/tire friction in that sense.

#

biggest issue is why it even movingt at all makes no sense.

warped grotto
knotty stone
#

well you didnt specify that ๐Ÿ˜„

warped grotto
#

T R U E

frank lintel
#

sorry @knotty stone if I came off standoffish litterally dying here for air after mowing my 45 deg lawn hillside..

knotty stone
#

nah its all fine man

frank lintel
#

yeah after 16 dropped I started noticing every time I would log on my car was moved with the trailer somewhat then go to LV (vic was in muld) I come back and I found it crossed two parking lots lol. so then started doing some testing and soon as I unhooked it noticed it inching up to the car then flipped it over. I was like okay.. thats not right lol started typing then seen Alargetophat's post about it so I added to it

knotty stone
#

found another thing ~.~

#

not moving by itself even with stop force = 3

#

so when its completly horizontal its kinda accelerating? xD

frank lintel
#

so yeah somehow some force is pushing them. for no reason.

#

too bad there isnt a bug discussion channel. hate going off topic like this

dry stone
#

In my mod, I have an item... When that item is created, I need some script event to set a bit of mod data on it with a random number.

#

is there a "best way" to handle this?

frank lintel
#

math.random?

dry stone
#

I mean the actual event

frank lintel
#

oh cant help there my lua knowledge sux atm

knotty stone
#

in recipe you use OnCreate = function

dry stone
#

Will that go off if it's found as random loot in th world?

knotty stone
#

nope

#

just for crafting

dry stone
#

Ah, drat.. I was looking at OnCreate before too, but it seemed not flexible enough

#

Well if I find a way I'll leave a message here. In case someone else searches the discord later with the same question

knotty stone
#

i mean you could always check when events.OnFillContainer fires if your items is there

dry stone
#

oh... I'll try that!

#

I'm kinda new to lua myself, still learning how to do basics

vast pier
#

Textures still not done, I plan to add in some details like the blade having an actual edge, and possibly adding in visible welds to parts that are welded on instead of threaded/taped.

I plan to start adding in some more cosmetic variants, stuff like camouflage tape, and I also plan to add compatibility with my survival additions mod, which would allow you to attach parts using duck tape instead.

The synthetic parts will also have cosmetic versions like the tape, maybe even some fictional brand logos.

dry stone
#

I figured it out. You do this in the item definition:

    {
        * usual fields here *
        OnCreate = PZDos_OnCreateRandomFloppy,
    }```

Then you make a little function in LUA to catch it (very proof of concept code):

```lua
PZDos = PZDos or {}

function PZDos_OnCreateRandomFloppy(item)
    if not item then return end

    local md = item:getModData()
    if md.PZDosRandomized then
        return
    end

    local n = ZombRand(1, 11) -- 1..10

    item:setName("(3.5HD Floppy) Random Software (" .. tostring(n) .. ")")
    item:setCustomName(true)

    md.PZDosRandomized = true
    md.PZDosRandomValue = n
    md.PZDosDescription = "This item is " .. tostring(n) .. "."

    print("[PZDos] Randomized " .. item:getFullType() .. " -> value " .. tostring(n))
end
#

It does go off when i create items in the debug item list window.. I think its always supposed to go off on item creation. I'm gonna try making it random world loot and see if it's still working there too

vast pier
dry stone
#

That LUA file will eventually grow

vast pier
#

wouldn't it need to be PZDos.OncreateRandomFloppy

dry stone
#

oh... hmm...

vast pier
#

xd

dry stone
#

I get what you're saying.. I used the underscore in my OnCreate= in the item def as well

#

so if I swap that for a period which would make more sense, I hope it still works

vast pier
#

I mean it will work either way, it just wouldn't get put into PZDos

dry stone
#

It technically doesn't NEED to be in my PZDos with ..basically the rest of my entire lua-side of my mod...

#

but its kind of a code smell if it isn't

vast pier
#

I don't bother with it for my oncreate functions, haven't had a reason to

#

I'm sure there's reason to, I just personally haven't needed to

dry stone
#

Writing software made me a bit of an organization freak over the years

knotty stone
dry stone
#

now all it needs is a massive explosion at the 6 second mark

#

and then insert clips from the end of terminator 2

eager vigil
#

Hey guys, Iโ€™m still working on my mod an now im trying to make a hazard/safe-zone system use the vehicleโ€™s real world position when the player is inside a vehicle interior, instead of using the interior map coords but itโ€™s not working.

Right now I fall back to:

return RSR.getPlayerPos(playerObj)

And when the player is inside the interior (from rv interior mod) I try to use:

local rvData = ModData.get("rvInteriorMod")
local interiorData = vehicleBucket.interiorData[interior.interiorInstance]
return interiorData.vehicleX, interiorData.vehicleY

Then the actual check is just:

local px, py = getEffectivePlayerPos(playerObj)
return RSR.dist2D(px, py, st.safeX, st.safeY) <= radius

So the idea is:

inside vehicle interior -> use stored vehicle world coords
otherwise -> use normal player coords

But in practice it still doesnโ€™t work for some reason. Am I missing some catch or am i dumb pls help
im desperate ๐Ÿ™ ๐Ÿ˜„

knotty stone
#

if you have enough debug prints you should be able to find where your construct is failing

#

Hmmm... no wonder you sometimes see ppl attaching trailers and they freak out, vanilla cant handle over 90ยฐ vehicle to trailer schobiPanic

tacit dove
#

Guys... What would be the correct BodyLocation for a suit that includes boots, trousers and torso in one item?...

willow tulip
knotty stone
quasi jewel
#

Does that command to directly cause a thunderstrike still exist in B42?

frank lintel
#

for admin yes supposedly

tacit dove
willow tulip
frank lintel
#

oh you can fix the physics of vic with the vehicle editor

willow tulip
#

'but no we can't fix any of the car bugs because we're going to rewrite it all someday!'

frank lintel
#

move the center of gravity forward 3-4 grids they dont squat anymore and drive level

willow tulip
#

@frank lintel Honestly moving the CG forward makes the cars drive so much better too, no more massive understeer, but then they squat forward.

#

(and wheels start clipping through the ground again)

frank lintel
#

well thats why I dont move it too far

#

def helps with vans and step vans

#

was gonna make it a mod if that was even possible cuz any update/or file verify those changes gone poof.

#

just like the fix for rainbarrels

willow tulip
#

most of the values anyway.

frank lintel
#

why I was thinking making it a mod vs the IG editor

#

persistence

willow tulip
#

Yea.

#

Im pretty sure you could just scan all cars and move it forward. I considered doing as much with RCP, but the forward squat annoyed me... Was hoping someday TIS would have per-wheel springs or something but meh, I think id need to alter baseVehicle to get that working

frank lintel
#

oh me they squat in the rear

#

like you got 2 tons in the trunk or something

willow tulip
#

there actually is some disabled code in baseVehicle for hydraulics (But they extend so far and so fast they just phase through the ground and sloowwwllyyy lift your vehicle up)

knotty stone
#

lowriders incoming? xD

frank lintel
#

hey here's a question what Lua version we using IG? 5.4?

bronze yoke
#

5.1ish

#

it's not on-spec but it's based on 5.1

frank lintel
#

k thanks I was looking at reference manuals wanted to make sure I got the right version before wasting time

tacit dove
#

So.... I'm kinda horrified now...

frank lintel
#

?

tacit dove
#

Well...
I tried to make a mod which would add two hazmats. For one of them I've decided to make options to wear it:
All suit without helmet
Trousers and boots
Just trousers

#

And now I've realised that I need 3 XML files for those extra options

#

And I do not know what models should I choose for it

#

The m_MaleModel and m_FemaleModel confuse me

frank lintel
#

heh I was thinking of a hazmat game mode where you had to worry about getting infected from any cuts if you had blood on you etc

small topaz
#

In multiplayer b42, is the game code built in a way such that executing player:setWornItem(bodyLocation, item) always triggers a clothing update on the client?

frank lintel
#

why Im digging for Lua reference manuals lol

tacit dove
#

So... Would you maybe have some advice on those xmls?..

frank lintel
#

me no Im a total newb in this game modding.

tacit dove
#

Fair enough.. Thank you anyways

willow tulip
#

for a second I thought the computer skin was for your dosbox mod

eager vigil
#

i just got my first comment on my mod im so proud lol

dry stone
#

like you'd need to come up with good in-world text to put on files and such for the player to read

#

so..writing skills.

frank lintel
#

Question: Can Kahlua2 (PZ's lua) since its made for java implementation. Still call C functions? ๐Ÿค”

bronze yoke
#

no

frank lintel
#

Just wondering if it works side by side with Java and C or it replaces C.

bronze yoke
#

there is no c involved, kahlua's vm is implemented entirely in java

frank lintel
#

okies thanks rather ask then guess. reading 5.1 manual atm.

ivory gyro
#

How can I make fluidcontainer under 50ml ? I think java limit the minimum amount

#
    item Naloxon
    {
        DisplayCategory = FirstAid,
        ItemType = base:normal,
        Weight = 0.05,
        UseWhileEquipped = FALSE,
        Icon = AmpouleYellow,
        DisplayName = Naloxon (5mg),
        Medical = true,
        StaticModel = Ampoule,
        WorldStaticModel = AmpouleGround,
        component FluidContainer {
            Capacity = 0.05,
            ContainerName = Ampoule,
            Fluids {
                fluid = Naloxon:0.001,
            }
        }
    }
#

When I spawn it that show "50ml/50ml"

frank lintel
#

could be wrong but 0.05 would be 50mL wouldnt it?

ivory gyro
#

Same thing with 0.01

frank lintel
#

it could be the bare minimum like you saying then

#

or its coded not to go lower (hard coded)

ivory gyro
ivory gyro
#
public void setCapacity(float capacity) {
    this.capacity = PZMath.max(capacity, 0.05F);
}
#

found

frank lintel
#

yeah thats what Im thinking like there is an absolute range you have to work within..

#

heh nice

#

you gonna make epi pens?

ivory gyro
#

(Immersive Medicine)

frank lintel
#

that sounds almost like ACE medical level type stuff from Arma3

#

different bandages, epi pen, morphine pen, and a few others then go thru the process of bandaging each body part etc

#

able to go uncon not just outright die etc

ivory gyro
#

Fuck its hardcoded SadCatCowboy

ivory gyro
frank lintel
#

interesting

ivory gyro
#

@frank lintel look upvote

frank lintel
#

would but it got yanked

willow tulip
dry stone
#

It did look really nice. Used to have an old 286 when I was a kid that looked a lot like it

frank lintel
#

you want my old cpu I got laying here? its a....

#

grabs a box....

#

AMD Phenom II Black x4 965 still in the box..

dry stone
#

My mod adds 35 CPU items to PZ ๐Ÿ˜„ ... and not a single one of them could run PZ lol

frank lintel
#

also got a spare 1950x threadripper new in a open box never installed

#

PZ only java really prob even win7 boxes can run this

#

I just went looking about and I ended up finding a 4 disc set of 1996 Slackware official in the case... lol

silent zealot
#

From Ye Olde Days of buying linux on discs for a few dollars.

#

Then sharing them with friends, except that lacked the excitement of piracy because it was legal.

frank lintel
#

I'd have to look up what the price of that was I cant remember

#

$40 according to google in 1996

#

Standard Set: Walnut Creek CDROM, the official distributor, sold the Slackware 96 4-CD set for $39.95.

silent zealot
#

I remember it being cheaper than that, because anyone could make the discs themselves and there were a few groups doing so at cost.

#

But that's specific to Sydney Australia and being near a university with linux users groups

frank lintel
#

they also prob had access to a drive burner which wasnt that common either back then

silent zealot
#

Yeah, I had one in 1996 and would copy CDs for cost... $7 per blank.

frank lintel
#

think my first cd burner drive was a creative one made by the same people of soundblaster

silent zealot
#

Then disc prices went down when I found really cheap ones in 25 disc spindles for $2 each

#

Burning at a blazing 4x speed, so 15 minutes of being extremely careful not to bump the desk or the disk would be ruined.

frank lintel
#

yeah I remember them days

#

now I got a Pioneer BluRay burner

#

never use it, just sits in the box when I occasional need to back stuff up

silent zealot
#

It's been a long time since I had a DVD drive hooked up

#

years ago I was adding a hard drive and went to steal the sata cable from the DVD drive to use, and realized I'd already done so.

#

I figured if I'd not noticed the drive not being hooked up for 2 years I didn;t need it ๐Ÿ˜›

#

Now I have a case that doesn't even have a space for a DVD drive, instead having better cooling.

frank lintel
#

whyI love this pioneer its a portable USB one so just pull it out of the laptop case and plug it into my desktop or laptop when needed

#

no wasted space

#

I mean honestly at this point if it was installed in the case it be nothing but a dust collector

willow tulip
#

Most computers will boot off a USB drive these days, so even a recovery CD has limited value these days

frank lintel
#

I just prefer hard copies of stuff old fashioned

buoyant violet
tame palm
#

Dear developers, can the pz module currently link to databases such as mysql or sqlserver? I made a module here. Part of the code involves data storage, which needs to be stored according to the player's steam64id. Because the ID is usually 17 bits, the current pz will force the last three bits of the ID to be ignored, resulting in abnormal data recording. Is there any case linked to the database?

cinder light
# tame palm Dear developers, can the pz module currently link to databases such as mysql or ...

you could probably do that through java modification, or if you're on a server then probably through lua, and have another code read out the output of the server (where you would inject specific data you want to store using the lua code) although the 2nd option would limit you to a 1 way communication, with the first you would have to burn in and store your credentials locally, which usually is a bad practice. you could also create an api server and have the game talk to that, which talks to your sql server

#

there might be other ways of doing it though, I do know the savegame is stored in a database, but that's local

icy night
#

I am trying to update a trait mod of mine (I only made changes to the lua script and trait costs) but it wont let me update it as an existing item. keeps saying "Error requesting Steam to update item." Maybe someone knows why this could happen?

frank lintel
#

well just googling... To fix the "Error requesting Steam to update item" (often Error -3 or generic failed update), first restart Steam and log in again to refresh authentication. If that fails, clear the Steam download cache,

frank lintel
#

albeit Ive never seen that happen

eager vigil
#

Do you guys know some good reference mod that add item that uses vanilla battery ? I cannot find it in vanilla nowhere or maybe idk im just dumb how it works like i want to add like radiation scanner to my radiation mod so you would know where the safezone is only when it would be turned on and had battery so its more hardcore but i also want to tweak it so battery would run out quicker then from other items

tame palm
#

I tried using URLClassLoader to attach MySQL connectors, but PZ seems to prohibit attaching jar packages through mods

bright fog
frank lintel
#

not seems, outright blocks io.* and os.* I believe

eager vigil
bright fog
#
UseDelta = 0.006,
#

Yea that's it

#

Increasing this number will increase the amount of uses are consumed from the battery

eager vigil
#

Thanks

frank lintel
#

SimKDT you'll likely know this... in mod ordering (this isnt always so Im not assuming) is it top down for depenancies.

#

Ive seen games being wierd where if B needs mod A to work they have A below B oddly albeit common sense would say A needs to be loaded before B...

bright fog
# frank lintel SimKDT you'll likely know this... in mod ordering (this isnt always so Im not as...

It's top down. Mods at the top will be loaded first

In general however, if load order matters, it's either that you did something wrong, that your mod is a patch to a script mod or you are being very aggressive with you are doing (for a good reason or not)

For Lua mods, load order literally doesn't matter, because if you depend on the Lua files of another mod, you should require those files at the top of your files that need to be loaded after those. It's more problematic if you want your Lua files to be loaded last however but there's no good solution for that however, in B41 it was easy to do, and now we're kind of fucked

frank lintel
#

thank you. someone was saying they had a mod kept getting disabled when using 'auto mod ordering' I was thinking they missing a dependant mod so auto order was disabling it. and they couldnt grasp what I meant by dependancies

#

so rather ask so I knew how ordering went rather then assuming

willow tulip
#

EVEN IF THAT OTHER MOD ISN'T BEING USED

willow tulip
#

I fixed it in like, an hour for bugzapper but never updated bugzapper past B42.14 or something.

#

also reported it to TIS, so we should see it fixed sometime around... B45

bright fog
#

Yea like Black Moons explained

frank lintel
#

๐Ÿ‘

willow tulip
#

I have no idea how drunk TIS was when they wrote the autosorter code because I couldn't even figure out how it worked nevermind how it didn't work.

frank lintel
#

yeah just without knowing to me that was screaming 'hey I cant find your needed mod so Im turning ya off incase..' type shit.

willow tulip
#

I got half as drunk and it was pretty easy to write a replacement

frank lintel
#

was gonna say maybe I'll dig thru java source code and look

willow tulip
#

its LUA

frank lintel
#

the ordering code is Lua wut?

willow tulip
#

Heres my fix

bright fog
bright fog
#

The majority of stuff related to UIs are Lua

frank lintel
#

hmmm

bright fog
#

That means the Mod manager is Lua

willow tulip
#

ModLoadOrderPanel:autoSort() is what you wanna find in the vanilla if you wanna edit it

#

Or just use my code and mention who wrote it if you include it somewhere shrugs

frank lintel
#

ofc

bright fog
#

Don't implement that in your mod, make that something standalone ๐Ÿ’€

willow tulip
#

Yea. I really just need someone to go through bugzapper and see what bugs still exist -_-

#

maybe re-release it since its been hidden long enough nobody remembers it anytmore

#

also need to rename the files so that they don't cause conflicts with existing mods..

frank lintel
#

If I can get my IDE to start playing ball cuz I been out of the coding world for about 5 years now... if this was pure java I'd be already rolling but just seting up a workplace is new stuff for me. Netbeans dont have this.

willow tulip
#

ModOptions.lua was.. a poor choice in filenames

willow tulip
frank lintel
#

and nor does it have the Lua stuff I need so Im going fresh into VSC

willow tulip
#

Has syntax hilighting.. what more do you want? Kids these days...

frank lintel
#

that or Im writing up a plugin for netbeans for Kahlua2 lol which Im not wanting to try

#

moons Im 55

willow tulip
#

why in my day, I had to program in edlin

frank lintel
#

VI. :P

#

and no I mean VI not Vim

willow tulip
#

checks.. Edlin was released 1980

frank lintel
#

honestly my first editing was done echo and cat I think

willow tulip
#

Hu, VI actually is from 1978

#

You win this time!

frank lintel
#

echo's Ctrl-D to Moons terminal

frank lintel
#

Im old.. first real computer I used was Unix in 86

#

on a AT&T minimainframe

willow tulip
#

I think it was like 1992 or somewhere before my first PC, but I was only like 7 at the time.

frank lintel
#

I had an atari 800xl but that was more just a console with a command line

willow tulip
#

I think it was a 8068 later upgraded to 286

frank lintel
#

I owned a very rare 80186

willow tulip
#

I miss the old expanded memory card... DIP's in sockets as far as the eye could see.

frank lintel
#

think they were only on market less then a year

#

omg I forgot about memory card. wow

willow tulip
#

Back when a gig of ram cost... as much as it does now!

frank lintel
#

lol

#

did you see the photo I posted yesterday of a old CD rom case I found I still had?

willow tulip
#

At least iv heard some of the datacenters are no longer going up anymore after they realized its not worth building datacenters with ram at 3x normal costs...

frank lintel
#

$40 back then

willow tulip
#

I still had my FF7 box till awhile ago... was pretty bad condition after all the moves so I ended up throwing it out.

#

I think I still have the CD's in a binder somewhere...

frank lintel
#

I was surprized I still had them in the original case

#

now that Im thinking about it might as well break out the portal blueray drive and test if the discs even still undamaged

#

wow talking about flashback 2003 Microsoft Works & MS Money on official CD install

willow tulip
#

@red tiger honestly it just feels like some really weird legacy BS where they should just make GetColorRed call getColor():getR() or just delete GetColorRed already.

red tiger
#

Just wait until people start learning how to hex color values. :)

willow tulip
#

Extra cursed: you can have multiple fluids with the same translated name, and the tooltip displays them as a single fluid

#

At one point I was considering forcing people to judge their oil quality by the color of the oil.

frank lintel
#

we lucky its not CMYK....

wintry tree
#

Does anyone know where I might be able to look at the code for Graceful's sound dampaning effect?

willow tulip
frank lintel
#

lol

red tiger
#

I'll be adding CMYK and all the color conversion algos.

frank lintel
#

oh I for a short time worked a book printing company colors goes deep deeper then most people even know about

frank lintel
#

why am I not suprized...

willow tulip
#

they think 0,0,0 mixed with 255,255,255 50/50% should be 127,127,127 -_-;

frank lintel
#

derps

#

ah that moment you think colors are linear...

willow tulip
#

Yeeep.

frank lintel
#

lol

willow tulip
#

they forgot the 1.4 gamma correction -_-;

#

(or was it 2.2 for lighting colorspace? its been so long since I did that part of my engine shaders)

frank lintel
#

this is exactly why I tell people for example.. Im looking at a Orange color and they like no its red... facepalms

willow tulip
#

Yea, the hue shifts are where it gets really apparent your 'doing it wrong'

frank lintel
#

alot of times thats also on the monitor not being calibrated too

#

the human perception leads to errors cuz they keep trying to correct for something wrong when its their perception that is 'off'

willow tulip
#

My fav is those old games where the dark shadows become a mess of saturated greens and purples

frank lintel
#

heck people forget even the ambient lighting around them effects what they looking at.

willow tulip
#

Yeep.

#

Ambient light simulation is a pain in the ass too. In brutal nature I just hacked it by adjusting ambient light by depth as you dug deeper lol.

#

Didn't even bother loading a terrain map into the shader or anything.

frank lintel
#

took me forever to find even lightbulbs that had accurate sun color so my eyesight of colors dont get effected from going from day to night. (used to take photos alot and noticed this was a real issue actually)

willow tulip
willow tulip
#

can't mix CFL and LED's at all

#

(at least, hard to find cheap leds that match)

#

im sure if I paid like $500 for proper photograph booth leds everything would be fine.. but that buys a LOT of $10 led bulbs to try out

frank lintel
#

yeah if you want legit color matching those lights gonna get expensive

#

too many times got a bulb that was 'sun color' only to get home and put it in and its got a slight green hue to it... imho

willow tulip
#

yea all the CFL's I tried where very green compared to the leds

frank lintel
#

ah great to know it wasnt just me lmao

#

I just been going thru all my saved CDs/DVDs and omg feeling old... just pulled out a copy of BF2.... Joint Operations... Task Force Rising... the original Halflife on full disc set... FML

willow tulip
#

pretty sure I still have my apache and hind CD's

frank lintel
#

I even got a copy of... Freespace and Unreal Tournament..

willow tulip
#

did you know you can fly the apache upside down in that game by tilting back at like 45 degrees? lol

#

(yes under full collective)

frank lintel
#

oh I do that in helos very rarely in DCS with a lil bird cuz how light they are if you can get it flipped over in time and reverse the collective make it go fly upside down for a brief moment

willow tulip
#

Nono

#

I got level flight, under full collective.

#

Not reversed.

frank lintel
#

thats a odd physics bug.

willow tulip
#

I mean, the helo wasn't level upside down, it was 45 degrees or so off upside down so it had a very high forward velocity.

#

You'd get level flight once you got going forward fast enough, to presumably get enough lift off... something, I dunno ๐Ÿ˜› the rotor? the fins?

willow tulip
frank lintel
#

thats normally why helos got the small wings on the tail rotor to eliminate it

willow tulip
#

Like, a helo at 90 degrees with big ass wings, is basically an prop aircraft.... with wings at 90 degrees.

frank lintel
#

makes it wanna fly level

willow tulip
#

So presumably, if you can tilt those wings forward a bit, you can get lift off them by moving forward.

#

The question then becomes can you move forward fast enough to get more lift off the wings then your rotor sucking you down into the ground.

#

... Now makes me wonder about making a helicopter with tilt-wings so it can just fly with its rotors full frontal

#

... you'd prob be able to fly faster that way, just because now you no longer need to worry about your rotor exceeding the speed of sound so soon (And no tailing rotor stall) with your rotors no longer spinning off axis to the direction of travel.

red tiger
#

Yeah it'll be fun getting all the dimensions and color formats put into my webcalc engine.

willow tulip
#

Sorta like the inverse helicopter version of an osprey.

#

Tilt the whole craft to move the prop around, and then just angle the winglets for lift at 300kph+

#

If you don't need your wings to work at landing speeds, they don't need to be nearly as big to generate enough lift.

frank lintel
#

planes also rely on the body itself as a lift surface

cunning haven
#

People, getting this error on a trait mod on multiplayer:

ERROR: General      f:9, t:1775939615622, st:3,036,394> Lua((MOD: Infinite Endurance - Mugen!)).stamina> Exception thrown
    java.lang.RuntimeException: attempted index: getStats of non-table: null at KahluaThread.tableget(KahluaThread.java:1441).
    Stack trace:
        se.krka.kahlua.vm.KahluaThread.tableget(KahluaThread.java:1441)
        Lua((MOD: Infinite Endurance - Mugen!)).stamina(MugenTrait.lua:18)
        se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:458)
        se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:161)
        se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1749)
        se.krka.kahlua.vm.KahluaThread.pcallvoid(KahluaThread.java:1581)
        se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:60)
        se.krka.kahlua.integration.LuaCaller.protectedCallVoid(LuaCaller.java:131)
        zombie.Lua.Event.trigger(Event.java:55)
        zombie.Lua.LuaEventManager.triggerEvent(LuaEventManager.java:244)
        zombie.GameTime.update(GameTime.java:661)
        zombie.gameStates.IngameState.UpdateStuff(IngameState.java:594)
        zombie.gameStates.IngameState.updateInternal(IngameState.java:1497)
        zombie.gameStates.IngameState.update(IngameState.java:1298)
        zombie.network.GameServer.main(GameServer.java:1015)
ERROR: General      f:9, t:1775939615623, st:3,036,395> KahluaThread.flushErrorMessage      > dumping Lua stack trace```

Apparently line [18] is causing the problem? I dont really know if thats it:

```    Lua((MOD: Infinite Endurance - Mugen!)).stamina(MugenTrait.lua:18)``` 

The line:

``` [Line 17] local player = getPlayer();

 [Line 18]   local stats = player:getStats()```

Is there somethin wrong here?
dull moss
#

player is null

#

getPlayer returned nothing

cunning haven
#

Is it done differently on multiplayer? Code is same as last time:

     local player = getPlayer();
    local stats = player:getStats()
    local endurance = stats:get(CharacterStat.ENDURANCE)
    
        if player:hasTrait(HoginsTraitRegistries.mugen) then
        if endurance < 0.99 then
            local infi = { endurance = 1.0 }
            
            if isClient() then
                sendClientCommand(player, "HoginsTraits", "UpdateStats", infi)
            else
                stats:set(CharacterStat.ENDURANCE, 1)
            end
        end
    end
end

 Events.EveryOneMinute.Add(stamina);```
#

Works on singleplayer fine

willow tulip
cunning haven
willow tulip
#

Server = Has more then 1 player. Or maybe 0 players.

#

getPlayer() returns.. a player. So of course its not valid on a server.

dull moss
#

getPlayer() retunrs nothing if ran on teh server

#

you need to loop over all players

cunning haven
dull moss
#

and send command to each

cunning haven
#

How do i do that?

dull moss
#

i mean currently you send command from client to server to update the stats, no?

#

cuz that looks like client code

#

then why its ran on server

#

is it in shared folder?

#

move it

cunning haven
dull moss
#

why?

cunning haven
#

The mod i was copying had it on shared folder, and it works on multiplayer.

#

The mod is "More Traits".

dull moss
#

move relevent code to client folder

#

shared folder loads both on client and server

#

thats why on server your code errors out

cunning haven
#

Moved it to the client folder, i don get the error anymore but the trait still doesnt work...

modest oak
#

is it possible to use the vehicle window reflection shader thingy on other models?

bronze yoke
#

it's not possible

modest oak
dull moss
#

<@&671452400221159444> :(

lost slate
#

Cheers

bright fog
#

Forgot to mention that now your whole workspace scripts are parsed instead of just the currently and last opened files

vast pier
#

I'm also going to be adding in compatibility with my survival additions mod to include the duck tapes as a binding option.

It's not gonna be a dependency, I'm just gonna have a lua check if the mod is present which will enable/disable it from the data/loot pool.

Meaning if you remove SSA while your gun has duck tape straps on it, nothing breaks and it keeps the straps attached while still preventing random loot spawns from having duck tape straps.

#

It's really really funny that I've been workshopping this mod concept for over a year now

#

Didn't think I would ever get this far tbh

vast pier
silent zealot
#

More malicious mods doing the rounds... not surprising when lack of proper mod support means users are installing ASI overrides with who knows what code in them.

#

I'm sure there will be a malicious Zomboid Java mod before too long.

hollow oriole
#

Hi everyone, can somebody help me to make sense of this error? it happens when i kill a zombie thats using modded clothes:
ERROR: General f:15789, t:1775972991960> IngameState.updateInternal> Exception thrown
java.lang.NullPointerException: Cannot invoke "zombie.characters.WornItems.BodyLocation.isMultiItem()" because "location" is null at BodyLocationGroup.isMultiItem(BodyLocationGroup.java:119).
Stack trace:
zombie.characters.WornItems.BodyLocationGroup.isMultiItem(BodyLocationGroup.java:119)

Is it because incorrectly setting up body locations?

hollow oriole
sonic needle
silent zealot
#

No idea how you'd make clothing crash there and not earlier though.

#

Is this modded clothing you made? if so share the item script.

cinder light
#

could be that the mod is switching out the clothing model on death for another one?

#

that could explain why it only crashes when thr zombie dies

torn igloo
#

Is there a IsoFlag or whatever way to differentiates a wall built by player and a wall part of the map?

silent zealot
silent zealot
cinder light
#

yeah, that could be as well

small topaz
#

When modding B42 multiplayer, is there a debug option which can be used to spawn zombies?

buoyant violet
#

yeah

#

just right clicl in the map and go in debug

#

zombie and zombie spawner

small topaz
buoyant violet
#

You need to enter admin mode I will assume

#

Also you should see the option regardless if you are on debug

willow tulip
#

Anyone know how to make a container I spawn like

            local object = IsoObject.new(getCell(), square, getSprite(tileName))
            square:AddTileObject(object);

not have items in it on spawn?

            if object:getContainer() then
                print("Found items ".. object:getContainer():getItems():size());
                object:getContainer():clear();
                object:getContainer():setHasBeenLooted(true) -- Testing if this removes spawn items. 
            end

Doesn't work, it shows it initially has 0 items in it and then items spawn in later anyway.

#

nm, figured it out, setExplored(true)

#

Project base saver: GO!

#

though comically, since I didn't copy the roof, you can do this:

small topaz
buoyant violet
#

/setaccesslevel {name of char} admin

clear aurora
#

yo does anyone know how can i make a mod for the main menu? like change the music and picture, is there maybe some guide or sm?

small topaz
buoyant violet
#

what ever you use to open the chat in mp to write

small topaz
#

thanks! I'll try this!

willow tulip
#

Progress. doors now work properly.

#

Looks like terrain isn't quite blending properly on import though. grr.

willow tulip
#

Soon, mimic houses that eat you when you enter them.

buoyant violet
rapid flax
#

Does anyone know the best way to test a MP mod? Like how I can connect two separate instances of the game to my own local server so I can test the MP features?

small topaz
#

For clothing items worn by the player character, is there a java command to make it invisible? Something like clothingItem:setInvisible (true)?

topaz pendant
#

say guys I'm noticing a large rise of newer mod makers putting the games mascot (spiffo) though AI gen or using ai gen images for their mods, is there any rules about that or the indi stone just okay with it?

bronze yoke
#

people have been doing that for years, i don't think they care

small topaz
#

When an event like OnClothingUpdated is triggered, is there a way to find out which function has triggered it?

buoyant violet
topaz pendant
frank lintel
#

cowbows? :P

lusty drift
#

someone add the epstine files and make them readable with real file pictures that were officially released by the DOJ

#

theres no reason why such an interesting topic cant be copiously read during an apocalypse

#

should give +10 sickness and +5 depression but -10 bordom

#

and slightly increase panic

#

"the knoxfiles"

small topaz
#

In multiplayer, is it possible to view the debug console without being in debug mode?

frank lintel
#

well unless ` shows it, no.

cinder light
#

in the zomboid folder you should have the console.txt file, that should contain the data whether it's from single player or multiplayer

frank lintel
#

mp logs arent like console.txt sadly they broken down into several log files

#

wish they had the whole thing in one file would make it easier to look thru like how it is for SP

vast pier
buoyant violet
#

I did

buoyant violet
frank lintel
#

for a minute before I watched I thought you meant you added crossbows lol

willow tulip
#

All hat and no cowbow.

frank lintel
#

sup BM

willow tulip
#

Now with 90% mimicery.

#

(actually working on saving/loading entire bases to disk)

frank lintel
strange mauve
#

Explosive zombies (Knock back testing, works for player as well)

willow tulip
#

lol at deleted floor

frank lintel
#

gotta burn that carpet!

willow tulip
#

Need to replace it with some kinda tile

strange mauve
#

lmao i thought that was just burnt

strange mauve
willow tulip
strange mauve
#

nothing actually happens, thats why i thought they were just burnt tiles lmao

willow tulip
#

Hmmm, I THINK I might be missing some kinda... corner wall special thingy?

#

Iv identified the buggy piece of wall as a 'dual' corner

#

... cool visibility glitches there TIS

#

lets just see right through the walls with no windows, sure

#

Know what? Someone else can fix this bug. yep. It works well enough so long as your not trying to duplicate/move your base.

strange mauve
#

what yall think about an in game map editor, well basically it allows you to walk into any structure, press a keybind, the entire building gets saved inside of an UI and you can spawn it where ever and when ever

willow tulip
strange mauve
#

๐Ÿ‘€

willow tulip
#

Also saves it to disk.. so you can extract your base to another savegame.

strange mauve
#

now THATS something i couldn't figure out..

the way i did it was throwing the buildings orientations and sprites into mod data layer by layer then having another lua be able to capture it

willow tulip
#

@sour island says he might allow Skill Recovery journal to do the same (save to disk) so you could port characters too.

strange mauve
#

i thought Lua couldn't write?

willow tulip
strange mauve
#

ah okay,

willow tulip
#

... also to the entire mod directory, incase you wanted your mod to self-fail the checksum on any MP server.

strange mauve
#

have you run into the problem where doors and windows dont work?

willow tulip
#

Yep and solved it

strange mauve
#

took me weeks lmao

willow tulip
#

they are all different types of derived isoObjects

strange mauve
#

spiecal objects n stuff

#

how do you spawn them accurately?

willow tulip
#

much, much if/else

#

but heres a cool hax for saving them:

strange mauve
#

i render the tiles out so it shows the whole building and where exactly you will place it

willow tulip
#

... I can't post my source apparently lol

#

lemme try a smaller chunk

#
if instanceof(object,"IsoLightSwitch") then -- Isn't properly detected
                            writer:write("tileType:IsoLightSwitch\r\n");
                            print("found tileType IsoLightSwitch"); 
                        elseif instanceof(object,"IsoClothingWasher") then -- Isn't properly detected
                            writer:write("tileType:IsoClothingWasher\r\n");
                            print("found tileType IsoClothingWasher"); 
                        else
                            local tileType = getSprite(object:getSpriteName()):getProperties():get("IsoType") or "IsoObject" -- Handles most but not all objects.
                            print("found tileType "..tileType); 
                            writer:write("tileType:"..tileType.."\r\n");
                        end
                        writer:write("attachedSpriteCount:".. tostring(object:getAttachedAnimSpriteCount()) .."\r\n");
                        for attachedIndex = 0, object:getAttachedAnimSpriteCount()-1 do
                            writer:write("attachedSprite:".. tostring(object:getAttachedAnimSprite():get(attachedIndex):getName()) .."\r\n");
                        end
#

there we go.

strange mauve
#

i've pretty much given up on my grand ideal, but since you're already taking over, i have no worries lmao

willow tulip
#

thats my special sauce saving code ๐Ÿ™‚ that saves sooo much elseif instanceof() BS

willow tulip
strange mauve
#

MOVING the entire strucuture after you've placed it is out of my leauge lmao

the only thing i can offer you from my script is the render for all sprites so you get percision placements but im guessing you already have something like that

willow tulip
#

no I mean, when you place it somewhere it wasn't, the roof and walls don't quite... appear correctly

#

its just a couple of them but

bronze yoke
#

probably just need to tell the cutaway system to refresh

strange mauve
#

oh, the roofs are special objects or something like that right? i had that problem too

willow tulip
#

thats the weird part though, its so.. few tiles

#

And that one inside corner tile has the glitch too

strange mauve
#

because most of the roof is there

willow tulip
#

comically I figured out some code that lets you turn entire buildings thumpable lol

willow tulip
strange mauve
#

ohhh so it IS there it just vanishes from certain angles?

willow tulip
#

Yep

#

same with that bottom right corner

#

saving/loading the save doesn't fix it either ๐Ÿ™ (does fix some other weird visualization bugs)

#

im 90% considering this a mod to drop a base in the same place it was, but I kinda wanna see what happens when someone moves a 'player built' base with it.

#

Like, do player built bases move properly? Do they suffer any bugs? Do player built bases inhairently suffer the same bugs that my reproductions do and hence look the same anyway?

#

Much of my code is based off lua\shared\Moveables\ISMoveableSpriteProps.lua aka the ingame building code, so I feel like it would have similar bugs

#

Im not too upset about.. slight graphical issues, considering TIS just shitcans our bases to oblivian every 30 days anyway...

strange mauve
#

this might be a longshot but what if it's missing a room defininition?

what if the invisible pieces happen because the game failed to assign it a room definition, when you place normal walls and they're not making a full room (enclosed) some of them are invisible from certain sides/angles, i think this could be the same thing

willow tulip
#

Also oddly enough, the graphical issues don't occur if I replace the house in the same place it was.

bronze yoke
#

palyer built bases never have room definitions

willow tulip
strange mauve
#

interesting,

just think about it

if you go and place a 3 by 3 by 3 brick wall leaving a side open, the side of the walls are invisible from some angles until you full enclose the box

willow tulip
#

Im now also kinda wondering

bronze yoke
#

it seems like tis is working on a room editor, and it seems like it's not supposed to be a debug tool

willow tulip
#

what if the original building has empty cells around it?

#

lemme check..

willow tulip
#

the weirdest thing though

#

the lights work!

#

lightswitch and everything

#

Like in the reproduction building

strange mauve
#

have you tried recalc all neighbors?

what about IsoRegion.isDirty

willow tulip
willow tulip
strange mauve
#

square:setObjectsDirty() i think it is idk

#

from google

"Function: It is used to tell the game engine that the objects on a specific map tile (square) have changed and need to be re-rendered or updated by the rendering system."

willow tulip
#

DirtySlice?

strange mauve
#

i dont know i just remember using it when i was attempting to build it lol

willow tulip
#

there is no setObjectsDirty

strange mauve
#

damn i guess there isn't one ๐Ÿ˜ญ

willow tulip
#

im almost certain its some weirdness with 'corner' pieces being two walls

#

because it only happens on that one inside corner piece

#

(and I assume the roof has its own weirdo corner pieces)

strange mauve
#

death to corner pieces

willow tulip
#

anyway, I'll be releasing a test version soon if you wanna help me test it

strange mauve
#

im down

willow tulip
#

Cool ๐Ÿ™‚ It also has a container saver/loader

#

(that was gonna be my backup plan if saving entire sections of the map failed to work, lol)

#

Plus... teleport shit across the map ๐Ÿ˜› Or have startup gear sets

strange mauve
#

idk about something that can upload/write words or anything outside of zomboid, after those recent security issues ๐Ÿ˜ญ

willow tulip
#

it only has access to users\zomboid\lua and subdirs of that, lots of mods (and the game itself) use this file writing functionality.

strange mauve
#

oh so it uploads to the Zomboid user folder?

willow tulip
#

yep!

#

on servers it will prob stay on the server, because... Lets be honest, you'd only want admins to have access to this anyway lol

strange mauve
#

with my version i was able to copy the entire Crossroads Mall lmao

willow tulip
#

(and prob have the admin backup the entire world before importing a whole freaken base)

strange mauve
#

or have a function that can purge spawned bases

willow tulip
willow tulip
#

Actually, that'd be some interesting anti-griefing too

#

potentialy for accidental duplication but if your base burns down or something, IMPORT

strange mauve
#

why cant you have the house have a specific tag for each room that allows the lua to know its a imported base so it can purge, additionally let non admins have a limit to how many tiles can be spawned and how many bases if that makes sense

willow tulip
strange mauve
#

oh

willow tulip
#

also, seriously you'd never want non-admins to be able to just spawn a base lol.

#

the point of this is less 'playing around ingame' and more 'TIS just nuked our saves, AGAIN. Lets just re-import our base into a new world and continue'

strange mauve
#

but you can detect how many tiles (literally every tile and sprite) that the building you're spawning has, maybe have a limit implemented for non admins if you ever tried something like that

#

idk what im yappin about im trying to finish up a script for someone lol

willow tulip
#

Nah, if someone wants to make a mod that calls my save/load functions go ahead but I really don't have any interest in letting non-admins play with this lol.

#

its just... far too powerful lol. If players wanted to use it, it would be soooo rarely done, you can just beg an admin to do whatever for you.

strange mauve
#

i've never even played MP lol

#

good luck with fixing the roofs and corners

willow tulip
#

thanks lol.

#

Right now iv got the majority of isoobject subtypes loading, and seperate container loading, with selectable filenames on save/load (And 0 safety to make sure you load the correct file because blahhh lol)

#

will prob add extensions and filtering at some point ๐Ÿ˜› or two sub dirs

#

Right now though I just like going SAVE... empty container ... LOAD like a dumb magic trick

#

or smashing a few walls and reloading a building

#

God, I HATED basebuilding because 1 wrong move with a sledgehammer? Well now, better restart the whole damn server to a save I hope you took 5 minutes to make because you can't undo that!

#

Come to think of it, that might be another use of it... 'autosave' for deco, but doesn't actually restore container contents

abstract topaz
#

has anybody ported wolfenstein into zomboid yet?

hexed arrow
#

local function OnPlayerGetDamage(character, damageType, damage)
-- your code here
end

Events.OnPlayerGetDamage.Add(OnPlayerGetDamage) Is there a way to use this event before instant death like car crash, when damage exceeds a players health this event doesnt seem to fire

silent zealot
#

Looks like that events tends to get called after damage is applied.

#

the last is damagePlayers from BaseVehicles which would cover car crashes.

silent zealot
wintry tree
#

@silent zealot How do you find stuff like that? Is it just experience or do you get them from a specific resource?

silent zealot
#

I have a VSCode window open to a "reference workspace"

#

This is the games media folder, and the decompiled JAva (thanks to ZomboidDecomiler which is super easy to use)

#

Then I just search for "OnPlayerGetDamage" and in this case there is a reasonable number of hits to look through.

#

Since the event name has to show up anywhere in the code that triggers it.

wintry tree
#

Thanks. I've bookmarked the wiki page on Zomboid Decompiler

#

a lot of what I'm doing is just staring at the game files in the install folder. Looking through the wiki and sometimes other mods and just guessing. Takes me a long time to accomplish things that way.

silent zealot
#

Highly recommend VSCode - both for making mods, but also as a super quick way to search lots of files.

wintry tree
#

Okay, I've book marked that also

upbeat turtle
#

i like vscode a lot. there's a nifty plugin which auto-decompiles the class files into readable java cathappy

wintry tree
#

I'm literally just writing everything in Notepad++ lol. I use it for everything. Brainstorming, taking down phone numbers, grocery lists. But I should probably get some proper tools to help me.

silent zealot
#

Proper lua syntax validation alone is worth it.

#

If you install the umbrella extension it even has some knowledge of zomboid's functions/variables.

wintry tree
#

I'll add that bookmark too

willow tulip
#

several clicks to delete or copy a tile...

willow tulip
#

Yo, I heard you liked tables so I put tables on your table so you could table your tables.

bronze yoke
#

and that's how lua came to be

willow tulip
#

Apparently my base load/save code, still has a few bugs reguarding multi-tile objects

#

Also, im amazed somehow tables stack.

#

Yea im gonna say something sus is going on

#

Pretty sure one cell shouldn't have quite that many tiles...

#

Hu, TIL you can stack crates onto tables

#

Iv honestly never considered doing it before for some reason.

#

And.. crates ontop of countertops...

#

though because countertops are taller you can only stack 1 crate on them

#

Oh this looks nice though:

#

I just kinda assumed stacking was a thing limited to crates

#

never thought I could stack stuff onto counters or tables

coarse sinew
#

In B41, as far as I remember, if you placed more than 8 containers on the same tile, it would corrupt your save

willow tulip
#

people still using fixed sized arrays in 2026 to save memory -_-;

#

or.. whatever they are doing it for.

paper ibex
# willow tulip

this is good but pls follow the rule of max 3 containers in a single tile like vanilla D:

#

this is nightmare (from other mod)

willow tulip
#

peak storage

paper ibex
#

try fills all those containers with extra item mod data and boom! map chunk bloats

willow tulip
#

My mod lets you save your junk to disk. ๐Ÿ˜›

#

totally non-cheaty. /s

paper ibex
#

can it still performance-oriented in MP server with 150+ mods and 20/32 players ๐Ÿค”

willow tulip
#

its more designed to move stuff from one save (or PZ version) to another

#

So in that context it doesn't really matter how long it takes to load/save a base

willow tulip
#

Weird...

#

deleting a multi tile object does nothing if the entire object isn't 'complete'

#

And yet for some reason, when it is complete, you still get a warning(?)

#

Ok, now my code only has issues if you cut a multi tile object in half by having it on the edge of the copy zone... acceptableish, for now

willow tulip
#

Hey cool, adding my container load/save code worked first time.

buoyant violet
lusty drift
buoyant violet
#

M

blissful seal
#

Is anyone aware that TIS seems to have patched the 64kb Player ModData buffer overflow issue in the last patches?

#

I was optimizing my mods ModData usage because players tend to report rollover-like issues after long sessions with my mods in MP

#

Anyway the limit seems to be 1MB now ginaYay I had to add 12,000 modded items to my playerInventory to get the crash on dedicated MP

bright fog
#

A limit in storage of mod data ?

blissful seal
#

Yeah, when a player disconnected in dedicated, or the world saved, the NetworkServer code allocated a 64kb bytebuffer that wasnt auto-expanded constrat that to the SP path which was designed to expand

#

You end up with the following if you broke it:
ERROR: General f:873, t:1776091388063, st:8,596,866,632> ServerPlayerDB$NetworkCharacterData.<init>> Exception thrown
java.nio.BufferOverflowException at ByteBuffer.put(null:-1).
Stack trace:

#

(reduced trace cus its ugly and the server yelled at me for putting it in backticks earlier)

#

So if youve ever had a long running MP server and ppl report items going missing etc... its because of that most likely

#

I was going crazy because I had 42.15 decompiled source and it has the old code path that would crash once u tried to save more than 64kb to the buffer, and finally decompiled 42.16 and saw the code path changed

strange mauve
#

i completely chose the wrong reply message

#

it was about your grenade launcher lmao

buoyant violet
#

I cant make zombies ragdoll with custom force with new grenades

strange mauve
#

i had the same issue, i dont think its possible to force zombies to ragdoll with lua,

buoyant violet
#

i manage to apply custom for params to bullet types but explosives its killing me

strange mauve
#

instead of brute forcing it just go around and simulate an explosion

#

use ISOfiremanager for the explosion and fires, then simulate the ragdolls, knock the zombies down and teleport them quickly a bunch of times smoothed out with ticks

buoyant violet
#

they should bounce of walls

#

I havent try