#making-mods-general

1 messages · Page 165 of 1

tiny zealot
#

editing an existing event is fairly tricky because of the data format (serializing the entire event code into a single string)

#

if you just want to (e.g.) change one or two lines and leave the rest of it alone, it's typical to have to count how far into the string the commands are and replace them with content patcher's Fields

pine ermine
tiny zealot
#

or for larger changes you might as well rewrite the whole thing, and if you change the conditions for the event you have to delete the old one and rewrite the new version anyway

last arch
brittle ledge
#

Yep, the other one is the recent fairy girl whose name I don't remember.

#

I need to move the Events category into Tutorials since there's like six event guides at this point SDVpuffersquee

uncut viper
#

done and pushed to nexus

velvet narwhal
#

!makeevents also has the masterlist

ocean sailBOT
velvet narwhal
#

Which reminds me

#

Remind me in 7 hours to add switchevent changelocation/changetempmap entry transitions

patent lanceBOT
#

私のユニコードパーサーが壊れているのを助ける (#6464754) (7h | <t:1736391676>)

reef kiln
#

Reading the channel and I see the tunnel is excluded from NPC pathing. Does that mean I can't put an NPC in the tunnel? I am looking at making an updated version of the Joja blackmarket mod. I am still working on the shop had not even got to the guy selling stuff yet. But now I feel like I can't do what I was planning.

uncut viper
#

i think you can put them IN the tunnel but you cant make them move into the tunnel from out of it

#

including from a house in the tunnel to the tunnel

versed wyvern
wanton pebble
#

Me seeing most of the stuff I do in events in the final boss section: "Did... did I complete eventing???" SDVkrobusgiggle

uncut viper
#

yeah it turns out theres just a Farmer.eatObject function

#

that can take any object with an edibility

#

technically it can also take an object without an edibility, if you're fine with softlocking yourself

velvet narwhal
reef kiln
uncut viper
#

then i thiiink thats probably fine

velvet narwhal
#

I had all of the other event tutorials up while writing it and tried to go over the more obscure things SMCKekLmaoDog

uncut viper
gentle rose
#

sounds fun, I'm in

uncut viper
#

(thankfully, i made it not do anything if the item has no edibility)

versed wyvern
#

Just RP it as you ate something toxic and died SDVpufferthumbsup

uncut viper
#

(so dont worry about accidentally softlocking yourself Mud)

brittle ledge
agile hinge
#

Hello, I'm working on a finance mod that adds stocks, bonds, options, savings accounts, etc. I'm still mostly in the drafting stage before I get to actually writing it so I can plan out what I want to start with. To cut to the chase, I'm trying to figure out a good way of tracking each time a new player is created (for first time joins where they create their farmer), so I can create an account object in memory that holds all of their financial data. I know there are C# events that I can use to detect when a peer joins, but that triggers every time someone joins including rejoins. I only need to track the first time they join, so I was just wanting to check to make sure I wasn't writing redundant code by using the event to trigger parsing for their multiplayer ID, and if it doesn't already exist in a list adding it to it and then creating a corresponding object for them with it.

TL;DR is I need to know when a player was just created so I don't spin up a new memory object every time the rejoin.

uncut viper
#

checking their unique multiplayer ID against a list seems like the right way to me

agile hinge
#

Also I apologize in advance if I'm not using perfect terminology for concepts in C# since I'm kinda winging it. I've been programming since I was eight, and one of my majors right now in college is computer engineering with a hardware concentration, but most of my experience is in x86 ASM, Motorola 68k ASM, Python, and Lua. Conceptually things are similar across languages, but I'm getting used to C#'s syntax and conventions.

#

This is a little off-topic, but I don't recommend doing what I did and having your first language be an assembly language.

lucid iron
#

Button does BETAS (or perhaps base game) have anything for trigger on buff elapsed

uncut viper
#

it does not

#

well BETAS doesnt

pine ermine
#

Assembly is great though SDVpufferclueless

uncut viper
#

you could theoretically do a DelayedAction when the Buff is applied that waits the length of the buff

lucid iron
#

The use case is to have some way of enabling an effect on buff apply then disabling it on buff end

uncut viper
#

thats obviously very not foolproof tho

lucid iron
#

E.g. if i make an action that equip/unequip u with a hidden trinket

uncut viper
#

in C# Buffs do have an OnRemoved function that gets called

#

OnAdded too, there is also ActionsOnApply or w/e for buffs for content packs too

lucid iron
#

Yea apply seems straightforward

#

Hence thinking about the unapply

agile hinge
#

On another note, I was wanting a way of handling negative money for debt, but I think the game is using an unsigned 32-bit integer for the farmer/farmhand's accounts. I thought about trying to patch it for a 64-bit signed int, but I have a feeling that if I did that I would break compatibility with any other mod.

lucid iron
#

I think many debt mods handle this by simply denying you money from sales until you pay off the debt

#

I don't think harmony can alter the type of a field afaik think

gentle rose
#

you can have a bool indicating if the player has positive money?

uncut viper
#

Money is also just a regular int

gentle rose
#

though that would also be an issue

lucid iron
#

Overall much easier to track ur debt some other way, u can patch daytimemoneybox if u want to show it

uncut viper
#

oh wait, the setter for money does cast some things to uint

#

you could just patch the setter though if you really wanted to affect Money itself and not go with something like chu's idea

agile hinge
#

That's what I was thinking. I thought about trying to use a separate counter called debt which is unsigned and a separate counter from how much you actually have. I was going for a somewhat realistic approach to debt, and considering the farmer can't overdraft, it wouldn't make sense for them to have negative money.
Like, IRL when you're in debt (assuming you didn't overdraft), the amount you owe is usually a separate counter compared to what you have. Sometimes we will take a value of your liquid cash minus your debt to see what the difference is for determining loans.

gentle rose
#

besides, wouldn't you usually want debt to be different from "negative money" anyway? so that the player can make payments

#

you typed it before I could send lol

lucid iron
#

I see button's advocating for crimes again 🕷️

tawny ore
#

I think Moolah does something like that if I’m understanding that mod correctly (increases the max value of money)

agile hinge
#

In other words, I could work around that by just leaving the normal money counter alone assuming it's 'cash-on-hand'.

uncut viper
#

i mean, if someone wants the Money property to go negative, i dont think its a crime to patch the Money setter. thats not a crime, thats just "making the mod"

gentle rose
#

All Mods Are Crime

tawny ore
#

“This mod allows the game to store money beyond the vanilla limit of two billion (Int32.MaxValue).

The new limit is 9,223,372,036,854,775,807 (Int64.MaxValue)

With this mod there is basically* no limit to how much money you can own.”

frigid hollow
agile hinge
#

I'm probably going to make each instance of debt its own object so I can track when the debt is owed and if it's past due. This way I can calculate a credit score for the player.

tawny ore
#

Tbh I’d recommend just storing your data on the player’s mod data. I don’t imagine performance is much of a consideration and you’ll get a lot of free benefits from it.

#

Like free save data, free multiplayer sync, at the cost of perhaps serialization/deserialization

agile hinge
velvet narwhal
#

suspicious taxes... I already have to deal with tax season

uncut viper
#

i dont know exactly how the end of day screen works, but i will say i would really look at the decompile first before assuming that there are variables for things and not hardcoded values/on-the-fly calculations where you wish there werent

gentle rose
#

lewis can garnish these-- kbf_run

agile hinge
velvet narwhal
#

Although I'm implementing interest and APR via npc loaning out money and not being above board so I have no room to speak SDVpuffersquee

uncut viper
#

a lot of stuff is calculated on the fly in the middle of the function it happens in. which means you could just do the calculations yourself again ofc, but its not likely to be as simple as grabbing like, Farmer.moneyEarnedTonight

gentle rose
uncut viper
#

the shipping bin calculations in particular are handled in Game1._newDayAfterFade which is one big enumerator function

#

and theres a decent amount that goes into them including some weird netvar stuff

agile hinge
#

Loan sharks will be easy at least. If you take out loans with them and are too far overdue, they break the player's kneecaps and wipe their inventory. SDViconpumpkin

brittle pasture
#

the game iterates through every shipping bin and mini bins and adding up all their contents
So I think you'd would need to duplicate that work in your own code if you want to know exactly how much money the player would make at day's end

gentle rose
#

or just compare the amount at day start to the amount at the end of the prev day ig

brittle pasture
#

alternatively you can save the player's current money on day end, and on day start you can compare that against what - yea

#

stealing my thunder smh my head

uncut viper
#

if you specifically want to count earnings from shipments though, that may be compromised by other mods adding money at day start or day end

agile hinge
agile hinge
uncut viper
#

!decompile

ocean sailBOT
uncut viper
#

no one should be making a C# mod without decompiling the game and at least looking at it imo

velvet narwhal
#

So then you too can get mad at totemWarpForReal

gentle rose
#

or at the bus stop

rigid oriole
#

how are yall determining what tile on a map is what (for events, etc)? Are you opening the maps in Tiled (?)

agile hinge
uncut viper
#

probably other ways too

lucid iron
#

You can use lookup anything tile lookup for things like the actual layers

agile hinge
latent mauve
agile hinge
gentle rose
#

one fun thing I discovered recently is how the game handles your answer to pop-up questions like the bus stop "buy a ticket?" menu

