#mod_development

1 messages ยท Page 279 of 1

random finch
#

One of the parameters is not right. Spelled wrong, non-existent.

#

Yup, my thought as well. Now to figure out which one, I have no idea still using B41.

crystal canyon
#

has to be one of these
ClothingItemExtra = Hat_SurgicalMask_Green,
ClothingItemExtraOption = PullUpM,
ClothingExtraSubmenu = PullDownM,

winter bolt
#

those have been working fine for me

worthy sparrow
#

you mean this?

opaque ocean
winter bolt
opaque ocean
#

local container = isoObject:getContainer()

    container:setAcceptItemFunction('VNTireRackCommon.AcceptItemFunction')
    container:setCapacity(10000) -- lotta weight
worthy sparrow
#

I have seen like a trunk with 2k cap

crystal canyon
#

I checked the base game surgical mask and compared most of the other ones exist

item Hat_SurgicalMask
{
    DisplayName = Medical Mask,
    DisplayCategory = FirstAid,
    Type = Clothing,
    Weight = 0.2,
    IconsForTexture = SurgicalMaskBlue;SurgicalMaskGreen,
    BloodLocation = Head,
    BodyLocation = Mask,
    CanHaveHoles = FALSE,
    ClothingItem = Hat_SurgicalMask,
    ScratchDefense = 5,
    CorpseSicknessDefense = 25,
    ChanceToFall = 10,
    Tags = FitsWallet;IsFireFuel;IsFireTinder,
    ConditionMax = 1,
    ConditionLowerChanceOneIn = 1,
}
opaque ocean
crystal canyon
#

@winter bolt

item Hat_SurgicalMask_GreenDown
{
    DisplayName = Medical Mask (Green, Down),
    DisplayCategory = FirstAid,
    Type = Clothing,
    Weight = 0.2,
    IconsForTexture = SurgicalMaskGreen,
    BloodLocation = Head,
    BodyLocation = Mask,
    CanHaveHoles = FALSE,
    ClothingItem = Hat_SurgicalMask_GreenDown,
    ScratchDefense = 5,
    CorpseSicknessDefense = 15,
    ChanceToFall = 15,
    Tags = FitsWallet;IsFireFuel;IsFireTinder,
    ConditionMax = 1,
    ConditionLowerChanceOneIn = 1,
    Insulation = 0.1,
    WindResistance = 0.2,
    ClothingItemExtra = Hat_SurgicalMask_Green,
    ClothingItemExtraOption = PullUpM,
    ClothingExtraSubmenu = PullDownM,
    WorldStaticModel = Hat_SurgicalMaskGreen_Ground,
}

}

opaque ocean
crystal canyon
#

your open jackets should use something similar to clothing extra, no?

worthy sparrow
#

But im using a property there

#

yeah

opaque ocean
#

yeah... I gotta do it automatically

worthy sparrow
#

Oh..

opaque ocean
#

trying to do it when I'm setting an AcceptItemFunction

#

which does work

winter bolt
#

does it still happen if you remove those lines?

crystal canyon
#

lemme try

opaque ocean
#

so that when mp drops, I can let players have a massive amount of storage in one container, but just for logs/sticks/twigs

#

unless I can find a workaround I'm gonna have to figure out how to register when a player is adding an item to a specific iso container, or removing from it... then grab each item added/removed and multiply it's weight by either 0.001 or 1000

random finch
#

Is there any documentation on B42 yet?

winged lotus
#

It worked! Thanks a lot โค๏ธ

winter bolt
opaque ocean
winter bolt
#

you're using a comma in the display name which must be breaking it

bronze yoke
#

if you're looking for real documentation, good luck ๐Ÿ˜…

worthy sparrow
opaque ocean
dire rivet
#

Uhm i have a problem i made a mod and i downloaded it but i cant see it in the mods section in PZ

random finch
#

I am excited but at the same time dreadful of cracking open B42, but I am multiplayer focused, so I stick to B41 for now.

opaque ocean
#

nah, setting an item's weight is solved from the vorpal swords mod, but my issue is just reliably getting like 1k+ items potentially and making sure not a single one gets missed with weight added/reduction

winter bolt
crystal canyon
#

i just used Green - Down

worthy sparrow
#

Never played around with capacities so i have no clue - but there must be a solution for that

opaque ocean
worthy sparrow
#

How about existing mods?

opaque ocean
#

Veracious Network's Garage https://steamcommunity.com/sharedfiles/filedetails/?id=3133520800 is best resource I've found so far, it's the only example of AcceptItemFunction being applied to an iso container I've managed to find. but their method of setting that container's capacity doesn't work.

made by actual saints though, comments explaining almost everything in there.

#

and the idea I'm looking to recreate is a failed hydrocraft idea where they just tried "storing" logs on an object via adding/reducing an item's weight that you'd leave on the ground.

pastel dune
#

Just out of curiosity. Does anybody know if it's even possible with the current engine for zomboid To put down objects like, for example, maybe a glow stick and then have that item still emit light when not being held by the character. I feel that if that is possible. It'd be a huge step towards quality of life. Because as it currently stands, it's really nice to have a glow stick, but if you can't leave a trail of them, then I mean, what's the point of a glow stick? You know what? I mean, same goes for candles. Are any other kind of potentially disposable or placeable light item

bronze yoke
#

it's possible, i don't know exactly how flexible it is but

worthy sparrow
bronze yoke
#

in build 41 you can literally place invisible 'street lamps' for world lighting, they looked kind of bad

#

the game used them for vehicle lightbars, and those look much better in b42 so there may be a much better way of doing it now

opaque ocean
winter bolt
#

i imagine it'd probably be added at some point in b42

#

flares seem pretty obvious with the new lighting

opaque ocean
#

yeah... but ripping socks is also obvious and it's been years.

pastel dune
#

Wicked I'm going to see about looking into seeing if I can't make placeable candles and that sort of thing for a after the power goes out. Lighting options that doesn't rely on power, hungry lampposts Everywhere, or having to need a loud generator

#

unless someone beets me to it

finite scroll
#

placeable candles would be a cultist's dream

worthy sparrow
#

Imagine NVG's with current darkness

opaque ocean
worthy sparrow
#

or Thermals of some sort, neat idea

pastel dune
#

I was thinking about that actually, but I'm worried. It might be a little too intensive on the client-side. I don't know how much of an impact it would have on processing.It might be too much

opaque ocean
#

TIS wants to say the game runs smoother, hold them to their word and send people back down to 30fps

#

or just lower the update speed on the light... or find a way to like... one update every couple seconds would tell the light to run along a gradiant for the variation

#

so update hits, zombrand says light's going from +20% to -5% intensity and is shifting from red to yellow slightly over 3 seconds until the next update... then just add in another zombrand every 1 second that quickly turns it off and on again for flickering

#

or just tie the effect to client-side game settings so if they turn lighting quality down, they can opt out.

pulsar pagoda
#

hello, does anybody know where the files for when you speak in game (press q) are? as in the text that shows up above the players head saying "HEY" "psst" or "hey"

opaque ocean
#

wait, did spiffo just react because he said hey?

#

or is that just on first message

tacit pebble
opaque ocean
bronze yoke
#

spiffo always waves at 'hello'

tacit pebble
#

oh

#

๐Ÿคฃ

pulsar pagoda
icy yarrow
#

IsChat.lua should have some of it

bronze yoke
#

if you just want the text, it should be in the translation files in lua/shared/Translate/EN, i think IGUI_EN?

opaque ocean
#

im gonna have to dig for it anyways... know full well if I tell the guy paying for the server and doing the real modwork that he can use his own custom voicelines for his character's shouting, that he's going to do that.

bronze yoke
#

i haven't looked for those specific lines however i've seen other player lines in there

pulsar pagoda
pastel dune
#

I'm also going to see if I can make it so cigarettes create a small glow around the character. When you're smoking, does it make sense that it's completely black, they do have a little light

pulsar pagoda
worthy sparrow
#

steamapps\common\ProjectZomboid\media\scripts\sounds\player files called sounds_player_voice_female and sounds_player_voice_male?
There are sounds for VoiceMaleLureCmon and VoiceFemaleLureCmon

opaque ocean
pastel dune
#

Time to learn lua, I don't know how to code ahhhhhhh

opaque ocean
pulsar pagoda
#

not the text itself i think

opaque ocean
#

and find files using them

hybrid tiger
#

Another noob question, is craftRecipie a new system for B42 that should be used instead of the just recipie? Is it depreciated or have usecases?

#

everything ive seen used recipie but in game files use craftRecipe

bronze yoke
#

yes, craftRecipes replace recipes

hybrid tiger
#

thanks ๐Ÿ‘

bronze yoke
#

not really a noob question the update's only been out a week!

opaque ocean
pulsar pagoda
#

found it! its in IG_UI_EN.txt in shared/en folder

hybrid tiger
#

well ive just started today so just mainly reading and understanding the new stuff but ty

pulsar pagoda
opaque ocean
#

like, if I go item 5 [log] then it only takes 1 log, but game files show item 4 [something] working fine.

worthy sparrow
tacit pebble
#

wait, did they add additional one line for tutorial? ๐Ÿ˜„

opaque ocean
tacit pebble
#

I was talking about IGUI_PlayerText_CalloutTutorial anyway i didn't know tutorial has been changed even it's mildly. i should check it out ๐Ÿ˜ฎ

opaque ocean
#

they uh... definitely made it so that they can turn off menus/hotkeys/etc at points in it

pulsar pagoda
#

now, does anybody know how i could make this script order the game to use a specific callout?

#

that way i can match it to what the player hears instead of something generic

opaque ocean
#

guess they got upset by that one guy who made a video years ago about killing every zombie in the tutorial and said "nuh uh, you're gonna die because we said so"

opaque ocean
#

not when to use it

pulsar pagoda
opaque ocean
#

that's a txt script... so no... but yeah that's something you should be able to do in lua. for sure.\

#

but you'd moreso need like... to find what's calling that audio file to be used, then append the txt to that function

