#mod_development
1 messages ยท Page 123 of 1
that's.. a hard question.. everything? sometimes im fixing bugs in others' mods sometimes i'm making new mods to add features, sometimes it's just writing recipes for packing items down, sometimes i have to modify an existing mod (w/ perm) to change the way it works to suit the server, remove a feature, etc.. sometimes i have to make custom RP items for people
im just constantly doin shit
lol i get that, constant tweaking and bugfixing left and right for a particular need.
looking for people who'd like to play on that sort of server who also mod, so they could contribute and help make the place better as we go
Idk if I'm up for the task, you could probably judge my Workshop and get a consensus
u know more than enough judging by that
MP is a dark alleyway I haven't touched
can't even fix my own mods to work with MP
i could help with that
well, I'll start by taking a look at the RP server. Got an invite?
sent in dm
@weak sierra so im trying that mod and im not seeing any cassettes at all
its working a little too well
lol
ok found some in a car glovebox
guessing thats the only place they're showing?
afaik it should spawn in all the places they normally do but i dunno i havent exactly gone cassette hunting in a while
maybe im wrong
i'll probably do the 1 less decimal strat

@quasi geode Just finished my parser rewrite. It's so much cleaner now.
clean is good
I have a few categories to implement however.. I might wait on vehicles just because.
I also get the feeling that vehicles will be modified for b42.
All good. Done for the night.
Here's the current code: https://github.com/asledgehammer/ZedScriptParser
Can somebody make a tamagotchi collectors mod since PZ is in the 90's ๐
OMG i want it too
Might as well add Beanie Babies
if you rename a trait or occupation will there be any issues for ongoing saves for other people using your mod?
or would it like just remove the trait/occupation from the character details or something?
it will remove the trait
ok thanks!
it's 1996 and too small to see in the game
some of my items were released in 1994 and people are complaining
the safe timeline is before 1993
wondering if i should change the bite from the left forearm to the right forearm, to make it affect combat...
make it random, with groin bites more often
@sour island what do you think about spawner api that uses global objects instead?
pros: no LoadGridsquare checks (chunk load v42), gets called when there's an object in chunk, can get all chunk objects with a command
@jaunty marten no more strings concat, any better way you can think of?
nah, that's not the nature of this trait. i want the same effect to be guaranteed every time someone takes this trait
i chose the left arm cuz it makes the infection the only concern with the trait, but if i make it the right arm, even if someone has a cure already or an immune trait it wont be free points
especially if the arms are involved, randomly having it on the right arm is a way bigger deal than the others
leg bites are worse
also cuz ellie from TLOU is bitten on her right arm, someone could roleplay as ellie if they also take an immunity trait LOL
if you can't decide, make both traits
i was thinking of a sandbox option actually
sandbox option for bite time and for bite location
but idk how to make sandbox options, so i'll look into it when i have time
i kinda get that u can make a variable that takes from the sandbox file but havent tried applying it yet
it's generally simple enough
yea i've seen other mods that have sandbox options
using it to select bite location should be simple, changing trait selection before world loads is not
wym
sometimes people ask about using sandbox for character creation UI, which is too early to use them
I thought I'd mention this because you make a trait, but it shouldn't affect you
ah, like enabling a trait or disabling one?
it's not that character creation is too early, it's that a lot of common things people want to change with them is permanent once it's set in the java
one of my mods heavily utilises character creation sandbox options
never tested it so... would mp have current vals? any issues with sp?
only issue i had was in singleplayer if you die and exit they don't load when you load game and make a new character, but i think i just forced it
i can make a dropdown menu for sandbox so ppl cant type in a nonexistant body part? would i need to make an array or something
you can use enum sandbox option
with two options you make a simple if sand == 1 then ... else ... end, with more options you add more ifs or make a table
I think main concern was whether the clients would use the current values if an admin made changes.
I like and hate the sp solution. Maybe in v42 it won't be required.