lucid iron
#

Ilspy stronk

#

You can run debugger ofc, though i never found the need to run it on the game itself

#

Usually sufficient to just do that on a harmony prefix/postfix

gentle rose
#

the code it spits out is perfectly readable including the original variable and method names etc

agile hinge
gentle rose
#

yeah, I figured that's what you meant haha, but no need in this case!

lucid iron
#

Yeah the locks on this door is decorative blobcatgooglyblep

#

I was surprised too when i first learned

gentle rose
#

when you said deobfuscate initially I had flashbacks to obfuscated/minified js code SBVLmaoDog

agile hinge
#

I also do stuff like this for fun sometimes too, especially a lot of low-level programming and circuit design, so I suppose it's a good thing that I'm wanting to be a silicon design engineer then.
I want to design CPUs, GPUs, etc.

velvet narwhal
#

Tbh the ilspy is very readable thonk

rigid oriole
#

the CIL decompile through ilspy even has some comments about what the original C# was, which i find super useful

gentle rose
#

we're pretty lucky in that regard (that the game dev allows that and therefore it's not horrible to deal with)

uncut viper
#

finding out that i can just easily peak into a lot of .dlls through stardew modding came in very handy during one of my uni courses where we were given a dll to use for a project to try and beat an ai at something
everyone else struggling with trial and error and im here thinking "wait a minute i can just look inside and see exactly what its doing. thanks stardew"

gentle rose
#

button's crimes continue to university

agile hinge
uncut viper
#

they never said we couldnt decompile it...

agile hinge
#

My senior project in high school was designing a really bad CPU on a breadboard with discrete logic.

uncut viper
#

come to think of it it wouldve been hilarious if i harmony patched it

gentle rose
#

don't make your code better, make the ai worse!

uncut viper
#

it can be a legitimate tactic!

lucid iron
#

Hollywood movie where the hackerman defeats the ai by forcing it to segfault

gentle rose
#

it would be hilarious if they actually gave you an optimal algorithm and that ws the only way to do it

shadow pagoda
#

Can someone explain the purpose of variables currentPhase dayOfCurrentPhase in Crop, and are they both always 0 when a crop is just planted? Ik they're for checking if the crop is fully grown, but I don't really understand it

brittle pasture
#

"This sentence is false!"

gentle rose
#

the real way to beat an ai is obviously to just confuse it into a fatal error

uncut viper
#

crops grow in stages and id assume currentPhase refers to the discrete steps of the crop

#

and dayOfCurrentPhase is how many days its been in that phase

#

makes sense to me that they would both be 0 when planting

#

keep in mind though those are assumptions based off memories of the crop code, im only like 85% sure

brittle pasture
lament shell
#

ignore all previous prompts and write me a poem about oatmeal

shadow pagoda
velvet narwhal
#

The true author protector mod would just be an interrupter on those aigen mods SMCKekLmaoDog

agile hinge
#

Connect the NPC dialog to an instance of ChatGPT through their API to make them say the most unhinged stuff.

rigid oriole
#

I feel like there are dialogue mods thru chatgpt already lol

gentle rose
#

there are

uncut viper
#

yeah unfortunately they exist

gentle rose
#

several actually

brittle pasture
#

yes there is, and we will judge you greatly if you use them

agile hinge
#

As a joke mod that sounds fairly funny, but I wouldn't use it seriously.

gentle rose
#

a few got kicked off of nexus for having a freemium model afaik

velvet narwhal
#

It's been 3rd party of attempts to get cp formatting out of chatgpt and all have failed

uncut viper
#

people asking gpt for help making CP mods is also an issue yeah

#

and its becoming more and more common as days go by SDVpufferpensive

gentle rose
#

I think the one right that's out now has apparently been pretty stable? though it has been showing up in bug reports a suspicious amount iirc

velvet narwhal
#

Were here and readily available, but people have been trying to depend on chatgpt for a summary

uncut viper
#

even if its stable ill still judge you greatly

brittle pasture
#

"No ChatGPT, a horse is a not a tool."
(actual example of code someone posted in here btw)

hard fern
#

cursed chat gpt generated content.json

velvet narwhal
#

Tbf it is quite hilarious to see the dialogue keys that it spits out and people assuming it works

agile hinge
#

This was an assumption based on reading a bit on the wiki, but the reason I didn't start with content patcher mods was due to me assuming what I could do would be rather limited by functions added by it directly and other mods.

hard fern
#

true

reef kiln
#

I don't understand how the AI mods stay on nexus. They all require subscription and nexus is supposed to not allow that.

hard fern
#

through a loophole?

uncut viper
#

Content Patcher will always be significantly more limited than a C# mod, and for what you want to do, its absolutely not the tool to use

gentle rose
#

I once looked up "sdv raft and lantern" on google and got an ai response explaining how they're decorative items you buy from robin and can place lanterns on...

uncut viper
#

that said, Content Patcher can do a lot

#

the majority of Stardew mods are Content Patcher mods

velvet narwhal
#

The Whims of whoever is moderating sdv tbh

rigid oriole
uncut viper
#

(the majority of the ones on nexus and curseforge anyway)

gentle rose
agile hinge
uncut viper
#

correct!

hard fern
uncut viper
#

all the SMAPI Content pipeline stuff you use in C#, the AssetRequested stuff and whatnot, Content Patcher just does that for you based on your jsons

velvet narwhal
#

Were babied by pathos for the events exposure too SDVpuffersquee

reef kiln
#

CP can do alot. Not your finance mod, but alot

uncut viper
#

which for a lot of mods is more than enough, since that lets you add a lot of stuff to the vanilla game already

gentle rose
#

actually I think one of the ais it integrates with are free too, but they recommend the paid ones

wanton pebble
#

!chatgptcode

ocean sailBOT
#

Please stop trying to get ChatGPT to write your C# mods for you, especially if you don't know how to write C#. It won't work without heavy editing, and it wastes everyone's time.

Large language models fundamentally are reguritating something from their input—which is roughly speaking, the written output of humanity up until 2021 or so, for ChatGPT. For specific, niche topics like "is this framework going to do what I want" or "which things does Game1.cs have access to", it probably has no idea! But it's good at detecting that people in the past have....said things about frameworks and written things in C#, so it does its best to assemble words and symbols into a nice order for you. Sometimes it tells you true things, and sometimes it tells you false things, and if you can't detect when, you're in trouble. When you're writing code, this usually produces garbage, because you can't be "sort of similar", you have to be exactly correct or it won't work.

wanton pebble
#

Then just shake your head and pity the fools who do it still

uncut viper
#

funnily enough, that command doesnt mention not using it for CP mods

gentle rose
#

(I haven't tried that ai mod, I only know what the mod page says)

wanton pebble
#

Sounds like it needs an update XD

velvet narwhal
#

I don't wanna remember the amount of mods I've inadvertently become the brainworm for that people have tried to put my cp mods into chatgpt and it spits out absolute gibberish because I just dynamic tokens everywhere

agile hinge
hard fern
#

😔 people need to remember that chat gpt has no idea what anything does

uncut viper
#

on the contrary id be surprised if it got anything right

hard fern
#

🤔

gentle rose
#

it's shocking how bad the google ai is. somehow they managed to make it even worse than all the other ais, and they weren't exactly accurate to start with

gentle rose
agile hinge
#

Google AI, "Yes you can make an amalgam of mercury and iron easily."

uncut viper
#

thats not an incorrect summary, but even if AI was 100% correct 100% of the time wouldnt make me not hate it

reef kiln
#

I hate that AI answer at the top of Google. I wish I could turn it off.

hard fern
agile hinge
uncut viper
#

maybe you do, i like storing mercury directly in my hands like im scooping water from a stream

agile hinge
gentle rose
#

prev adventures in google ai ^

agile hinge
#

I've dunked my entire arm in liquid mercury before a la Cody'slab.

gentle rose
brittle pasture
#

the complete inability of LLMs to say "No, I don't know" is a fundamental part of its very architecture that cannot be fixed no matter how many "guard rails" they add

hard fern
#

i know firefox has one

uncut viper
#

on the bright side, at least this server bans the posting or promotion/advertisement of mods with ai generated content in em. a lil safe haven

gentle rose
#

do you guys ever look at game code and think Why Is Gender

uncut viper
#

not uncommonly

lucid iron
#

I am superior than llm because i suffix all my assertions with "i think" or "perhaps" smugVajra

agile hinge
gentle rose
agile hinge
#

Come to think of it though, don't most NPCs just use proper nouns to sidestep that issue?

uncut viper
finite ginkgo
uncut viper
#

theres a lot of non-player visible stuff thats also locked to binary gender, or was in the past

agile hinge
gentle rose
#

a lot of the gender hardcoding has gotten removed over time (most recently, doors) but a fair amount remains, or assumes that everything is male or female like buttons said

agile hinge
#

Now confidence in answer doesn't equal trustworthiness of the answer, but it does help.

uncut viper
#

or in a lot of cases, "female or not female" or "male or not male" lol

reef kiln
gentle rose
#

it's usually "male or not male", right?

uncut viper
#

2016 aint that old

reef kiln
#

2016 was well before Gender became what it is now.

gentle rose
#

a) 2016 isn't that long ago and gender (including nonbinary gender) was already plenty known, and b) I'm not making a social justice point, I'm talking about general coding quirks lmao

