#making-mods-general

1 messages · Page 239 of 1

final folio
#

I know, but basically the game files use almost the same properties as a mod in swampi, maybe I'm doing something wrong, or I don't know

dusk mulch
#

Oh, I didn't see that.

#

And I don't want to

final folio
#

That's a bad joke on my part, I couldn't think of a better name than that, could it be because of that?

uncut viper
#

that's my point. few people here would know either if you're doing something wrong or if its a switch modding intricacy.

final folio
#

It is literally a change from a suit to a tuxedo

uncut viper
#

(not saying you cant ask for help regardless of course, just, yknow, dont be surprised if no one pipes up)

final folio
shadow pagoda
#

wanna try bumping this one more time just in case other people haven't seen this

cyan venture
#

hi guys, anyone know where this string is?

#

i cant find it

dusk mulch
cyan venture
#

the one when we upgrade the farmhouse

dusk mulch
#

then it should be in robins dialogue

#

i think

cyan venture
#

i cant find it in ILSpy

dusk mulch
#

have you unpacked the content?

cyan venture
#

yes

tiny zealot
#

./Data/ExtraDialogue.json: "Robin_HouseUpgrade_Accepted": "Thank you! I'll get started tomorrow. I should be finished in around three days.",

hard fern
#

(ur so fast ichor)

tiny zealot
#

grep is fast. i'm just the delivery boy

dusk mulch
#

Yeah I can't see it either

hard fern
#

I just have an encyclopedias knowledge of all the dialogue at this point

#

I remember seeing it in extra dialogue

cyan venture
#

skill issued or something

#

i still cant find it

#

oh yea right

#

in content

#

i forgot

tidal stone
#

i just opened my map in tiled to edit it again and idk what happened but like

brave fable
#

what happens in the ovvievies house

hard fern
#

Uh oh

brave fable
#

really though you have a Lot of Problems here

hard fern
#

Did the index for the tiles get munched or something

brave fable
#

was there a popup when you reopened Tiled along the lines of 'width of tilesheet image in tileset has changed. would you like to adjust it for the new width? yes/no'

dusk mulch
#

jeez actually trying to make a big mod and get it just right is so hard and tiring, my i18n has 94 lines and i am NOWHERE near done

brave fable
#

get it done first, get it just right eventually

tidal stone
#

i fixed it

#

i accidentally had . in front of spring outdoors that made it unable to find the file

rigid musk
#

I get it Person.. I truly do lmao

#

Every time someone finds a broken translation string in I die a little inside because it requires another update to fix it

#

And with 1.6k lines... theres been a fair few of those

cyan venture
#

uh oh

#

i dont know why but i accidently remove the dialogue

rigid musk
#

tbh_confusion wuh

dusk mulch
tidal stone
#

u h oh

#

what uh what file is v16 shadow in

dusk mulch
tidal stone
#

i cant find it whyyyyyyy

urban patrol
#

it's probably called spring_Shadows or similar

#

the tilesheet names and the png names don't always match

calm nebula
#

If you click on the tilesheet you can see the image path

tidal stone
#

i ireeperably broke the map again im gonna cry

brave fable
#

please do not irreparably break the map

dusk mulch
#

AND i need to make the spouse patios, and other marriage stuff

tidal stone
#

it wants me to get the town.png tback that has animated water and everythign but thats the tmx and i cant grab that anymore so its like

urban patrol
#

can you send your file in here?

tidal stone
#

uh oh

brave fable
#

do you mean TSX rather than TMX?

tidal stone
#

yea

#

i guess

#

idk

#

i was editing the vanilla map

dusk mulch
#

Why is there a pierre drop box in his shop but it doesnt do anything?

hard fern
#

It does things

#

Secret order

calm nebula
#

It's used for special orders

urban patrol
#

what do you mean it doesn't do anything?

dusk mulch
#

Oh

#

I didnt know it was used for a secret order

hard fern
#

(oopsz special oreer)

urban patrol
brave fable
tidal stone
#

ooh ok ok lemme try

cyan venture
#

how can i merge CP with my C# mod guys

uncut viper
#

you dont. they must be two separate mods, as far as smapi is concerned

#

but they can both be packaged inside one parent folder

cyan venture
#

like a folder contain CP and dll

uncut viper
#

you cannot

cyan venture
#

hmm

#

ok

uncut viper
#

they can only be packaged separately but together

#

each one gets its own manifest and each one needs a different uniqueid

cyan venture
#

so i have to make them separate mod

uncut viper
#

the ModBuildConfig nuget package can auto package your CP mod with your C# mod in its release zip

cyan venture
#

okay so that why i cant change Robin Dialogue

lucid iron
#

hm i dont seem to be allowed to nest local tokens SDVpufferpensive

#

can i even use another token in a local token

uncut viper
#

yes

latent mauve
#

As a note for those with multiple mod components packaged together: they can, according to the wiki, share an update key but the version numbers must be identical across all manifests if doing so.

uncut viper
#

them not being identical wont break anything i believe but it will cause the update notice to incorrectly tell you when you need an update if not

latent mauve
#

Yeah

dusk mulch
#

ok i think i have FINALLY finished my 1st NPC... now to get the other 3 right

lucid iron
# uncut viper yes

but i dont seem to be allowed to give another local token from outer scope to inner

uncut viper
#

do you mean the inner is an include

lucid iron
#

yea

#

i am attempt for for

uncut viper
#

like the localtoken is defined on the Include patch and then inside that included file you are using another localtoken

#

that should work

#

i would think

lucid iron
#

me too but it didnt blobcatgooglyblep

uncut viper
#

my confident yes though was re: a token inside a localtoken

#

not a localtoken inside a localtoken

lucid iron
#

fair nuff

#

yea hm theres no error but patch summary says
Include data/spouse.json > Include data/inc/child.json #1 // invalid tokens: LL@Spouse

uncut viper
#

did you name your localtoken LL@Spouse

lucid iron
#

attempt is

{
  "Action": "Include",
  "FromFile": "data/spouse.json",
  "LocalTokens": {
    "LL@Spouse": "Abigail"
  }
}

and then inside spouse.json

{
  "Action": "Include",
  "FromFile": "data/inc/child.json",
  "LocalTokens": {
    "L@Spouse": "{{LL@Spouse}}",
    "L@Seq": "A",
    "L@Hair": "Boy",
    "L@Eyes": "light"
  }
},
#

my other attempt is to not have L@Spouse in the data/inc/child.json and that one threw warnings

uncut viper
#

¯_(ツ)_/¯

#

i dont have much input here that looks right to me

lucid iron
#

@ivory plume can i use a local token in the include of an include

tiny zealot
#

i am vaguely remembering pathos being worried about CP becoming a vector for fork bombs

lucid iron
#

why would doing for/for become fork bomb blobcatgooglyblep

tiny zealot
#

(it was this, about doing foreach-type stuff)

ivory plume
lucid iron
#

what am i do wrong then LilyDerp

ivory plume
#

Not sure, I'd need to look into it.

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Unix 6.13.4.1, with 29 C# mods and 24 content packs.

lucid iron
#

this is without intermediate "L@Spouse": "{{LL@Spouse}}",

ivory plume
#

Could you create a minimal repro content pack and post a bug report on GitHub?

lucid iron
#

yea sure

faint grail
#

Hi everyone, do you know how I can change the maximum number of hearts available for NPCs?
Can I do this with Content Patcher?

reef kiln
#

You mean you want to have more then a 10 heart limit?

faint grail
#

yes

uncut viper
#

aside from making them romanceable for 14 hearts, that's not something you can do with content patcher

faint grail
#

But you can change the heart limit without using the content patcher

uncut viper
#

anything is possible with enough c#

reef kiln
#

Is the trout derby shop editable with CP? Does it count as a shop? Can I add stuff to the prize list?

