#mod_development

1 messages Β· Page 300 of 1

umbral raptor
#

i need someone with LUA to help make an alcohol brewing system

#

that's my biggest hurdle

vast pier
#

You could probably piggyback off the food rot system

fathom dust
#

tyvm, this works

umbral raptor
#

i tried it before, piggybacking off several systems but all i got was crashes and bugs haha

#

i ended up abandoning it for now

#

someone could do it, but I suck at LUA

vast pier
umbral raptor
#

well do u know where i can find the file/.lua file for that?

#

it would help me alot

#

thought about it, yeah that might work.

vast pier
#

I don't think rotten food gets directly replaced normally, but that can be done with a simple lua script I think

tacit pebble
#

this may be something different question, how brewing works IRL or in your mod?

umbral raptor
#

thats the idea of my brewing system

#

if thats what u are trying to say haha

#

@vast pier u interested in collabing?

#

u can do as much work as you like

#

no pressure

#

and choose what u wanna work on

vast pier
#

πŸ€·β€β™€οΈ

#

I'm still learning lua, I have no previous experience with it.
Been teaching myself through zomboid modding

umbral raptor
#

can u make items?

#

if u can than thats all u need

#

not asking u for complicated lua stuff haha

vast pier
#

wdym by make items

umbral raptor
#

can u make this?

item FabricRoll_BlackCamo
{
    DisplayCategory = Material,
    Weight    =    10.0,
Type    = Drainable,
UseDelta = 0.05,
    DisplayName    =   Black Camo Fabric Roll,
    Icon    =    FabricRoll_BlackCamo,
Tooltip = Tooltip_FabricTip,
    WorldStaticModel = FabricRolled_BlackCamo_Ground,
OnCreate = SpecialLootSpawns.OnCreateColorFromDefinition,
UseWhileEquipped = FALSE,
}
vast pier
#

Like make the model and texture?

#

Or do you mean write it out?

umbral raptor
#

just the scripts

#

the recipes, the item script, the model script, etc.

vast pier
#

To an extent, yeah

umbral raptor
#

well, if u wanna collab thats all i need. you could collab by writing recipes or item scripts for certain items

#

up to u

vast pier
#
    item SugarBeetSyrupPot
    {
        DisplayName = Rice,
        DisplayCategory = Food,
        Type = Food,
        Weight = 3,
        Icon = PotFull,
        BadInMicrowave = true,
        CookingSound = BoilingFood,
        EatType = Pot,
        PourType = Pot,
        ReplaceOnUse = Pot,
        DaysFresh = 1,
        DaysTotallyRotten = 1,
        UnhappyChange = 30,
        Calories = 387,
        Carbohydrates = 100,
        Lipids = 0,
        Proteins = 0,
        StaticModel = CookingPotGround_Fluid,
        WorldStaticModel = CookingPotGround_Fluid,
        Tags = HasMetal,
        HungerChange = -30,
        SoundMap = DumpContents EmptyPot,
        ReplaceOnRotten = SugarBeetSugarPot,
    }```
#

Turns into sugarbeet sugar when it rots

#

You could do the same for your alcohol

umbral raptor
#

OH

#

REPLACEONROTTEN

tacit pebble
umbral raptor
#

well that is all i need ahha, thanks

vast pier
#

haha great

#

It's also used to make ice cream cones melt lol

#
    item ConeIcecream
    {
        DisplayName = Ice Cream Cone,
        DisplayCategory = Food,
        EatType = eatOffStick,
        Type = Food,
        Weight = 0.2,
        Icon = ConeIcecream,
        Packaged = TRUE,
        ReplaceOnRotten = ConeIcecreamMelted,
        DaysFresh = 1,
        DaysTotallyRotten = 1,
        HungerChange = -15,
        UnhappyChange = -10,
        Calories = 470,
        Carbohydrates = 120,
        Lipids = 44,
        Proteins = 20,
        StaticModel = ConeIcecream_Ground,
        WorldStaticModel = ConeIcecream_Ground,
        Tags = GoodFrozen,
    }```
umbral raptor
#

amazing haha.

#

u just saved me like 1 day of work and 3 days of debugging lmao

vast pier
#

Instead of it just being a recipe, it can process in real time

#

(Sodium chlorate is obtained by running an electrical current through salt brine)

#

even better cuz theoretically you could totally DRINK salt brine instead of processing it for sodium chlorate 😭

#

Can items not in the "Type = Food" category still rot from "DaysFresh" and "DaysTotallyRotten" ?

#

Could you make clothing rot over time?

#

or just other objects? does it have to be food?

vast pier
#

so I went and checked food items

vast pier
#

Working on compatibility with Braven’s achievements for my shoe stomp mod

#

I also plan on adding actual trench foot, having the player get foot related ailments when wearing wet socks/shoes for too long

tacit pebble
#

hello creating survivor house is java side?

drifting ore
#

Is it possible to output by use delta for item recipes? So the player recieves, say half of a useDelta item, instead of a full one?

tacit pebble
#

lua\server\recipecode.lua
many refers here

#
-- change result quality depending on your BS skill and the tools used
function BSItem_OnCreate(items, result, player)
    local ballPeen = player:getInventory():contains("BallPeenHammer");

    if instanceof(result, "HandWeapon") then
        local condPerc = ZombRand(5 + (player:getPerkLevel(Perks.Blacksmith) * 5), 10 + (player:getPerkLevel(Perks.Blacksmith) * 10));
        if not ballPeen then
            condPerc = condPerc - 20;
        end
        if condPerc < 5 then
            condPerc = 5;
        elseif condPerc > 100 then
            condPerc = 100;
        end
        result:setCondition(round(result:getConditionMax() * (condPerc/100)));
    end
end

example

autumn sierra
#

hey all, for my mod i made a variant of the sneakers that spawn with a random tint which basically lightens the texture and makes the stripes darker, which is the inverse of the vanilla sneakers. my only issue is that now that there are two versions to choose from, the color option disappears in the customization menu. does anyone know how I could go about remedying this?

#

in the picture here my goal is for there to be a color box next to the type selector, as the red arrow shows

oak hornet
#

Nvm just realized u said chlorate

drifting ore
#

item emptyCigarillo { DisplayName = Empty Wrap, DisplayCategory = Junk, Type = Drainable, Weight = 0.01, Icon = PLEASEWORK, UseWhileEquipped = FALSE, WorldStaticModel = Cigarillo, }

tacit pebble
#

btw did you fix this? what was the problem? i also couldn't find any issue from your recipe so curious

drifting ore
#

Omg I don't even know

#

I rewrote it from scratch and it started working lol, so who knows

tacit pebble
#

lol ok

#

item_PLEASEWORK.png instead of PLEASEWORK.png

drifting ore
#

hahaaha

#

Thank you. I think it's time for a break πŸ˜‚

oak hornet
#

press f11, and then on bottom right there is a search for lua file function, search for ur mod, double click it, and the mod file should appear above it.. there is a "reload lua" button below the panel. Use that

#

Like the others said Event is external and can only be intiialized by reloading the current session (ie. exit to main menu and relaoding)

But CHANGES To the event function can be reloaded without exitting

winter bolt
#

the devs never expected people to use multiple textures and tints at the same time i guess

autumn sierra
#

yeah i figured as such

#

i wonder how easily one could change that

winter bolt
#

probably not hard but you'd have to replace the function that shows the clothing in the creation menu

small topaz
#

btw, the relevant code controlling the character customisation screen is client/OptionScreens/CharacterCreationMain.lua. The functions which realize the clothing option including color and texture choice are "CharacterCreationMain:createClothingCombo(bodyLocation)" and "CharacterCreationMain:createClothingComboDebug(bodyLocation)" (the latter is used when all-clothing-unlocked mode is enabled). Those functions assign the same x and y position to your options meaning that they cannot be displayed at the same time. It is therefore (at least) necessary to change the x position of one of the options.

small topaz
#

Two other functions which may be relevant for your question: "updateColorButton(...)" and "updateClothingTextureCombo(...)". Those control whether the color and the texture button should be displayed.

sly monolith
#

can i get some help, i'm trying to make an outfit that uses boots from another mod, but when testing it in game only parts from the mod that have this outfit file spawn, is it possible to have it spawn with those boots from that other mod somehow? here's the outfit file:

<outfitManager>
    <m_FemaleOutfits>
        <m_Name>Unholy</m_Name>
        <m_Guid>d6fb84dc-8dd4-4f5e-8762-cbb88ef0e462</m_Guid>
        <m_Top>false</m_Top>
        <m_Pants>false</m_Pants>
        <m_AllowPantsHue>false</m_AllowPantsHue>
        <m_AllowTopTint>false</m_AllowTopTint>
        <m_AllowTShirtDecal>false</m_AllowTShirtDecal>
        <m_items>
            <probability>0.65</probability>
            <itemGUID>22019678-c1ca-43f6-a2b8-0c5569131a20</itemGUID>       <!-- Hat   -->
        </m_items>
        <m_items>
            <probability>0.75</probability>
            <itemGUID>62f2d3f3-6c63-44a4-894a-aa3261bd48ea</itemGUID>       <!-- Sleeves   -->
        </m_items>
        <m_items>
            <probability>0.85</probability>
            <itemGUID>17acc51e-88e8-4681-a884-431ec82d6b1a</itemGUID>       <!-- Top   -->
        </m_items>
        <m_items>
            <probability>0.95</probability>
            <itemGUID>469c7c78-4b09-439a-8fe9-21d2b8958f48</itemGUID>       <!-- Dress   -->
        </m_items>
        <m_items>
            <probability>1</probability>
            <itemGUID>798a45a1-9ba4-4102-ae78-bca62993b069</itemGUID>       <!-- Boots   -->
        </m_items>
    </m_FemaleOutfits>