pulsar pagoda
#

oh man i dont know lua haha

tacit pebble
#

search for this keyword, IGUI_PlayerText_Callout inside of \media\lua\
then you will be able to find which lua file uses this lines, means the result file is about shoutout feature

opaque ocean
#

lua's easy. just be like me... never mod a game before, suddenly get in over your head working on in-house mods for a day 1 b41 server with a sys-admin friend, then get so used to staring at lua that makes no sense to you that you start believing you're seeing patterns.

#

or just ask how to do something specific in here, or find a mod that's done it before.

pulsar pagoda
pulsar pagoda
latent fractal
spare burrow
#

Has anyone tried to make zombies jumping small fences not trip and go down but jump them normally/like the player but slower?

opaque ocean
spare burrow
#

I know there is a mod that replaces that entirely, but adding a % would be extra fun

pulsar pagoda
spare burrow
#

I remember checking that one back in the day but what it did was replacing an animation iirc

wet dune
#

how would i set these to be the only spawned outfits?

opaque ocean
latent fractal
spare burrow
#

mmm will take a look

#

i think adding a 10% of zombies not tripping instantly would remove the "fence cheese" strat entirely

latent fractal
opaque ocean
#

i mean... there's always gonna be cheese. I can just go sit on a floating floor in the middle of a street and throw molotovs around a police car if I wanted. I think the better question would be like... how could you have a zombie either climb the fence or turn into a crawler and thump the fence regardless of whether it's player-constructed or pre-genned

spare burrow
#

maybe one of them won't go down and you are at risk of getting hurt

opaque ocean
#

that's fair... just be careful with taking the mindset of "no cheese" into modding for an mp server... there will always be cheese, it's just a matter of whether your players are willing to tell you about it or not...

spare burrow
#

imagine that with sprinters, you can slow down a big batch of them but if even 1 or 2 goes out bam

spare burrow
spare burrow
opaque ocean
#

tbh though... more of a mega-project, but I feel like changing zombie pathing entirely would be a better solution... if fence cheese is a thing, why not have zombies recognize themselves as a collective group and start fanning out before encircling you while you're focused on the cheese

#

aka... you could also have zombies randomly decide whether they can or can't hop the fence, so that some of them go around it

spare burrow
#

it is easier to make them have a chance to jump correctly than path around which would make them be sitting ducks to melee xD

opaque ocean
#

yeah, im not saying I'd know how to do it, but it should be possible to look at a zombie pathing towards you, see a low fence in their way, run a zombrand to either let it continue or tell it "that's a wall"

#

and then you've got zombies surrounding you because you're standing in one place infront of a fence

bronze yoke
#

or have the zombies pull you back over the fence ๐Ÿ˜ˆ

opaque ocean
#

let them actually swing/bite through windows like we can

spare burrow
bronze yoke
#

it may actually be possible with some of the new tech, i haven't looked deeply into it

opaque ocean
#

idk... I personally find drag-down to be just a cheap "no recourse" kinda mechanic. clearly you gotta add a QTE to it, or just have them literally force you to vault the fence, fly like 5 tiles forward then trip.

spare burrow
#

but that is too complex on my side, bet someone can do it more efficiently

opaque ocean
#

screw it, that's going on our ideas board for variant zombies that we're working on... SWOLL zombie, that can literally pick you up and "throw" you.

pulsar pagoda
#

anybody know why the new voice style isnt showing up?

opaque ocean
#

yeah, voices are in CharacterCreationMain.lua, it's probably calling from a list somewhere

winged lotus
#

An question for you fellow modders tonight, I have not yet found a satisfactory way to create alternate build recipes to existing entities (i.e. if you would like two recipes to create the forge in build menu) but without having to recreate the full pipeline from tile definition to copying/pasting a lot of code, making things not very future proof. Ideally I would like to be able to add build recipes to existing entities in a more simple manner, but I did not manage to do so, has anyone maybe tried this before and got more lucky with this?

opaque ocean
tacit pebble
#

btw guys, does someone know why i can't override this .xml
\media\actiongroups\player\defaultTransitions.xml
can someone test and tell me if I'm crazy?

I can edit this file directly in project zomboid folder, but i can't override via mod

winged lotus
pulsar pagoda
# opaque ocean yeah, voices are in CharacterCreationMain.lua, it's probably calling from a list...

could it be this? function CharacterCreationMain:getVoicePrefix()
local voicePrefix = "VoiceFemale";
local voiceStyle = self.voiceTypeCombo:getOptionData(self.voiceTypeCombo.selected);
if voiceStyle and voiceStyle:getPrefix() ~= nil then
voicePrefix = voiceStyle:getPrefix();
end;
return voicePrefix;
end

function CharacterCreationMain:getVoiceType()
local voiceType = "0";
local voiceStyle = self.voiceTypeCombo:getOptionData(self.voiceTypeCombo.selected);
if voiceStyle and voiceStyle:getVoiceType() ~= nil then
voiceType = voiceStyle:getVoiceType();
end;
return voiceType;
end

function CharacterCreationMain:getVoicePitch()
return self.voicePitchSlider:getCurrentValue();
end

opaque ocean
winged lotus
#

But the more I think of it the more I think I must do the full copy, I guess even if I create Entity A with Recipe B, if the Entity A is destroyed by zombies or players hitting it, it will yield materials from the vanilla Recipe A ๐Ÿค”

opaque ocean
#

or lua to do what tilezed does but more robust

pulsar pagoda
# pulsar pagoda could it be this? function CharacterCreationMain:getVoicePrefix() local voic...

