#mod_development
1 messages Β· Page 278 of 1
it's made already isn't it?
i have an issue with a simple mod that i made for b41, i tried fixing it for b42, copy pasting stuff from the original game files (cuz i have no idea how to mod actually xd), it worked for me in the b41, but it seems to not work anymore π i turn the mod on, the thing reloads, and then i see 2 errors in the bottom right and the game doesn't work anymore, can't even turn it on untill i cut that mod from the folders
yes, but that one does not adjust movement - so when you turn the shopping trolly spins around at super high speed
feels really wrong
Now we can (probably) have a trolley you actually push that takes effort.
You will want to check you console.txt file for exceptions or share that. Sounds like your mod has a recipe most likely in the old format.
i actually went into the original game recipies and copy pasted stuff to my mod from there, tho maybe i missed something xd
where is that console.txt file? i didnt touch zomboid for a while idk what im doing π
just search for it windows will find it quick
C:\Users\username\Zomboid
oh ok nvm found it
then ctrl-F for "error" (and there will be a few unrelated errors as wellm just for fun)
What does the mod do? That, along with the errors, shoudl give us enough info to point you in a direction towards fixing it.
it just lets you craft a new bag with stats of large backpack, but looks of something else
Can you post the recipe that is used?
Recipes changes in B42, so that is likely the issue - have a look at the vanilla recipes in B42 and see if you can figure out what is different.
all recipes are completely changed
{
timedAction = SewingCloth,
Time:180.0,
Tags = InHandCraft,
category = BagZ,
needTobeLearn = false,
inputs
{
item 1 [Base.Bag_NewBagTINT],
item 1 tags[SewingNeedle] mode:keep,
}
outputs
{
item 1 Base.Bag_ALICEpack,
}
}```
there seems to be an error with this one
It's also possible bags changed a big with the tags/locations they use, but you test that by spawning in the bag in debug mode
I need a mod that stops my character getting bored when I am reading/typing on a Zomboid Discord and forgot to pause the game. π€£
there's a setting in options that pauses the game when it's not focused
...too sensible. But that will do for now!
kinda like with dragging corpses
really hope they animate turning, it looks janky as shit
it didn't throw any errors now! π thank you guys, it seems to be fixed π
I am running a test at full speed and just saw a cow for the first time run by in hyperdrive, those things are scarier than the zeds!!
nice!
props to the PZ dev team for the very accurate cow tail tho
how can i check what tags an item has?
Hi, getting into developing mods for PZ 42, is there a website with the new Javadoc for 42.0 yet
i just launched one! https://demiurgequantified.github.io/ProjectZomboidJavaDocs/
package index
Perfect thank you
Nice!
ah btw can someone do some action on Zombie population window in debug?
for me all options throw an error when click something.
me too, not just you
ah thanks. it's b42 thing then
Yeah I noticed it the other day, same with some of the zombie horde manager
Good morrow from Korea modders
Could any kind fellow help me
if there's a way to put a custom "tag" on script items?
like ...
just tags = your_tag until b41
How can I add an icon before a context menu option
i want to use local items = getScriptManager():getItemsTag(tag)
not sure about b42
local item = ScriptManager.instance:getItem("Module.ItemName")
if item then
item:DoParam("Tags = MyNewTag")
end
to collectively set all my mod items to have tag = "wuro"
will this have to b ran at every game start then right?
using Event.OnGameStart. ?
you don't have to put it on an event, you can just leave it loose in your file
if you want to put it in an event use OnGameBoot
is there an axample in the game of copying and pasting from the clipboard?
i see what you mean. TY ill try that
is it even possible to copy to the clipboard from lua?
i never did it but some people had some debug tools that did that
it seems i celebrated too early, i get an error when loading a game heh
i think there's a Clipboard class or something
i'll take a look, cheers
can anyone spot any glaring issues with these recipes? The game doesnt like them
recipe should be craftRecipe
it is possible to see the [1 ERROR] thing in the menu once the error happens
ha!! thanks!
check console.txt
just do a search for console.txt and then search for "exception"
LOG : General f:0, t:1734928326158> java.lang.Exception: Item not found: Base.Bag_NewBagTINT
Item is not existed?
oh should i specify the magical category i made for this thing instead of Base? xD
Question, item Necklace_GoldRuby { DisplayName = Necklace - Gold with Ruby Stone, DisplayCategory = Accessory, Type = Clothing, Weight = 0.1, Icon = Necklace_GoldRuby, BodyLocation = Necklace, ClothingItem = Necklace_GoldRuby, Cosmetic = TRUE, WorldStaticModel = Necklace_GoldRuby_Ground, Tags = HasMetal;RubyJewellery, }
with this item
can i use scriptItems:addAll(getScriptManager():getItemsTag("HasMetal"))???
usually YourMod.YourItem
unless you added to base
thx, i'll look into that next π
on top of the scropt .txt file u can start with module "your name"
instead of Base {
}
i started with this module BAG_NEWBAG { imports { Base }
yea, that's it
uhm.. if I remember correctly, should be module base { }
I think you can also call hasMetal or getMetalValue
i don't really get what it does tho, after that i still need to add my BAG_NEWBAG thing instead of Base.<my mod> ?
got it. Is there a way to call all jwelleries only ?
I am not sure, but albion setup a page that is going to be the goto source for you and pretty much everything now π : https://demiurgequantified.github.io/ProjectZomboidJavaDocs/
package index
ty
Items you add are going to be added to the table BAG_NEWBAG. Lua is pretty much just tables or it helps at least to think of it that way. So you are setting up a table, and putting an item in it, the imports base is just a reference, I don't know if it even needed or not, but it doesnt hurt. Then when you ask for your item you are asking for first your table you made, and second the item from that table. "yourMod.yourItem" where yourMod is the table you made and yourItem is the item you put in it. When you ask for Base items from the game, you usually will say Base.TheItem, or if you were grabbing from another mod, you could say OTHERMOD.crazymoddeditem.
imports usually don't do anything (i think most people don't really know what they do and just add them to be safe) but they don't hurt to have
ok changing it fixed stuff and now it works π thanks again for the help π₯³
try using string.find or something to find part of full tags when you get tags from item
for example
string.find(getTags(), Jewellry)
!!this function is not correct in PZ. I just quick threw my thought!!
Nice!
oh i see, ok thank you for the explanation π
That is definitely what I do π₯Ί
i took that thing from some other mod i used to learn how to made mine xD
Do you see the light?
i'm not dying yet π
when you reference a script object (item, model, vehicle, etc) by its short type (ItemName instead of Base.ItemName) it will check your module first, and then imported modules - so if you aren't referencing objects from other modules it doesn't do anything
i don't tend to use them, i like being explicit with full types anyway
so does that mean it's better to even not have that import thing there? or the other way around lmao
it doesn't really matter, but it probably isn't doing anything
I feel like I have seen some places in the vanilla code where they don't use base, so in those cases, that is part of base so it grabs it easy. But if I were to do that in mine, it would usually be okay, but if the item was something common, like "Shoe", then that is where it is really key right? - So you are saying that you can just always call by its long name and its always safe, and you dont need import at all if you do that, is that right?
yeah
ok who's idea at the indie stone was it to keep the same naming convention for everything except the color of fucking pens
everything is ItemVariant but they're fucking VariantItem
Okay cool that is good to know, I started using only the full names awhile back, so I can probably start cleaning up some of the extra imports. Thanks!
Dyslexia isn't a crime! It is a battle π
ok well i'm still arresting them for it
haha
Hi, is there any documentation on what are the main game objects that are loaded in Lua on startup? I'm seeing an Events table in some mods and what appears to be a ScriptManager
you can see documentation on the classes and functions at the javadocs, and you can see events here: https://github.com/demiurgeQuantified/PZEventDoc/blob/develop/docs/Events.md
RIP
ERROR: General f:0, t:1734929872027> ExceptionLogger.logException> Exception thrown
zombie.world.WorldDictionaryException: World loading could not proceed, there are script load errors. (Actual error may be printed earlier in log) at IsoWorld.init(IsoWorld.java:3180).
Stack trace:
zombie.iso.IsoWorld.init(IsoWorld.java:3180)
zombie.gameStates.GameLoadingState$1.runInner(GameLoadingState.java:301)
zombie.gameStates.GameLoadingState$1.run(GameLoadingState.java:251)
java.base/java.lang.Thread.run(Unknown Source)
You're the best thank you 
look further up in your log, you should see an actual specific error somewhere recentish
java.lang.Exception: Tag has no items: Needle. line: item 1 tags[Needle] mode:keep
@crystal canyon how did you solve the issue of professions only appearing the first time a world is launched?
i can't seem to figure it out
Events.OnCreateLivingCharacter.Add(function()
print("[DEBUG] OnCreateLivingCharacter triggered")
traitsInitialized = false
exclusivitySet = false
professionsInitialized = false
initializeTraits()
setMutualExclusivity()
initProfessions()
traitsInitialized = true
exclusivitySet = true
professionsInitialized = true
end)
if you're making a custom profession, you need to hook the basegame function that adds professions
using OnCreateLivingCharacter
for some reason the profession list gets wiped and refilled every time so doing it at startup only affects the main menu
π π π π π π π π π π π π π π π π π π π π π π
when you die, and get back to the character creation screen, it triggers the OnCreateLivingCharacter event, so you need to call your profession function there as well
I am gussing ``` craftRecipe Melt_Accessories
{
Time = 100,
Tags = primitivefurnace,
category = Wuro_Recipe,
needTobeLearn = false,
timedAction = MakingHammer_Surface,
inputs
{
item 1 Necklace_Silver/Necklace_GoldDiamond/Necklace_GoldRuby/Necklace_Gold,
} ```
making multiple items to be able to work as input
by using / doesn't work anymore?
item lists should now be done as [Necklace_Silver;Necklace_GoldDiamond;Necklace_GoldRuby;Necklace_Gold]
gotcha ty
makes more sense
is it possible to make it call all the lists from a separate . lua file ?
like have listofitemsIwant.lua
and call the lists from that to be put into inputs
im trying to make a audio file change to fishing but i just cant get b42 to have regular fishing sounds, do yall get sounds when fishing?
Man it's probably just going to be easier to decompile the java and dive in huh
usually is, yeah
God forbid, I haven't touched java in more than 10 years
I had it called there, but it doesn't seem to be working
must be some issue on my end
for some reason no, they removed that
from what i've seen there's nothing like this anymore
affirmative
Do you have any flags for your code? That affected mine. I kept calling livingcharacter but it still wouldnt load them, I had to reset the flags
anybody?
I just tested and I hear no sound when fishing with the new mechanic.
oooh okay, thanks! it must be yet to be implemented
thank you for your help
the sound files are in the bank files so it should come
the way i've always done this is:```lua
Events.OnGameBoot.Remove(BaseGameCharacterDetails.DoProfessions)
local old_doProfessions = BaseGameCharacterDetails.DoProfessions
BaseGameCharacterDetails.DoProfessions = function()
old_doProfessions()
-- add your professions here
end
Events.OnGameBoot.Add(BaseGameCharacterDetails.DoProfessions)
Quick question on SoundManager:PlayWorldSound(String name, IsoGridSquare source, float pitchVar, float radius, float maxGain, boolean ignoreOutside) - maxGain is the closest I see to volume but my understanding is that can only go up, is there anyway to play a sound at a lower volume or do I need to just bring down my audio file volume, and assume this is being controlled via a channel somewhere?
And now my .pzw has no roads.
oh my fucking god
it was actually working the entire time
but for some reason it puts it at the very top of the list the first time and the very bottom the second
hahahaha
i'm such a fucking idiot
it happens
Yaki's oogabooga with recipes ready, missing 3 modules to edit
Oh wtf
nice
So some of the games actual java object methods are exposed to the lua
yes
can someone help me with another issue: java.lang.Exception: unknown type in craftrecipe: OnCreate:Recipe.OnCreate.pickBagTextureRed at OutputScript.Load(OutputScript.java:258).
i had this in my mod in b41, it used to pick a certain texture when the item was crafted, now it seems to no longer work, or maybe i just placed it in a wrong place?
If you are trying to run a function from here try it as YOURMOD.pickBagTextureRed (if that is your function) - also you will need to change your function as the parameters are different
parameters from function call on an recipe are now (recipeInfo, isoPlayer)
it used to be (items, result, isoPlayer) I believe.
Can anyone help me to make this long arse list simple????``` craftRecipe Melt_Accessories
{
Time = 100,
Tags = primitivefurnace,
category = Wuro_Recipe,
needTobeLearn = false,
timedAction = MakingHammer_Surface,
inputs
{
item 1 [Locket;Necklace_DogTag;Necklace_DogTag_Female;Necklace_DogTag_Male;Necklace_Gold;Necklace_GoldRuby;Necklace_GoldDiamond;Necklace_Silver;Necklace_SilverSapphire;Necklace_SilverCrucifix;Necklace_SilverDiamond;Necklace_Crucifix;Necklace_YingYang;Necklace_Pearl;NecklaceLong_Gold;NecklaceLong_GoldDiamond;NecklaceLong_Silver;NecklaceLong_SilverEmerald;NecklaceLong_SilverSapphire;NecklaceLong_SilverDiamond;NecklaceLong_Amber;Necklace_Choker;Necklace_Choker_Sapphire;Necklace_Choker_Amber;Necklace_Choker_Diamond;NoseRing_Gold;NoseRing_Silver;NoseStud_Gold;NoseStud_Silver;Earring_LoopLrg_Gold;Earring_LoopLrg_Silver;Earring_LoopMed_Silver;Earring_LoopMed_Gold;Earring_LoopSmall_Silver_Both;Earring_LoopSmall_Gold_Both;Earring_LoopSmall_Gold_Top;Earring_LoopSmall_Silver_Top;Earring_Stud_Gold;Earring_Stud_Silver;Earring_Stone_Sapphire;Earring_Stone_Emerald;Earring_Stone_Ruby;Earring_Pearl],
}
outputs
{
item 1 Base.Apple,
}
} ```
im sure there will b a better way to do this
here's the script:
module Base
{
craftRecipe Make Red Bag
{
timedAction = SewingCloth,
Time:180.0,
Tags = InHandCraft,
category = BagZ,
xpAward = Tailoring:1,
needTobeLearn = false,
inputs
{
item 1 [Base.Bag_ALICEpack],
item 1 tags[SewingNeedle] mode:keep,
item 3 [Base.Thread],
item 1 [farming.Strewberrie] flags[AllowRottenItem],
}
outputs
{
item 1 BAGZ.Bag_bagZ,
OnCreate:Recipe.OnCreate.pickBagTextureRed,
}
}
First get rid of the sapces in craftRecipe name, no longer allowed.
yeap
oh ok thx, was actually wondering why there aren't spaces in the base game files xd
no space allowed
outputs, OnCreate I do not think that is a proper format, OnCreate should be up with your other parameters
Do any of those have a tag for accessories?
most of them have tag = HasMetal
but also does metal stuffs
i only want the jewelries
No accessories tag?
to b accepted
yeah, pretty sure names are set through translate files
{
DisplayName = Earrings - Ruby,
DisplayCategory = Accessory,
Type = Clothing,
Weight = 0.1,
Icon = Earring_Stone_Ruby,
BodyLocation = Ears,
ClothingItem = Earring_Stone_Ruby_Both,
Cosmetic = TRUE,
WorldStaticModel = Earring_LoopSmallSilver_Ground,
Tags = HasMetal;RubyJewellery,
}
```
OnCreate = pickBagTextureRed (because you are in base)
they ahve displaycategory as accessory
but also does stockings and hats
kk i'll try this thank you !
you could run another function that adds a special tag to those items and then just call that tag in the recipe
You could maybe try that RubyJewlrey one and just add the other tags if those are available. Gold, silver etc
make sure to get it out of outputs and put it up at the top with other parameters like Time and Tags
body locations?
maybe i could try OnCreate = checkifJewerely instead
yea was about to ask, thx xD
and make a function out of it
to check if the input item is jewel from the list
and return boolean
and addItem to the inventory as result
hello, does anybody know where the new voice types are located? i want to add a new voice type
projectzomboid/media/voiceStyles
but that's where the formatting is
i want to speak to the man who gave the colored pens tags "[Color]Pen" instead of pen
and give him a firm homiciding
the alternate pens/pencils all just have the pen and pencil tag
but the literal most derivative variants of the pen
ALL have different tags
projectzomboid/zombie/audio/parameters/ParameterCharacterVoiceType.class
Java
ugh
i've been using http://www.javadecompilers.com/ to decompile
Java decompilers online: *JAD, *JDCore, *Procyon, *Fernflower, *CFR. β A user interface to extract source code from .class and .jar βbinaryβ files.
works fine for me
theres also ParameterCharacterVoicePitch.class
I am looking at some jewlery and watches and stuff and I think maybe you could check for the hasMetal tag and then there is a parameter called "COSMETIC" that is a bool, and you can use that to determine i think if it is clothing? I am not sure how to check that though, it could be that is a flag? But I am not certain.
doesn't get variable names but you can at least look at the code
I just used Vineflower to decompile, does the job pretty well
Also, anyone know where in the code zombie spawning is
can we use glasses during daytime to start fire? Would be nice to add it to the game if not an option
ill try few things and let it know in this chat
ZombieSpawnRecorder.class maybe?
I think that's for logging from what I can tell
ok that thing i had doesn't work anymore, could you please look into it?
local redTex = getTexture("media/textures/Item_schoolbag_red.png")
local pinkTex = getTexture("media/textures/Item_schoolbag_pink.png")
local goldTex = getTexture("media/textures/Item_schoolbag_gold.png")
local purpleTex = getTexture("media/textures/Item_schoolbag_purple.png")
function Recipe.OnCreate.pickBagTextureRed(items, result, player)
local newVisual = result:getVisual()
newVisual:setTextureChoice(0)
result:setTexture(redTex)
end
function Recipe.OnCreate.pickBagTexturePink(items, result, player)
local newVisual = result:getVisual()
newVisual:setTextureChoice(1)
result:setTexture(pinkTex)
end
function Recipe.OnCreate.pickBagTextureGold(items, result, player)
local newVisual = result:getVisual()
newVisual:setTextureChoice(2)
result:setTexture(goldTex)
end
function Recipe.OnCreate.pickBagTexturePurple(items, result, player)
local newVisual = result:getVisual()
newVisual:setTextureChoice(3)
result:setTexture(purpleTex)
end
(items, result, player) change to (recipeInfo, player)
the mod itself loaded into the game, but when i tried crafting that bag it gave an error
Recipe.OnCreate.pickBagTextureRed are weird function names
Check in projectzomboid/zombie/characters
idk i had someone make that for me xd
PickBagTextureRed would be much better. but make sure to call it that way from your recipe.
or (craftRecipeData,character)
ZombiesZoneDefinition.class
Yep, a couple things. You do not need the Recipe.OnCreate. prefix on your functions, I would get rid of that and then change your function calls to call the new name. You also have the old parameters so change (items, result, player) change to (recipeInfo, player) on all those too.
Oh nice thanks! I thought it was VirtualZombieManager.class
kk ty!
does anyone know if there's a way to set a default display option for crafting recipes?
for example, my recipe uses any writing utensil, but currently the spiffo pen shows up as the default, which is just off-putting to me.
ok now i get this:
attempted index: getVisual of non-table: null
LOG : General f:3099, t:1734934281826> -----------------------------------------
STACK TRACE
-----------------------------------------
function: pickBagTexturePink -- file: bagstextureselector.lua line # 30 | MOD: NewBag
Callframe at: performCurrentRecipe
function: perform -- file: ISHandcraftAction.lua line # 158 | Vanilla
ERROR: General f:3099, t:1734934281827> ExceptionLogger.logException> Exception thrown
xd
One of the parts of your function was using the old result that was coming in, now this is a table with recipe info but I am not sure of the format
i had it work with that textureselector.lua back in b41, but now it doesn't
ah, rip
getVisual of non-table means that it did not have anything to call from
I am not sure what the format will look like but let me see what I can find out
oh wait maybe i'm making that up, it used to pick from all the available textures in the crafting window at random iirc, someone told me it's not possible to set a specific one for each recipe, tho how would i know xd
The issue is just that the passed argumennts of a recipe function call have changed. You renamed them to the new ones but the code still is trying to access the old name, the new parameter is a table tho. I am checking the format for you.
but like you can't control what item of the tag comes first
and so can't control what item is shown
I used to have custom animations that I would have play by using the EatType but they dont seem to work anymore. Did they change how these conditions work?
thank you very much, i gotta go out for a bit, really appreciate the help cuz i have no idea how any of this works xd
They added a ton of new eat types so probably on teh back end things have changed. I am not sure how the system works though yet.
pretty unrelated to anything, just wondering
man it's pretty interesting reading the decompilation
you can kinda tell that certain features like animals were sorta grafted on in a hurry
im gonna continue looking into it, I will let you know if I got it working
Hi, anyone understand how the client and server interact? I'm trying to understand what the server handles and what the client handles and what should go under media/lua/client/ vs media/lua/server/
I assume the server handles chunk loading, item spawning, zombies in MP
It depends on what you are doing but generally if the player is triggering things and then affecting their inventory or stats that can be client and if you are doing things like spawning objects or things like world distributions or loading of cells etc then probably on the server, but it is PZ so you are going to see a lot of blurring over the lines.
hmm thatβs an interesting approach
Hrmm I see, thank you. Any idea if entity locations are server side or client side?
i dont know a lot, but i know that item distributions, like loot tables go in server
explains quite a bit
Actually it'd have to be server side nvm
i assumed it was like other things where the client can do whatever the hell it wants, but none of its real until server does it.
could anyone help me with proximity audio? the audio fades when i go too far away from the emitter (buck) https://steamusercontent-a.akamaihd.net/ugc/62585168917564770/77CD19F18F0F94A4B90D585A172DD1AA5CC3E006/
PZ trusts the client a lot more than most games
I'm trying to figure out whether it's possible to mod something like roving hordes into MP with only lua, but I'm not sure how possible that will be. Afaik it looks like zombie spawning is done randomly on a per-chunk basis
makes sense considering mp is mostly intended for severs wit friends
idk if itβs the best way to go about it tho
Look at my sense of smell mod, I use audio to achieve that, mine follows the player but you could do something like this like with the gunshot metaevents. etc
Ohhh nice, I'll take a look thank you!
I'm losing my mind over here. Anyone figure out how to add moveable tiles, then use those tiles in a recipe, or interact with the construction menu at all in b42?
anybody know?
@elfin stump I just got one of my animations to work.
This is the B41 condition
<m_Conditions>
<m_Name>PerformingAction</m_Name>
<m_Type>STRING</m_Type>
<m_StringValue>TestAnim</m_StringValue>
</m_Conditions>
To update it for B42 you change the m_Name to be FoodType not PerformingAction
So from what I can tell from looking at SMELLSENSE_PlayScentTrailAtCurrentIndex, you're simulating a scent trail by registering "sounds" at the players location to lead hordes to them?
nice! I will take a peek at this more I am interested in digging into it.
there are several new food related conditions. but to make the animation work all you got to do is that simple name change for your animations xml
Yeah that is how I did it, but you could use random ones, essentially making meta events that don't actually play a sound.
That is awesome!
now I just gotta figure out why my animation still wont play :D
doing that fixed one of the two that were broken. but ones still broken
we literally just don't know
there are implications of very big changes from b41 in the vanilla lua
in b41 close to everything could be and often needed to be done on the client, it looks like far more will be done on the server, but for now, we don't have multiplayer so it doesn't matter
anybody know pretty please?
you can control audio falloff with distanceMin and distanceMax in your sound script
it should be inside the clip block
Right I forgot, b42 doesn't have MP yet
Say I want to make my own vehicle mod, how would I go about doing that?
I know how to make 3D models and textures already, but is there any special oddity I need to know about for PZ? Any specific scaling in Blender, or rotation?
How would I make it compatible with the animated vehicles mod?
aaah great, do you know of any examples i could check out?
i think the distances are in squares and some people get confused - distance min is the distance at which audio begins to fall off, not the minimum distance you can hear it
you'd want your sound script to look something like this:```
sound MySound {
clip {
file = media/sound/MySound.ogg,
distanceMin = 10,
distanceMax = 50,
}
}
awesome, thank you very much, i will try that out!
hi, can someone tell me what is wrong? I'm trying to publish build42 mod and I have the file as you see but game tells me I don't.
#mod_development message see the pin
I'd suggest taking a look at a pre-existing vehicle mod ie animated vehicles
thank you, making "common" folder from the guide and placing "mod.info" solved it. Shame devs don't put info box about that and modding in pz is all about research even in the slightest mistakes.
no problem!
does anybody know why the sandbox options arent working? i put 100 in every option and i think its defaulting to the default option
Making a 42 folder may be better if you have to change anything to get it to work in Build 42. As common is meant for files that don't change between updates.
that's great addition and thank you for the pro tip!
anybody got a clue?
What is the problem? From your message it sounds like it is defaulting to default - what is the behavior you are wanting?
i want it to be 100 percent in say zombies drop, but in some zombies it doesnt drop, so im assuming its taking the default value and not the value inputed by the player in sandbox
magazineracks by example i think its being 33% not 100
Ahh, a couple of things. That is not a percent chance you are messing with is one.
It is a different value I forget exactly how it works. Are you checking the percent with lootzed?
run your game in debug mode. Then spawn a zombie with outfit set to "none" and kill them. Goto debug options, check LootZed, then goto where you can see their corpse inventory, right click on the icon of the dead zombie, select "LootZed" you will be able to see the percent of chacne of loot.
ok i will try that out
so if its not a percentage what is it?
i always thought it was
thanks for your help!
It is something like an amount of rolls, I just remember that it ended up not being a real percent value, but you can see that real value from loot zed
allright ill check it thanks :)
maybe ill just make it a bigger value like 1000 to guarantee it
Yeah, use lootzed and you can really hit it. However, there is another issue you may run into. Sometimes loot tables don't update based on the sandbox value and they will remain default no matter what, this could also be the case. You will not know for sure without lootzed. It is known and repeatible bug that has been here for a long time, but in B41 I couldn't get the devs to acknowledge it was happening! It is possible that it is still the case... if so you can prevent it by adding "ItemPickerJava.Parse()" at the end of your loot table entries.
it's not exactly a bug, but
great news for you: they seem to have tried to change it and did it wrong
so at the end of table.insert lines?
item picker now loads distributions immediately after sandbox options load, instead of a little bit before... however, as there are no events inbetween these two things happening, there is still no way to actually access and apply the sandbox options before the distributions are loaded
Yeah that should do
Yeah that sounds familiar, so they changed it, but it still requires ItemPickerJava.Parse() anyway or for safety?
they changed it in a way that actually changes literally nothing and you still have to do everything you used to
Me and another modder were able to confirm and repeat the behavior way back then but the devs were saying it wasn't happening and so we just solved it and tagged them and left it at that.
internally technically different and you can see there was an attempt but in practice nothing changes
So I always thought it was a bug they didn't want to deal with, but that resolves it so as far as I know its resolved as long as you do that, it just isn't in any of their distribution examples.
it makes me feel better that they noted it at some point even if the fix didn't work.
it seems that changing sandbox settings isnt making a difference, no. ill try that extra line then
Yeah there you go, loot zed is your friend. It is a very wild number system that I remember takes all kinds of things into account, so it is even better than percent.
Yep, still the same old bug. That line will fix u right up.
like this?
aaah better but more difficult, classic haha
pre distribution merge is too early to access sandbox variables
even with itempickerjava.parse() you'll only get default values
I would do a line down
move it to OnInitGlobalModData
just replace that predistributionmerge line for that?
coming right up
There is event likely at the bottom that needs adjust
albion caught that, ItemPickerJava.Parse() is the second part of a two part change
yeah i tought so haha, same name as on top
damn it sure is complicated, thanks for the help you guys
Change the last line to Events.OnInitGlobalModData.Add
Then goto line 24, hit enter so you above your last end
On that line add "ItemPickerJava.Parse()"
like so?
.Add(preDistributionMerge)
preDistributionMerge is your function name, You change that to something that makes more sense, as it doesn't have to do with that merge anymore. It just needs to be the same name as your function on line #1 as on line #27
Yes that will work
Function name can be changed for cosmetic purposes only but will work as is
; is optional in lua
aaah allright
a gift they gave to people coming from C# I suppose
haha makes sense
and all the other ; languages
ill try the settings now, ill report back
Loot tables will need you to reload the game for an update, they will not update live on the fly FYI.
well it doesnt seem to have worked :(
i restarted the game, even made a new character
have them at 100 but the game still says 40 chance
change in in game with debug to 50 and it still says 40
Just asking cause I have done it myself a lot, did you save the file?
yup
i know debug option to modify sandbox settings is working too, i just put food lot to 0 and indeed theres no food loot
might have to init even sooner
Additionally you can try changing your line 1 from "local function MapDistribution()" to this instead "local MapDistribution = function (newGame)"
allright, will do
i trust you because i have no clue what im typing haha
That I believe will pass your new game when you load it into that function, or something like that, I forget. It forces the function to use a parameter I believe. It was many many many months ago that I dug into all this.
that doesn't change anything
for the person that was having problems with onCreate on the recipe, did you fix it?
they're two different ways of writing the same thing (mostly)
yeah it didnt fix it :(
i was gonna say that but also could be almost like a constructor variant but idk java enough
local function foo() end
-- is technically equivalent to:
local foo
foo = function() end
```but this difference rarely matters
o wait nvm wtf am i talkin abt
It is possible that it is working and you are hitting max limits, why don't you try setting your number down to something very low, like 0.1? Change your integer to a double and try that. I think maybe the numbers in the distribution are supposed to be tiny.
if you try to call the function recursively in a function defined with local foo = function() end it will error because there is no local foo yet, otherwise there is no difference
will do
also isnt it supposed to be a float not an int
So essentially that packs the function into a variable and then calling that variable just calls the function?
nope still 40
you have integer in your options file
distribution numbers are supposed to be big
they're usually pretty low because you actually don't want high spawn chances for most things but the scale is technically something like 0-250
putting float instead of integer in options makes the option dissapear from sandbox options
halp!
timedAction = SewingCloth,
Time = 50,
xpAward = Tailoring:10,
SkillRequired = Tailoring:3,
AllowBatchCraft = False,
Tags = AnySurfaceCraft,
category = Tailoring,
inputs
{
item 1 [Base.FabricRollGrey],
item 1 [Base.FabricRoll],
item 1 [Base.Thread],
item 1 tags[SewingNeedle] mode:keep,
}
outputs
{
item 1 Base.Dress_LacedRed,
}
onCreate = DyeClothingGrey,
}
function DyeClothingGrey(recipeInfo, player)
local result = recipeInfo:getResult()
result:getVisual():setTextureChoice(4)
result:synchWithVisual()
end
I get error
just checked
Can you please provide the actual distribution file you are using?
o
try number?
idk
i dont know if we can use float, I think you are thinking of double
local MapDistribution = function (newGame)
table.insert(ProceduralDistributions.list.MagazineRackMaps.items, "LouisvilleAndKnoxCountryMap");
table.insert(ProceduralDistributions.list.MagazineRackMaps.items,(SandboxVars.LVAKCM.SpawninMagazineRacks));
table.insert(ProceduralDistributions.list.CrateMaps.items, "LouisvilleAndKnoxCountryMap");
table.insert(ProceduralDistributions.list.CrateMaps.items,(SandboxVars.LVAKCM.SpawninCrateMaps));
table.insert(ProceduralDistributions.list.CrateMechanics.items, "LouisvilleAndKnoxCountryMap");
table.insert(ProceduralDistributions.list.CrateMechanics.items,(SandboxVars.LVAKCM.SpawninCrateMechanics));
table.insert(ProceduralDistributions.list.GasStorageMechanics, "LouisvilleAndKnoxCountryMap");
table.insert(ProceduralDistributions.list.GasStorageMechanics.items,(SandboxVars.LVAKCM.SpawninGasStorageMechanics));
table.insert(ProceduralDistributions.list.Hiker, "LouisvilleAndKnoxCountryMap");
table.insert(ProceduralDistributions.list.Hiker, (SandboxVars.LVAKCM.SpawninHiker));
table.insert(ProceduralDistributions.list.StoreShelfMechanics, "LouisvilleAndKnoxCountryMap");
table.insert(ProceduralDistributions.list.StoreShelfMechanics.items,(SandboxVars.LVAKCM.SpawninStoreShelfMechanics));
table.insert(SuburbsDistributions["all"]["inventorymale"].items, "LouisvilleAndKnoxCountryMap");
table.insert(SuburbsDistributions["all"]["inventorymale"].items,(SandboxVars.LVAKCM.SpawninMaleAndFemaleZombie));
table.insert(SuburbsDistributions["all"]["inventoryfemale"].items, "LouisvilleAndKnoxCountryMap");
table.insert(SuburbsDistributions["all"]["inventoryfemale"].items,(SandboxVars.LVAKCM.SpawninMaleAndFemaleZombie));
ItemPickerJava.Parse()
end
Events.OnInitGlobalModData.Add(MapDistribution);
Thanks let me run a test on my end.
allright, thank you!
oh im stupid lol
yeah double then
how did i forget double existed
hello, did you per chance figure out what was wrong with that code
Anyone have any good tools for encoding to Cyrillic, my notepad++ files are coming out wonky in Windows-1251
Closer and closer but not yet. recipeInfo seems to be a big old complicated object so I have been seeing how to dissect it.
you're my hero m8 π
Anyone able to parse out the recipeinfo parameter coming from recipe function calls? In Albions docs I think this is the object being returned: https://demiurgequantified.github.io/ProjectZomboidJavaDocs/zombie/entity/components/crafting/recipe/CraftRecipeData.html
declaration: package: zombie.entity.components.crafting.recipe, class: CraftRecipeData
but I am not sure how to grab the actual results. The main change is that old recipes only output one item, and the new ones outbook a whole story.
yeah this is the object they pass, i didn't document it because i don't really know what it is yet
K I will keep digging, I think getToOutputItems() is the way to the items
i see getFirstCreatedItem() that returns an InventoryItem and getAllCreatedItems() that returns an arraylist of them, maybe we can just assume these are already stored there?
nice!
can't be sure they won't just return null/empty though (thanks java)
i imagine they must be created at least by the time of OnCreate or else the event wouldn't be terribly useful
im imagining that it just creates the item first and then deletes the ingredients afterwards?
Yeah I think they get passed from OnCreates call
I got this out of the lua, its the same thing as your java doc, so I can just keep digging in:
So I took your distribution code and shortened it for a test, I inserted it into a test project and added a new item, and confirmed via LootZed that it works and responds to changes in the sandbox.
local MapDistribution = function (newGame)
table.insert(SuburbsDistributions["all"]["inventorymale"].items, "TESTOBJECT");
table.insert(SuburbsDistributions["all"]["inventorymale"].items,(SandboxVars.TESTPLATFORM.CHANCE));
table.insert(SuburbsDistributions["all"]["inventoryfemale"].items, "TESTOBJECT");
table.insert(SuburbsDistributions["all"]["inventoryfemale"].items,(SandboxVars.TESTPLATFORM.CHANCE));
ItemPickerJava.Parse()
end
Events.OnInitGlobalModData.Add(MapDistribution);
Going to do a hi/lo test now and see what I get.
i've heard of people running into lower limits though i'm honestly really sceptical, at least of the reasoning they gave
Ahh I am remember something funny about it now
It wraps, I forgot about that, if you put too high a number, the chances go down, and too low, they go up, I never could understand the pattern. Definitely seeing feedback from sandbox tho.
A hardcoded "10000000000000000000000000000000000" gives you a 2 percent chance
A hardcoded "100" gives you 20%
Okay I found that sandbox is updating fine. I am not sure on your end what your test cycle is but that had no issues for me. You may want to make sure you are testing the right sandbox value. I could quit to menu and come in and see changes right away. However, your range is low, you have 0-100 and that never gets you close to 100%. Looks like 100% spawn chance is if you set that number to 500, and if you go to 1000 that brings it to 200% chance, which I am not sure what that means, but it didn't spawn two. So try those ones π Good luck!
has anyone already made a temporary patch for this? dont want to start working on it if someone already has https://steamcommunity.com/sharedfiles/filedetails/?id=2799848602&searchtext=spiff
does anyone know if body pickup/drag animation speed depends on some stat?
cuz by default this animation speed set to 0.8
and it painfully slow
I bumped it to 1.0
but I wonder if there is some proper way to speed it up that I'm not aware of
Has anyone managed to make their own workbench yet? Like a forge with specific recipes tagged for it. I managed to make the thing but I can't get it to recognize the recipes despite tagging them the same as the vanilla workbenches.
How do I make headers in sandbox options
wait your telling people to make updates for other peoples mod?
I'm suggesting that trying the easy way of making a personal B42 version is better than posting "B42 UPDATE PLZ!" on the mods you want.
i see
Nothing wrong with doing that unless you repost the mod and, or even then that's not horrible if you don't refuse to take it down once the actual mod updates / ask permission first
I'm not advocating uploading those mods to the workshop - IMO it's too early for "author has abandoned this mod" unless they actually say they abandoned it.
But like you say, even that is not a huge deal provided you give credit and make it clear you'll take down your temporary version.
<?xml version="1.0" encoding="utf-8"?> <animNode> <m_Name>vdefault</m_Name> <m_AnimName>Bob_SatChairIn</m_AnimName> <m_Looped>false</m_Looped> <m_UpperOnly>false</m_UpperOnly> <m_EarlyBlendOut>false</m_EarlyBlendOut> <m_SpeedScale>1.0</m_SpeedScale> <m_BlendTime>0.20</m_BlendTime> <m_Conditions> <m_Name>walkinjury</m_Name> <m_Type>NEQ</m_Type> <m_FloatValue>0</m_FloatValue> </m_Conditions> <m_Events> <m_EventName>SetVariable</m_EventName> <m_Time>Start</m_Time> <m_ParameterValue>SpeedScale=0.6</m_ParameterValue> <m_ParameterValue>BlendTime=0.4</m_ParameterValue> </m_Events> <m_Events> <m_EventName>SetVariable</m_EventName> <m_Time>Start</m_Time> <m_ParameterValue>SpeedScale=1.0</m_ParameterValue> <m_ParameterValue>BlendTime=0.2</m_ParameterValue> </m_Events> <m_Events> <m_EventName>SetVariable</m_EventName> <m_Time>End</m_Time> <m_ParameterValue>EnterAnimationFinished=true</m_ParameterValue> </m_Events> </animNode>
trying to add condition check to enter xml to check for walkinjury similar to running shifting to idle, but just slow the time taken to perform action down. Having issue implementing correctly. Currently just keeps a progress bar above charcters head and doesnt complete animation
yep got it
wasnt trying to be offensive just wanted to verify
cuz not all people read ToS
and could potentially cost issue
just wanted to help mitigate possible issues just in case you dont know about it too
but glad you cleared that up
i might suggest adding a note about the ToS tho
and maybe all caps PERSONAL version
just a friendly advice hope you dont get offended by this
how did you trigger this via lua?
Try this π
i have already emailed about a mod im trying to update from creator who has dissapeared
may i suggest contacting spiffo too
that works faster
Anyone have any good tools, docs, or info for translating and encoding in Cyrillic? I need to find a good method where my encoding doesn't break.
Does anyone know where
applyWeightFromTraits
Is used?
modded default file, believe it would trigger when i trigger "enter" action idk im learning first day
I want to also add my own weight stuff
But can't find this thing
Same with applyTraitFromWeight
Does anyone have a idea what's reverting fullscreen resolutions lower than 1200px width back to a 1200px?
It gets weirder since when i launch my game with batch on pz root directory, it doesn't triggers at all on any occasions
But when i launch the game through exe or steam library, it triggers
Are default sandbox settings hardcoded?
Can't find anything to look into to find out if sandbox headers are possible 
correct me if im wrong
you want to use the injured walk when you run?
dw ill try and help you on this one
I use blank bools for that, you get a box next to it but it is good for organization or an important message on top of sandbox if needed.
apparently b42 switched all languages to utf8
I want to trigger a check for when you enter a car, for walkinjury, and if one exist, slow down the process of getting into a car. same with exiting.
got the idea from looking at the sneakrun and run code that included that condition check in b42 now
you want to add trait when player is of a certain weight?
probably use event like every hour
then check for weight
then add the trait
if player doesnt have it yet
use
else remove the trait if player has trait
Ahh okay cool, I will have to review patch notes but that could be the cause. I didnt even know utf-8 could do cyrillic!
Hm. Alright, I guess that'd work until they either expose the header functionality or it just becomes common knowledge lol. Thank you
oh wow complicated stuff
method 1
you need to clone the xml that does the enter vehicle anim
and change the speed
but dont forget to check the var
and do a lua SetVariable
trigger this via enter vehicle event
method 2
hook on the enter vehicle timed action
Also how would I remove the og traits?
- checker function to check if player has the trait
- add trait to player
- remove trait
- the every hour event
do you have these codes already?
im using mobile
i could have just pasted these codes if i was in front of my workstation
you know the UI for admin that allows you to custom add trait to players?
you will find the codes from that lua
you mean this
og trait you mean the overweight for example?
hmm that might be an issue if you want to completely remove that trait cuz it gets auto added when sync weight is triggered
you could maybe hook on the syncweight trigger and remove the trait before it sends the sync maybe
youre looking at correct file i refered but that function sets weight not trait
can i still use RemoveResultItem:true,?
I believe it is gone
i wish someone upload a public repo containing the b42 lua
(with proper credit to tis and disclaimer and what not)
alr
To achieve that you will now just not have an output.
Why?
Recipe format is new and overhauled, should search back and find examples
Why can't I set a container's capacity beyond 100, and how do I do it anyways?
for mobile reading
currently using mobile only
yea, im trying to but cant find any
ill just do this
make your own private github repo I wont tell on you
problem is i cant (im only using mobile)
and its not really an issue of telling on me lol
In the new format that is, you don't get a choice, overhauled completely in B42. Let me send you an example you can start with.
craftRecipe InjectGlobunexIntoSelf
{
timedAction = CDCRR.Injecting,
Time = 60,
OnCreate = CDCRR_Globunex,
category = Health,
Tags = InHandCraft,
inputs
{
item 1 [Base.RubberBand] mode:keep,
item 1 [CDCRR.Globunex_Syrette] mode:keep,
item 1 [Base.AlcoholWipes;Base.AlcoholedCottonBalls] mode:keep mappers[OutputMapper],
}
outputs
{
item 1 CDCRR.SpentSyrette,
}
itemMapper OutputMapper
{
Base.AlcoholWipes = Base.AlcoholWipes,
Base.AlcoholedCottonBalls = Base.AlcoholedCottonBalls,
}
}
There is an example of the new recipe system for you, let me know if you have questions.
why
FullType = FullType?
weird
sometimes you want the same output as input while having different possible inputs
can already confirm, base. and module. aren't needed, never have been.
no clue why they're all over the place in source
i was trying method 1 w out a lua setvariable, gonna try method 2 and just hook on directly to time action ty for clarity and direction
Or way to just completly re-do them
So like TraitFactory.Reset but only for one trait
Input = Output - in this case you are getting back the same item, but if you use one type of item you don't want to get the other so Item = Item.
you have to hook on the profession lua
the one that actually declares vanilla function
you also need to do it for the death event since after death those functions gets triggered again
The = character is an odd choice maybe
ahh
so its more of a
"to" instead of "equal"
Yeah its a key value pair really
Also there is thoes
applyTraitFromWeight
applyWeightFromTraits
That are in Nutrition
Can I use thoes somehow ?
hooked on action. have a print console to check for injury check, all good. i dont feel like the time for the action bar to clear and the action to be fully executed is slower in any way though.
did check variable similar to xml so it is more consistent
thats overwritting
heres an example of how you hook
#1070852229654917180 message
It is I think how to get rid of things like drainable, where use would just use some of it.
Wait, does the game actually register .class files added into a zombie folder in a mod?
Apparently the npc mods do that, so why do some make you manually replace files if you can directly edit game code with workshop mods?
got it, reqrote properly i think. I believe the slowing down aspect is the only issue. causing some hiccups with IsVehicleMenu and Vehicles lua. I guess due to time delay on action.
i believe you can hook on this function
function ISEnterVehicle:update()
self.vehicle:playPassengerAnim(self.seat, "enter")
if self.character:GetVariable("EnterAnimationFinished") == "true" then
self.character:ClearVariable("EnterAnimationFinished")
self.character:ClearVariable("bEnteringVehicle")
self:forceComplete()
end
end
local function isInjuredCheckerFunction()
return --add injure checker code
end
local hook = ISEnterVehicle.update
function ISEnterVehicle:update()
if isInjuredCheckerFunction() then
--your setvar code
end
hook()
end
I'm a bit confused, PZ says I'm missing mod.info file?
When trying to upload on workshop. In-game it works
actually i thought there was a time for the enter timed action
but since there isnt
hooking on this function is t really necessary cuz i was originally thinking messing with the time instead of xml
but since the maxTime is set to -1
then i guess you dont need to hook
just use the entervehicle event
we need 3 media folders?
oh sorry 4 wtf
in root folder media is b41
so we duplicate everything? is that it?
other media is common and b42
if u want to have same workshop page for b42 and b41 yes
im hating this rn
yep
the moment b42 is stable im deleting b41 files and putting them as separate legacy mod
if i can't have b41 folder to use new mod structure then im not gonna have b41 folder

this is so messed up
i wonder what authentic peach think about this
Try removing the mod.info you have in common
cuz he does his big mod on a single upload with variations to modid
and thats already making em duplicate models and stuff
now he has to re duplicate it again
still says my mod is missing mod.info file
I am confus

It looks like your mod has two mods in it?
I think that is your issue
it's a seprate submod
does it have a separate workshop id?
i wish theres a better way to do this or atleast additional method
such as adding a line on top of files stating if its for both version or just 1 of em
and also, it does have mod.info
url=https://steamcommunity.com/sharedfiles/filedetails/?id=2914075159
id=EvolvingTraitsWorldMarkDynamicTraits
poster=poster.png
icon=icon.png
versionMin=41.78
modversion=1.0.2
description=Marks traits that can be lost/earned with (D). (P/D) means that they are permanent if picked in character creation, but if not picked they are dynamic and obtainable/losable during the game. Includes support for popular mods. Does not require main mod to be ran, can be run independently.
description= <LINE>
description= <LINE> Supported mods:
description= <LINE> - Evolving Traits World (ETW)
description= <LINE> - Explorer Trait
description= <LINE> - Dynamic Traits (DT)
description= <LINE> - More Simple Traits (MST)
description= <LINE> - More Traits
description= <LINE> - Simple Overhaul: Traits and Occupations (SOTO)
description= <LINE> - SixthSense
authors=MusicManiac```
like
ver {41,42}
for scripts
and maybe
if pzVer() > 41 then return end
hmm yeah
you can do that
idk about scripts
but pretty sure you can fetch pz ver in lua
i guess you can but even if you do that lol
you still need to duplicate the files
this is gona bloat servers
a lil bit, modders supposed to put media in common now
even if they dont need the 42 versions
its still there when the server mods updates
lua and scripts isnt heavy
but mods with assets
bump
thats gota suck right?
esp for weapon/clothing packs i guess
theres a thread have you seen it
yep
and all is in line with how it should be according to it
except maybe mod.info in common which is already gone
Id recommend checking for an existing B42 mod that has submods in it as an example, trying to B42 format in the submod maybe, or removing the submod temporarily to at least id if that is causing it. That is the only part that looks odd to me but I haven't done a submod or uploaded a submod in this new version format.
and another issue i believe servers will face is that they need to re sub some mods since i bet there are files that gets deleted
and so there will be mismatch
i guess
Events.OnEnterVehicle.Add(function(character)
local walkInjury = character:getModData().walkinjury
if walkInjury and walkInjury > 0 then
character:SetVariable("SpeedScale", 0.25) -- 4x slower for testing
character:SetVariable("BlendTime", 0.8) -- Slower blend time
print("Foot injury detected! Slowing down vehicle entry action.")
else
character:SetVariable("SpeedScale", 1.0)
character:SetVariable("BlendTime", 0.2)
end
end)
like so or similar?
It could be that they did not plan for a mod that has a submod only on the one version, maybe it looks for the b42 version of the submod since it is running the b42 of the main mod that has the workshop id.
and when do you add the moddata?
i dont think thats needed
oh ye 
that ain't good
i dont think you can set the blend time and speedscale
you should clone the xml
and replace that speed with your own variable
SetVariable("yourSpeedVar", value)
Has anyone got an idea on why this is happening. Could it be bcs of me removing the reanimted Corpse/IsoZombie from the world? But why wouldnt it reanimate the dropped corpse
ο»Ώ<?xml version="1.0" encoding="utf-8"?>
<animNode>
<m_Name>injuredEnterVehicle</m_Name>
<m_AnimName>Bob_SatChairIn</m_AnimName>
<m_Conditions>
<m_Name>yourCheckVar</m_Name>
<m_Type>BOOL</m_Type>
<m_BoolValue>true</m_BoolValue>
</m_Conditions>
<m_Looped>false</m_Looped>
<m_UpperOnly>false</m_UpperOnly>
<m_EarlyBlendOut>false</m_EarlyBlendOut>
<m_SpeedScale>yourSpeedVar</m_SpeedScale>
<m_BlendTime>0.20</m_BlendTime>
<m_Scalar></m_Scalar>
<m_Scalar2></m_Scalar2>
<m_Events>
<m_EventName>SetVariable</m_EventName>
<m_Time>End</m_Time>
<m_ParameterValue>EnterAnimationFinished=true</m_ParameterValue>
</m_Events>
</animNode>
character:SetVariable("yourSpeedVar", value)
character:SetVariable("yourCheckVar", value)
the f is wrong with my codeblock
(using mobile)
whatever
This is basically what handles the grappled zombie
local function OnTransferCorpse(character, item)
local grappleTarget = character:getGrapplingTarget()
local isoCharacter = instanceof(grappleTarget, "IsoGameCharacter") and grappleTarget or nil
isoCharacter:removeFromWorld()
isoCharacter:removeFromSquare()
character:LetGoOfGrappled("Aborted")
isoCharacter = nil
return
end
Hey, everyone, question on controllers. I've done a mod which adds a button to inventory bar (like "take all") but it's invisible for controller users. I tested myself on controller and it seems that one cannot even focus on bar buttons, so controllers utilize context menus for actions on inventory. Is that correct?
updated this @latent fractal
how did you reanimate exactly?
The game does it automatically. Basically when you pick up an zombie it revives it for the animation
burryaga knows about this but his currently inactive
and then kills it when you drop it again
ty, will try to catch them
I reenabled the corpse item in the inventory so transfering would work
And to keep the corpse from duplicating i have to delete one, which would be the grappled zombie in the game world.
So when i transfer a corpse into a container, the grappled zombie is retrieved and then deleted, aswell as instantly put down (Just like it does when you run, fall or get attacked when grappling a corpse)
But when you drop the corpse item from container or inventory and try to grapple it again, i believe cannot be revived
Since its not being rendered and when put down, theres nothing on the floor
i sent em a dm
containing your posts link
@willow briar
maybe theres a variable somewhere else maybe java?
try inspecting the data using the community mod tool
that way you get to figure out what changes did the normal one has that the bugged one doesnt
im looking thru java, but its kinda hard to debug that
have you gotten the community tool installed and running?
if you do then
check the data from 2 different corpses maybe (or just 1, its up to you)
the regular one and the odd one
also do you really need to the instance?
What community tool are you talking about?
I dont think i have it
on the workshop?
Im checking them out now
Got them
gonna check it out now. Thanks
tbh i have my own fork version from the OG mod by aiteron so im not sure how to use the inspector for that version
but i believe its as simple as right clicking the object
send screenshot of both data so i can help you check
if there are any modders who has a better suggestion for Bunneh feel free to add input
cuz mine will only lead to them POSSIBLY identify the difference
but its not a guaranteed method and could end up lacking a solution (depends on what we discover)
cuz it could ve caused by something else entirely and its not really related to the object
I don't know anything about B42. Not touching it for awhile most likely. But in B41, controller users would Take All using the context menu of individual inventory items (or stacks).
how are you?
We don't use the hotbar buttons. In B41 I added shortcuts for sorting using controller buttons since we cannot click headers to sort.
Surviving. Just haven't had the energy for modding these days.
Been playing random games instead for the most part
great, ty!
Only significant change apart from ID is that the grappable Zombie has an AnimationPlayer attached
but the variable only gets set on construction and is not used again
reviving creates a new isozombie and copies data from the corpse
so what's up with this:
I see ppl updating the mods to b42 and some are using new format and some are not
both working
so whats the point
@tame mulch
(sorry
)
I will check, thanks for report!
Any way to make a sound play on an entity like the player?
As in the sound moves along with the player
noted just aggressively testing. Just running into issues after issues that seem to take me further away from the goal. Going this route caused issues recognizing walkinjury, and seems to touch some other luas in the process, now unable to enter car, or simulate walkinjury without error
trying to think of other behaviors in game that may be a base point jump off for what my silly little head is trying to do. vanilla wise
Not yet... Albion said it is not possible in B41, and probably not possible in B42, but I will continue to investigate to at least understand how the shaders work in PZ
hey man, thanks for your help, i will keep testing to see if i can fix that, the distribution script looks the same to me, must be the sandbox scripts that arent working :)
No problem!
Sense of Smell has been updated to B42! - This one was way easier than the last one with like 60 recipes π https://steamcommunity.com/sharedfiles/filedetails/?id=3018798678
hello there, im new to the community aswell, welcome :)
i thought you mentioned something about a "double" type of option and it seems to be doing something!
i put it to 500 tho, not 1000, still 200 like you said, odd
The numbers are a bit weird I do not understand exactly how they get to the result. You may want to play around with it a bit. Just know it acts weird at extremes. A very big number can cause it to generate small amounts and a very low number can cause it to go back up. Find your range you like and then lock it in to prevent that. It is odd to be so different, I was hitting 200% with 1000 on the non-outfit zeds.
For your case of wanting more drops you should see things work nice, it tends to be hard to make ultra rare drops using this system from my experience.
Oh no. It is day time. Goodbye 
success!
haha thanks for all your help man :) goodbye
Okay guys been at it for a few hours now and can't figure it out lol. I have mod folder properly set up in C:/USER/Zomboid/mods/MYMOD with mod.info following the example on the Wiki. I have -debug -nosteam -modfolders mods as my launch options. I have some dummy item .txt files in scripts following wiki example but I can't get my mod to show up in mod list. Can't find a google solution either. Anyone know whats up?
Is there a seperate lua file where languages are defined?
Like lets say... if I wanted to bring an entirely new language into the game.
Zomboid
Workshop
Workshop name
Contents
Mods
Mod name
B42
Then mod data
Er, assuming you are porting to 42
So it needs a workshop structure even if I want to dev locally first? And not porting starting something new.
Oh, in that case I wouldn't be any help, I'm sorry.
Thanks anyways!
do you have a 42 and common folder?
you also need to put mod.info in there
and i think a media folder in 42 aswell
you dont need workshop structure, only "mod name" in belle's diagram
for local mods
oop wrong channel
Btw this is also updated but it's WIP
https://steamcommunity.com/sharedfiles/filedetails/?id=2914075159
how can i display itemID? i want to put it beside the item name
self:drawText(self.invItem:getName(), (self.width * 0.05) + crucibleCore.scale(self.panel.width, 0.05), (self.height - self.fontHgt) / 2, 1, 1, 1, 1, UIFont.Small)
I tried this and didnt workπ
self:drawText(self.invItem:getName() .. " (" .. self.item:getFullType() .. ")", (self.width * 0.05) + crucibleCore.scale(self.panel.width, 0.05), (self.height - self.fontHgt) / 2, 1, 1, 1, 1, UIFont.Small)
Is there a way to debug why this recipe I'm working on doesn't seem to be loading in correctly?
I've got it enabled in the mod manager, and have had errors related to the .lua scripts (that I've now fixed) so it's definitely trying to load in. I've added a modified recipe in /media/scripts/recipes/CutFishFillets_Recipe
The OnCreate and OnTest script are defined in media/lua/client CutFishFillets.lua
recipe:
module CutFishFillets {
imports
{
Base
}
craftRecipe SliceFilletSmaller
{
timedAction = SliceMeat_Surface,
Time = 20,
OnCreate = CutFilletSmaller,
OnTest = CutFilletSmallerTest,
Tags = AnySurfaceCraft;Cooking,
category = Cooking,
xpAward = Cooking:10,
inputs
{
item 1 tags[SharpKnife;MeatCleaver] mode:keep flags[MayDegradeLight;IsNotDull;SharpnessCheck],
item 1 [Base.FishFillet] flags[InheritFoodAge],
}
outputs
{
item 2 Base.FishFillet,
}
}
}
I can't see it in game or in the debug script manager or Craft Recipes debug menu..
maybe you can use the error magnifier mod?
I've just grabbed that but unless I'm using it wrong it doesn't seem to help - I'm not getting any errors when I load into the game, I'm just unable to see any reference to the recipe anywhere.
Ok so after like an hour of beating my head against this I've just realised that when I created the file Windows hides the extensions for .txt files. This is normally fine, unless you're an idiot like me and accidentally deleted the extension entirely, which is why the file wasn't being loaded. Changing it back to a .txt fixed this.
since this is new and i havent seen b42 code i cant help you further im afraid
if you manage to figure something out then that means youre the first to make grapple related mod
maybe try to copy whatever is missing if youre able to
I already debugged it a bit
and reanimate doesnt work on dropped bodies
So im trying a work around
happens to alot of us. its normal
Feel good about yourself. Shit I wish it was an hour. 3 days later and I just realized the same mistake.
I TRIED EVERYTHING
At least its a good learning experience
damn
3 days will drive me crazy i bet
No wonder the recipes for the workbench I was making didnt show up
I've scoured the java code, lua code and all the scripts for some kind of secret definition of workbench craftRecipe tags
Turns out I was the problem
How can I go about overwriting vanilla crafting recipes?
Honestly though If you do find out, hit me up I wish I knew how to override them
Gahhhh that makes this annoying then. I'll have to duplicate all 4 of the crafting recipes just to fix them...
I tried copying the entire recipe text file, lets see if it overrides it or if I end up with 2 of each recipe 
overwriting stuff gets... Weird.
It sort of worked? But it duplicated the requirements and outpuit lol
Why are my translation files not working 
human error?
hi, is anybody getting sound from eating in b42?
also from having a cold and coughing?
Hi guys! I need create a new ocupation for B42, and need a guide, please helpme!
You can start off reading the modding guide here: https://pzwiki.net/wiki/Modding
And also take a look at some other mods that add occupations i.e. Simple Overhaul Traits and Occupations
Thanks friend
Btw guys got it working.
Its a big workaround
but i should get it finished soon
Hello there, having issue with the OutfitManager in clothing.xml, the vanilla clothing which i specified in outfit works fine, but my modded clothes are not showing on the zeds, which is strange, because the clothes worked fine for the player, and i downt know why this is happening, seeking for help
below i provided screenshots of clothing.xml and guuid tables
Did you add those zombie to any spawn definition at all or its just clothing.xml?
Because right now i see you created outfit, but now you have it actually be asigned to spawn
Or do you spawn zombie, but they're naked?
yes i made one
yeah, they half naked i'd say
B41 or B42?
b42
Are clothes and zombie outfit in same mod or they're in separate ones?
same
Do those clothes work on player character?
thats weird usually its the other way around
yeah
Can you paste your XML instead of sceenshots?
the clothing.xml one?
yeah, tshirt and a cap
huh
in Outfitmanage
Clothing*
I mean, you want zombie to spawn with shirt, but i think Top might also mean Shirt, which is 2d painted on body?
Because apart from that i can't see any issue.
Did you restart game? I know XMLS load as game goes, but maybe outfit thing does not work exacly?
i enabled tint, wrong line
Do let me know if it fixes it
not the case it seems, tshirt still doesnt shows
cap too
What are those "Subitems" on Pants part in Clothing?
I can't really show exacly what i mean since its screenshot, not text
Also question. I hope youre not both editing it locally and are subscribed to mod on steam workshop?
shorts i think
<@&671452400221159444>
nope, just locally
Can you copy/paste clothing xml, it might help
yeah one aec
I feel like we're missing something small and i can't quite nail it
here it goes
it urks me that is still there. dear lord
If it would not work on player character i'd think that was somerthing wrong with clothing items, but it works, so i'm not sure anymore
There seems to be no spelling errors too, vanila clothes appear...
Your outfit for sure uses new guid?
yup
both male and female outfit share the same one. which will conflict
but the vanilla clothes still appears on both
golden rule of GUID.
new one, every time. regardless
i mean the ones i specify
If its same outfit they do not need to be diffrent
For female and male
i genuinely, always adhere to new guid, every time
If its same outfit same name same clothes, then guid can be same.
its good practice.. like cleaning a knife before prepping food
anyway thanks, very appreciate it
I wish i could help, but from what you've shown it should work
It looks like I'll just do with loot distributions
I find it funny that when I looked at the answers to my problem, vanilla clothes usually didn't appear, but for me it's the complete opposite
but anyway thanks once more
If you have both vanila and your clothes that you want on zombies in guidtable too, it should work.
i specified my and vanilla clothes, but my clothes doesn't shows only on zeds
which is my problem yeah
bruhh seriously?
Do you have any other clothing item that is 3d modeled and see if it works?
is there even an actual reason why items need guids in the first place
it seems completely pointless
not really, but those are at least used
the guid needs to refer to the xml file so uniqueness doesnt matter
and the item scripts refer to the xml file name
the way the game loads clothing is:
- loop through all items, for every item that has a clothing item:
- use the filename in the item script to get the guid
- use the guid to get the filename again???
- load it
only the baseball cap, which is actually needs to be showing on this outfit too
but the cap uses vanilla model which loads from the game i guess?
outfits do use the guid but since everything is bottlenecked by filename at the item script point it doesn't really matter
pretty much the only thing the guids achieve is making zombie outfits a total nightmare to work with
I've never experienced such a headache before
if you add comments labelling every item you add then its manageable but its still tedious
also iirc the guid in the actual clothing file is read but not actually used for anything, only the one in the file guid table matters
I devoted myself to solving this problem for a whole day, but I still haven't found an answer, so I appealed to this server
it doesn't look like they changed much about how any of this works so ideally the tools i was developing to smooth this out haven't lost much or any progress
honestly even just a script that could convert guids to the xml names and then back would be lifesaving