</outfitManager>```
drifting ore
drifting ore
#

It appears that in the base game, filling a smoking pipe with tobacco spawns two pipes. I am trying to override the base recipe as well as add a new recipe to take care of the can pipe to fix it, but with my code, I can't fill the smoking pipe with tobacco anymore, but the can recipe works and still has the default recipe attached to it as well. Can I patch this in my mod, or do I just have to wait for an update?

https://pastebin.com/wxf8qWUM

granite ginkgo
#

Updating my mod to B42 rn, anyone has issues with not being able to enter the car and opening mechanic tab?

#

I'm getting this: function: perform -- file: ISOpenMechanicsUIAction.lua line # 34 | Vanilla

LOG : General f:22791, t:1738771918394>
LOG : Lua f:22791, t:1738771918963> ISTimedActionQueue:tick: bugged action, cleared queue ISOpenMechanicsUIAction
LOG : Lua f:23184, t:1738771920941> creating new sourcewindow: D:/SteamLibrary/steamapps/common/ProjectZomboid/media/lua/client/DebugUIs/ISFastTeleportMove.lua

winter bolt
vast pier
weary matrix
#

I was thinking it would be cool to have a mod that adds antivirals like in The Last Stand - Aftermath. Basically if you've been bitten, when you inject some antivirals it would reset the infection level to 0, but would still continue to increase, until you find the next antiviral πŸ˜„

umbral raptor
#

there are temporary treatments and cures.

#

like pills u can take that would delay zombification. perfect for surviving until u find a syrette

weary matrix
#

indeed, looks very similar

granite ginkgo
#

So, anybody has experience with updating cars for b42?

#

Basically I'm getting BaseVehicle [nill] . I'm trying to figure it out but I can't find anything

umbral raptor
#

i knew the numbers are high for zones, this is just for debugging and testing

mellow frigate
#

@tribal wave if you ever come around, I'm looking to friend you on steam so I can set you author of AMC B42.

umbral raptor
#

in the lua files

weary matrix
#

You should just remove it, there's no reason to put it there in that context

umbral raptor
#

i don't mean end)

#

i mean the file itself

weary matrix
#

ah, I don't know πŸ˜…

umbral raptor
#

also is this line needed?
Events.onAddForageDefs.Add(function()

weary matrix
#

just put it in both place until you get it to work, then remove one and see if it still works

#

ah I guess that's why you had the end) but I don't see Events.onAddForageDefs.Add(function() in what you posted

umbral raptor
#

i added it later haha

#

but is it required?

#

lemme send u the new code

#

but i did remove the ) at the end

weary matrix
#

@umbral raptor well you need it if you add the Events.onAddForageDefs.Add(function() πŸ˜…

#

otherwise it's a syntax error

#

you need the end to mark the end of the function you're declaring, and the trailing ) to end the argument list of the Events.onAddForageDefs.Add call

#

sorry for the misunderstanding, but since your initial code didn't have the Events.onAddForageDefs.Add(function(), the end) was simply wrong

umbral raptor
#

yeah i saw thanks alot for ur help

#

lemme test it

#

the item is still not spawning

small topaz
#

Hi! Is there a lua command to check whether a specific clothing item has a 3d model?

umbral raptor
#

u could look at the models script in the project zomboid files.

small topaz
#

I think the 3d models I am interested in are the ones which are linked in the item's xml file

native swift
#

im so confused i have a mod im messing with and it has a dirt bike and a harley. they both work in solo debug. but only the dirtbike will spawn in multiplayer. it just says unknown script for the harley

#

how would it work in solo but not mu;tiplayer?

#

and why would only one of the two work

true plinth
#

Hello all, wooh, the more i try to adapt my mod, the more i discover the lack of reliability of this b42 stressed

sly monolith
# winter bolt you have to add it to your fileguidtable

you mean like this? even tho those shoes aren't a part of this mod?

<fileGuidTable>

    <files>
        <path>media/clothing/clothingItems/Unholy_top.xml</path>
        <guid>17acc51e-88e8-4681-a884-431ec82d6b1a</guid>
    </files>
    <files>
        <path>media/clothing/clothingItems/Unholy_skirt.xml</path>
        <guid>469c7c78-4b09-439a-8fe9-21d2b8958f48</guid>
    </files>
    <files>
        <path>media/clothing/clothingItems/Unholy_sleeves.xml</path>
        <guid>62f2d3f3-6c63-44a4-894a-aa3261bd48ea</guid>
    </files>
    <files>
        <path>media/clothing/clothingItems/Unholy_veil.xml</path>
        <guid>22019678-c1ca-43f6-a2b8-0c5569131a20</guid>
    </files>
    <files>
        <path>media/clothing/clothingItems/Shoes_Evil_Heels.xml</path>
        <guid>798a45a1-9ba4-4102-ae78-bca62993b069</guid>
    </files>

</fileGuidTable>```
sly monolith
#

now one more thing, would it be possible to lock spawning of an item on a zombie to only 1 texture choice? or is that asking too much lol

true plinth
#

DoParam() of getTags():add() doesn't work anymore.

vast pier
#

Ah for recipes I presume

#

yeahh

true plinth
#

no for item

#
vast pier
#

What are you needing the tags for?

true plinth
#

because i want to modify vanilla item with custom recipe, i don't want to override by txt file, i prefer a list of variables inside an array

vast pier
#

so like I said, for recipes.
You can modify tags and it works for other lua based stuff, but it won't apply to recipes due to load order

true plinth
#

something like that :

local tagItemsMapping = {
    Suspension = { "NormalSuspension1", "ModernSuspension1", "NormalSuspension2", "ModernSuspension2", "NormalSuspension3", "ModernSuspension3" },
    smallGlass = { "FrontWindow1", "FrontWindow2", "FrontWindow3", "RearWindow1", "RearWindow2", "RearWindow3" },
    largeGlass = { "Windshield1", "Windshield2", "Windshield3", "RearWindshield1", "RearWindshield2", "RearWindshield3" },
    carSeat = { "NormalCarSeat1", "NormalCarSeat2", "NormalCarSeat3" },
    carMuffler = { "OldCarMuffler1", "OldCarMuffler2", "OldCarMuffler3", "ModernCarMuffler1", "ModernCarMuffler2", "ModernCarMuffler3", "NormalCarMuffler1", "NormalCarMuffler2", "NormalCarMuffler3" },
    carGasTank = { "NormalGasTank1", "NormalGasTank2", "NormalGasTank3", "BigGasTank1", "BigGasTank2", "BigGasTank3" },
    carSmallGasTank = { "SmallGasTank1", "SmallGasTank2", "SmallGasTank3" },
    carDoor = { "FrontCarDoor1", "FrontCarDoor2", "FrontCarDoor3", "RearCarDoor1", "RearCarDoor2", "RearCarDoor3", "RearCarDoorDouble1", "RearCarDoorDouble2", "RearCarDoorDouble3" },
    carTrunk = { "TrunkDoor1", "TrunkDoor2", "TrunkDoor3" },
    carEngineDoor = { "EngineDoor1", "EngineDoor2", "EngineDoor3" },
}

-- Parcourir chaque tag et ses items associΓ©s.
for tag, items in pairs(tagItemsMapping) do
    for _, itemName in ipairs(items) do
        local item = getScriptManager():getItem(itemName)
        if item then
            local arrTags = item:getTags()
            arrTags:add(tag)
            print("[MECHANICAL OVERHAUL] Add Tag " .. tag .. " to item : " .. itemName)
            arrTags = item:getTags()
            for i = 0, arrTags:size() - 1 do
                print("[MECHANICAL OVERHAUL] Tag : " .. arrTags:get(i) .. " item : " .. itemName)
            end
        else
            print("[MECHANICAL OVERHAUL] Item not found: " .. itemName)
        end
    end
end
true plinth
#

in fact if you use tags inside recipes without any items linked to this tag, the game crash at loading.
my goal is to inject tag inside item at runtime. with B41 i can do that easily

sly monolith
true plinth
#

for example, i created a dummy item with tag "suspension".
But my code above should add tags to all "vanilla suspension items" of the game.
But nothing appear, the tag is not recognized in the game.

vast pier
#

I just said it doesn't work for recipes

#

😭

true plinth
#

too bad 😒

bronze yoke
#

TIS have said they'd like to add something for that eventually

#

so it's a known issue at least

sly monolith
#

can someone tell me what is "<subItems>" used for in the outfit xml?

#

is it like it'll either spawn the one from <m_items> or from the subitems at random?

drifting ore
#

where can i find UI icons for player inventory i want to change them for my mod

sly monolith
#

you mean this?

drifting ore
#

yeah but where are they located in the game files

sly monolith
#

they are in texture packs

#

ProjectZomboid\media\texturepacks

drifting ore
#

yeah but not all of them

#

there are some missing

#

unless i'm blind

sly monolith
#

it's either there or here: ProjectZomboid\media\textures

drifting ore
#

forgot that it exists lmao

winter bolt
#

media\ui\inventoryPanes

drifting ore
#

can't find it

umbral raptor
true plinth
sly monolith
#

where can i find guids for weapons?

vast pier
sly monolith
#

so how do i add a weapon to an outfit?

vast pier
#

uhhh check to see what the friday the 13th world story does to make the zombie spawn with a machete

#

(vanilla random story event)

sly monolith
#

and where can i find story events?

drifting ore
drifting ore
#

i meant these ones

winter bolt
#

oh

drifting ore
winter bolt
#

the item icons are in texturepacks

drifting ore
#

where exactly

sly monolith
umbral raptor
#

do you have to put end after local in lua?

drifting ore
#

i've been digging trough them all day and can't find it for shi

true plinth
#

most of the sprites are packed

drifting ore
#

yeah i unpacked them and i still can't find it

winter bolt
#

its in mine

drifting ore
#

dude

#

where

#

i'm actually losing my mind

true plinth
#

oh you look for the sprite, not the texture, sorry

drifting ore
#

am i using a wrong unpack tool?

sly monolith
#

in what file can i find story events?

winter bolt
#

what pack are you extracting

abstract iron
#

Hey, i got a question to the moding community, what engine is pz built in?

drifting ore
winter bolt
#

theyre in ui2

drifting ore
abstract iron
#

Oh so is it that the engine portion is Java and the gameplay is lua?

winter bolt
true plinth
drifting ore
abstract iron
true plinth
true plinth
winter bolt
abstract iron
#

I think I'm gonna study it n see what I come up with perhaps as a reference for a game that I'm working on early consept of

abstract iron
bronze yoke
#

5.1

#

the implementation is not exactly on standard though

tacit pebble
#