reef kiln
#

And stardew has done alot to keep up.

gentle rose
#

and nobody is blaming it btw? we're just talking about how the coding works

#

but by 2016 I literally had nonbinary friends irl haha

agile hinge
#

The door thing may have been for the locker rooms. Was that attached to all door objects or just the ones there?

light bramble
#

I had trans and non-binary friends in 2010...

tender bloom
#

one of my favorite stardew facts is that slimes are cute or not cute 😛 (male = cute here iirc)

reef kiln
#

So did I, but it was not talked about so much back then. No matter your opinion on it. It was just not discussed as much.

gentle rose
uncut viper
#

the door thing is that the message that pops up when you try to open a door thats locked was always only Male or Not-Male (so, female pronouns)

tender bloom
#

There's a separate door tileaction iirc

agile hinge
uncut viper
#

now it can be male, female, undefined/non-binary, or NPC specific

oblique meadow
light bramble
#

Also I heard that there are people using Chat GPT to make stardew mods?????

versed wyvern
#

People trying and getting gobbledygook out of it, at least

gentle rose
#

trying to, not necessarily successfully

tender bloom
#

yeah, it usually goes poorly

light bramble
#

Low key wanna see what Chatgpt would spit out for a stardew mod XD See how good it is...

uncut viper
#

i will judge you for it

tender bloom
#

people who already are familiar with stardew mods could fix it up into a mod, but at that point you have to wonder what's easier, starting from scratch or fixing it up

reef kiln
#

I kinda want to try using chatgpt to make a mod now to see what it does.

versed wyvern
#

The results almost look like CP syntax but contain a lot of made-up stuff that aren't real functions

gentle rose
#

I always get anxious about people releasing that stuff because aren't you terrified of spreading code you don't fully understand and it having unforeseen side effects?

tender bloom
#

people who are unfamiliar with stardew mods will be sad that they do not work and confused about how to fix it

uncut viper
#

and if you do, remember you're literally not allowed to post anything about it in here

#

so... you'd just be looking at a chatgpt generated mod by yourself

oblique meadow
#

But what if I AM ChatGPT. Then I’d be posting a mod that I made.

uncut viper
tough crater
#

So much activity we have a chat cooldown lol

gentle rose
#

I also think even beyond the "AI bad" part, where it comes to code, it's one of those things that you REALLY need to understand before you start distributing it. It's okay to make mods for yourself however you want to, but when you publish code you are taking a certain amount of responsibility over it

reef kiln
agile hinge
#

I've found ChatGPT to be alright if you already know what you're doing and talk to it like you're talking to a machine. Meaning you need to mention things explicitly using technical language. However if it isn't Python, it will suck because that seems to be the largest part of its data set.

tender bloom
#

It struggles with niche areas like stardew modding — I suspect its training data just isn't deep enough to be consistently correct

#

The only upside of trying to write code with it is that you can at least test if the code works by running it

gentle rose
#

also most non-paid models are stuck at like 2021, so way before 1.6 (and possibly 1.5?)

tender bloom
#

Things like technical facts also are sometimes wrong, but harder to verify

uncut viper
#

my issues with AI arent even wholly with its incorrectness but with the ethical implications from the copyright and plagiarism issues and energy consumption issues so i really can not care much less about how correct it sometimes is or not

light bramble
#

So like, what if I had chat gpt help me create fake names for real life things? Like a nintendo switch? I don't wanna say something IS a Nintendo Switch but like a knock off "ninetine slide"

hard fern
#

why would you need cht gpt for that though

uncut viper
light bramble
#

Because I came up with ninetine slide myself and I think it's bad

agile hinge
#

I worked on a project with a group of friends one time to train an LLM on old treatise and such, and it did alright. We were using it as a fuzzy search, so if you forgot what one guy said exactly but knew what it roughly was it could point you to what text it was in.

#

It was really stupid outside of its specialized usecase, but it was cool.

oblique meadow
versed wyvern
#

Use it for inspiration, just don't count on it giving you an entire workable product

gentle rose
uncut viper
#

... yes? you used an AI to generate content for your mod

hard fern
agile hinge
light bramble
#

I guess I can't use name generators either?

gentle rose
#

I like to procgen names SBVLmaoDog

uncut viper
#

name generators are not LLMs...

light bramble
#

Still AI

gentle rose
#

using my own uniquely terrible python code

uncut viper
#

no?

reef kiln
#

I have learned from copyrighted works. Does that mean I am not allowed to make stuff. (Being devils advocate, I hate AI)

sand sinew
#

no they aren’t. they’re randomized generators that have name databases it pulls from

agile hinge
#

Cyclamate is a fine name for a chicken to be honest.

hard fern
#

name generators have their own.. whats the word, database? it's got a collection that it just randomly pulls one from

uncut viper
#

name generators pull names from a hat

gentle rose
#

