#mod_development

1 messages · Page 288 of 1

storm patio
#

I was just looking for a way to require player to stand near sandtile, so looked around for a reference

mellow frigate
#

To avoid vehicles being stuck under ground, I set changed Wheel radius from 0.15 to 0.16. There may be better solutions. I have not tested enough to ensure this is the way.

undone elbow
#

How to check that fluids are incompatible? Is there a comparison sheet somewhere?
There is no info about it on the wiki.

e.g. gasoline is incompatible with water, and they can't be mixed.

crystal canyon
#

In that same file (ISEntityUI.lua) theres also

local obj = ISEntityUI.FindCraftSurface(_player, 1);
if obj then
    -- Use the crafting surface
end
#

whats the tile name for sand? @storm patio

storm patio
# crystal canyon whats the tile name for sand? <@398055252894416896>

1 min, looking at this atm
function ISEntityUI.FindCraftSurface(_player, _radius)
if not _player then return; end

local sx = _player:getX();
local sy = _player:getY();
local sz = _player:getZ();

local done = {};

for r=0,_radius do
    for x=sx-r,sx+r do
        for y=sy-r,sy+r do
            local square = getCell():getGridSquare(x, y, sz);

            -- added check to ensure that the player can properly access the sqaure in question (ie not in another room; behind a fence; etc)
            if square and _player:getSquare():canReachTo(square) and not done[square] then
                local objects = square:getObjects();
                if objects:size()>1 then
                    for i=1,objects:size()-1 do
                        local obj = objects:get(i);
                        -- note that using this specific function is technically redundant, in that it also checks square canReachTo square, but for the sake of consistency still using it
                        if _player:canUseAsGenericCraftingSurface(obj) then return obj end

-- if obj:isGenericCraftingSurface() then return obj end
end
end
done[square] = true;
end
end
end
end

return nil;

end

crystal canyon
#

i was just editing that hahaha

#

to try and make it find sand tile

storm patio
#

There's actually EntityScriptName = SandFloor

#

and tile name blends_natural_01_5

#

and 01_6

#

01_0

#

Yeah corners

crystal canyon
#

try adding
component CraftBench
{
Recipes = SandCraft,
}

to that sand entity and create a test recipe with the tag SandCraft

#

still need to tie that to a tag

storm patio
#

Thanks, I'll check it tomorrow actually. Legit overcomplicating simple ass recipe for crafting sacks of sand without murdering world tiles

crystal canyon
#

why not just modify the function that crafts the sand bag?

hollow ore
#

How can I make a custom UI for the mechanic panel of my vehicle

uneven shard
#

why it is doesn't appear in game, i'm maked everything right, help please

undone elbow
#

Well, bleach can't be mixed with bleach.

#

You can pour any amount (e.g. 10 mL) of bleach into empty bottle but you can't add more because bleach incompatible with bleach, lol.

See the zeros in the main diagonal in the table.

vivid imp
#

Would it be possible to be able to create our own 'zone', like how you can designate an animal zone?

#

It would be kind of cool to create a Storage Zone which would take into account all storage tiles so you could dump all your materials into that without needing to sort

wild canopy
#

i'm having trouble updating my mod. i go through the ingame uploader, it says it's updated, i go to my mod page, i get the 'this item is awaiting analysis...' message, then that goes away and the last updated date stays the same

elfin cradle
#

After doing a bunch of testing what feels like a comfortable weight carry/reduction ratio and brainstorming just exactly HOW I'm planning to pull this off, this is what I have so far 3D Modeling-wise. Aside from that, trying to figure out everything I need has been a pain in the butt without a proper script library. Reminds me of my days scripting in Second Life or tweaking Minecraft plugins where I'd learn by cannibalizing other people's scripts.

#

I think I'll probably use the holding umbrella animation for when the bodybag is being held by the player in both hands... if I can figure out exactly how to call for it that is.

vivid imp
#

Are you trying to make it so that you can put corpses in a bodybag?

#

Wouldnt it just be making a bodybag clothing item and forcing the corpse to wear it?

#

It would also be funny for the player to wear it too lol

undone elbow
wild canopy
winter bolt
#

make the bodybag an item that adds the right click option which equips a hidden bodybag clothing item to the body

vivid imp
#

I suppose a crafting recipe for bodybags could also be garbage bags and rags, which gives those items another use

wild canopy
#

oh i'm a bellend. i was updating the files in %userprofile%\zomboid\mods, not \workshop. dick.

vivid imp
#

I did that at first too haha\

wild canopy
#

i'd unsubbed, deleted from \mods and it was still showing in the list of mods. i was going mad then remembered there's two bloody folders

#

also explains why console.txt was showing the wrong errors

winter bolt
wild canopy
#

that's better; now it updated correctly 🙂

vast pier
#

is there an easy way to add items to usable tool lists?

#

like if I wanted to add something to be used in place of a knife, hammer, or saw?

elfin cradle
ornate sand
vivid imp
#

Corpses already are containers tho

elfin cradle
#

But they cannot be loaded into cars in B42, nor can they be fully picked up- only dragged (painfully slowly may I add)

ornate sand
#

And of course my amazing sawback machete. Yes that's right, sawback machete. It can saw wood, whooooa.

mortal sky
ornate sand
mortal sky
#

I already launched it like this

vast pier
ornate sand
vast pier
#

Like if I wanted to add a tag to a vanilla item, the only way I can think of involves replacing the item

ornate sand
#

Oh right, yeah probably

bronze yoke
#

unfortunately you can't right now, it will be addressed later

vast pier
#

ah, same goes with any sort of modifying of a vanilla item?

bronze yoke
#

no, pretty much anything else is possible

#

we used to add tags through lua and you can still do that but the recipe system caches all items with each tag before lua even runs, and we don't have a way to update that cache

vast pier
#

Oh, how could I go about changing the fluid value of items without replacing them?

#

my fluid containers mod currently just replaces items but I would like to make it just target the storage max instead

#

for compatibility

ornate sand
#
local item = ScriptManager.instance:getItem("BucketEmpty")
if item then
    item:DoParam("capacity = 50")
end
#

Would that work?

bronze yoke
#

i haven't seen it used with components since they're new, but ideally if it works like everything else does, something like this should work:```lua
local item = ScriptManager.instance:getItem("Module.Item")
if item then
item:Load(item:getName(), [[{
component FluidContainer {
Capacity = 50,
}
}]])
end

#

the simpler DoParam unfortunately wouldn't work here since it's a parameter of the FluidContainer component and not the item tiself

undone elbow
#

How to target a custom fluid from Lua?

bronze yoke
#

most methods will have the option to pass its type as a string rather than the FluidType enum

mossy crypt
#

what would be the best way for me to verify that a Moveable item definition I've created in a script is actually loading

#

I'm attempting to set the CustomItem property on an existing worldsprite but it's changing it to a TV and not my custom Moveable definition

#

worried it might not be loading the script

vast pier
bronze yoke
#

all you'd need to change is the item reference in Module.Item and the number at the end of Capacity = 50, - Module.Item should be the full type of the item (so an item originally declared in the script as module Base { item Bottle { ... } } would be referenced as Base.Bottle)

#

i *think* all vanilla items are in module Base now, they weren't in b41 though

vast pier
#

And what would I need to do if an item I want to have a fluid capacity, isn't a fluid storage in vanilla?

#

ladles for example

random finch
#

Does B42 expose anymore methods for changing the cursor texture dynamically? In B41, it seems impossible.

I know people have been overriding the default cursor texture by dropping a png with the same name/dimensions, but I want the ability to change the cursor conditionally.

undone elbow
#

the simplest way is to redefine the item, but it's not neat

bronze yoke
#

this code basically just loads a string as an item script, on top of what's already there from the actual script

solar violet
#

hello everyone im trying to make a vehicle mod and followed the instructions online but idk if its out of date or what im doing wrong ive tried looking through the games files to help and im just getting more confused

random finch
# random finch Does B42 expose anymore methods for changing the cursor texture dynamically? In ...

Bruh, why can't we change the cursor...

--setNativeCursor not exposed
function PlayerConstructionZone.crossHair:changeCursor()
    local fileLocal = "cursor_proto.png"
    local defaultCursor = Mouse.loadCursor(fileLocal)    
    Mouse.setNativeCursor(defaultCursor)    
end

--defaultCursor not exposed
function PlayerConstructionZone.crossHair:changeCursor()
    local fileLocal = "cursor_proto.png"    
    Mouse.defaultCursor = Mouse.loadCursor(fileLocal)
    Mouse.initCustomCursor()    
end

--mouseCursorTexture not exposed
function PlayerConstructionZone.crossHair:changeCursor()
    local fileLocal = "media/ui/cursor_proto.png"    
    local cursorTexture = getTexture(fileLocal)
    if cursorTexture:isReady() then
        Mouse.mouseCursorTexture = cursorTexture
    end    
end

Events.OnGameStart.Add(function()
    PlayerConstructionZone.crossHair:changeCursor()
end)
hollow ore
bright fog
random finch
#

Where is the best place to suggest API changes? Forum?

bronze yoke
vast pier
# bronze yoke you could probably add a FluidContainer entirely by just filling out the``` comp...

so like

local Ladle = ScriptManager.instance:getItem("Base.Ladle")
if Ladle then
    Ladle:Load(Ladle:getName(), [[{
        FillFromDispenserSound = GetWaterFromDispenserMetalMedium,
        FillFromLakeSound = GetWaterFromLakeSmall,
        FillFromTapSound = GetWaterFromTapMetalMedium,
        FillFromToiletSound = GetWaterFromToilet,
        IsCookable = true,
        Tags = Cookable;HasMetal;SmeltableIronSmall,

        component FluidContainer
        {
            ContainerName   = Ladle,
            RainFactor    = 0.8,
            capacity        = 0.3,
            CustomDrinkSound = DrinkingFromMug,
        }
    }]])
end
#

?

random finch
#

Did we get the ability to get remote zombie IDs in B42 yet? Better yet, I hope they change how zeds sync.

mellow frigate
#

there is no MP yet, so no remote zombie IDs.

bright fog
#

Tho it's more performant because it does a single check to allow every onlineID which is checked to use the same iterated list

#

Tho the problem is that this mod doesn't allow access of the zombie server side

#

And like Tcherno said, there aren't even online functionalities in the game rn

#

So impossible to know if it'll be a similar system, if it'll be vanilla etc

#