If I change /zomboid/debuglog.ini
the console's log also be changed?

I saw someone's console but stack trace has no information about mod, file, or function (#mod_support message)
at the top of console,

LOG  : General     , 1738743878797> reading C:\Users\Karu\Zomboid\debuglog.ini

was there instead of his/her pc spec or something

#

so i guessed.. if I give my debuglog.ini to them, will it be fine?

silent zealot
abstract iron
#

Lol

silent zealot
#

I honestly think it might be a case of "if the dev implementing a feature knows java better then it goes in java, if they know lua better it goes in lua"

#

Like the logic for a washing machine washing clothes in is java.

tacit pebble
#

actually almost everything about how vehicles work

silent zealot
#

I wanted to make washing machines clean dirty rags, but java is coded to only clean clothing

#

And the java headlight stuff ignores bulb color so you can't use red and blue headlights and 3D glasses

#

...

#

OK so that maybe isn't a feature that is really needed but I did try.

abstract iron
#

Doe!!

#

Another question is what software is used for the asset models?

umbral raptor
#

is there anything to modding foraging other than adding foraging definitions?

#

my foraging defintions wont work no matter what i try.

silent zealot
#

You mean to add an item that can be found by foraging?

umbral raptor
#

yep here's my code

#

it should be straight-forward

#

but its not appearing in-game

#

i've copied the foraging definitions of several mods and nothing is working for some reason

#

i've also tried the placement of the lua file itself

silent zealot
#

Make certain your lua is running and not being skipped due to a syntax error or something sillly

#

a print("AthensForageAddon") in the file is enough to confirn that 100%

umbral raptor
#

i put it in items in lua/server/items, lua/server/foraging, and lua/shared. nothing

silent zealot
#

<mod>/media/lua/... (B41) or <mod>/42/media/lua... (B42)?

#

Again, just making sure it's not a silly mistake

umbral raptor
#

42/media/lua and common too

#

i usually just copy and paste my files into both common and 42 haha

#

so both files have the exact same things

silent zealot
#

don't put in both or you make life harderlol

umbral raptor
#

well it never caused any issues before this

#

should i put in 42 alone?

silent zealot
#

yes.

umbral raptor
#

ight lemme try

#

how do i add in a print message?

silent zealot
#

So when you work on the file you work on it ion one place, no risk of de-sync... but having it on both shoudl be fine

#

literally just print("message")

#

you can put one in the function and one at the top level of the file, then check console.log

umbral raptor
#

bottom of file wont work?

silent zealot
#

When I say "top level" I mean "not inside a function"

umbral raptor
#

got it, outside

silent zealot
#

So it gets called when the lua is first loaded

#
print("######### File loaded!")
Events.onAddForageDefs.Add(function()
print("######### In My function under onAddForageDefs!")
local ReliefAirdrops ={
type = "SupportCorps.ReliefAirdrops",
    minCount=1,
maxCount=1,
xp=2,
        categories = { "Junk" },
zones={ Forest=50, DeepForest=50, Vegitation=50, FarmLand=50, Farm=50, TrailerPark=50, TownZone=50},
spawnFuncs = { doGenericItemSpawn }
};

forageSystem.addItemDef(ReliefAirdrops);

end);```
#

If those don't show up, figure out why it is not running. If they do, see if you can use the lua console to check the addition to the foraging tables worked... not sure exactly what to check, but if you look at what forageSystem.addItemDef it probably adds the table you give it to a foraging table, then you can print(forage.items.ReliefAirdrops) or whatever to see it.

umbral raptor
#

wel its printing neither statements

#

i dont get why its not working

jovial valley
#
  1. would it be possible to have a crafting recipe just give XP to a skill of my choosing instead of any output items?
    And 2) would it be possible to use a zombie corpse as an "item" in a recipe?
    These questions are connected so if there's another way to do something similar to this, then go ahead and tell me please.
tacit pebble
jovial valley
#

Actually that does solve all my problems thank you

#

I just wanted The corpse to be used as an input that's all

tacit pebble
#

i'm not sure the dead bodies are still items or not because you know, now player graffles body instead put into inventory.

jovial valley
#

Oh ok when I get a chance I'll see if they are

vast pier
tiny cargo
#

is there a way to display a png on the screen triggered by using items, read a map etc?

#

like a popup

tiny cargo
jovial valley
#

So I know this is not a normal question for this channel but, geology is one of my custom skills, and is the only one I can't come up with a special buff/crafting recipes for leveling up. To unlock the ability to start leveling up, you have to already have level 10 masonry, and rock napping skills. If any of y'all have ideas shoot em at me.
If you would like examples of what the other skills are / do, I will provide when asked

jovial valley
#

Ok Let me start typing them out

#

one is Anatomy
it needs Animal care and First aid lvl 10. it allows the player to get direct damage buffs after studying zed Anatomy(leveling up)

#

another is Chemistry
it needs cooking and agriculture lvl 10 and it allows recipes like gunpowder, sulpheric acid, and silicon

#

just a whol host of things like Engineering(Mechanics & Electrical gives crafting recipes)

#

there will be stuff that combines these late game skills for even later game skills as well like Pathology, (Chemistry, and Anatomy)

#

but geology is just there

#

idk what to do with it

vast pier
#

Maybe you could use it in combination with foraging to identify rocks and minerals, which could then possibly used in chemistry

weary matrix
#

damn, if you have a closed umbrella equipped, and then open it, the character will open it but put it back in inventory, this is so annoying πŸ˜‚

vast pier
#

Probably because an open umbrella is one handed and a closed umbrella is two handed

weary matrix
vast pier
#

πŸ€·β€β™€οΈ

tiny cargo
vast pier
#

Sorry no, I don't know much about build 41 modding. I do know that build 42 would fix the issue.
However if you're making a mod for build 41 then you're probably making it for multiplayer so shrugging

weary matrix
#

@vast pier I want to implement the following feature: If umbrella is unequipped and the player double click it, then equip the umbrella and open it if it was closed. If I do the opposite steps, I get a bugged action, the player open the umbrella but doesn't equip it, I suppose because the item is not the same anymore :/

vast pier
#

Oh maybe I know a mod I can refer you to look into, hold on

vast pier
weary matrix
#

@tiny cargo I think AuthenticPeach is doing it for his maps

drifting ore
#

Is it possible to patch a vanilla recipe in a mod? I was unsuccessful in my attempts and can't find any documentation on how

`craftRecipe FillPipe
{
timedAction = Making,
Time = 60,
Tags = InHandCraft;CanBeDoneInDark,
category = Miscellaneous,
inputs
{
item 3 tags[Tobacco],
item 1 [Base.SmokingPipe;Base.CanPipe] mappers[PipeMapper],
}
outputs
{
item 1 mapper:PipeMapper,
item 1 Base.SmokingPipe_Tobacco,
}
itemMapper PipeMapper
{
Base.CanPipe_Tobacco = Base.CanPipe,
Base.SmokingPipe_Tobacco = Base.Base.SmokingPipe,

        default = Base.SmokingPipe_Tobacco,
    }
}`

I tried overwriting it but it breaks the recipe's functionality entirely

#

This vanilla fill pipe recipe produces two smoking pipes instead of one

drifting ore
#

42, sorry

vast pier
#

Can't edit build 42 recipes without replacing them

#

It's a known issue, devs know about it

weary matrix
drifting ore
#

I tried to replace it but no matter what I added/changed, I couldn't get the Base.SmokingPipe to fill with tobacco

weary matrix
#

@vast pier and also the opposite, if the player has an umbrella equipped, then close it if was open and put it back in inventory

tiny cargo
drifting ore
#

Unless you meant replacing it in the game's files

weary matrix
#

@vast pier the second one is easy cause when you use the recipe to close the umbrella the character will also put it in inventory

vast pier
drifting ore
#

Bummer. I will try to pretend I never noticed

vast pier
#

to do that, you use the same path and file name as what the file you're replacing

#

A mod I'm working on edits the pipe bomb recipe, so to replace the recipe I copied the entire path and file in my mod
media\scripts\recipes\recipes_traps.txt

drifting ore
#

Interesting interesting

#

I am gonna give it the college try

vast pier
#

Keep in mind it outright REPLACES the ENTIRE file, so anything you do not include that was not in the original file, will cease to exist

#

(does not affect your base game files, will go back to normal if you turn off the mod)

#

So if you wanna edit one recipe in a large list of recipes, you will still need to include all the recipes from that file, or they won't load into the game

native swift
#

is there a way to make a vehicle craftable? like can a vehicle (motorcycle) be in the "result" part of a recipe?

tacit pebble
#

Maybe you can use OnCreate for spawning vehicle

drifting ore
#

That shit works

#

Tyvm

vast pier
tacit pebble
#

don't overwrite vanilla file unless it's necessary. just create another one

silent zealot
drifting ore
#

If I made the same file in the same directory in my mod, is that creating another one or overwriting vanilla files

#

I copied recipes_tobacco from \media\scripts\recipes and added it to the same directory in my mod to change it

tacit pebble
#

oh seems like there's a file for especially tabacco
if you are gonna change almost everything inside of the file then you can overwrite

vast pier
vast pier
tacit pebble
#

bur you can create another recipe and no need to overwrite other recipes that you don't change which is in same script file

vast pier
#

Yeah if you wanna make new recipes then sure.
But you 100% have to if you want to edit the original recipe

tacit pebble
#

I was talking about when you want to replace only one or two recipes but there's also 100 different recipes in same script.txt file

#

not worth

vast pier
#

this is specifically a build 42 issue due to the recipe changes

#

I personally think it's worth it if the changes you're making are to nerf the recipe specifically

#

Because there's no real reason to use the nerfed version of a recipe if the old one is still there

sour island
#

Looks like this. πŸ‘

tacit pebble
#

you can simply make vanilla recipe completely unusable by adding weird inputs, something like item 100 [Base.Plank] in your script file with same vanilla recipe

vast pier
#

Yeah I suppose you could

#

recipes_tobacco only has 3 recipes in it so I think they would be fine to overwrite it in this instance tho

drifting ore
#

I'd hope any mod overwriting the same file only does so to make the same change

vast pier
#

what change are ya makin?

drifting ore
#

I seperated the recipe into two that are less confusing and actually work

vast pier
#

which recipe?

drifting ore
#

FillPipe and FillCanPipe

vast pier
#

Does it not work normally?

sour island
#

You could just add a tag to those items instead of the paths, also I think you need to indicate Base.

drifting ore
#

`craftRecipe FillPipe
{
timedAction = Making,
Time = 60,
Tags = InHandCraft;CanBeDoneInDark,
category = Miscellaneous,
inputs
{
item 3 tags[Tobacco],
item 1 [Base.SmokingPipe],
}
outputs
{
item 1 Base.SmokingPipe_Tobacco,
}
}