- How much earlier can we expect sandbox for v42?
- Will chunks be 8 x 8 everywhere? Will chunks be further broken down per 4 levels or is that only for rendering?
- Some moveables accept only specific items, are there plans to have this less hardcoded? e.g save persistently the AcceptItemFunction for ItemContainer or expand the isItemAllowedInContainer function.
Hello i have question about adding zomboid animatino to action. but i cant find a proper name or value .
i found
setanimation("Loot")
setVariable("Looting","mid").
but i want to try with action which i can see in debug mod , name "Bob_AttackFloor1Hand". where can i find this proper name and variable? even in wiki only shows some basic formats.
You need create xml script with this animation for action
Hey, just making a vehicle spawn disabler for my server, just wondered what is a good and bad spawn region for vehicles?
-- Good spawns --
VehicleZoneDistribution.good.vehicles[vehicleMod.vehicle] = {index = -1, spawnChance = vehicleMod.spawnChances.good};
-- Bad spawns --
VehicleZoneDistribution.bad.vehicles[vehicleMod.vehicle] = {index = -1, spawnChance = vehicleMod.spawnChances.bad};
Im trying to hide black hawk but it still spawns , just wondering if good and bad had anything to do with it
{
vehicle = "Base.hmmwvtr",
spawnChances = {
parkingstall = 0,
trafficjams = 0,
trailerpark = 0,
junkyard = 0,
fossoil = 0,
military = 0,
ranger = 0,
police = 0,
spiffo = 0,
good = 0,
bad = 0
}
},
{
vehicle = "Base.hmmwvht",
spawnChances = {
parkingstall = 0,
trafficjams = 0,
trailerpark = 0,
junkyard = 0,
fossoil = 0,
military = 0,
ranger = 0,
police = 0,
spiffo = 0,
good = 0,
bad = 0
}
},
Also these still spawn
huh... why would my UI_EN translations suddenly stop working...
An error in that file?
@nimble spoke - has to be of course - I'm just trying to identify where it is..
cause only a portion of my UI translations are borked ๐คฏ
(btw - LOVE your mods dude!!!)
do you have an example of what stopped working? any changes you made?
so... we have some experimentation I was doing to the professions+traits we use:
however I can still see the previous ones i dropped in working - side by side with the broken ones:
code wise:
p70s = ProfessionFactory.addProfession("70s",getText("UI_prof_70s"),"profession_70s",70,getText("UI_profdesc_70s"));
wastelandTransporter = ProfessionFactory.addProfession("wastelandTransporter",getText("UI_prof_wastelandTransporter"),"profession_wastelandTransporter",-6,getText("UI_profdesc_wastelandTransporter"));
and then from my UI file:
Working:
UI_prof_wastelandTransporter = "Wasteland Transporter",
UI_profdesc_wastelandTransporter = "Since the outbreak you've been making a go of things by running goods for people. It started with small pockets of civilization, but over the last year it has expanded to a small network of traders - giving you a market to buy and sell goods at higher value to the small colonies that don't have transportation networks worked out.",
Vs Not:
UI_prof_70s = "70+ Years Old",
UI_profdesc_70s = "10 years into the outbreak and you're one of the oldest folk still standing - if you weren't ready to kick the bucket before, you are now - but if you're going down you're taking every last walking dead you can with you.",
UI_trait_age70 = "70+ Years Old",
UI_traitdesc_age70 = "All you could ask for is a rocking chair, a porch, and a lawn to yell at some kids to stay off of. You'll settle for a shotgun and some zombies though - cause with the arthritis and whatever else you have wrong, this is it.",
it all looks right - but I don't understand why the test on the new UI elements I added is defaulting to their text values in getText() vs the actual UI definitions
the only difference on my end is this is the first time I've dropped a + symbol into a description and I'm about to remove those as part of my testing.
assuming it's a special character or something shrug
I'm glad you enjoy them. Maybe a missing coma? missing quotes?
70s versus 70S ? It is case sensitive
nothing strikes me as obvious yet, can you drop the whole file?
99% of the problems or errors i get when modding is a typo
so thats a good thing to check
the WHOLE UI file?
a quick check in the game's files tells me + isn't a special character
lol oh it's not that big just wanted to make sure that's what you wanted - give me a few moments, cleaning it up a bit and checking for a few obvious things (like I noticed a missing , at the end of a line near the bottom of my file just then...)
and a reload of my LUA systems will reload the UI translations as well right? This is one of those scenarios where I might need to kill PZ completely and relaunch?
hm, message.txt is bad name for that file
๐คฃ
๐
hello, is it possible to change the main male and female playermodels?
through modding
....
I think I know what the problem is
testing something to validated that I am an idiot....
im currently making a mod that requires a custom playermodel, however I don't want everyone to spawn with that custom model. Is it possible to implement this in the character creation UI ?
Yup - confirmed guys, I'm just an idiot - disregard my question! ๐ฃ
can you say what it is?
wdym?
Apparently I had a copy of UI_EN.txt left outside of my EN folder. I do most of my editing in notepad++ and keep my files open. Apparently I started editting the one in translate/ and not translate/EN - so none of my new content changes were getting added -_-
facepalm
<- idiot
Instead of using LoadGridsquare event and concat, make global objects. That seems better, unless you can think of another way for that spawner api.
lol I'm so rotted over that - but at the same time glad it was an easy fix. Wondering how long I've had that file duped now....
so it was a file problem in the end, try to learn from this
you're not the first person to do this
any1 ?
i'm currently inspecting similar mods, but cannot figure out how do they pull off that
@tepid dawn I've only seen full model replacements, not one that modifies the UI to let you pick in character creation unfortunately.
You mean they instantly spawn you with a set character ?
I mean I dont want everyone to be the same specific character lol
Do textures need to be in the vanilla specific file structure for them to be applied to a model? For example my mod uses the same texture for both a clothing and weapon item. Currently I have 2 folders with the exact same images in the textures folder mimicing how the vase game does it but can I just have 1 set of those images in 1 folder and put the directory in the script?
i tried a similar thing and it worked, but don't take my word as guaranteed since its been a while
Testing it now
honestly don't kbnow why I didn't when I first made this
it does in fact work
question! anyone know of a way to get a 2x2 square that is within the range of a vehciles right door area?
Good morning.
United States
did u already test that?
oh good morning makes sense now
hello, is there a list to all available Keyboard.KEY_* values?
for example, if I wanted to bind DELETE, what's the correct one?
(not asking about normal key codes)
Javadoc Project Zomboid Modding API declaration: package: org.lwjglx.input, class: Keyboard
no, throwing ideas. But it should work, I have minor experience with global object system
ty, couldn't find it before
Getting vehicle scripts parsed & loaded doesn't sound hard to do. It's understanding the nature of vehicle scripts and what they do that's more of my concern.
I've modded this game for 10 years and I did not get into scripting so some of this is new to me.
=/
is there a way to add a context menu action for swapping weapons similar to raising you hood on a hoodie?
so like right click weapon, select option and weapon turns into something else
I know for clothing you use these ClothingItemExtra = DakiArmorBack1, ClothingItemExtraOption = DakiBack, clothingExtraSubmenu = DakiFront,
Wdym by swapping weapons? Just unequipping one and equipping another?
(There is a vanilla radial for this on gamepad so I am confused about whether your goal is something else...)
@hot patrol
no. literally turning that weapon int o something else. so crafting without it actually being a crafting recipe. exactly like raising your hood
Ahhhhhhhhhh
carry over condition and all
Mmmmmm... I suppose you could remove the item from the player's inventory and store it somewhere and replace it with another and try to transfer the stats. There is a setCondition function for items, e.g., which could be used to match their conditions during the swap
that sounds like it could work. In my case the 2 weapons are completely identical stat wise minus the model
so it's like just changing the cosmetic look of it
Do you know if you can change the base model (the .fbx file) of an item without needing to create another item?
Like change this item from model x.fbx to model y.fbx
how can i check if a certain tile is within range of a vehicle then?
I am not 100% sure what command you need, but ISRemoveItemTool.removeItem(item, player) may be helpful.
Also, your inventory containers have access to DoRemoveItem(InventoryItem inventoryItem)
Not sure which is the right one to use tbh, or perhaps both work.
Containers also have DoAddItem(InventoryItem inventoryItem)
I am not 100% how to create the item if you don't have its reference.
I have to work so unfortunately that's all the time I have for guessing ๐ฆ
Well thanks anyways. ๐
Wondering if there should be a JSON schema made after both FWolfe & I complete our JSON parsers.
I'd hate to create two standards. =/
For now my JSON will be a proposal to be the standard for representing ZedScript.
Anyone working on a power/water restoration quest mod?
still needing assistance ova heeah
Wait.. if destroy is inferred for recipe script-definitions, why is destroy a symbol?
It makes sense to have keep.
destroy is the opposite, without it drainables are used instead of removed
So it's necessary to have the symbol? Maybe I'm not getting inferred ingredients..
(I need to understand how this works so I can properly map these definitions)
I'm not sure what a symbol means
I'm looking at FWolfe's tutorial.
keep ...
keep here is what I'm saying is a symbol.
keep, destroy being used here to mark what ingredients are kept and destroyed.
Then there're lines that are not marked keep, or destroy.
So is each line an array of optional ingredients for part of the recipe?
Going to go back to reading more on recipes. =/
what is that, option to place mail into mailbox?
so you can do it through the window if it's close enough?
yes
and it will set a timer on the tile to stop people from spamming mail into one box.
it IS an RP mod.
I just need to be able to check for a mail box tile outside the window if the window is open
what's the best way to get out of PlayEmote?
Does that work? getOrCreateGridSquare?
only way is expensive
Afaik
The ongridload event
Or onloadgrid
Idk i forgot but its something like that
Ye
Ye afaik this is impossible but there are evidence that it works with that function
Maybe just need to find a way to remove the event once its done doing its job
I know this is likely a wide-open question, but if you create a custom tile/placeable and it works in TileZed but when bringing it into the game it is not found - what is usually the most common reason?
EDIT: The game sees the mod and can be activated, but the item/tile itself is not found in game
OK awesome, thank you.
Daddy Dirk said something along the lines of making sure you're referencing them in the mod.info and to use 100-8000
Would it be something like"
pack=name_of_pack 4456
or do you need to have the .tiles extension added to it?
packs are the sheet of .png
tile properties is another file
it defines what the properties of each png in the tilesheet do
Oh ok - I do have the png so that's good.
Oh I did make that as well - I likely don't have the packs/files in the right locations.
I have the png sheet in media/textures
texturepacks
The png isnt needed on the mod itself . Just fyi
Also this is more of #mapping related but what the heck lets talk about it here
Tho you will get better help from people who are always using tilezed
I did create the pack file and it's also in the texturepacks folder
oh. you just wrote this I have the png sheet in media/textures
thats confusing
that is your pack
Yeah can you show us the mod ini
And how you placed them on the mod
Oh - yeah, I apologize. I have pngs in the texturepacks folder, the inidividual tile pngs in the textures/worlditems folder
Yeah png isnt needed like i mentioned
You only need en to create the packs
yep true story
Yes I can - apologize for the daftness - I usually pick this stuff up pretty quick and feel a bit silly for asking what seems to be questions I should already know the answers to.
i think @ancient grail is right. you should really try mapping if we have no luck
OK that's good to know, I did it that way because I was sort of using an existing mod structure as a reference
everyone there is using the same tools
so if you have issues, they will have already ran into them before
way faster answers
And you saw a mod that did the wrong thing?
Oh ok, I assumed mapping was specifically for making custom maps, I was trying to create a custom container like a shelf, etc. I didn't realize.
no worries we all try to figure out answers lol this is not a bad place to ask, just not the best
Ye let him discuss it here
๐ We got this
haha love it
We shall figure it out
Welcome to the pz mod community then ๐
I love them too, a lot of you folks have made our server so much better and breathed new life into the game for us
I wanted to try to return the favor
So like i requested kindly show us screenshot of the directory and the files
OK sounds good one moment
1 for texturepacks
1 for media
1 modinfo itself
i also rewrote all my entire new lightswitch mod from 0
all last night
was pissing me off with some issues i couldnt figure out so just started over lol
Damn
it works okay. i have one small issue atm and a weird syncing issue
thats it
after this issue is clear i will post mine
Ok right now it's just testing names but I can change them if needed. Gathering the screenshots now.
names shouldnt matter
like "test_container"
at least in the sheet itself
lol
It does
Want me to call you dickless from now on? Haha jk
that's my petname from my wife, so idc
lmao
Seriously? Lol
LOL
Wasnt expecting that at all
some friendly fun times lol
Dev chat has all sorts of crazy
No not really, but sometimes she uses names of endearment like "babe" and "my silver medal"
OK brb getting the screenshots lol
I wasn't sure if tilezed or the modding tools had the ability to automatically save everything under the correct directories or not.
Shout out to @zinc pilot
Looking forward to do more collab mods with ya
On the tilezed
you have erros in mod.info?
switch places pack and tiles
the pack=, tiledef= lines have wrong files
Oh jeez
@ancient grail that vid is awesome, and I may need to grab that and attach to my religious zealot trait in our private server. LOL ๐
does it damage the Z's or just knock them down?
Out of curiosity - in the past I've tried to create a single tile sheet out of multiple pngs via the pack maker but it never seems to work - it does make the packs correctly and I'm able to extract images individually. Am I supposed to use a specific prefix?
yes
a common error is also when making the pack there's a tick box next to folder name you should uncheck if the images aren't made as a single tilesheet
Dmg kill knock out. Random
Cool -- well gives me something to reference if I decide to make a preacher-trait with "turn undead" capabilities.
(now actually being able to make zombies flee from you would be cool).
I dont think that will work
Bah - I can't seem to get the container to show up under item view in debug
We also need that. Or alteast somehow related to that
Cuz ghost and invi are paired
And you can have only one of em
We need zed to not atack player while player is still visible to others
and I'm 100% sure it's not my fault - nope.. lol
For our reanimation mod (passion proj)
Watch daddy dirks vid
I did, I believe it's video part 5 or 6, but I'm sure I overlooked something. Perhaps the definitions.lua is in the wrong place
Does your mod atleast appear
Glytcher: if/when I start working on our priest/religious zealot stuff, if I make any progress that you can benefit from I will share.
And how are you sure its not in the game yet
The mod does appear - and when the games' loading it is saying it's loading the texture pack
I was just trying to spawn one
getPlayer():getInventory():AddItem('Moveables.Moveable'):ReadFromWorldSprite('furniture_seating_indoor_03_17') try this to get item
Oh ok I'll try that
May i invite you to our modding related discord server
We have debug libraries , advertisment channel etc
Its on my profile. I cant link discord here on the chat other wise spiffo will hate me
Glytch: sure!
Nice thnx guys
Oh - I realize you weren't asking me hahaha
Feel free to post your server events and what not
Or promote your mods.
It might be small but most clients are server admins and server owners
I would still like it if you join tho
The daddy dirk video was a little confusing to me because he was talking about loading the tiles into a world and loading into the world to test the ones that were placed - so I wasn't quite sure what files were relevant to his structure
OK that worked - apparently they aren't named correctly. Spawned as "moveable" in my inventory
that's ok
I think script item only affects debug item list
and translation is taken from moveables translations
Its cuz u dont have a moveable item on an item script .txt
did you put a custom name in the tile properties
Will it work even if the tile property isnt configured as moveable?
Yeah - can they not have spaces?
Like grass floors? Or water
It does work as a container. but the second half of the container (it's two tiles wide) won't allow me to place it
Its not ideal to include space when naming anything . Excpt for the display name
So I definitely didn't set it up correctly
You should configure the tile def to force as 1 item
my items have also item scripts so I'm not sure
Wait how did you check them before? It means it was already there but you just dodnt know how to spawn?
If thats the case then add brush tool cheat and open tilepicker
Search for your tile from there
No it was unchecked - just wanted to make sure
i hate to jump in randomly but you sure the offsets are correct?
You may also refer to my secretstash mod it has a code that spawns a tile then convert it to container
It should work with any tiles
Reference for tile def properties
Made by commander
i think poltergeist on the right track really
even tho they deleted
make sure you do both of these correctly for it
OK excellent - checking that box worked
sorry I missed some messages, realised you need another tile
if the prote grid pos and you dont have force single item then can cause issues
STill have to place them individually though, but now I Can place both halves
ok
commander has a guide to show how the grid position works
see the diamond pic
use that
Yeah I just looked at that - if I want them along a wall would I assign these grids?
For the respective placement tiles I mean
it doesn't work like that i dont beliieve
just depending on how you want it to fit together
so 0,1 and 0,0
Ahhh - ok
or 0,0 anmd 1,0
I get it now
And if it were more than 2 tiles or 3x3 tiles I'd start at 0,0 as a reference
feel free to interject also poltergeist
i'm not fully experienced in this just used it a few times
OK I think I understand, I'll see if this works
it will connect thw two sprites to make 1 item
Thats what i linked
yea i just jumped in without looking back
i also joined your discord. maybe someday i'll get gud ๐
Nice. Forget the past live in the present . Cool ๐
I'm already really good at making things not working correctly - so I guess you could say things are getting pretty serious
lol
The hell u talking about youre already gud
@digital moonfor the translation... will you have 1 item when you pick up the tiles?
Yes - it would be like picking up a bed or something
beds have 4 items though
Live for the past. Forget the future. Ignore current problems.
1 item for each square
I know, I meant like, if you place it, you'd have to have all the items in your inventory
My mistake
so you want to have 1 item or 1 item per square? @digital moon
Omg bro ididnt send you invite via dm?? Forgiveneessss? @drifting ore
I thoughtni already did
Hmm, that didn't work either. Back to the drawing board. I
all good no worries!
it will work if you use the righ offsets
if it worked the way poltergeist suggested
@digital moonhow many inventory items would you rather have?
Ideally I was going to make it so you have to construct it
And if you picked it up it would be similar to a stretcher or something wehre you end up having "itemname_1/2 and item name 2/2"
so force single item should not be checked
ok
In tile properties - each tile represents a grid position - I think I did it wrong, I grouped up the tile halves (upper and lower halves of each side and put them on a grid, I assume it's likely I need to take each tile and assign them correctly to the appropriate grid
translation is like this
Tile CustomName: Battery Bank
file: Moveables_EN.txt
Battery_Bank = "Battery Bank",
this should be same for all sprites and the numbers are auto generated, I think
honestly here translation is unnecessary
I think I see what I did incorrectly
did you have a custom name?
I did not - but I did assign the grid positions incorrectly I believe. testing it now
I mean I did have a custom name lol but yeah trying to see if the grid was the issue
Nope that wasn't it haha
there's logs for invalid grid position
I can place them just fine, but the overlays do not work and when I place it I have to place them individually, and they are still showing up as "movable" instead of the name.
Should I just get rid of the custom name?
fix the grid first
OK I thought I did, but I apparently did not
Here's a reference
I noticed in the pz tiles, things like bookshelves did not have a grid position on the top halfs, only the bottoms
OK so for each "full" item tops, bottoms and both halves" need to have one group name that is different from the counterpart (East to West/North to South)?
same group name?
Yeah, so on that above reference picture - that represents the shelf tiles placed North to South
Those all need to be one group name, but the shelves that would be placed East to West, do they need a different group name?
good question ๐
hahaha
Whats automated
try to find the error logs
if you have 2 items the numbers e.g 1/2 and 2/2 should be automatic
Ahh hmm. Maybe
Oh I know - I didn't name them that way, but yeah - that still didn't seem to work. I'll look at a tile property of a bed or something and see if I can figure it out
check logs
maybe base on whats declared first on the sheet idk
MOVABLES: Invalid face ... was probably my first error
I loaded up the newtiledefinitions in the modding tools and just copied the info from one of the shelves that match some similar stuff to see if that works outside of the names
When testing the mod, do you have to exit the game completely to let the mod reload?
Not just to the main menu
Is there a way to prevent a TimedAction from being canceled? I want to force the character to complete it no matter what.
sometimes you do need to exit the game, I've had that when testing tiles. If you have that problem try with mod disabled in main menu.
search for albion / skizot / Arendameth - no stop action
does that have to be in the mod folder?
the translation file?
No
Only diff group for diff item to my knowledge
I use same custom name for all same tiles and diff group name if itโs a diff set of moveable
Also if you donโt setup sprite grid position correctly it wonโt load into game
You will see an error in the console right before server fully loads up
local old_isPlayer = isPlayerDoingActionThatCanBeCancelled
---@param playerObj IsoPlayer
function isPlayerDoingActionThatCanBeCancelled(playerObj)
if not playerObj then return false end
local queue = ISTimedActionQueue.getTimedActionQueue(playerObj)
if queue[1] and queue[1].Type == 'YourActionType' then return false end
return old_isPlayer(playerObj)
end
here we go with the random issues after a full rewrite LOL
anyone know any good guides to making custom clothing mods?
Like other then Dislaik's guide?
do i need to update workshop mod.info or some .txt file to make steam update for everyone or can i keep version:1 there?
does it auto update fine if i dont change version number?
update: i was referring to workshop.txt, my bad
Think so!
yea it's visual only
changelog stuff if you mean
main thing is if you do a small update to a file sometimes people will have to unsub/resub to get the correct download
Also, does anyone wanna check if my mod works fine? I wanna get an opinion on it and see if thereโs any changes I should make.
https://steamcommunity.com/sharedfiles/filedetails/?id=2939648494
mod.info doesn't require you to have a version at all
Congrats man
does anyone know how these work ? they just come up "0"
player:getFitness():getCurrentExeStiffnessTimer(currentExercise))
player:getFitness():getCurrentExeStiffnessInc(currentExercise))
okay, so can ANYONE tell me how to tell if a certain tile is within 2 tile of a vehicles right door?
If I want to extract a pack file into a single tile sheet - what prefix do I use?
everything your sprites use except the last _n
OK thank you
that works if the pack was made right and they match
It worked perfectly - thank you
hmm i dont follow
i am currently on going for few project by myself. but if there is anyone who want to join project. it would be nice.
project i am going on -
real pc assembling
Drivable Train.
Drivable Train is facing currently few problems cause zomboid only allows towing the vehicle only 1 on 1.
if anyone want to join and talk about this things . join the voice channel. โค๏ธ
you could make the wagons like one big trailer, maybe? I have no experience with this, but the idea is so cool please do it
I think you can do it by impulse system, like my first towing mod. But it will work only in singleplayer
what is the limitation for mp?
Impulse not work in mp
if you don't mind answering, what is the impulse system?
I don't have code of this version of mod. Idea of code - Take WorldTransform of vehicle by hack and change position of vehicle to other vehicle.
*add impulse to transform (apply force)
o/ Using your Scripting Guides now.
networking can't solve the issue for mp?
I think MP code will prevent vehicle move if no passagers in it
also, thank you for taking the time to answer
could you maybe "fake it"?
so the engine thinks there's a player
sigh. i'm gonna have to get crazy aren't i?
As idea, maybe on server side will work teleportation of vehicles. So you will move vehicles by small teleportation
*and rotation
I am not sure that this is possible
interesting, however that's completely out of my league, hope @spring zephyr is taking notes
If will be questions - write me
thank you for your time
do I need to make my own .txts in the lua/shared directory or will tilezed do that for me?
Anyone that is able to render some assistance with "Attachment Editor", it is not moving the muzzle flash to the end of the barrel of the gun
Letโs seeโฆ Is Evolved recipes only for food?
Or can you also make other non-food items with it
Cuz i was thinking about resealing canned foods, with their current stats
Like if you eat half, you can reseal it again, and when you open it back up, it still has the same amount
It's only for food; it's also completely inflexible; and also is already changed in b42.
Just use normal recipes for resealing cans, etc.
There's absolutely no reason to use evolved recipes for anything beyond what they already do, which is simulating adding ingredients to soups or sandwiches etc.
You're actually just making things harder for yourself attempting to use evolved recipes for anything other than their intended purpose as well, the normal recipe system should handle cases like that just fine.
Sp if I use a normal recipe to reseal half a open can of beans, and if I open it again, itโll have half?
If you make your recipe and code properly, it should be possible, but the onus is on you re doing it properly?
There's no vanilla systems for something like that, that I'm aware of, that can be used as a shortcut; it would require some custom lua code AFAIK.
Ty for the info!
Recipes are definitely confusing to new modders. I had my fun recently.