or maybe this function CharacterCreationHeader:randomVoice()
local bodyType = 2;
if MainScreen.instance.desc:isFemale() then
bodyType = 1;
end;
local voiceStyle;
local choices = {};
local voiceTypeCombo = CharacterCreationMain.instance.voiceTypeCombo;
if voiceTypeCombo then
for i in ipairs(voiceTypeCombo.options) do
voiceStyle = voiceTypeCombo:getOptionData(i);
if voiceStyle and (voiceStyle:getBodyTypeDefault() == bodyType) then
table.insert(choices, i);
end;
end;
voiceTypeCombo.selected = choices[ZombRand(#choices) + 1];
end;
end

opaque ocean
#

that or setting up some kinda strange lua code to like... "OnBuildObject" or whatever the function is called, grab what recipe is used to create the object and then leave some kinda metadata on the iso object to call later for an on-break event.

winged lotus
# opaque ocean ah, if you want to change what it turns into when broken, then you're talking ti...

I think having the same appareance is fine. But well now that I think of it "you can use branch, or you can use planks" could be fine in fact, but I am afraid that if I use branch to build instead of planks, there could be some abuse by then breaking the wall to ultimately turn branches into planks. I am not wure it will memorize the materials used, but this can be tested !

How would you go to just add a "or this item" to an existing build recipe without overriding it completely?

opaque ocean
#

i dunno how the code works exactly now... I know in b41 you could literally just go "for this line on the recipe, they can use either a hammer or a sledgehammer"

#

but they kinda turned everything into item tags for that these days

#

not sure if the old "x or Y" in recipes is still in

pulsar pagoda
#

anyone know why this doesnt work

opaque ocean
#

lemme go dig up my old hydrocraft addons to see if i can find examples of ors in recipes

winged lotus
# opaque ocean i dunno how the code works exactly now... I know in b41 you could literally just...

Yes this is also my experience, the only way I managed to customize the recipes from the Build menu in b42 was a complete override by copying complete files from the entities folder which I am not really fond of because it tend to break a lot more and cause incompatibilities... but maybe this is the only way. This or recreating everything in parallel which prevents incompatibilities but is not much more futureproof ๐Ÿ˜…

opaque ocean
#

ah

#

or was denoted by the /

bronze yoke
#

you can still do that with ;

#

the issue of extending vanilla recipes, from what i've seen so far, there isn't really great support for it - i imagine this is something that will be expanded upon during the unstable process

opaque ocean
#

please... I know you could replace item scripts by naming it the exact same as the vanilla item script and having the "replace" tag in it

frozen latch
#

ive been digging for hours and im not finding too much could someone be so kind and shoot me to a forum post or something talking about how to make a custom character mod?

opaque ocean
#

but i dont remember if I could actually do that with recipes

bronze yoke
#

you could do that with recipes before (with some limitations), i hear people have not been having luck with doing that now

opaque ocean
#

could probably do it with lua though, to insert text into the recipe script... but that's such a pain of a workaround.

bronze yoke
#

i'm more interested in the lua side of things and the prospects for editing the new recipes from lua seem pretty bleak so far, which is a shame with how powerful it was with the old ones

winged lotus
# opaque ocean recipe Craft Fine Wooden Short Handle { HCOakLog, Woodglu...

But this is a recipe for an item, that is relatively self contained, but recipes for entities are stored inside the entities, meaning (so far from what I can see and have tested, maybe I made a mistake) requires you to override the full entity to edit its recipe. Which is now a much more important thing to have to copy/paste into your mod to override it

winged lotus
#

Check the files in /media/lua/entities I was surprised too ๐Ÿ˜

opaque ocean
#

you mean iso objects by entities?

#

because those two scripts right there are the recipes and supporting stuff for building a tile

#

it's all in scripts/entities or scripts/xui

#

the recipes for them aren't in the tile info. the items they break down into if you scrap them or a zombie breaks them are though (I think?)

winged lotus
#

Hummmm... So I need to check that more in details then. Because when I look at entity_wood_walllvl1.txt all seems to happen inside, the recipe being defined by the component CraftRecipe section, alongside the sprite config in the same place

crystal canyon
#

I just bought Zomboid again but on GoG this time

opaque ocean
#

but those are in scripts, not lua

#

they're just text scripts, like other recipes now

frosty bridge
#

Hey guys! Sorry to disturb the conversation. Can someone give a little help with those lines to add parameters to the Propane Tank?

`local function patchPropaneTank()
local propaneTank = ScriptManager.instance:getItem("Base.PropaneTank")
if propaneTank then
propaneTank:DoParam("ReplaceOnDeplete = PropaneTankEmpty")
propaneTank:DoParam("RequiresEquippedBothHands = true")
end
end

Events.OnLoad.Add(patchPropaneTank)`

It works as intended for Propane Tanks that are generated after the game starts. But when I quit and load into the save again, all Propane Tanks goes back to the "Skizot's Carryable Everything" mod parameters.
I spend all day trying to figure out which "events." I should hook the .lua code to.
And I didn't wanted to change de vanilla item .txt to avoid conflicts with other mods.

bronze yoke
#

remove it from the event

#

OnLoad is too late

opaque ocean
bronze yoke
#

just make your file:```lua
local propaneTank = ScriptManager.instance:getItem("Base.PropaneTank")
if propaneTank then
propaneTank:DoParam("ReplaceOnDeplete = PropaneTankEmpty")
propaneTank:DoParam("RequiresEquippedBothHands = true")
end

frosty bridge
#

Right! I'll update the code without the event. and also look if the Skizot's mod aslo has anything updating the Propane Tanks at the start. Thank You!

winged lotus
# opaque ocean they're just text scripts, like other recipes now

Yes but I would have like to find something simpler, as easy as it is to override a single craft menu recipe but here with the build menu, something to only override the CraftRecipe part of these scripts. But anyway I think the scrap generated happen in the tile definition anyway which is not great for me (at least for some usecases) so I'll stick to either do a full replacement or just don't do it at all (a bit too much heavy lifting / upcoming maintenance if I need to do that by copying all full carpentry entities ๐Ÿ˜…)

Thanks for bouncing out ideas!

opaque ocean
#

while leaving everything else the same, and not overwriting the base-game file

#

if you want it to not scrap for planks though, you're gonna have to use lua to edit the tile definition to remove planks from it's scrap pool

#

or modify the entire tiledef, but yeah

#

would work similarly to how you do distros by inserting/editing lines in distribution tables

elfin stump
#
 int x,
 int y,
 int z,
 int radius,
 int volume)```

That is from the sound manager you can call with getWorldSoundManager().

The first parameter is IsoObject source and I have always set that to the player, but it is followed by coordinates.

Does anyone know what the relationship of the object and the coordinates are and why we have them both?

If I wanted to create a sound, for example an explosion sound in the distance, that all players on a multiplayer server could here, what is a good way to do this? Can I use cell or some object in the world for that first parameter?

Any help appreciated ๐Ÿ™‚ (B41)
frosty bridge
bronze yoke
elfin stump
bronze yoke
#

i'm not sure where you got this from because the first argument is supposed to be of type Object (which means literally anything except a primitive)

#

all the 'source' does is get passed to the event that fires when a sound is added, so mods can react to it

elfin stump
bronze yoke
#

ohhh i see the global is different...

#

the one actually on WorldSoundManager takes an object, my best guess without taking a look is it just requires IsoObject for no real reason

#

actually i think i still have a b41 decompile

#

yeah no reason, it just calls WorldSoundManager.instance.addSound which is the method i mentioned that takes any Object

elfin stump
#

Okay cool that is great so I can just pass something to it as a dummy so it has a parameter to satisfy it

bronze yoke
#

you can pass nil if you don't want to specify antyhing

elfin stump
#

Okay cool!

#

That will work for me then I was assuming it required it but nil is the answer here. Thank you albion!

pulsar pagoda
#

anyone know why this command wouldn't work?

elfin stump
pulsar pagoda
#

i thought that would be enough ๐Ÿฅฒ

elfin stump
#

You are trying to over ride the Q button text then?

pulsar pagoda
#

i would like text to show up to match specific lines but first i should be able to change the text in general

crystal canyon
#

is there a standard format to convert liquid container from b41 to b42? Im looking at the gas can both in 41 and 42 it weighs 1.6 encumbrance. In b41 a full gas can has 5 encumbrance, but in b42 a full gas can has 11.6 encumbrance, the fluid capacity on it is 10 so it makes sense that it is 11.6 now. Anyways, how can I calculate all this then to update a container ๐Ÿ˜ต

elfin stump
pulsar pagoda
#

IGUI_EN = {

IGUI_PlayerText_Callout1 = "LENNY!",
IGUI_PlayerText_Callout2 = "LENNEEEY!",
IGUI_PlayerText_Callout3 = "LENNYYYY!",
IGUI_PlayerText_Callout1New = "Hahah found ya Lenny!",
IGUI_PlayerText_Callout2New = "Lenny where are you?",
IGUI_PlayerText_Callout3New = "Lenny! You... bastard :(",
IGUI_PlayerText_Callout1Sneak = "noone would have me",
IGUI_PlayerText_Callout2Sneak = "you see the thing is... lenny?",
IGUI_PlayerText_Callout3Sneak = "hey",

}

#

there you go :)

random finch
#

How are icons handled for script items when its set to default?
They still seem to get unique icons in inventory although the parameter is default.

    item Mov_CardboardBox
    {
        DisplayCategory = Furniture,
        Type            = Moveable,
        Icon            = default,
        Weight              = 0.5,
        DisplayName        = Cardboard Box,
        WorldObjectSprite    = trashcontainers_01_24,
    }
bronze yoke
#

i think it just comes from the moveable

#

like i think it's just the actual world sprite?

random finch
#

Yah, it seems like it. i couldnt find the icon for this item in any texture pack or ui folder.

#

Thanks, this gives me direction

elfin stump
pulsar pagoda
#

i swear i double checked ๐Ÿฅฒ

chrome veldt
#

Do you guys know how I can tell wether or not the player right clicked on a hoppable wall using the OnFillWorldObjectContextMenu event (like tall fences) ? I got it for the window but somehow the fences are IsoObjects and isHoppable / canClimbOver return false

pulsar pagoda
elfin stump
# pulsar pagoda

That is odd, I would try recreating the text file new in teh folder and copy and pasting the contents into that. Maybe the file extension is hidden and you have a file named IG_UI_EN.txt.txt?

pulsar pagoda
elfin stump
#

Also verify encoding is UTF-8 but that shouldn't cause it not to exist.

pulsar pagoda
#

i saw someone with the same issue previously

pulsar pagoda
#

its so weird...

elfin stump
#

The rest of your code and what not is working tho?

pulsar pagoda
elfin stump
#

Are you restarting PZ to test?

pulsar pagoda
pulsar pagoda
# elfin stump The rest of your code and what not is working tho?

module Base
{

sound VoiceMaleShoutHey
{
category = Player,
clip
{
file = media/sounds/shout/lenny.wav,
reverbFactor = 0.1,
reverbMaxRange = 20.0,
}

    category = Player,
    clip
    {
        file = media/sounds/shout/lennywyhn.wav,
        reverbFactor = 0.1,
        reverbMaxRange = 20.0,
    } 
    
    category = Player,
    clip
    {
        file = media/sounds/shout/lenny2.wav,
        reverbFactor = 0.1,
        reverbMaxRange = 20.0,
    } 
    
    category = Player,
    clip
    {
        file = media/sounds/shout/lenny3.wav,
        reverbFactor = 0.1,
        reverbMaxRange = 20.0,
    } 
    
    category = Player,
    clip
    {
        file = media/sounds/shout/lennywya.wav,
        reverbFactor = 0.1,
        reverbMaxRange = 20.0,
    } 
    
    category = Player,
    clip
    {
        file = media/sounds/shout/lennybastard.wav,
        reverbFactor = 0.1,
        reverbMaxRange = 20.0,
    } 
    
    category = Player,
    clip
    {
        file = media/sounds/shout/lennyfoundya.wav,
        reverbFactor = 0.1,
        reverbMaxRange = 20.0,
    } 
}    

}

#

this handles the new voice lines

elfin stump
#

When you press q you are hearing those?

pulsar pagoda
elfin stump
#

k that means you are all setup right and the break is further in let me think

#

Your path looks good, just to verify you have the folder spelt "LUA" and not "IUA" with an I right?

pulsar pagoda
#

lua

#

i copy pasted the file name

#

maybe i could try remaking the whole thing?

#

like copy pasting one by one

elfin stump
#

if you are are okay with it you can zip the file at level LENNYYYY and I would be happy to peak at it

vague marsh
#

How can I trigger or work with [SampleBlaBla] in a crafting recipe if it's defined within a function like SampleBlaBla(items, result, player) on B42?

from shared lua file:

function SampleBlaBla(items,result,player)
    slotHandler(items,result,"Example",player,false)
end

now this is the recipe from b41 for example:

recipe Add SampleBlaBla
    {
        [SampleBlaBla],
        LeatherStrips=4,

        Result:SampleBlaBlaResult,
        Time:300.0,
        OnCreate: OnCreateSample,
        OnTest: OnTestSample,
        Category:Tailoring,
        SkillRequired:Tailoring=2,
        Tooltip: Sample,
    }

now for b42, How to do it here?

craftRecipe Add SampleBlaBla
   {    
        Time = 300,
        category = Tailoring,
        Tags = InHandCraft,
        SkillRequired = Tailoring:2,
        OnCreate = OnCreateSample,
        OnTest = OnTestSample,
        
        inputs
        {
            item 4 [Base.LeatherStrips],
        }
        outputs
        {
            item 1 Base.SampleBlaBlaResult
        }
    }
crystal canyon
#

for best practices, should I create new fluid containers full or empty?

fiery pecan
#

anybody figure out how body locations work with the new radio system?
I.e. A ManPack radio that uses a custom "RadioFront" body location?

For some reason my custom radio's not radio-ing when it's not in a hand. BUT, if I make it use the "Back" body location, it works fine.

elfin stump
# pulsar pagoda sure! thanks :)

I put your lua folder in a blank project and it works. So you are good from lua all the way to the file and the file is good. You only have the one copy? Could it be possible you are editing a different copy that you are testing?

silent zealot
#

Easy fix: Rename your mod "Backpack Radios"

fiery pecan
#

wut?

silent zealot
#

That's my sarcastic answer ๐Ÿ˜‚

crystal canyon
#

lol

atomic hare
#

Nor exactly mod dev help, but is anyone working on a mod to make rhe the barrels we see in the world function as liquid containers?

silent zealot
#

More helpfuly - does it work with other vanilla locations? Good thing to test to see if teh problem is somehow related to the new location you added.

pulsar pagoda
fiery pecan
#

"Back", and the hands

silent zealot
#

I don't know enough about adding custom body parts to be really helpful, but maybe whatever code triggers the radio only checks certain explicitly listed locations for a radio? e.g. vanilla only allows hand and backpack radios, so the code is if (radio in hand ) or (radio on back) instead of (if radio in any loaction)

fiery pecan
#

idk fam

elfin stump
pulsar pagoda
#

oh man

#

wait

#

maybe the game is loading the workshop mod instead of the local mod

#

and thats why it doesnt load

elfin stump
#

That sounds like it!

#

Yep, two copies, you are working on the other one. With what you sent me I am seeing audio and text after pasting that to my test project.

#

Good news is that is all correct, once you move to workshop it should work right away.

#

Now I am not sure how you will get your text to match your audio tho, I am seeing your text and hearing your audio but they do not always match the right line.

pulsar pagoda
elfin stump
pulsar pagoda
#

i will probably just make them all say lenny

#

i can match the whispers tho bc there are only 2 audio tracks and only 1 + 2 text lines for each

median karma
#

made my first scripting, the mod turns out ingame, but nothing is changed, is there a reason why? everything is changed accordingly...

#

(the mod is in 42)

elfin stump
vague marsh
elfin stump
elfin stump
#

So you will want to goto where you function is and modify the function itself to take the parameters (recipeInfo, player) instead. recipeInfo returns a complex object tho, let me see if I can find the old post.

crystal canyon
#

Are fluid containers a different thing from the actual item script?

pulsar pagoda
crystal canyon
#

Made this item but It doesnt show a fluid container nor I can fill it
item PlasticDrum
{
DisplayCategory = Water,
DisplayName = Plastic Drum,
WorldStaticModel = WorldItem_PlasticDrum,
Icon = PlasticDrum,
Type = Normal,
Weight = 2.5
component FluidContainer
{
ContainerName = PlasticDrum,
capacity = 100.0
}
}

silent zealot
#

After much hard work I have created a mod that crashes the game if you put on underpants.

#

Oddly, this feels like a lot of progress.

pulsar pagoda
silent zealot
#

And not throwing syntax errors!

#

And the vanilla function I replaced with own is running the replacment!

#

And it knows underpants are special and trigger the new code.

elfin stump
# vague marsh How can I trigger or work with `[SampleBlaBla]` in a crafting recipe if it's def...

B41 format for functions coming from OnCreate:

    --stuff
end```

B42 format for functions coming from OnCreate:

```function SampleBlaBla(recipeInfo, player)
    --stuff
end```

```function FetchFirstItemFromRecipeInfo(recipeInfo)
    if recipeInfo then
        local meta = getmetatable(recipeInfo)
        if meta and meta.__index then
            -- Access the __index table
            local indexTable = meta.__index
            if type(indexTable.getFirstCreatedItem) == "function" then
                -- Call the function
                local result = indexTable.getFirstCreatedItem(recipeInfo)
                print("SUPERCONSOLE!!::::: Result of getFirstCreatedItem: " .. tostring(result))
                print("SUPERCONSOLE!!::::: WE CAN NOW FIND THE GETVISUAL FUNCTION: ")
                print("SUPERCONSOLE!!::::: AND HERE IT IS!"..tostring(result:getVisual()))
                print("SUPERCONSOLE!!::::: Returning the located first item")
                return result
            else
                print("SUPERCONSOLE!!::::: getFirstCreatedItem is not a function or not accessible.")
            end
        else
            print("SUPERCONSOLE!!::::: Metatable or __index not found.")
        end
    else
        print("SUPERCONSOLE!!::::: recipeInfo is nil.")
    end
end```

This is a function I used to grab the recipeInfo item that you can get with getFirstCreatedItem, so from here you can modify and call anything you need from this page:

https://demiurgequantified.github.io/ProjectZomboidJavaDocs/zombie/entity/components/crafting/recipe/CraftRecipeData.html
vague marsh
tranquil reef
#

Is there a keybind to erase error logs in debug mode or something

#

It's hard to see what's new and what's old, and restarting just for a clean slate is a pain in the ass

vague marsh
# elfin stump B41 format for functions coming from OnCreate: ```function SampleBlaBla(items,r...

Would it work if I call both OnCreateSample and SampleBlaBla functions together in the OnCreate field by combining them into one?

e.g.

function combinedOnCreate(recipeInfo, player)
    OnCreateSample(recipeInfo, player)
    SampleBlaBla(recipeInfo:getItems(), recipeInfo:getResult(), player)
end
craftRecipe Add SampleBlaBla
{    
    Time = 300,
    category = Tailoring,
    Tags = InHandCraft,
    SkillRequired = Tailoring:2,
    OnCreate = combinedOnCreate,           //theyre now combined
    OnTest = OnTestSample,
    
    inputs
    {
        item 4 [Base.LeatherStrips],
    }
    outputs
    {
        item 1 Base.SampleBlaBlaResult
    }
}
pulsar pagoda
#

anybody know why the voice style shows up like that igui_voice beforehand?

elfin stump
pulsar pagoda
elfin stump
#

IGUI_Voice_ArthurMorgan = "Arthur Morgan", - add that to the translation file with all your lenny lines

pulsar pagoda
#

i would like to turn on and off the lenny voicelines by checking for this voicetype

elfin stump
pulsar pagoda
elfin stump
#

Nice!

pulsar pagoda
elfin stump
#

Hmm, not entirely but you can start here: https://demiurgequantified.github.io/ProjectZomboidJavaDocs/zombie/characters/IsoPlayer.html getVoiceType is a function on that. You may be able to find a way to get the player and call that, but I am unsure if you can add and remove from a language file after load or how to best do that without a further study of the system. You might need to dig in here or see if anyone else has worked with this system yet.

silent zealot
#

Figured it out: underpants do not support getInventory() because Item and ContainerItem are different java objects, based on "Type=Container" in the object definition file. Which is why this works easily if I change underpants to "Type=Container", but that has the side effect of removing all underpants from the world every time you activate/deactivate the mod (and "fails to load due to an error" counts as deactivating)

vague marsh
vague marsh
elfin stump
tranquil reef
#

is it simple to play an already existing player voice line?

#

so if I wanted to play the "hey!" thing through code in a custom function, would I need to go through a bunch of hoops or just do something simple

elfin stump
tranquil reef
elfin stump
crystal canyon
#

I really think I need to add some sort of code to recognise this item as a fluid container...

item PlasticDrum
{
    DisplayCategory = Water,
    DisplayName = Plastic Drum,
    WorldStaticModel = WorldItem_PlasticDrum,
    Icon = PlasticDrum,
    Type = Normal,
    Weight = 2.5 
    component FluidContainer
    {
        ContainerName = PlasticDrum,
        capacity = 100.0,
        RainFactor = 0.5,
        Fluids
        {
            fluid = Water:1.0,
        }
    }
}```
It is basically a copy of a vanilla item but the resulting item in-game is not the same weight as this and doesnt have a fluid container
#

also, when I have the item on my inventory, I cant access sinks or natural lake water options

#

but theres no error on the console

#

Alright, I need to stop modding and play or do something else lol

#

a goddamn comma!!!!!! after weight ๐Ÿ˜ญ ๐Ÿคฃ

opaque ocean
#

you know how many times I forget a closing bracket somewhere and end up CTDing on startup?

#

Alright, it's time for me to ask for the big help.

#

can someone help point me in the right place for this?

#

last line doesn't actually fire when placing the container, or it's firing too soon before it's built.

#

and uh... if anyone knows a way in lua to get around the 100 container capacity limit for iso objects, I'm all ears.

tranquil reef
#

found this stuff, trying to find the source sound files but they're nowhere to be found in sounds

#

anyone know where I can find these events

tranquil reef
opaque ocean
tranquil reef
#

No idea where it could be. Hidden files is unticked

onyx valve
#

Hi, is there a tutorial or any resource to know how to configure the xml files of an animation?

tranquil reef
opaque ocean
#

does that sound actually play in-game

#

?

tranquil reef
#

yeah, that's the weird part lol

#

not like they're broken or anything. I played them with code and it just works

opaque ocean
#

like, if you attach a print function to that event specifically, does it fire?

crystal canyon
#

maybe its a file/folder only available at runtime?

opaque ocean
#

oh

#

no n3tworks right, one sec

#

it's probably in zombie, not media

#

that said... feels depreciated

#

because of the new voice acting

bronze yoke
#

events are fmod

#

they're in the banks in media/sound/banks/Desktop/

opaque ocean
#

lame

#

so they're hiding the audio files from us

bronze yoke
#

nothing is in zombie except java .class files

opaque ocean
#

yeah, just figured it could be in a class or something

bronze yoke
#

not really, fmod just lets them do a lot more with the audio

#

you can extract them with some tool you can get online if you want the sounds

opaque ocean
#

yeah, fair...

#

just seems like another external tool needed to figure out filestructure though

#

to utilize existing resources for mods

bronze yoke
#

you just play the sound script if you want to play the sound

#

you don't need to extract it

opaque ocean
#

would you be able to point that sound script at a loose wav/ogg file in a custom sounds folder for a mod to replace it?

bronze yoke
#

yeah

#

just copy the script into your own script file and change event = to file =

opaque ocean
opaque ocean
#

any chance you can take a look at that? only have two issues, one of them's a relatively simple event not firing or firing properly

#

the other one is same issue as earlier that's about to make me go look into the whole shtick of trying to find how to see if a player is adding/removing items specifically from a designated sprite's container and then modifying those items as they enter and exit

#

just not sure if OnObjectAdd got depreciated or what's wrong with it

bronze yoke
#

if you're expecting it to fire every time an object loads in or something it doesn't, i think it only fires when new objects are placed or otherwise spawned (but not when the game loads a map object for the first time or anything)

opaque ocean
#

what I'm trying to get it to do is apply when the iso object's placed

#

there's another couple lines under it that're functioning just fine

#

full script here since I didn't originally write it anyways.

bronze yoke
#

to be honest i'm not sure i've ever used that event since it seems pretty spotty

umbral ingot
#

Okay I'm following the b42 Mod Template for adding a new mod. The structure is correct. Launching PZ through steam and I am able to find and upload my mod to the workshop, but when I subscribe to it and download (It appears in my Zomboid mods folder and my steamapps/workshop folder) the game doesn't show it in my mods list. It works with other mods I've downloaded from steam. Anyone expereienced this issue?

opaque ocean
umbral ingot
#

yea one sec

opaque ocean
opaque ocean
umbral ingot
opaque ocean
#

fair... if it's not showing up in-game though, I get the feeling that's the issue

umbral ingot
#

Ill give it a shot and see if that works

opaque ocean
#

try moving everything from common into a folder called 42, same directory as common's in.

bronze yoke
#

mod.infos have been noted to not behave well in common

#

and imo it's not really desirable to have it in there

crystal canyon
#

is it possible now to add dynamic colored lights?

umbral ingot
#

It worked! Awesome was banging my head lol. Makes sense the info file goes into specific version folders. Thanks!

opaque ocean
crystal canyon
#

yeah, like have a military flashlight be able to switch to like a red light

opaque ocean
#

definitely possible... don't have any examples though

#

might need to either add some ui/something on the right click menu, or a recipe to swap modes

#

then have that mode swap just change the light color

crystal canyon
#

I need to track the flashlight code to see how the lighting works

opaque ocean
#

honestly, I feel like the place to look is lamps

#

because they definitely added a ton of new colored lamps

#

so just see how they've got different colors, and see if that can be applied to the flashlight

eager imp
#

anyone been able to take a look into how the grapple stuff works

tacit pebble
crystal canyon
#

that code is close, but it requires a light id, so its more than likely for static sources

#

static void setLightColor(int var0, float var1, float var2, float var3)
var0 is the ID of the light source

tacit pebble
#

oh it was not only rgb :0

crystal canyon
#

It might work, doing some debugging to see if flashlights have a source ID for the light

opaque ocean
#

shit

#

closest thing I can find... havent used it, but preview image says it's creating lights with colors that supposedly follow players. @crystal canyon

#

that said, it might be just spawning a static lightsound ontop of the player and then moving it as they move... but that is a workaround

#

ooh...

#

yeah it's doable @crystal canyon look into ShineTogether

#

you'd have to tweak it since that code is centering a light on a player rather than projecting a cone... but that's prob as easy as cross-referencing it against how flashlights project a cone

crystal canyon
#

nice

pulsar pagoda
#

how do y'all send code nice and neatly?

#

i need help with one that goes past 200 char

opaque ocean
pulsar pagoda
pulsar pagoda
opaque ocean
crystal canyon
#

you can drag and drop or copy and paste code between three

crystal canyon
#

`` `

opaque ocean
#

there's no closing brackets missing...

#

okay time to actually read it

pulsar pagoda
opaque ocean
crystal canyon
#

item 4 [Hat_Cigarette],
item 1 [SheetPaper2]

opaque ocean
#

only tested it a bit, but seems the []'s are neccessary

pulsar pagoda
opaque ocean
#

oh... or a missing comma

pulsar pagoda
#

let me check, thanks

crystal canyon
#

outputs dont need the []

pulsar pagoda
#

plenty of problems

pulsar pagoda
opaque ocean
#

im the guy who forgets brackets, I don't think about commas lmao

tacit pebble
#

MakeSmokingPipe
comma is missing

crystal canyon
#

been dealing with items/recipes all day... ๐Ÿ˜ญ ๐Ÿ˜ฉ

tacit pebble
#
    craftRecipe MakeSmokingPipe
    {
        timedAction = Making,
        Time = 100,
        Tags = InHandCraft,
        AutoLearn = Woodwork:2,
        category = Miscellaneous,

        inputs
        {
            item 2 [Hat_Cigarette],
            item 1 [Plank] !!!! HERE !!!!
            item 1 tags[Saw] mode:keep flags[MayDegradeLight;Prop1],
        }
       outputs
       {
           item 1 Hat_Pipe,
       }
pulsar pagoda
opaque ocean
pulsar pagoda
#

its loading!

#

thanks you guys

opaque ocean
#

yeah, great how they changed almost everything about item/recipe code on us, but didn't just add in a "if it's broken, don't load it and spam errors"

crystal canyon
#

I also spent like 12 hours messing with a function I wasnt able to complete. Maybe ill share it here so someone can have a crack at it.

tacit pebble
opaque ocean
#

i don't trust that GPT guy

#

i keep asking him how to do stuff and he keeps making up events out of thin air

crystal canyon
#

gpt misses a LOT of commas and adds stuff it doesnt need to

#

you have to talk to it as it it were a kid

tacit pebble
#

Nah it's up to you how to ask and what you request. basically, you guys are right when making a code.

opaque ocean
#

GPT sucks at zomboid modding... because it refuses to say "I can't do that" it will just make shit up and confidently say "this will work" when it may as well be gibberish

pulsar pagoda
#

like 5 years old or something no?

#

aww man :(

opaque ocean
#

hell, send log and I'll tell you what it probably is within seconds

#

logs are in same zomboid folder as workshop is

bronze yoke
#

the new script error handling is a little irritating

#

the new recipes do have pretty indepth error checking... too bad their response to any kind of error is to crash to desktop...?

crystal canyon
#

Take a look at how I had to train it to assist me with recipes

tacit pebble
#

btw you have both
item 1 [Cigarettes] and item 1 [Cigarette]
are they different items?

pulsar pagoda
opaque ocean
pulsar pagoda
#

just found that

crystal canyon
pulsar pagoda
opaque ocean
#

nah, recipes are usually nice about giving nice easy fixes to nice simple problems. I don't mind the ctd or refusal to load since it just speeds up the workflow.

#

that might just be my stockholm syndrome from having to constantly make in-house addons for hydrocraft for the server though

crystal canyon
#

ouch Hydrocraft

#

mice mod, too outdated

pulsar pagoda
opaque ocean
#

very nice mod, but definitely feels like something that's a decade old and passed though half a dozen maintainer's hands

tacit pebble
#

debugging time ๐ŸŽ‰

opaque ocean
crystal canyon
#

nah, just start a new game

#

itll load

opaque ocean
#

being in here means I get to avoid my actual work... like having to learn blender for other mods...

pulsar pagoda
#

now it says that it didnt find cigarette

tacit pebble
pulsar pagoda
opaque ocean
#

now cigarette singular doesn't exist

pulsar pagoda
opaque ocean
pulsar pagoda
#

maybe it should be called CigaretteSingle

#

?

crystal canyon
#

[24-12-24 02:43:53.099] LOG : General f:0, t:1735019033099> WorldDictionary: Checking dictionary....
[24-12-24 02:43:53.114] DEBUG: General f:0, t:1735019033114> ScriptsDictionary$ScriptRegister.parseLoadList> - Parse load list: SpriteConfigs.
[24-12-24 02:43:53.331] LOG : General f:0, t:1735019033331> java.lang.Exception: Item not found: Cigarette. line: item 1 [Cigarette].
[24-12-24 02:43:53.332] LOG : General f:0, t:1735019033332> at zombie.scripting.entity.components.crafting.InputScript.OnPostWorldDictionaryInit(InputScript.java:677).
[24-12-24 02:43:53.332] LOG : General f:0, t:1735019033332> at zombie.scripting.entity.components.crafting.CraftRecipe.OnPostWorldDictionaryInit(CraftRecipe.java:637).
[24-12-24 02:43:53.332] LOG : General f:0, t:1735019033332> at zombie.scripting.ScriptBucketCollection.OnPostWorldDictionaryInit(ScriptBucketCollection.java:188).
[24-12-24 02:43:53.333] LOG : General f:0, t:1735019033333> at zombie.scripting.ScriptManager.PostWorldDictionaryInit(ScriptManager.java:1719).
[24-12-24 02:43:53.333] LOG : General f:0, t:1735019033333> at zombie.iso.IsoWorld.init(IsoWorld.java:2590).
[24-12-24 02:43:53.333] LOG : General f:0, t:1735019033333> at zombie.gameStates.GameLoadingState$1.runInner(GameLoadingState.java:301).
[24-12-24 02:43:53.333] LOG : General f:0, t:1735019033333> at zombie.gameStates.GameLoadingState$1.run(GameLoadingState.java:251).
[24-12-24 02:43:53.334] LOG : General f:0, t:1735019033334> at java.base/java.lang.Thread.run(Unknown Source).

you need to test on a new game/world

tacit pebble
#

Item ID
Base.CigaretteSingle

opaque ocean
#

yep

pulsar pagoda
#

i had it opened in the next folder over

#

im porting a b41 mod

#

now it should work

opaque ocean
pulsar pagoda
#

best part is theres also a cosmetic issue i managed to see, backwards cigies

#

so even if i fix this theres more to do

crystal canyon
#

Yep, flashlights dont have a light source ID

LOG : Lua f:308, t:1735019349947> Equipped a HandTorch in the primary hand.
LOG : Lua f:308, t:1735019349947> No light source ID found for the equipped HandTorch.

opaque ocean
#

that's prob a simple number change in the model definition text file though

opaque ocean
#

just means they don't emit it from the ground... but that could be solved

pulsar pagoda
#

another crash goddammit

tacit pebble
#

oh btw one more missing comma here.

craftRecipe MakeCigar
        inputs
        {
            item 4 [Hat_Cigarette],
        item 1 [SheetPaper2] !!! HERE !!!
        }
opaque ocean
#

lmao

#

wait, no it would have crashed from that

#

oh wait no uh... maybe not?

#

if it's going in order down the list and hitting the first issue

#

fuck it, I already pitched making a streamlined distribution tool to other guy for server, may as well go throw that old "Graphical recipe builder" tool idea from 2 years ago back on the board too...

pulsar pagoda
#

still crashing

opaque ocean
#

because once we had a distribution file graphical builder made, that was going public anyways... no eta but yknow

pulsar pagoda
#

its something to do with cigarette

#

found it

#

lets see

tacit pebble
#

๐Ÿค”

flint parcel
#

queeestion does anyone happen to know where the single player starter items list is (b42 unstable)

#

trying to make an extremely basic mod for personal use but i am failing to actually locate this

flint parcel
#

fair enough.

#

ill check that out in a second, thanks

crystal canyon
#

spawnitems.lua

flint parcel
#

heyyy, thanks

crystal canyon
#

-- add StarterKit if configured
if SandboxVars.StarterKit then
local bag = playerObj:getInventory():AddItem("Base.Bag_Schoolbag");
local bat = bag:getItemContainer():AddItem("Base.BaseballBat");
bat:setCondition(7);
local hammer = bag:getItemContainer():AddItem("Base.Hammer");
hammer:setCondition(5);
playerObj:getInventory():AddItem("Base.WaterBottle");
playerObj:getInventory():AddItem("Base.Crisps");
playerObj:setClothingItem_Back(bag);
end;

ashen mist
#

question

#

do FBX files work in B41

opaque ocean
ashen mist
#

i'm considering backporting some weapons n' stuff from B42

#

alright baller

opaque ocean
#

p sure fbx have been around for a while

ashen mist
#

yeah, 2006

#

just got worried since base B41 stuff i saw was plain ol x

#

i saw a new and unusual extension and got scared

opaque ocean
#

no i mean like, in game. but then again from a TIS development standpoint, 2006 was basically last week. but yeah, they had FBX's in the game in b41

hybrid tiger
#

New to modding and having some issues getting the OnCreate to run a function when making an item.
In theory I am calling my function SkittlesSourdoughInactive but not seeing anything being printed

hybrid tiger
#

b42

opaque ocean
#

they changed a ton of stuff in recipe code in b42, can you show the full recipe or txt file?

hybrid tiger
#
  {
    Time = 15,
    ToolTip = Makes a basic Sourdough Starter to be used in bread in place of yeast,
    Tags = InHandCraft;Cooking,
    category = Cooking,
    --attempt to call function SkittlesSourdoughInactive in media/lua/server/recipe_sourdough.lua
    OnCreate = SkittlesSourdoughInactive,
    inputs
    {
      item 1 [Base.EmptyJar] mode:destroy,
      item 2 [Base.Flour2],
      item 1 [*],
            -fluid 0.5 [Water],
    } 
    outputs
    {
      item 1 skittles.SourdoughStarterInactive,
    }
  }
#

this is for that recipie

#

and this is function call

  print("test!")
  player = getPlayer();
  player:Say("made a starter!");
end```
opaque ocean
#

shit... did they change OnCreate...

#

lemme go dig for an example in TIS code

hybrid tiger
#

Im worried that I was looking at b41 examples and thats why im getting goofed up

opaque ocean
#

OnCreate still exists...

#

not sure if you need more stuff to point to that function though

#

or if that's just more overcomplicating things from TIS

crystal canyon
#

when working on updating for b42, I have a window with VScode loaded with the assets folder from the zomboid folder. A simple search and you can find anything

bronze yoke
#

it's local

#

it searches for functions by the name you give in the global namespace, it can't be local

hybrid tiger
#

so just function xyz()

bronze yoke
#

yeah

opaque ocean
#

is that (_craftprocessor) missing from his function on the recipe causing it?

vague marsh
opaque ocean
bronze yoke
#

no, you just give it the name of the function

opaque ocean
#

1 probably being main hand, 2 being off hand

hybrid tiger
#

alright crashing on startup

#

lemme look at logs

vague marsh
opaque ocean
vague marsh
hybrid tiger
#
ERROR: General      f:0, t:1735020562163> ExceptionLogger.logException> Exception thrown
    java.lang.Exception: CraftRecipe error in MakeStarterDough at CraftRecipe.Load(CraftRecipe.java:359).
    Stack trace:
        zombie.scripting.entity.components.crafting.CraftRecipe.Load(CraftRecipe.java:359)
        zombie.scripting.entity.components.crafting.CraftRecipe.Load(CraftRecipe.java:249)
        zombie.scripting.ScriptBucket.LoadScripts(ScriptBucket.java:265)
        zombie.scripting.ScriptBucketCollection.LoadScripts(ScriptBucketCollection.java:122)
        zombie.scripting.ScriptManager.loadScripts(ScriptManager.java:1639)
        zombie.scripting.ScriptManager.Load(ScriptManager.java:1562)
        zombie.GameWindow.initShared(GameWindow.java:156)
        zombie.GameWindow.init(GameWindow.java:1442)
        zombie.GameWindow.mainThreadInit(GameWindow.java:701)
        zombie.GameWindow.mainThread(GameWindow.java:599)
        java.base/java.lang.Thread.run(Unknown Source)```
grizzled fable
#

hi, can anyone help? i'm converting recipes in 42 format but when i start the game it won't start with the recipes file. Why is breaking my game? it seams all good ๐Ÿ˜ฆ

opaque ocean
#

time to play find the missing bracket/comma

#

they're all there

grizzled fable
#

gpt did this, is still possible something is missing?

sly monolith
#

hey there, thank you for your work, unfortunatelly it doesn't seem to work, not sure where to see the stuff you placed in the 'print' function, as to why

opaque ocean
#

just need the last debuglog

opaque ocean
#

tf...

#

wait

ashen mist
#

so i dont have anything that can open plain x files, any clue what the difference between the normal and alt models are?

grizzled fable
#

i see time goes not capital

opaque ocean
#

why is it tagged inhandcraft?

#

no that is a tag...

crystal canyon
#

so it doesnt need a surface

opaque ocean
grizzled fable
elfin stump
grizzled fable
opaque ocean
#

literally none of the variables/tags/etc should be capitalized, items, categories, functions/events can be though

#

wait no...

bronze yoke
#

i haven't checked for craftrecipes specifically but usually property names aren't case sensitive (values generally are though)

opaque ocean
#

yeah just looked at another tis example... it's not case sens

sly monolith
opaque ocean
#

is it because they're missing categories?

crystal canyon
#

it looks good wtf

hybrid tiger
#

im getting exact same error so im also quite confused

#

since mine was launching but now its not

elfin stump
#

Likely the function isn't getting called because your OnCreate = hasADifferentFunctionNameHere

opaque ocean
# grizzled fable yeah..

check adding categories. I don't really see anything else super wrong aside from that's missing... maybe the new UI demands categories?

grizzled fable
opaque ocean
grizzled fable
#

maybe he don't find the items i put as inputs and outputs?

hybrid tiger
#

pz updated like 13 min ago maybe dev man messed something up?

opaque ocean
#

nothing that im seeing wrong with your scripts

#

and the log would be screaming it if the item was named wrong

sly monolith
vague marsh
opaque ocean
#

and it's the only missing factor I see

grizzled fable
#

i don't see category in vanilla recipes

#

not in all of them

hybrid tiger
#

categories in mine and also crashing

grizzled fable
#

i'm gonna try

sly monolith
elfin stump
opaque ocean
# grizzled fable

reply bumping s4's log. It's not giving any super clear reason without digging into decompiled, and I don't have decompiled

grizzled fable
#

what the base category?

opaque ocean
elfin stump
#

BattleReward.AmmoPack looks like the odd one out, what is that?

#

It usually won't say much with the new recipes as far as I have seen it will just crash

pulsar pagoda
#

hey guys how do i have another input for the same result in here?

#

do i just do another inputs {} under the existing one?

opaque ocean
bronze yoke
#

craftRecipe error means an invalid property

pulsar pagoda
grizzled fable
bronze yoke
#

it's Sound

opaque ocean
#

yeah alb, can we have an example of using ; in a recipe in the same way that / used to be used?

bronze yoke
#

there is no Sound property

opaque ocean
#

recipes need sounds?

bronze yoke
#

sounds are defined in the timedAction

opaque ocean
#

OH

elfin stump
#

Ah yep thats it!

opaque ocean
#

fucking gpt, man

grizzled fable
#

so is the sound?

opaque ocean
#

this is why im saying, gpt sucks for zomboid. it just pulls things out of it's ass and presents them as semi-believable things

bronze yoke
#

gpt is near useless, if you're good enough to catch all of its mistakes you're good enough to do it yourself

elfin stump
#

gpt is for the grunt work you already know how to do but don't want to do ๐Ÿ™‚

grizzled fable
#

YEP it is the Sound!!

#

dam!

opaque ocean
#

but it just got used for that grunt work and decided to slap "sounds" on all the recipes... I would have fucking believed that was a tag.

crystal canyon
#

lol

elfin stump
#

If you correct its formatting enough sometimes it will show you pictures of a lake

opaque ocean
#

i coulda sworn there was a tag to play a sound while crafting

grizzled fable
#

ty guys

bronze yoke
elfin stump
#

it used to be built in there in b41 but went to b42 cahtgpt picked it up from the example of old and got confused haha

#

sound and anim are moved there

sly monolith
opaque ocean
bronze yoke
#

i quite dislike that there are now two different things called timed actions but oh well

elfin stump
#

I never dug into the others too much but I did look at em, these ones are much easier to deal with it seems

#

but yeah I was confused by that if they were related or the same or the new timed actions are replacing the old or what

bronze yoke
#

it's just weird and confusing to have the same name for two different concepts

#

timed action scripts technically configure the crafting timed action so i guess that's what the name is meant to mean

elfin stump
#

yeah it is but thats good to know they are just differrent things

bronze yoke
#

but now whenever we talk about actual timed actions we're all going to get confused

elfin stump
#

TimedActions and timedActions i think

#

haha

opaque ocean
#

I dun like it. change bad.

#

make it optional and keep my option to not go make a billion different timed actions for specific recipes, just let me essentially define the timedaction in the recipe

grizzled fable
#

did they change even recipecodes?

opaque ocean
#

dude they changed everything, man.

#

they BRICKED every b41 mod

bronze yoke
#

yeah they have totally different signatures now

grizzled fable
#

noooo XD

opaque ocean
#

and also probably map mods

#

rip the cool but super outdated 6+ year old maps

bronze yoke
#

remind me to update the links generator for this page to point to my javadocs

opaque ocean
#

speaking of java... alb... I know you don't have an alternate OnObjectAdd...

but do you know about any events that fire when a player looks at a container?

elfin stump
#

if calling functions from recipe it used to pass (items, result, player) and now it passes (recipeInfo, player) where recipeInfo is a big complicated table of recipe information. I am not sure what they reference recipeInfo as in the java tho, but it is essentially that.

bronze yoke
#

you can use OnRefreshInventoryWindowContainers for that, i think it should fire whenever the list of containers you can access (because you entered/exited range or a new one spawned) changes?

opaque ocean
#

fuck yeah... that sounds like hell on performance to run functions off of, but it's the best I got for now. that's on my other dude to fix.

elfin stump
#

yeah thats the one

bronze yoke
#

it's probably an improvement tbh but it's going to take getting used to

sly monolith
# elfin stump check the caps

so bisically it works now, just idk what is the thing at the beginning

LOG  : General      f:2872, t:1735021693665> ItemPickInfo -> unable to set source grid pick info, Caller: FillContainer, for Container: Bag_BagBundle
LOG  : General      f:2872, t:1735021693665> ItemPickInfo -> Outermost Container: floor
LOG  : Lua          f:9538, t:1735021772938> SUPERCONSOLE!!::::: Result of getFirstCreatedItem: BAG_BAGBUNDLE.Bag_BagBundle:zombie.inventory.types.InventoryContainer@7835fdf0
LOG  : Lua          f:9538, t:1735021772939> SUPERCONSOLE!!::::: WE CAN NOW FIND THE GETVISUAL FUNCTION: 
LOG  : Lua          f:9538, t:1735021772939> SUPERCONSOLE!!::::: AND HERE IT IS!ItemVisual{ m_clothingItemName:"Bag_BagBundle"}
LOG  : Lua          f:9538, t:1735021772939> SUPERCONSOLE!!::::: Returning the located first item
crystal canyon
#

I like updating other peoples mods because im learning a lot

elfin stump
#

Yeah it was a bit odd, I was able to fetch information from it via lua, but it was a lot of stuff to go through. It does seem like it passes everything you could need though. This code here actually pulls it: #mod_development message

grizzled fable
#

will they give some guide/documentation for mod making, lile they announce?

ashen mist
#

i may have hit a snag while looking for armor models to potentially backport to b41

opaque ocean
#

we wish...

sly monolith
ashen mist
#

i'm finding more ground models than worn models

hybrid tiger
#

S4ro can you show me what you added in to add in the sound to your recipe, im getting the same error for my mod

ashen mist
#

like i dont think i've even found models for the vambraces you wear

grizzled fable
opaque ocean
#

but not a Timed Action

hybrid tiger
#

timeAction lowercase? (T lowercase)

bronze yoke
elfin stump
opaque ocean
#

i haven't started learning blender yet but i need to...

sly monolith
#

i also have a question regarding the b41 version of a mod, should i just leave the files in the original place, or can i like make a 41 folder and put it there?

hybrid tiger
#

Cause I didnt have the sound argument for my recipe but it was still crashing

elfin stump
hybrid tiger
#
  {
    timedAction = MixingBowl,
    Time = 15,
    ToolTip = Makes a basic Sourdough Starter to be used in bread in place of yeast,
    Tags = InHandCraft;Cooking,
    category = Cooking,
    --attempt to call function SkittlesSourdoughInactive in media/lua/server/recipe_sourdough.lua
    OnCreate = SkittlesSourdoughInactive,
    inputs
    {
      item 1 [Base.EmptyJar] mode:destroy,
      item 2 [Base.Flour2],
      item 1 [*],
            -fluid 0.5 [Water],
    } 
    outputs
    {
      item 1 skittles.SourdoughStarterInactive,
    }
  }```
#

this is what I got

sly monolith
hybrid tiger
bronze yoke
#

comments should be done with /* comment */ not --

#

-- is lua only

hybrid tiger
#

oh damn roblox has trolled me

opaque ocean
#

oh right... I didn't catch that, been staring at the same lua script for hours trying to build up the will to start working on the workaround to 100 container capacity limit

hybrid tiger
#

oh wow

#

that really was it

#

function being called and all

#

ty fellas

#

really got trolled by a comment

ashen mist
#

something about the way the models are organized makes me want to vaporize a dev or 15

#

why not have armor in all of the names

#

so you can find it all when looking for armor

opaque ocean
ashen mist
#

im looking for fucking shoulderpads, vambraces, codpieces

#

gotta specify bob and kate too, got two folders just to split it

opaque ocean
#

wait, we have codpieces now?... are they visible?

ashen mist
#

yes

opaque ocean
#

oh no...

ashen mist
#

they're not comical like medieval ones

opaque ocean
#

no but they will be

ashen mist
#

just a triangle between your thighs

crystal canyon
#

inb4 someone makes a strapon

opaque ocean
#

it's innevitable

#

I now need to hide the fact that groin armor with models is a thing from my other modding partner...

crystal canyon
#

plus the grappling mechanic... Ive been to loverls lab enough to see where this might be going

elfin stump
#

sexual zombies

opaque ocean
#

coming next week - spiffo costume doesn't block groin clothing slot mod

elfin stump
#

game took a turn

crystal canyon
#

yay! Bianca Boxes updated. Now to see if they allow reuploads

sly monolith
# elfin stump No idea really

anyways, it works so thank you very much for your help!!! Really appreciate it, it wouldn't be possible to update my mod without your help cuz i have 0 knowledge here lmao.
If you wanna check it it's called "Schoolbag Bundle" on steam, it's a simple thing i made for myself but might aswell share it with others right.
Was just messing around with it on different files as to not break more than i fixed ๐Ÿ˜‚ thanks again for your help!!! โค๏ธ

#

@bronze yoke btw i just realised you helped me set up the b41 scripts, thanks again haha ๐Ÿ˜„

elfin stump
flint parcel
#

pulling my hair out. cant get mod to show up at all in the viewer. i BELIEVE my formatting is good for b42 blarg

pulsar pagoda
#

ported wearable cigies to b42, now i just need the author's permission to upload it, or sent the files to them lol

flint parcel
#

one second may have fixed it

#

question is this one the zomboid directory or

#

announcement i have fixed the issue

#

okay sick it actually works properly

#

thanks gang

crystal canyon
#

this fluid code is making me insane. I thought I was done

#

They register correctly as fluid containers

#

It has the fluid type, the amount, etc

#

But when I press Show Info

#

LOG : Lua f:6959, t:1735025042934> ISFluidPanelAction not a valid (ISFluidContainer) container?
LOG : Lua f:6960, t:1735025042935> ISTimedActionQueue:tick: bugged action, cleared queue ISInventoryTransferAction

I get this. Might this be a bug?

#

or is it related to the capacity limit?

#

Didnt change anything and now it works... wtf

wet osprey
#

hey, its been a while since modding but wanted to try 42 with older recipes mod I had, however is not working
just downloaded a new recipe mod to see the format and it looks so much different to what I had

this is how I had it

{
recipe Makeshift Needle
{
Base.TinCanEmpty=1,
Result:Base.Needle=1,
Sound:ClothesRipping,
Time:200.0,
Category:Survivalist,
}

and this is how the new mod have it

{
craftRecipe MixClay
{
time = 90,
timedAction = Making,
Tags = InHandCraft;Pottery,
xpAward = Pottery:5,
category = Pottery,
}

is this the reason why my mod doesnt work, do I need to change it to be like this?

tacit pebble
#

I guessed it was too heavy to transfer into your inventory, anyway it works

crystal canyon
#

yeah, seems like it because it worked when I activated debug cheats

wet osprey
tacit pebble
#

check vanilla PZ's recipes. will help you

crystal canyon
#

I honestly got it from seeing vanilla recipes

#

for example, here is my recipe for a needle

craftRecipe MakeMakeshiftNeedle
{
    timedAction = SewingCloth,
    Time = 100,
    AllowBatchCraft = False,
    Tags = AnySurfaceCraft,
    category = Tailoring,
    inputs
    {
        item 1 [Base.Nails],
        item 1 tags[Hammer] mode:keep,
    }
    outputs
    {
        item 1 Base.Needle,
    }
}
wet osprey
#

I used to know how to navigate between the files very well but dear lord I forgot everything about modding

#

oh I can use your code

crystal canyon
#

but you really dont need a recipe for needles anymore. there are alternatives

wet osprey
#

like took me an hour to figured out where to put the damn mod folder >:/

willow mountain
#

is drawTextureColor drawTextureScaled broken? basic drawTexture works fine for me

crystal canyon
#

you can craft bone needles now

#

or forge them with blacksmithing

wet osprey
# crystal canyon you can craft bone needles now

oh is not really the need of that craft, thats one of a huge list of makeshift crafts I used and wanted to start redoing them little by little, just wanted some tip on the new code, will use yours as its pretty clean

crystal canyon
#

Ah, i see

#

whats your mod?

wet osprey
#

I dont know how to put it online, so I just copied it into the files

crystal canyon
#

ah i see

wet osprey
crystal canyon
#

one important thing from now is that recipes cant have spaces

#

Makeshift Needle to MakeshiftNeedle

wet osprey
#

oh

crystal canyon
#

you need to have a tag for crafting like Tags = AnySurfaceCraft, this means that you need a table or any solid surface to craft, theres also InHandCraft meaning you just do it in your hands like in B41

wet osprey
#

closest to 41 would be InHandCraft then

#

what is timedAction?

crystal canyon
#

multiple items now are an array like [RippedSheets;RippedSheetsDirty]

#

instead of RippedSheets/RippedSheetsDirty

wet osprey
#

holy they did change it quite a bit

crystal canyon
#

it governs calorie consumption, how tired you get, etc

#

and the animation

#

you do NOT need a sound anymore. Having one in your recipe will crash your game

#

if you're gonna use a tool in your recipe, you can either use a specific like Base.Hammer or use tags like item 1 tags[Hammer] mode:keep

#

mode:keep is self explanatory, means you keep the tool after use

#

theres also flags for the input items like item 1 tags[SharpKnife;Scissors] mode:keep flags[MayDegradeLight;IsNotDull;SharpnessCheck],

#

these add special conditions like damaging your tool, or requiring your knife bieng sharp

wet osprey
#

before I start looking for the vanilla files to find the item names and other examples, I should clean this tho

#

I know its meant to be in 108600, but Im pretty sure there is redundant files in my folder

bronze yoke
#

you really have a mod.info for every day of the week

crystal canyon
#

yes, thats too convoluded. you can put your files in your User/Zomboid/mods folder

wet osprey
#

it used to be clean I swear, but I was getting frustrated yesterday on the game telling me I dont have mod.info in the folder, so I pasted everywhere

wet osprey
crystal canyon
#

no

#

zomboid reads mods from three folders ๐Ÿ˜„

#

User/Zomboid/mods, User/Zomboid/Workshop, and from the steam 108600 folder

wet osprey
crystal canyon
#

good

#

now in SirGrafo, for b42, you need a common and a 42.0 folder

wet osprey
#

yeah saw something like that in the test mod I added

crystal canyon
wet osprey
#

so I put all the files (media/mod.info/poster) inside common

#

oh

crystal canyon
#

now copy media mod.info and poster into folder 42

wet osprey
#

got it

crystal canyon
#

and now you can modify the recipes inside the 42 folder for the new format

wet osprey
#

alrighty, one more thing there used to be a folder filled with .txt files, for all the items/crafts/recipes/etc

crystal canyon
#

Anyways, hope the rundown was useful

#

that is still there

#

under media/scripts

wet osprey
#

it is useful mate, you are a xmas miracle

#

thanks

crystal canyon
#

thank this discord, they helped me learn this and now im helping others lmao

wet osprey
#

hah I swear, used to know my way around but its been ages since 41

crystal canyon
#

even if it was yesterday, a lot changed

wet osprey
#

I think I broke my mod list now hah, everything is suddenly โŒ

tacit pebble
#

guessing

sly monolith
#

back in b41 if i wanted to include different types of base material for crafting something i could do "Hat_BandanaMask/Hat_BandanaMaskTINT=1,", how do we do that now, just "item 1 [Base.Hat_BandanaMask;Base.Hat_BandanaMaskTINT]" ? (not to mention i should probably check how they are called now)

wet osprey
sly monolith
wet osprey
#

let me copy that

#

hmm nothing

sly monolith
#

what is your issue?

#

i had to put my textures in 42 folder, cuz when i placed them in common they didn't appear for whatever reason, idk what i'm doing tho so there's that

wet osprey
#

suddenly all the mods went โŒ after I added mine

small topaz
#

Hi! Is there already an updated java doc for B42 available?

sly monolith
#

your mod shouldn't affect other mods tho

wet osprey
#

nothing in common folder, this is in the 42.0 folder

sly monolith
#

shouldn't it be just 42, without the .0, idk xd

ashen mist
#

losing my mind rn

#

i cant find textures for certain weapons

#

like where the FUCK are the textures for the fork/rake headed bats???

sly monolith
#

ye i couldn't find the icon files myself, idk where they moved them

ashen mist
#

i figure the unusable metal is the sheet reinforced one

#

and tin can is obvious

#

BUT WHERE FORKS????

#

where rake?!?

sly monolith
#

ProjectZomboid\media\texturepacks maybe here? idk

ashen mist
#

also circular saw and rail spike on the same texture??

ashen mist
umbral ingot
#

go to media/scripts and look at models_weapons.txt

#

the mesh value points to the model locations

ashen mist
#

goddamn what the fuck

umbral ingot
#

Odd, is this in the case of recipes that alter it?

ashen mist
#

oh no its weird because of the texture

#

thats three weapons covered by one texture

umbral ingot
#

Oh right

ashen mist
#

weird as fuck! but also super neat

umbral ingot
#

save some space lol

ashen mist
#

weird thing is though

#

cant find the rake headed bat

#

it just does not exist here

#

closest i can find is the long handle rake weapon

#

oh im dumb

#

FOUR WEAPONS COVERED BY ONE TEXTURE

winter bolt
umbral ingot
#

How dou you guys view .X files or can they just convert to OBJ/FBX?

elfin stump
#

Anyone ever see an issue where the zomboid console only prints 600 lines and then stops? It prints to console regularly in game but the console.txt hits 600 and dies, never seen it before.

#

B41

crystal canyon
#

havent ran into that yet

elfin stump
#

If I remember there was some old viewer or you can use old blender to do that but it has been a long time since I viewed one of those, and I remember I couldn't do much with it. But someone else may have a better answer.

umbral ingot
#

I found a converter thanks, yeah I'm trying to see how they do UV unwrapping and texture coords

elfin stump
#

you may want to check the modeling channel instead of the modding channel for that

#

there may be more knowledge there

umbral ingot
#

oh duh! Didn't even see that lol

elfin stump
#

Anyone know from the server side how you can get a list of all players? I remember there was an easy way but I forgot it ๐Ÿ˜ฆ

umbral ingot
#

getOnlinePlayers()?

elfin stump
#

nice yeah that might be it I think that is on the global object, I missed it! Thanks! gonna try that

sly monolith
#

is the common folder in the mod for placing textures for multiple versions of the mod? if so why when i place the textures there they don't appear in game, how do i have to redirect them in the mod file?

#

is there even any point in doing that, or should i just leave them in the 42 folder

elfin stump
winter bolt
#

i got tripped up on that a lot

sly monolith
#

tbh i think i didn't, i did that yesterday so not sure

sly monolith
blissful urchin
#

Hey everyone, I am a java developer and very interested on implementing my first mods. I am looking for resources on how to get started ? I mean, having the necessary documentation to have something ready, I don't find anything atm. Do you have any ressources to share ?

dull moss
#

pz mods are done in lua. for b42 there are not a lot of resources atm. for b41 check threads, there's thread called mod resources

#

@blissful urchin

blissful urchin
#

Thank you, but I don't find this thread, I made sure to select "pz modding" when joining the server

opaque ocean
#

anyone here know how to use debug mode to increase an isoobject's container capacity?

willow mountain
#

is there any way to get the value from settings.ini to lua file? i need to get the value of moodleSize

vague marsh
#

the crafting menu isnt finish yet right? i mean the ff. isn't craftable in the crafting menu

coarse sinew
opaque ocean
#

but didn't explain how he did it

#

and I want to go hijack that code to get around that restriction potentially

dull moss
#

or do we have a get and set method

#

man imma be sad if we cant have 60 cap bags anymore

opaque ocean
coarse sinew
dull moss
willow briar
#

you used to be able to have negative item weight

#

they capped it now i see

coarse sinew
opaque ocean
#

i dont need negative weight, i need to see how debug is bypassing that container size limit

dull moss
#

i dont get IndieStone, on one hand they allow insane modding capabilities with lua and on other they set restrictions instead of letting ppl play how they want waaaa

#

oh it's just warns

#

fuck it we ballin

coarse sinew
willow briar
opaque ocean
willow briar
#

yeah ima have a look aswell

opaque ocean
#

so that I don't have to write a whole bunch of code to instead just lower weight when something goes in, increase it when it's pulled out

willow briar
#

basically

#

it checks if the player isUnlimitedCarry ture

#

when getting current weight it just returns 0

opaque ocean
#

okay... but I'm not trying to change my capacity, or an item container's capacity... I'm trying to change... it's not a box but let's just simplify shit and say I want to make a crate hold infinite shit

dull moss
opaque ocean
dull moss
#

this is new though, right? i dont remember there being a bag limit in b41

opaque ocean
#

there wasn't

dull moss
#

there was character limit of 50

#

and thats it

crystal canyon
#

what are some common reasons for why a mod wont display sandbox options?

willow briar
opaque ocean
willow briar
#

A really tedious workaround could be to set weight of transferred item to 0 and setting it back to normal when retrieving

opaque ocean
#

yeah... thats what im trying to avoid

willow briar
#

what i see aswell

#

there is one case where the max weight is not checked or capped

blissful urchin
willow briar
#

When the ItemContainer is attached to a GameCharacter.

opaque ocean
#

there's another case, and that's editing through debug mode... but I can't figure out how to do that

#

which... is just what i wanna know. how do you change an isoobject's inv cap in debug

willow briar
opaque ocean
#

so i can have a hint where to go look in the debug UI to point at how it's skirting the rule

crystal canyon
#

I need help with someone experienced using sandboxvars

dull moss
#

show ur sandbox file

crystal canyon
dull moss
#

i have never used enum in sandbox options, rest looks fine

#

so either enum if bricked or file is in wrong location

crystal canyon
#

thanks for giving me somewhere where I can focus

dull moss
#

try removing enum section see if it works

crystal canyon
#

what other options are there for sandbox options?

dull moss
#

I only ever used numbers and bool so idk

opaque ocean
#

feew!

#

help

#

how did you do that thing yesterday, using debug to edit a container cap?

worthy sparrow
opaque ocean
worthy sparrow
#

Yeah, let me get to pc

opaque ocean
#

because im just trying to track down how the debug ui is doing it

#

to see if I can spoof like "hey, im not doing setCapacity, debug is"

worthy sparrow
#

Im not doing that in-game through debug, itโ€™s a lua code that does it

opaque ocean
#

oh

#

on b42?

worthy sparrow
#

yup

opaque ocean
#

can you share?