craftRecipe FillCanPipe
{
    timedAction = Making,
    Time = 60,
    Tags = InHandCraft;CanBeDoneInDark,
    category = Miscellaneous,
    inputs
    {
        item 3 tags[Tobacco],
        item 1 [Base.CanPipe],
    }
    outputs
    {
        item 1 Base.SmokingPipe_Tobacco,
    }
}`
#

Normally it gives you two smoking pipes when you fill the normal one with tobacco

#

Because the recipe had some weird item mapper shit

vast pier
#

infinite pipes

#

funny

drifting ore
#

Exactly lol

sour island
#

Can you post the vanilla one again

vast pier
#

report it as a bug

sour island
#

Yeah, you should use the report bug button

vast pier
# sour island Can you post the vanilla one again
    {
        timedAction = Making,
        Time = 60,
        Tags = InHandCraft;CanBeDoneInDark,
        category = Miscellaneous,
        inputs
        {
            item 3 tags[Tobacco],
            item 1 [Base.SmokingPipe;Base.CanPipe] mappers[PipeMapper],
        }
        outputs
        {
            item 1 mapper:PipeMapper,
            item 1 Base.SmokingPipe_Tobacco,
        }
        itemMapper PipeMapper
        {
            Base.CanPipe_Tobacco = Base.CanPipe,
            Base.SmokingPipe_Tobacco = Base.Base.SmokingPipe,

            default = Base.SmokingPipe_Tobacco,
        }
    }```
sour island
#

-item 1 Base.SmokingPipe_Tobacco,

#

That's all that needs to be removed

#

The item mapper is fine, it handles input to output

#

Already reported

latent fractal
sour island
latent fractal
# sour island They can handle any item

can you take a look at the code that will be my 13th reason if it doesnt work
~~ error is

    Stack trace:
        zombie.entity.components.crafting.recipe.OutputMapper.getItem(OutputMapper.java:114)
        zombie.entity.components.crafting.recipe.OutputMapper.OnPostWorldDictionaryInit(OutputMapper.java:121)
        zombie.scripting.entity.components.crafting.OutputScript.OnPostWorldDictionaryInit(OutputScript.java:398)
        zombie.scripting.entity.components.crafting.CraftRecipe.OnPostWorldDictionaryInit(CraftRecipe.java:664)
        zombie.scripting.ScriptBucketCollection.OnPostWorldDictionaryInit(ScriptBucketCollection.java:188)
        zombie.scripting.ScriptManager.PostWorldDictionaryInit(ScriptManager.java:1723)
        zombie.iso.IsoWorld.init(IsoWorld.java:2614)
        zombie.gameStates.GameLoadingState$1.runInner(GameLoadingState.java:301)
        zombie.gameStates.GameLoadingState$1.run(GameLoadingState.java:251)
        java.base/java.lang.Thread.run(Unknown Source)```~~
#

item def tested βœ… recipe is issue

#

why item mapper planned to add more seed/packets/plant types future proofing

#

Similarly want to create one for pipe "'FillPipewith___"

tacit pebble
#

can you spawn Greenfire.CannabisBagSeed with your mod?

summer wren
#

just a shot to try but maybe removing the [] from the outputs
{
item 1 [Greenfire.CannabisBagSeed],
}

tacit pebble
#
Greenfire.CannabisBagSeed = Greenfire.CannabisSeed,
Greenfire.CannabisBagSeed = Greenfire.CannabisBagSeed_Empty,

maybe?

tiny cargo
#

is there a way to make maps panel (the black transparent background) smaller? and any idea how to remove the border there (border that wrapping my image) ? i cant find a way to remove it (the border) its build 41 btw

tacit pebble
#
    outputs
    {
        item 1 Greenfire.CannabisBagSeed, /* if you want to guarantee this item, add this line */
        item 1 mapper:seedType, /* otherwise, if you want to link with itemMapper then only this line */
    }
    
    itemMapper seedType
    {
        Greenfire.CannabisBagSeed = Greenfire.CannabisSeed,
        Greenfire.CannabisBagSeed = Greenfire.CannabisBagSeed_Empty,
    }

latent fractal
# latent fractal can you take a look at the code that will be my 13th reason if it doesnt work ~...
[05-02-25 19:48:50.510] ERROR: General      f:0, t:1738813730510> ExceptionLogger.logException> Exception thrown
    java.lang.Exception: CraftRecipe error in PutSeedsInPacket at CraftRecipe.Load(CraftRecipe.java:395).
    Stack trace:
        zombie.scripting.entity.components.crafting.CraftRecipe.Load(CraftRecipe.java:395)
        zombie.scripting.entity.components.crafting.CraftRecipe.Load(CraftRecipe.java:251)
        zombie.scripting.ScriptBucket.LoadScripts(ScriptBucket.java:265)
        zombie.scripting.ScriptBucketCollection.LoadScripts(ScriptBucketCollection.java:122)
        zombie.scripting.ScriptManager.loadScripts(ScriptManager.java:1643)
        zombie.scripting.ScriptManager.Load(ScriptManager.java:1566)
        zombie.core.Core.ResetLua(Core.java:4871)
        java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        java.base/java.lang.reflect.Method.invoke(Unknown Source)
        se.krka.kahlua.integration.expose.caller.MethodCaller.call(MethodCaller.java:62)
        se.krka.kahlua.integration.expose.LuaJavaInvoker.call(LuaJavaInvoker.java:211)
        ```
newest error and current file
latent fractal
tacit pebble
#
  outputs
  {
    item 1 [Greenfire.CannabisBagSeed],
  }
  itemMapper:seedType, /* this */
  {
    Greenfire.CannabisBagSeed = Greenfire.CannabisSeed;Greenfire.CannabisBagSeed_Empty,
  }
#

itemMapper seedTypes is correct

sour island
#

Can you define two source types for one output?

vast pier
#

I replied to you in chuck's server but Idk if you had seen it

latent fractal
tacit pebble
# vast pier

this i's also what I was talking about. if you want to map you mapped then have to use mapper:

latent fractal
#
{
    imports
    {
        Base
    }
    
    craftRecipe PutSeedsInPacket
    {
        timedAction = PutSeedsInPacket,
        Time = 10,
        Tags = InHandCraft;Farming,
        category = Farming,

        inputs
        {
            item 5 [Greenfire.CannabisSeed] mappers[seedType]flags[IsExclusive],
            item 1 [Greenfire.CannabisBagSeed_Empty] flags[Prop2] mappers[seedType],
        }

        outputs
        {
            item 1 mapper:seedType,
        }
        itemMapper seedType,
        {
            Greenfire.CannabisBagSeed = Greenfire.CannabisSeed;Greenfire.CannabisBagSeed_Empty,
        }
    }
    
    craftRecipe OpenPacketOfSeeds
    {
        timedAction = PutSeedsInPacket,
        Time = 20,
        Tags = InHandCraft;Farming;CanBeDoneInDark,
        category = Farming,

        inputs
        {
            item 1 [Greenfire.CannabisBagSeed] mappers[seedTypes;packetTypes],
        }

        outputs
        {
            item 5 mapper:seedTypes,
            item 1 mapper:packetTypes,
        }

        itemMapper seedTypes
        {
            Greenfire.CannabisSeed = Greenfire.CannabisBagSeed,
        }

        itemMapper packetTypes
        {
            Greenfire.CannabisBagSeed_Empty = Greenfire.CannabisBagSeed,
        }
    }

}``` 
same error idk man
tacit pebble
#

also i'm not sure Greenfire.CannabisBagSeed = Greenfire.CannabisSeed;Greenfire.CannabisBagSeed_Empty, will be working too because I've never seen two items for one when mapping.

In vanilla PZ, they uses two separated lines like this

            Base.SpearCrude = Base.CrudeBlade,
            Base.SpearCrude = Base.CrudeKnife,
latent fractal
#

copied vanilla recipe thinking itd be easy and intuiutive

tacit pebble
#

oh then nvm what i was talking about

vast pier
#

I think the spear instance you sent is two separate items, while the one used above is for both items at the same time

#

is it working now? did we fix it?

#

bro said omg then deleted it

latent fractal
summer wren
#

lol, just upload ur Mod.zip and we see who can fix it first lol....

vast pier
tacit pebble
# latent fractal instntly wrong lol
        outputs
        {
            item 1 mapper:seedType,
        }
        itemMapper seedType, /* This */
        {
            Greenfire.CannabisBagSeed = Greenfire.CannabisSeed;Greenfire.CannabisBagSeed_Empty,
        }

can you remove , and try again

vast pier
#

wait yeah I literally showed you outputs { item 1 mapper:seedType, } itemMapper seedType {
but then you added a comma after itemMapper seedType

#

xd

latent fractal
vast pier
latent fractal
tacit pebble
#

πŸŽ‰ πŸ‘

vast pier
#

I think burglar even knows the growing conditions for hemp lol, and farmer intentionally doesn't due to it being illegal in kentucky in 1993

latent fractal
vast pier
tacit pebble
#

lol

latent fractal
#

dev comments are fnny, like clitter mispelling being an inside joke

vast pier
#

construction worker profession was considered to get thick skinned and handy

#

interesting

latent fractal
#

kinda make sense for both.

vast pier
latent fractal
#

does that program point out formatting errors, cause im thinking notepad++ might be hindering more than helping at this point

latent fractal
vast pier
#

I think there might be an extension for vso made for zomboid, but I don't use it myself

tacit pebble
vast pier
tacit pebble
#

oops wrong tag

vast pier
#

Is "Make Metal Pipe" a recipe in vanilla?

#

or was it scrapped like metalworker?

tacit pebble
#

craftRecipe MakeMetalPipe

#

outputs
{
item 1 Base.MetalPipe,
}

vast pier
#

Don't think it's in game, unless it's part of forging?

tacit pebble
#

\media\scripts_obsolete\recipes_obsolete.txt
so yeah not yet in vanilla i guess

vast pier
#

Seems like recipes that were gonna be added in 42 but have been shelved/scrapped

latent fractal
vast pier
#

If it doesn't exist, it will probably be added to forging

latent fractal
#

fresh 42 to current 42 lacked canpipe recipe and item def

tacit pebble
#

but there are still few recipes which have Base.MetalPipe for output
it was inputs

vast pier
#

yeah but it's not the same as making one, those are for dismantling things aren't they?

tacit pebble
#

you are right

latent fractal
#

item def def exist, jjust cant craft them yet

rare knoll
#

hi there

#

im trying to add attachment for holster shoulder item.

#

im referenced from ALICE belt code, and tried to add the flashlight angle head attach to a holster shoulder

#

added code to item_light.txt, model_character.txt, models_items.txt, AttachedLocation.lua, ISHotbarAttchDefinition.lua

#

but, dosen't work

#

this is how looks like in-game

#

the attachment list not showing

#

am i missing another thing?

tacit pebble
#

AttachmentType ?

rare knoll
#

AttachmentType = Webbing;HolsterShoulder,

tacit pebble
#

I'm not sure you can use two or more AttachmentType

rare knoll
#

just use only one?

#

i tried to delete Webbing but seems to same.

#

😒

#

console log is fine. no errors.

tacit pebble
#

HolsterSmall or Holster

HolsterShoulder doesn't seemt to be defined

rare knoll
#
local HolsterShoulder = {
    type = "HolsterShoulder",
    name = "Holster",
    animset = "holster left",
    attachments = {
        Holster = "Holster Shoulder",
        HolsterSmall = "Holster Shoulder",
        Walkie = "Holster Shoulder Walkie" -- this one?
    },
}
table.insert(ISHotbarAttachDefinition, HolsterShoulder);
#

is this?

tacit pebble
#

yes, so try AttachmentType = Webbing;Holster, first and if it doesn't work then I'm guessing AttachmentType doesn't allow two types

rare knoll
#

i deleted Webbing from AttachmentType but it dosen't work too.

#

hmm

vast pier
#

Meaning iron pipes are technically non renewable? which by extension means pipe bombs are non renewable?

#

strange

latent fractal
# rare knoll

do you have it properly defined in your models for attachement point?

tacit pebble
vast pier
latent fractal
bronze yoke
#

i imagine they don't gaf right now because they haven't touched electrical at all despite it being maybe the roughest thing in the entire game

rare knoll
# latent fractal do you have it properly defined in your models for attachement point?
group:getOrCreateLocation("Holster Shoulder Walkie"):setAttachmentName("holster_shoulder_walkie")
    model FlashLight_AngleHead
    {
        mesh = FlashLight_AngleHead,
        texture = FlashLight_AngleHead_Black,

        attachment webbing_right_walkie
        {
            offset = 0.0000 0.0000 0.0000,
            rotate = 0.0000 -90.0000 0.0000,
        }

        attachment webbing_left_walkie
        {
            offset = 0.0000 0.0000 0.0000,
            rotate = 0.0000 -90.0000 0.0000,
        }

        attachment holster_shoulder_walkie  -- added
        {
            offset = 0.0000 0.0000 0.0000,
            rotate = 0.0000 -90.0000 0.0000,
        }
    }

is this?

vast pier
#

Also strangely, there's no recipe for iron rods, just iron bars

#

That has to be a mistake or something though, as you need iron rods to make some of the improvised weapons

latent fractal
vast pier
#

let me check some of the other crafting stations, this seems very odd to be overlooked

latent fractal
rare knoll
#

but isnt seem to be cool

#

it is installed upside down

tacit pebble
# rare knoll it worked.

then what about this? is this also working or just break everything?
AttachmentType = Webbing;Holster,

rare knoll
#

like a pistol

latent fractal
#

rotate = 0.0000 -90.0000 0.0000, you got it flipping on attachment, references the x y and z access

#

remove the offset lines from what doesnt need it otherwise 0's for no reason

vast pier
#

what's the name of that power cutter thing you can find in basements?

#

and garages

tacit pebble
rare knoll
#

just added AttachmentType to Holster

vast pier
tacit pebble
#

idk then hmmm

rare knoll
rare knoll
#

sry, im not living in an english area...

latent fractal
#

can you define the current issue now, as i believed the issue was
the item attached properly but rotated so it was upside down

tacit pebble
rare knoll
#

leave the webbing feature and flashlight item attach to holster shoulder item.

#

yes correct.

summer wren
latent fractal
vast pier
#

taller than the player, found in garages and basements, can't be crafted

rare knoll
tacit pebble
#

lua\client\Hotbar\ISHotbarAttachDefinition.lua

#

and don't change AttachmentType in your script file

rare knoll
#

oh my

#

it work

#

thanks

tacit pebble
#

so this will make your all holster shoulder items has webbing slot

#

it works?

rare knoll
#

it is very cool trick

rare knoll
#

thank you for helping me even though my english skills are terrible

tacit pebble
#

I actually saw your question somewhere internet at this morning but I skipped because it was too long to answer. forgive me πŸ˜„

vast pier
#

are you in debug mod? what's the tile called?

summer wren
latent fractal
#

whats the uh tile making process like if i wanna make a custom location with custom tiles.

vast pier
#

how strange, there's no pipe or rod recipes yet the devs just added in weapons that use those in their recipes?

tacit pebble
#

well it's understandable since they said craftRecipes are WIP at the very first of b42

vast pier
#

You can't even substitute them for metal bars

#

yeah but I mean, you can't just add them to the forging system?

#

Or even just had made metal bars an option for the improvised weapons?

tacit pebble
#

( idk sorrow is correct word 🀣 πŸ€” )

vast pier
#

sad would work better

#

sorrow is technically correct

#

might have some people looking at you like this tho

drifting ore
#

Is there a better way of learning how to add custom farming crops than looking at examples? stressed

tacit pebble
summer wren
#

They honestly should make it so u can switch the blades out to use it for wood or metal..

tacit pebble
vast pier
#

Genuine question, why are these even separate items

summer wren
#

Hopefully when they give more info and release more workstations like that teaser we had with the vending machine video way back

vivid imp
#

They said the crafting we have now is only a small part of what is to come, so im sure there will be more stuff like the bandsaw

vast pier
tacit pebble
#

<< bar
rod >>
?

vast pier
#

yes actually

#

Would you believe me if I said the one on the left is a two handed weapon, and the one on the right is a one handed weapon?

tacit pebble
#

bar feels like square
rod feels like circle
when i heard both words since english is not my first

vast pier
#

This feels overly redundant

#

I don't feel like both of these need to exist

summer wren
vast pier
#

They're literally the same length, why does the bar give you long blunt xp and the rod give you short blunt?

latent fractal
vast pier
#

Like genuinely why does this thing exist? Why wasn't the iron rod used instead? I'm pretty sure the iron rod existed first

#

And if the reason was for forging, then why isn't it used in any of the recipes?

#

this is driving me insane

vast pier
#

I'm sobbing they added a recipe to make a fireplace poker but not to turn the bars into rods or pipes

#

Big Cunt Belle is typing

vast pier
#

I mean yeah I probably will but it still makes me upset

#

:(

#

First thing I thought of was rick making that checkpoint remote because morty made him angry

drifting ore
#

YES I'M GONNA FUCKIN DO IT

vast pier
#

Not currently implemented

#

Sprites exist for the tile, but no function is attached to it

vast pier
soft scaffold
#

brand new to coding but can anyone tell me how or point me in the right direction to spawn a zombie on a tile if a player walks on another tile?

soft scaffold
#

thank you my friend i appreciate the help. would you mind if i ask some questions to get a good grasp of what you gave if it comes up

tacit pebble
#

you can ask anything about modding without pointing someone, anyone will help you if they want

soft scaffold
#

thats good lol cause ngl after looking at the github you sent i realized i have no clue what im looking at lmao

tacit pebble
#
createZombie(float x, float y, float z, SurvivorDesc desc, int palette, IsoDirections dir)
-- copied from github

= createZombie(A, B, C, D, E, F)
A is for X position
B is for Y position
C is for Z position
F is for direction that zombie is seeing when spawned.
ignore D and E at this time.

So, if you put proper values for each A B C D E F then finally you can spawn a zombie

#

createZombie(getPlayer():getX(), getPlayer():getY(), getPlayer():getZ(), nil, 0, IsoDirections.N)
will spawn a zombie right at your position and the zombie will be watching north when spawning

soft scaffold
#

hmm ok i see i see. so how do you know youre supposed to add "getPlayer() : getX()," ? because if i took the github thing at face value youd only have to write creatZombie(float "insert the x value here"

#

well thats what i think from my lack of experience anyway

tacit pebble
#

getPlayer() -> I want to get player
getX() -> I want to get X
getPlayer():getX() -> I want to get X from getPlayer()

soft scaffold
#

ooooh very cool so lets say i use this for example createZombie(getPlayer() : getX()," would i need to put the value i want in both perenthasis ? say i want the coordinate 100 or something would i do this. createZombie(getPlayer(100) : getX(100),"? or just createZombie(getPlayer() : getX(100),"
also seriously thank you for taking your time to explain this to me it means alot

tacit pebble
#

if you want to spawn a zombie at 100x100x0 location(X*Y*Z) then just put
createZombie(100, 100, 0, D, E, F) because 100 is also float

#

of course you still have to put proper value for D E F

drifting ore
#

are all the mods that say b41/b42 just not working on b41 anymore because all of spongies mods are broken for me

soft scaffold
soft scaffold
tacit pebble
vast pier
#

unrelated, but anyone else notice that the "Drill Plank" recipe uses basically any sharp tool EXCEPT for the three hand drills in game?

tacit pebble
#

Except?

vast pier
#

yes

tacit pebble
#

lol

vast pier
#

even funnier cuz they totally could've added the drill tag DrillWoodPoor

#
       craftRecipe DrillPlank
    {
        timedAction = Making,
        Time = 40,
        tags = AnySurfaceCraft,
        category = Survival,
        xpAward = WoodWork:1,
        inputs
        {
            item 1 [Base.Plank;Base.Log] flags[Prop2],
            item 1 tags[Screwdriver;DullKnife;SharpKnife] mode:keep flags[Prop1],
        }
        outputs
        {
            item 1 Base.PercedWood,
        }
    }```