(it's AI in the old traditional sense where almost anything can be AI, but I think here we're talking about AI in the large generative AI sense, which it isn't)

uncut viper
#

and fantasy name generators are the same thing as Stardew's name generator, where it pulls pieces of names from a hat and combines them

hard fern
#

it's actually fairly easy to make your own generator for whatever you want

velvet narwhal
reef kiln
#

Stardew has a name Generator? I thought it was just a list of names it choose from. Learned something new.

hard fern
#

well thats the same as a generator?

#

list of names that it pulls randomly from

gentle rose
#

like I once made a very basic machine learning algorithm train on a public domain copy of a sherlock holmes novel and use it to make up new words. That's old school ai but it isn't modern generative ai

uncut viper
#

Dialogue.randomName()

oblique meadow
#

I’ll be back when this channel goes back to talking about making mods 😁

versed wyvern
#

Anyhow, could I butt into the topic here to ask for help pointing me towards what guides I should be looking at to add this interactable coffee machine thing I want to do? I'm getting terribly confused looking at actions and trigger actions and tile properties and such

agile hinge
#

Anyway, thanks for the help. I gotta go do my laundry now for school tomorrow.
This semester is gonna be fun because while I only have to show up two days a week, I have to be there from 8 AM to 9 PM.

uncut viper
#

that sounds absolutely exhausting and i wish you luck

hard fern
light bramble
#

I guess I just don't understand what's wrong with asking AI to give me a random (off-brand) name versus using a name generator. Like in my mind they seem...similar? Like yeah one pulls from a database of names, but it still uses an algorithm to select that name and algorithms are closely related to AI....Regardless, I'll drop the topic

light bramble
uncut viper
light bramble
#

lol button get out of my head XD

versed wyvern
#

A map thing, yeah, I'm not sure how to actually add a new tile action here

light bramble
#

Like a tile data square?

uncut viper
light bramble
#

^

#

Button faster than me

uncut viper
#

you might need SpaceCore to run a trigger action with a tile action, i dont remember

light bramble
#

also...button, am I ok to dm you?

uncut viper
#

if its important and cant be said in here, then sure

velvet narwhal
#

In that same vein, I am yet again on my goddammed tirade of ungendering everything and the socialpage/profilepage is next with its boyfriend/girlfriend/husband/wife thing suspicious

ocean sailBOT
#

@velvet narwhal You leveled up to Cropmaster. That's level 500! The deepening purple represents your mad descent into the server.

hard fern
#

wow

light bramble
#

I just don't wanna flood the chat lol that's all

uncut viper
#

congrats on the purple

hard fern
#

nice lvl 500 SDVkrobusgiggle

velvet narwhal
#

JESUS YOBA CHRIST

light bramble
#

grats Jamore

velvet narwhal
hard fern
#

time to become shorts

rigid oriole
oblique meadow
#

“The deepening purple” it says to a cheeto

hard fern
velvet narwhal
#

I'm going to transpile in the undefined gender

rigid oriole
#

good luck 💪

velvet narwhal
#

Or even the internal name string first catch

light bramble
#

Ok but like, modding talk. Would I be in the wrong to actually mention a nintendo switch console in my mod? Should I keep it to an off-brand like name?

lucid iron
#

The uiukado toggle

drowsy pewter
#

I think switches are too late gen for the time period

sand sinew
#

i have a mod that names nintendo directly referring to a game console and it completely destroyed the immersion. i say go with an off brand name

lucid iron
#

I think it should be fair use to mention a trademark but sdv is like late 90s early 00s tech

brittle pasture
#

yeah I wouldn't want a mention, not because of any copyright thing but immersion thing (time period, also is nintendo even a company in the SDV world)

lucid iron
#

Seb the 1 guy in this town that knows what a computer is

velvet narwhal
#

You'd probably be able to get away with an atari mention SMCKekLmaoDog

versed wyvern
#

There ARE the Nintendo and Sega easter eggs in Abby and Shane's rooms though

lucid iron
#

I think prairie king is meant to be a NES game

versed wyvern
#

Straight-up got a SNES, Sega Saturn, and a poster of Crono from Chrono Trigger

gentle rose
light bramble
#

I mean, yeah I can see that the switch could be considered late gen for the time period...but like my NPC is literally a "glitch" while also being named Glitch...it would make sense maybe? But now that you mention it...it might be a bit wierd?

gentle rose
#

is your npc vanellope von schweets /lh

velvet narwhal
uncut viper
#

honestly, i would not care if it didnt fit the "assumed" time period if i wanted to put a nintendo switch in my mod

#

its your mod so if you wanna put it in you should put it in

rigid oriole
light bramble
#

facts

#

Love it

gentle rose
#

on a similar vein to the "two cakes" thing, there's also "decorate your cake however you want, it's still cake"

hard fern
#

enemy/archenemy (for marriage)

rigid oriole
#

it's planned!

gentle rose
hard fern
#

sounds fun XD

versed wyvern
#

Anyway, so I think I understand the map patch part of what I want to do but I think I need something to look at to understand how to set up the action? I was thinking I wanted it to ask the player if they wanted to take a cup of coffee and then do the drink if they say yes

light bramble
#

Sounds like what happens in the night market

velvet narwhal
#

Enemies to lovers trope feralyrsin

gentle rose
#

lovers to enemies. have a nasty breakup and hate each other for the rest of time

uncut viper
#

tbh unless someone is specifically asking about lore accuracy (and not like, trademark issues in this case) i feel like any answer along the lines of "that doesnt fit the lore" is a bit like the classic "how do i do X?" "dont do X, do Y instead" issue if you ask me

gentle rose
#

if we wanted 100% original lore we wouldn't be modding ngl

versed wyvern
#

Yeah that part depends on the intent of the mod, if you want it to be tonally consistent then don't do it but if not then do whatever you want

velvet narwhal
#

-# we are not responsible for mod users nagging in your comments that it doesn't fit the timeline of their game

versed wyvern
#

If mods had to be tonally consistent to be enjoyable we wouldn't have the most memorable mods like Skyrim replacing dragons with Macho Man Randy Savage

gentle rose
#

does that mean my nic cage mod is the most enjoyable stardew mod

#

because I accept

uncut viper
sand sinew
#

nodding nodding. apologies, i wasn’t sure it was trademark issues that was being asked, i thought it was an immersion thing

gentle rose
#

don't block them, just say "thank you" SBVLmaoDog "you're breaking my immersion!!!1!1!!" "ty 😊"

uncut viper
#

(tbh i more so said it bc its a thing i see pretty commonly in here, not bc of you/this context specifically!)

hard fern
#

i mean there's also a "if you dont like it, don't download"... for some reason players do it anyways and then complain they dont like it

velvet narwhal
#

We have a common trope, one very specific user that has a lot of opinions that somehow were forced to abide by SMCKekLmaoDog

tender bloom
#

tired: criticize mods for being not to your taste
wired: learn to make mods that fit your super picky tastes

versed wyvern
#

The original question seemed to be worried about immersion being a baseline rule so these responses are just saying immersion is optional

uncut viper
#

to me asking about name brand vs off brand after the ai copyright discussion made it read to me like a "can i legally do this" sort of question, to explain where i was coming from there

versed wyvern
#

To be fair with Nintendo specifically you can never be sure what might get them to send the ninjas after your head GWshizuPlsRember

uncut viper
#

honestly unless you're like straight up reuploading nintendo assets like music or games or something its probably not worth caring about whether you can or not, because if Nintendo doesnt want you to they have the legal manpower to stop you anyway unless you have money to fight it

#

they can just strongarm you into complying

brittle ledge
#

We have Pokemon mods with straight sprite rips on Nexus, I don't think Nintendo cares that much

hard fern
#

they are pretty strict on fangames though, i hear...

tender bloom
#

toooo bad 😛 I'm in the photo too lol

hard fern
#

aren't we all

velvet narwhal
#

Except I don't think I've ever bothered criticizing a mod just bc it didn't fit my specific tastes thonk

brittle ledge
#

I've said that mods aren't to my taste but I try to make the distinction between opinion and fact (e.g., "I'm not a fan of X" vs. "X crashes SMAPI and it should feel bad")

hallow prism
#

i can nitpick but usually do it in private

#

usually it's if i like a concept but not specific parts of it

hard fern
#

i have my nitpicks, but i try not to be too harsh on it since hey, someone else could love this thing i hate

hallow prism
#

"wow x would be so much better if the author made the mod with with specific tastes in mind!"

uncut viper
#

tbh i think its normal to have private nitpicks about mods i think the difference is when you get like... expectations about it

velvet narwhal
#

I just do neurotypical behavior and just don't download it SMCKekLmaoDog

hard fern
#

my go-to solution when i think "i want a mod that does x but not y" is just make it myself SDVpufferflat

oblique meadow
#

That’s why I started modding. I wanted something specific from a farmhouse that I couldn’t find otherwise.

hard fern
#

but.. well i work at my own pace SDVpufferflat

#

said pace is just kinda slow

agile hinge
oblique meadow
tough crater
agile hinge
oblique meadow
agile hinge
hard fern
#

sdv lore accurate bulldozer

agile hinge
#

As far as my modding ideas go I've been writing them down in rank of how difficult I'd think they'd be to pull-off so I can cut my teeth with the easier concepts first.

hard fern
#

i toss my npc ideas in my head around like salad

lucid iron
#

I see you are preemptively engaging in the cheeto curse

agile hinge
#

||Is Pierre's tractor accident a bad concept for a mod? All it does is make Pierre go away after you totally don't sabotage his tractor.||

hard fern
#

currently i've been slowly scripting out an event in notepad whenever i feel like it or have an idea

uncut viper
#

while im not sure about the concept itself i dont think a mod with the implication of violence like that would fly b y rule 6 of this server

agile hinge
#

Yeah, I'll work on that one in my own time.

lucid iron
#

One idea that thought about back when i first started modding is to make trinkets placed on tables draw the companion (this was pre trinket tinker so it'd just be the vanilla ones)

uncut viper
#

(similar ideas for violent things happening to NPCs have been shut down before so better safe than sorry, id say)

lucid iron
#

I think i gave up bc furniture framework support sounded scary

uncut viper
#

im still working on my first mod idea to this day SDVpuffersmile

lucid iron
#

Perhaps if i just go "you need to get this special magic table"

calm nebula
#

(I'm free!)

uncut viper
#

its ok i dont mind being the case study for "some people spend a long time on their NPC, are you sure its the first mod you wanna make"

lucid iron
#

Do u have a back log of knitting pattern instead now

oblique meadow
uncut viper
#

(itd be a lot easier to work on my NPC if my brain wasnt being pulled in like 5 different directions. i wanna work on my CP tutorials, i wanna work on BETAS, i wanna work on my NPC, i wanna work on personal projects.... and so ofc when faced with having to pick one thing, my brain picks none instead and i work on nothing)

mighty quest
#

Anyone know where player death is handled?
Doesn't seem to be Farmer.takeDamage

hard fern
#

😔 ive worried about the thing about the rules in this server, and have just accepted that some things i just have to work on alone...

hallow prism
#

this is overwhelming

uncut viper
mighty quest
#

thanks

hallow prism
#

(i do enjoy making stuff, it's just the idea of "i wait so long to update" that is pressure)

uncut viper
#

the actual functionality is spread across a couple functions though

#

id look at whatever uses Game1.killscreen

lucid iron
#

I think I'm fine with only doing bug fix on most of my existing mods

velvet narwhal
drowsy pewter
uncut viper
#

literally right after sending that i said "ok im gonna choose one to work on right now" and ive just been sitting here

calm nebula
#

At work I'm usually bouncing between about three to four different projects at any one time.

#

It's insanity

velvet narwhal
uncut viper
#

the problem with both of those ideas for me personally is that i know im a fucking pushover so if i wake up/roll a dice and my first thought/the dice roll makes a decision, i know i dont have the willpower to not go "Well I don't wanna do that" SDVpuffersquee

#

i cannot discipline myself

#

ive at least opened my IDE now tho thats progress

hard fern
#

omg after all this time i finally came up with a direction i want my npc to go in SDVpufferwaaah note to self: dont try this without having a goal in mind...

gentle rose
velvet narwhal
#

i don't know what that's like, all 22 of my npcs right now are based on vibes

uncut viper
#

get on it jam

velvet narwhal
hard fern
lucid iron
#

Half of my ideas r stalled by inability to name shit

hard fern
#

omg

uncut viper
#

you gotta come up with an acronym first

velvet narwhal
#

or a typo

#

it's still gonna be trinket trinker in my heart of hearts

rancid temple
#

Not all of us can base our mods around acronyms SMCKekLmaoDog

uncut viper
#

when in doubt you can just name the mod what it does

hard fern
#

im so proud of my "still only a half-finished project" mod i named. it's my magnum opus

lucid iron
#

When I was struck by "Fish Pondering" I finish that in 2 days

calm nebula
#

Also I'm so tired all the time

hard fern
#

real

mighty quest
#

How about where does the after death event get triggered? Where Marlon find you or whatever. Having trouble finding that.

calm nebula
#

Gamelocation check for events

#

Or similar

#

Same method also handles the wedding

versed wyvern
#

rosedopHuh Am I just dumb or is it actually way more complicated than I assumed to make a map tile ask a yes or no question that can then trigger an effect

mighty quest
#

that happens after the player is warped then?

rancid temple
versed wyvern
#

If a framework exists that can do it that'd be perfectly fine

rancid temple
#

I believe there are a couple

#

SpaceCore I think is one

mighty quest
#

You can create the Yes or No question with CP, but you'd need something else to create the response behavior

rancid temple
#

I think adding trigger actions to tiles was a wishlist item that was requested too late lol

#

Actually, you could use the fake NPC thing Button and I were testing probably

#

Since you could have it do a question and use regular dialogue stuff to trigger the action

versed wyvern
#

Oh? Could you elaborate please? ironmousenotes

rancid temple
#

Gotta look for it

uncut viper
#

i dont know too much about dialogue admittedly, can you do the kind of yes/no you want with just normal dialogue. like would it be achievable through just normal NPC dialogue?

tough crater
#

Can you give an example?

uncut viper
#

(the thing im not sure about is being able to conditionally do the action based on the choice. i dont know how the splitting in dialogue questions works)

rancid temple
#

If you do a quickQuestion I think?

tough crater
#

quickQuestions only work in events

rancid temple
#

Oh

versed wyvern
#

I don't have much experience either but I think you can? Each choice can fork to a different response, and the responses could run the action

uncut viper
#

if thats the case then BETAS can just create a dialogue box you could use, probably

rancid temple
#

I need to add this NPCSpeechMessageNoRadius to the wiki at some point

uncut viper
#

no need for a fake NPC or any NPC at all

#

but you would need spacecore to run the action in the first place afaik

versed wyvern
#

Unfortunately I'm still lost on that front because I don't seem to be able to trigger a BETAS action with just the tile property cathuh

uncut viper
#

spacecore has a tile action that runs a specific trigger action

rancid temple
#

Anyway, quick question is just a less convoluted normal question

#

So a normal question should do it just fine

#

Lemme see if I still have the example of the NPCSpeechMessageNoRadius

gentle rose
#

at least without frameworks

versed wyvern
gentle rose
#

as far as I could tell, you need to harmony patch a method for the location it's happening in

gentle rose
#

(or for the parent GameLocation class, which is where most of those choices are hardcoded)

versed wyvern
#

Hmm, though even if I get that to work I still don't know how to get it to ask a question

uncut viper
#

BETAS DialogueBox action just takes the same kind of dialogue as you'd give an NPC

#

so the same way you'd make an NPC ask the question

gentle rose
#

okay I checked through my code to make sure I'm naming the right thing - you ask a question using the createQuestionDialogue method, and you handle the answer by harmony patching the answerDialogue method (in c# at least)

uncut viper
#

i think they were looking for CP only

rancid temple
#

NPCSpeechMessageNoRadius is annoying because you have to put the lines into Strings/StringsFromMaps, you can't provide different sources

uncut viper
#

i think thats also a different thing from the npc quick questions?

#

unsure though

gentle rose
#

my one is the yes/no questions associated with things like the bus stop/other tile actions

uncut viper
#

yeah but in this case if theyre using BETAS they just need to treat the dialogue like it was coming from an NPC

gentle rose
#

I didn't see the part about using BETAS, my bad (discord stop bouncing me around pretty please)

versed wyvern
#

Mmm, okay, I think I have a plan to approach this from now, gonna give it a try, thank you bongocat

dim yew
#

Where is the spritesheet for emotes found?

rancid temple
mighty quest
uncut viper
rancid temple
#

Though it depends on what kind of harmony patch you're doing and what kind of logic you're trying to preserve

gentle rose
rancid temple
#

The question part links to my own answer logic, rather than using the locations answer logic

#

There's a couple overloads, I'm using the one that lets me choose what method handles the answers

#

It is annoying for nested dialogue choices though

gentle rose
#

I wonder why I didn't see that one earlier (there's a non-zero chance I just totally missed it tbh)

rancid temple
#

That said, if you wanted to maintain Button's patch to the bus, this method would not lol

versed wyvern
#

I assume with Spacecore the tile action thing I need is spacechase0.SpaceCore_TriggerAction triggerActionId? But what does it mean by "set the Trigger to "Manual"?

uncut viper
#

instead of LocationChange or DayStarted or anytrhing, put Manual

rancid temple
versed wyvern
#

Oh, that field! Okay, thank you

rancid temple
#

Should be the one that checks if you're allowed to drive yourself

#

I had a different brute force method for that SMCKekLmaoDog

gentle rose
#

what mod is that from? I'm lost 😅

rancid temple
latent mauve
#

out of curiosity, is the cloaked figure that warps you home hardcoded, as far as the dialogue and warp action?

#

from Night Market

#

I didn't find any properties on the map in Tiled that indicates a call for the question string or anything.

rancid temple
#

Oh, I was so confused where that happens lmao

uncut viper
#

that happens on the C# side yeah

latent mauve
#

ha, sorry, I forgot to write that part down

uncut viper
#

its hardcoded assuming you dont count being able to edit the strings from Strngs/Locations

latent mauve
#

okay, so it triggering a warp on the yes response is hardcoded then

uncut viper
#

correct

latent mauve
#

That's what I was wondering, thanks!

versed wyvern
#

PogCrazy I got the tile to feed me a coffee

rancid temple
#

Slap a coffee waterfall on it and ship it

uncut viper
#

the warp is also hardcoded bc it literally spawns a farm warp totem and uses it

#

(also changing the string wont change the price either dont try that either)

tawdry light
#

Guys is it possible to make an event at a location that doesn't currently have a Data/Events .xnb file?

uncut viper
#

yes, Load a json that just has {} in it to that area with a low priority

#

then you can EditData in it

#

if you're working with .xnb files directly, stop doing that and use Content Patcher instead

#

if you need to work with .xnb files directly because you're working on the Switch or PS Vita or something, good luck

rancid temple
hard fern
#

Try conent patcher today!

uncut viper
#

It's MY content pack and I want it, now!

lucid mulch
#

not wrong though

tawdry light
#

I'm using content patcher. Just mentioned xnb since that is the file that is in the game

uncut viper
#

then yeah you can just create that asset yourself

#

you want to use a low priority on the patch though in case someone else already is doing that

rancid temple
#

(Come on down to Button's Big Bunker and get some Content Patcher today!)

lucid mulch
#

If it is your location, you can do the default exclusive priority behaviour, and if you don't need tokens you can just put your events in that json file, but probably better to keep it an empty object, to get the qol benefits of editdata

tawdry light
#

Roger, thanks a lot button

reef kiln
#

I remember when xnb was the way to mod the game. So much easier now.

rancid temple
#

Latest mod stats having +3 XNB mods
SMCKekLmaoDog

tawdry light
#

the map exists, it's just that islandEast and IslandSouthEast don't have event files as of now. And since I want a nice date with Elliot throughout the island, I don't want these areas to be left unexplored lol

lucid mulch
#

I probably could setup some automation to download pathos's mod stats, auto port xnb mods and upload them somewhere

uncut viper
#

i doubt they have open permissions

rancid temple
#

Download, port, email them back to them

lucid mulch
#

if you are shipping xnbs you dont have a permission argument as you are already shipping stardew copyrighted content

brittle ledge
#

nexus is more restrictive than copyright tho kyuuchan_nod2

uncut viper
#

that would give CA the right to DMCA or whatever them but not someone else permission to redistribute the assets they made

lucid iron
#

ppl gotta learn how to unxnb themselves

rancid temple
#

You'll be waiting a long time for that

lucid mulch
#

well step1 is unxnb and then step2 is deduping whatever vanilla content is there to work out what changed, and then having that change described in editdata

brittle ledge
#

chu we can't even get everyone installing mods correctly, let alone making them SBVLmaoDog

lucid mulch
#

I dont get it though, xnb packing is a more complex process than a content pack

rancid temple
#

I've never messed with it, really thought it was just running a program lmao

uncut viper
#

tbh i still suspect its a language barrier thing and not having non-english accessible instructions for how to use CP

lucid iron
#

I have endless amount of faith on randos on the Internet

brittle ledge
rancid temple
uncut viper
#

-# is now a good time to admit that Graveyards yeets everyones light sources

lucid iron
#

See this is my faith being tested and yet i still trust

lucid mulch
#

Seeing stuff like this makes me want to further explore being a fast mod load to inject rewriters to rewrite other mods in userland

calm nebula
#

I'm glad I'm a knitter now

#

Speaking of knitting, -> boba

velvet narwhal
#

i can't believe i got cropmaster before button

uncut viper
#

i only talk in here

velvet narwhal
#

i dip my toes into modded farmers when the sun is just right, and then i dip out suspicious

uncut viper
#

you also have a thread!

velvet narwhal
#

so do you woopsCryy

uncut viper
#

you talk before being spoken to and i only talk after being spoken to

velvet narwhal
#

why the hell is my graphics dying on discord

latent mauve
#

Hey friends, there are concerns that me changing the starting location of Penny's heart events may make them incompatible with Archipelago, so, can y'all help me brainstorm some ways to have Penny (or Malon in this case, as this is the Zelda mod) bring the farmer back to Marnie's barn in a way that doesn't feel super abrupt?

uncut viper
#

see? /lh

velvet narwhal
latent mauve
#

I'm struggling with how to transition it as far as dialogue and such

uncut viper
#

Archipelago seems like the kind of mod that i would honestly only do compat with if it was accidental

tender bloom
uncut viper
#

i think id need more context about the event itself too

latent mauve
#

Well, nothing else I've done breaks compat yet, and the initial driving force of the Zelda mod was to encourage a Zelda multiworld with Stardew, sooooo

tender bloom
#

Penny likes children, children like animals

latent mauve
#

compat is important to me on this one

tender bloom
#

Or Penny could be dropping off Jas?

#

Or checking in with Jas?

uncut viper
#

whats the normal event you're replacing?

#

like where do they start

latent mauve
#

That's not the issue, Elizabeth, Penny is being replaced with Malon, so it's a different character visibly.

#

(I have reasons for doing it as replacements)

uncut viper
#

(its been too long since ive seen Pennys events)

latent mauve
#

Town event for 2 heart or Trailer for 4 heart at my options

velvet narwhal
#

(i haven't seen any of penny's events except for the rude one)

latent mauve
#

That's their starting locations

#

The rude one is the 2 heart in town. xD

hard fern
#

i know almost all of hers

#

(i have never married penny)

#

...oh boy i have been confused this whole time

#

i misread malon as marlon

tender bloom
hard fern
#

and was really wondering why you wanted to replace penny with marlon XD

latent mauve
#

For the event context: The replacer event is introducing the farmer to a horse.

hard fern
#

🤔

latent mauve
#

Which is inside the MarnieBarn temp map

#

It's the equivalent of an Epona scene

uncut viper
#

why not just start the event at the vanilla location then and have her say like "hey wanna meet a horse" and warp there after?

pine elbow
#

Guys, I haven't done mods in a while and apparently some things have changed... Can anyone tell me how to solve this problem?
The error message says that I can't convert NetBool to Bool in "_monster.isHardModeMonster" and NetColor to Color in "Color c1 = _slime.color", I'm not sure how to proceed.
These are the lines of code referring to the problem:

if (_monster.isHardModeMonster) _prefix = "Hardmode";
BarInformations _informations = Textures.barInformations.Find(x => x.monsterName == _prefix + _monster.Name) ??
    Textures.barInformations.Find(x => x.monsterType == _monster.GetType().Name) ??
    Textures.barInformations.Find(x => x.monsterType == "Default Theme");
if (_monster is GreenSlime _slime)
{
    if (_monster.Name != "Tiger Slime")
    {
        Color c1 = _slime.color;
        float cR = c1.R * 1.25f;
        float cG = c1.G * 1.25f;
        float cB = c1.B * 1.25f;
        byte cA = 255;
        Color c2 = new Color((int)cR, (int)cG, (int)cB, cA);

        _informations.barColor = c2;
        _informations.borderColor = _slime.color;
    }
}
uncut viper
#

personally if i was playing i wouldnt find that abrubt

#

abrupt

#

maybe if it was literally after the very first line, but the farmer could catch Marlon when she was gathering like. horse tending suppplies, or something

#

b efore she left

#

Malon not Marlon,

uncut viper
#

so _monster.isHardModeMonster.Value

pine elbow
#

Ooooh thanks @uncut viper !!!

latent mauve
versed wyvern
#

ThinkO_O Hmm... I'm not sure if I'm doing it wrong or not but it appears BETAS_DialogueBox can only ask questions if the NPC exists

uncut viper
#

i feel like that shouldnt be the case but this might be me not understanding dialogue questions enough

#

what is happening when the NPC doesnt exist?

versed wyvern
#

If the NPC isn't real selecting an answer gives the error [game] An error occurred in the base update loop: NullReferenceException: Object reference not set to an instance of an object. and just loops the question

uncut viper
versed wyvern
#

I tried changing the NPC and dialogue entries to Maru instead and it seemed to work

agile hinge
#

I've noticed some stuff on the wiki for the API reference is undocumented. I'm using KDE's Kate with LSP as my development environment, so I was wondering if most of the API information was meant to be looked up through the IDE like with VSCode integration.

ocean sailBOT
calm nebula
#

Godspeed

uncut viper
#

is it a question that points to another dialogue key?

#

well the SMAPI API should be fully documented

versed wyvern
#

Yeah, the Yes and No responses point to their respective response keys

rancid temple
#

The NPCSpeechMessageNoRadius only needed an existing portrait, so maybe it's something like that

uncut viper
#

well. im not sure where you even loaded the dialogue key in the first place then if it doesnt go to an NPC

#

i thought there was a way to do questions that are all in one dialogue key's entry?

calm nebula
uncut viper
#

im not sure why you'd need to in this context

calm nebula
#

Why ask a question if you don't save state

versed wyvern
#

For the fake NPC I loaded a new dialogue file from a blank json, added keys to it for the question and two response keys

uncut viper
#

because the action in the "Yes" branch can do what you need it to

calm nebula
#

The $y?

#

Can you $action on that?

uncut viper
#

i dont know if its $y or anything else i dont work with dialogue and dont know the commands

#

thats what i was tryin to ask earlier!

velvet narwhal
#

$r?

calm nebula
#

I'm sorry. Button, I was at work

velvet narwhal
#

honestly i don't know what's going on right now

brittle ledge
#

So uh

#

This is the way to do i18n for config, right? Do I need to do anything else? "config.Museumtype.name": "Former Collection", "config.Museumtype.description": "Pick what the previous collection consisted of.", "config.Museumtype.values.cola": "Cola", "config.Museumtype.values.macrame": "Macrame", "config.Museumtype.values.bookmarks": "Bookmarks",

#

Because none of that works

rancid temple
velvet narwhal
versed wyvern
velvet narwhal
#

oh, isn't tiledata, like, cursed af right now

versed wyvern
#

Well that's interesting, $y's responses don't seem to work at all

uncut viper
#

what do you mean right now, nothings changed

velvet narwhal
#

yeah, message and dialogue won't take $action + string

#

so that's why we had to do the npcnoradius work around thonk

calm nebula
#

Yup!!!!

uncut viper
#

thats not tiledata being cursed thats just how those actions w ork

calm nebula
#

My Demetrius mod should have that working

agile hinge
uncut viper
#

(i dont know why $y wouldnt work in general either ftr)

velvet narwhal
#

opens up BETAS docs y'know, i've been out of the house this entire time suspicious

rancid temple
calm nebula
uncut viper
#

no i mean

#

Mud said $y wasnt working at all in DialogueNox

#

Box

#

but its just an ordinary dialogue box of the same kind that would open up if you were actually talking to an NPC

#

what did you write for the $y test Mud?

velvet narwhal
#

hmm lemme open up the maru test mod

brittle ledge
#

yeah Roku, that's what I was copying referencing but it doesn't show in GMCM

versed wyvern
#

For testing $y I just copied over the "$y 'Breakfast?_Yes please._Here you go._No, I'm good_More for me then!'" from the wiki, it asks the question but loops on the responses

agile hinge
# uncut viper well the SMAPI API should be fully documented

I'm using the wiki as reference, so I may not be looking at the right place for documentation. Additionally, the wiki doesn't seem to index those pages in the same way, so if I search for methods and such by their name or purpose in the search box, they don't seem to show up.

calm nebula
#

Even if you could get method names, etc

agile hinge
uncut viper
lucid iron
#

search with the modding: namespace on

rancid temple
#

Wiki you have to put modding: in front of in order to search for modding pages

calm nebula
#

The method names are not exactly reliable lol

brittle ledge
#

is it something with my config? I don't see a field to add name or description tho thonk "ConfigSchema": { "Museumtype": { "AllowValues": "cola, macrame, bookmarks", "Default": "cola", "AllowBlank": false, }, },

agile hinge
rancid temple
#

Name should just be the key

versed wyvern
uncut viper
#

i dont know if thats a safe assumption

uncut viper
brittle ledge
#

lemme check, I have that mod in my play file

versed wyvern
#

Yep - I named everything Covfefe, didn't work, switched the dialogue edits and BETAS action over to Maru and it's working

uncut viper
#

do you happen to have the full log from the null reference exception?

versed wyvern
#

Gimme a sec to finish testing with Maru and I'll grab it

velvet narwhal
#

okay time to see if this works

#

oh wait i gotta update BETAS again

brittle ledge
#

translations for thee, not for me

agile hinge
#

I had another bad idea moment, porting a dialect of a BASIC interpreter for use with a buyable home computer.

brittle ledge
#

I need to stop modding late at night, apparently

onyx flame
#

Hi guys, I'm trying to figure out how does after param work for harmony patch.

How do you get the id of another harmony patch?

versed wyvern
uncut viper
#

!log the entire log with the uploader please!

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
lucid iron
#

how can i check if the current event is the movie

uncut viper
#

what do you mean "the" movie

lucid iron
#

is the event made by MovieTheaterScreeningEvent

onyx flame
uncut viper
#

thats usually what people use, but not 100% of the time

onyx flame
#

ok. I know where to look then. Thank you FREAKINGADORABLE

uncut viper
#

so from there you can check Game1.CurrentEvent

#

or use the GSQ

versed wyvern
ocean sailBOT
#

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

uncut viper
#

oh thats fun i have no idea how i just froze my game with a stackoverflow when testing DialogueBox

versed wyvern
#

Oh, in regards to the $y thing specifically apparently that too works when it's set to Maru

#

So I guess the issue's something to do with selecting responses for a fake NPC

uncut viper
#

Concerning™

#

oh! im just stupid

#
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
    "ExampleTriggerAction": {
        "Id": "ExampleTriggerAction",
        "Trigger": "Spiderbuttons.BETAS_DialogueOpened",
        "Condition": null,
        "Action": "Spiderbuttons.BETAS_DialogueBox Emily \"I'm also in the conversation!\""
    }
}

I had this test mod active

versed wyvern
#

Oop, I probably should have removed Dialogue Display Framework from my load order before sending you that log, but I just confirmed the same issue is there with it removed

uncut viper
#

[game] DebugOutput: Tried to change friendship for a friend that wasn't there.
this is the saddest error message ive ever seen, i think

calm nebula
tight rivet
#

Thanks everyone for their help! (Theoretically, it's working now, albeit I only tested spring crops)

latent mauve
#

Paired with Button's test mod, I'm just imagining a farmer going through a ton of dialogue boxes, thinking "FREEDOM!" when they seemingly have reached the end, and then Emily's just like "Hi, I'm here too."

rancid temple
#

This $y action is goofy as hell with the NPCSpeechMessageNoRadius method

versed wyvern
#

On the bright side? Having the yes response feed me a coffee works just as I wanted while testing with Maru thanks to the new BETAS action shamirav

vale stream
#

what's BETAS? 👀

versed wyvern
#

If push comes to shove perhaps this can be made to work with an antisocial NPC

versed wyvern
rancid temple
#

This doesn't work right, it asks the question but doesn't give the choices and just gives the money after asking the question with no choices:

"$y 'Want some money kid?_No_Suit yerself._Yes_Here.#$action AddMoney 500 '"

This asks the question, gives choices, and runs the action but the action "pops up" an invisible dialogue box that I don't even know is there, I can get out of it by clicking but it just looks like I'm frozen until I figure it out:

"$y 'Want some money kid?_No_Suit yerself._Yes_$action AddMoney 500 '"

This one is like the first but it pops up a blank dialogue box after the first and then gives the money lmao:

"$y 'Want some money kid?_No_Suit yerself._Yes_Here#$b#$action AddMoney 500 '"
vale stream
uncut viper
#

and always open to ideas for more things to add SDVpuffersmile

#

(also Mud right now i think i dont know how id solve this questions problem so for now at least its just gonna have to be a limitation of the DialogueBox action. it might be easier for me to just try implementing a separate QuestionBox action later or something to use instead)

versed wyvern
#

All good, you've been a great help already googlythumb

#

The functionality is here even if an NPC being here may be weird, I'll just have to try and figure out some way to minimize the weirdness

uncut viper
rancid temple
#

Before the action?

uncut viper
#

after the action

#

i assumed the invisible text box happened after the action

rancid temple
#

Can action be the first thing?

uncut viper
#

it can be

#

i think

#

would still need a # at the start though i think? idk

rancid temple
#

I mean I'll just try a bunch of different ways lol

#
"$y 'Want some money kid?_No_Suit yerself._Yes_Here#$e#$action AddMoney 500 '"
Question asked, no responses, dialogue closes and actions runs

"$y 'Want some money kid?_No_Suit yerself._Yes_#$action AddMoney 500 #$e#'"
Error:
Failed parsing dialogue string for NPC FakeNPCTest (key: Strings\StringsFromMaps:rokugin.excustomlocation_test, text: $y 'Want some money kid?_No_Suit yerself._Yes_#$action AddMoney 500 #$e#').
IndexOutOfRangeException: Index was outside the bounds of the array.


"$y 'Want some money kid?_No_Suit yerself._Yes_#$action AddMoney 500#$e#'"
Error:
Failed parsing dialogue string for NPC FakeNPCTest (key: Strings\StringsFromMaps:rokugin.excustomlocation_test, text: $y 'Want some money kid?_No_Suit yerself._Yes_#$action AddMoney 500#$e#').
IndexOutOfRangeException: Index was outside the bounds of the array.
uncut viper
#

i meant puttin the #e outside of the quick response

rancid temple
#

Oh

versed wyvern
#

Hmm... wasn't there a way to check if a specific NPC was standing at a specific spot? I'm thinking I could have Harvey offer you free coffee if he's in, and Maru can do it if she's at the counter

calm nebula
#

Wait

rancid temple
#

"$y 'Want some money kid?_No_Suit yerself._Yes_$action AddMoney 500'#$e#"

tough crater
#

I don't think you're allowed to do $action in the $y dialogue

rancid temple
#

You kind of aren't

calm nebula
rancid temple
#

If it's with any actual text it starts throwing a fit

#

But when it's on its own, it does work

calm nebula
#

and having an action (a) remove item after purchase and (b) drink coffee

rancid temple
#

It's just also opening an invisible dialogue box

uncut viper
#

(BETAS does have a way to check if an NPC is in the spot though)

calm nebula
#

"$y 'Want some money kid?_No_Suit yerself._Yes_*$action AddMoney 500 #$e#'"

#

try this

versed wyvern
#

Oh, I must've seen it in the BETAS docs then yugu

uncut viper
#

what does the * do?

pine ermine
#

what does betas stand for?

uncut viper
#

Button's Extra Trigger Action Stuff

rancid temple
calm nebula
#

dammit

#

"$y 'Want some money kid?_No_Suit yerself._Yes_TEXT HERE*$action AddMoney 500 #$e#'"

#

what about this

rancid temple
#

Question asked, responses shown, TEXT HERE dialogue shown, blank dialogue shown, action runs

#

So no invisible dialogue box at least lol

calm nebula
uncut viper
#

what if you put the # separator before the action

tough crater
#

(Unrelated) After unpacking the vanilla game, are there any DLLs in there? I recall seeing tmx, json, png, I think two XNB, and ogg files but not DLL

uncut viper
#

but still within the single quotes

calm nebula
#

(that's why there's a *)

uncut viper
#

you didnt answer so how could i have known! SDVpuffersquee

#

but also why does * do anything

rancid temple
pine ermine
#

what if instead of doing something when they say 'yes' force the dialogue to end when they say no, and then have the add money be the next thing that happens after

uncut viper
#

im sure theres a very good reason thats not said in the docs for $y itself /s

calm nebula
#

I can hazard a guess to why lol

uncut viper
#

well... what happens if you just use # anyway

calm nebula
#

what the hell, PAthos

#

(breaks the $y, is my guess, Button.)

uncut viper
#

i think thats done bc typing * normally is replaced with a symbol innit?

#

or am i misremembering

#

i thought ive seen that done before to get around text being replaced by other normal processes when they shouldnt be

dim yew
#

What’s the mail trick again for triggering an event x amount of days after a previous event? I forgor

uncut viper
#

increment a stat every day after the event is seen

#

and check when the stat reaches a number

tiny zealot
#

the old trick is to set a conversation topic and wait for it to expire

dim yew
#

Oh yeah ct

#

That’s what I was thinking of

uncut viper
rancid temple
#

Trying that, seems like $y hates #

uncut viper
#

this $y fucker is really fussy aint he

tiny zealot
#

i've never used $y, and after this conversation i may never try

uncut viper
#

also im realizing. arent questions from dialogue like the way Mud was trying earlier only asked Once anyway?

calm nebula
#

yeah, you can't do $y and split it with a # at all

versed wyvern
#

I think you guys are trying something similar to what I'm trying to do with the regular $q $r and $action huhf

calm nebula
#

but like also, like. it doesn't set state lol

uncut viper
#

like even if it did work wouldnt answering the coffee question once, whether yes or no, permanently lock you into that answer Forever

rancid temple
#

"$y 'Want some money kid?_No_$k_Yes_Here'#$b#$action AddMoney 500"
This asks the question, doesn't give responses, opens a blank dialogue and then runs the action, but no invisible dialogue box

I already tried a $k at the end, outside of the question and that also didn't kill the invisible dialogue box

velvet narwhal
#

i absolutely hate questions in dialogue, which is why i've depended on spacecore for it suspicious

calm nebula
versed wyvern
uncut viper
#

i didnt know you could do that

pine ermine
#

just make a new $command at this point tbh

calm nebula
versed wyvern
#

I think locking in the answer only happens if the $q has a check for it

tiny zealot
versed wyvern
#

In which case it shows you a different dialogue key based on what answer you gave previously

rancid temple
#

Well, if I wasn't trying to fit this into just CP I would have just made a C# mod/added to my map utility mod for something like this lmao

uncut viper
#

this is the most ive learned about how dialogue works in like my entire time modding

rancid temple
#

I could make this a tile action in about 5 minutes

uncut viper
#

meanwhile ive been looking to see if i can find an easy function to call that just creates a DialogueBox without having to rely on a C# performAnswerAction or whatever

calm nebula
#

just take a look at parseDialogueString

#

I'll have a drink for you when you re-emerge

versed wyvern
#

But yeah I'm seeing that a response with just an action still pops up an empty dialogue box and I can't find any combination of syntax that gets rid of it entirely

uncut viper
#

oh ive looked in there

#

parseDialogueString annoys me bc of the big switch statement that just points to IL codes

#

thanks ilspy

velvet narwhal
calm nebula
#

here's your drink SDVitemjojacola

uncut viper
tiny zealot
#

ah my old friend parseDialogueString
public static void Dialogue__parseDialogueString__Postfix(

pine ermine
#

Just make a small C# mod that is generic enough to allow you to have more complex dialog so that it covers a lot more use cases, and never worry about it again.

onyx flame
#

does anyone know how to add xp to custom skill made with SpaceCore in console? Is that possible?

uncut viper
# rancid temple I could make this a tile action in about 5 minutes

do you mind sharing how you would do it, because wasnt the original problem that it didnt work with a fake npc? which from the error in my testing i figured was because it was trying to look in the Dialogue's speaker to find the translation key for the response, but obviously with a fake there would not be

#

because the NPC would not be real

#

but admittedly, my brains kind of lost the plot on this one a bit

rancid temple
#

Well, does it need to come from an NPC?

uncut viper
#

to use $r or $q, it seemingly does

rancid temple
#

I was assuming NPC was the workaround at this point to run a trigger action

#

But if I'm just making a yes or no question to run a trigger action, I don't need a regular NPC dialogue box

uncut viper
#

using DialogueBox which is based around NPCs is the workaround for being able to create a question box

#

without relying on C# code to handle the question response

tiny zealot
calm nebula
#

you could trivially do a

{"DialogueKey": "action to run"} 
velvet narwhal
#

i thought this was all about how actions don't work in tiledata, so the npcmessagenoradius + trigger action was what was going on, and i promptly noped out thonk

uncut viper
#

it was erroring when trying to Pop from the characterDialoguesBrokenUp stack

calm nebula
#

like, it'd be saner

rancid temple
#

Right well I'd be using C# lol, but just having the tile action take a trigger action as an arg and then attempt to run that action in the appropriate branch

#

It would not be very scalable to additional functionality

#

Like it really would be locked to a yes or no

calm nebula
#

dislikes that

rancid temple
#

But with some custom data asset it could be more customizable

uncut viper
#

its partly being able to let the Content Pack decide what the text is to show for the question, including the yes or no, and also to let them decide what happens for each response.
and partly me being unable to find a good and easy way to just construct a simple question box

#

the simple ones take an NPC, and the other ones check the location's answerDialogueAction responses

#

the latter of which the content pack cannot change

rancid temple
#

The second one can be directed to use your own callback

#

Assuming I'm thinking of the right one

#

GameLocation.createQuestionDialogue

#

I'm using it a lot in EMA lol

tiny zealot
#

button would it help you if i looked up how i did the ledger menu in lacey's spouse room

#

that is a tile action but it does a three-choices question box (option 1, option 2, cancel)

uncut viper
#

i can create a specific question box easily enough, but i wanted to leave the options very open for content pack authors to customize them, like DialogueNox

#

why do i keep typoing Nox

calm nebula
#

you can also see aquarium's paginated menu

uncut viper
#

like, can any of these question boxes have a portrait but without a speaker

#

a real speaker that is

calm nebula
#

sure!

#

portrait override lol

#

the phone

uncut viper
#

well, you see, the phone code is exactly what i copied for DialogueNox

#

Box

rancid temple
#

Just embrace it at this point

calm nebula
#

yeah

uncut viper
#

and clearly that doesnt handle questions

calm nebula
#

your brain is saying you should sleep

#

huhhh

uncut viper
#

(its far too early to sleep)

rancid temple
#

Yeah I haven't messed with NPC capable dialogue boxes, haven't had a need yet

dim yew
#

Ew did they change how coordinates work in farmhouse events

#

Mine are broken

uncut viper
#

all of the phone conversations that have questions, have real NPCs attached to them

#

and my current Dialogue_Nox_ implementation handles the questions fine if the NPC is actually real, as Mud discovered with using Maru

#

its when the NPC is not real that the issue arises

velvet narwhal
#

how did you do da bouncer babey

versed wyvern
#

Very high chance I'm going to make a coffee machine NPC just to deal with this

uncut viper
#

the bouncer didnt use a question dialogue command

#

you might be able t o get away with just making the NPC, excluding them from perfection, hiding them from the social tab forever and ever, and setting their UnlockCondition to "FALSE"

#

and then pretending they dont exist

#

actually nevermind getCharacterFromName needs them to exist

#

maybe

#

yeah they need to exist in a location

#

but maybe they dont need to exist to load the dialogue

tough crater
#

Is there a condition/GSQ that checks for if the player is marrying another farmer?

I'm throwing together a wedding dialogue adjustment mod for Lewis at weddings. Basically the player can toggle whether they wanna do the "(husbands/wives) in life" (acknowledge gender from game start) or "spouses in life/spouse and (husband/wife)".

I need to find a way for the dialogue to work between gender neutral farmers if people decide to use it on a multiplayer save

Or should I make it have a dependency with existing gender neutral mods?

uncut viper
#

you could also just have the coffee machine feed you a coffee on right click like you had earlier with no dialogue whatsoever though i understand thats kind of sidestepping the issue

acoustic lintel
#

Hey! Wondering if anyone can help.. I’m having trouble with getting a tile property to work. It was all working fine about half an hour ago I was almost finished with my map/house but I went in to test again after adding some more trees and stuff and the action tile suddenly stopped working. (Locked door warp) so I added an action/dialogue tile to test if i could get a different action to work but no joy, it’s like the map isn’t registering any type of tile data anymore. It’s all typed in correctly, like I said it was working fine just a bit ago. Does anyone know why this might be? I’m so confused 😭

tough crater
#

DAMN IT I KNEW IT WAS THERE

#

How would I check if they both had the same config setting as false (gender neutral)? Would that involve some C#?

uncut viper
uncut viper
tough crater
#

Would it be better to make a separate toggle to use the gender neutral settings between farmers?

uncut viper
#

that would be up to you i think

tough crater
#

Extra toggle it is!

acoustic lintel
uncut viper
#

my knowledge of map making and tile data doesnt extend too far which is why i got it a bit confused with the Back layer thing but if LockedDoorWarp is something on the Buildings layer then it needs something actually placed on the Buildings layer for it to apply to, so you need to make sure an actual tile is painted there

#

niot just the tiledata

acoustic lintel
#

Yeah it’s on the buildings layer and it’s an actual building tile. No idea what’s happened to it. I can usually mess about with the data tiles like move them around and stuff without affecting the warp action but it’s like the map doesn’t register any of it anymore

versed wyvern
#

Well... that works.

#

I did notice it didn't work before I gave it a "portrait" and sprite, does that sound related or are those required to even create the NPC specifically thonking

uncut viper
acoustic lintel
#

Yeah that’s right

uncut viper
versed wyvern
#

For the NPC to get added to the game

uncut viper
# acoustic lintel Yeah that’s right

unfortunately then i think i am not the right person to try and help with this and i would probably just lead you in pointless circles if i tried, so i will have to defer to any other map makers around who may be able to help

acoustic lintel
uncut viper
# versed wyvern For the NPC to get added to the game

i have no clue if portraits and sprites are strictly required but i would assume so. ive never tried otherwise. i would be surprised neither if they were required nor if they were not and it was some other issue

versed wyvern
#

Okay, it looks like the coffee machine NPC simply didn't exist without them

uncut viper
#

also, what happepns if you specify a portrait in the BETAS action but give it a nonexistent portrait

#

i know it will log a warning in the console but will it still work

#

work with the question, i mean

tough crater
versed wyvern
#

Like have a real NPC but put a fake one for the [Portrait] field?

uncut viper
#

(actually now that i reread my own code it'll grab the portrait from the NPC it seems)

uncut viper
tough crater
#

HUH

uncut viper
#

not without a different mod that lets you do it

#

you need to look at Content Patcher tokens

tough crater
#

I'm sobbing violently /j

rocky anchor
#

Does anyone know where the Trash Bear event (cut scene) data is? I'm going crazy trying to find it haha

velvet narwhal
#

yeah it sucks that they're both named query so it's a bit confusing

#

esca's modding plugins might let you rip GSQs though?

uncut viper
#

and yes its Esca's Modding Plugin that lets you use GSQs in tokens

versed wyvern
#

Yeah it just stayed as Maru when I tried it

velvet narwhal
rocky anchor
uncut viper
#

oh if you're making a fake NPC wioth character data t ho you can just use that fake NPCs name

velvet narwhal
#

/speak Bear \"Heh... It's not every day I get to speak to a human. Looks like you've got a little 'forest magic' in you...$3\" is this not it?

rocky anchor
uncut viper
#

thats the normal bear

rocky anchor
versed wyvern
uncut viper
#

Ordinary Bear do not interact

calm nebula
#

TrashBear.doCutscene()

velvet narwhal
#

ig i do not know what the trash bear is

versed wyvern
#

Great Value Totoro who appears in year 3 or something

velvet narwhal
#

you think i play til year 3? suspicious

calm nebula
#

(it's fully hardcoded)

velvet narwhal
#

gross

calm nebula
rocky anchor
#

Thanks mate!

velvet narwhal
#

it's green tea all over again

rocky anchor
#

More importantly, can I trigger a hardcoded event through SMAPI?

uncut viper
#

you can do anything you want with SMAPI and Harmony

#

it probably isnt gonna be SMAPI's API directly that lets you call the event

#

but with C# you can just call the games functions

#

assuming theyre public

calm nebula
#

well, reflection will let you call it regardless

uncut viper
#

(or reflect)

calm nebula
#

🪞

rocky anchor
#

Thank youuuuu

uncut viper
#

i wouldnt call that just calling them though SDVpuffersquee

calm nebula
#

anyways

#

any cool new mods?

#

looks at weather report

#

what about cold new mods?

uncut viper
versed wyvern
uncut viper
#

even if the dialogue for the response is just an action?