#mod_development

1 messages Β· Page 143 of 1

lyric turtle
#

You need a bit of oversaturation and a very VERY slight VHS filter on that, as if it were a commercial

#

That would be GOLDEN.

fading horizon
#

just wait till y'all see the steam workshop image

#

its amazing

#

i'm not gonna spoil it

lyric turtle
#

God

#

I can't wait

fading horizon
#

but i spent too much time on it

brittle lodge
#

Does anyone have a good tutorial for applying bones to outfits?

brittle lodge
#

😐

lyric turtle
#

Long live Jobel

fading horizon
#

i suck so bad with regex

#

how do i use string.match on '('

#

local vapeFlavor = string.match('GnomeBar (Cool Mint)', '\(')

#

does not work

#

which i thought would be the escape sequence

glass basalt
#

do you want everything past (?

fading horizon
#

between ()

#

trying to get flavor name

glass basalt
#

alr gimme one min

glass basalt
#

awesome site for regex btw

fading horizon
#

i got it

#

local vapeFlavor = string.match('GnomeBar (Cool Mint)', '%((.+)%)')

glass basalt
#

does this look like an APC

#

if I gave you this for comparison

fading horizon
#

i feel like the dip in nthe middle is a little too low hanging

#

or maybe it needs to be wider

glass basalt
#

yeah p restricted with image size

atomic zinc
#

but yeah like an APC too

glass basalt
#

gonna adjust it a bit

#

normal vehicle (my ref) and APC icons
made the APC a pixel lower and less fat

atomic zinc
#

what if you remove the one I squared in black

glass basalt
#

eh, has less detail

#

I have the lower pixels as "suspension"

#

top pixels are for the turret-ish outcrop

rancid panther
#

how many pixels is this

glass basalt
#

18x18

#

trait icons

atomic zinc
#

car icons always look funny when viewed from the front πŸ˜„

glass basalt
#

the dimensions are a little funky, im going to instead try tracing over my source image

atomic zinc
#

I think your first image with the "turret" top removed is pretty good though

lyric turtle
#

Is there a horizontal one as well?

#

Would be fairly easier to do and use that one

glass basalt
#

traced over my source image

lyric turtle
#

Yeah, I'm asking for that specifically

#

Is there already a horizontal one?

glass basalt
#

you mean the side view? no, but I am already using these front-facing icons. I'll show my folder

lyric turtle
#

I mean, you took the worst approach for a pixelated icon

glass basalt
#

πŸ€·β€β™‚οΈ I am a programmer

#

these trait icons are insignificant anyway, just making them unique for my own pizzazz

lyric turtle
#

Ah, okay; can there be semi transparent pixels?

#

It'd help with overall shape

glass basalt
#

yes, but I find them a pain

lyric turtle
#

Fair

rancid panther
#

would you go with this

lyric turtle
glass basalt
rancid panther
fading horizon
#

should i have the whole item name be colored or just the flavor name?

glass basalt
#

I'm okay with my latest version. I just want to move onto other patches I need to make

glass basalt
shut oar
#

For a food script item, how can I make it so that food can never rot?

lyric turtle
#

Oooooooh that's a cute addition

glass basalt
#

as in you define how long until it rots, and set it to nil or 0, idr

shut oar
#

okay thank youu

glass basalt
# shut oar okay thank youu
    item MeatPatty
    {
        DisplayCategory = Food,
        HungerChange    = -40,
        Weight            = 0.3,
        Type            = Food,
        IsCookable        = TRUE,
        DangerousUncooked = TRUE,
        DaysTotallyRotten = 4,
        MinutesToBurn    = 70,
        DisplayName        = Meat Patty,
        Icon            = MeatPatty,
        DaysFresh        = 2,
        MinutesToCook    = 50,
        EvolvedRecipe     = Stew:15;Pie:15;Burger:10;Taco:10|Cooked;Burrito:10,
        FoodType        = Meat,
        Carbohydrates     = 0,
        Proteins         = 46,
        Lipids             = 30,
        Calories         = 380,
        BadInMicrowave    = true,
        GoodHot            = true,
        BadCold            = true,
        WorldStaticModel = MeatPatty,
    }
#

DaysTotallyRotten is the field. if it can be set to nil, idk

#

unless you are not touching lua, in which case directly edit the file and remove that line

lyric turtle
#

Because I remember food going stale and rotten even while being frozen

glass basalt
#

that might be determined outside of the items themselves

#

Ice cream is special, i'd look at that

fading horizon
rancid panther
fading horizon
#

idk having just the flavor colored might look better

lyric turtle
#

AAAAA they're so cool

glass basalt
glass basalt
# fading horizon

in that case I'd remove the parentheses. maybe it'll look cleaner?

rancid panther
#

i see

glass basalt
# lyric turtle Because I remember food going stale and rotten even while being frozen
item Icecream
    {
        DisplayName = Ice Cream,
        DisplayCategory = Food,
        Type = Food,
        Weight = 0.2,
        Icon = Icecream,
        Packaged = TRUE,
        ReplaceOnRotten = IcecreamMelted,
        DaysFresh = 1,
        DaysTotallyRotten = 1,
        HungerChange = -30,
        UnhappyChange = -10,
        Calories = 1680,
        Carbohydrates = 180,
        Lipids = 84,
        Proteins = 26,
        WorldStaticModel = IceCream,
        Tags = GoodFrozen,
    }

It's Tags = GoodFrozen

lyric turtle
#

So rotting is delayed by freezing efficiency as a factor

#

That's interesting

glass basalt
#

yeah and whatever GoodFrozen is, it effectively puts the rotten timer on hold

#

but ice cream immediately melts when it becomes unfrozen, because the frozen factor is multiplied to the rotting rate, so to speak

#

not frozen, meaning rot time of 1 day is instant

#

I think

rancid panther
lyric turtle
fading horizon
glass basalt
fading horizon
rancid panther
fading horizon
#

now i just have to figure out how to get the current usedDelta on inventoryItem instead of Item

#

or some way to display the uses remaining bar

rancid panther
#

even if you dont go with it, using grey will help create the illusion of diagonals and roundness

glass basalt
#

you'd have to scan ItemContainers whenever you find them maybe stressed

fading horizon
#

or i just say its immersion that you can't see how much is remaining

#

lol

glass basalt
#

I can't find any GNOME products that look like those pods, but I found these...

#

(I don't vape)

fading horizon
#

gnome bars don't exist

#

its just to get around the copyright

glass basalt
#

ahhhhhhh lol

fading horizon
#

i modeled it after those ones

glass basalt
#

brands don't gaf when it comes to mods

#

you're not making money so who cares

fading horizon
#

i like being a little creative idk

#

makes it more fun

glass basalt
#

understandable

rancid panther
old crescent
#

where does runtime located?

glass basalt
#

its located in the Zulu Architecture Process πŸ˜‚

old crescent
#

hahaha

shut oar
#

is there any way to store dynamic info in an InventoryItem? like storing my own value in the item to mutate when necessary

glass basalt
#

thats a table for everything imaginable, meant to store other stuff

rancid panther
#

what is the name of the sound file for the power shutoff?

shut oar
#

thank you

glass basalt
#

there's a sound like that?

rancid panther
#

it sounds like a big power surge

glass basalt
#

i have never heard that in any games I've played

old crescent
rancid panther
#

it's like a deep loud noise that sounds like everything is losing power at once

#

it only plays when the power goes out

glass basalt
lyric turtle
#

Before

#

So uh, lemme dig some up

glass basalt
old crescent
old crescent
glass basalt
lyric turtle
glass basalt
#

I have no clue how I've never encountered that sound

lyric turtle
#

You can't hear the water one, but the electricity one you can when indoors

glass basalt
#

so, since it's SFX called in a function, I don't think its in a soundbank, unless there's a very specific reason

shut oar
#

how can I send a little message notification to a player, like how a tv or radio works, but only to that player?

lyric turtle
#

That'd be a server thing

glass basalt
rancid panther
#

im just wondering cuz doing getWorld():setHydroPowerOn(true/false) doesnt get the sound to play, but using getSandboxOptions():set("ElecShutModifier", getSandboxOptions():randomElectricityShut(0)) does

shut oar
glass basalt
rancid panther
#

setHydroPowerOn seems good for disabling the power without messing with the electricity shutoff sandbox setting, but it doesnt play the sound

shut oar
#

the addLineChatElement(*) functions?

lyric turtle
glass basalt
shut oar
#

oh okay, all good, thank you

lyric turtle
rancid panther
fading horizon
#

Should i try to make a bar for the uses remaining or should I just have a numeric percentage

#

Or does anyone know if there's an easy way to make those bars?

glass basalt
#

bar would be nicer tbh

rancid panther
#

the more vanilla-looking it is the better

#

it looks really offputting when a mod adds something that looks different from how it would look if it were vanilla

#

especially when it comes to ui

fading horizon
#

does my ui look okay so far then

rancid panther
#

yea it does

glass basalt
#

yea

lyric turtle
#

I swear if you make it so I can clip it on my belt I'll love you for the rest of my life

glass basalt
#

its in the item scripts, attachment points

lyric turtle
#

Oh my god

rancid panther
#

maybe make it compatible with noir's attachments so you can put it in a bottle slot

lyric turtle
#

πŸ₯Ή

fading horizon
#

i really am putting off learning how to properly do item distributions

old crescent
#

Im trying to add a respawn time after death.. I already done it, but the problem is the text of the button doesnt count down

fading horizon
#

that's really the only thing left

glass basalt
#

item distros are ezzz

fading horizon
#

i wish itemzed worked on my pc

glass basalt
old crescent
#

anybody knows how to disable the button ?

glass basalt
#

have you tried setEnable>

fading horizon
#

just added the attachment

#

ill test it out

#

now we need a gnomebar plushie for the plushie slot

glass basalt
#

ill check if the attachment type is universal or not, i took it from a radio item

old crescent
#

like this button

#

just disable it not remove

glass basalt
old crescent
#

ok.. Ill try

glass basalt
#

or self, idk

fading horizon
#

it works!

#

akimbo vapes

glass basalt
#

nice

rancid panther
#

you've gone mad with power

#

have it attach to the holster slot lol

fading horizon
#

make it a throwable

lyric turtle
#

AAAAAA

#

I love it

#

I love it so much

#

Empty throwable vapes

glass basalt
#

and then mae be like: never releases because item distributions

lyric turtle
#

Chuck the fucking thing for a chuckle

rancid panther
#

then the mod will have so many features ppl complain that their friend attached vapes to every slot on their backpack and is throwing them around like a madman

lyric turtle
#

How's that bad

#

If anything I'd laugh my ass off because they found so many vapes

old crescent
#

doesnt work

glass basalt
old crescent
fading horizon
#

yea

old crescent
#

ithnink by using self .. it doesnt specify that specific button

fading horizon
#

wow

glass basalt
#

do you have the file where the death screen has its functions

fading horizon
#

today i learned discord had threads

old crescent
#

yes

fading horizon
#

i didn't even know all these resources were here

#

fuck

glass basalt
#

the fact that you got so far without them is pretty phenomenal

old crescent
glass basalt
#

courtesy of Glytch3r

rancid panther
#

maybe i should toss my ideas in that ideas corner and cast aside all responsibility

glass basalt
#

always an option 😏
i only have one or two ideas that I have no idea on how to implement
the rest are in my to-do

#

oh shit it is well past midnight

#

I need to get up tomorrow

#

gn lol

rancid panther
#

gn

neon phoenix
#

is there any event which tracks item uses?

rancid panther
#

what kinda item uses

neon phoenix
#

for example drinking

#

i saw lua event but it doesnt work

brittle lodge
#

Are there any good tutorials on adding full body outfits? having issues with mine

shut oar
#

Can I make it so when a food item is eaten it does not get destroyed/consumed?

fading horizon
#

you could change the timed action to where it gets the item being eaten

#

then when it hits the perform section (when the action ends), it re-adds that item to the inventory

shut oar
#

yeah i was thinking something like that, but theres no built-in way to do that?

lyric turtle
#

What are you trying to do?

shut oar
#

I'm trying to make a dabpen to add to the MoreSmokes mod

lyric turtle
#

Wh-
What is a dabpen?

#

Aren't you pretty much trying to do the vape thing this absolute chad just made in a different package?

shut oar
#

essentially yes, seemed like a fun idea but its not a carbon copy because you would have to convert MoreSmokes cannabis into oil first then fill the dabpen (weed pen, cannabis pen, etc) it, then you can smoke it and get the effects from MoreSmokes

fading horizon
#

i'm still laughing at the microwave function

#

you better have that in yyyours

rancid panther
#

how can i check if the world power is on? i know i can turn it on/off using getWorld():setHydroPowerOn(true/false) but can i check if the value is true/false?

rancid panther
#

i think i tried that already. i'll try again

fast galleon
#

isHydroPowerOn then

rancid panther
#

that's right, thanks!

fading horizon
#

if you microwave it, it explodes

lyric turtle
#

"Hello, is your isHydroPowerOn working correctly?"

shut oar
lyric turtle
#

But I do get the jist of the idea and how is it not "carbon copy"

shut oar
#

uh sure? I don't see how this is relevant though

lyric turtle
#

So far I've only seen one specific "way", if I could call it that, and has to do with how you can choose to eat a consumable a quarter or half way instead of fully

#

One mod specifically has gone their way to add the "3/4s" for all the options possible

#

If not replacing the item each time it is consumed for a lower quality of the same item

#

Do check what autodrink does with bottles

#

That might have some insight

shut oar
#

alright I will, thank you

fading horizon
#

I think i'm happy with the tooltip now

#

ignore the random crash

lyric turtle
#

lol

drifting ore
#

This is me to myself when trying to find out how to mod

shut oar
fading horizon
#

it works! Literally just have to do item distribution and version 1 is DONE

drifting ore
#

@fading horizon would you be willing to help me on my mod?

fading horizon
#

not right now i'm finally done for the night

#

but ping me tomorrow

drifting ore
#

Kk

fading horizon
#

or today i guess since its 3am

#

lol

drifting ore
#

Jaja

old crescent
#

anybody knows how to disable this button without removing it.

rancid panther
#

EveryHours is supposed to run every :00 hour right?

#

i am using it but it is doing every ten minutes

#

or do i need to restart the save for it to change? i already reloaded the file

#

looks like that worked

#

okay i got the basic features of a temporary blackout to work

twilit rune
#

Day 2. Steam Workshop Survivor diary. Adding gifs to desc with the help of imgur.

thorny pollen
rancid panther
#

basic structure of the blackout is made

#

i need to learn how to store the vanilla sandbox setting since my mod will be overwriting it every time there is a blackout
and how to make a queue to check if there is an upcoming blackout so it doesnt reschedule it as it is about to happen

#

(better to schedule a blackout the next day so it uses the vanilla blackout time randomizer, methinks. but it seems to always pick a time close to noon. i'll have to do more testing with that)

#

lmk if anyone sees a way to do those things i havent figured out yet

warm vessel
#

Hey, I'm making a food can mod, but I can't open it with a can opener, any ideas on how to fix this?

#

It uses practically the same stats as "Canned Peaches" but not able to open it

lyric turtle
#

There must be a tag you must be missing, read carefully all the tags Dog Food has

#

(I say Dog Food as I remember it being the case to be only openable with a can opener, could be any other can)

warm vessel
#

Exact same as peaches, I'm thinking it might be a recipe thing?

lyric turtle
#

Could be, yes

#

Most can-opener interactions have to do with a crafting recipe

warm vessel
#

Ahhh

#

Ok

#

That explains why then, thanks.

Another question, for the 3D models that on the ground, how do I go about changing that? The tutorial I watched only shows how to get the inventory icons working, but not the models themselves.

rancid panther
#

they probably have pinned resources too

warm vessel
#

I'll take a look at that, thanks.

I'd imagine I just have to make a copy of the texture that get's put on the 3D model and edit it, but where to place it or find it is beyond me lmao

old crescent
#

need help in this.. anybody knows how to disable this button without removing it.

rancid panther
#

your next best option is to remove and replace the button with a placeholder that doesn't do anything

old crescent
#

hmm .. im planning on adding a timer that enable the button when time the runs out .. i already did the timer function..

#

button:setEnable(false)
button.Enable(false)

#

doesnt work\

rancid panther
#

even better idea: add an invisible unclickable window over the button

#

that disappears when the time is up

drifting ore
#

Joy can you colab on a mod with me?

rancid panther
#

i do not plan on collabing on any mods as i have no expertise

thorny pollen
#

is it not meant to be button2?

rancid panther
#

if u collab with me on a mod i guarantee it will not work

drifting ore
#

Is there anyone you know who would colab?

old crescent
old crescent
thorny pollen
#

yeah but does it not refer to the button it created

drifting ore
drifting ore
rancid panther
#

join Glytch3r's orbit modding server and see if there is anyone who can collab with you there

old crescent
drifting ore
drifting ore
thorny pollen
old crescent
#

Its in ISPostDeathUI.lua

#

found it thanks ..

cunning kestrel
#

Hi not sure if its documented but,
How can I add to a repair script ? it just gets overridden depending on the filename/load order....

thorny pollen
sour island
#

Also, I'm pretty sure I've set enable to false on a button to make it disabled before πŸ€”

thorny pollen
#

It's setEnabled not setEnable

#

but you can still click the button even though It's hidden from the screen

sour island
#

You're calling self.button2:setEnabled() ?

#

You can click it I believe but it shouldn't register the action

thorny pollen
#

I just tried it it sent me back to the menu even though the button was hidden

sour island
#

Hidden being faded?

#

Or invisible?

thorny pollen
#

invisible

sour island
#

SetEnabled shouldn't be making it invisible

frosty falcon
#

like this?

sour island
#

Yes enabled false fades it

frosty falcon
#

unclickable, but idk what trying to achieve

sour island
#

Someone wants to prevent respawning for a duration

frosty falcon
#

I just used setEnable

#

is the timer not able to recall it after a certain time to true?

sour island
#

He tried but I guess he's not calling on the instance

#

He can just prescribe a timestamp to a global list with steamIDs for keys

#

Overwrite the UIs render or some similar event - and toss setEnabled if current time is less than the stamp

#

But I think his issue is getting the actual button

frosty falcon
#

can't you just do it on the client side without all that?

#

with lua checksum on it shouldn't be a problem right?

old crescent
sour island
#

The global list can be client side

#

I only mention it being global to avoid issues with creating a new character

old crescent
sour island
#

Chances are your new character will take over as the IsoPlayer

frosty falcon
#

I mean is there any point to a list when you can just use client side lua to lock the button for x time

old crescent
#

thats my syntax haha

sour island
#

Relogs?

frosty falcon
#

true depends how long the timer is, they can quit to desktop and rejoin

#

that'll take at least 30 sec?

#

list would indeed be the better idea there

old crescent
#

Im trying to make a Respawn Time .. the client will abel to click the respawn or new character after a period of time \

frosty falcon
#

but wouldn't you have to prevent them joining/spawning

#

guess thats easy enough with server side code

old crescent
rancid panther
frosty falcon
#

just experience from other languages

old crescent
#

how did you do it

#

the unclickable button thing

frosty falcon
#

just call the button and setEnable(false)

rancid panther
#

remove player from whitelist and then add them back once the time is up

old crescent
frosty falcon
#

I did it in the games lua code directly, where the button is drawn so its easy

#

you won't want to do that tho

old crescent
frosty falcon
#

you need the button from ISPostDeathUI I believe

old crescent
sour island
#

He can overwrite the buttons parent's render()

rancid panther
#

i still think having a button overwrite is way better than changing the current button

sour island
#

For sure

rancid panther
#

put an invisible unclickable window on top of it

sour island
#

Replacing the button isn't overwriting it lol

#

You have to call on a function as a local variable

old crescent
frosty falcon
#

an unclickable window over the top sounds like the worst way to do it, no more unnecessary elements when you can just overwrite the code

rancid panther
#

you know like how journalists and stockphotos do it? they make it hard for u to right click their images

#

u have to inspect element to delete the invisible window that is on top of the image

#

not that that's what i do drunk

frosty falcon
#

you need to call setEnable(false)

#

thats it

old crescent
#

can anyone do it ?

frosty falcon
#

but you need to reference the original button object and overwrite it with a timer

sour island
#
local funStored = something.func

function something.func()
   funStored(self)
end
#

On phone, so forgive any typos

frosty falcon
#

and the list

#

for proper respawning by time

rancid panther
frank elbow
#

I remember when you initially asked I looked at ISPostDeathUI. All of the buttons are stored as fields, so you should be able to easily access it without overwriting the entire file

frosty falcon
#

yea theres a function to just disable it

sour island
#

SetEnabled works

#

You don't need a blocker

#

There's a few types of elements that enabling doesn't work on which would need a blocker if you want that type of effect

old crescent
#

button:setEnabled(false)??

sour island
#

Yes

old crescent
#

Ill try it

sour island
#

But you need to make sure you're calling on the button

old crescent
#

hmm I have question

sour island
#

UI are pseudo classes - and players usually have an instance to them

old crescent
#

does anyone know the function of this context

sour island
#

That's java side I believe

old crescent
#

oh ok2 ..

sour island
#

Don't take my word for it though -- I'd confirm but can't as I'm at work

#

Which I need to get to πŸ˜…

#

πŸƒβ€β™‚οΈ

old crescent
#

I need help on something .. hmmm I how can the text of the button be responsive to a timer.??

rancid panther
#

add the timer as part of the text

warm vessel
#

Heya, trying to put my modded item into loot distributions, but I'm getting an error and not seeing it spawning.
Here's my code.


require 'Items/ProceduralDistributions'

table.insert(ProceduralDistributions["List"]["CrateCannedFood"].items, "Base.SurstrΓΆmming");
table.insert(ProceduralDistributions["List"]["CrateCannedFood"].items, 6);
table.insert(ProceduralDistributions["List"]["GigamartCannedFood"].items, "Base.SurstrΓΆmming");
table.insert(ProceduralDistributions["List"]["GigamartCannedFood"].items, 6);
table.insert(ProceduralDistributions["List"]["GroceryStorageCrate1"].items, "Base.SurstrΓΆmming");
table.insert(ProceduralDistributions["List"]["GroceryStorageCrate1"].items, 0.5);
table.insert(ProceduralDistributions["List"]["KitchenCannedFood"].items, "Base.SurstrΓΆmming");
table.insert(ProceduralDistributions["List"]["KitchenCannedFood"].items, 100);

(Just started making mods, I have absolutely no idea what I'm doing lmao)

old crescent
rancid panther
#

( .. "seconds until respawn") or smth

old crescent
#

remove Base.

warm vessel
#

Alright; the tutorial I was watching was to have it there, but can do

frank elbow
#

What does the error say?

warm vessel
#

Not sure, it pops up right as I start a 'game' and disappears almost instantly

old crescent
frank elbow
#

If you check console.txt you should be able to see it. I'm unsure off the top of my head where the file is located, unfortunately

#

Potentially your user folder/Zomboid

warm vessel
#

Yeah I can't find anything there, unless you're talking about the numbers, in that case "640" and "360"

rancid panther
#

is there a way to store data for the world the same way u can store data on players or objects?

frank elbow
#

Did you search for "error" in it?

old crescent
#

thats the line inside the file

rancid panther
#

i see

#

how is that written

warm vessel
#

console.txt shows "no errors" as far as I can tell

frank elbow
#

local data = ModData.getOrCreate('youruniquemoddatakey')

#

data is a table

old crescent
old crescent
#

Im positive about it

rancid panther
#

i see. i am familiar with how moddata works on players somewhat, but wasnt sure how to write it in regards to the world

#

thanks

frank elbow
#

There's probably a guide on it somewhere, it works via events & manually transmitting it

warm vessel
old crescent
#

send me the console

rancid panther
#

i'll look around tomorrow or something when i actually am working on it

frank elbow
#

Have you confirmed that all of your table key accesses are correct? They would be case sensitive; List β‰  list

old crescent
#

delete that file .. and run the game .. after the error close the game.. cgheck consoe

rancid panther
#

me? i havent started on it yet. i only made a todo list to add these things

frank elbow
#

I meant doomsday, discord decided not to reply

rancid panther
#

ah

#

i can use global moddata to store something like if i have a blackout queued right?

frank elbow
#

Yeah. If it's something only the server has to worry about, you won't need to transmit it

warm vessel
frank elbow
#

Okay, you should open the Lua files in the game directory and look at the distribution code

rancid panther
#

something like, if there is a blackout already queued, then my mod wont schedule another one the next day

warm vessel
#

can do

#

You're correct, it's "list" and not "List"
Time to see if it helps :D

frank elbow
rancid panther
#

yea

#

it would have to be something that occurs on the server

drifting ore
#

I need help Agustting spawn rates

rancid panther
#

my blackout code is in /shared rn cuz i wasnt able to use the functions im familiar with in /server. do they act differently? or does it just mean i did something wrong with the server folder?

frank elbow
#

You should still be able to use functions in Lua files in the server folder. I wouldn't rely too hard on the folder structure anyhowβ€”explicit checks are better

rancid panther
#

i see i see

frank elbow
#

Some functions don't work when run by the server (and vice-versa for the client) but usually it's simple to guess that that'd be the case from context

frank elbow
warm vessel
#

So the error seems to have disappeared, but it's still not spawning surprisingly

drifting ore
#

Can anyone help me with a mod in making, I’m having trouble adjusting spawn rates

frank elbow
#

Or the "additem" command

warm vessel
frank elbow
#

And you've gone to a new area so it has the opportunity to spawn?

frank elbow
warm vessel
#

I've created a new game so that'd count no?

frank elbow
#

That should, yeah

#

I'm not too sure why it wouldn't spawn. I haven't messed with item distribution myself too much

warm vessel
#

I just want my can of food to spawn D:

drifting ore
frank elbow
#

Seems you two have opposite problems

warm vessel
frank elbow
#

What's your code for item distribution? Seems odd that it'd spawn that much

drifting ore
#

I’m a script kitty

#

I found a item spawning script

frank elbow
#

I think the term you're looking for is script kiddie, although script kitty is adorable

drifting ore
#

Yeah that

frank elbow
#

I don't think anyone can help that much unless you send the code

#

I also think it's worthwhile to try to understand any code you use

drifting ore
#

I’m not home currently

#

I’ll send some in a bit

warm vessel
#

So I've checked the console for when my mod loads and there's no errors or anything

frank elbow
#

My only guess is that it could be having trouble with the ΓΆ, but I doubt that. Could be that something is missing that I'm not seeing

warm vessel
#
WARN : General     , 1680267043586> ItemPickerJava.ExtractContainersFromLua> ignoring invalid ItemPicker item type "Surstr mming"
#

I think you're correct

frank elbow
#

Oh πŸ˜„

warm vessel
#

Peepo_Punch πŸ’»

#

It works :D

#

Thanks a lot @frank elbow @old crescent

cunning kestrel
#

How can I add to fixer script without it getting overridden depending on the filename/load order.... ?

fast galleon
#

Events.EveryTenMinutes.Add(function() if z ~= x then z = x end end)

#

the loading wars

frank lintel
#

laughgs and says If I'm a dog, then you're dog food... then realized they have it in PZ Hmm wonder if they got a Luke Valentine zombie lurking about somewhere...

open drum
#

hey hey guys

#

need a help here

#

im keep producing a nil result..

#

so I have a recipe which has this code

#

    {
        
         Apple,
        
        Result: Apple,
        RemoveResultItem: False,
        NeedToBeLearn:False,
        Sound:PutItemInBag,
        Time:3.0,
        OnCreate:OpenmagZ_OnCreate,
        Category:WURO_recipe, /*λ ˆμ‹œν”Ό 창에 λ‚˜μ˜€λŠ” 이름*/
        
    }
#

and after onCreate

#
function OpenmagZ_OnCreate(result)

    chk = result
    print (chk)
    --local tex = item.getTex()
    --print(tex)
    
    name = result.getName()
    print(name)






end```
#

and when I try to get name for print(name)

#

it produces error with nil

#

i thought the result would just pass right into result variable..

fast galleon
#

result should be the 2nd arg, first is an array of source items

open drum
#

is that onCreate specific?

fast galleon
#

would be nice if the print result was't cropped out

open drum
#

hmm?

#

the error page u mean?

sour island
#

You have to use : on exposed method calls

#

.get name() won't work

open drum
#

i tried both

#

and still shows up the nil

drifting ore
#

How would I make it so the higher a skill is the higher the chance or repair success is, if it fails it damages it instead of doing nothing. I also want the repair to be locked behind a skill wall.

open drum
#

sorry for it being white

lyric turtle
drifting ore
#

I’m incredibly new btw

lyric turtle
#

By check I mean take a look at those specific interactions for ideas on how to code what you want to code

sour island
drifting ore
#

Oh I see

#

Thx

open drum
sour island
#

Try (items, result, player)

#

Which I think is the arguments

tardy wren
#

Well, it is me again. I need to have a Client send something to the Server

#

As in, I need to make sure that while the client starts someyhing, it's executed fully on the server's side of things for the results

lyric turtle
open drum
#

where can I find them?

#

is it oncreate() specific? or just in general for any function?

drifting ore
#

How do I make it so a crafting recipe has a chance to fail and damage the item

open drum
#

u will have to put the code

#

after OnCreate

#

code a function

drifting ore
#

Idk what that is

#

I want the it to have a chance to fail

#

And not be created

#

It’s a knife sharpening mod

open drum
#

what i would do is

#

do a RemoveItem:True

#

the OnCreate: failcheck_OnCreate

open drum
#

then in lua client

#

code RandZombie ( #,#)

drifting ore
open drum
#

then after Oncreate

#

do a player skill level check

#

then based on the skil level

#

alter their chance

drifting ore
#

How do I implement percentages? And what’s the code for skill check

open drum
#

i would use ZombRand method

#

ROLL = ZombRandBetween(0,10);

#

that rolls number from 0 to 10

#

and gives a random number

drifting ore
#

And for a skill level it would be a smaller number pool?

open drum
#

yea u can getplayer() then use a method that would check player's skill level

#

then do a if check

sleek holly
#

Question, since the java docs don't really tell you what anything DOES beyond the method name: SandboxOptions methods, should I use sendToServer() or applySettings() to dynamically change the sandbox options?

open drum
#

if the player has certain level of skill, u will increase the chance

#

if the player has low level of skill, u reduce the chance

drifting ore
#

How do I set it so a certain number is a fail or succces and how do I tie that into the recipe

open drum
#

local Z = SandboxVars.Wuro.LocZ

#

using SandboxVars. "option name". "variable name"

#

u can automatically call the int, boolean, text

#

from the sandbox file

sleek holly
#

To read yes, but to write in memory?

open drum
#

ah,

tardy wren
#

sendToServer I've seen is the function

#

I'm messing with it too, and my current issue is to make that function be called ftom the server itself?

sleek holly
#

Haha, same... I'm like, "Should this be in shared, or server?"

open drum
#

but if you are playing MP

#

u have option to change it

sleek holly
#

Which, yes, for MP

open drum
#

ah u want to do it in sp?

sleek holly
#

No, I want the server to consider some of the variables when it's time to rally or respawn zombies.

#

And those values can change over time

open drum
#

ah.. i see

open drum
sleek holly
#

Kind of like the random rally settings mod, but MP compatible, and extended out more.

open drum
#

like IF statements

#

if a number comes out to be 0 or 5

#

then u can let the program to consider them as fail

sleek holly
open drum
#

then under Else, a success

#

not sure if that helped

tardy wren
#

Is this a decent way of making my code run when the player spawns in the server and only then?

local Daikon =  Daikon or {
    SandboxOptionsSyncing = {

    }
}

Daikon.SandboxOptionsSyncing.TellServerItNeedsToUpdate = function()
    if isClient() then -- Check if it's running in MP or SP (Returns true in MP and false in SP)
        sendClientCommand("SandboxOptionsSyncing", "SyncTheSettings", {});
    end
    Events.OnPlayerUpdate.Remove(Daikon.SandboxOptionsSyncing.TellServerItNeedsToUpdate)
end

Events.OnPlayerUpdate.Add(Daikon.SandboxOptionsSyncing.TellServerItNeedsToUpdate)
return Daikon ---> REMEMBER THIS NEEDS TO BE AT THE END OF THE FILE
sour island
#

You can also called them arg1, arg2, arg3 and then print them to check

red tiger
#

Hoping to get work done this weekend on the VSCode extension.

#

Work comes first.

open drum
#

anyone knows what is the best function to use to get all the players in the server? to get their playerIndex

red tiger
#

getOnlinePlayers()

open drum
red tiger
open drum
#

ah

#

and if i want to select each players in the list

#

to get thier zombie kills

#

ill have to iterate then right?

red tiger
#
 /**
       * @noSelf
       *
       * Method Parameters: 
       *  - (Empty): java.util.ArrayList<zombie.characters.IsoPlayer>
       */
      static getOnlinePlayers(): java.util.ArrayList<zombie.characters.IsoPlayer>;
#

Yeah.

#

You grab something from the list, either:

  1. You know the index and grab the player from that index or
  2. You iterate through each player and figure it out.
open drum
#

i see

#

let's try it..

red tiger
#

Also: It's a zero-based index

#

Keep this in mind when iterating.

open drum
#

it starts from 0 right?

red tiger
drifting ore
drifting ore
# open drum yes

Can you be so kind to make a list of the stuff I need to do to this idea mod work?

#

Dm if you can

open drum
#
  1. make a recipe with onCreate: to call a function that would roll a repair chance
  2. in client.lua folder create an onCreate function that would do
  3. create a variable that saves player's skill level (example: axe )
    3-1: roll a random numbers that would b used as chance percentage (1-100 for example)
    3-2: create an if statement and choose a range that would b considered as repair Success
    3-3: else it would b fail --> destroy item
regal fiber
#

Can someone help me or send me a guide on how I can create an occupations mod?
I wanna do some Marine Corps occupations.

open drum
#

oh wait.. that's a trait

#

not a occupation

#

XD

regal fiber
#

I need a one for traits too so np

open drum
regal fiber
drifting ore
open drum
# regal fiber its says 404 server not found
regal fiber
#

thanks have a good one

polar thicket
#

Is there a chance that modding custom power sources will be easier once the new updated power system rolls out? (which appears to finally add a proper wiring system where each generator is treated properly rather than the weird way it is now?)

torn igloo
#

how do you check the game is MP or SP?

sour island
#

If either isClient or isServer true then it's an MP game

torn igloo
#

SP runs both isClient and isServer....

Anyway, searched the discord history, is...

getWorld():getGameMode() ~= "Multiplayer"
sour island
#

I'm pretty sure SP returns false for both

#

GameMode has issues when changing modes as you keep the old mode upon entering the MainMenu

#

So starting up a server then going back to the MainMenu will still return "Multiplayer"

#

Not really an issue in most cases I imagine.

torn igloo
#

thanks

polar thicket
# fast galleon one can hope

Me and a friend of mine where working on a windturbine mod (got pretty far into it) but we stopped looking into it hoping the new power system rework update will simplify some aspects. Like how we should deal with someone making multiple turbines. Hopefully this means generators actually has a limited Wattage output system as well unlike the strange system we have now where you need to make a lot of custom code to make multiple generators see eachother in the same system and where the entire power system is like confined within one generator and normally unsharable...

slender crown
#

I was working on a mod that made it so building zombies would spawn in as soon as the chunk would spawn in. But I'm having trouble hooking an event to when cells are loaded. It seems like the OnPostMapLoad event isn't firing in the first place, or so I think; The "cell loaded!" print is not firing off. Should I be using another event in this case? I've tried making the script a Server, Client, and Shared, so I think I've covered my bases. (The script cannot be on the client anyhow because the roomSpotted method only works on the server)

local function DucksBZSF_CellLoaded(cell,x,y)
    
    print("cell loaded!")
    local rooms = cell:getRoomList() -- Returns an ArrayList
    for index=0, rooms:size()-1, 1 do
        local room = rooms:get(index)
        print("room loaded!")
        VirtualZombieManager:roomSpotted(room)
    end
end

Events.OnPostMapLoad.Add(DucksBZSF_CellLoaded)```
#

(P.S. I made a forum post and then immediately saw that they never get any responses so I just copy pasted my question here :P)

bronze yoke
#

i'm not sure why it's not calling at all, but i don't think onpostmapload (or cells in general) is meant to do what you think it does

#

the cell stores the entire current loaded area, it's not related to the cells they use in mapping so this is only called once, when the player is first loading in

#

if you want to catch new areas loading, painfully the only option is Events.LoadGridsquare

fast galleon
#

Join the wait for v42 and the ChunkLoaded event

slender crown
#

I'll just check for rooms that are loaded in ever so often instead of checking every grid square that's loaded in lol

fast galleon
#

I use the OnSeeNewRoom in one mod, it's rather efficient. You can use that and check all other rooms too when it triggers or is that took late?

slender crown
#

OnSeeNewRoom is when the room spotting is fired so it wouldn't change much

#

it's fired when you can see into the room and are in like... 16 tiles or so? i can't remember the exact range

bronze yoke
#

yeah, it really wouldn't change much LOL

slender crown
#

but the point is to fire zombie building spawning wayyy before that so that making noise actually drags em out

fast galleon
#

I mean when that happens, also check the rest of the area.

bronze yoke
#

it looks like it's when the room can first be seen inside?

red tiger
#

(Scratches Head)

Well for all the back-and-forth on deciding whether the inventory stuff should be server-side for the past several years, I hope this iteration of server-authority is better.

bronze yoke
#

i'll be honest that this code is a little too dense for me to go through quickly but that seems to be how it works

slender crown
#

i'm basing a lot of my knowledge from this video and from my skimming of the code it seems to line up: https://www.youtube.com/watch?v=UOQaZ0PflZs

The system, known as the "BS mechanic" or building spawn mechanic, can be both unfair and illogical. So let me learn you how it works.

Let's Each break this bs mechanic down. Each building in the game has a chance to spawn zombies once a player interacts with it beyond a certain threshold, which we also explain.

We also discuss how this mechan...

β–Ά Play video
#

but the gist is: zombies that spawn inside buildings don't spawn until you can see into the building via a window/door, and if you're within a certain tile radius

bronze yoke
#

if you loop through the room list every ten minutes or so it should be sufficient

slender crown
#

aye, that was gonna be my plan

tidal crystal
#

I managed to make my hat visible!!

#

granted it is about 100 times too big and sideways - but progress!!!!

red tiger
#

I'm also a little upset as to how vague the discussion surrounding upgrading recipes has been.

#

I want to know more about how ZedScript is changing for 42.

#

=/

red tiger
#

I think that the format needs heavy revision and they're not up for that If I were to put my bets on it.

red tiger
#

It went client-auth for some reason that I'll likely not find out.

slender crown
#

@bronze yoke would you happen to know how to grab that room list? i know the method is attached to IsoCell but what would be the best way of getting the cell? would there be multiple cells I'd need to go through?

red tiger
#

Whether TIS revises ZedScript for B42 is not going to affect my plans to write a whole new format that compiles to ZedScript. =)

fast galleon
#

getCell()

frank elbow
#

Alternate universe where an existing format with a detailed spec was used for scripts: world peace

bronze yoke
#

you can use getCell(), or cache it from OnPostMapLoad

slender crown
#

aye, thanks

red tiger
#

lol

#

We can realistically make our own scripting specifications that can compile to PZ's format.

#

Mine is in its 4th week or so of planning.

slender crown
#

@bronze yoke @fast galleon Thanks for the help - got it working:

slender crown
tawdry solar
#

i forgot where the distributions are

fading horizon
#

Good afternoon everyone

wet sandal
#

UI go brrrr drunk

reef karma
#

Mod looking sick dude! Do we have a shorter eta than announced on the mod page or still the same ?

wet sandal
#

Still the same

#

The core grid is a tad scuffed ever since I added item stacking

#

Haven't even tried to fix it yet since it's still serviceable

fading horizon
#

Awesome progress. Great job

wet sandal
#

I'm working through my to-do list, but it's big because I have invested so much time at this point I need this to launch bug free

#

Also need to add (sandbox option to disable) searching containers

#

Sound

reef karma
#

searching counters in all equipped inventories ?

wet sandal
#

Not the equipped, new ones you find in the world

reef karma
#

wait.. is that where that search arrow comes from that i pushed by accident?

#

it is from this mod ?

#

xD

wet sandal
#

Nah

#

Nothing search related has been done yet

reef karma
#

where the f is it coming from okay then lol, looking forward to it

wet sandal
#

Thanks and same lol
I haven't played Zomboids is so long lol, just been running around in debug mode for months

fading horizon
#

Notloc you seem to have a good understanding of how the ui works.

Do you know of an easy easy to create the "remaining uses" condition bar on drainables

#

I made a custom context menu but have no idea how to add the progress bar

reef karma
#

I have been trying to play around with mods a little now. got 2 going for now and a couple of ideas. not able to do them yet though because I just don't know how lol.
All my friends that play on the server are very happy with the mod πŸ˜„

wet sandal
fading horizon
#

You're the best, thank you!

wet sandal
#

I'm out right now, not at a computer, can't link directly

#

There's one for the popup UI, but also one injected into the inventory itself

stable ether
#

Hey, anyone have an issue with crop stop growing in a MP server. Like it stalls at 0 hours to next growing phase. I have checked the code and it works on another MP server and it was working on this server and then just stopped.

humble oriole
#

When using a drainable item in a recipe, I've seen it done PropaneTorch;2, what is the :2 represent? Is it a % of the amount?

stable ether
humble oriole
#

that's what I thought, but didn't want to restart my game 4-5 times to test it

west bramble
#

Hello I wanted to do some back end work with the servers on Zomboid, what language is it written in?

reef karma
#

πŸ‘€

fading horizon
#

i figured it out lol

reef karma
#

lol glad you did, i will probably use some bits and pieces of your mod when you release it if that is ok with you?
I need to understand how to spawn new items in with custom textures and what not

And you actually comment your code so i can learn lol

fading horizon
#

where should I make them spawn

#

just gas stations and zombies?

#

or should i add it to other just general spawn tables too

#

idk how rare i want them to be

cunning canyon
#

Any idea what item:setCustomName does? I'm assuming it's related to customized items like annotated maps or something, but I'm not sure exactly what changing the flag does.

fading horizon
#

it's a bool

#

its whether the name is a custom name or not

#

its not how you set a custom name

reef karma
#

strip malls, electronics stores, gas stations, maybe some schools (you know kids vape).
I would do more locations with lower chance of spawning if that makes sense

fading horizon
#

that's a great list

#

thank you

reef karma
#

i would personally do houses (bed dressers etc) as well but that is up to you. you gotta play with the drop table to make sure that they can all spawn in those locations but spread out the drop rates between them.
And np, the least i can do. i will be able to help with coding once i get the hang of it too lol

cunning canyon
#

But when I set a name, it doesn’t seem to matter if I set the flag or not

fading horizon
#

oh i see

cunning canyon
#

It still shows my custom name even if that is false

fading horizon
#

sorry i just remembered seeing that the other day

cunning canyon
#

Lmao no worries

#

Maybe it’s a networked thing?

drifting ore
#

How do I make my mod item spawn?

rancid panther
#

first test if your item works so far in debug mode

drifting ore
#

Rn it’s just a txt file

#

Idk how to make it a mod

fading horizon
#

@drifting orehttps://www.youtube.com/watch?v=N6tZujOPnDw

This tutorial video will show you how to make a simple drink in Project Zomboid. I will go into the steps involved from start to finish. Read more below.

0:00 intro
1:08 Start
1:44 Searching for images to use in game
2:30 Searching for the Sound Effect
3:06 Creating mod file directory
3:54 Creating mod.info
4:34 Creating a poster
7:14 Adding ne...

β–Ά Play video
rancid panther
#

what parameters do i need if im creating and setting global mod data at the start of a game?

bronze yoke
#

wdym?

fading horizon
#

finally about to test item distributions

#

if i can get this right i should be releasing it tonight

rancid panther
# bronze yoke wdym?

ModData.getOrCreate("blackoutqueue")
i want to use this to store data on whether or not a blackout is already queued for the next day, through a boolean.
so the blackout qualifier would look something like this if getGameTime():getNightsSurvived() < blackoutoverride and ModData.getOrCreate("blackoutqueued") == false then

wet sandal
#

ModData.getOrCreate

#

getOrCreate

#

What is this black magic!?

rancid panther
#

yea i know that part im wondering what the function is to store that information to use

bronze yoke
#

it returns a table

rancid panther
#

i cant just put it in there without creating it at the start of the world can i?

#

when i made the immunity mod i used playerIndex to store data on the players so it can be used everywhere else

#

but i dont know what parameters or function i would need when making it for the world itself

bronze yoke
#

it returns a table, so like

#
local modData = ModData.getOrCreate("string key")
modData.foo = "bar"
rancid panther
#

do i need a specific function and event to make it at the start of a new world?

bronze yoke
#

OnInitGlobalModData is the earliest you can use it, it happens pretty early so most normal events are fine to use

rancid panther
#

and for the function itself, do i need specific parameters?

bronze yoke
#

no

#

it's called getOrCreate for a reason

rancid panther
#

i see

bronze yoke
#

there's stuff like ModData.create, ModData.get, etc, but you usually won't really need anything but getOrCreate

rancid panther
#

i see

#

thanks!

drifting ore
#

Mod I made isn’t showing in zomboid, I moved it to my mods folder

rancid panther
#

go to ProjectZomboid/media and format your mod folders the same way according to which folders you used

#

since you are using scripts, your folders would be something like ModName/media/scripts/script.txt

#

and follow the examplemod folder for the icon and info

drifting ore
#

Still very confused

fading horizon
#

y'all

#

the vape mod is ready

#

i just have to make the steam page and upload it

#

i got the item distributions right i'm pretty sure

drifting ore
#

Maumento pls help

fading horizon
#

i can't rn i'm going to get some dinner to celebrate

drifting ore
#

Lmao

fading horizon
#

C:\Users\USERNAME\Zomboid\Workshop

#

or

#

C:\Users\USERNAME\Zomboid\mods

#

that's where it should go

#

C:\Users\USERNAME\Zomboid\mods\Clove Cigarettes\media\scripts\CloveCigarettes.txt

#

that's an example of where your item definition script should go

#

then you see if you can spawn the item with either cheat menu or debug mode

#

This is how an item definition file looks

#
{
imports
    {
        Base
    }

item CloveCigarettes
    {
        DisplayCategory               =   Junk,
        Count                         =    12,
        HungerChange                  =    0,
        StressChange                  =    -3,
        UnhappyChange                 =     -3,
        Weight                        =    0.001,
        RequireInHandOrInventory      =    Matches/Lighter,
        Type                          =    Food,
        DisplayName                   =    Clove cigarettes,
        Icon                          =    cloves,
        Tooltip                       =     Get lung cancer in the edgiest way,
        CustomContextMenu             =   Smoke,
        CantBeFrozen                  =   TRUE,
        OnEat                         =   OnEat_Cigarettes,
        StaticModel                   =   clove,
        EatType                       =   Cigarettes,
        WorldStaticModel              =   clove_ground,            

        
    }```
#

another example

#

@drifting orehope that helps somewhat

#

should be the basics to at least let you spawn some type of item

#

your Icon file is stored in media\textures and needs item_ in front of the filename. So for example my clove cigarette texture icon is
C:\Users\USERNAME\Zomboid\mods\Clove Cigarettes\media\textures\item_cloves.png

drifting ore
#

Is it ui_trait_name.png or is it trait_name.png

#

For the ui

#

Images

reef karma
rancid panther
#

it works!

#

i needed to make a local function and use the isNewGame parameter

fading horizon
#

since its kinda late

rancid panther
#

and i was misunderstanding how to add dif types of data

reef karma
#

it is early somewhere else in the world xD, but yea.
maybe tomorrow morning. but we are all waiting here πŸ₯Ή

rancid panther
#

so now my mod can store the original shutoff date secretly

#

flaw: if the server owner decides to manually change the permanent shutoff day, it might become an issue

drifting ore
#

I still don’t understand how to make the mod show up

fading horizon
#

Show up where

#

Show up what

rancid panther
#

in your mod list?

fading horizon
#

What I just listed will get an item that is spawn able on game

drifting ore
rancid panther
#

make sure you change the mod.info file to have a unique mod name

#

take a screenshot of your mod folder and the contents within it please

thorny pollen
#

are you putting it here? C:\Users\yourname\Zomboid\mods

drifting ore
#

Is the ui images 16x16 or 18x18

#

@rancid panther

thorny pollen
drifting ore
thorny pollen
#

well can be either

#

some are 16x16

#

is this for traits

thorny pollen
drifting ore
fading horizon
#

Poster is 256x256 right

thorny pollen
#

can be any size I believe

#

default is 870x1080

rancid panther
#

hmmmm

#

would it be better to make the blackout event have a chance for every hour instead of every day and scheduling it the next day?

#

it seems that scheduling the blackout a day ahead usually makes it happen between 7 am and 12 pm

#

aka the least threatening time for a blackout to happen

#

here is how it looks now

#

i think i will change it to everyhour and just make the chance lower

thorny pollen
#

so what exactly is modData

drifting ore
#

I hate this shit so much

#

Not showing still

bronze yoke
#

mod data is persistent storage for mods

drifting ore
#

Wut

thorny pollen
bronze yoke
#

they're tables that let you store variables between game sessions

thorny pollen
#

tables are just arrays but for lua right?

bronze yoke
#

yeah

rancid panther
#

i used it to save information that i need to pull from or change so it is consistent with each other

#

im actually removing the blackout queue thing cuz im changing it to blackout chance every hour, but i was using it so it wouldnt schedule a blackout on a day that one is already scheduled

#

felt like changing it since it kept scheduling them at midday when it was conveniently bright outside

thorny pollen
#

how would I get the length of this?

#

I have no idea how to do it in lua

#

would you do something with a for loop and add to a variable?

bronze yoke
#

:size()

thorny pollen
#

no shot

#

thanks for this information

thorny pollen
rancid panther
#

if i change what frequency events are being added and reload the file, it still uses the old frequency (EveryDays vs EveryHours) is there a way to make it use the new event besides reloading the world?

drifting ore
#

I don’t want my idea stolen

thorny pollen
#

np

rancid panther
#

you dont need to copy folders that you are not using

bronze yoke
#

when you reload your file it just executes it again like it's a new file, it doesn't do anything to 'undo' the old version of the file

thorny pollen
bronze yoke
#

so things you add to events won't be removed

rancid panther
#

ah

bronze yoke
#

same with anything you do in the global namespace

rancid panther
#

so i just gotta reload the world

bronze yoke
#

yeah

rancid panther
#

okay thanks

#

that's all i needed to know

thorny pollen
#

I think we have the problem

drifting ore
drifting ore
#

Wuts wrong

#

With it

thorny pollen
#

it needs to be .info

#

no spaces

rancid panther
#

classic chess blunder

drifting ore
#

Oh my goodness

thorny pollen
drifting ore
#

i suc

rancid panther
#

lol, my blackout mod made a blackout happen with perfect timing for a random scream event

shut oar
#

for the Recipe OnCreate callback what are the arguments passed to it?

rancid panther
#

damn, even with 50% chance of blackout recovery, it made a blackout take an hour and a half to recover from (9 failed attempts)

#

this is why you dont gamble, kids

bronze yoke
#

.2% chance... stressed

rancid panther
#

i think i will replace blackoutqueue with blackoutcooldown

thorny pollen
bronze yoke
bronze yoke
#

no

thorny pollen
#

where did you get it from

bronze yoke
#

myself

thorny pollen
#

so do you just have to remember it?

bronze yoke
#

pretty much

thorny pollen
#

I see thanks

rancid panther
#

should i chill with the print statements in my mods for things like checks and cooldowns?

bronze yoke
#

i remove my print statements before release

rancid panther
#

i see

bronze yoke
#

if i'm feeling really fancy i give them their own function that checks for debug mode before actually printing

rancid panther
#

i see i see

bronze yoke
#

prints are really bad for performance

rancid panther
#

i felt like i was spamming the command console with my prints

#

i'll keep that in mind, thanks!

thorny pollen
shut oar
bronze yoke
# thorny pollen source

i don't have anywhere specific to point you to, but i've seen tests showing it performed here and it's generally well accepted knowledge here

frank elbow
bronze yoke
shut oar
#

neat unhappy

thorny pollen
#

I know I'm messing

#

source trust me bro

#

speaking of writing to file do you know what those 2 arguments do?

bronze yoke
#

create file if it doesn't exist, append to existing file

thorny pollen
#

thanks very useful

bronze yoke
thorny pollen
#

oh nice I was looking for that website

#

I knew it had extra info

#

thanks again

fading horizon
#

can you have gifs in your workshop images

#

i ant remember

thorny pollen
#

for sure

rancid panther
#

how can i make time pass during an event function?

#

like if my function runs at every ten minutes, it all happens pretty instantaneously. is there a way to make a sequence within my function that takes a few seconds?

#

do i make it call a new function that is able to do that? or can it stay within the same function

glass basalt
fading horizon
#

i'm spending way too much time on these workshop images

#

lmao

#

i need something to fill the space on the right though

#

hmmm

#

is there a mod that lets you zoom in more

#

so i can get a good shot of the car vaping

rancid panther
#

the glow kinda makes it hard to look at

fading horizon
#

my monitor calibration is shitty though

#

so maybe it looks bad on others screens

rancid panther
glass basalt
fading horizon
#

1 sec

#

i'm finishing the last letter

#

then i can just send the psd file if you want to look

glass basalt
#

I can eyeball it

#

@fading horizon

rancid panther
#

yea for me it was mostly lemon mint and cool mint that was harder to read

glass basalt
#

yeah, immediately noticed it

rancid panther
#

i'd say a lil bit on the pink lemonade but it is still readable. could help to use a stronger border shade tho

#

is the glow in front of or behind the text?

glass basalt
#

seems like in front. if the blending options are set to be behind, it would be much more legible imo

#

unless it is behind, in which case some of the glow is bleeding into the font itself

#

not sure if its up-to-date with all of adobe's features tho

fading horizon
#

in font

#

layer style

#

rainbow blast

#

lemon mint

glass basalt
#

hmm, you also have a lot of stuff going on

fading horizon
#

cool mint

glass basalt
#

yeah I'll try tweaking the settings if you send me the file

rancid panther
#

you could put the layer of the border on the top layer to make the letters pop more while making the glow stay glowy

fading horizon