#

It accepts any screwdriver, or knife.

#

No drills

vast pier
vast pier
# vast pier

So in total I made it so you can craft iron rod pieces from iron chunks, shape an iron bar into a rod, and drill out rods/bars into pipes

#

I do not understand why I had to do this, and why it wasn't already in the game

#

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

DESCRIPTION
Adds the ability to forge iron rods, and drill iron bars/rods into iron pipes.
Decided to make this mod after I realized that iron rods and iron pipes were non renewable despite forging iron bars being added.
Also made this because I realized that you can't use iron bars to craft the improvised weaponry, it has to be iron rods.

No tips needed, but are appreciated!
https://ko-fi.com/verysaltyoreos


Workshop ID: 3422050461
Mod ID: SaltySmithing```
silent zealot
#

Also, a lot of things should use a rod, pipe or bar interchangeably... they really just mean "long piece of metal"

vast pier
silent zealot
#

Bar -> iron band, bar -> 2 small iron bands

#

Unless they added a recipe in 42.2, those small iron bands are lucky warehouse finds only.

vast pier
vast pier
silent zealot
#

I think that's vanilla.

vast pier
#

I mean you could load up in debug mode with no mods enabled, force action in build mode to place down a forge, then check the recipe

silent zealot
#

I just used debug -> Craft recipes, looks like it gives the source for modded recipes.

vast pier
#

A lot of other forging recipes allow the club hammer

#

Anyway, time for me to pass out.
If you think of anything for the mod, leave a comment on the workshop page

#

Guarantees ill see it, and also provides interaction with the page to draw attention

silent zealot
#

There is one recipe that specifically needs a ball-peen hammer, but that's' so you can use the rounded end to peen the thing you're working on.

ornate sand
#

And you can't sharpen Katanas even though that's the first freaking thing everyone does if they get a Katana.

steep fjord
#

you can with a whetstone

ornate sand
#

The vanilla one? It doesn't have the "Sharpenable" tag.

steep fjord
#

could be that i'm confused as you can sharped machete with the regular whetstones

ornate sand
#

Yep, machetes, all knives have the Sharpenable tag but the Katana does not.
I gave my mod's Katana the tag so you can sharpen it, but the vanilla one doesn't have it.

#

Imagine finding your very first Katana after 60 days of surviving and its Sharpness is 1 lol

sly monolith
ornate sand
bright fog
#

@torn igloo how would that put more load on the computer to tell zombies to ignore the player ?

#

Besides that great suggestion

silent zealot
#

Fun thing about blunt bladed weapons - it lowers the max damage, but not the min damage.

And a katana does 8 to 8 damage.

#

I think vanilla machetes can be sharpened but not repaired... but I've honestly lost track of which weapons have what problems. It's so random.

ornate sand
#

Yeah a whole bunch of stuff seems to have been made arbitrarily more complex from what they used to be, but I guess there's gotta be a plan.

silent zealot
#

They desperately need some form of inheritance for items and recipes.

#

So instead of having 30 unique bladed weapons that all need unique handling they can inherit properties and fix things in one place.

#

The tags system is helpful, but not quite enough.

#

I miss Rimworld items: all the data is is in XML with inheritence, and you can modify it with standard xpath syntax.

bright fog
#

The new crafting system is just the old system but nicer looking lol

silent zealot
#

The old system with tags glued on, and it's so sensitive about this that if you try to use older syntax the entire game crashes.

umbral raptor
#

how do i change the name of my sandbox settings menu?

#

like the menu name itself?

frank elbow
sly monolith
ornate sand
#

I think even Jason spawns with the machete on his back, not in his hand.

sly monolith
#

there's this for example weaponLocation = {"Belt Left"},

#

so in theory if i type the hand location there that would work right

umbral raptor
#

question

sly monolith
sly monolith
#

but like it's in several places, do i need this in my file too?

ornate sand
#

Unless you're planning to put guns in your zombies' holsters, no

sly monolith
#

aight thank you !

umbral raptor
#

is this correct? This in the world distribution lua file

#

local SpawnMRERate = SandboxVars.SupportCorps.SpawnMRE;

#

["SupportCorps.RationMRECIV"] = 4 * SpawnMRERate,

sly monolith
ornate sand
true plinth
ornate sand
#

I mean I made my first tools & blades mod entirely in notepad lol

frank elbow
#

The same could have been done with an XML format

#

If the scripts were XML instead of a custom format we'd have world peace by now I think

umbral raptor
#

MREs aren't spawning, but other items with a similar system are.

frank elbow
#

You're going to need to show more context. The second line isn't valid Lua in isolation

umbral raptor
#

how can I make it valid then?

#

do i put it between [] or ()?

frank elbow
#

You're going to need to show more context (Γ—2)

umbral raptor
#

here's the entire file basically

#

i defined all the sandbox settings at start then made it multiply it by the loot rate

#

all settings are default to 1, but I expiremented with setting it to zero but some items still spawn

#

as i noticed, it seems to be items below 1.0

#

so 0.4 for example

#

i copied this structure from another mod that seems to work fine

umbral raptor
#

fixed it

#

i had to add some condition that only included items if their chance was higher than 0.

ornate sand
tiny cargo
#

anyone knows how to displaying a panel that has image in it?

umbral raptor
#

I have a small request. Can someone make a mod that disables the lightning strike in the main menu?

#

For some reason my game is very laggy until the lightning strikes in the menu

#

then it runs at normal fps

#

i swear i saw a mod for it once but i cant find it at all

tacit pebble
#

I hope there's an option for not to load icons from mods.

umbral raptor
#

oh well

#

i thought it might be a bug with the menu's code.

#

i mean if the devs could make it load during the black screen in launch that'd be great.

#

instead of my menu running at 2 FPS till that damn lightning strikes

#

I still can't figure out why my foraging definitions code isn't loading.

#

require 'Foraging/forageSystem'
print("File Loaded!!")
Events.onAddForageDefs.Add(function()
print("Works In My function under onAddForageDefs!")
local ReliefAirdrops ={
type = "SupportCorps.ReliefAirdrops",
minCount=1,
maxCount=1,
xp=2,
categories = { "Junk" },
zones={ Forest=50, DeepForest=50, Vegitation=50, FarmLand=50, Farm=50, TrailerPark=50, TownZone=50},
spawnFuncs = {doGenericItemSpawn}
};
forageSystem.addItemDef(ReliefAirdrops);
end);

#

It's not printing anything

vast pier
sly monolith
#

is it possible to ban something from appearing on a zombie with a specific outfit?

#

or like specify just what i want and nothing else

bright fog
#

Guess I seriously need to release than zombie visuals initializer event

sly monolith
# bright fog Sort of

while we're at it, do you know what does the "id" stand for in the weapon attach definitions file? like what is it referring to, also is there a list of all weapon locations somewhere?

ornate sand
sly monolith
#

i don't really get it, like where is the thing in quotes specified

ornate sand
#

Lemme see...

sly monolith
#

for example i have a file from AuthenticZ open, and there's this: AttachedWeaponDefinitions.Balloon= { id = "PZBalloon",

ornate sand
#
AttachedWeaponDefinitions.SoldierBasic= {
    id = "SoldierBasic",
    chance = 25,
    outfit = {"ArmyInstructor", "ArmyCamoDesert", "ArmyCamoGreen"},
    weaponLocation = {"Rifle On Back"},
    bloodLocations = nil,
    addHoles = false,
    daySurvived = 0,
    weapons = {
        "Base.M16A1",
        "Base.AssaultRifle",
        "Base.AssaultRifle2",
    },
}

AttachedWeaponDefinitions.attachedWeaponCustomOutfit.ArmyInstructor = {
    chance = 25;
    maxitem = 1;
    weapons = {
        AttachedWeaponDefinitions.SoldierBasic, 
        AttachedWeaponDefinitions.SoldierRare, 
        AttachedWeaponDefinitions.SoldierVeryRare, 
    },
}

AttachedWeaponDefinitions.attachedWeaponCustomOutfit.ArmyCamoDesert = {
    chance = 25;
    maxitem = 1;
    weapons = {
        AttachedWeaponDefinitions.SoldierBasic, 
        AttachedWeaponDefinitions.SoldierRare, 
        AttachedWeaponDefinitions.SoldierVeryRare, 
    },
}

AttachedWeaponDefinitions.attachedWeaponCustomOutfit.ArmyCamoGreen = {
    chance = 25;
    maxitem = 1;
    weapons = {
        AttachedWeaponDefinitions.SoldierBasic, 
        AttachedWeaponDefinitions.SoldierRare, 
        AttachedWeaponDefinitions.SoldierVeryRare, 
    },
}

So that's how I've got the Basic one set up

#

SoldierRare and SoldierVeryRare look exactly the same as SoldierBasic but with a different chance and a different weapons list

sly monolith
#

and they all have the same id?

ornate sand
#

Nonono

#

So

sly monolith
#

so what is the id for

ornate sand
#
AttachedWeaponDefinitions.SoldierRare= {
    id = "SoldierRare",
    chance = 10,
    outfit = {"ArmyInstructor", "ArmyCamoDesert", "ArmyCamoGreen"},
    weaponLocation = {"Rifle On Back"},
    bloodLocations = nil,
    addHoles = false,
    daySurvived = 0,
    weapons = {
        "Base.MossbergM590T",
        "Base.ColtCommando",
        "Base.G3",
        "Base.RemingtonM24",
        "Base.MP5",
        "Base.MP5SD",
    },
}
#

It just gets the name from the top of the definition

#

See the =?

sly monolith
#

i just don't understand what is it there even for, like there are some positions without the id

ornate sand
#

PZ lua being PZ lua is my guess

sly monolith
ornate sand
#

That mod may have some extra lua going on then, idk

sly monolith
#

so what does it actually do in your example, if you removed it would that break stuff? xD

ornate sand
#

I thought I just added new custom attachedweapondefinitions that way, and it worked

#

Soooooo

#

God knows

sly monolith
#

πŸ˜„

#

i made this ```require "Definitions/AttachedWeaponDefinitions"