brittle pasture
#

no

reef kiln
#

Shoot, I was watching a YouTube video and the person said they wanted to mod that did that, and I thought, that's a really good idea. Oh well.

ornate locust
#

hard-coded trout

brave fable
#

largemouth players 🥱

lucid iron
#

roundabout way would be to simply make a shop that takes tags

tender bloom
#

you just repeatedly interact tho right?

#

like you don't get a choice about prizes

lucid iron
#

yea so

tender bloom
#

(i mean you get the choice between redeem and no redeem, not pick which prize)

lucid iron
#

make a separate vending machine

tender bloom
#

so it's all secretly questions, not even shop format at all

reef kiln
#

Correct, I cycles through the same 10 prizes in rotation

ornate locust
#

spreaking of, goddamn but the wall fish prize is huge

lucid iron
#

trout is bigger than pig

reef kiln
#

They are not even very good prizes. It would be nice to edit and add to the list. A vending machine would work I guess as a work around. I will think about it.

tender bloom
#

it's BIG trout

ornate locust
#

I wanted to put one up on a wall, but that'd take up way too much wall

#

on a map, I mean

tender bloom
#

i put them on the wall so i don't have to store them

#

i am not a good decorator

lucid iron
#

just get more wall

brave fable
#

is this a call for resident evil block-based inventory systems again

tender bloom
#

whenever i get unwanted wall art i just slap it on an out of the way wall

#

same for furniture

ornate locust
#

I did this instead

#

slap a trout on some driftwood on a plaque, bam

#

and it's a rainbow trout, so it's shinier

#

I was seriously about to see if I could add it to the prize pool but welp

uncut viper
#

you can add it to the prize pool, if you just overwrite the Data/Objects entry for something else to completely replace it SDVpuffersmile

brave fable
#

as you merrily do

ornate locust
#

I guess I could overwrite the huge fish :V

latent mauve
#

If someone's super bored and cared to look into the code, it looks like the Trout Derby shop calls Action TroutDerbyBooth

uncut viper
#

it doesnt matter. its just a list of items it generates at runtime

latent mauve
#

Ah, I see

uncut viper
latent mauve
#

I wasn't sure if there was a way to even find the generated items

uncut viper
#

same with the squidfest, more or less

#

all the Action does is bring up the question dialogue

#

to ask if you want rewards, an explanation, or to leave

latent mauve
#

gotcha

rancid musk
#

@final arch Hey there! I'm just looking into mods that will have compatibility issues with the yet unreleased Better Game Menu when I release it at the end of the month, and World Maps everywhere is on my list.

I'm reaching out to let you know and offer my assistance if necessary. From what I gather, that mod isn't open source, but I'd be happy to try my hand at writing a PR if you do publish the source. Otherwise, I'm glad to answer questions about my API and work with you and anyone else to get compatibility fixed with everything.

latent mauve
#

Then yeah, seems like a custom exchange counter would be the thing to do

#

I was pondering the option of a trigger action to tack an AddItem on like a bonus prize if there was a way to connect those, but my brain can't parse that right now either.

uncut viper
#

tbh just replace the Action TroutDerbyBooth with Action OpenShop and replace the question dialogue entirely

latent mauve
#

yeah, just remove the prize randomization element and make it a choice

#

Which then lets you add items since it's a shop

uncut viper
#

yeah, with a tradeitem

#

i dont think most people would really care about the Explanation part of the current question dialogue

rancid musk
#