bruh
in timed actions, waitToStart does exactly what it says, correct? It waits to start the action until whatever check is false

I really miss armored cars
My full Moodle mod just released now! Completely redrawn moodles, bringing the best of B41's design and B42's into one mod. And, with customization! https://steamcommunity.com/sharedfiles/filedetails/?id=3387205473
Can a timed action happen without being in the queue? So like, a progress bar raising for 5 minutes, but if you right click on a chair and sit you can still do that and it still functions?
Pretty late response, if you didn't figure that out by now, you have to add IsMoveAble to a tile's property list, if it's a custom tile then you can do that in TileZed or if its already existing one you can do that in lua like so:
MyMod.loadedTiles = function(_spriteManager){
local properties = _spriteManager:getSprite("mysprite_01_02"):getProperties()
properties:Set("IsMoveAble","", true)
properties:Set("PickUpWeight", "50") -- Encumbrance = 5.0
-- ...
properties:CreateKeySet()
}
Events.OnLoadedTileDefinitions.Add(MyMod.loadedTiles)
Idk if thats the best solution for this but works mostly for what I need.
timed actions run in a sequence. you can insert a timed action anywhere in to the queue but the previous action will have had to complete
you could probably grab the queue, stop the current action, add your sit action and then re-add the queue
You can probably manage to do something like that but not with timed actions
How about a community, who could create this profession? I'm too slow to do it myself... I'm not interested in credits, I just want to play with a profession like this
New profession:
Tailor: Expert in clothing and scissors repair
Special skills:
Tailor: The clothes you wear will not limit your movement/attack speed. You get wet 25% slower in the rain
Scissors Expert: Attack 25% faster with knives and scissors
Starting skills:
Short Blade Weapon 1 + 100% xp
Maintenance 1 + 100% xp
Tailoring 2 + 100% xp
Point cost -4
Commission a modder
Have you tagged any channel? Because I can't see it
Visual bug, click it
OMG Thanks!
Is there a way either via a mod or debug mode to turn electricity and power back on after the shutdown? I was unaware that plumbing is not working in build 42
Please forgive my lack of technical speaking, i don't do this. I just want to try and get a simple mod I made back into working order for B42#
the image referencing "event" is from the new script format in b42
Is anyone working on a mod that disables Discomfort moodle?
where can i find these event files? before would simply be a matter of changing the file directory but that is no longer the case
all i want to do is change a sound, namely the death music
You know moodles are just information right ?
hey, im trying to get into modding for the first time, already read a few tutorials how to create mod, but im stuck at finding how to change options for world models like friedges, counters etc.. i dod for example look for example for files containing the word "furniture_shelving_01_27" in C:\Program Files (x86)\Steam\steamapps\common\ProjectZomboid\media\scripts but no luck, anyone could hint a direction?
sound scripts haven't been changed at all, you don't need to do anything to make that work in b42
No it does reduce happiness too
No, but a moodle gives you the information when your happiness is reduced.
the moodle itself is only information, you'd want to disable the thing causing the moodle
Yes but in b42 there is a new discomfort moodle That starts to show up when you wear armor, annoying
you want to disable discomfort stat, not the discomfort moodle. if such a mod exists you can find it on the steam workshop
do fbx models need to be updated?
not that ive seen
they fixed the rendering bug in a patch so they should be fine
Some of my models still had holes, even after patch + making normalization
But triangulating then fixed it
I don't know why. It just did
i guess they must have missed a triangulation setting as well then
WARN : General f:9204, t:1734982988265> MeshAssetManager.loadCallback > Failed to load asset: AssetPath{ "FlashLight7" }
WARN : Script f:0, t:1734982801621> ModelScript.check > no such model "???.FlashLight7" for Base.Torch7
WARN : Script f:0, t:1734982801621> ModelScript.check > no such model "???.FlashLight7Ground" for Base.Torch7
i might need to fix the script then
i'll have to test and then make a report
Do you report it to them directly or?
theres a bug report thing on the forum
Not discord one?
thats for modding stuff i think but this is like an actual game bug i guess
All vanila stuff i've seen always has been triangulated on import so it might be default for them.
Like it did not happend on all Quads, but it was mostly on Bigger ones
yeah it was the same with normalisation
the model importer is supposed to do it automatically even if its not already done on the model
And not even every model so ...
i just tried a model untriangulated and its fine for me
I could send you model with texture so you can check it out. Its one of my first "better" ones but still has alot more faces that is actually required.
Or if i encounter it again, I'll invesitigate it further
Iβm going to be attempting to import some half life clothing (models and textures from HL2) into zomboid. Though I know stuff with the model itself will mostly be trivial, there are some things I need to learn about as Iβve never created a clothing mod.
- How does hole placement work?
- Will the model and texture still utilize the same seams?
- How do I dictate which body parts they cover?
- Is there any jank with full body clothing I should be concerned about?
- Are there any important changes to rigging Iβll need to make?
um if you want this to work in the normal clothing system this is actually a massive pain in the ass and not nearly as easy as it sounds
you have to re-uv everything to match the vanilla uvs since they're used for masking and blood and stuff
If you mean just the file format, vanilla PZ uses DirectX .X format (eww) but you can also use FBX too (heavily preferred)
needs to match this
the flattened texture looks so weird π
if youre just doing clothing it'll just be easier to use the zomboid models and then work from there
redoing the uvs to fit the game will be a total nightmare
I could probably just make a new texture, Iβm very familiar with drawing digitally and pretty familiar with surface painter, and the textures from HL2 shouldnβt be crazy difficult to reproduce
If you don't really care about holes you could probably add hatmasks line to make them not appear on your clothes and just use already existing UV's
the texture is easy the problem is the texture mapping on the models needs to match the vanilla ones otherwise it breaks
Yeah that shouldnβt be wildly difficult. Tedious? Absolutely, but not the worst thing
I did clothing mod without PZ uv's, weighted it myself and it does work, but just won't dispaly said holes/blood/dirt
would break if any clothing is on top of it though
To be fair, holes blood and dirt arenβt really necessary
Thats the neat part, i made it be top layer to begin with
Itβs mostly just for Civil Protection as staff characters on my server
Doing a wipe based in the Half Life universe, gonna take a shit ton of technical work on my side but itβll be worth it, Iβve got other staff working hard on systems and itβs starting to come together pretty nicely
It was more of a project for myself than official mod.
Also, is there a way to make a gun do only health bar damage when hitting a player? Trying to let people get shot in Combine patrol encounters without bleeding out immediately. Alternatively, if itβs an absolute pain, how to I make the bullets as inconsequential as possible? The custom gun weβre using is based off of the Gunfighter framework.
If I could get the graze chance to be way higher than the bullet lodge chance itβd also work but I believe thatβll take editing different things
Vs player there is not really alot that can be done. Maybe b42 MP will introduce more to it. Currently even gun with 0 damage will lodge bullets And will kill in few shots i belive.
Importing a shock stick should be easy as shit, right?
Probably just gonna replace the police batonβs model
weapons should be pretty doable yeah
Nah the shock stick from HL2, basically just is a baton but looks different
Is there somewhere an example of animated tile?
yo guys
my zomboid is telling me im missing a mod.info file
while i CLEARLY have one right here
anyone any idea why this is?
if you're developing for b42 you need to put your mod's files in SnakeVoice/42 or SnakeVoice/common
will that folder be in the mods folder or whereabouts in the file structure?
where your screenshot is, add a 42 folder and a common folder
ah ok
mod.info and poster should be in 42, as well as things like scripts, lua, and clothing xmls, and most assets (textures, models, etc) should be in common (but technically you can put everything in 42)
Hi, I want to start with mod developing, anyone has a cool guide? I have read the documentation but I donβt know where I need to start, is a lot of things
Find what you want to make, see if there is mod that does something similar, reverse engineer it, see how it works.
Or if its vanila thing, check files. They're really easy to acces and readable for basic stuff like items/models/textures.
I want to make a camper mod, I want a room inside of a camper, but I think I need to modify the Java code, I donβt think Lua is enough for this, right?
Thank you, I take a look of this mod, I already know this mod, but it seems to be not updated and not working anymore, or Iβm wrong?
On b42? Its Expected. Its huge mod and it requires changes on various levels. It also most likely requires update to the interiors since they're actuall rooms somewhere on map and once the vanila map updated, it might've messed with those.
Oh nice idea to place room outside of the map, but seems not very performance friendly
Sorry for my bad English
You might notice that "map mods" don't require much space. So i'm not so sure about that
So basically when player enter in a rv is just a teleport to a room
Its more of updating mod structure and making sure lua side (teleporting) works
Yeah
Oh, I loved this mod, and I want to sharpen my coding skills, so Iβm planning to recreate a mod like this for me
Iβm a flutter and angular developer bored to do just app and websites 
did erosion always cause buildings to be ransacked
or is that a new thing
because ive noticed that when i go to a town i havent been to before its been torn up
broken in houses and shops n stuff
houses with trash and stuff all over the floors
Mod dev updates the mod semi-frequently, works often with other mod creators to help them add their own
I don't suppose ayone knows why my script would open the debug error menu when trying to open the crafting menu in B41?
And or why might a script cause the crafting menu to no longer open?
Not to be captain obvious but sounds like somethings wrong with your script there
What does the error say
New to pz modding, I might be going crazy but my mod isnt displaying on main menu
Mod in local folder (atleast I think this is the local)
Here is 42 folder with all the files, common is empty
And inside media is a simple items.txt
Not sure why it isnt displaying or did I just skill issue
put your mod in %UserProfile%/Zomboid/mods/
this mods folder in the actual game install doesn't actually get loaded from (who knows why it's there)
ty, my issue on that front was uh... didn't realize I needed to state the tileset/pack in mod.info
but ended up learning how to use the whole buildmenu recipes before I figured that out so it's not a inv item recipe now
its ancient im pretty sure
i vaguely remember it being used back in like 2013
No problem, I also just today realized about that tiledef & pack in mod.info :p
Do you know by any chance why this icon is so small? I believe it uses the tile image instead of Icon i have in textures folder.
When I use exactly the same craftRecipe as an item it works perfectly
the construction menu, possibly the new build menu too seem to use their own icons now which are in 48x48 instead of 32x32 icons
Yup. I have created a 48x48 icon just for that
infact, had to upscale my 32x32 icon to 48x48 to make it show up in the construction menu
one sec... it's possible that you used the same name for them both... could try naming the image something completely unique to see if issue persists when you set it to that
Wait.. doesn't it use some kind of a prefix like Item_ does?
I think that's just TIS formatting
like how they put base. infront of everything despite it being unneccesary in almost all cases
ah, got it. Well.. I set unique name and its still the same.
also possible that they could have separate files for uh... the UI where they set icons though
they have separate files for buildmenu icons
with their own variables
So.. it fallbacks to tile image?
π€·I just know they have entity_tile scripts for the buildables where you setup recipes, and... now how multi-tile things are laid out... how they're oriented based on facing direction despite tilezed still determining the preview when picking up...
they also have x_entity_tile scripts in scripts/xui/defaultskin
so you might be looking for something around there
yeah, I will take a look at the xui folder for any clues, thanks
Got it.. kinda
ah yeah i see what it's about now... it's where you define the entitystyle in UiConfig
Somehow having "DisplayName=something" inside entity breaks it
Yeah
but weirdly enough... it's also defined again in the non-X_-file...
idk, i just know it worked
maybe it's about the CraftLogic component
Hi everyone! I am getting the following exception
attempted index: CreateItem of non-table: null
When I do:
local metal = InventoryItemFactory.CreateItem('Base.SheetMetal')
But not when I do:
local metal = InventoryItemFactory.CreateItem('Base.SheetMetal')
Any idea on what could be the root cause here? It looks like Base still does still includes SheetMetal after the update and the InventoryItemFactory is able to work for some items, so I don't get why this is happening π€
I'll take any help if this happened to someone already π
InventoryItemFactory is no longer available to lua, use instanceItem("Base.SheetMetal") instead
(B41) Any tips on how to get a result similar to getFullType used on InventoryItems for an IsoObject?
I still just wanna know if there's an actual workaround to TIS's restriction of only letting you set an iso container to 100 capacity.
Maybe, the important thing is that it works :p
Thanks I'll try that!
Am i right to say that IsoThumpable does not have a ScriptItem attached to it?
it does not
wow, finally I figure it out
most pick-up-able objects use dynamically generated items
Can someone spot whats wrong here?
Got an error?
yeah
Can you please post it
how do i set every zombie to spawn with this outfit?
java.lang.RuntimeException: java.io.IOException: Script load errors. at GameWindow.mainThreadInit(GameWindow.java:705). Message: Unhandled java.lang.RuntimeException thrown by thread MainThread.
Stack trace:
zombie.GameWindow.mainThreadInit(GameWindow.java:705)
zombie.GameWindow.mainThread(GameWindow.java:599)
java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Script load errors.
zombie.scripting.ScriptManager.Load(ScriptManager.java:1566)
zombie.GameWindow.initShared(GameWindow.java:156)
zombie.GameWindow.init(GameWindow.java:1442)
zombie.GameWindow.mainThreadInit(GameWindow.java:701)
... 2 more
ERROR: General f:0, t:1734996539781> ExceptionLogger.logException> Exception thrown
java.security.InvalidParameterException: Index 1 out of bounds for length 1 at Item.Load(Item.java:1631).
Stack trace:
zombie.scripting.objects.Item.Load(Item.java:1631)
zombie.scripting.ScriptBucket.LoadScripts(ScriptBucket.java:265)
zombie.scripting.ScriptBucketCollection.LoadScripts(ScriptBucketCollection.java:122)
zombie.scripting.ScriptManager$3.LoadScripts(ScriptManager.java:183)
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)
LOG : General f:0, t:1734996539781> [item] removing script due to load error = Hat_SurgicalMask_BlueDown
java.security.InvalidParameterException
I guess one of these changed in 42, it worked in 41