- How much earlier can we expect sandbox option to be loaded in v42?
*When you load a save into character creation, would they be loaded? Some people ask it for character creation options for example. This might not be an issue already. - Will chunks be 8 x 8 everywhere? Will chunks be further broken down per 4 levels or is that only for rendering?
- Some moveables accept only specific items, are there plans to have this less hardcoded? e.g save persistently the AcceptItemFunction for ItemContainer or expand the isItemAllowedInContainer function.
I wonder if you can say anything about these? @willow estuary
DId a lot of fixes to my ZedScript parser today. I am left with parsing template vehicles.
Seconded. Would love to be able to have sandbox options for trait costs for my users.
Re. 2, Polt, are chunk sizes changing to be powers of 2? Is that a thing?
that was implied by the recent thursdoid
Oh my bad didn't see that or even realize Thursdoids were a thing.
yep tiles being merged into 8x8 on render with texture mapping. i'm probably not saying it correctly but something like that
the one thing i did read correctly was no more square looking 1x1 haha
or at least won't be noticeable with new method woooo
by the way, i checked on this and i was wrong; sandbox options are loaded, my problem was that my code that used them wasn't firing
so sandbox options are loaded before character creation in all situations as far as i can see
the obstacles most people face is that either their code isn't actually firing at character creation, or the things they want to use sandbox options for are permanent once set in java once (though this isn't that hard to circumvent)
they usually exist but in their defaults, until just after OnInitWorld event for SP at least when loading an existing save.
this isn't the case
my mod adds sandbox options for what clothing is available at character creation: if i change the clothing settings away from the default, die, exit, and then load, my settings are still applied to the clothing
screams internally.
and it only makes sense this way, since if sandbox options weren't loaded at character creation vanilla options like free trait points and all clothing unlocked wouldn't work
Ok I realized when working in Tilezed that I was loading tiles via the tiles/2x folder instead of just the regular tiles folder, that seemed to clear up a lot of the confusion I was having based on daddy dirks videos. Hopefully I can make some headway with this.
maybe it's not the case for character creation only?
It obviously is the case for other things, hence why they do the fix for this.
yeah, i think the sandbox options reset when you start actually loading in, in most cases (but not all), because they are available at character creation but they aren't always available afterwards
areaPositionWorld(VehicleScript.Area area) will that get me where a door position is?
there's a bug that show the newly added tilesheet wrong until you reload the program
it's already been confirmed that sandbox options will load sometime before distribution merge in b42 (currently it's after), but i don't think anything more specific than that has been said
I'm able to now place it as one object - but now I can't place it haha it shows up as if I'm trying to place it in the world, but it's stuck as red hahah
@faint jewel did you fix the bug on your mod?
the window? yes
what was it? im still curious about it
I had to make it templated. only way it would work.
now i have craziness i am trying to sort out.
lol i need to be able to get if the window is down and if a certain tile is within two tiles of that window.
so im guessing your mailman is to behave like a paper boy with the mail
so i can check for mailboxes and then stuff my new junkmail items in it
and if he detects a mail box throws the mail at it ๐
no, like an actualy mailman.
two tiles is kinda close.
i'm just gonna put the mail in the box.
that should be easy enough, not much code to write on that bit, should be simple
lemme know if you need help, day off tomorrow so i can give you a hand
just need to finish designing the damn database b4 calling it a day
show me what code you got for now
and ill help you out... im kinda bored... database design... meh
none? ok... ill write a snippet or two when i finish this db... only 92 tables to go ๐
ANYONE have experience with working with the attachment editor for firearms?
I am attempting to add the "Muzzle Flash" to my pistol, I have placed where the Muzzle Flash needs to be based on the tool/ UI that has been provided by the Dev's of PZ, but it is not working.
Furthermore I am unable to uncheck the "Break on Error" when pressing F11 on Debug mode, as the check box keeping re-checking itself, so I am black screening anytime I attempt to load up my mod with Debug mode when I go back to the main menu for testing.
If ANYONE has created a firearm for PZ and has used the attachment editor, please do get in touch.
- I don't know offhand but I'm sure people will find news ways and corner case situations for their custom sandbox options to cause issues regardless?
- Chunks are 10x10, in the sense that I use them, and the even from the blog will use them.
- You can do whatever you want with that with lua modding, aside from existing hardcoded stuff for clothing racks and toasters. No plans re making that stuff less hardcoded, and it's such a niche corner case there isn't really any need? There's an item tag that's used for the toaster stuff anyways, just put that tag on items you want to be able to go into a toaster.
lol, I'll try less bugs if that makes you happy
Could there be any reason why I can spawn the object I made into my inventory, but I Cannot place it? It's red but all things are green
do you have all parts?
If people highly demand something that involves core Java code to be modified in order to work, you can always patch things and distro the compiled bytecode patches. =)
I believe so - it shows up in the item viewer finally, I've added it to my inventory but I cannot place it.
Sometimes when testing tiles you might place broken items that can be invisible but still block the square.
I can't think of something else right now.
No worries - I appreciate the help. I can't place it anywhere surprisingly. No matter where I put it.
dangles mr. slinky in front of poltergeist
@quasi geode I think that the best approach to delimited values in JSON format will be to parse them as arrays with array-like names similar to the original property name, such as events: [..] for event: OnEvent/OnAnotherEvent. This is another reason for my approach, so I can handle these much better. Here's an example of the vehicle category:
I believe this approach can give way to cleaner ZedScript when converted back to the original format. =)
Also for inferred Vector3F arrays (float[3]), I decided to use x, y, and z for context.
As far as I can tell, my parser is complete, pre-vehicle templates.
Also, are there plans to use the template word for other than vehicle?
would think automatically that would be the case its too a generic word
Yeah. I think that structs and array-like data should be subject to changes to name and data storage format.
If not, then it would be a poor use of the format's features.
Have I done something wrong here?
local bodyVisuals = visual:getBodyVisuals()
for i=1,bodyVisuals:size() do
local inventoryItem = bodyVisuals:get(i-1):getInventoryItem()
if inventoryItem:getBodyLocation() == visualItem.bodyLocation then
table.insert(originalItemsInLocation, inventoryItem:getStringItemType())
end
end
I'm working with HumanVisual and bodyVisuals is seemingly always empty despite the character clearly being dressed?
okay i'm dying inside here and probably missing something glaringly obvious but
if sprSwitch and contextBulb then
contextBulb.iconTexture = getTexture("media/textures/switch.png")
if lowLevel then
local contextRead = context:insertOptionAfter("Remove Light Bulb", phrases[ZombRand(1, 38)])
if contextRead then
toolTip.description = dumbText
contextRead.iconTexture = getTexture("media/textures/switch.png")
contextRead.toolTip = toolTip
contextRead.notAvailable = true
context:removeOptionByName(getText("ContextMenu_RemoveLightbulb"))
end
end
end
for whatever reason.
i can't figure out why this is running 3 times every time
what's more weird is the top option is recognized. but the bottom two are down there because it can't find the previous option
that line is literally the only line with insertOptionAfter also lol...
omg just writing it out maybe helped me figure it out lol
i think it's doing it for each time my condition is true or something like that
takes nippy's display and turns it sideways so its now vertical full page viewing
seriously its like mandatory with this Lua... its just ugh.
ahahaha
its like trying to read patents.
the first like 57 lines of my code is just a table and locals LOL<
sorry Im just frustrated at this point I'd rather be writing C or ASM
to make it even more true
honestly man i had negative knowledge a little over 2 months ago
the stuff i get stuck on is pretty noobular sometimes but i try not to ask every time i run into things so i can learn some real lessons haha
when i struggle i tend to remember forever
syntax is the main thing atm Ive done plenty of Java, Im just grrr.'n at this error window which I cant find out who what why its popping up...
feel free to post away
like I wish I could click a window and know who the heck opened it at where.
lolol
not sure if you shared previously but post and give context. someone probably knows something
nothing shows in debug and its a 'error' popup box so Im like okay error log... nope. window nope... grr.
ohh like crash on startup?
or you just get normal error
have you tried chucks tool?
no on spawn soon as I click continue... (or even click the space bar during loading
yeah there nothing in console nor F11 error window its like well I cant debug it if I cant find it...
its known to be buggy
i meant the game itself when you use whatever mod or whatever code you are trying to use
ahhh
funny thing about that one specific mod
i have played .0. seconds/mins/hours of SP ever
oh Im gonna attempt the impossible why Im playing with it
i'm so clueless on npc's and anything to do with that mod.. haha
lmao
well i like to read that either way
but right now I gotta get it kinda stable even for SP before....
i bit off WAY more than i can chew with this lightswitch overhaul stuff. lol... staying away from hardcoded stuff for the most part in the future
i thought i was sooooo coool LOL
well I can almost already guess the issue with that mod and MP but there lil thing called 'dedi's ^_^
so far everything works perfect as far the as the lights go
go colored bulbs into em and battery pack installing
everything is custom by sandbox for level gateways
including even reading the book haha
click that does nothing, and shows nothing anywhere I can find so lm hair pulling atm.
yes use chucks mod
it will give you something to click there when in debug
one sec
ill link
I'll check itout but again unless it lets me know who's calling that ui popup
makes it a tiny bit easier to track down the error, especially if it isn't a stack trace
it will tell you
k
he also has a fingerprint mod as well
prints mod name with issue
something like that
i havent used it before but error mag is perfect already without that
if you dont figure it out, share your console
if you get error it is
its just not what you are looking for
each time error shows it only happens when console happens
it wont show error without showing in console
even if it's 1 line
debugging in lua
ayyyy
i dont have much coding knowledge but i already see the pains
also i guess depending on how you are running the game, maybe diff console log?
i'm trying to assume you're fairly experienced also, but have to still ask haha
Ive done diffs with and without the mod, nothing shows in console window or the log
Okay so I need to find a way to get a vehicles door area in the world
just that box crying error but showing no error
if you are willing to share your console fresh after the issue... even if it's not got your specific error it may not hurt. you are the only person i've seen though that can't see errors in console which is the part i dont get. not saying that really means anything but if you really stuck on it. paste the file. whats the worst that can happen
as long as it's the console from that session ahahahha
I rename my logs exactly for that reason
ahh smart
I usually sanitize my personal info from logs prior to posting.
It's a security concern for me.
whats the code prefix? double slash code?
sorry brain farting
ERROR: General , 1677544182908> ExceptionLogger.logException> Exception thrown java.lang.IllegalStateException at UIManager.update line:685.
ERROR: General , 1677544182908> DebugLogStream.printException> Stack trace:
java.lang.IllegalStateException
at zombie.ui.UIManager.update(UIManager.java:685)
at zombie.GameWindow.logic(GameWindow.java:262)
at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71)
at zombie.GameWindow.frameStep(GameWindow.java:765)
at zombie.GameWindow.run_ez(GameWindow.java:681)
at zombie.GameWindow.mainThread(GameWindow.java:495)
at java.base/java.lang.Thread.run(Unknown Source) ```
wasn't paying atteniton huh
there finally
thats the only error after spawning
on player data load yeah?
that doesn't necessarily matter if it's a one-off at init
^ yeah its that first loadup of your character
I just got the warn notice on for slow lua that all or you'd never see that
thats how I know when I got IG :)
๐
and oh if you turn that option on you'll see alot of that show up
but yeah thats teh only error I can find anywhere after loading in. and the few times it posts doesnt always match with how many 'error's that red box is saying and nothing tells me it is part of that (albeit I know its related to that mod cuz it dont appear if its not loaded)
Does using java's clone method work from lua? I'm getting object called nil when trying to use it
There's methods not exposed from the Java API.
if lowLevel then
local contextRead = context:insertOptionAfter("Remove Light Bulb", phrases[ZombRand(1, 38)])
toolTip.description = dumbText
contextRead.iconTexture = getTexture("media/textures/switch.png")
contextRead.toolTip = toolTip
contextRead.notAvailable = true
context:removeOptionByName(getText("ContextMenu_RemoveLightbulb"))
return
end
lol go figure always one small missed thing
It's selective in order to create a security sandbox so no Lua can be malicious.
(Attempts to)
understandable, well that just killed my project๐
selectedBodyPart:AddDamage(3)
selectedBodyPart:setDeepWounded(true)
selectedBodyPart:setBleeding(true)
player:SayShout("AAAagghh!!!!")
player:setKnockedDown(true)
I tried to add a wound to the player, but it is quite easy to take care of these wounds. I think I need to change the time settings too, right? If so where can i find vanilla time settings?
There's a lot of vehicle part-type objects.
I think that's the bulk of what makes vehicle-templates annoying lol.
Still refusing to generically map prop->values.
FUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
function MailIcons(menu, player, vehicle)
if vehicle:getScript() and vehicle:getScriptName() == "Base.USPSTruck" then
local part = vehicle:getClosestWindow(player);
>>> if part:getWindow() then
local window = part:getWindow()
if window:isOpenable() and not window:isDestroyed() then
if window:isOpen() then
menu:addSlice("Deliver Mail", getTexture("media/ui/Professions/Mail.png"), onDoMail, player)
menu:addSlice("Deliver Mail (available in TIMER)", getTexture("media/ui/Professions/MailWait.png"), onNoMail, player)
end
end
end
end
end
why does that line break shit.
verify part is being assigned right?
that or part when it break's doesnt have getWindow()
not sure how to even tell if its set
if part and part.getWindow and part:getWindow()
although since you use the result immediately after, you might as well just do
local window = part and part.getWindow and part:getWindow() and simply have if window
saves doing a second call to the same thing
yeah nope
what error are you actually getting
attempted index: getWindow of non-table: null is where i am now.
getClosestWindow() doesn't look like it should work for characters inside the vehicle
ISVehicleMenu uses it.
for what purpose?
i think it's used for the smash window prompt, which only happens outside of the vehicle
local door = vehicle:getPassengerDoor(seat)
local windowPart = VehicleUtils.getChildWindow(door)
if windowPart and (not windowPart:getItemType() or windowPart:getInventoryItem()) then
local window = windowPart:getWindow()
if window:isOpenable() and not window:isDestroyed() then
if window:isOpen() then
option = menu:addSlice(getText("ContextMenu_Close_window"), getTexture("media/ui/vehicles/vehicle_windowCLOSED.png"), ISVehiclePartMenu.onOpenCloseWindow, playerObj, windowPart, false)
else
option = menu:addSlice(getText("ContextMenu_Open_window"), getTexture("media/ui/vehicles/vehicle_windowOPEN.png"), ISVehiclePartMenu.onOpenCloseWindow, playerObj, windowPart, true)
end
end
end
to open and close the window
but this is different part.
i just checked and what i described is the only usage in vanilla
you should use the method the code you just sent used, this should do what you want
if part:getWindow() and (not part:getItemType() or part:getInventoryItem()) then
local window = part:getWindow()
if window:isOpenable() and not window:isDestroyed() and playerObj:getVehicle() then
if window:isOpen() then
option = self.context:addOption(getText("ContextMenu_Close_window"), playerObj, ISVehiclePartMenu.onOpenCloseWindow, part, false)
else
option = self.context:addOption(getText("ContextMenu_Open_window"), playerObj, ISVehiclePartMenu.onOpenCloseWindow, part, true)
end
end
if not window:isDestroyed() then
option = self.context:addOption(getText("ContextMenu_Smash_window"), playerObj, ISVehiclePartMenu.onSmashWindow, part)
end
end
~```
getClosestWindow() just doesn't work when inside the vehicle, use something like this instead:```lua
local seat = vehicle:getSeat(player)
local door = vehicle:getPassengerDoor(seat)
local window = VehicleUtils.getChildWindow(door)
getClosestWindow() is more like 'get whichever window the player is currently standing directly infront of'
anyone know what im allowed to change in the animation set XMLs? Im trying to make my own Idle animation for a specific gun. How do i make it trigger with only that gun?
Hey guys! I'm having a bit of a head scratcher.
{
Case762x39_Pack=1,
Result:Brass762x39=50,
Time:10,
Category:Firearm,
}```
This code previously worked but now it refuses to be an actual recipe with its context actions. The item names all line up, any idea why this might be the case?
hmm. im only guessing but maybe it doesnt like dots in the recipe name
worth a try if you are out of options
Thanks, I'll try that-- might make sense, a context code I had didn't like underscores.
P much anything but you could do an m_Type BOOL on your m_Conditions for the animation and just set that condition true when you equip the gun.
<m_Conditions>
<m_Name>PeacemakerEquipped</m_Name>
<m_Type>BOOL</m_Type>
<m_BoolValue>true</m_BoolValue>
</m_Conditions>
In Lua:
-- e.g., player = getPlayer()
player:setVariable("PeacemakerEquipped", true)
wow thanksss
Just dupe the XML for the original Idle and add your condition and put your xml in the same folder
Works for me overriding sit and ladder climb animations
i did some digging and found these things in the vanilla script. it doesnt seem to connect to anything in the animsets tho
Oh interesting
this is all i need to do? i am bad at coding
with this, i should have a different idle animation but the same vanilla rifle animations
I'm guessing you need to make a renamed copy of one of these files and edit its conditions:
I am not sure which because I'm not sure how game will class your weapon @hollow shadow
it currently acts like a rifle
Then this is probably your best bet?
Looks right to me
You misunderstand my example ๐
I am trying to say, player could be the return value from getPlayer(), e.g.
If you're doing gamepad support, however, it might not be
So I am speaking conditionally
getPlayer() will give you player 1
if you say local player = getPlayer() above the uncommented line, it will work
But player might also come from a function... if you're listening onPlayerUpdate e.g., you receive the player as a param
So you would not need to say player = getPlayer() and in fact it would be wrong to do so
Because then you're intentionally replacing the player the method expects you to act on with another player object -- possibly a dead player's object when a live player activated the function.
So, yeah, how you get the player object is context-dependent.
getPlayer():setVariable( . . . . . would also work.
this is so confusing for me
i never coded anything before i just edit stuff :L
One sec
So the best thing for you to hook imo would be the equip/unequip weapon action.
function ISEquipWeaponAction:new (character, item, time, primary, twoHands)
When you create a new equip weapon action, you can set the variable there if the item is the desired item
There is an ISEquipWeaponAction and an ISUnequipAction that will both be relevant to you
o.o
Imo, you want to make sure you do three things hooking this:
- Use a local module to store the original functions.
- Decorate the original functions (be sure to pass
self). - Return the object as in the original functions.
- Return the module for other modders who may for whatever reason need to do something before you decorate this function.
E.g., you could write it like this
local DJVirusWeaponry = {
ISEquipWeaponAction = { new = ISEquipWeaponAction.new },
ISUnequipAction = { new = ISUnequipAction.new }
} -- Step 1
-- You may literally type 3 dots here; it will hold the rest of the parameters.
function ISEquipWeaponAction:new(character, item, ...)
local o = DJVirusWeaponry.ISEquipWeaponAction.new(self, character, item, ...)
if item:getFullType() == "YourItemModule.YourItemName" then
character:setVariable("YourAnimVariable", true)
end
return o -- Step 3, VERY IMPORTANT.
end
function ISUnequipAction:new(character, item, ...)
local o = DJVirusWeaponry.ISUnequipAction.new(self, character, item, ...)
if item:getFullType() == "YourItemModule.YourItemName" then
character:setVariable("YourAnimVariable", false)
-- or character:clearVariable("YourAnimVariable")
end
return o -- Step 3, VERY IMPORTANT.
end
return DJVirusWeaponry -- Step 4
o_O
Presumably you can figure out your item name and such and fill in the blanks
what is the animvariable
In your XML
is it the XML name
okay
The name of the condition variable
Guess I'll have to figure out why my vehicle template parse code isn't working on a certain situation another day. =/
ERROR: General , 1677557238792> ExceptionLogger.logException> Exception thrown zombie.util.PZXmlParserException: Exception thrown while parsing XML file "C:\Users\djvir\Zomboid\Workshop\Scrap Guns\Contents\mods\Scrap Guns (New Version)\media\AnimSets\player\idle\Idle.xml"
Idk why its looking for that in my mod folder, when its in the vanilla folder
do i have to copy paste the vanilla stuff into my mod?
the vanilla idle xml*
Looks like you accidentally moved a copy of Idle.xml to your mod folder.
Check C:\Users\djvir\Zomboid\Workshop\Scrap Guns\Contents\mods\Scrap Guns (New Version)\media\AnimSets\player\idle\
lmfao i made my mod incompatible with No More Skilless Survivors by adding underscores in my trait names
Bahaha oof
Maybe you do need the vanilla Idle in your folder because you extend it... I'm not sure tbh. I haven't used this method with animations that extend others.
Alternatively, maybe check original Idle.xml to make sure you didn't do something funny to it?
That's God telling you how bad underscores are.
had to go through all the traits and remove the underscores.
cuz i added underscores to give my traits a suffix for less compatibility issues, thus creating an incompatibility ๐คฃ
also changed them to prefixes since it is easier to sort them this way
but this is what happens when an amateur wants to make a mod
You could try to just give them ModuleName.TraitName as their id, instead of simply TraitName as is usually done
I bet that'd be safe.
Wait what does your trait def look like
i already fixed the problem tho
if i get more experience and have time i might rewrite the whole thing again without profession framework some day, but it isnt in my list of priorities
So you see where it says addTrait("TMRFurry")?
Wait did TMRFurry actually conflict?
no
What name conflicted?
idk. all of the traits ended with _TMR instead of TMR at the beginning
and i changed them to have it this way now
it used to say Furry_TMR (as for all the other traits as well)
Nice clean code. Drool.
this is through the magic of profession framework that makes it nice and neat
That's... super odd.
I wouldn't expect anyone to name their traits "TraitName_TMR" unless their mod name was abbreviated TMR....
I battled the vehicle script demon. I lost.. lol
And No More Skilless Survivors is not TMR
no it was originally Furry, then i added _TMR as a way to not conflict with other mods that add a trait named Furry (for example)
not just the one trait. all my traits used common names
Will regroup and take it down.
and the underscore caused the incompatibility with No More Skilless Survivors (i think)
Animation files that use animNode x_extends="FILE.xml" require the base file to be in the same directory.
So, you can either copy the vanilla action file into your mod as-is, make a copy of the file in your mod folder with a different name and inherit that ( so you don't overwrite vanilla), or make an xml file that doesn't use the x_extends to define your action, and just includes the same conditions.
because when i changed all trait names to not have them anymore, the issue was solved
I'm drinking rn.. vehicle script made me drink...
adding it removed the error popup, but the animation still doesnt show :L

here's an example of traits that would have had issues with other trait mods if i didnt have TMR on them
alright ill try it
and most of my traits are generic ones like this
the non-generic traits like Bitten and Immune dont have a prefix cuz i dont think it is necessary for those
Share your script for the item in question real quick.
i think the incompatibility probably came from the Blank Slate function, if i were to guess
it probably looks for traits that add skill points and has an error when the traits dont follow typical naming conventions
I still wonder if TIS planned to have templates for scripts other than vehicle...
and even though i dont use blank slate, it still probably does that check
idk. i say probably too much, probably
its the gatling
@thick karma now that you mention it, i still have those anim things in my gatlinggun script. from when i copied the vanilla gun scripts
oh hmm....not off the top of my head. Maybe you could just:
character:playEmote("")
Or maybe: character:clearVariable("emote")
I think it just stores which emote you are doing in a variable.
Clear nice thnx
@zinc pilot
How do I install my mods on my hosted multiplayer server, i added all of them under mods in server setting?
they must be in the workshop setting too
adding them in workshop will automaticly add them to mods
R u building a mod or r u installing other mods?
If youre not building a mod of your own
#mod_support
And how did you use my template above?
i removed those anim things from the script. It works but it resets to the vanilla one once i walked a bit
Can I check how you used the template
Okay hmmm
@hollow shadow It looks like it works until you unequip and re-equip the way you did in the video. Can you confirm?
But in your video you actually move and it appears to be working while you walk
So what do you mean "move"?
WUT
Do you have to move a certain distance?
Oh wait maybe it's the moving animation that holds it differently
I guess when you're standing still your arm is down
@hollow shadow You're trying to get player to hold it in 2 hands idle right?
yeah thats the vanilla firearm walking animation
Do you want him to hold it in 1 hand?
One sec I need to see vanilla rifle animation idk what you're trying to do.
i want him to stop using the vanilla rifle idle.
I don't know which one is vanilla lol
there a raise or equal func to trigger the debug window to open intentionally?
OHHHHHH
@hollow shadow Movement is not an idle animation
you need to override a walking animation too
i know
if you want what you're saying
after the movement animation ends, he doesnt go back to the idle animation imade
he goes back ot the vanilla one
I seeeeeee
Hmmmm
Clearly vanilla clears your anim state when you switch
Which makes sense
need to think of a time to efficiently detect when player becomes idle again
and set your anim variable true again at that moment if necessary
isnt it possible to just edit the xml somehow
cant define the idle animation for the weapon cfg to use the new one?
It's not the idle animation he needs to change.
walking all of them... arent they defined by the weap?
sadly no
You could try to just set IdleAnim, SwingAnim, RunAnim to your animation @hollow shadow
by type
wut?
i guess :L
but what about aim anim
I don't know item scripts well so I don't know how binding them to animations works.
sneak anim
I mean if you want all the different animations to involve holding that weapon in a unique state, you may need to make alternative versions of all the necessary XMLs
Its much complicated than just xml for me
Heres what i did
Its not yet even that clean
ayyy
But if you switch to vanilla gun
You just set it in script?
oh :C
@thick karma what happens ehen you make own firearm class? I hvent tried but assumed it doesnt work
Yeah thats the problem ๐
If you overwrite vanilla the. Other animations is screwed
why does it do that, i didnt touch the scripts of vanilla
What's it doing?
Idk how you did yours
you mean this xml?
I used lua
No I mean what are you talking about with the mysterious references to vanilla guns
What does it do when you equip a vanilla gun?
@hollow shadow
Video?
give it the same animation as the gatling
If u overwrite the animation then they will hold vanilla guns like how they hold the gatling gun
@thick karma
Really? Even though you defined those anims the gatling script they affect other items too?
i changed the names hto
He didn't overwrite the animation
At least not according to anything he has said.
He made a copy of it with a new name.
He didnt? Then how did it change i mean can i see the script
these dont do anything, just tested
Ahh but what is it pointing at . Its still an overwrite if you look at the conditions of the xml and its same as the vanilla..
But if that works then idk i never did that script edit
As you can see on the one vid where i demo the m16
It holds it vanilla aim but back to owen gun its diffrent
He holds the grip
all my animation files and xmls are in a mod
The conditions are not the same
He added a condition that does not exist for vanilla
He's not that far.
To make it MP compat this way would require him to use commands.