There's going to be improved zombie syncing, that's for sure, but will allow modders to better sync zombies, I sure hope so

fleet bridge
#

Doggy you said you solved the health sync issues by syncing zombies via commands right?

bright fog
#

lol

#

Sadly the fix I tried didn't work

#

I'm not sure if it's because I wasn't properly finding the zombie server side with the onlineID, or if setting health server side actually doesn't do jackshit

fleet bridge
#

Hrm

#

Did the zombs just turn into wigglers when you attacked them or what

sly monolith
#

can someone tell me what does that tag refer to "IgnoreZombieDensity"

crystal canyon
#

that's for distributions. You know how rolls for drops are affected by how many zombies there are?

winter bolt
#

oh thats what that is 💀

crystal canyon
winter bolt
#

some items have that tag as well

sly monolith
#

yea i see that on items all the time and was wondering, idk how distributions work tho

crystal canyon
#

I haven't found anything in the java or lua directly referencing the tag so this is just my assumption. If you notice, It is mainly used on "junk" items

#

I think it is so junk items spawn normally and arent affected by the chances of loot other items are affected by when large hordes of zombies are present

#

most "story" items also have this tag, so they still appear in-world on buildings

silent zealot
#

Makes sense - you don't want zero loot when there are no zombies around, and you don't want a warehouse in a high-zombie area to fill up with junk.

wet sandal
#

this took me 3 days

#

i hate textures

silent zealot
#

Well done matching the game style

wet sandal
#

Those are the game assets, its rotated rendering of the new fluid and color masks

silent zealot
#

If I want to trigger an event and do something involving the player whenever they load into the game, what is the best event to attach to? OnLoad()?

bronze yoke
#

generally OnCreatePlayer

silent zealot
#

perfect

wet sandal
#

That way you can support split screen too

silent zealot
#

I got distracted when working on the Put Anything Into Anything mod and now I'm making a button on the dashboard to toggle Speed Demon on/off.

silent zealot
#

It's definitely not balanced.

#

But not every mod needs to be. Sometime I just want to be able to reverse park in peace without sacrificing my ability to tow trailers.

#

Hmmm... if I made it a more expensive trait "Expert Driver" how many points do you think that would be worth?

silent zealot
wet sandal
#

Yea, thats a screenshot of the next update in action

atomic hare
#

Is there any mod that allows the building of storage only for logs, twigs, tree branches and the like that fit tons of it? B42 is really needing one with the tons of tree branches you end with if you use logs to build a wall

silent zealot
#

For containers you carry there is an AcceptItemFunction paramters that is just a function(item) that return true if the item can go inside.

#

Not sure if world items have the same capability, I've never looked at how they are defined

#

And a "log only backpack" probably isn't what you're after here!

bronze yoke
#

i don't think object containers have anything like that

silent zealot
#

You could do it by modifying the code for transfering objects with a prefix patch (if dstcontainer ==logstorage then <my code> otherwise <call OG function>) but be warned yo have to update a lot of places:

#

ISTransferAction
ISInventoryTransferAction
ISInventoryPane
ISInventoryPane:canPutIn()
ISInventoryPane:onMouseUp(x, y)
ISInventoryPaneContextMenu
ISInventoryPaneContextMenu.hasRoomForAny
ISInventoryPage

wet sandal
#

B42 driving me crazy with the new hardcoded container capacity limits

silent zealot
#

There's another place for "I unequiped an item and now have to decide if it can fit in my inventory" but that won't be relevent to you.

wet sandal
#

I'm pretty sure my workaround for Inventory Tetris counts as a code crime

silent zealot
bright fog
silent zealot
#

But if it works, it works. Until it doesn't. OR until a minor update takes 12 month longer due to technical debt.

wet sandal
#

My solution: Every container enters a capacity check with a fake id that says "Hello, I'm the floor."

silent zealot
#

But this is "ignore container capacity competely" not "allow size 200 containers that are not vehicle trunks"

mossy crypt
#

Hey all! Hopefully somebody can provide me with some insight on a few things.

1. I have an item definition script in media/scripts. I'm not sure if this is being loaded. I do not see the items in the debug Item List, but I'm a newbie with PZ modding so I'm also not sure if there is another way to verify if the file is being loaded as expected.

2. There's an existing object in the game that I'm trying to modify. It's properties (name and weight) are assigned as a world sprite. My goal is to modify it's name and weight using the script from the paragraph above. I've found a property within the sprite called CustomItem that is used for the Radio module and all of its different types of radios and TVs. Setting this property to anything that isn't within the Radio module defaults it to Radio.WideScreenTV - however, setting it to say, Radio.RadioRed works fine. In the Lua side of things, the CustomItem property doesn't do a check on what module it belongs to, so I'm unsure of why it's doing this.

silent zealot
#

puts a fridge in his fanny pack to demonstrate

#

For inventory items you can update a parameter with item:DoParam()

#

eg: x = ScriptManager.instance:getItem("Base.Plank") x:DoParam("Weight = 0.3")

#

World items... I'm not sure on those.

silent zealot
#

And Radio stuff may be entirely seperate to general item properties.

atomic hare
silent zealot
#

In zomboid terms those are probably "sticks" but close enough.

#

...there isn't any "firewood" item is there?

#

you go straight from logs to planks.

atomic hare
#

yeah. I know, but i seen some pics of them being used for logs (small tree logs but still logs)

silent zealot
#

also, a lot of stuff in zomboid is close-enough approximations.

atomic hare
#

yeah, thats why i think its a "close enough" idea that would improve on solving the "i cant carry enough logs to build my log wall"

#

(ps, love how the logs grow or shrink as needed :p)

mossy crypt
mossy crypt
tranquil reef
#

Is it possible to override the "Grab" context menu option for a specific modded item

buoyant scaffold
#

Hey guys. I'm new. Looking to find out what I would need to help make mods in the game. Also, do I need to know any coding?

old ginkgo
buoyant scaffold
silent zealot
#

There is also a way to add a context menu option I can't remember right now. That's easier than overriding existing context menu entries.

severe jay
#

who hungry?

silent zealot
#

Do they inflict burns when you eat them?

severe jay
#

straight out of the oven, minor but yes XD

tranquil reef
silent zealot
#

Are you adding an option

#

or changing one that already exists?

tranquil reef
#

The "Grab" context menu option shows up every time you right click on a world item. I'm trying to make it not show up on a specific item

#

Because I want to add a custom context option that's whole point is kind of defeated if you can just grab it and put it in your inventory lol

silent zealot
#

that can be done

#

FInd the function that add context menu options to world items

#

add a prefix patch

#

"if item=myitem then return otherwise call original function"

#

(also, "prefix patch" is probably not the right term for doing this in LUA)

#

C# modding is like making finely crafted clockwork to fit exactly into the existing code, Lua modding is like making a bowl of soup to tip into a giant pot of soup.

fleet bridge
#

otherwise you can do this:

ISGrabItemAction.o_transferItem = ISGrabItemAction.transferItem
function ISGrabItemAction:transferItem(item)
  if item == "Module.Item" then
    self.character:Say("I cannot pick up that item!")
  else
    self:o_transferItem(item)
  end
end
#

you probably want to do that since double clicking the item lets you transfer the item iirc

#