AttachedWeaponDefinitions.handgunHolsterShoulder_Unholy = {
chance = 50,
outfit = {"Unholy"},
weaponLocation = {"Holster Shoulder"},
bloodLocations = nil,
addHoles = false,
daySurvived = 0,
ensureItem = "Base.HolsterShoulder",
weapons = {
"Base.Pistol3",
},
}```

#

and it just works, without that id line, so i guess it's useless? haha

ornate sand
#

Rad πŸ˜„

sly monolith
#

tho i can't get the weapon to spawn in hand because i get this error

ornate sand
#

How about a getorcreatelocation?

#

Oh wait no, that's for clothing

sly monolith
#

also i tried adding a briefcase to the outfit so that the zombie spawns with it in hand but that didn't work either

ornate sand
#

Yeah idk if zombies can carry anything

#

Oooh!

#

They absolutely can

#

That's how Bandits have guns πŸ˜„
They are "zombies" after all, lol

#

So you might wanna study the Bandits mod's shared lua to figure it out

sly monolith
#

damn, so much work to just add a weapon to a hand, why does it have to be so complicated πŸ˜‚

ornate sand
#

"Because f*** you and your mod"
-The Indie Stone
(jk)

sly monolith
#

certainly feels that way haha

#

the thing is, the briefcase is a clothing item not a weapon, so that's another issue i guess

native swift
#

how would i go about changing the sound of a vehicle in my mod? (made a go kart and want to change it to a more gocart sounding thing instead of a car)

ornate sand
ornate sand
#

Also that explains why the PZ character's hand is nothing but one big "finger" lmao

sly monolith
#

i really don't get why clothing and weapons are done differently tho, that doesn't make any sense

ornate sand
#

Because clothing is smart and uses .xml but weapons are redacted and are in .txt

ornate sand
#

Probably like how DisplayName is supposed to mean display name but actually doesn't, lol

sly monolith
#

so now the weapon is spawning, but instead of in hand it's between the legs on the ground haha

ornate sand
#

Give it some attachment offset data regarding to Bip01_L_Finger1

sly monolith
#

ooooh that's defined in a script file

#

god why is this stuff all around the place πŸ˜‚

native swift
#

where are the vehicle sounds in the vanilla files i cant find them

#

im trying to see structure so i can try to put my own sounds into my vehicle mod

ornate sand
#

They're probably in a .BANK file but custom sounds just need to be in a media/sound folder

native swift
#

im trying to find how to like implement them into the vehicle script so that sound levels schange while driving depending on espeed etc

ornate sand
#

oof

native swift
#

but every car mod i look at just says something like this:
sound
{
engine = VehicleEngineSportsCar,
engineStart = VehicleEngineSportsCar,
engineTurnOff = VehicleEngineSportsCar,
horn = VehicleHornSportsCar,
ignitionFail = VehicleIgnitionFailSportsCar,
}

#

even if i cant do the changing sounds per speed thats fine. i can settle for just having a static sound

#

cuz i have a dirtbike mod that sounds like a car and same with gocart. i want to change that

ornate sand
#

media/sound/newcar has some stuff
fast, idle, med, slow

native swift
#

yeah i see those. i guess what im looking for is how to structure the "sound" portion of the script for the vehicle

#

if my mod has a .ogg file for the sounds, do i need to replace it with an .ogg or can i switch it to a wav

sly monolith
#

i get an error when i open the female model in the attachment editor in game, anyone knows why?

ornate sand
#

I'd always recommend using .ogg simply because your mod will be 10x bigger with .wav πŸ˜„

sly monolith
#
STACK TRACE
-----------------------------------------
function: doDrawItem -- file: AttachmentEditorUI.lua line # 730 | Vanilla
function: prerender -- file: ISScrollingListBox.lua line # 434 | Vanilla
function: prerender -- file: AttachmentEditorUI.lua line # 162 | Vanilla

ERROR: General      f:4794, t:1738866146863> ExceptionLogger.logException> Exception thrown
    java.lang.RuntimeException: attempted index: getName of non-table: null at KahluaThread.tableget(KahluaThread.java:1667).
    Stack trace:
        se.krka.kahlua.vm.KahluaThread.tableget(KahluaThread.java:1667)
        se.krka.kahlua.vm.KahluaThread.luaMainloop(KahluaThread.java:624)
        se.krka.kahlua.vm.KahluaThread.call(KahluaThread.java:173)
        se.krka.kahlua.vm.KahluaThread.pcall(KahluaThread.java:1963)
        se.krka.kahlua.vm.KahluaThread.pcallvoid(KahluaThread.java:1805)
        se.krka.kahlua.integration.LuaCaller.pcallvoid(LuaCaller.java:38)
        zombie.ui.UIElement.render(UIElement.java:1978)
        zombie.ui.UIElement.render(UIElement.java:1988)
        zombie.ui.UIElement.render(UIElement.java:1988)
        zombie.GameProfiler.invokeAndMeasure(GameProfiler.java:176)
        zombie.ui.UIManager.render(UIManager.java:414)
        zombie.gameStates.AttachmentEditorState.renderUI(AttachmentEditorState.java:186)
        zombie.gameStates.AttachmentEditorState.render(AttachmentEditorState.java:106)
        zombie.gameStates.GameStateMachine.render(GameStateMachine.java:37)
        zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:102)
        zombie.GameWindow.renderInternal(GameWindow.java:455)
        zombie.GameWindow.frameStep(GameWindow.java:945)
        zombie.GameWindow.run_ez(GameWindow.java:817)
        zombie.GameWindow.mainThread(GameWindow.java:615)
        java.base/java.lang.Thread.run(Unknown Source)```
native swift
#

so in my mod it has the sounds for start,stop,idle,fail,and fatality. but doesnt call any file for the actual driving portion?

ornate sand
#

Does KI5 use custom sounds?
Because looking at how he does it would probably solve it.

native swift
#

whata a mod i can look at by him?

ornate sand
native swift
#

looks like hes using simple vanila ones

ornate sand
#

Do the muscle cars use vanilla sounds?

native swift
#

this is in the 2 mods i downloaded and looked in

#

sound
{
engine = VehicleEngineDefault,
engineStart = VehicleEngineDefault,
engineTurnOff = VehicleEngineDefault,
horn = VehicleHornStandard,
ignitionFail = VehicleIgnitionFailDefault,
}

#

lemme see

ornate sand
#

Like the 1970 Dodge Challenger?

native swift
#

looking at firebird now

#

sound
{
engine = VehicleEngineSportsCar,
engineStart = VehicleEngineSportsCar,
engineTurnOff = VehicleEngineSportsCar,
horn = VehicleHornSportsCar,
ignitionFail = VehicleIgnitionFailSportsCar,
}

#

uses vanilla spoertscar

ornate sand
#

Huh

#

I could've sworn his muscle cars used custom sounds

native swift
#

ima look at golf cart

#

yeah even golf cart using SMallCar vanilla sound

dry coral
#

Is it possible to add an item that will have the same ItemID as another item? I'm trying to make a mod that adds "Bone Nails" but implementing them in recipes seems impossible since there isn't a "Nails" tag or something of the sort. All vanilla recipes just use "Base.Nails", which is the vanilla nails. Is there a way to work around this? Do I simply make my mod a recipe that creates regular nails instead even if its a little unimmersive?

native swift
#

samwe with tractor

#

same*

ornate sand
native swift
#

i just need to find a single mod that has a custom vehicle sound

ornate sand
#

M1 Abrams?

native swift
#

okay he uses sounds for the iceceram truck sounds

#

maybe i can look at that

#

my main thing is in these mods, they call for example "enginestart = VehicleEngineStepVan"

#

i cant for the life of me find that actual audi file for that

#

is that whats in that weird file type you were talking about?

ornate sand
#

.bank yeah probably

native swift
#

im wondering if having the ogg or wav in the mediasound folder is even possible for the engine sounds

#

without it being in a .bank

bright osprey
#