(Also Button I got bored and wrote a PR for Special Power Utilities lol, it's so simple)

uncut viper
#

they probably dont need it if theyre installing a mod for more derby rewards

latent mauve
#

Even if they did, you might be able to put a very brief Explanation in as the shop dialogue

#

Or just make it a sign next to the stall

uncut viper
rancid musk
#

It's there now, you might not like the code style part, but that's easy to clean up 😄

uncut viper
#

i dont even like the code stylef or the parts that i wrote anymore so i might just be lazy and leave it

#

SPU is old im not happy with any of it lmao. due for a rewrite at some point

final arch
uncut viper
#

("old" by my standards aka i wrote it when i barely understood C# stuff)

#

(or best practices for... most things)

rancid musk
rancid musk
uncut viper
#

tbf, 90% of it is copied from the collections page

rancid musk
#

Ah yes, the worst performing individual page of the game's menu system 😄

#

lol

uncut viper
#

in fact the draw() function might be entirely copied from it, save for the unlockable bundles compat

#

tbh id like to rewrite it with Stardew UI at some point

ornate locust
#

the ultimate power of being able to mod away anything that mildly bugs you

rancid musk
#

Alright. Wrote a few PRs tonight and released a new build of BGM with a few fixes and a new feature. Time to relax and do nothing the rest of the night.

fierce vault
#

Any thoughts on whether bad dialogue responses to npc questions should be first in the list or not? I think it would be funny to have it as the default, but I could see how it might upset players who accidentally tap it and then feel like they need to resart the day. And where do you think the best option should be situated?

tame lion
#

anyone‌ knows which mod support using Context_Tags to make cooking recipes?

ornate locust
urban patrol
#

does anyone know if there's some kind of issue with moving NPCs only one tile on the x axis during events? i've run into this issue during two different events now, where he just decides to keep moving for no reason. he does this with and without the y-axis move following it.

https://smapi.io/json/content-patcher/3bc5495b68554f92a3cd5921e268dabf

relevant bit: /move EdwinPayne -1 0 2/move EdwinPayne 0 1 2/proceedPosition EdwinPayne/animate EdwinPayne false true 120 19/pause 1500/

vernal crest
#

positionOffset problem, I think.

#

Do you warp him to reset him after using positionOffset and before using move?

urban patrol
#

oops sorry, this is for the 7 heart event one--i don't use positionOffset during it

#

although that will definitely help solve it for the 2 heart one, thank you

#

i have no idea if this is related, but i also noticed that after the event, Charles ends up in HaleyHouse for some reason, even though that's nowhere in his schedule on any day

vernal crest
#

Ah right sorry on mobile so it's hard to read the scripts.

urban patrol
#

no worries

#

would it be easier if i sent a word-wrap screenshot for you?

vernal crest
#

This is probably not related but you shouldn't need to use proceedPosition because move pauses the event while moving by default.

urban patrol
#

oh okay cool

#

i can try it with that taken out

vernal crest
rancid musk
#

... I just found a content pack mod that is shipping a DLL file with no code in it, lol

versed wyvern
#

It looks like he tries to move south for a single frame before walking into the bookshelf, I dunno if that's relevant ThinkO_O

urban patrol
royal stump
urban patrol
royal stump
#

ah, yeah, I see it on the wiki now, my mistake

#

looked like a wordpad formatting thing SDVkrobusgiggle

urban patrol
#

haha

vernal crest
#

You could try putting a pause in front of and after the x=-1 move command, see if that affects anything.

urban patrol
#

alright one sec

#

any length, or a significant amount of time?

vernal crest
#

Significant enough to make it clear what command is happening at each point.

uncut viper
#

(SDVpufferthinkblob was Item.ConsumeStack(int amount) a thing added in 1.6.9?)

#

(sad, decompile repo-less button)

rancid musk
#

Think that was 1.6 in general any not .9

urban patrol
vernal crest
urban patrol
#

let me go fix all of those in case that's the issue

uncut viper
#

hm. i guess maybe MuseumMenu just got updated to use it in 1.6.9 instead. i was goin side by side with my museum framework menu and noticed it was different now

urban patrol
#

what about with breaks?

uncut viper
#

(well i say now. it would have been different for months. but i last worked on this before 1.6.9, so)

urban patrol
#

"blah blah#$b#blah blah$6"? or put the $6 after the #$b#?

vernal crest
#

The hashes indicate the end of a line, so they go before the hash that's in front of the $b/$e

rancid musk
uncut viper
#

i dont like orange

#

thats literally the entire reason

brave fable
#

you don't need a decompile repo, you just need to have decompiled the game every time it updated 😌

uncut viper
#

decompile repo at home...

brave fable
#

exists in 1.6.0.23100, but not in 1.5.6

rancid musk
#

You could probably just... ask for access anyways. I mean we know you've made mods, and you've got the level.

uncut viper
#

poor museummenu forgotten til 8 months later

brave fable
#

i've tried that already hahah, you do actually need the mod author role to get repo access

#

they're wise to our ways

uncut viper
#

i remember reading at one point a Pathos message that said there can be exceptions added to the list however because its synced with the wiki or smth its a bit extra work to keep the exceptions in check, and i didnt think it worth giving Pathos extra work when i dont ever need the repo

#

(the message was also before my time i think, too, so that might even be out of date anyway and exceptions might no longer be offered)

urban patrol
vernal crest
#

Is it his first move in the event?

uncut viper
#

oh museummenu actually changed more than just that too... functionally equivalent but still changed. interesting

royal stump
#

SDVpufferlurk fwiw, public Item ConsumeStack(int amount) was added in 1.6, but changed signatures to public virtual Item? ConsumeStack(int amount) in 1.6.9, which is also when museummenu started using it, yeah

brave fable
#

if anything the workload's tripled since then

urban patrol
uncut viper
#

probably why museummenu (and others i imagine) started using it now, instead of decrementing heldItem and checking for stack < 0 to become null

#

makes things easier for sure

dusk mulch
#

yk i wonder how the NPC's see us modders, watching us warp and twist their world to our whim

vernal crest
urban patrol
#

time to learn how to use that one lol

tidal stone
#

the layer in tiled go down to up right like
Always front
Buildings
Front1
Front
Back1
Back

vernal crest
#

Easier than it first looks for just one small movement, though if it fixes the issue for the left movement you could then add the Y axis walking and get rid of the down move.

vernal crest
tidal stone
#

ohh that might be why things are being weird about layers then

vernal crest
#

I don't know if their order in tiled affects how they work in game but it's most useful to have them in the order that the game uses them regardless I think.

#

Because then it's a built in reminder of how their draw order works.

uncut viper
#

(man refreshing my memory on my museum framework has made me realize just how badly timed for me the halloween mod contest was haha. i was like... 1, maybe 1.5 little steps/features away from it just being done)

brave fable
#

on the plus side your halloween mod did turn out amazing tho

urban patrol
vernal crest
#

Strange. Maybe move doesn't like single tile moves or something, I don't know. I don't think I've heard of that being an issue before but maybe it is just if it's the first move in an event or the first after a faceDirection or something.

urban patrol
#

maybe i'll write a fake event to test it lol, because that's so strange and i want to know why but don't have the knowledge to puzzle it out from code

urban patrol
dusk mulch
#

You have got to be kidding me. Why is there no dialogue key for Location X_Y Hearts

urban patrol
vernal crest
dusk mulch
urban patrol
vernal crest
dusk mulch
vernal crest
#

You can put schedule strings anywhere but I don't know if you can use an existing dialogue key inside a schedule as opposed to writing a key specifically for the schedule.

dusk mulch
deep cypress
#

How do you figure out if the mouse is hovering over a certain item?

vernal crest
tidal stone
#

I need to set up central station as a mod dependancy at some point but idk if i should do it last or not

dusk mulch
deep cypress
#

Basically, I am trying to figure out how to figure out if the cursor is hovering over a crab pot or not.

tidal stone
#

ill set it up after i make sure these 3 outdoor maps look correct then

#

ok time to set up

dusk mulch
#

Should I be mean and add 1 line of random scary text?

latent mauve
tidal stone
#

Pathoschild.CentralStation_TicketMachine <x> <y> [networks]
anyone know about map poroperties /and or central station and know how to input this?

#

idk how to break it up for the custom property thing

#

wait i think its network?

#

maybe imma try it

latent mauve
#

Networks is Boat, Bus, Train, or multiple networks.

royal stump
# deep cypress Basically, I am trying to figure out how to figure out if the cursor is hovering...

Literally speaking, the game seems to do it like this:

Vector2 position = ((!Game1.wasMouseVisibleThisFrame) ? Game1.player.GetToolLocation() : new Vector2(Game1.getOldMouseX() + Game1.viewport.X, Game1.getOldMouseY() + Game1.viewport.Y));
var obj = location.getObjectAt((int)position.X, (int).position.Y);

But depending on context, you might want to try one of these:

  • Patch StardewValley.Object.hoverAction() and check the object ID to see if it's a crab pot
  • Call farmer.GetToolLocation() to get the tile the player is targeting (limited to their click/tool range), then location.objects.TryGetObject(tile, out obj) to check for an object there and ID it
    (notably, getObjectAt and such will prioritize furniture over "normal" objects)

Though having said all that, hoverAction might only get called when something is in range, too. SDVpufferthinkblob If you need screen-wide support, just checking the mouse variables may be the way to go.

tidal stone
#

im trying to set up my own ticket machine and i feel so silly lol

latent mauve
#

Which networks do you need? Is it a bus stop, a train stop, or a boat stop?

tidal stone
#

bus stop

#

i cant figure out how to do tile specific properties

latent mauve
#

So you'd do something like Pathoschild.CentralStation_TicketMachine <x> <y> Bus as the map property

#

With x and y being where you want the machine to spawn

tidal stone
#

would this mean i dont need to put a machine down or would it be just information version of the machine

latent mauve
#

And for a tileData object, you would need Action CentralStation Bus if you wanted your own sprite instead, I think. Map property is easier if you want the Central Station default sprite.

#

I think the Map Property makes the machine appear.

tidal stone
#

time to find out if i did it right XD

#

ies

latent mauve
#

?

tidal stone
#

i was keyowrd searching something my bad XD

latent mauve
#

LOL

tidal stone
latent mauve
#

You have an extra { }, around the "ContentPackFor" data

tidal stone
#

oh, thank you

latent mauve
#

Also just FYI, explore is missing the final e in your description

tidal stone
#

im wonderful as spelling

#

possible reason for errors (i have been misspelling my unique id for )

#

i really chose my antiword

#

im so confused

#

what goes in the 'example' slot of the words

#

i must do research

versed wyvern
#

I think it's because you misspelled Neighborhood in your manifest's uniqueID?

tidal stone
#

i fixed that

#

still getting this message 😔

#

i think the id it wants isnt complete

#

because it says "example.modID_stopID"

#

so example. must be something i just dont know what

uncut viper
#

your id has a slash in front of it for some reason

tidal stone
#

oh is that not supposded to be there ill remove it then

#

maybe thatll make it work

uncut viper
#

"Example.ModId" is just an example uniqueid

#

Author.ModName, Example.ModId, KandiKraze.TheNeighborhood

#

all unique ids

tidal stone
#

oooooh

dusk mulch
#

just got dark mode extension, the wiki is so much easier on the eyes

tidal stone
#

HMMM, it doesnt make you go directly to the central station first, not what i wanted

#

tme to read the guide again

dusk mulch
#

If you click on your stop then it will take you directly to your stop

#

Not to the station

tidal stone
#

i mean i want them to go to central station first

#

then my stop

dusk mulch
#

You can't do that.

#

Like... unless you go into the CS mod and edit it, you can't.

tidal stone
#

yes you can i think, theres code for it

#

in the mod author guide

dusk mulch
#

That is to go to the station, which just has NPC's and shops.

tidal stone
#

no if you got ot he station window with the red ropes

#

you can see more stops

#

i used it for stardew aquarium

dusk mulch
#

The station window with the red ropes?

tidal stone
#

when i was playing

#

yes

hard fern
#

I do remember hearing something about how the stops work in central station, related to this, from pathos

uncut viper
#

what have you put for your networks?

tidal stone
uncut viper
#

as i understand it, if your Stop entry has, say, "Bus" listed in its Network field, then any bus can go directly there

#

without needing to go to Central Station

tidal stone
#

oooh

uncut viper
#

but if you tried to get there from Willy's boat, thats on the Boat network, so you would need to go from the Boat to Central Station

#

and then from Central Station to the bus ticket counter or w/e

#

and go to your stop

#

if your location name is listed as an option when you click the ticket machine, you're goin directly there

tidal stone
#

id like for it to only be through central station so it feels more immersive but thats just me

dusk mulch
#

Well when was the last time you had to go to a station to catch a bus? Most of the time you just go to a bus stop.

tidal stone
#

also person this is the indow with the red ropes

dusk mulch
#

Ohhh the red ropes

uncut viper
#

in the future, there are plans to be able to define your own networks

#

which could help you achieve requiring Central Station first

hard fern
#

I have gone to a train station to take the bus

#

(don't ask 😭)

tidal stone
#

its working

dusk mulch
hard fern
#

???

#

Why

#

I need the bus

dusk mulch
#

you were defeating my point

hard fern
#

Nothing i can do about that

dusk mulch
#

nevermind

uncut viper
#

(i think there was a /j there)

#

(just hidden)

hard fern
#

I didn't see any?

uncut viper
#

im saying i think Person was just joking that you shouldnt say it bc it makes them wrong

hard fern
#

😅 it's all of way too late at night im too tired to joke...

uncut viper
#

i.e. the hidden invisible "/j"

hard fern
#

Nah, im still up to brainstorm stuff

#

Since ideas always come wnd go

dusk mulch
#

well can you help me brainstorm dialogue for my NPC /j

#

im running out of ideas

hard fern
#

I can't dialogue to save my life

dusk mulch
#

real

hard fern
#

I think you're out of luck 😭

dusk mulch
#

😭

hard fern
#

All i really know how to do is make maps

tidal stone
#

how do i add a tile property to tiled

dusk mulch
#

and you do a great job at it

tidal stone
#

i wanna add a ticket machine so you can go back to the valley XD

dusk mulch
latent mauve
#

The capitalization is important there

#

(to make sure it's right, just grab any object from another map and change the properties on it)

#

Action properties typically need to be on the Buildings object layer

latent mauve
#

LOL, was just pre-empting because the ticket machine is an Action tile property

tidal stone
#

when i drag across the tile nothing happens with the tool

dusk mulch
#

On an object layer?

tidal stone
#

ye

dusk mulch
#

Is the layer locked maybe?

tidal stone
#

no

dusk mulch
#

Make sure the layer is visible

tidal stone
#

wait i think i was using the wrong square shaped tol something happened

vernal crest
#

The correct tool is called Insert Rectangle

dusk mulch
#

Make sure the square is exactly covering 1 tile, if not then go to View>Snapping>Snap to grid

#

then redo it

#

(I shouldve mentioned that earlier)

#

anyway i have to go test my mod

#

if you have anymore trouble people are here to help

tidal stone
#

i put in the custom tile property but im not sure its working because nothing comes up when i try to click it in game but im p sure i put in in right i think

unique sigil
# tidal stone i put in the custom tile property but im not sure its working because nothing co...

Did you draw the TileData object manually or did you copy it from an existing vanilla map? fireredlily has suggested to do the latter earlier, please follow that to minimize mistakes, if any

You can open a vanilla map, make any of the object layers visible (the ones with a pink icon), and then copy and paste any of the TileData objects there to your map and edit the properties on your map

tidal stone
#

i might have deleted it on accident

#

wait can i transfer between the maps

unique sigil
# tidal stone wait can i transfer between the maps

You can copy and paste stuff between different .tmx files, yes

However I don't recommend copying things from a Tile layer (blue icons) to another .tmx file, because you can cause duplicate tilesheets to appear in the tilesheet pane. Stuff from Object layers are fine

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Enterprise, with 22 C# mods and 6 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

uncut viper
#

(while i dont know the cause of your range token error i do wanna say i did notice you're using Wen for wednesday dialogue but it should be Wed)

dusk mulch
#

Oh shoot, ty!

proud wyvern
#

Wendnsndayn

hard fern
#

Wed nes day

dusk mulch
hard fern
#

(i dont, not a single bit)

vernal crest
#

It might be giving the error because your default.json isn't loading

dusk mulch
hard fern
#

(im bad with references to popular media. Im like your grandpa who asks what a fork knife is)

uncut viper
#

it would just be giving a no translation found if that were the case

vernal crest
#

Your NPCs.json file also isn't loading (I don't recommend using an apostrophe in a file name. Also you shouldn't apostrophise a plural of an initialism - but that second point is just about grammar lol).

uncut viper
#

that error is before a patch reload

hard fern
#

(would it be correct if you were to say "an npc's something")

uncut viper
#

(i do still concur about not using an apostrophe in it though)

dusk mulch
tidal stone
#

im getting closer you guys, now it lets me click the ticket machine but it gets mad

uncut viper
#

the file name is no longer NPC's.json?

dusk mulch
uncut viper
#

did you change that before or after this log?

tidal stone
#

fixed it woo

dusk mulch
#

After

#

I assume you want a new log?

uncut viper
#

it cant hurt, i just thought that if you did that before this log it would mean you were editing the wrong file

vernal crest
hard fern
#

Got it

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Enterprise, with 22 C# mods and 6 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

uncut viper
#

can you temporarily comment out every entry in your willow dialogue except for Mon and reload

dusk mulch
#

Uhhhh sure

#

ok no error

uncut viper
#

well, time to uncomment out one or a couple at a time til it errors again to see which one it is

dusk mulch
#

let me guess, keep adding in each entry until i get the error?

#

alright

uncut viper
#

you could probably do all the days of the week at the same time since those are basically identical

hard fern
#

My guess is that you're missing a { somewhere or something?

uncut viper
#

i did check them all and it all checked out, and doing a ctrl F for {{ and }} yields equal numbers of results, but its possible one was still missed

dusk mulch
#

i found which one it is

#

"SeedShop_39_19

#

in the 2 heart area

uncut viper
#

hm

#

does Town_18_18 also do it if you comment out the SeedShop one?

dusk mulch
#

let me see

#

No

uncut viper
#

oh

#

{{i18nPierWillow.

#

missing a :

#

second half of the SeedShop one

dusk mulch
#

hold on

#

oml

#

that is such bs

#

thank you for helping me fix it

#

it works now

uncut viper
#

dunno how it lead to the warning being about parsing Random

#

content patcher token parsing internals remain ever a mystery to me

dusk mulch
#

lol same

tidal stone
#

for future reference

#

when i make my npcs for my mod

#

will i need multiple i18n's or just one for all of them

hard fern
#

Technically you can have one big ass default.json

#

Nothing stopping you

dusk mulch
hard fern
#

Also technically you can break it up if you feel like, but all of them need to be in the default folder, and you can't have a regular default.json alongside it

#

Or something

uncut viper
#

if you use folder-based i18n then all of your i18n must be folder-based and vice versa, if you use a single default.json or like es.json then they must all be like that

hard fern
#

That's worded so much better than i ever could

uncut viper
#

one file for all languages, or folders for all languages, no mixing and matching

dusk mulch
#

my first actually well organized mod... it looks so nice...

uncut viper
#

also folder-based i18n wasnt even allowed until october of last year so most mods you see will likely be using single files

dusk mulch
#

I am NOT being bothered to put in dialogue sets for every 2 hearts you get with the NPCs I will cry

#

I am just having the 1 set, thats it

#

wait, im up to the events now! Yayyyy!

#

Wait-

hard fern
#

:)

#

Congratulations

dusk mulch
#

no i still have to make 1 more NPC

#

then i do events

tidal stone
#

im both excited and dreading making my npcs

dusk mulch
tidal stone
#

real

#

idk when i get to my npcs if i should do portraits first or dialogue

#

prob portraits

lucid comet
#

would recommend a bit of a mix - start with the base portraits you know you'll need and want, get a better feel for their personality, then dialogue and add any changes and new portraits needed from events/dialogue :3

tidal stone
#

ooh ok

lucid comet
#

since the details often make a chara feel more alive/endearing imo, and at least for me it's easier to not "force" that

vernal crest
#

I can't imagine doing all of one part of a mod before moving on to another part. I need the variety, plus every part informs the rest so I am always making changes based on something I discovered or decided doing some other part.

hard fern
#

Ive been putting myself in Map Hell for the past

cyan venture
#

how to fix this guys...

#

accept and decline options disappear

#

i dont know why

vernal crest
#

Are you making your mod with Content Patcher?

cyan venture
gentle rose
#

it's an smapi mod changing the house upgrades iirc

#

Is your code on github, rias?

cyan venture
#

is not currently

#

im testing it

gentle rose
#

could you push what you currently have and send a link? and I'll have a look

vernal crest
#

I haven't looked at doing questions with C# yet. I should though, that seems like something I could grasp.

cyan venture
#

can you wait about 20mins

#

im having dinner now

gentle rose
#

np, ping me when you do

rigid musk
gentle rose
hard fern
#

No not multiple

#

But multiple jsons for your i28n

gentle rose
#

(or you can practice finding it yourself and ask if you run into anything, ofc, if you want to do it as a learning exercise)

rigid musk
#

catpeek how would that even work

lucid iron
#

You can have default folder

#

Toss yer jsons in there

gentle rose
#

Squint do I have the energy to look at Smart Person Code rn

rigid musk
#

Iro you are a smart person

vernal crest
gentle rose
#

lies and slander

rigid musk
gentle rose
#

oh yeah, it looks like an implementation of questions. Interesting.

lucid iron
#

As for rias problem they don't have to make new responses right

#

Just skip prefix the existing response

vernal crest
#

Welp if that's what questions look like in C# I was wrong about being ready for them xD

gentle rose
lucid iron
calm nebula
#

Tbh I'm surprised editing the dialogue line doesn't just work

#

It's very tall, maybe a layout issue

calm nebula
gentle rose
#

I refuse to use functional programming libraries because they remind me of how much I prefer functional programming

#

a manual wrapper may be less efficient but so be it!

lucid iron
#

But functools is built-in

#

C# has foldr and friends already

#

It just doesn't have curry

cyan venture
#

here is my spaghetti code

gentle rose
#

or worse, redownload ghc

gentle rose
cyan venture
#

I think while I was sleepy I wrote something.

gentle rose
#

there's a few changes that need to be made unrelated to the bug before you publish, but I'll mention those in a sec

#

in your prefix for GameLocation.houseUpgradeOffer(), you call Game1.drawObjectDialogue(offerMessage); at the end, but the original method uses GameLocation.createQuestionDialogue

#

so basically, you aren't asking a question rn at all

cyan venture
#

hmm

#

but it was fine

#

i think it because of dialogue is too long

gentle rose
#

I'm really not sure how it could have been fine

#

you're literally not asking a question right now

cyan venture
#

because after i added clay and stone

gentle rose
#

if it was fine before, then your prefix wasn't running before afaik

cyan venture
#

hmm nvm let it pass

#

so i need to change prefix you provide right?

gentle rose
#

and add this.createYesNoResponses(), "upgrade" as parameters

cyan venture
#

ill try it later when me and my friend finish this session

brittle pasture
#

anyone here familiar with spacecore's custom properties? there's RegisterCustomProperty but I was wondering how/whether those custom properties actually get serialized to the save alongside the object. I'm guessing I also need to AddField but I still don't see the relation between that and the data I'm saving into the ConditionalWeakTable for the getters/setters

lucid iron
#

A whole feature i never heard of before bolbsun

tidal stone
#

Does the need to mod distract u guys in day to day life /hj

#

It does mee

#

Also question a mod i download frequently and seen packaged with some npc expansion mods is like

#

Custom companion what does that do exactly

lucid iron
#

It let you have non social entities on the map

#

They can follow other npcs

tidal stone
#

Oooh

gentle rose
#

eats ram for breakfast

lucid iron
#

You don't need it for 1.6 though, except for niche case where you also need the anim

tidal stone
#

Ooh gotcha

lucid iron
#

Can simply make antisocial npc now

gentle rose
#

I can finally add myself as an npc without using frameworks, then

#

antisocial and unwilling to change that /lh

lucid iron
#

I wonder what exactly CC does to consume ram

brittle pasture
lucid iron
#

(is trinkets also secretly homf ram and i just have too much to notice)

gentle rose
#

ngl I can't remember if the issue was ram usage or cpu usage

#

(I've never seen trinkets get flagged in any logs so far!)

lucid iron
#

I don't even really understand how to profile c# code so i am just going by vibes 99% of time

gentle rose
#

oh I just know cc because of modded tech support stuff

lucid iron
#

How come you need the field anyways is the thing you ar working with lacking modData

brittle pasture
#

this is the fish pond thing
ideally I want to attach a hoedirt and output chest

#

alternative route is making them invisible and under the pond's top left tile

lucid iron
#

Invisible dirt seems fine to me DokkanStare

#

I thought chest is already the building tho

#

Or at least u can repurpose it

brittle pasture
#

hmmmmm

#

indoor pot inside chest...

gentle rose
#

idea: add all serialiseable data in by adding an inaccessible location and dynamically adding objects in a way that correlates to the information you need to store

lucid iron
#

Maybe the universe is just 1 big chest inside a fish pond

#

Don't pots need like

#

Location entry tho

#

Cus if chest works then just toss that into a global inv

#

Zero chance of weird stuff letting ppl remove secret pot if u do that

brittle pasture
#

I can set its location, but the location doesnt necessarily need to contain it

#

anyway yeah, forgot global inventory

gentle rose
#

a scarecrow on tile x0,y0 correlates to feature x0*width+y0 being set to a certain value. maximal efficiency of chaos achieved

brittle pasture
#

I'll give this a spin, but I might not need that SC dep after all
thanks all

gentle rose
#

(what are you trying to do feature-wise btw? I think I missed that part haha)

brittle pasture
#

fish pond aquaponics, plant crops inside fish ponds

gentle rose
#

ohh I see. ngl using an underlying shadow location might actually work, as terrible of an idea as that is pffft

lucid iron
#

Fish pond indoor location with no actual human door...

brittle pasture
#

I want the crop to respect location/season planting rules though

gentle rose
#

you make a new instance for each fish pond which imitates its location/season. Its state gets used as the state of the fish pond pffft

brittle pasture
#

what if the crop's planting condition checks the location name exactly

#

(they can use GSQs now)

gentle rose
#

you patch the Can Grow Here method to reference the original location SDVpuffersquee

#

"what data structure are you using?"
"map"
"oh, what kind of mapping?"
"no. map."

rigid musk
lucid iron
#

For season u can make the sekrit indoor location Outdoors T

#

Just so u know i don't think this is necessarily the best idea, but it is the funniest

blissful panther
#

@dusk mulch Apparently I did an oopsie. I apparently left MEEP's update key in PEEM... so people using PEEM are getting update notifications for MEEP. SDVkrobusgiggle

You'll just need to change the update key in PEEM's manifest to either be blank, or whatever strategy is normally recommended for sub-mods. Sorry for the trouble there!

tidal stone
#

home again home again jiggity jig

#

now to make more maps

calm nebula
tidal stone
#

!i18n

ocean sailBOT
#
Creating Translation Capability

So you'd like to stop writing all of \"your strings straight in your content.json?\" and/or you'd like the capability to see all of your strings across all of your .jsons?
Introducing i18n!

  • How to make your mod compatible with other languages: stardewmodding.wiki.gg

  • The file where you can put all of your strings is called default.json, and it sits in a folder at the same level of your assets, named "i18n".

  • If you're converting from an older version of the game, there's a converter for ease-of-access.

Not to be confused with {{DynamicTokens}} since these require the specific {{i18n:<KEY>}} modifier

eternal mortar
#

Did I do this correctly? (Sorry im stupid lol)

tidal stone
#

is it possible for doors to go side the ways

#

like if i wanted it to go here

vernal crest
tidal stone
#

or are they straight one direction only

vernal crest
# tidal stone

Not in vanilla. Rokugin's door mod might allow it, let me find it.

#

Nope, no sideways doors there.

tidal stone
#

all good i can redo the room a bit

vernal crest
#

There was a mod for it way back in 2019 called Better Doors but apparently the unofficial update for that is broken now.

tidal stone
#

😔

lucid iron
#

What would sideways door look like

vernal crest
#

The actual door? Like this probably. (Images from Better Doors Nexus page).

lucid iron
#

Oh the anim goes backwards then i see

tribal ore
#

Having more trouble with marriage dialogue priority. I assumed that stuff like funLeave/funReturn and "<season>_<day>" would have a higher priority than the rest of the marriage dialogue. But I'm getting OneKid lines instead of either of those options?

#

@vernal crest Btw, your fix from yesterday for the q/r stuff worked!

lucid iron
#

Did you have a kid

tribal ore
#

Yes!

#

Does OneKid just clobber everything else?

#

Including <season>_<day> stuff?

lucid iron
#

Yeah it gets queued after the birth event

#

Does it persist past the first time you see it

tribal ore
#

Hmmmmm. I'm several days past the birth event now. How long is the queue?

#

And after the queue clears, what happens?

tiny zealot
#

looks like five days
./StardewValley/Events/BirthingEvent.cs: spouse.daysAfterLastBirth = 5;

tribal ore
#

Oooooh, interesting!

tiny zealot
#

in marriageDuties, it checks for that value >= 0 to set kid dialogue. overrides a bunch of stuff (decrements after checking)

lucid iron
#

Baby brained

tribal ore
#

But will the onekid stuff show up again after the birth event period is over?

calm nebula
#

Do the spouses literally only talk about kids the first five days

#

Smh

tiny zealot
#

besides the "just had a baby" period, looks like a 7% chance to get OneKid or TwoKids, as appropriate

tribal ore
#

Nice, that is really really helpful

#

Means that I don't have to overwrite kid dialogue as much as I thought I would

#

I was just suddently getting only "baby this" and "baby that"

#

xD

tiny zealot
#

pretty standard if you just had a baby, i think! SDVpuffersquee

tribal ore
#

Absolutely. I just didn't know how long it would last. Thought it was permanent

thin plover
#

Question regarding the quarry - my initial attempts and searches haven't proved fruitful: if I want to prevent trees from spawning, does it use tile properties of the mountain map? I've tried setting NoSpawn Trees, NoSpawn All, and CanPlantTrees F on the dirt tiles, but random tree seeds still seem to sprout. Are spawns of the trees (and the ore, for that matter) controlled by another file?

tribal ore
#

Oh! One more question in case I still have ichor here. Does <season>_<day> normally outrank funLeave? Or is it the other way around?

#

I'm taking notes and might update the wiki later, since MarriageDialogue priority isn't as well documented as normal dialogue

tiny zealot
#

it should be checked in the order listed in the table on [[Modding:Dialogue]]

tiny zealot
#

OneKid/TwoKids jumping to almost top priority right after giving birth is oddly omitted. may be new

cyan venture
#

i have problem with dialogue overwrite

tribal ore
cyan venture
#

Error processing house upgrade: Microsoft.Xna.Framework.Content.ContentLoadException: Unable to parse string path: Thank you! I'll get started tomorrow. I should be finished in around 4 days.
at StardewValley.LocalizedContentManager.parseStringPath(String path, String& assetName, String& key) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\LocalizedContentManager.cs:line 855
at StardewValley.LocalizedContentManager.LoadStringReturnNullIfNotFound(String path, Boolean localeFallback) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\LocalizedContentManager.cs:line 675
at StardewValley.LocalizedContentManager.LoadString(String path) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\LocalizedContentManager.cs:line 737
at StardewValley.NPC.setNewDialogue(String translationKey, Boolean add, Boolean clearOnMovement) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\NPC.cs:line 5361
at FarmhouseUpgradeConfigurable.PatchHouseUpgradeAccept.Prefix(GameLocation __instance) in C:\Users\Admin\source\repos\FarmhouseUpgradeConfigurable\PatchHouseUpgradeAccept.cs:line 59

tidal stone
#

it took some time but i feel less stupid now, because ik how to do tiledata now

cyan venture
#

is this readable?

tiny zealot
tribal ore
#

Or wait, you mean it will show up in the order listed on the marriage table from top to bottom

#

Ofc

#

Good

#

-1 reading comprehension to me this morning

vital solstice
#

I'm working on updating an older mod, (with permission) I have it working and functioning on 1.6, but the old code uses a lot of "dummy" events in case the farmer skips an event or to add a conversation topic or to change an NPC's appearance for a few days. This wouldn't be a problem and I would ignore it, but it does causes random freezes/crashes.

Like you'll wake up the next day, dummy event will play, and it'll freeze the game so you'll have to close out and come back in. Which isn't the end of the world, but I rather this be a pretty smooth experience for end users.

My question is - is there a way to tell the game an event has been "seen" without actually playing it?

Like I'm pretty sure I can build out a triggerAction file to load, and then target data/triggerActions and then add in whatever I need to update, I'm just 😂 wanting to confirm before I deep dive into this nonsense and may or may not break everything. thisIsFine

tiny zealot
#

yeah trigger actions to mark events as seen, you got it

tribal ore
tiny zealot
#

yes. look into the event command setSkipActions if you need to handle something when the player skips an event

royal stump
#

action can also run a trigger action directly in an event, if something particular to them is needed

tidal stone
#

guess who made their content json mad again

#

is there an order specific way to do entries ro is it like just put in there correctly

latent mauve
#

Depends on where you are putting the entries

vital solstice
#

Thank you for the reassurances! Perfect. I'll start getting on that.

And yea, I can't really run an action in an event if the user skips/avoids the event entirely which was the "need" for the dummy events.

I'm assuming

royal stump
#

yeah, the skippable stuff helps if they actually press the skip button, but not if they can physically avoid the event SDVpufferdizzy

vital solstice
#

Yea bad terminology on my part lol, i forgot for a sec the "skip" button was an actual thing 🤣

tidal stone
#

Ok so i set my data/location to load my interior map and im using a warp tile in my main neighborhood map to go there via door, BUT it says the location wasnt found or couldn't be loaded

latent mauve
calm nebula
#

Look into data/triggeractions

tiny zealot
tidal stone
#

ok!

#

would you need anything else like my content json as well?

tiny zealot
#

(back then you had to make events unskippable, too, if they had required side effects! i don't miss that)

latent mauve
#

It could be an ordering issue, but more likely your tmx or tilesheet preventing the tmx from loading properly

tidal stone
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 6 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

latent mauve
#

Yes, content json where you load the map target and then edit the data/locations entry would also help

#

Ah ha

#

Is the location defined as just FamilyHome?

#

Or is it KandiKraze.FamilyHome (or similar)?

tidal stone
#

yes and also in the warp tiledata as well

#

oh

#

its called FamilyHome.tmx

latent mauve
#

Warps are picky about exact Location names, it wants the Data/Locations entry ID, not your tmx filename

tidal stone
#

ooohhhh

#

so it would want KandiKraze.TheNeighborhood_FamilyHome?

latent mauve
#

As a quick test, you can try debug warp KandiKraze.TheNeighborhood_FamilyHome to make sure it loaded there

#

But yes

tidal stone
#

ok thank you

#

let me try it out 😄

latent mauve
#

If you can warp to it, it exists and is the right name!

tidal stone
#

where do i type in commands i tried smapi console but it said /debug is not a command

latent mauve
#

No slash

tidal stone
#

it still says unknwn command

latent mauve
#

And it goes in the SMAPI terminal window

#

Did you uninstall Console Commands (the mod)?

#

It comes with SMAPI and makes the commands work

tidal stone
#

i dont think so? where would i check

#

OH

latent mauve
#

Mods folder

tidal stone
#

its a mod

#

i did not know

#

XD

#

i thought i deleted some tool that came with smapi lol

#

i was like ☠️ how could i do dis

latent mauve
#

Haha, yeah, SMAPI comes with ConsoleCommands and SaveBackup by default installed in the Mods folder

#

Reinstalling SMAPI will put them back if you accidentally purged them when doing mod spring cleaning

tidal stone
#

aaah i probably deleted them during a mod wipe at some point

#

if it was in the mods folder

#

should i redownload smapi to get the mod back

latent mauve
#

You can just rerun the installer you used before

#

But if you deleted that too, you will need to download it again SDVpuffersquee

tidal stone
#

I did XD

latent mauve
#

For future reference, those mods are packaged in because they're super useful, you generally will not need to remove them.

tidal stone
#

ok it said there was no output

#

so ig it didnt load in even though i put the code in cp for it to load the map?

#

huh

tiny zealot
#

debug commands responding with "sent the command, but there was no output" is normal

#

most commands do not generate output

tidal stone
#

oh

#

well i didnt teleport

#

so ig that would be the one that means that i didnt do it right XD

#

WAIT

#

nevermind it took it a second because i clicked my second monitor

tiny zealot
#

yeah for warp you have to focus back on the game. the fade and warp are part of the update loop, which freezes when the game isn't focused

tidal stone
#

ill change my warp command in tiled to see if i can get that to work with warp KandiKraze.TheNeighborhood_FamilyHome

#

and i also need to edit the interior as it is so dark and i must learn howth to fixeth that

cyan venture
#

guys i cant overwrite Robin dialogue it so annoying sad

#

someone help me

wanton pebble
#

I mean you definitely can

urban patrol
wanton pebble
#

We'll need more information

reef kiln
wanton pebble
#

What dialogue are you trying to overwrite, How are you doing it, And do you have other mods that might be editing that line

cyan venture
#

i want to edit this dialogue

#

which should be

#

Thank you! I'll get started tomorrow. I should be finished in around three days

#

ye this should be this

#

but somehow my mod is delete the dialogue

#

then

#

im trying to use CP

#

even C#

#

but it still error

#

and ye im already try i18n translation too

#

i want edit (Thank you! I'll get started tomorrow. I should be finished in around three days) with (three days) is the days in my mod config

tidal stone
#

what are DayTiles

brittle pasture
ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

urban patrol
#

they’re a bit tricky to set up but i can send my map as an example

tidal stone
#

gotcha so i should set all these coords to my windows 1440zerosalute

cyan venture
#

so i dont have JSON file now

urban patrol
cyan venture
#

oh i think i found it

brittle pasture
#

I don't have the context for what you're doing, but those Robin dialogue lines are just saved in data, so they are easily editable with content patcher

#

or if you're working in C#, an AssetRequested event

tidal stone
#

this is really fun

#

ok i have no idea what these numbers next to the coords are

#

what are the 3numbers

urban patrol
#

the tilesheet index

tidal stone
#

aaah

urban patrol
#

if you hover over a tile it tells you the x and y and index

tidal stone
#

oooh

#

is index the id number?

urban patrol
#

much easier than counting, which i definitely did at first 😂

#

yeah it tells the game where in the tilesheet to look

tidal stone
#

ooh ok

#

i dont understand the correlation yet but i understand the index number

#

how do the numbers correlate to what the command does?

urban patrol
#

you’re setting day tiles right now, right? that command tells the game to go to each coordinate you specify and replace whatever is there with the tile at the index you specified from the hours of sunrise to sunset. you then set night tiles with the night time variant of those tiles

tidal stone
#

mmm oo

urban patrol
#

actually, i’m not sure if you have to set both? i did because it was the only i could get it to work but maybe you don’t have to

#

there’s also window light, which adds that bright window glow when it’s sunny

latent mauve
#

It will change the tile to whatever is at the index for NightTiles, so if you want the light effect without changing the tile sprite, you could leave it the same, I guess.

#

There's also Path layer lighting (the light bulb) for indoor maps

tidal stone
#

yea im sticking it around where i feel light would naturally go

#

do i have to add tiledata to it

urban patrol
#

i don’t think so

tidal stone
#

what doors custom property do, does that make door open and close

latent mauve
#

That makes them have door animations when interacted with

#

As a note, you are limited to doors that open to the left even if you flip the door tile, unless you are using Extra Map Action's CustomDoors property.

tidal stone
#

question on doors

#

does it want just the bottom tile coord

latent mauve
#

I think so (it should be looking for the bottom tile that sits on the Buildings layer), but I can double check real quick.

#

Ok, so yes, it wants the bottom door tile specifically

#

And you also will need to add the Action Door tile property to the same tile as a TileData object

#

(also to prevent confusion if you aren't looking at a vanilla map exactly, doors are set up with the bottom tile on Buildings and the top tiles on Front)

#

The Saloon is my favorite vanilla map to check for Door requirements

#

Although SeedShop isn't bad to check either

tidal stone
#

after i get all the maps done im going to work on npcs one at a time and after each npcs is portraited and dialogues and sprited im going to go through their room and add little notes =in some spots so it isnt just a room with dead items uwu_nod

urban patrol
#

that sounds great! the little interactions with objects in maps are so cute

tidal stone
#

if i put a space in the name of my map ( i want it to not be TheNeighborhood on central and just be The Neighborhood) i put a _ in where thespace is correct?

rigid musk
#

I'm not sure honestly, I think you can just have a space there for the display name - I used a translation token so I don't know for certain though

tidal stone
#

ah

#

OH

#

ui found it

#

im so silly

#

ok the doors are not dooring

#

hmm

#

wait i think i found a solution but i need the doors id on the sprite

#

its so hard to find it

#

found it

#

question about map command properties if anyone knows

#

while the door command gives functionality this command makes it where you need at least 2 hearts to open the door, is this an additional property needed or is this like an alternative porperty

flat sluice
tidal stone
#

also the door command does not make door open and close for me, it just makes them solid doors

urban patrol
#

i assume that would be used for shared rooms like robin and demetrius sharing a room

latent mauve
#

Action Door or Action Door <NPC> is required to interact

tidal stone
#

Oooooh

#

and those i would assume are tiledata thingies not map property?

tidal stone
#

Oh i am sucha bad reader i apolofgize

#

WOOHOO doors

rancid musk
#

Right. I think it's time to tackle Ui Info Suite 2 for Better Game Menu.

tidal stone
#

1 interior map of about eh 15 maps? for my first exterior map is done

twin oracle
#

Hey all, I was recommended to share my mod bug here: https://discord.com/channels/137344473976799233/1347304287755304970

I'm trying to adjust a map mod, but opening and saving it in Tiled, even without making any changes, causes the game to crash back to the main menu when trying to use the map. If anyone can help, I'd be very grateful!

hot gale
#

Because opening it strips the tilesheets from it unless you reassign them

#

afaik

dusk mulch
#

Ty for letting me know

hollow seal
#

hey would anyone here be able to help me figure out why certain mods arent launching?

ocean sailBOT
#

For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).

twin oracle
hot gale
#

Oh, hmm Im not sure then. I havent used Tiled much. What happens if you move the .tmx and open it from somewhere else

lucid iron
#

!tilesheetclimbing

ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

hot gale
#

It should then error with no sheets, you can then add back I think?

uncut viper
#

did you ever save it not from the unpacked content folder, though?

#

if you ever save the map when the tilesheets are not present, even with no changes, it breaks it

twin oracle
hot gale
#

I believe thats incorrect

uncut viper
#

correct, or vice versa (moving the tilesheets into the mod folder temporarily)

#

both methods will work

#

but if it was ever accidentally saved when a tilesheet was not there and it was blank then its broken until you save it when they ARE all present

twin oracle
#

Otherwise I get this ugly thing

hot gale
#

Yeah you have to add the sheets

#

At least thats what I did

#

Once they are added you can edit and stuff, then just move the .tmx

twin oracle
uncut viper
#

!log

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

uncut viper
#

please share an error log then

twin oracle
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on macOS Unix 15.3.1, with 2 C# mods and 3 content packs.

uncut viper
#

yeah, thats the error that happens when you save when the tilesheets are missing

lucid iron
twin oracle
uncut viper
#

place your tmx in the same folder as all the required tilesheets so that nothing is broken when you open it in tiled
then, make a tiny change, and save the map
then undo that change and save the map again
then close Tiled and move the .tmx back to your mod folder (or if it was there already, remove the tilesheet pngs from your mod folder)

lucid iron
#

What I'd do is download this map mod again and start over, following what the command and button said

#

You can check u did it right by opening the tmx as text

uncut viper
#

(the reason for the tiny change is so that it detects that there are changes to be saved ofc to force it to save and recalculate the gids)

#

if it works when the tmx is opened in the unpacked content folder i dont think its a tilesheet climbing issue

#

it would be broken in the unpacked folder if that was the case

#

it working fine in the unpacked content maps folder is indicative that the image sources are exactly as they need to be

twin oracle
#

So, I've got my Maps folder where I've copied a fresh version of the tmx file. When I paste that file into the mods folder, the game works fine. When I open the tmx from the Maps folder, save as and overwrite the file in the Mods folder, then the game crashed back to the menu.

uncut viper
#

dont save it elsewhere

#

save it in the same folder you are working on it in

twin oracle
#

And then move it over to the mods folder after..?

uncut viper
#

i guess that means chu and i were both correct as it is and isnt a tilesheet climbing error bc the tmx you were working in was right, but saving it elsewhere makes that tmx broken due to tilesheet climbing

#

yes

#

always work with your tmx in the same folder as the tilesheets. this includes editing and saving. always save it in the same folder it started in

#

copy it into your mod folder when you're done making any edits

hot gale
#

Damn I made my map mod way wrong

#

It works though? so.. 🤷🏽‍♂️

lucid iron
#

I mean if it loads then it's alright

uncut viper
#

there are a number of ways to make a map

lucid iron
#

The main thing is just don't include the tilesheet in your released mod

uncut viper
#

as chu says if it loads, its a correct way to make a map

hot gale
#

Yeah I just worked directly in my git folder, had all the sheets I needed alongside the tmx, just moved the tmx to my mods folder and it was gtg

uncut viper
#

thats basically the same thing as described here except instead of the git folder its the unpacked map folder

hot gale
#

gotcha

lucid iron
#

Yeah that's roughly what i do as well, the thing that is bad is responding to the tiled prompt to pick tilesheet

#

That gives u ../.. business usually

uncut viper
#

one day someone will make that stardew specific tiled fork

twin oracle
uncut viper
#

ill be honest i do not want to watch a 2min video instead of just seeing an error log uploaded to smapi.io

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on macOS Unix 15.3.1, with 2 C# mods and 3 content packs.

uncut viper
#

and you made sure to actually make that tiny change and save the map to make it recalculate the GIDs?

twin oracle
#

Yes, I adjusted a tile, changed it back, saved to the Content folder, copied and pasted the file into the Mods folder

uncut viper
#

did you save after adjusting the tile and before changing it back? while i cant say for certain how Tiled works, i know its not uncommon for software to detect that nothing is actually different when you save and not actually do anything, and nothing would be different if you changed a tile and then changed it back before saving again

#

and saving between the two steps is always how ive seen others recommend it

twin oracle
#

Is there a way for me to figure out which location is "Invalid tile gid: 9884" so I can try to figure out what is there that might be causing this?

uncut viper
#

are you using any custom tilesheets that are not present in your Maps folder?

lucid iron
#

Did you start from new dl of file

uncut viper
#

your unpacked maps folder

wanton pebble
uncut viper
#

you could potentially look in your .tmx to find which tilesheet has 0 tiles and 0 width/height maybe, though i cant say ive ever looked inside a tmx itself in N++ for this error so im not 100% sure what you;d look for

wanton pebble
#

Here

uncut viper
#

thats what we've already been doing

wanton pebble
#

Interesting. And it didn't fix it?

twin oracle
uncut viper
#

can you send your .tmx in here?

twin oracle
uncut viper
#
 <editorsettings>
  <export target="RemoveDogHouse.tmx" format="tmx"/>
 </editorsettings>

(i have no idea what this is? does anyone more familiar with Tiled know what this is and whether or not its relevant. ive not seen it before)

twin oracle
uncut viper
#

i dont know why its inside the tmx of your UltimateFarm though, idk what that export stuff does

twin oracle
uncut viper
#

you are using custom tilesheets then?

uncut viper
#

since I opened your tmx in mine and it is still missing a tilesheet reference for a daisyniko tilesheet

uncut viper
#

i see. so not relevant then as its not somethin meant to be read

#

good to know, i guess

blissful panther
#

....damn it. SDVkrobusgiggle

uncut viper
#

i see. so not relevant then as its not somethin meant to be read

#

good to know, i guess

uncut viper
#

well now i just look silly

tawny ore
#

Now it seems like @blissful panther is just upset for no reason

blissful panther
#

Suits the name!

twin oracle
iron ridge
#

I am opening this via nano on a phone.. I am so glad tiled saved prettified files

uncut viper
#

i was asking if those extra tilesheets are present in your unpacked Maps folder when you are saving your tmx

iron ridge
#

(Not that it's helpful here, but tiled in theory shouldn't actually need them but it does for some reason)

twin oracle
#

I just updated those files with the ones from the new modpack.. I'll see if that changes anything

#

Damn, same error. I was really hoping that would do something

uncut viper
#

Tiled would tell you at the top when you open it if it cant find them. if it still isnt solved though then unfortunately i have to go and someone else may have to help you if they can, but the gid error is like, 99% of the time because of a missing tilesheet reference

twin oracle
uncut viper
#

when was the last time you unpacked your game files bc thats just a vanilla file

twin oracle
uncut viper
#

no

iron ridge
#

!unpack

ocean sailBOT
#

Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!

uncut viper
#

!unpack

ocean sailBOT
#

Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!

candid stratus
#

the wiki mentions that for editing vanilla maps by adding tilesheets I gotta make sure new tilesheets dont interrupt the tilesheet order but what if I'm making a brand new map? Where does this indexing happen and do I need to worry about the order for a brand new map?

calm nebula
#

You shouldn't need to worry about the order for a new map these days

rancid musk
#

From working on BetterGameMenu patches for various mods, I have discovered that wow, barely anyone puts GetApi<T>(...) calls in a try/catch block despite that throwing if the API can't be cast

#

I guess people expect it to be like x as SomeType casting where it just returns null if it can't cast it? 🤔

lucid iron
#

Wait i thought it just returns null

#

This is news to me bolbsun

uncut viper
#

(i just treat it as "if it breaks in the cast thats something id catch in testing and/or an update to their API in which case i want people to notify me asap)