(if it's forageable that is)

vivid imp
#

This is the XML for the item, but I feel it has something to do with the FBX more than anything

<clothingItem>
    <m_MaleModel>static\clothes\Hat_LiteralBucketHat</m_MaleModel>
    <m_FemaleModel>static\clothes\Hat_LiteralBucketHat</m_FemaleModel>
    <m_GUID>a2c8fa8d-f036-4c1f-880b-919edb857375</m_GUID>
    <m_Static>true</m_Static>
    <m_AllowRandomHue>false</m_AllowRandomHue>
    <m_AllowRandomTint>false</m_AllowRandomTint>
    <m_AttachBone>Bip01_Head</m_AttachBone>
    <m_HatCategory>Group01</m_HatCategory>
    <m_MasksFolder>media/textures/Clothes/Hat/Masks</m_MasksFolder>
    <textureChoices>WorldItems\BucketFullWater_New</textureChoices>
</clothingItem>```
old ginkgo
#

Lmaooo I forget what specifically causes this error but I’ve seen it before from a friend who was adding items to the game.

tranquil reef
vivid imp
#

Stanley Parable moment

vivid imp
winter bolt
#

i didnt know you could make these lol

vivid imp
old ginkgo
#

Lmao. Lower your scale export in blender and might I recommend attachment editor to rotate its model relative to the hat bone

vivid imp
#

Hmmm ok!

#

Any tutorial on how to use it

old ginkgo
#

Are you on b42 or b41?

vivid imp
#

B42

old ginkgo
#

You’re in luck I just made one

vivid imp
#

My lucky day

old ginkgo
#

It’s not a very good one but it covers the basics

vivid imp
#

Ayyyy thanks a bunch

old ginkgo
#

If you have questions just lmk

vivid imp
#

Hmm, the atatchment editor doesnt seem to have my item

#

Its registered as Paddlefruit.Hat_LiteralBucketHat, not starting with Base., is that the issue?

old ginkgo
#

Nope. Should be able to search Paddle and it should show up at the top bar as long as you’ve defined the model. Or are you using the base games model for the bucket?

#

If you’re using the base vanilla bucket; search for the bucket model.

cosmic ermine
#

Has anyone ever made a vehicle with more than one trunk accessible from the outside?

old ginkgo
#

And it should have a head bone attachment point.

vivid imp
#

Well technically I'm using a modified bucket that I exported, just with a rotation

old ginkgo
vivid imp
#

In the lines with MaleModel and FemaleModel, yea

cosmic ermine
old ginkgo
# cosmic ermine Which vehicle?

A few of his do; i can’t think of their specific names but for example he has the roof racks on many of his cars alongside the normal trunk.

old ginkgo
#

Like what does your script file look like?

vivid imp
#
<?xml version="1.0" encoding="utf-8"?>
<clothingItem>
    <m_MaleModel>static\clothes\Hat_LiteralBucketHat</m_MaleModel>
    <m_FemaleModel>static\clothes\Hat_LiteralBucketHat</m_FemaleModel>
    <m_GUID>a2c8fa8d-f036-4c1f-880b-919edb857375</m_GUID>
    <m_Static>true</m_Static>
    <m_AllowRandomHue>false</m_AllowRandomHue>
    <m_AllowRandomTint>false</m_AllowRandomTint>
    <m_AttachBone>Bip01_Head</m_AttachBone>
    <m_HatCategory>Group01</m_HatCategory>
    <m_MasksFolder>media/textures/Clothes/Hat/Masks</m_MasksFolder>
    <textureChoices>WorldItems\BucketFullWater_New</textureChoices>
</clothingItem>
cosmic ermine
vivid imp
#

I suppose I could just get rid of a custom model and just use a base one, yeah?

bronze yoke
#

clothing doesn't use model scripts so it can't use attachments

old ginkgo
old ginkgo
vivid imp
#

Ah I see

#

Well I can just eyeball it then

old ginkgo
bronze yoke
#

vanilla hats are just put in the right place in editor lol, and most modded hats use bones (which means they do have to additionally define a model script for the dropped item model, since the clothing model is not in the right place)

old ginkgo
#

I thought hats still used it for the head since they were “attached” to that bone. I knew other ones didn’t use the script models.

#

My mistake/confusion there

vivid imp
#

Good things are brewing

old ginkgo
#

Phenomenal.

vivid imp
#

I'm just mad that setting vision imparement to the max doesnt make your character lose the view cone lol

old ginkgo
vivid imp
#

Setting it to 0 just makes it not affect vision at all

cosmic ermine
vivid imp
#

That is a FANTASTIC idea

#

Im going to create armor for the Bucket Knights

cosmic ermine
ornate sand
#

Saucepans, cooking pots, what else?

vivid imp
#

Is there a caulinder in the game

cosmic ermine
#

Call the mod "Paddlefruit's Wearable Pans" and then add this to the description: "You heard that right, Pans, not Pants."

ornate sand
#

The "Wear Cooking Pot as Hat" mod had a Walter White wearing a cooking pot on his head on the cover, and he says "we need to cook". It got me bad. 😄

cosmic ermine
#

lol

vivid imp
#

I dunno the cooking pot is really large, I dunno if I just want to scale it down

#

I think I'll stick to stuff that actually would fit on your head haha

ornate sand
cosmic ermine
vivid imp
#

Damn clean your car man

silent zealot
#

Have you tried smashing more windows?

#

Is there any sort of "drawLayer" property on the textures? I've never touched texturing in Zomboid, but it looks like it's trying to draw two things in the exact same location so it flickers back and forth based on which one is lucky enough to be "closer" for each pixel.

ornate sand
random finch
#

How does escaping the Moveable Cursor eat the main menu keybind? Say I want to set a keybind for escape while I have a UI Element active. How would I bypass the Main Menu from opening?

I tried using GameKeyboard.eatKeyPress(key) such as in ISVehicleSeatUI, but doesn't seem to work. Moveable Cursor does not eat the key like this:

function ISVehicleSeatUI:onKeyPress(key)
    if key == getCore():getKey("VehicleSwitchSeat") then
        self:closeSelf()
        return
    end
    if key == Keyboard.KEY_ESCAPE then
        self:closeSelf()
        GameKeyboard.eatKeyPress(key)
        return
    end
end
vivid imp
#

The Order of the Bucket Knights draws close...

finite scroll
#

how can i set a trait as inaccessible to one specific profession?

ashen mist
#

how do I make a repair option stronger?

#

i'm backporting some bats from B42 to B41 and while i cant get the models to show, i'd like to get some stuff sorted in the meantime

uneven fractal
#

where do i find "Item:ActivatedItem" field?

uneven fractal
#

srry i'm just a newbie i want to eliminate certain guns from the game i dont know where to start, someone told me to try this but where in the game files is it?

random finch
random finch
finite scroll
#

what

uneven fractal
#

haha lol

finite scroll
#

why is that embed

random finch
#

lol

finite scroll
#

idek what happened there

#

there's other ways to remove items from the game tho

#

or at least prevent them from spawning

uneven fractal
#

i tried removing from items_weapon and brute forcing from itemsdistributions but my game wont start

finite scroll
#

namely you can change the item distributions to remove them from all the loot tables

vivid imp
#

It would be cool if someone made a mod that let you choose what specific items could and couldnt spawn

finite scroll
finite scroll
vivid imp
#

I want every junk item to be replaced with Spiffo

uneven fractal
finite scroll
#

i would say that's generally not a good idea, it'd be better to edit the table with a function

#

lots of ways to break it replacing the file and it won't cover any mods that have something spawning it for one reason or another

uneven fractal
#

right, i think i can do that but not sure how can i remove lines from a table doing it that way?

finite scroll
#

also could cause conflicts with other things changing loot tables

finite scroll
#

should be effectively the same

uneven fractal
#

oh ok

#

any way to change all the rates that have the word let say "assaultrifle2" on it to 0? to make it faster

#

or i have to do it manually one by one

finite scroll
#

you should be able to make a function that does them automatically

#

lemme see if i can get a snippet rq

#

i tried something similar before

#

uhoh

#

item distribtion tables appear to be entirely different in b42

#

unless i'm blind

#

wait

#

no

#

we might be good

#

wait no they're totally different

#

gimme a second here

#

ok yeah no there's no way i'm gonna make a function that successfully iterates through all this in like less than an hour

#

but the table you want to edit is Distributions

#

it's a global so you don't need to get a reference to it or anything

#

structure is very confusing

#

no idea what's going on there tbh

#

sorry i couldn't be of more help lol

ashen mist
#

i wanna crush my skull with two really big rocks because of these bats

uneven fractal
#

it's all good i just have to do it manually no worries, as i said i'm a newbie but i can figure out how to do that, seems simple enough for me

mossy crypt
#

do the setWeight and setName methods (on InventoryItem) work or will it just use whatever the item definition has for both of those?

#

i see both methods on the javadocs, as well as a setCustomWeight and setCustomName (both take booleans)

mossy crypt
finite scroll
#

ok looking into it more you actually are gonna want to edit ProceduralDistributions.list

#

not Distributions

#

that list is structured something like

Category = { rolls = [number of rolls] items = { "ItemName", [chance] } }

#

@uneven fractal

uneven fractal
#

okay thx

#

ok so the mod must be made in lua/server right?

bronze yoke
#

i think there's a vanilla function somewhere to remove an item from all distributions

bronze yoke
#

custom weight and custom name are flags that tell the game to save these properties, you should set them to true if you change those properties

flat relic
mossy crypt
#

although, with custom name set to true, setName is not doing anything

#

is there a way to override the display name of an item or would that be the purpose of setName?

#

there is both a getName and a getDisplayName method

vivid imp
flat relic
#

I'm sadly currently not on my pc, so i cant test, but i feel like i saw a blacklist setting to only block certain things

cosmic ermine
uneven fractal
vivid imp
#

Oh yeah i guess that works but thats a nightmare to include everything in a single text box haha

cosmic ermine
random finch
uneven fractal
#

yep

#

hey so i just used that instead and i'm now trying something diferent, i just want to double the calories of canned food but i can't make it work

#

it's really simple but i cant

cosmic ermine
random finch
main pasture
main pasture
#

Also not sure why the overlay looks like that, but I got all vehicle overlays working by adding another uv in blender and using "multiuv" shader version

cosmic ermine
#

I use vehicle_multiuv.

#

I don't have any other UVs though apart from the wheel.

#

OH, I did not notice that. I was asleep.

main pasture
cosmic ermine
main pasture
#

Don't duplicate. Just add another in the properties tab

#

Data tab (the green triangle thing) in the properties "UV Maps". Add another

cosmic ermine
main pasture
#

Nothing. It just works. At least did for me

#

No idea why

cosmic ermine
#

Weird hack.

#

Should I customize my vehicle overlays? Or just use the vanilla ones?

#

Painted this earlier, don't know if it's good.

cosmic ermine
main pasture
#

Yes

cosmic ermine
#

Oh, I see it.

main pasture
#

Just like that

faint jewel
#

the second uvw map will control your rust and damage

cosmic ermine
#

Now I just export?

faint jewel
#

yup

main pasture
#

Ah. Now I realize how the vanilla vehicles can all use the same blood and rust textures

faint jewel
#

because they map the car to the texture.

#

rather than the other way around

main pasture
#

Yes

#

But they can use different uv for the body texture?

cosmic ermine
#

So the second UV can be modified?

faint jewel
#

yup

cosmic ermine
#

Hmm, if it can be modified then what about the mask?

quaint warren
#

Anyone know how I can access the array SkillBooks in lua/server/XpSystem/XPSystem_SkillBook.lua?

I'm getting Attempted index of non-table: null when I try

main pasture
cosmic ermine
#

Ugh, modding Zomboid is such a pain with this loading speed.

faint jewel
#

new loading screen?

faint jewel
#

waituntil you find out doors trunk and hood can be animated. poor brain gonna melt.

cosmic ermine
#

Animation shouldn't be too much of a pain. It's the modeling cause now you also have to model interiors.

faint jewel
#

it actually is. pz is not fun with anims.

cosmic ermine
#

Yeah, they just don't fit.

faint jewel
#

no they DO fit.

cosmic ermine
#

Personally, I like making my mods an extension of vanilla. I try my best to stay as close to vanilla as possible.

faint jewel
#

so do i.

#

been doing it quite a while lol

cosmic ermine
# faint jewel no they DO fit.

They don't fit if the vanilla doesn't have them. If getting in/out of the vehicle can be animated then yes. Otherwise you just have your character phasing through the roof of the vehicle when getting out, etc.

faint jewel
#

it's just how pz HANDLES the animations that sucks.

cosmic ermine
#

Hehe, rust.

main pasture
faint jewel
quaint warren
#

Was just searching for people talking about requires because I was wondering if I needed to require something to access SkillBooks from lua/server/XpSystem/XPSystem_SkillBook.lua; sounds like I don't need to and everything's global... I don't understand why I can't access it then

undone elbow
#

If no info, the answer will be just try better.

quaint warren
#

Attempted index: Add of non-table: null

undone elbow
#

This error is related to Events.onPreMapLoad, not to SkillBooks.

#

onPreMapLoad doesn't exist; try OnPreMapLoad

#

Next time if you are not sure, check in console:

print(Events.onPreMapLoad)
crystal canyon
#

great... so I went to turn on my vehicle to get food and its misfiring. Now I have to diagnose that crap.

#

i have too much on my hands with mods XD

tranquil reef
#

Is it possible to force the game to stop the sped up mode when a custom time action plays?

quaint warren
bright fog
#

Tho I don't remember how, but yes you can

bright fog
#

You can look for it in the debug UI for the game, in the tool which allows you to set the time speed

tranquil reef
#

Alright. I'll try to look for a function somewhere in the game code. Trying to debug a custom idle animation that's based on very specific values, pain in the ass having it happen within 0.3 seconds when I'm unable to see it lol

quaint warren
# quaint warren

#mod_development message

Oh, I see.. Both OnPreDistributionMerge and OnInitGlobalModData occur quite late in the game boot process. Both occur after server/ lua scripts are loaded

Hmm, let me try one of those

#

hmm

undone elbow
quaint warren
undone elbow
#

lua order:

  1. all game shared
  2. all modded shared
  3. all game client
  4. all modded client
  5. all game server
  6. all modded server
silent zealot
#

from notes I got from this channel:
[1:26 PM]albion: also, server files don't load on the main menu, they only load when you join a server or start a singleplayer game (the only interesting consequence of this that i've found is OnGameBoot happens before server files load most of the time)

undone elbow
#

Put your script to 6. so you will be able to access 5. and will be connected with 4.

quaint warren
ornate sand
silent zealot
#

I AM DRIVING A CAR WITH A CHICKEN ON MY LAP THIS IS GLORIOUS!

#

It gets better:

#

...I'm pretty sure that right now if I get a bull out of a livestock trailer I'll send up holding it.

#

Nope, that still works normally. Whic is probably very good.

#

Dual-wielding chickens.

quaint warren
#

Is it normal when trying to upload a new mod to the workshop it defaults to showing the title, description, and preview image from the last mod you uploaded?

silent zealot
#

check workshop.txt

#

Make sure the new mod has a new workshop.txt, especially the WorkshopID

quaint warren
#

Ohh, yeah it's there from me copy/pasting my last one

silent zealot
#

Otherwise the upload will overwrite the previous workshop item

quaint warren
#

The wizard will auto-create those once I delete

cosmic ermine
#

I also checked the decompiled code and found nothing- they don't check locks.

silent zealot
#

I'm pretty sure the lock check is in the lua

cosmic ermine
#

Nah, I only saw area checks and door checks.

silent zealot
#

The trunkDoor:getDoor():isOpen() means you can only get to the "TruckBed" when the rear door (boot etc) is open

cosmic ermine
#

Weird, there is a locked door check. I use Vehicles.Use.TrunkDoor for my front trunk lid though. So I am not sure why it isn't working.

silent zealot
#

I assume using Vehicles.Use.TrunkDoor forfront trunk lid is fine - you just have to make sure the area you stand in to access it gets changes from default otherwise you'll need to walk to the the back of the car to open it even if the animation is on the front.

#
    if not part:getInventoryItem() then return end
    if part:getDoor():isOpen() then
        ISTimedActionQueue.add(ISCloseVehicleDoor:new(character, vehicle, part))
    else
        if part:getDoor():isLocked() then
            ISTimedActionQueue.add(ISUnlockVehicleDoor:new(character, part))
        end
        ISTimedActionQueue.add(ISOpenVehicleDoor:new(character, vehicle, part))
    end
end```
cosmic ermine
silent zealot
#

(from lua\server\Vehicles\Vehicle.lua)

#

The locking (using the button on dash) is ISVehicleDashboard:onClickDoors() -> ISVehiclePartMenu.onLockDoors -> ISTimedActionQueue.add(ISLockDoors) so if the locking is not working, I guess try to follow that chain to see where it breaks.

cosmic ermine
#

It's not connected to my front trunk whatsoever so there's no point looking into it.

silent zealot
#

The TrunkDoor is not connected to TruckBed access?

cosmic ermine
elfin cradle
#

Weird things are happening whenever I place the test Body Bag in world...

silent zealot
elfin cradle
#

XD

cosmic ermine
#
part TrunkDoor
        {
            table install
            {
                recipes = Advanced Mechanics,
            }

            table uninstall
            {
                recipes = Advanced Mechanics,
            }
        }

        template = Trunk/part/TruckBed,

        part TruckBed
        {
            container
            {
                capacity = 40,
            }
        }

        template = CountachFrontTrunkDoor,
        template = CountachFrontTrunk,
elfin cradle
#

Here's a question; I was cross reffrencing someone else's container mod- What are the .xml files and how important are they?

main pasture
cosmic ermine
silent zealot
#

The back one is also storage, not just engine access?

cosmic ermine
silent zealot
#

I know KI5's P19 has multiple storage sections around the vehicle that are opened independently

#

B41 only, but valid if you want to look how he did it

cosmic ermine
cosmic ermine
quaint warren
elfin cradle
#

Maybe I've got something missing....

{
    item Dynn_MakeshiftBodyBag_Plastic
    {
        Type                =    Container,
        WeightReduction            =    50,
        Weight                =    20,
        Capacity            =    100,    
        RunSpeedModifier         =     0.75,

        
        DisplayName            =    Makeshift Plastic Bodybag,
        DisplayCategory            =     Bag,
        CanBeEquipped            =     Back,
        Icon                =    Dynn_BodyBag_Plastic,
        WorldStaticModel         =     Dynn_MakeshiftBodyBag_Ground,
        
        OpenSound               =       OpenBag,
            CloseSound               =       CloseBag,
        PutInSound              =       PutItemInBag,
        
        ClothingItem             =     Dynn_MakeshiftBodyBag_Plastic,
        BloodLocation             =     Bag,
        CanHaveHoles = false,
        AttachmentReplacement         =     Bag,
        
        ReplaceInSecondHand         =     Dynn_MakeshiftBodyBag_Held holdingbagleft,
        ReplaceInPrimaryHand         =     Dynn_MakeshiftBodyBag_Held holdingbagright,
    }
}
ornate sand
elfin cradle
#

Thanks haha okay. I'll figure that part out

ornate sand
#

You'll also need a GUID for your xml, vewy vewy important

elfin cradle
#

GUID; how do I get one

cosmic ermine
#

0520758057235027520523058275\

#

There ya go

ornate sand
elfin cradle
#

oh does it work like a UUID for objects to try and prevent conflicts between mods?

#

THANKS!

cosmic ermine
#

Why don't you use mine unhappy

elfin cradle
#

I mean a tool is a tool. I'll be getting a lot of good uses out of it

elfin cradle
#

Okay. Got the texture working, however the model fills the entire screen. I'm a bit perplexed seeing as I modeled it next to the default duffel bag to try and make sure the scale was correct. is there a step I missed?

elfin cradle
#

Thank you. That's in export settings, yes?

ornate sand
#

For Blender, yup

elfin cradle
#

hmm

#

and if I zoom in closer this happens.

ornate sand
#

Something's not loading the texture and looks like you can still halve the scale

elfin cradle
#

Console says "skinningData is null, matrixPalette may be invalid"

ornate sand
#

Do you have something like this set up in the script.txt?

    model Bag_Ammopack2Frontground
    {
        mesh = WorldItems/FAmmopack2Ground,    
        texture = WorldItems/Ammopack2,
    }
#

for the WorldStaticModel?

elfin cradle
#

I'm missing the Texture haha

ornate sand
#

Yeah that might do it 😄

elfin cradle
#

err lets see. in scripts?

ornate sand
#

Probably also needs a media/textures/WorldItems folderino

elfin cradle
#

Got the texture working for the placed version, but it still has a fit about it when it's held. I'll re-resize the models to like 0.005

tranquil reef
#

Is there a way to do something when the player sneezes or do I have to check every tick

ornate sand
elfin cradle
#

Perfect

ornate sand
elfin cradle
#

I think I may have one that's just a body under a sheet so you can have the classic Autopsy scene with the body on the table

ornate sand
#

Nice. And then like a right click action "Cover Corpse in Sheet"

elfin cradle
#

Yeah 🙂

#

Now I gotta figure out why the container capacity isn't behaving

crystal canyon
#

Turns out faulty ignition coil

also, I think I'll stop trying to mod 42 until it is more stable. Too much broken stuff right now

ornate sand
crystal canyon
#

hahaha no, RL vehicle imagine that advanced level of mechanics in the game

ornate sand
#

Yeah I kinda prefer RL vehicles. For one they actually have bumpers and stuff.

undone elbow
vast pier
hidden compass
#

Hello, just question. I want to specify “Bob_Idle_DumbbellPress_LHand02” for my timedAction actionAnim.
For example, do I need to copy the vanilla xml into own AnimSets folder to define my own AnimSets?

tribal dagger
#

can anyone help i just downloaded a bunch of mods and i broke my game, this is my console.txt

#

these are the last lines

SpawnPoints.initSpawnBuildings > initSpawnBuildings: no room or building at 12893,5281,0 WARN : General f:0, t:1736340075140> SpawnPoints.initSpawnBuildings > initSpawnBuildings: no room or building at 10629,9658,0 ERROR: General f:0, t:1736340077175> ExceptionLogger.logException> Exception thrown zombie.world.WorldDictionaryException: World loading could not proceed, there are script load errors. (Actual error may be printed earlier in log) at IsoWorld.init(IsoWorld.java:3180). Stack trace: zombie.iso.IsoWorld.init(IsoWorld.java:3180) zombie.gameStates.GameLoadingState$1.runInner(GameLoadingState.java:301) zombie.gameStates.GameLoadingState$1.run(GameLoadingState.java:251) java.base/java.lang.Thread.run(Unknown Source) LOG : General f:0, t:1736340077187> LuaEventManager: adding unknown event "OnPreUIDraw" LOG : General f:0, t:1736340077187> LuaEventManager: adding unknown event "OnPostUIDraw" LOG : General f:0, t:1736340080358> LuaEventManager: adding unknown event "OnKeyKeepPresse

undone elbow
tribal dagger
old ginkgo
#

You should be able to find examples referencing vanilla timed actions

silent zealot
#

Make sure the game works

#

If it does, add the mods back one by one until you find which one is the problem.

hidden compass
# old ginkgo Nope! You can refer to the animation and use it in the timed action via the stri...

Thanks for the reply. As you said, I understand that I can actually use the action defined in vanilla (e.g. Making, SmithingHammer etc...), so I specified it in various patterns as well, but this action (\AnimSets\player\fitness\dumbbellpresslefthandendstruggling.xml) did not work. 😭

I tried to actionAnim, dumbbellpresslefthand, dumbbellpresslefthandstruggling, DumbbellPress_LHand02, DumbbellPress, Idle_DumbbellPress_LHand02 etc...

<?xml version="1.0" encoding="utf-8"?>
<animNode x_extends="dumbbellpresslefthand.xml">
    <m_Name>dumbbellpresslefthandstruggling</m_Name>
    <m_AnimName>Bob_Idle_DumbbellPress_LHand02</m_AnimName>
    <m_Conditions />
    <m_Conditions />
    <m_Conditions>
        <m_Name>FitnessStruggle</m_Name>
        <m_Type>BOOL</m_Type>
        <m_BoolValue>true</m_BoolValue>
    </m_Conditions>
    <m_Events>
        <m_EventName>PlayerVoiceSound</m_EventName>
        <m_TimePc>0.2</m_TimePc>
        <m_ParameterValue>Exercise</m_ParameterValue>
    </m_Events>
</animNode>```
old ginkgo
#

I won’t be able to experiment to try or to check myself for those 6-7 hours though.

#

Timed actions require a string and it looks like that xml instead uses an event.

tribal dagger
hidden compass
old ginkgo
deft wave
#

I made a backpack and by adding different textureChoices lines in the backpack.xml it spawns in different colors. So far, so good, I guess.
Can anyone tell me how to change the color of the corresponding icon too?

elfin cradle
#

I am also having a bag related issue. I can't for the life of me get the character to visibly hold the bag in their hands

vivid imp
#

Im assuming you need to attatch it to the prop point?

elfin cradle
#

Prop Point. Elaborate please. I'm a total noob and figuring it out as I go

deft wave
elfin cradle
#

Aaaah, so Prop Point is the issue then? Lovely. uh where do I find those and what are the options?

deft wave
# elfin cradle Aaaah, so Prop Point is the issue then? Lovely. uh where do I find those and wha...
The Indie Stone Forums

Hello and Welcome! Here you will find a concise and comprehensive guide and tutorial of making 3D models for Project Zomboid. Currently, this will mainly pertain to custom Clothing creation but may include weapon creation in the future. This will present how to create models from scratch with Ble...

vivid imp
#

Dear god what is that demon

deft wave
elfin cradle
#

as a side note, I think my trashbag corpse icon fits in nicely with the other loose corpses

elfin cradle
#

Aye. now I just gotta figure out this prop attachment issue so I can have the player either Fireman Carry over the left shoulder, or carry the corpse all morose-like in the main hand

ornate sand
#

That looks perfect for the woman_with_a_handbag prop attachment

hidden compass
deft wave
tranquil kindle
elfin cradle
#

.< I can't figure it out. what am I looking for when it comes to attaching things to Prop Points? I'm seeing a space in the <m_AttachBone> in the .xml where it could go, but I'm admittedly lost.

deft wave
#

Did you export proper .fbx from Blender for left and right hand?

elfin cradle
#

Yes, I have FBX files made, in folders, and attached to the scripts. I'm getting no errors, but there is no model or animation when they are held in the hand.

#

I made them in the same batch as the on-ground version

#

See equip in hands but not visible. Console has no errors.

#

If I go in and change the .xml to ANY OTHER ONE it works, so I'm not sure what the issue is. This has been my struggle all night trying to troubleshoot this, making sure everything is the same or similar to other mods I looked at as an example, making sure all files are where they should be, checking for incorrect punctuation and spelling in my scripts with a fine toothed comb.

#

Main Script

module Base
{
    item Dynn_MakeshiftBodyBag_Plastic
    {
        Type                =    Container,
        
        WeightReduction        =    50,
        Weight                =    20,
        Capacity            =    200,    
        RunSpeedModifier     =     0.75,
        
        DisplayName            =    Makeshift Plastic Bodybag,
        DisplayCategory            =     Corpse,
        Icon                =    Dynn_BodyBag_Plastic_Full,
        WorldStaticModel         =     Dynn_MakeshiftBodyBag_PlasticFull,
        
        OpenSound    =       OpenBag,
        CloseSound    =       CloseBag,
        PutInSound    =       PutItemInBag,
        
        ReplaceInSecondHand = Dynn_MakeshiftBodyBag_LHand holdingumbrellaleft,
        ReplaceInPrimaryHand = Dynn_MakeshiftBodyBag_RHand holdingumbrellaright,
    }
}
#

Dynn_MakeshiftBodyBag_LHand.xml

<clothingItem>
    <m_MaleModel>media\models_X\Skinned\BackPacks\Dynn_MakeshiftBodyBag_LHand</m_MaleModel>
    <m_FemaleModel>media\models_X\Skinned\BackPacks\Dynn_MakeshiftBodyBag_LHand</m_FemaleModel>
    <m_GUID>dynn0759-8196-44b5-9c2f-e0d58197ae88</m_GUID>
    <m_Static>false</m_Static>
    <m_AllowRandomHue>false</m_AllowRandomHue>
    <m_AllowRandomTint>false</m_AllowRandomTint>
    <m_AttachBone></m_AttachBone>
    <textureChoices>Dynn_BodyBagGarbageBag</textureChoices>
</clothingItem>
deft wave
elfin cradle
#

For the animation... Is that not where you call for the limb animation?

deft wave
#

Btw 10 days ago I started with nothing but simple Blender-knowlegde xD

deft wave
elfin cradle
#

well here, look- 1 sec

#

if I set it to this ```module Base
{
item Dynn_MakeshiftBodyBag_Plastic
{
Type = Container,

    WeightReduction        =    50,
    Weight                =    20,
    Capacity            =    200,    
    RunSpeedModifier     =     0.75,
    
    DisplayName            =    Makeshift Plastic Bodybag,
    DisplayCategory            =     Corpse,
    Icon                =    Dynn_BodyBag_Plastic_Full,
    WorldStaticModel         =     Dynn_MakeshiftBodyBag_PlasticFull,
    
    OpenSound    =       OpenBag,
    CloseSound    =       CloseBag,
    PutInSound    =       PutItemInBag,
    
    ReplaceInSecondHand = Bag_Cooler_LHand holdingbagleft,
    ReplaceInPrimaryHand = Bag_Cooler_RHand holdingumbrellaright,
}

}

#

My issue seems to be my Dynn_MakeshiftBodyBag_LHand.xml and I can't for the life of me figure out the issue

brittle geyser
#

Hey guys, I want to replace the default rat model with my own funny model. What kind of modding process could achieve this?

elfin cradle
ornate sand
deft wave
elfin cradle
#

Aye haha. Yes, the wall has indeed been struck XD I'm not used to working on mods for a project without a very extensive script library.

undone orchid
#

Just wanted to confirm if someone has the relative information regarding updating mods from b41 to b42

random finch
#

Any ideas on how to determine if a player is vc muted?
getPlayer():isVoiceMute()

Object false did not have __call metatable set
#

I tried grabbing the field as well but it doesnt seem to change

deft wave
#

@hidden compass @tranquil kindle It worked! Thanks for helping out ❤️

bronze yoke
#

it would imply you tried to call false() but i don't see how that could be the case

random finch
worn mica
#

does anyone know why modded Item Icons are so Blurry on the B42 Crafting Menu?, they are 32x32 .pack icons

#

.png had the same result with 32x32

#

only when i upscaled the .png icon files they looked normal on the Crafting Menu

#

but in return the upscaled ones had scaling issues

hidden compass
random finch
frank elbow
#

Those are boolean fields

#

Not methods

random finch
#

they are both

frank elbow
#

At least from the code's perspective, it's reading the field based on that error

random finch
#

wait, wait

#

You are right

frank elbow
#

Maybe you could try getting the method from the class metatable & calling it with the player? Although I imagine if it's adamant about treating it as a field then it'll just be the field again

random finch
#

I was grabbing the field, but I think one of them was not updating

#

Today, I started fresh with this and decided to use both of these as methods for some reason

worn mica
hidden compass
worn mica
#

it was cause i keept selecting 1024x1024 as the texture size instead of 512x512

worn mica
sour island
#

You guys may have suggestions/better ideas/interest.

It is fairly common for other games with large modding communities to have change logs for mods in game. I've released an update/ChangeLog display mod that's been pretty useful for me, and I want to expand its useability to others. I am still working out the kinks in my free time, and in the process of giving it an overhaul.

It uses a txt file in the common folder (also supports B41 if the file is in media/) expecting a format of a header, body, footer as so: [ update title ] multi-line body [ ------ ].

Currently the system keeps a local cache file to track titles and modIDs, so when a new alert is found the exclamation point turns red. Will be working on it so that that red status can be cleared in session. Also going to allow for designated links (upto 4) which will be up to the modder to include. I'm thinking YouTube, twitch, Kofi, patreon, or their own website/GitHub. And going to color-code well known urls provided. This will probably be a block included in the change log with a specific header, but I'm debating if each new change log could allow for an additional link for that time.

Some concerns people may have - the UI window does indeed collapse to the right to a small sliver the width of the exclamation point. Also right clicking the collapse arrow, as instructed via a tooltip, also hides the UI entirely (currently for the session) - I plan to change this so that it stays hidden until a new alert is found, in which cause the UI will return I but in a collapsed position.

I think that about covers the current scope and plans, if anyone has any suggestions/ideas to improve and hopefully appease a good chunk of potential naysayers.

Thanks for reading through my ted-talk.

#

Oh forgot a bonus feature, the in-game uploader pulls from the change log txt to populate the change logs for you. Something I forget alot. 😅

frank elbow
#

I should note that I'm thinking this would be in addition to and not instead of—not recommending you get rid of your established format for text, just that if an .md file is present it could use that

sour island
cosmic ermine
#

Man, I really don't know why the front trunk isn't locking.

-- vehicle script
        area TireRearRight
        {
            xywh = -1.1000 -1.2111 0.4667 0.4667,
        }

        template = TrunkDoor/part/TrunkDoor,
        template = CountachFrontTrunkDoor,

        part TrunkDoor
        {
            table install
            {
                recipes = Advanced Mechanics,
            }

            table uninstall
            {
                recipes = Advanced Mechanics,
            }
        }

        template = CountachFrontTrunk,
        template = Trunk/part/TruckBed,

        part TruckBed
        {
            container
            {
                capacity = 40,
            }
        }
-- template_countach_trunk.txt
module Base
{
    template vehicle CountachFrontTrunk
    {
        part CountachFrontTrunk
        {
            category = bodywork,
            area = FrontTrunk,
            itemType = Base.SmallTrunk,
            mechanicRequireKey = true,
            repairMechanic = true,

            container
            {
                capacity = 20,
                conditionAffectsCapacity = false,
                test = Countach.ContainerAccess.FrontTrunk,
            }

            lua
            {
                create = Vehicles.Create.Default,
            }
        }
    }
}
#
-- server.lua
Countach = {}
Countach.ContainerAccess = {}

function Countach.ContainerAccess.FrontTrunk(vehicle, part, character)
    if character:getVehicle() then
        return false
    end

    if not vehicle:isInArea(part:getArea(), character) then
        return false
    end

    local trunkDoor = vehicle:getPartById("CountachFrontTrunkDoor")
    if trunkDoor and trunkDoor:getDoor() then
        if not trunkDoor:getInventoryItem() then
            return true
        end

        if not trunkDoor:getDoor():isOpen() then
            return false
        end
    end

    return true
end
cosmic ermine
#

I mean, it's a changelog so it doesn't have to be too special.

modest swallow
#

I have a mod idea for all the melee players out there

the new update adds muscle fatigue when swinging any melee weapon

So This is a real condition people can get.
some people when working out their muscles don’t produce any or little lactic acid compared to others meaning they don’t experience muscle fatigue

So the mod idea is to add a positive trait that makes your body defective at making lactic acid meaning no muscle fatigue.

This will make melee usable again By scientifically and lore accurate standards

as a melee player I need this because I don’t really like using guns

sour island
#

Its mostly automated, other than you need to fill the log with entries.

cosmic ermine
sour island
cosmic ermine
sour island
#

Yeah, and only the last entry. 👍

frank elbow
# sour island Yeah, and only the last entry. 👍

Curious: what is “last”? The one at the top or the one at the bottom? I order my changelogs in reverse chronological, so maybe it'd also be good to have an optional configuration file the mod can read (like .changelog or something)

#

That very well could be overkill & the approach could just be “do it this way if you want the mod to read it”—just a thought since people do things differently

ornate sand
modest swallow
#

I had no idea

ornate sand
sour island
#

I figured it makes sense to do it this way?

cosmic ermine
frank elbow
#

There are arguments for and against either way; there's not one correct way imo, as with many things

sour island
cosmic ermine
sour island
#

So if it's on a website, the top being latest makes sense

cosmic ermine
#

I figured it'd read a .txt file and just display its contents with a scrollbar.

sour island
#

When I open the notepad file I see the bottom first

frank elbow
#

That's a fair rule of thumb for yourself and for notepad lol

#

For GitHub, opening a file shows you the top

sour island
bronze yoke
#

i'd prefer reverse chronological just because that's the way i expect most places to display it anyway

frank elbow
cosmic ermine
#

It's a pretty nice framework, this way users can be notified of what has changed when they update.

bronze yoke
#

i can be pedantic and say reverse chronological is better because reading it only requires you to keep going down, whereas chronological makes you go down and then up again repeatedly, but we have to be really stretching to pretend that actually matters

frank elbow
#

I think it'll always ultimately come down to preference, assuming it's not written to adhere to some standard that requires one or the other

sour island
#

I do plan to add a block for configuration/links to add to the buttons. So maybe I'll include a order- by the UI just grabs the last one either way. And unless it's my notepad when I open it it shows the bottom?

frank elbow
#

Yeah I think that's universal for notepad, it's just not the case for when documents are displayed (like on GitHub) rather than edited

crisp fossil
#

hi guys how do you force refresh the floor container? I am using this ISInventoryPage.dirtyUI() but it only refresh the zombies inventory

crystal canyon
#

yay lifestyle updated for B42

main pasture
main pasture
#

BaseVehicle.java

#
   public void setTrunkLocked(boolean var1) {
      VehiclePart var2 = this.getPartById("TrunkDoor");
      if (var2 == null) {
         var2 = this.getPartById("DoorRear");
      }

      if (var2 != null && var2.getDoor() != null && var2.getInventoryItem() != null) {
         var2.getDoor().setLocked(var1);
         if (GameServer.bServer) {
            this.transmitPartDoor(var2);
         }
      }

   }
cosmic ermine
#

I see.

#

So I use should DoorRear?

main pasture
#

Use one of the passenger doors, because DoorRear is just alternative to trunk door

cosmic ermine
#

Wait, no. Because TrunkDoor exists so it'll ignore DoorRear.

main pasture
#

Yes

cosmic ermine
#

One of the RearDoors then?

main pasture
#

Does your countach have rear doors?

#

Not sure if exposed to lua, but there are also vehicle:isAnyDoorLocked() and vehicle:areAllDoorsLocked()

cosmic ermine
#

Locking the trunk doesn't lock the doors though?

main pasture
#

Ah of course... you can just use trunkDoor:getDoor():isOpen(). Just use the actual trunk door, not the front trunk door

cosmic ermine
#

What?

main pasture
#
local RearTrunkDoor = vehicle:getPartById("TrunkDoor")
if not RearTrunkDoor:getDoor():isOpen() then
            return false
        end
#

that should use the locking status of the rear trunk for the front trunk

#

I was just over thinking. You don't have to actually lock the front trunk, just check if the rear trunk is locked

cosmic ermine
#

What about the isOpen() though? Isn't it supposed to check if the front trunk's door is open and not the rear trunk's?

main pasture
#

It checks if the specified door is open, but if you want the normal trunk dash icon to control both of them, you can just check the "normal trunk" for both

#

You can only control one of them (the actual "locked" state of the part) with the dashboard without editing it

cosmic ermine
#

Oh, wait. I have an idea.

main pasture
#

Ah. isOpen() is if its actually open... So that should use the front trunk. Then you have to find and edit the code that tests if it can be opened and use the rear trunk locked state there instead of the front trunk

cosmic ermine
#
function Countach.ContainerAccess.FrontTrunk(vehicle, part, character)
    if character:getVehicle() then
        return false
    end

    if not vehicle:isInArea(part:getArea(), character) then
        return false
    end

    local frontTrunkDoor = vehicle:getPartById("CountachFrontTrunkDoor")
    local rearTrunkDoor = vehicle:getPartById("TrunkDoor")
    if rearTrunkDoor:getDoor():isLocked() then
        frontTrunkDoor:setLocked(true)
    end

    if frontTrunkDoor and frontTrunkDoor:getDoor() then
        if not frontTrunkDoor:getInventoryItem() then
            return true
        end

        if not frontTrunkDoor:getDoor():isOpen() then
            return false
        end
    end

    return true
end
```I am not sure if this will work but it's worth a try.
main pasture
#

Nice. Maybe use the isLocked as value for the setLocked, so it works both ways

cosmic ermine
#

Or maybe I can replace this? I don't know I'll test the one above first.

#

That way it is only called when you actually interact with the trunk.

bright fog
cosmic ermine
#

Yeah, I can replace that and then check if the rear trunk door's lock is locked, if it is then I'll lock the door and then do the action.

cosmic ermine
bright fog
#

Wouldn't it be because of the timed action ?

cosmic ermine
#

Check the video above.

cosmic ermine
bright fog
cosmic ermine
#

Yes, the engine and trunk is at the back, there's a smaller trunk at the front.

bright fog
#

Why don't you have a container appearing in the list when opening it ?

#

In the other video you do tho

#

Unless that's related to the code you wrote I guess

#

Also I've seen other vehicles with different trunks

cosmic ermine
bright fog
#

Other vehicle mods that add different trunks don't lock ?

cosmic ermine
#

I don't know I haven't tested.

bright fog
#

Perhaps check that out

cosmic ermine
#

Hope this works.

cosmic ermine
bright fog
#

Just for your future codes, very important aspect of coding in PZ

cosmic ermine
#

Oh, right.

#

I was just doing it quickly. Trust me, you should see my Python files in GitHub.

#

I'm a style freak lol

bright fog
#

Yea np

#

Making it a reflex to cache stuff is a good thing to develop

cosmic ermine
bright fog
#

That's perfect

cosmic ermine
#

This should be better.

bright fog
#

tho idk if that will do what you want

bright fog
#

Simplifies the code, since you do that setLocked anyway

#

Looks good

cosmic ermine
#
function Countach.Use.FrontTrunkDoor(vehicle, part, character)
    if not part:getInventoryItem() then
        return
    end

    local frontTrunkDoor = part:getDoor()
    if not frontTrunkDoor:isOpen() then

        -- Since the vehicle doesn't update the front trunk door's :isLocked() value
        -- We have to lock/unlock it ourself
        local rearTrunkDoor = vehicle:getPartById("TrunkDoor"):getDoor()
        frontTrunkDoor:setLocked(rearTrunkDoor:isLocked())

        if frontTrunkDoor:isLocked() then
            ISTimedActionQueue.add(ISUnlockVehicleDoor:new(character, part))
        end
        ISTimedActionQueue.add(ISOpenVehicleDoor:new(character, vehicle, part))

        return
    end

    ISTimedActionQueue.add(ISCloseVehicleDoor:new(character, vehicle, part))
end
sullen pecan
#

Hey I just tried asking in the pz_chat about where I could drop suggestions, and I didn't get a response, I know people have probably already thought of the ideas that I thought of but it would be awesome to see it put to life or know that its already out there as a mod. Is this a good place to share suggestions or would it become annoying and there is a better chat?

bright fog
#

Related to modding ? The API ? Or the game ?

cosmic ermine
#

I don't know why I thought about that only just now -.-

#

I kept thinking it was an issue with the script.

cosmic ermine
sullen pecan
#

Well my suggestions are probably already thought of but if it was modded, added to base game, or even considered by someone who has the power to code I would be really happy anyway, like new vehicles, renewability or end game goals, I see that they're already on a heavy load trying to get build 42 out so I thought modders would take more kindly or would know where I can make suggestions to devs without being annoying

sly monolith
#

does anyone know what line and in which file picks the texture for the world object version of an item

#

i see that the base game has 2 files called the same for both wearable and world items, and they have separate models

sullen pecan
#

I was thinking about an Ice Cream truck today, or a more in-depth vehicle modification system

bronze yoke
#

look in scripts for model scripts

#

the clothing won't be in there but the world items will be

sly monolith
#

the folders structure in this game is such a mess heh

cosmic ermine
#

OK, thanks.

sly monolith
cosmic ermine
main pasture
sly monolith
#

lol just realised i had this in my other mod already, idk what i'm doing lmao

main pasture
cosmic ermine
mellow frigate
main pasture
#

Ah. That is expected. Well you can't get "accurate" value for the locking if you don't have the part that is controlled by the dash, but you can always set it to either locked or unlocked when the rear trunk doesn't exist

#

Actually if you name the front trunk to a RearDoor, then the trunk locking might control the front trunk when TrunkDoor is nil

cosmic ermine
#
---@param vehicle BaseVehicle
---@param part VehiclePart
---@param character IsoGameCharacter
function Countach.Use.FrontTrunkDoor(vehicle, part, character)
    if not part:getInventoryItem() then
        return
    end

    -- Since the vehicle doesn't update the front trunk door's :isLocked() value
    -- We have to lock/unlock it ourself
    -- NOTE: front trunk door will unlock if rear trunk door doesn't exist
    local frontTrunkDoor = part:getDoor()
    frontTrunkDoor:setLocked(vehicle:isTrunkLocked())

    if frontTrunkDoor:isOpen() then
        ISTimedActionQueue.add(ISCloseVehicleDoor:new(character, vehicle, part))
    else
        if frontTrunkDoor:isLocked() then
            ISTimedActionQueue.add(ISUnlockVehicleDoor:new(character, part))
        end
        ISTimedActionQueue.add(ISOpenVehicleDoor:new(character, vehicle, part))
    end
end
```I don't have to check if the rear trunk door exists since removing it automatically updates `BaseVehicle:isLocked(false)`.
hollow ore
#

Guys anyone has a guide of how to make doors animations for vehicle, I created it on blender, following an steam forum guide, but when putting the things up on the main file of the vehicle, in the game de doors don't spawn, only the body. Anyone can help?

main pasture
cosmic ermine
hollow ore
#

Yeah

main pasture
#

If I remember correctly, you might need init functions for models that set them visible. (For parts other than the body and wheels)

cosmic ermine
opal rivet
#

is there a way to disable vehicle regions?

ebon dagger
#

What could go wrong with giving players a flare gun!

Anyway, anyone know if there is an event for when an attack hits a wall? I know about OnHitTree, but I would assume that returns trees.

hollow ore
bright fog
#

The events at the bottom of the list are the new ones

#

(the old ones are ordered alphabetically)

ebon dagger
#

Oh awesome, this is more up to date than the pz wiki yeah?

bright fog
#

yes

ebon dagger
#

Dope, I appreciate the link!

bright fog
#

It's linked on the wiki if you're looking for it

#

Should be there

ebon dagger
#

Oh I see it way at the bottom lol

cosmic ermine
#

Anyone know what this error is? Lua doesn't get errors, it's just a print.

ashen mist
#

i hate these bats so much

#

but im a victim of sunk cost fallacy

#

so i gotta finish this backporting

#

so, does the position of a model matter

#

like in blender

#

because the scrap weapons chain bat opens with the head facing down

#

but the sheet reinforced bat i'm bringing to b41 opens facing up

#

could that be the cause of the models not showing up in game?

vocal vector
#

check where your origin is

#

try rotating the origin

ashen mist
#

uhhhhhhhhh

i have no clue about origin

#

(i have no experience with blender, it took me like ten minutes to figure out adding textures)

vocal vector
#

go to "tool

#

in the top right corner

#

you can choose "origin only"

ashen mist
#

alright

vocal vector
#

try moving that around or rotating it 180

#

blender confuses me so i have a trial and error approach but it worked for me

ashen mist
#

i got the green arrow pointing downwards now

#

the model hasn't moved

vocal vector
#

save and check it in game

#

the model should update without you needing to restart

cosmic ermine
#
VehicleDistributions.CountachGloveBox = {
    rolls = 1,
    items = {
        "Book_Rich", 2,
        "BusinessCard", 1,
        "CameraExpensive", 10,
        "CameraFilm", 10,
        "CordlessPhone", 10,
        "Corkscrew", 1,
        "CreditCard", 10,
        "Diary2", 10,
        "Flask", 0.5,
        "Glasses_MonocleLeft", 0.001,
        "Gloves_FingerlessLeatherGloves", 1,
        "Gloves_LeatherGloves", 1,
        "Gloves_LeatherGlovesBlack", 1,
        "Hat_PeakedCapYacht", 0.01,
        "Lighter", 4,
        "Magazine_Rich", 10,
        "MenuCard", 10,
        "Money", 10,
        "Money", 20,
        "Paperback_Rich", 8,
        "Paperwork", 10,
        "Paperwork", 20,
        "ParkingTicket", 10,
        "ParkingTicket", 20,
        "PenFancy", 2,
        "Pills", 1,
        "PillsAntiDep", 1,
        "PillsBeta", 1,
        "PillsSleepingTablets", 1,
        "Pistol2", 0.8,
        "Pistol3", 0.6,
        "Pocketwatch", 2,
        "PokerChips", 10,
        "Revolver", 0.8,
        "SpeedingTicket", 10,
        "SpeedingTicket", 20,
        "StockCertificate", 1,
        "StockCertificate", 2,
        "Whiskey", 0.5,
        "WristWatch_Left_Expensive", 0.001,
        "HottieZ", 1,
    },
    junk = ClutterTables.GloveBoxJunk,
}
```Does `rolls` mean that it'll populate the storage with `rolls` amount of items from the table?
vocal vector
#

i think it tries to spawn each item in turn, potentially spawning nothing, and goes through the list "rolls" amount of times

#

scripting question here, I am trying to overwrite a function from ISReloadWeaponAction, but the original function stays active `require "TimedActions/ISReloadWeaponAction"

ISReloadWeaponAction.OnPressReloadButton = function(player, gun)
log(DebugType.Action, '[ISReloadWeaponAction.OnPressReloadButton] '..tostring(player)..' reloads '..tostring(gun))
if ISReloadWeaponAction.disableReloading then

    return;

end

-- If you press reloading while unloading a mag, dump the mag
if player:getVariableBoolean("isUnloading") then

    if gun:getMagazineType() then
        log(DebugType.Action, '[ISReloadWeaponAction.OnPressReloadButton] '..tostring(gun)..' reloads '..tostring(gun:getMagazineType()))
        ISTimedActionQueue.clear(player);
        
        local newMag = instanceItem(gun:getMagazineType())
        newMag:setCurrentAmmoCount(gun:getCurrentAmmoCount());
        gun:setContainsClip(false);
        gun:setCurrentAmmoCount(0);
        player:getCurrentSquare():AddWorldInventoryItem(newMag, 0 , 0, 0, true);
        Sound = player:getEmitter():playSound(gun:getEjectAmmoSound());
        Sound = player:getEmitter():playSound("PZ_FootSteps_Concrete_03");
        player:Say(getText("Reload"))
        ISTimedActionQueue.queueActions(player, ISReloadWeaponAction.BeginAutomaticReload, gun)
    end

end

-- If you press reloading while loading bullets, we stop and rack
if player:getVariableBoolean("isLoading") then
    ISTimedActionQueue.clear(player);
    ISTimedActionQueue.add(ISRackFirearm:new(player, gun));
else
    -- See ISFirearmRadialMenu.onKeyReleased()
end

end
`

ashen mist
#

i've got a resounding nothing

#

like usual

vocal vector
#

sorry that was my best guess.. maybe if you compare the one that works properly with the one that doesn't? see where the origins are and how they are rotated?

ashen mist
#

i just dont know what the problem is

#

the pathing should be correct for the models and textures

#

here's the base file stuff for the bat in question

#

and the mesh: weapons\2handed\BaseBallBat_UnusableMetal_Hand.fbx

#

and the texture: weapons\2handed\BaseBallBat_UnusableMetal.png

vocal vector
#

oh, ive misunderstood your problem and thought your item was showing up upside down

#

d'oh

#

troubleshoot it by replacing the fbx with a renamed one that you know works?

cosmic ermine
#

Is it possible to choose what tire type a vehicle can use? Just like skins?

vocal vector
knotty stone
knotty stone
#

You could Look at tsar Mustang ITS using 2 types of wheels.

vast pier
#

where are weapon sounds stored

cosmic ermine
light cliff
#

im having problems with mesh showing up

#

no such mesh/texture

#

this is my very first mod ever i have no clue what im doing

#

has anyone ever had this?

vast pier
#

what sort of item

light cliff
#

its supposed to be a kind of cigarette

#

im just trying to add new items

woven sapphire
#

I really want to make a map that redoes all of Rosewood, is there a tool that makes map making easy? Like a map builder

light cliff
#

heard about that but not sure iif it works for pz @woven sapphire

woven sapphire
#

Tysm

light cliff
#

no problem

random finch
tranquil reef
#

mb if i'm not scrolling far enough but did you release that somewhere?

cosmic ermine
tranquil reef
#

the style

#

is it a personal preset in vs or did you post it somewhere

cosmic ermine
#

Uhh, lemme check my extensions.

ashen mist
#

i am losing my mind

#

if anybody here knows about models for weapons, can i have some help?

#

the one thing holding my backporting project back is weapon models not showing up at all

#

i've tried rescaling models, converting to fbx, i dont know why it isn't working

cosmic ermine
#

Pairs very well with the material icon pack too.

random finch
#

How are the ISScoreboard and MainOptions lua files accessing VoiceManager?

I tried: VoiceManager:getServerVOIPEnable() == true

However, it errors:
Object tried to call nil

atomic hare
#

Is a mod that rotate gates/doors possible? or new assets are needed?

bronze yoke
#

iirc voice manager is the one single special case in the game where it is not automatically exposed and instead specific functions have been picked to be exposed

random finch
silent zealot
random finch
#

So, I should at least be able to use the methods that are being used in the lua files. Guess i can test some others. Thanks Albion!

mint hawk
#

Is it possible/doable to make a mod that gives you a trait so you start with a vehicle?

cosmic ermine
#

What's the thickness of the mechanics overlay base outline? Is it 2-3px?

mint hawk
#

Cool now I'll have to figure out how to do it lol

random finch
#

Yup, lol. Too much on my mind to figure it out but I have an idea. Can always ask questions here through your journey.

mint hawk
#

I'll give it a go later or maybe tomorrow.

faint jewel
#

i wrote a tool to generate those files.

cosmic ermine
faint jewel
#

mine defaults to 2 px thickness

cosmic ermine
#

I'm using 2px though, does it look good to you?

faint jewel
#

i don't see an issue with it?

cosmic ermine
cosmic ermine
faint jewel
#

i mean it would work just fine.

cosmic ermine
atomic hare
#

not how they are now that they only open towards one direction, and especially for vehicle gates, makes them very annoying

cosmic ermine
#

Ah, 263x600

silent zealot
#

And do the same for stairs, so there are two stair orientation that are near impossible to use. 😛

#

I get why they limited it to two directions for an isometric game, but having the option to go the other way would be nice and map makers/builders just have to not use those where they will cause problems.

atomic hare
#

yeah, its REALLY annoying. And i honestly cant see a reason why they dont exist.

silent zealot
#

Only having two orientations is half the work, that's my guess why.

atomic hare
#

Gates especially, since i cant rotate it to open to outside, i have to back up the truck all way against the wall and then barelly have space to open it (luckly)

silent zealot
#

For normal doors, it also means the open & closed door is entirly on the same tile. That may matter for drawing order etc

faint jewel
#

can we not table.insert(ProceduralDistributions.list["WardrobeMan"] clothing anymore?!

silent zealot
#

Use WardrobeGeneric

atomic hare
#

in case of the gates and doors, its literaly just flipping the sprite. Altough that part of the tile would make sense.

silent zealot
#

WardrobeMan and WardrobeWoman are copires of WardobeGeneric, but in that bizzare LUA way that means some things only work on the original

atomic hare
#

but i seen mods add that already. Their looked the exact same, i dont renember if it was different "models" techinally tough

faint jewel
#

BedroomDresser still exists though right?

silent zealot
#

They would need to be different objects, since teh two existinig orienattion are different objects

#

I've only seen errors for the gendered wardrobe locations in mods. I assume most locatiosn are unchanged

faint jewel
#

i was like DONT MAKE ME HAVE TO REDO THIS WHOLE FILE BCUASE THEY GOT GENDERED?!

atomic hare
silent zealot
#

ProceduralDistributions.lua does this: WardrobeWoman = WardrobeGeneric,

#

Is there a simple reason why in LUA that means table inserts work on WardrobeGeneric but not WardrobeWoman?

#

Or is this "be quiet, you do not what to know what evil goes on when LUA makes a copy of something" type of thing?

faint jewel
#

so no errors but fuck if i can find anything i spawned lol.

silent zealot
sly monolith
#

lol i'm braindead, i was trying to fix a mod i was testing on a save i broke, and there was nothing wrong with the mod cuz i already fixed it 😵

faint jewel
#

found it. itw orks yay

sly monolith
#

i was like wtf is wrong with it, went through all the files like 5 times and couldn't figure it out xD

faint jewel
#

my "here's a sample of how to make clothing" mod can be updated for b42 lol

bronze yoke
silent zealot
#

hahahahaha

#

What's a bit more jank in the code?

bronze yoke
#

WardrobeWoman = WardrobeGeneric doesn't reference ProceduralDistributions.list.WardrobeGeneric, it references the undefined global WardrobeGeneric, which is nil

bronze yoke
silent zealot
#

Ah, so it's done inside ProceduralDistributions to create ProceduralDistributions.WardrobeWoman BUT that is broken.

sly monolith
#

seriously, i know nothing about this stuff and i keep seeing stuff that doesn't make any sense, like in one file directory will have "/" and in another "", they do stuff like type_color and then color_type in different one, etc

silent zealot
silent zealot
#

Computer doesn't care about type_color vs color_type, it just sees a string of numbers. But good coding proactice is consistent variable names, line formatting, indentation, etc etc.

#

But I end up being inconsistent in one small mod, so a decade-long prohect by a team is bound to have issues.

stiff jetty
#

Guys, if there is anyone among you who knows how to make cars in Project Zomboid, then write to me in a personal message, please.

faint jewel
#

what you need?

stiff jetty
#

Cars developing

faint jewel
#
function CommonTemplates.Create.FreezerT(vehicle, part)
    local invItem = VehicleUtils.createPartInventoryItem(part);
    if part:getInventoryItem() and part:getItemContainer() then
        part:getItemContainer():setType("freezer")
    end
    CommonTemplates.createActivePart(part)
end
``` what part is nil with this... what changed?
#

what part of developing lol.

#

i've made a bunch of cars.

stiff jetty
#

Super!

I mean, we're looking for a developer to make us cars. Do you need a list of cars we want?

faint jewel
#

are you comissioning them? or comWISHioning them?lol

stiff jetty
#

Of course comissioning 😁

faint jewel
#

are you are positive they dont exist yet?

stiff jetty
#

Unfortunately yes. We need cars from 2010-2016

#

We really like the quality of the K5 machines. I don’t quite understand how he manages to achieve such detail, but unfortunately there is no way to contact him, I tried.

#

We will be glad to see such quality cars.But if someone is ready to make it even cooler, that would be great. And if it’s level K5, we’ll pay even more.

stiff jetty
#

But it looks small, in real life this car is much larger

stiff jetty
atomic hare
cosmic ermine
#

His models are mostly mid-poly, more than 10k triangles that's why they can achieve such high quality.

stiff jetty
#

In general, we don't just need machine designers. If you know how to work on tiles or you are a mapper or something else, then we will find tasks for you

atomic hare
cosmic ermine
#

Anyway, how does this look?

stiff jetty
#

Mobile applications by type of bank, etc. Similar to GTA 5

silent zealot
stiff jetty
#

This game is a sandbox, it's okay that it has a different style. You can turn it into whatever you want, it's like Garris Mod.

silent zealot
#

but you can change that in sandbox settings, and with mods to make it match

ornate sand
#

Yeah I mean you can mod in Halo vehicles for goodness sake 😄

stiff jetty
#

For example, we are porting maps from Stalker and turning 3D objects into 2D tiles for our second server for Stalker in Zomboid.

mint hawk
#

The only limit is your imagination. (or pocket book, if you need to commission the mods)

silent zealot
#

Zomboid 2020 for a futuristic version, for example. 😂

atomic hare
#

eh, idk, i feel that going too far ahead is a bit too much. I do understand you tough, dont worry. I just kinda preffer to stay around the time

atomic hare
stiff jetty
silent zealot
#

Could set it in 2015...

stiff jetty
#

Well, if any of you decide to do this, leave your message to me in a personal message. I will definitely answer you, we always have vacancies for money..

faint jewel
#

send me the name of thec a you want the most and i'll look into it

stiff jetty
faint jewel
#

what car are you most interested in?

stiff jetty
#

Or do you mean the names of the cars?

stiff jetty
#

wait

#

'10 Toyota Prius
'12 Chevrolet Cruze
'12 Dodge Grand Caravan
'14 Ford Focus III
'15 Cadillac Escalade
'15 Dodge Charger SRT
'15 Ford Explorer
'15 Ford Explorer Police Interceptor
'15 Ford F150
'15 Subaru Impreza WRX STI
'15 Ford Explorer
'15 Ford Explorer Police Interceptor needs to be reworked
'10 Toyota Prius Taxi Yellow Cab needs to be continue work
'14 Ford Transit
'15 Chevrolet Silverado
'13 Ford Taurus Police Interceptor
'15 Dodge Charger Police Interceptor
'15 Dodge Charger Police Interceptor
'10 Mitsubishi Lancer X
'12 Honda Civic
'10 Mitsubishi L200
'08 Lexus RX
'16 Toyota Camry VII (XV50) (new) '16 Toyota Land Cruiser(new ) '07 International MAXXPRO MRAP (new) '15 Land Rover Discovery(new) '16 Land Rover Sport (new) '15 Ford F350 (new)
Mil200
Renault Magnum 4 step.FREIGHTLINER CENTURY

faint jewel
#

jesus

#

that's a list

random finch
#

There is a voiceban command. It seems to not be used anywhere aside from being able to use it manually.

Am I missing some type of voice ban functionality?

The VC mute in scoreboard list is for personally voice muting a player - does not ban them from being heard by other players as the voiceban command does.

silent zealot
#

Nah, a list would have {} around it. 😛

stiff jetty
#

😄

#

The timeline will be long, that's obvious

#

It looks beautiful

#

Do your cars have door animations?

random finch
#

Skizot has made some awesome vehicles. Always have his vic mods on our server.

stiff jetty
faint jewel
#

they do.

#

both front and rear doors.

random finch
#

popup lights... trunks and hoods.

#

the popup lights though...

ornate sand
#

door opens up fancy sports car thing?

random finch
#

Lambo doors?

ornate sand
#

Me talking about cars:

faint jewel
#

lambo doors are possible.

cosmic ermine
silent zealot
#

Some older cars have an extra foot button and a stick, you can use those to make cool mechanical grinding noises

cosmic ermine
#

This batch rename extension has been real useful to me everytime.

#

See those numbers?

#

They're gone now.

restive lodge
#

Can an object reference be passed in a sendClientCommand? for example if I wanted to pass a door object, can I pass the door as the argument or would i need to pass the x,y,z and then re-find the door object server side?

faint jewel
#

i made a tool for making cars.

ornate sand
faint jewel
#

i linked it already, it's also in the modelling pins

silent zealot
#

I wanted to play some Zomboid. But adding in Day One means dealing with bandits which means wearing protective gear to avoid death by gunfire which means discomfort goes up so fast so then I start making a mod to slow discomfort and now I've spent five minutes playing Zomboid and two hours modding.

elfin cradle
#

I'm still fighting with getting the bag to show up in my hands-

ornate sand
elfin cradle
#

Define Skinned models?

ornate sand
#

As in not static like a hat, a skinned or part of animations like a bag

vast pier
#

Is there a way to resize a weapon model without importing/exporting in blender

vast pier
ornate sand
#

under model

#

with mesh & texture

vast pier
#

erm

cosmic ermine
#

How do you guys get the offset for your mechanic overlay parts?

vast pier
#

is there a baseline guide for making melee weapons so I don't have to come back here for questions

elfin cradle
ornate sand
#

melee weapons are very easy to do but kinda meh to explain

vast pier
#

I have no wifi

ornate sand
#

Well I can dm you the folder lol

vast pier
#

that would work

cosmic ermine
elfin cradle
#

I feel like I'm missing something really really simple. With all the talk of Attachment Points and animations but no clear answers or points of reference that I can find I'm at a loss

cosmic ermine
#

Magic! ✨

vast pier
cosmic ermine
vast pier
ornate sand
#

Can't dm ya, you got a friends only setting on

elfin cradle
#

Thanks, but not vehicles. Clothing items. particularly bags

cosmic ermine