hi im new here any ideas why this happen? i extracted from a .pack file im trying to modify the png files, but when it creates the modified pack with the new pngs it adds a "_0" to all the files so the program dont recognize what textures needs to overwrite..:( yeah the pack its from a mod, its for personal use dw

bright fog
#

And if the name is the same as another tile, it adds +1 to that number

#

So to me sounds like you need to remove the original number, and it'll do the numbering

#

But I'd suggest you check the mapping Discord

bright osprey
bright fog
#

πŸ‘Œ

native swift
#

@ornate sand i mighta figured it out

#

the guy that made the icecream truck has a gocart with custom sounds using a mower. i just followed the structure of his scripts and folders and put in a gocart sound i got from youtube and it worked

ornate sand
#

That's rad

umbral raptor
#

hey, isn't project zomboid 3d? doesn't this mean u can rotate the camera around or is it glued in-place by the engine?

ornate sand
#

No

bronze yoke
#

it's not fully 3d

#

most of the environment is 2d

umbral raptor
#

ahh yeah

#

my bad

ornate sand
#

I was gonna say it's 2.5D πŸ˜„

#

isometric fakeass 3D

umbral raptor
#

lol the characters and items are 3d while the furniture and buildings are essentially 2D drawings occupying 3D space

ornate sand
#

It's Fallout 2 with 3D characters

#

Or the Sims 2 in a 2D sprite world πŸ˜„

winter bolt
ornate sand
sly monolith
ornate sand
#

Greatest game evah

sly monolith
#

there's an EA hosted event on steam, go grab your 20y old game for a price of a new game heh

ornate sand
#

I'll need my expansion packs tho

sly monolith
#

it's a bundle, all in 1 pack

ornate sand
#

Super rad

ornate sand
#

I will neglect all my mods for the next three weeks

sly monolith
#

tho from what i saw in comments it's working worse than the pirated version lmao

ornate sand
#

What's better than becoming Chief of Police, calling in to quit the next day, and then becoming the Criminal Mastermind a week later?

#

Awwww the times

tranquil kindle
native swift
#

where are the bank files that have the vehicle sounds in them?

ornate sand
native swift
#

im unpacking them as we speak

vast pier
native swift
#

out of curiosity

vast pier
native swift
#

because i was able to implement my custom sound, but it treats my sound as an idle sound. so like the dirtbike revving sound happens even if your next to the bike. it just loops the same sound over and over as long as bike is runing

bronze yoke
#

that's a limitation for modded sounds unfortunately

#

they use fmod events to make the sound dynamic, we can't add fmod events so we're stuck with flat looping sounds

ornate sand
#

So it really is
"f*** you that's why, you filthy modder"
(still jk!)

small topaz
#

Hello! Does anyone knows whether in B42, they changed smth about how the "OnClothingUpdated" event exactly works and when it fires? In B41, when I excuted code via this event, it has always been the case that a new clothing item has been applied to the player and could be accessed via "player:getWornItem(location)" (if we ignore other situation where the event is called like when player gets dirty or smth). Is it possible that this isn't the case in B42 anymore? When the event fires, a new clothing item is not necessarily already equipped and instead somehow equipped later? Thanks!

EDIT: Managed to find out where the problem comes from: The timedAction for wearing clothes has now a "complete()" function while the event is triggered in the "perform()" function. However, perform() is executed before complete() and complete() in turn actually equips the clothing. So the event fires "too early" in the vanilla code...

native swift
#

like i can only find static files that you can set. i was assuming there would be a file that like says to increase volume when at certain speeds etc

#

i cant find anything like that anywhere in anyones mods or in vanilla files

ornate sand
#

Then it's probably java-spaghetti

native swift
#

yrah i think its above my paygrade tbh with u

native swift
#

yeah i think i gotta just settle for the idle sound being the main sound

#

so my dirtbike and other vehicles will just sound like imdriving them whether i am or not. which will just force me to pull the key out which saves gas anywyas

#

otherwise i just gotta let it be the default sounds

sly monolith
#

is it not possible to load the base game guns in the attachment editor?

native swift
#

cuz i unpacked THOUSANDS of files from those bank files and theyre all like static sounds that are used in events like opening a door, switching seats, etc. no scripts or anything that change the sounds of engine depending on speed etc

#

like it just doesnt exist XD

ornate sand
#

Like albion explained, we can't do fmod stuff

bronze yoke
#

it's all fmod events, all unpacking does is get you the sound files, i'm not sure how or even if you can reverse events

tranquil kindle
#

Keep in mind that if you have mods that have same model script ids as vanila (meaning that they overriding vanila model, but don't change its id's) it will not show up. Thats something i noticed.

#

Because you can override for example Scriptitem of gun and give it custom model id with diffrent mesh/texture, or override existing ID and give it new mesh/textures. In 2nd way it will not allow you to load model as game doesn't know which to load as there 2 same model scripts in its files, so it just does not allow any to load and it wont show up in editor.

tranquil kindle
#

If you cant find it in attachment editor that means there is 2 model scripts with exact id.

sly monolith
tranquil kindle
#

Pistols are "handgun" irrc

#

D-E is Handgun or Handgun3

sly monolith
#

oh lol yea thanks

vast pier
# vast pier

This was actually formatted wrong, the SkillRequired and xpAward needed to be like this

sly monolith
#

btw why is my window so thin, i can't even see the Y or Z axis

#

like the UI in the attachment editor

tranquil kindle
#

No idea what you mean

sly monolith
tranquil kindle
# sly monolith

Mine looks even smaller, I didnt even knew there was Green letters (i assume Y)

sly monolith
#

that's how it looks on the youtube vid

tranquil kindle
#

Thats from b41

sly monolith
#

oh i see

tranquil kindle
#

I don't think if you actually need to see those, unless your model has some serious scale/rotation issues

#

Maybe UI size in options can help with it

sly monolith
#

i tried it but that did nothing

#

i dont really know what this editor even does, all i want is to know how to rotate a gun so it looks ok on a zombie heh

tranquil kindle
#

What do you mean ok on a zombie?

sly monolith
#

i want a gun attached to a zombie's hand

ornate sand
#

I love Nik, and I'm almost out to bed

sly monolith
#

so it looks like it's carrying it

tranquil kindle
#

It should looke exacly how player character would hold it in hand. 2hander Rifles can look a bit off, so its not perfect solution.

#

Most modders opt for zombies having them on back.

sly monolith
#

so i attached it to the hand bone, but now i need to rotated it properly

tranquil kindle
#

I see

#

I think you need to create your own.

sly monolith
#

my own what?

tranquil kindle
#

definition and attachment point

sly monolith
#

oh yea i did, i just don't know how to rotate it

tranquil kindle
#

But youre using propbone1

#

That already exist

sly monolith
#

oh no i already made an attachment for the hand, this screenshot is from when i tried attaching it to the prop

tranquil kindle
#

Ah ok. Sorry its been some time since i messed with that thing

#

So you imported player model into your attachment editor?

sly monolith
#

so i just want the coordinates for the rotation and location, to put in that text file

tranquil kindle
#

You can do that, and then move your point in game

sly monolith
#

yeah i have the player model and the gun imported

tranquil kindle
#

Then select player model and your point, it shuld give you arrows to move it and if you click translate it should switch to rotation mode and you can rotate it

#

God... im awful at using that keyboard...

vast pier
sly monolith
tranquil kindle
#

But you said you created your own Point (that is not hand bone)

sly monolith
#

i called it the same as the bone, is that an issue? xd

sly monolith
#
        {
            offset = 0.0000 0.0000 0.000,
            rotate = 0.0000 0.0000 0.0000,
            bone = Bip01_L_Hand,
        }```
#

this

tranquil kindle
#

Why would you call it the same as bone, it might be confusing. ALSO why left hand?

sly monolith
#

idk i just copy pasted that from some other mod that had stuff attached to finger bones

tranquil kindle
#

Are you sure you can't move it? IIRC it does take alot of clicks for game to register that you want to move some points.

#

literally me when i try to move some points (at least in b41)

sly monolith
#

in my case the gun is in the world position when attached to that bone, and when i select world there are no arrows, unlike for example when selecting scope

tranquil kindle
#

You move your point on player model, not gun itself

sly monolith
#

or am i trying to move the entire world

#

heh

tranquil kindle
#

You move point on player model, gun is for visuals only

sly monolith
#

ok then i'm doing something wrong cuz that point of mine isn't on the list at all, i just asuumed it's the bone

bright fog
#

Also, I made a wiki page about the attachment editor

sly monolith
#

the video is from 2 years ago so i don't think so heh

bright fog
#

Hmm

#

B42 has one or two new options (aka animals can be added to the scene)

sly monolith
tranquil kindle
#
module Base
{
    model FemaleBody
    {
        mesh = Skinned/FemaleBody,

        attachment Bow_back1
        {
            offset = -0.0010 -0.0160 -0.0570,
            rotate = 41.0000 -1.0000 -7.0000,
            bone = Bip01_BackPack,
        }

    }
    model MaleBody
    {
        mesh = Skinned/MaleBody,

        attachment Bow_back1
        {
            offset = -0.0010 -0.0160 -0.0570,
            rotate = 41.0000 -1.0000 -7.0000,
            bone = Bip01_BackPack,
        }
    }
}

#

Thats how i did my custom attachment point for bow

sly monolith
#

yeah i have it set up like that too

tranquil kindle
#

Show me

sly monolith
tranquil kindle
#

I beg you don't use same names as bones.... it asks for issues to happen

sly monolith
#

yeah thanks for noticing that, i don't really know what i'm doing

tranquil kindle
#

Change it to anything else. That might also mean that you tried to override something in vanila, which as i said before won't allow you to move them or even see those points.

sly monolith
#

yeah probably, gonna test it changed

#

btw would you happen to know how i can attach a briefcase to a zombie's hand with an outfit, i managed to get them to wear a gun holster with a gun in it, to wear that gun in hand with this thing above, but idk how to attach a clothing item that way

tranquil kindle
#

Since briefcase is clothing item (TIS explain why) all you need to do is create custom outfit and add briefcase's guid to it, depending on which variant you want (left or right hand and also add it to guidtable in your mod).

sly monolith
#

also i think i get why my location didn't show, and is still not showing after changing it's name

#

even when selecting a female body it's still male body up there

tranquil kindle
#

You're telling me that you don't have female model at all there?

sly monolith
#

i mean, i selected female model from the player model dropdown, and the model is female, but on that list up there it still says MaleBody

tranquil kindle
sly monolith
#

i didnt define locations for male body cuz i didnt wanted it

#

guess i have to ?

tranquil kindle
#

For zombies? Yeah

sly monolith
#

well now i get an error and there are no bodies at all haha

tranquil kindle
#

You sure you have all brackets and such in right places?

sly monolith
#

i think so, i don't see anything wrong in here

#
{
    model FemaleBody
    {
        mesh = Skinned/FemaleBody,


        attachment LeftHandBone
        {
            offset = 0.0400 0.0000 0.0000,
            rotate = -90.0000 0.0000 -90.0000,
            bone = Bip01_L_Hand,
        }

        attachment RightHandBone
        {
            offset = 0.0400 0.0000 0.0000,
            rotate = -90.0000 0.0000 -90.0000,
            bone = Bip01_R_Hand,
        }

    }

    model MaleBody
    {
        mesh = Skinned/MaleBody,


        attachment LeftHandBone
        {
            offset = 0.0400 0.0000 0.0000,
            rotate = -90.0000 0.0000 -90.0000,
            bone = Bip01_L_Hand,
        }

        attachment RightHandBone
        {
            offset = 0.0400 0.0000 0.0000,
            rotate = -90.0000 0.0000 -90.0000,
            bone = Bip01_R_Hand,
        }
    }

}```
tranquil kindle
# sly monolith

Did you change this too? Also Did you create new body location with it?

#

Maybe you don't need it though

sly monolith
#
group:getOrCreateLocation("Left Hand"):setAttachmentName("LeftHandBone")
group:getOrCreateLocation("Right Hand"):setAttachmentName("RightHandBone")```
sly monolith
tranquil kindle
#

I'm not sure as it was made for sling type of item so i had to create custom location for it for player.