#mod_development
1 messages Β· Page 385 of 1
thats doable, if you use the teleport method,
you can add a check when they hit a wall they get teleported the other way or somethign like that
said reference
int bufferSize = 32768; // start at 32KB while (true) { try { ByteBuffer sliceBuffer4NetworkPlayer = ByteBuffer.allocate(bufferSize);
player.save(sliceBuffer4NetworkPlayer);
// ... copy bytes, break
} catch (BufferOverflowException var6) {
if (bufferSize >= 1048576) { // cap at 1MB
DebugType.General.printException(var6, LogSeverity.Error);
break;
}
bufferSize += 32768; // grow by 32KB
}
}
I use a set of functions to calculate stuff
maybe I could see into see teleport for hot brass
idk how to write holy ass
**maybe I could see into implementing something like that into hot brass
Interesting yea I remember smthg about thag a few months back
Maybe it's my time to get back to my raytracing framework lol
projectile bouncing is raycast/raytracing city
Yea I had already such a framework in lib but I wanted to streamline it a bit and improve it
Also I am convinced it's possibly to retrieve the 3D geometry of tiles from their tile depth
Of course it's not perfect but people tend to do a good job in doing these and they are accurate
Do you know what tile depths are ?
nope, teach me or gimme a link that will teach me!
Sadly I'm not sure I have a link, but the tiles in PZ now are defined with simple geometric objects (planes, cylinders etc)
And it gives a "depth" to the tile by faking it
ooooh
so these depths encode the 3d surface shape and you derive the geometry from that
really clever
lets goo,
I am taking hot brass code a bit further now.
goal right now is to make greandes jump floors above, (it already detects floors under in hb)
and also make it bounce of cealings if you have one above
does any1 what the alternative is for getPlayer():getbodyDamage():getInfectionLevel() in unstable 42 ?
in its allmighty capability my ai said its getPlayer():getStats():get(CharacterStat.ZOMBIE_INFECTION) you can try that, it seems to be used in ISHealthPanel.lua -> CharacterStat.ZOMBIE_FEVER
I have seen that in the past
but
a granade acting like a mortar is weird haha
this is using my hot brass code adapted
what are you using for the custom projectiles? looks hella cool
and you cna have grenades with fuse or impacts
grenade launcher when π
It is not me. they use custom pngs for the special effect.
very neat!
it should be coming soon
its meant to go along with the frameworok underbarrel
absolute cinema
i've wanted to try adding custom explosion vfx for a while now
thinking about using the shader system and having it be a .frag file
i may or may not use it in this project i'm working on rn. just have 100 other things to finish first before i can get to the icing on the cake stuff π
what do you need the shader for?
for me the important part was to make it go by doors and windows
Throwing weapons do that too π https://steamcommunity.com/sharedfiles/filedetails/?id=3683364786
imma look at it
Also breaking windows, bothering animals π
I adapted my stupid casings code for it
oooh breaking window will be cool
but to be honest
imma stop for today hahaha
actually
its the real test time
MP
mp is the final frontier
using truemodelz to add custom zed types with their own models. these are naturally-spawned zeds with the model added as a test 
the weird looking colors are because the model wasn't built for zomboid 2d clothing lol
(gonna use xmls to make them spawn without vanilla clothes)
these are going towards probably what's gonna be my biggest project to date. hella excited to see when its finished π
early test of the vision rework im cooking up 
yall are so sick π thats dope af
I want to profile my mod's performance a bit. Is there a way to get higher resolution timing information than milliseconds?
Figured it out. GameTime.getServerTime() is System.nanoTime() as long as you call setServerTimeShift first.
another zombie variant, not as good as the bomber zombie, needs improvements!
quick question about zombie health in MP..
iβm trying to give certain zombies (by outfit) really high HP (like 10000) for a hit counter system
but Iβm running into this issue:
- f I setHealth on client β works at first (shows 10000), but after a few seconds zombie just dies anyway.
- if I move it to server β debug still shows ~1.00 HP and zombie dies fast.
feels like itβs getting overridden or not synced properly
any idea whatβs the proper way to handle custom zombie health in multiplayer?
Have you tried setting it on both?
Also, make sure your code is actually triggering; you can't access outfit information when a zombie is created, you need to delay and check on later ticks. Otherwise you get old information from the last time that zombie ID was used, before it has chosen and applied a new outfit properly
This may also depend on the zombie being visible to the player too, just for fun.
Thank you for answering, and after I put in both of the health logics.. when I spawn a zombie with an outfit that I set its health to 10255.
my debug scan system tells me that this zombie does have 10255 health, but when I hit it once. the zombie's health suddenly becomes 50.0
and not long after that the zombie dies without me even hitting it a second time
Does the same thing happen in single player?
single player working 100% for custom health method
I'm looking for a way to get it to work in multiplayer as well π₯²
just checking, if it didn;t work single player that would be the palce to troubleshoot.
I wonder if this is one of the places where the multiplayer pushed stuff to java but left half-functional lua stubs to confuse modders.
that's it, I've been trying for days to find a way to make it work in multiplayer, but in single player this custom health method works fine
Just make it a single player only mod and change that if you figure it out later
time to test the new system
In multi player you can only have 32.767 as max health. Over that and it overflows and goes negative. Then your zombie just poofs.

Noted! I will try it
I'm thinking of learning to mod and wanna start by editing certain tiles, namely just a garbage can for starters. Would that fall under image editing, modeling, or mapping in the modding guide wiki page?
Depends exactly what you want to do.
Adding new graphics for a new type of garbage bin making sprites and putting them into tilesheets, then defining the object. And unless you want to only spawn it by hand/via lua, you probably want to make a map that includes it. Basically, it's a one-object tileset.
If you want to make garbage cans spawn raccoons when you look in them, that's something you'd do as a lua mod.
My change I wanted to make is just do some editing and make them cubic and visually take up the tile to match their collision hitboxes
I'm not sure how easy it is to replace something in an existing tileset, but hopefully some other people will know.
Ah, thanks anyway
Meet the Demoman, one of nine playable character classes in Team Fortress 2.
Name: Demoman
Role: Defense
Weapons: Grenade Launcher / Sticky Bombs / Bottle
A fierce temper, a fascination with all things explosive, and a terrible plan to kill the Loch Ness Monster cost the six year old Demoman his original set of adoptive parents. Later, b...
still fixing some stuff
but soon "tm"
how do you even get them to enter a ragdoll state?
enable ragdolls hgaaga
not the setting lol, im talking about getting the zombies to ragdoll after you use a weapon on them
WHAT
NOT FOR ME ):
i had to simulate it by teleporting zombies and the players quickly from the center of the blast π
Are you manually doing the math for the explosion + fire?
I think that may be it
yes
my explosions use the similar pipebomb explosion
You could spawn in a pipe bomb if it's not gun fire triggering the ragodoll
without it they just get knocked down
It's beautiful isn't it lol
Imagine getting car bombed in the apocalypse
amazing
wish we kinda had a physics engine
so I dont have to simulate every single things 
Yeah
like my casigns in hot brass and grenades in the framework are all visual tricks
sometimes visual deception can be better
Exactly, everything is a visual trick with PZ physics, it's really testing the brainpower
You're actually 1 full floor up, not exactly on the same Z level, funny math
bet she will run still
are you reusing the high fence/wall leap
and then part of those ladder mods
for making you appear above?
not literally but similar to it imo
Yes, Alex is helping me with the animations, so the first one ever was the vanilla climbing wall one.
right makes sense
thats kinda cool
me when PZD
project zomboid dead β
twd β
now all we need is the knox files
I haven't looked into the ladder one, but I do have to create my own solid tiles and delete them after
ah makes sense
not sure how the ladder mods do it neither
but i assume its a similar principle
Yeah, my only unique issue I'd say is being in a vehicle hitbox turns your character all black, so between the animation and the tp there's that flicker
I also need to define the size of each vehicle roof individually
dang
surely you could allow mod devs/other users to predefine stuff no? like a compatability patch
that way for modded vehicles you dont need to diy it
your self
Yes, but the mod isn't even out yet and there's no API for it, + I already defined all the KI5 vehicles lol
Sure, I've thought about it
I'm literally waiting for TIS to fix some pretty game breaking stuff for this mod in MP, so
In the vanilla game, you can get hit by a car that's above or below you, so that's fun
Z level doesn't matter, you could be on the moon
I'm the zombies messiah
There's a physics engine: Bullet. It's used for vehicles, and AFAIK there is no interface at all from lua.
Just a few functions you can call to shove vehicles around a bit
Yeah when I mean physics I mean more uses around. I assumed there has to be one for ragdolls and vehicles precisely
Something funny about vehicle physics being handled by Bullet.
Whatβs next, gun physics handled by Wheel ?
A gun that shoots cars?
(I did actually look into that for five minutes to see if it would be an interesting way to spawn a projectile and yeet it at zombies)
(I should probably have another look, might actually be viable now. But probably still stupid and impractical)
reminds me of the spinning barrels from zombies arcade bo1
but zombies
wonder how much work thatd take to make weaponised vehicles
probably alot
i doubtful theres any easy way to implement guns for cars
I think some modded vehicles have mounted guns, but I've never looked into how they work/how well they work
Would anyone like to help me out making a multiplayer fishing competition mod?
how do people get custom models for their mods? Do they commission them if they can't make models, is the art 2d only ect. I am a software engineer for the last 10 years but I know art is not my place π
Commission or collab if you can't make stuff yourself is usually the way yeah.
I've had some other modders offer to make stuff for free just because they liked the idea, and then I help them out when I can with animations or code or something
got it thank you π
It's a collaborative community for sure, so just ask around and see if someone wants to team up, if you can code and someone can model, you have a good team to make cool stuff
i know this is ungodly levels of overdone, but making scp mod #100000 rn
I have the mechanics for 7 scps completed with stick figure and line drawing placeholders lol
What on earth is this haha
What SCPs?
wondering this aswell
Creepy pastas with heavy sci-fi themes
There's a whole community of creative writers who make them up and build off each other's lore
Some of them have surreal humor too
i think they meant which scps
are you going to add knockback?
I mean ... he could ragdoll the zombies if he doesn't already do that
I just want to ragdolls the zombues yeah
this is in MP so you wont see them ragdoll
You could technically simulate ragdolls tho
idk what that's supposed to mean π
this grenades thing became a rabbit whole enough heh
I think I will not try to mingle with so many systems to ensure compatibility
since its part of the framework
yeah this is the video that inspired me to finally tackle grenades
Multiplayer supports teleporting right?
i have a Mod already posted from the short video i sent, if you wanna take the teleporting trick for yourself you can, it's a testing mod, you press G, zombie spawns, you get near it, it explodes with the knockdown and sends you and zombies flying, and it's HIGHLY customizable since we're the ones simulating it (:>
I will take a look
And if we put it in the framework your name will be there
Random question
Tekeport works with world items?
mb i was making grits,
wdym?
@buoyant violet
Explosive Zombies | Test
is the name on the workshop, no credit is needed
if you're asking if you can get the zombies to move after an item explodes or whatever, yes it will 100% work
The way I do visual casings in hot brass is by spawning ans removing a worlditem
So if I have a more efficient way I will update my code
i think i understand,
after the visual explosion happens the moment it does, you can make the Teleport method work off of that and it will look perfect
Haha but I guess I have to see how I can use teleport for world items
are you talking about walls and sprites?
I already have a mod that simulated casing ejection
Im using the same method for my grenades
Wonder I can update my logic to use teleport
are the casings physical objects?
Yes
How
probably not, i think you can only teleport players and zombies, not props or items
but for your grenade framework, my teleport method is all yours
Damn
They are objects like the casings:(
It works but sometimes may be heavy for servers
the grenades?
ππ
Just give me a bit of credits.. im a poor modder trying to make it out
oh i can send Luas in here?
in the lua or the discord message
,,,
oh you dont need the ,,, just copy and paste it lol
Also that
this just came to me, but what if you used a png for the grenade and used that as the βprojectileβ? π€
i remember tcherno posted a mod the other day which does that. ik ATRO also does something along those lines
imma kiss you
could use maths from there for the projectile logic 
In my case I use my reporpuse hot brass code cuz using the model gives it a nice spin
does it goes client server or shared ?
Shared
makes sense 
@buoyant violet that might help? saw that a while ago https://steamcommunity.com/sharedfiles/filedetails/?id=3661893026
https://steamcommunity.com/workshop/filedetails/?id=3661890955
I have seen this mod its cool
But that mortar like arc seems weird to me haha
Can you trigger a recipe to start through lua?
Functions as normal recipe, and attempts to activate when called by lua ?
And I don't mean imitate a recipe through a timed action, I mean trigger a recipe call
haha i just meant which scps he was wanting to add, definitely would be interesting to see how hed implement them
What do you mean? AFAIK making a recipe is a timed action
ISCraftAction
That gets called by the inventory GUI and presumably by the context menu when it has a recipe in it, but I don't see any reason you could not make a new action of that type in your own code.
Quick question, is there a way to tell if a vehicle is vanilla or do I need to make my own list?
It would be easy to make a list of vanilla vehicles, but keep in mind there are mods that overwrite those. Which may or may not matter to you, depending on why you need the list.
isnt there some kind of pathing you can check to make sure that isnt the case?
I'm not sure. There is for items since in debug mode tooltips show which mod it comes from, though I don't know where that gets stored. I'm not aware of anything similar for vehicles though. Which doesn't mean it doesn't exist, just that I can't think of anywhere that it gets displayed so it might not be tracked.
And also the trick of "go to where it gets displayed, find where it gets the info" won't help.
oh I was thinking in code wise should be a way if you got the list of vanilla vic names trace it to its source make sure its not getting redirected to a modded one as in like that idea
No getModID() for vehicle or vehiclescripts. π
Maybe getFileName() on the VehicleScript will indicate the path including the mod.
@fleet bridge that code makes me angry, sending floats as shorts without normalization to the zombies actual max health -_-;
also don't zombies already have more then 32 health? I through a tough zombie was like 150?
(or is it actually like 1.5 health?)
Honestly, just send as float16 -_-;
It provides 3-4 decimal digits of precision and a range up to Β±65,504
(or just regular floats)
for key,value in pairs(_item:getModData()) do
obj:getModData()[key] = value
if (string.find(key, "customContainerName") ~= nil) then
if (value ~= nil and value ~= '') then
obj:setName(value);
end
end
end
what on earth....
that is like.. the most painful way to do
if _item:getModData().customContainerName then
obj:setName(_item:getModData().customContainerName)
end
(Maybe with an and _item:getModData().customContainerName ~= '' if you want to be exactly the same..)
huge progress with the vision rework 
Tough is something like 3.5-3.9
Ah k so it is normalized to 1ish, confusing since some mods show HP as like 100's
(prob because like 1~4hp just sounds dumb compared to most games lol)
I don't know how they show it
But combat manager inflates damage
I'm pretty sure they can afford to lose one decimal place
isn't there some maxHP value they could use to normalize the packet with?
(or again.. float16 exists.. and so does just sending floats)
such a weird microoptimization to just cast it to short16 with a /1000 lol
Like if your gonna send it as a short, do / maxHP * 0xffff
100% precision
But yea, considering its likely just used for.... Dunno, combat healthbar/text mods and debugging? I don't think zombies have any visual effects from HP (would be cool if they got bloodier or moved differently or something but even that hardly needs any precision)
Client really doesn't need to know much about zombie HP in vanilla because its honestly just not exposed to the user at all in any meaningful way besides 'alive/dead'
how extra is this detail and unnecesary 
Same logic that caused batteries/car batteries/propane tanks to lose charge when you svaed and loaded the game, because if useDelta was small enough that there were more than 32767 uses it would just save "32767 uses left" because why store a float when you can do a bunch of extra work?
I'm sure reducing save size by 2 bytes per battery was a great use of optimization effort.
actuallyy......float16 (half-precision,+/- 65504 range, 3-4 decimal digits) would actually be worse for this use case β it has less precision in the 1.0β4.0 range than the current Γ1000-to-short scheme. Regular float32 would be the clean solution but costs 2 extra bytes per zombie per packet.
the battery/propane thing was just a bad antipattern thing
Sure, but prob more resolution then x100 and would allow any range of zombie HP
I mean, the game hardly runs at 500 zombies onscreen, and unless they are all burning you don't need to update every zombie, and im pretty sure even burning zombies only update once per second or so
so its like... a whole 1 extra kbyte/second worst case to just use floats here like a normal person would. -_-;
... when the slowest person online is currently rocking 125kbyte/second internet upload (and generally 10x that in download)
you not wrong, i think i also agree in the sense that its kinda unintuitive for modders
that more than anything is probably a relic of the game being old af
plus again, if there is a maxHP variable somewhere (How'd you set the HP without one?), you'd think they could just scale the packet based on that.
and use the full short range effectively.
yeah, hardcoding is no good
Especially in a sandbox game with 9 pages of sandbox options
Like of course someones going to eventually make a mod that breaks your limits and for good reason.
it reads to me like less of a super intentional choice, and more of tech debt that has settled and they havent needed to fix
i just ran into this with the MP Player ModData save buffer
it was hard coded to 64kb i think until the recent security patches
only on MP, but SP had a dynamic moddata buffer
Kinda weird that they even have floating point HP when many games are more.. integral about that kinda stuff (or at least what they expose to the player.. most combat mods scale it to like the 100 range too)
the entire playerData buffer is limited to 64k
Worse, every time you craft something.. it records that to that playerData.
Ah k. I heard it was increased to 128k and was like "... BUT WHY, thats just pushing it down the road ever so slightly."
1MB is a bit more reasonable if people are hitting 64k limit
yes, this was after i spent a day optimizing my mods moddata budget
Especially considering modern computers, 1MB is literally rounded out of your free space display lol
i made it functionally impossible to overflow with my mod now tho π
nice
what pissed me off there was SP already grew the buffer dynamically, it was only for MP
Apparently people where hitting that limit just crafting stuff on modded RP servers
and then your character just.. never saves again!
yeah and most mods dont think about their moddata budget, and considering it was only 64k
there are mods i found which monotonically increase your modData forever π as long as u keep playing lol
'64kbyte outta be enough for anybody' - last spoken by bill gates, and proved incredibly wrong, over and over and over again
π€£ exactly
going back to your point about floating point health valuse -- all of PZ is floats ticking fractionally per frame, and tehy just put discrete events on top
its actually a really really epic simulation concept, but it bleeds into everything, and isnt obvious on the surface
all of the systems are simulated by big arrays of floats and noise
-_-;
If anyone wants to help test my base saver code... https://steamcommunity.com/sharedfiles/filedetails/?id=3587204390 its a part of moons mods now.
another day of implementing dumbass shit 
Thats a real man right there almost 0 recoil on the body with an lmg π
But still good job you are doing with all your animation stuff π
I wrote a Kahlua Test Harness, that loads the actual Lua VM -- then I run my mods unit tests inside of it for CI/CD
Woo repeatable tests, that I have actual confidence in π
so a real Kahlua 5.1 runtime that I can really actually run my mod-code inside of and not need to launch the game at all theres mocks of course, but its legit
def getting better in MP troubleshooting
@blissful seal that's really great! I started to do some test suite, but then I stopped when I saw that I would have to implement mock for the in-game API: https://github.com/codx-dev/doom-frequency-mod/blob/main/DoomFrequency/tests/sha256_spec.lua
Do you have these functions mocked? For example, on tests, can you setup the suite to return the player name, if we call get from the IsoPlayer?
yep sure do, I just mock the Java classes as Lua tables (AI is really good for stuff like this)
but yes, i have mocks for the Player Object, Weapons, Items, and Globals
good stuff!
But what's that for if you can't verify the mod works in-game ?
I see mocks, tho that sounds unreliable π
tests are just for confidence right? I run the tests in game too
but the process is cumbersome, launch load save, run test command
Definitely is, but tests that don't involve the game imo sound a bit worthless, or at least I don't see the use for those
They do involve the game though
The Kahlua harness I wrote literally runs PZ's actual Lua VM β the same se.krka.kahlua classes from projectzomboid.jar. It's not "mocking the game," it's running the game's Lua runtime without the rendering/networking/world layers.
mocks replace the data source, not the runtime
Think of it this way: when your mod does weapon:setMaxDamage(2.5) and then weapon:getMaxDamage(), that's pure Lua logic. The string pattern matching in your string.find calls, the number coercion in your math, the pcall error handling, the metatable resolution β all of that is Kahlua behavior, and our tests run on the actual Kahlua bytecode interpreter.
still worthless in your opininon? genuinely looking for your feedback
there any reason why revolvers have a "ClipSize" stat? (which is not even remotely accurate alone...)
Revolver_Short doesnt have it
. would say just some copy pasta from pistol1 to 3
Some of the cases are hard to reproduce in-game. Takes a lot of time setting up the right test scenario, and if you can just setup a test case that will do the same, I think it's a big win.
I myself lost a LOT of time creating reproducible in-game scenarios when modding
any chance for gh link with documentation and some examples?
I'll get a generalized version pushed up and shared out π
can someone explain to me why .bin files sometimes have a MultiplierConfig.Butchering non ascii starting character but then randomly thru the same file its some nonprintable like in the image above?
these aren't text files, your text editor is just interpreting the numbers as characters
usually strings are preceded by their length
and I stated its a .bin I know this cuz Im trying to write a parser for it
don't waste your time trying to interpret them from nothing, just decompile the game and look at what the vanilla i/o does
and no its not length's from what I can tell even using hexedit its a repeating usage but it just seems random
and I cant read the whole thing at once is the problem.
I mean it might be I guess maybe guess look thru it for the actual value of the characters
if you want to know what something in those files means the easiest way by far is to just find the code that writes it and see where it's getting it from
yeah I guess I could go that route and see how its writing it. thank you for the advice needed a different perspective looking at it and this might help.
Might be the 'key id'
ie, key=value, except in this case the keys are stored as binary numbers to save space
(And being binary, the = isn't needed as the key could always be a constant number of bytes long)
But yea, just look at the save/load code in the decompiled java.
even if there is no clip, there must be some setting that sets the max ammo count
You'll prob find that shotguns have it too
I also have my own tests and mock version per mod.
One is a test mod that run ingame tests but just (still) a mocks with kind of isolated data.
The another one is just a lua code that can require that mod without pz run time and verify tests.
No CI/CD yet but still save a lot of time.
hell yeah
yes and thats not 15... for a revolver..
which is what they all say... so kinda odd that stat even being there or atleast that value should be 6.
Its doable.
But yea, dunno then if there is some other stat for it.
ummm lemme see what it was called
we know
point was why is there a clip size when a revolver has no clip to use that stat... or even just being the wrong value above all else
Sorry Dark, yeah I know just took me a bit to find the file again and sift thru the whole weapons file again then went to DM's cuz we both were talking about IRL crap.
Now if anything if you can help with is setting up my VSC workspace. I got the decompiled stuff for java done just not sure where my root workspace folder should be and how to tie in the java decompiled code to look at it. Sorry Im a netbeans guy.. :(
here's the extensions I got installed so far. there anything more I need?
The Java one idk, I suggest moving to IDEA to parse the Java bcs VSCode is really bad at it
But besides that this all looks good yea
There aren't really many extensions, I believe there's one for snippets but I don't remember what snippets it adds anyway
okies and what should be considered my Root Lua folder? Media?
as for java not worried about that I can use netbeans well enough for java thanks to my MC days
also got intelliJ but havent used it in ages
See the docs on the wiki
It gives an example config file
okies 1 last question I used vineflower to decompile java is that okay or should I be using this Albion's decompiler (which I dont even see on the wiki page anymore oddly... even though google still mentioning it for version 42)
Albions π
yeah thing is I dont see a link anymore for it on https://pzwiki.net/wiki/Decompiling_game_code
https://github.com/demiurgeQuantified/ZomboidDecompiler/releases/ its here if you needed it
Use the decompiler
For zomboid decompiler ?
It's there
its the top link
(Well, its on the page the top link goes to)
ah okay just mislabeled yeah I was googling and it was naming it specifically so when I didnt see it there I was headscratching okies bookmarked and thanks
Fun fact: We even get real variable names these days!
yup
no more figuring out wtf float13 is supposed to mean!
well Im used to obfuscation :P
(Although that was a half amusing puzzle game when I first got into PZ modding)
trying to figure out what a variable is just by the code
i honestly didn't think the variable names would survive to a release
i assumed the work i put into making zd use them would go to waste π
Yea im glad they left them in
hi, correct me if i'm at the wrong place but : i'm new in the modding community and i'm looking for sommeone that could help me with a basic fix spawn location. just mp me if you want to hep
https://code.visualstudio.com/docs/editing/workspaces/multi-root-workspaces this should help adding a folder to the workspace, you did the hard part π
ty dark thats where I was getting confused
No problem
netbeans lets you assign library/runtimes seperately and all and Im not really famliar with IJ or VSC that much so.. since there no Lua plugin for netbeans kinda forced into a steep learning curve lol
Anyone wanna test my base saver and give feedback?
so hard to find project testers these days...
you talking that thing that copies your base?
Yep
gimme a poke tomorrow cant right now still got a major storm around me... plus 'smoke'
I'm trying to update my mod to 42.15 and this is what I got currently
item Bag_DuffelBag
{
DisplayCategory = Bag,
ItemType = base:container,
Weight = 1.0,
IconsForTexture = Duffelbag;DuffelBag_Green;DuffelBag_Grey;DuffelBagBlue;DuffelBagRed;Duffelbag_Sport;Duffelbag_Sport2,
CanBeEquipped = base:back,
ClothingItemExtra = Bag_DuffelBag_LB
ClothingItemExtraOption = LowerBack
clothingExtraSubmenu = OnBack,
CanHaveHoles = false,
Capacity = 18,
CloseSound = CloseBag,
ClothingItem = Bag_DuffelBag,
EquipSound = EquipDuffleBag,
OpenSound = OpenBag,
PutInSound = PutItemInBag,
ReplaceInPrimaryHand = Bag_DuffelBag_RHand holdingbagright,
ReplaceInSecondHand = Bag_DuffelBag_LHand holdingbagleft,
RunSpeedModifier = 0.95,
SoundParameter = EquippedBaggageContainer DuffleBag,
WeightReduction = 65,
WorldStaticModel = DuffelBag_Ground,
Tags = base:isfirefuel;base:isfiretinder,
}
item Bag_DuffelBag_LB
{
DisplayCategory = Bag,
Type = base:container,
DisplayName = Duffel Bag,
CanBeEquipped = eznbodylocation:lowerback,
BodyLocation = eznbodylocation:lowerback,
WeightReduction = 65,
ClothingItem = Bag_DuffelBag_LB,
ClothingItemExtra = Bag_DuffelBag,
ClothingItemExtraOption = OnBack,
ClothingExtraSubmenu = LowerBack,
Weight = 1,
Capacity = 18,
Icon = Duffelbag,
OpenSound = OpenBag,
CloseSound = CloseBag,
PutInSound = PutItemInBag,
RunSpeedModifier = 0.95,
CanHaveHoles = false,
ReplaceInSecondHand = Bag_DuffelBag_LHandTINT holdingbagleft,
ReplaceInPrimaryHand = Bag_DuffelBag_RHandTINT holdingbagright,
WorldStaticModel = DuffelBag_Ground,
}
registries.lua
EznBodyLocations = {}
EznBodyLocations.ItemBodyLocation = {}
EznBodyLocations.ItemBodyLocation.LowerBack = ItemBodyLocation.register("eznbodylocation:lowerback")
shared/NPCs/eznBodyLocations.lua
local group = BodyLocations.getGroup("Human")
group:getOrCreateLocation(EznBodyLocations.ItemBodyLocation.LowerBack)
When I tried to equip it, the item converts into Bag_Duffel_LB but it does not equip and there is no "Wear" in the context menu, instead it has "Equip on Back"
Yay.. got world inventory objects working
now I just need to figure out the 90000 exception cases I missed and random item types that need some special data saved -_-;
prob should go save moddata or something next.
For my PZDos mod, I realized I won't be able to bundle shareware/freeware included on the workshop - it would likely get taken down. I ended up making a download manager instead. You can create software lists with URLs to download from and manage your library both client and server side.
This lets you add your own software to the mod while in game, even creating new installer disk items on the fly (which will end up in loot tables). With the mod I'd include a default list; click fetch and download the full set of games/software from legit hosts.
Niceee
Now I only have a billion and a half little things to clean up and fix while slowly losing my mind
Kinda how I assume this base saver mod is gonna go -_-;
thus far, other then weird graphical glitches that I think im just going to blame on TIS, its gone pretty smoothly.
heh all projects inevitably end up in polish phase
like you get it working.. but then it takes forever to get it in a state for the public
Yea iv pretty much just given up polishing due to lack of feedback on most of my projects... Will have to actually play the game myself to test em, and then I won't find any of the bugs anyway cause I only do certain things with them.
steam comments are useless... my discord server is deader then a doornail...
shrugs
Player feedback and bug reports are vastly overrated heh...
I did another huge mod a long time ago and got absolutely flooded
but very very few things were at all useful...
most bug reports were actually "I need this feature, its a bug that it isn't there."
most bug reports on my mods are: "I didn't read the install instructions/description on how to use it and it doesn't work"
or "I wish it had this feature that already exists in the mod options menu and is described in the description"
That too. and I'd keep adding things to my FAQ that no one looked in.
well, to be fair, I'm sure SOME people did look in there and self-solve things
but you never hear from those people because they were going to figure it out anyway.
.. ok apparently most items have mod data...
even a lowly screwdriver has a customName set to.. Screwdriver
Oh, yeah, basically anything you put in an item def that isn't a recognized zomboid field ends up as mod data
lol... custom names are also mod data. figured that out myself a few days ago
You can also set the display name on an item to anything you want from a mod. That's how I dynamically add items (my random software disks are all the same base item with a custom name and some mod data, no need for new item defs)
Yea
theres some modelIndex value that im still not sure whats for but I think its for item variants?
And if you wanna fully seal this system, you can add something like this to an item def:
OnCreate = PZDosOnCreateRandomCD,
Then it'll call that function in your mod when the item gets made, and you can set custom name / mod data automatically.
This trick is glorious because if you distribute that item in a loot table, it's effectively MANY items, and you can dynamically create new TYPES of items on the fly
is modData "flat" or can it hold subtables?
afaik it's flat. Each item is one line ending in a comma... All fields are just strings. Unrecognized fields become mod data strings
you see semicolons used to "list" things but I'm pretty sure indie stone is just splitting the strings by semicolons to make lists.
Sigh, my save/load code of moddata is somehow not working properly for gas masks
... Oh, right, because spawning the item will give it initial mod data.
If it's multiplayer you have to sync that yourself in lua
Nah, its cause I never erased the initial mod data
I try to never erase, just overwrite... I use mod data on everything, but maybe OTHER mods also try to put their data on my items. I go out of my way to preserve it
lets see if just getModData() = {} works
I'd be surprised lol
but my mod data D:
lol. Its for loading items, I want it to load the saved modData and not the spawn modData
(because respirators for example expressly delete a key when you remove the filter)
yay its now loading respirators correctly.
You know I never had to delete mod data... like remove a whole field
saving moddata: itemTable.modData = item:getModData(); good enough.
In some cases I'm creating an item and adding mod data (and trying to sync all that from server). But if the mod data appears on creation then I have no idea
Yea, gas masks have a lot of modData on creation to spec the filters
Yeah, I do store it. When you install parts into a computer, the full item and mod data ends up stored in the computer's mod data. When you uninstall a part, I create the item and restore the mod data back
its why I tested with them: I knew my modData load/save was working if they work correctly lol
Id say make the computer a container but im not sure if you can make it inaccessable or not.
(like I did for engines in Project Summer car)
naw, the computer really needs its own UI for doing builds
All in flat moddata? pain
Oh I wasn't thinking letting them have access to the container, but it just makes it easier to move items in/out of it without transforming them
(into modData)
I think it's way better than making it a container you toss parts in. It's a lot like the vehicle UI
dammn 60mhz pentiums π
They did exist in 1993... BARELY lol
Yea I have a vehicle-like UI for project summer car, infront of the container π
I decided in my software list, I'm including games up to 1995 though
because I'd miss so many great things if I didn't..
the container is just for ease of storing items via code.
Obviously you have a working system so its a bit late to change it but π
I kinda needed a real structure though... Like there's a whole profiler that scans the build and validates it, determines its file systems, sends it to my Java-side...
(Also let me easily debug stuff by making the container accessable in debug)
lol
im picturing mismatched ram sockets. THE PAINNNN /s
randomly assigned IRQ's for the soundcard. UUGGHHHHHHH PAINNNNN
No.. I did actually make it bank RAM correctly for all hardware, whether its 30-pin 8 bit simms or 72 pin 32 bit ones.
notice how the pentium needs 2
but you could install those as singles in a 486
Yea
Hu I never realized there was a system where you could do singles back then. I thought it was always doubles.
The validator currently doesn't care if you bank things correctly... I'm not sure if I want to go that far, players will struggle with this as-is.. but hte random generator, no reason for me not to make it accurate
Yea
In an XT you could install 30 pin ram singles.. but no XT-class computers had SIMMs to my knowledge lol
you had soldered-onboard ram and sometimes an ISA ram expansion card
yea I remember my XT just having a huge array of dip sockets
Oh yea, the 2~8MB expanded ram card.. I had one of those.
This mod will try very hard to simulate your old XT correctly...
though I'm struggling a bit on the herucles era graphics stuff a bit right now
just an entire card of 1/4 soldered ram and then like $50 in dip sockets
full length of the case LOL
I have one of those cards in my items database
made todays video cards look short
a whole 256kb ram expansion
I had a laptop back in the day with a 256kb externam ramdrive π
I dunno man, I have a 5090. This thing is unbelievably large.
thing had 4 nicad batteries in it
Oh, and it STILL lost all data if you ever unplugged it from the laptops expansion slot, guess how I figured that out!
yeah the era before lithium ion
A Pentium with PS/2 ports! I has a 386sx with the big chonky DIN cable for teh keyboard and a serial port for the mouse.
remember having to buy batteries at the store all the damn time?
the other side of the laptop had a little expansion slot for a SUPER SUPER mini cassette player, a DMM or (what I had) a recite printer
Yep! The PS/2's all did .. ps2 things π notice it's also got MCA slots instead of ISA
I tried really hard to research my classic parts well
Nice
Now make the power supplies consumable because your running on a generator π
That's one thing I don't have. .. I did not implement power supplies and computers currently don't care about power/generators at all
"Advanced mode" in sandbox options. Requires you to choose the cylinders/sectors/heads/etc for your hard drive from a list in your bios that may or may not actually have a proper match. Then move jumper cables on your ISA cards to set IRQs and base memory addresses. Then there's a 50/50 change the floppy drive light turns on but it does not work because the cable is backwards becuase for some stupid reason floppy drive cables are not keyed
I DO want to require power but .. need to go figure all that out at some point. It's on my list heh
...or go with what you have which is still awesome and full of nostalgia and feels authentic even if it's not 100% accurate for every early 90s PC
It's not fully accurate. It is MOSTLY accurate. It's definitely going to become MORE accurate too as I fix the "million little things" too
I recall power supplies of the time being largely interchangable... it wasn't like these days where you might need an extra 1000W to run your graphics card.
Everyone knew to look for the labeled pin 1 indicator on the PCB and line it up with the side of your cable that had a tiny black line on it, duh!
One thing you DO need to do with this mod is configure your sound card properly in games
...everyone knew that after they did it wrong. π
also the cylinder/sectors/heads was printed on the hard drive, along with a list of bad sectors you had to manually enter -_-;
Port 220, IRQ 7, DMA 1 for your sound blaster. or game sounds will NOT work.
usally with space on the label for you to write down more bad sectors as you found them π
hahahaha
I rmember some bioses didn;t let you actually enter the Hard drive numbers, you just chose from a long list of options.
So if you didn't have a perfect match you just picked the closest.
remember when we got like 1gig hard drives and we had to pick completely batshit options?
Also, with this new file manager you'll be able to use QB, EDIT, old dos utilities like LS and stuff
"Yea this drive totally has 64 heads. its FINE"
because you can just click a few buttons and add any software you want
It's all abstracted by the drive anyway.
they just basically maxed out every value they could to get the stupid motherboard to index the drive space fully
@silent zealot I really wanted you to see this pic hehe
Initially no, but yea once hard drives got big enough that the values could no longer map 1:1 yea lol
The Vinyl goddess has a totally different hair color in the swimsuit title screen than in-game. I want my money back
If you think that's bad, Duke3D is in there, too.
prepares to rip off enemies head and **** down their neck
It's not duke's fault. He was all outa bubble gum.
I'm kinda thinking to add a feature letting you mount ISO images as CDs, because there's a lot of classic "So Much Shareware" type CDs on internet archive
and it should be possible to make that work
CD ROM drives did exist in 1993.. and you'll be happy to know I'm not simulating their slowness.
lol
I didn't get a cd rom drive until 52x existed -_-
and by that, I mean you couldn't find anything slower then a 52x being sold, because thats how freaken long they where out before my mom bought me one and I was stuck with floopys for a $#@(TNGDWJD DECADE AFTER CD ROMS WHERE COMMON PLACE THANKS MOM
My dad splurged and bought a 1x drive very early 90s.. it was stupidly expensive. It didn't go in a drive slot - it sat on top of the computer (with the monitor on top of it).
I would have been quite happy with like 4x around the time 16x drives where common place but I couldn't even get her to buy that for me
And no, she was not poor at all. Just too busy hosting parties for people who never showed up once after she stoped hosting them
heh, well my dad went deadbeat mode and I was left with scraps myself shortly after.
I did still manage to keep some kind of computer together, mostly thanks to a cool uncle
mom then died and I had to run the house as dad didn't wanna work.
Sadly, I ended up with a lot more cool stuff then I ever would have if my mom stayed alive.. so.. .thanks for dying I guess?
oh wow that's seriously tough to deal with especially for a teen
I do most of my modding to distract myself from an otherwise dull life
I wake up, I go to work, I come home. Every day for years
I can't even work atm due to these migraines. need to get back to knifemaking soon...
yes sir havent seen many so why not
Well there's a lot of proprietary ones used by various web-hosts.. but I haven't seen any usable by normal people
I might end up using that myself someday
Beats SSHing in and poking at things
iv seen a couple of web managers but lwk they dont do much on the server js player count etc..
or obvi your VPS control panel
looks like you can type text there? Bet you're sending it to the server as like stdin?
yes injects to console
console commands
That's really nice to have. Do you display the console's stdout somewhere too?
If you do, my mod will probably be logging lots of errors to there. haha
I can do a filter of itβ¦ I could make a mod tool too were itβs easier to see errors
I usually just play with a friend in MP. We used random web hosts for years. To be fair there are lots of decent ones that do a good job, but it's a paid service
lately he's set up a small dedicated server we've been using
yea hopefully ill compile this and it will be an easy drag / drop and edit one file and be setup on restart but still working kinks out
Access to raw console could be really handy for like "why is my server crashing" things
i could add AI
it reads crash errors and inputs a solution
Give each zomboid it's own AI backstory. Make them walk around saying "As an AI, I do not have feelings and seek brains."
i wanna add that to be able to control spawn rate etc and where they are
An in game mod that communicates to the server for admins would be how I'd handle something like that
I have the adapter that makes it a ps/2 cuz I got an IBM Model M from 1984? still sitting next to me
its my PDW keyboard has a 1/8th iron or steel plate in the back of it weighs in about 15-20lbs 21" wide
yes it is! lol
...make the keyboard a long blunt weapon with crowbar level durability.
and the plastic back then was hard as the metal too plus thicker even
The cast iron pans of the IT world. Solid, reliable, indestructible.
it still works but some the keys sticking now cuz the guides worn out too much think it was the S and A D keys plus omg nothing beat that keyclick they did
like you had to intentionally click a key lol
I've got a clicky mechanical keyboard, it's great.
But those buckling springs
so nice
I had a green clicker razor but I snaped/folded it in half
https://www.modelfkeyboards.com/store/ nice to see buckling springs are back, but that's a bit higher in price thatn I'm willing to spend on a keyboard.
I have my own version of this exact thing deployed to my server, lets me very easily change mods and edit configs, super cool
I have an idea for a mod - log carts, will be similar and inspired from ZuperCart just specific carts for logs(more realistic from 50% wood weight mod, and allows to carry up to 10-20 logs), that would be obtainable in construction/farms/maybe spawned in your home if you picked lumberjack, and probably also a "handmade" craftable version with a DIY looking like model.
I couldn't find any mod like that in the workshop, does anyone know if there is such a thing?
From a technical viewpoint, that's just Zupercarts with a restriction on what can be placed in the cart.
You could make an add-on for Zupercarts that adds a log cart.
I'd ask iBrRus to confirm they are OK with it, but mod authors are usually fine with that sort of thing - you're not copying any code/models/etc, you're making a mod that requires zupercarts to be installed.
lemme see
maybe ill fork it and make it a little better (with credit obviously)
are vehicle mods hard to do if one has... zero experience with blender etc?
Is there a way for me to position the character at vehicle Reardoor?
Yeah - sort off. I did want it to be more as a remote controlled entitiy, and not a placeholder that is inside the characaters inventory, but i assume that would be much more troublesome to code.
I'll might do it as an addon for zuper, but i think i'll try to build something of my own before that. Thanks for the idea
Any simple way to open two instances of zomboid to test my mod under multiplayer with 2 players?
launch with -nosteam and you can connect with as many instances as you want
Hm.. then I just need to figure out how to launch twice (second launch just focuses the original). And I'm on CachyOS so it'll be different to figure out for me
its not on gh but i can push it up
its heavily built around LinuxGSM (which I also forked)
idc about the UI at all, i just aint editing any config files manually anymore π
but yea put it on gh or send me it ill redo the UI and keep you as creator and js add me as a credit?
Sure thing π ill msg-reply u when its up, probably over the weekend
blam
bettt bet ya make it pretty hahah im ass at frontend
and those emojis NEED TO be replaced by icons
i appreciate your eye for aesthetics
and ill add a support section you got a discord for support of this?
Nope this is something i just cobbled together one weekend after getting tired of editing the config on my linux server
i know its helpful for me, but didnt know if folks would really use it, alot of ppl seem to go with the managed server route, which isnt really my thing
the main caveat is its heavily integrated w https://linuxgsm.com/servers/pzserver/
I dont have the game on my main PC so ill js be editing the frontend as I can't really "test" things out
no worries
but made this for my discord bot
damn yeah i see you that looks awesome
american truck sim
Hello, is there a mod or something I can mess with in solo sandbox to make a broken leg last longer? I wanted to do a fun challenge but my fullly broken right leg healed too quick. I was using debug menu to set my health.
Idk much about modding but any starting point would help.
My only thought to this is a toggleable script that just keeps my leg broken? Any ideas welcome
writing a lua code for that wouldn't be too hard to do, or increasing the healing time in code would also work. I found this mod on steam workshop, unsure if it works though https://steamcommunity.com/sharedfiles/filedetails/?id=3652559575 but it could be a good place to start 
Thank you! I'll check it out
Got it working.
Duct Tape will still roll from the normal table (17 possibilities) but Duck Tape will always be the same texture/material as the input.
Meaning cotton/denim/leather tape will always result in the same cotton/denim/leather binding on the weapon
I may add in a material recovery recipe, to allow you to reclaim some tape.
This would also work as the recipe that allows you to remove certain parts like the stock/grip/front.
I do plan to add in more than one way to bind these parts without tape.
Such as bolting them on using scrap metal.
Look into BodyPart:getFractureTime() and setFractureTime()
You can use the same trick I've used a few times for slowingg down something in Zomboid: Use an event like everytenminutes to check the value to see how much it has changed, work out what the change would be if it was X% smaller, set the value and store the current value for the next comparison.
There's also setSplintFactor() which multiples healing time; 1.0 = normal, higher = faster, lower = slower. (splinting your leg with zero medical makes it take twice as long to heal!) and I don't see anything that stops it from being negative and making the fracture worse over time, if you really want to be sadistic.
...or if you want to make a Boneitis mod.
Less pink cotton strips
Thank you! This is great info!!
I feel that is going to explode on use. perfect for a home-made weapon!
I don't see why a steel/iron pipe would explode from a simple rifle round π
especially as oversized as it is, a rifle barrel does not need to be as thick as this
If anything I feel like too much gas would dissipate in the air when firing to properly propel the round
this is partially solved via the gas cap you weld on, but the model is not accurate to what the gun would need to look like irl
Though I am planning to make a shotgun variant, so that sounds more believable
Volley gun?
Sorry ik you were making a joke but I'm just genuinely too autistic to not go "Uhm ackshually βοΈπ€"
I was actually thinking the pieces would seperate, not the barrel explode... but you're right, it would be very easy (with access to modern stuff) to make a barrel that does not explode.
I don't have custom ammos planned atm but a future implementation could involve forms of ammunition other than modern casings
I was thinking of an an improvised single shot cannon that kills everything in a cone, but reloads via a recipe (gunpowder and scrap metal)
like a percussion gun
closest I've got is making it so you can load buckshot into the pipe rifle
I've got "kill all zombies in a cone" code sitting around somewhere, I just never went further than that - if you want to use it let me know and I'll dig it up.
Since the game will crash if you put more than 9 projectiles into a single shotgun shell.
This variant will lock it out of having the gas cap attachment, which also means it's locked out of bayonet attachments
Can still attach an Axe/Chopper though, as they don't require the bayonet lug
they attach directly onto the barrel
.... its faster to leave it unsplinted?!?
Well duh, of course it is, im not sadistic enough to jump through a broken window 50 times
Unless zero skill is numerically 1 in lua
you do also have to somehow get a fracture for this to be a problem
Yeah, usually a fracture comes with a lot of other problems lol
I have broken ribs in a car crash though - that sucked. Can't splint them.
Yea I just disabled fractures after the only 2 I have ever gotten in my entire zomboid playtime has been dumb bullshit of: Trying to build a roof, only for the game to pathfind me right off the roof when trying to place another tile, and vaulting over the side of stairs.
does the splint factor actually slow it down for sure or does it not heal at all without a splint? most other injuries just don't really progress until you deal with them
Actually the worst was when I tried a mod that makes you immortal, but the "you would have died" effects is to kill all the zombies around you and injure every one of your body locations.
fractured skull. broken ribs. broken arms, broken legs.
I want to say walking/jogging/etc made an injured leg worse but Iv not looked at the code to check -_-;
hahah. Id rather have died.
My thoughts exactly lol
2 broken legs is what, 10% walking speed?
Immortality is a Curse: Zomboid Edition
You are now the immortal snail!
It wasn't that bad, but it was bad. My car was not far, I drove home, I forced myself to recover and never visited the art gallery again.
It was a "nothing coming down the staiars even though I'm standing here yelling... I'll quickly see if there are... well that was a lot of zombies standing at the top of the stairs waiting for me" situation
This was when killing a zombie with a gun made them freeze in midair, so I created a sculpture at the entrance.
Well I do have plans for tracking minor and critical breaks.
I plan for when a minor break happens that it will read the gunβs part list and damage a non vital part based off of a formula that will involve both RNG, the partβs material and the partβs grading.
Weaker materials with a low grade will have a higher chance of rolling durability damage than a part with strong materials and a high grading.
A minor break will not inherently impede the gun being able to shoot.
Critical breaks will be tracked separately, they will have the same rolling logic, but a full break will cause the gun to become inoperable until the specific part is swapped or repaired
Nice, hopefully also affects attachments?
its kinda lame that you get 1 silencer/scope/whatever and your set for life
Also so... My summer gun? π
yup yup, sights and stuff will have a relatively low chance of damage though, as they're not in much of the way of the gun's kinetics, unlike something like the grips/stock
Yea, Im not too hung up on scopes breaking, but silencers should be commonish AND break.
that'd make them a resource you have to decide if you wanna use
big ass hoard time? take the silencer off!
1 random sprinter? Oh silence time baby.
Grips/Stocks will be taking direct push back from pushing against the player while firing, and have much more reason for them to take damage compared to a sight that has no pushback during recoil
I feel scopes would take some damage from the recoil (their own mass is the reaction force)
Especially because for a scope, being off 0.1 degrees or a lens getting loose is basically destroyed.
or a lens cracking due to getting loose and shaking against the frame
I mean yeah, I just meant comparatively when against stuff like how much force gets pushed into the stock
Idk how complex it will get, I don't want it to be tedious
Yea, but a stock is also a solid block of material and you could easily use it as a club with little damage, a scope can be damaged from a light impact
and presumably, while using a gun, your handling it, and maybe even dropping it (Ok not really shown ingame but you get the idea)
I want the focus to be on customizability and aesthetic. and a feeling of attachment to a gun you've spent a long time customizing and upgrading
Yea
The durability rolling is just part of this, as it requires you to actually maintain the gun and its parts
and causes you to choose what gun parts are more important
Yea
I just kinda want a reason to keep collecting stuff π
1 scope? No I want 10
why? I dunno.. give me a reason!
Not all parts will inherently be repairable (without an addon mod)
PZ repair system makes repairs less effective over time anyway, so even repairable things are not forever.
Like the synthetic stocks/grips won't have a way to repair them without an addon that adds in craftable plastic/polymer
Epoxy+fiberglass tape? π
hmm, yeah that would make sense actually
though idk if you would want to touch fiberglass tape on your shoulder while shooting
or hand grip
Nah, the fiberglass tape gets soaked in epoxy
like you put it on, then slather epoxy over it, and can even sand it down smooth again
I suppose
Its basically just glass reinforcement for the plastic that epoxy becomes as it cures
Is there a bow mod for b42? If not then what language is pz coded in so I can craft up a masterpiece
The epoxy provides compressive strength, the fiberglass provides tension strength.
I plan to expand on this in a smithing mod.
I like the idea that you can do permanent repairs/refurbish items with special methods.
These recipes would be an expensive and time consuming, but would reset an item's repair count.
Nice.
PS: feel free to steal summer cars repair system!
idk anything about MSC
what I do, is generate faults based on an items condition (for every 20% below 110%, (ie starts at 90%) a fault is generated)
each fault has its own repair recipes
I don't play with cars in my playthroughs π
they might be as simple as 'brush with toothbrush and gasoline'
people think I'm crazy for that
or be something like a dent.. 'You can weld it, or hit it with a hammer.. but the hammer is much less likely to succeed'
this makes each damage part unique
two 90% parts will have different faults and require different repairs
you might see a badly broken scope and go "OHHH but this one has EASY repairs, SCORE!!!"
I was considering having the breaks be specifical "faults"
Like yeah the barrel failed and broke, what part of it broke specifically?
Or you might have a really good scope thats like "NOOOOOOO IT FAILED HORRIBLY I CAN"T FIX THIS WITHOUT GLASSSMITHING"
This would allow more complex repair systems without adding in extra parts
I am still unsure about this system though
there's no repair system in the mod currently, not even a way to take parts off the gun
once you tape a stock/grip on, it's permanent
This will be changed in the future, but I've been focused on a lot of other aspects of the mod
One thing I kinda hate, is 'god tier' materials that you never wanna use because they are so rare and valuable.
How's it work ?
Also I wouldn't mind bouncing around some ideas for content on the mod.
I've been producing this entirely solo dev
thats why I made my repair system generate different faults, so that the best repair would often be more mundane materials
I've had help with code snippets, but majority of it has been hand crafted
... Like I described directly above
I think there are instances where it makes sense to have as an option though
doesn't need to inherently be much better than the alternatives, but having it as an option encourages choice freedom
I meant code wise
Sure, but when its like "This material fixes every weapon in existence, the most it could be (so other repairs are a bad idea due to repair counter)" I couldn't bring myself to use it except on the best possible weapons
oh, its all modData and custom right click action menus
I made a table structure that describes 'repair recipes' and what skill/difficulty they had
I want to learn how to make a 3d UI where you can inspect the gun, and its parts
and possible faults
and then another table of 'faults' where each fault could link to multiple repair recipes
and then I used tags on parts to indicate to the repair system what kind of faults could be generated.
Kind of like this framework.
But I have no idea how to make interactive UI
like, I used an 'electronics' tag to indicate if it could generate electrical faults that needed wires, electrical parts, etc.
I had another tag for if it contained bearings that could fail (Needing replacement bearings or to try and clean the existing ones)
PS: I also made it so the repair counter only increases if you fail the repair.
So skilled people would be able to repair things much more without 'damaging' it
(But I think I also capped success at like 95% or something)
I use a weird skill scaling system where the 'required level' of skill is for 80% success (scaling from like 10% at 0 skill IIRC?), and then above the 'required level' it scales from 80% to 95% at level 10
this still gives you 'something' at higher levels than required
and still keeps some random chance of failure
I'll keep a lot of this in mind, but I don't think the repair system will be implemented for awhile
I think it will be considered a milestone update, like how implementing the gun melees were
yea it took a lot of people nagging at me before I finally did my repair system because I didn't wanna follow the PZ system π
And then more to get it working in MP -_-;
It's not a high priority when you can just craft a new gun from new parts
I need to make a roadmap or something
Yea, I was like "there are sooooo many cars.. just grab parts from those!"
My issue is I don't want to implement a repair system until I implement part grading, and I don't want to implement part grading until I implement alloys, and I don't want to implement alloy parts until I make my smithing mod, and I don't want to make my smithing mod until I've worked out the basic foundation of the gun crafting and worked out major bugs
oh yeah I haven't even brought up that I plan to make metal alloys that take into account real material %s determined by the player which will affect weapon stats
which will be used for armour, melees, and gun parts
lol.
The scope of what I have mentally planned is huge, but as a solo dev it's very slow and meticulous.
I've spent a lot of time going back and changing old systems to be better suited for future features
I know the mod doesn't get much attention currently, but I hope that as it progresses it will gain more traction
I could easily use my skills to pump out simpler mods that would likely get more attention, people love guns and melee weapons.
But I want more than to just make generic mods.
beware the mod dev pipeline π
I've been working on this mod for over a year now and it looks significantly different than where I started.
I do think it's turning out well though, and hope to continue making quality progress.
hell yeah! it's awesome to see how projects will evolve over time
Not to say generic guns n' melee are bad.
I just want to be recognized for my system design, and unique functionalities.
As I feel like my concepts/ideas while maybe not unique, have not been as thoroughly implemented as what I am doing.
Complex way of me saying, I want to make a group of mods that haven't been fully realized like this before
i don't think modding for popularity really works out anyway
just make what you want to make
recognition generally comes where there's quality
the passion for the things you want to work on will carry you there
For example, there are definitely bayonet mods.
But have any of them been designed in a way that you could make it fully compatible with any gun mod with just a few tag edits?
Or one where the weapon attachment can function as multiple different melee types?
Effectively turning your rifle into a utility driven multi-tool that can be useful in melee even without one specific melee skill since each "stance" uses a different one?
That's what I hope for at least.
I am mostly making this out of genuine interest in the concept, but I can't lie and say I don't also hope people grow to admire my work.
That's actually why I have 0 progress toward the custom UI idea, because I don't want to look too much into other people's code.
I want to be reocognized for my own work and accomplishments, not just a stitched together mod of several other people's efforts
of course, very few people have a truly 'pure' interest, i definitely want my mods to get big numbers too
yeah i feel the same way, i don't like to look into other people's mods too much or i'll feel like i just copied their work
I still need to add credit to the mod page for @buoyant violet
he has helped me out a decent bit, and has provided some code snippets for specific functions
he's credited in the actual code files, but I meant to do the same on the page
I will try to remember when I next update SMW
Off the top of my head, he helped with
Firing cycle animation,
Hotbar inheriting
doesn't seem like much, but I could not for the life of me figure out how to inherit hotbar slot on a new item
"Gun overhaul mod! DO NOT USE WITH ANY OTHER GUN MODS OR I WILL COME TO YOUR HOUSE AND REFORMAT YOUR PC" - every gun overhaul mod
haha yeah.
I am trying to avoid touching vanilla weapons until I make a proper addon
I want the base mod to be compatible with all gun mods, but I can certainly make a vanilla conversion addon
Honestly gun mods on PZ could use some kinda 'gun mod library' of silencers, different size magazines, and all the oddball ammo types that gun mods like to add.
problem is, who decides what items are used where and how
Or at the very least, agree on full type names for those so they properly override each other and you don't end up with like multiple of the same ammo type
I do think that a vanilla conversion addon would be great for SMW in the future, but that is very very very low on my priority list
It would probably be the most effort thing I could do after the mod's foundation is laid out
I genuinely think implementing alloys would take less time
And alloys would require like,,,,, % material tracking and a bunch of calculations for stats.
So that should say something about what I think would be needed for a vanilla conversion
I would need to take every single vanilla gun, and essentially remake the models to be compatible with fire cycling, real time mag display, part swaps, quality grades, cosmetic variants....
and every gun part would need its own stats
as my pipe rifle is designed to have no stats without gun parts attached
it's entirely part dependant
Some alloy tips from my game Brutal Nature: Iron<Bronze (Needs hard to find tin+easy to find copper)<Steel(Needs high end furnace)<Tool Steel (Needs molybdenum)<High speed Steel (Needs tungsten)
like 100% of the gun's model, damage, firing speed, action, ammo count, mag type, is all determined in real time
Not that you'd make a gun outta HSS... but you could! π
so I would need to do that individually for every single vanilla gun
(and HSS makes great tools in general)
I once heated up a HSS planer blade to red hot, supported it on either end (6" x 1" x 1/4" blade)
and hit it with my biggest hammer. what do you think happened?
Definitely not being made any time soon.
I dread having to add in a single new gun to the mod, let alone 22 vanilla ones
yes the toy guns are included in that list, as you could theoretically use parts from them to make a functional gun
I dented my hammer π
hah
Dispite the HSS being literally red hot, it didn't bend at all. It didn't even get a scratch
Also metal alloys means more complex tool options for gun smithing
currently I have it set to use specifically a ballpeen hammer
but I plan to go further than just that
it will need to be a BRASS ballpeen hammer, otherwise there will be a chance to damage the gun part(s)
but that can't be implemented until I make my smithing mod
Hehe.
so normal ballpeen is what it is
Yea, I just went with higher alloy tools counted as 'more'
Sucks because I do think a vanilla conversion would elevate the mod significantly, but it's just not reasonable in this current stage of development
I had a weird system in Brutal Nature where basically, a recipe required a number of 'tools' and returned less than it used
Like, you'd require 10 files to make this, and it would return 8
the number of 'files' you had was basically a 'tech level'
that sounds absurd ngl bro
(there was also hammers, chisels, etc)
So you'd make more tools to get 'higher tech' and then spend your tools (and hence tech level) to make things
the idea was to simulat that the fact IRL, you don't just buy a hammer and call it good.. You get a 4PC set of ball peens of different sizes.. then you get a cross peen. then you get a mini sledge.. and a deadblow.. and a rubber mallot.. and so forth.
I would also need to work really hard to balance this
You can do a lot with just 'one' hammer, but realistically you eventually need all sorts of different hammers
same with files, chisels, etc.
Since each part has its own stat values, you could theoretically minmax beyond vanilla guns if you had the right parts
Which is fine, but I think it would be hard to balance
Currently the pipe rifle with best in slot parts will just slightly be outperformed by the vanilla M16
so you can imagine being able to take parts from the m16 and slap them on the pipe rifle, might be a bit problematic balance wise
Yea
Doesn't make a huge amount of sense for a garage gun to perform so closely to a machined military grade rifle, but ehhhhhhh
I don't want them to be so ass that you would never invest time into crafting one
which is why I think the repair update will be so important
as there will be a lot more to manage compared to a basic gun, in exchange for above average performance
Idk how balanced the gun is currently, I've been focused on foundation as I've said multiple times now xd
stats can be changed any time with little to no repercussions
Speaking of repercussions from stat changes, that will also be a balancing issue in the future
Because I plan for there to be multiple gun cores, each with parts that can be swapped through a handful of compatible guns.
Not all parts will be interchangeable, but some will.
I forsee this being a possible balancing issue, as changing the stats of these parts will not simply affect the balance of a single gun, but instead the balance of every gun it can be attached to.
For example
a buff to a part to try to elevate the pipe rifle, could accidentally overbuff an smg that was overlooked and make it meta
I don't want to shirk away from this design though, as the mod's entire premise rides on modularity.
It's Salty's Modular Weapons, not Salty's Static Weapons
Will just have to be mindful when doing stat balancing
I spend so much time theorycrafting my mods...... no wonder this has taken a year to get to this point lmao
Also I chose "Weapons" very specifically, as I plan to also make modular melee weapons !
I'm a little surprised the vanilla spears don't use the weaponPart system, given how it fully works with melee weapons
What this means for development:
Diverse melee weapons/tools
Procedurally generated stats and models for melees.
Dynamic weapon assembly, more than just a head and shaft.
You could make an
Aluminum headed mace, with copper rivets, a bone shaft, and a wood pommel
Different materials being better for different parts
Or if you only have carving skill, a wood headed mace, with wood nails, and wood pommel
Fancy wood club
I foresee the implementation of dynamic melee weapons to be easier than it has been for guns, so I haven't bothered messing with them yet
I feel like I remember seeing something about being able to have floating point outputs in recipes?
The example showed a recipe outputting [1.7] m9s or something of the sort ?
I can't find the original message(s)
@silent zealot I think you might have been involved ?
as in, a floating point number of items?
yeah the output of the recipe that was shown in an image had 1.7 of an m9
I can't remember anything related to it though
I mean CraftRecipe output is an array of OutputScipt, and OuputScript.amount is... a float
I remember it had something to do with the amount of items used in the input of the recipe
where the output was based off how much the input total was
I assume it's so you could output 1.7 litres of coffee or something
I would assume so yeah, but it was being used for an item, not a fluid
I'm trying to find the original conversation but can't remember enough to use the search function
it really bothers me because this niche recipe functionality could be useful for some ideas I have
This si what I got when searching... not exactly helpful π
try it out and see?
I would not be suprised if in reality getAmountInt() is used, or the float is converted to an imt.
At least when it's a inventory object
This is aching my brain so much because the important part of the recipe I am interested in is the fact that the player could change how much was being inputted
which would directly affect the amount outputted
but I can't remember who sent the recipe screenshot
Having the ability for a player to select how much an input is being put in a recipe to affect the output sounds like a very niche but valuable functionality that I wish to rediscover but I can't find it anywhere
Fun code quirk of the day: A character wearing combat boots isn't just cooler looking than a character wearing sandals and a fanny pack, he runs faster.
Feel like im going insane cuz i canβt find anything related to players determining input value
Maybe i made it up in a dream
what... no.
idk if you mean exactly system to implement that black but, thats exactly 3 features that are on the framework 
Nice
my AR15 family takes like 15 mags and they can be loaded with mix of ammos
imma record a video
its time to do some marketing
marz gonna deliver us with the next big firearms mod
while I do have a weapon mods in the making
I mainly want to provide a framework for other authors to use
its kinda to create a little bit of a compatibility layer
and also so other authors that may not have the coding skills can have a set of tools to implement cool things
i think your vfe fork and firearms are the only working packs without a bunch of bugs in them rn
sounds like itll really help get some more published would be great to have
VFE is a mess because its a port haha
but my own firearmas mod will really have creative freedom for me to implement cool things
Yea its kinda silly everyone is remaking the same ammo types over and over, and generic silencers that only fit their modded guns (that likely all have different, conflicting code between em)
(I feel like silencers are more ammo size specific and less gun specific)
one example hee
mix ammo inside of the magazine
cue look at the tracers and the subsonics are manually rack to extract
i think its probably going to be niche and might not see too much use but thats still really cool and should definitely be implemented
I came to the conclusion tha the average user just wants tons of content or weapon without much consideration on this details
but still its more of a project for Myself than what the users want
is this with raf?
looks insane there
im assuming without using the ammo loader itll either auto reload with whatever you have the most of, or what you set to as preference, or what would most commonly be used?
so for auto reloads it defaults to the standard ammo
of the weapon
one last thing is, modifyin stats on the fly on weapons. Ammo does it, also example here the stock look at the console im doing an example of changing reload time, when folded is lower when deployed is another
i think the ammo box on the m60 could probably get slightly more work done to it
no more changing to a whole new weapon for something like this
I have not finish the models, specially all magazines
this would be nice to have i know of another mod that attempted to do this but i think iirc had a bunch of bugs and compat issues
VFE does it
but I dont want to rework the whole system for a mod that is not mine
(will be gone when the official releases)
This can cause desync tho ?
