Coding Help Content Patcher. Is there a possibility for conditions like "a year after"?

pinzol

Tiller
Hey, guys. Hope you can help me out. I really-really need to do this specific thing with a mod of mine, like: send a letter a year after an event has happened. The trick is: this event is not fixed in time. So I need to start counting days after the player has seen said event and I don't know how to do it. Is it possible using only Content Patcher?

I'm only interested in CP because (I'm dumb help) using C# is not an option for me unfortunately.
 
Last edited:

Dyanosis

Tiller
I've done quite a bit with CP (and looked over their docs a lot) and there doesn't appear to be any feasible ways to actually do a thing after a set amount of time. Many of the options are known/finite things, like "are you married", "is it spring 1 year 1", "do you have XYZ mod installed". The only framework I've seen that supports checking if something has happened is MailFrameworkMod which lets you send mail by just specifying a mail.json file. But, last I checked, you can only do "special dates", which are things like marriage.

I've wanted to do things like you suggest - send mail after a specific thing happens (like after harvesting your first parsnip, or making your first million). This would probably have to be done with C# since you'd need to keep track of when the event was seen (and, more specifically, by whom) and then track how many days since that event.
 

pinzol

Tiller
I've done quite a bit with CP (and looked over their docs a lot) and there doesn't appear to be any feasible ways to actually do a thing after a set amount of time. Many of the options are known/finite things, like "are you married", "is it spring 1 year 1", "do you have XYZ mod installed". The only framework I've seen that supports checking if something has happened is MailFrameworkMod which lets you send mail by just specifying a mail.json file. But, last I checked, you can only do "special dates", which are things like marriage.

I've wanted to do things like you suggest - send mail after a specific thing happens (like after harvesting your first parsnip, or making your first million). This would probably have to be done with C# since you'd need to keep track of when the event was seen (and, more specifically, by whom) and then track how many days since that event.

I shall not be discouraged and my buffoonery knows no limits! There's probably a smart way to go about it with C#, but there's no smart to be found in here, we're talking about me b*llsh*tting (can I say this word online? I don't know anymore) my way through modding.

Well, meet Gary.

Gary.png


Gary is a custom NPC I made (not romancable). Gary can't do anything and is useless just standing on the Beach, but he is the one who will help us achieve our goal of sending a mail or triggering an event N days after smth has happened.

After digging through SV wiki like my life depends on it, I found two things:
  • this particular Build-in action in TriggerActions section: SetNpcInvisible <NPC name> <day duration>
  • and this event precondition: v <name> | The specified NPC is not invisible (regardless of whether they're on-screen).
Here's what we're doing with'em:

Code:
        {
        "Action":"EditData",
        "Target":"Data/TriggerActions",
        "Entries":
        {
        "pinzol.testevents":{
        "Id": "pinzol.testevents",
        "Trigger": "DayStarted",
        "Condition": "PLAYER_HAS_SEEN_EVENT Current 50",
        "Actions": ["SetNpcInvisible Gary 20"],
        },

        {
        "Action": "EditData",
        "Target": "Data/Events/Farm",
        "Entries": {"130666666/v Gary/x TestingIt2": "null"},
        },
So we're triggering this action, it hides Gary from the map for 20 days after we've seen, say, Leah's heart event (50) in this example.
And then make a new event that sends us a letter only after Gary is visible again. Which is 20 days later.

That's the monstrosity I cooked up. It actually worked a few times I checked. No idea what it does to the game's performance and no idea about anything in general. And at this point I'm too attached to Gary to scrap the idea. Probably will make him a real npc to at least learn more about modding npcs, locations and events
 
Last edited:

Dyanosis

Tiller
I shall not be discouraged and my buffoonery knows no limits! There's probably a smart way to go about it with C#, but there's no smart to be found in here, we're talking about me b*llsh*tting (can I say this word online? I don't know anymore) my way through modding.

Well, meet Gary.

View attachment 23747

Gary is a custom NPC I made (not romancable). Gary can't do anything and is useless just standing on the Beach, but he is the one who will help us achieve our goal of sending a mail or triggering an event N days after smth has happened.

After digging through SV wiki like my life depends on it, I found two things:
  • this particular Build-in action in TriggerActions section: SetNpcInvisible <NPC name> <day duration>
  • and this event precondition: v <name> | The specified NPC is not invisible (regardless of whether they're on-screen).
Here's what we're doing with'em:

Code:
        {
        "Action":"EditData",
        "Target":"Data/TriggerActions",
        "Entries":
        {
        "pinzol.testevents":{
        "Id": "pinzol.testevents",
        "Trigger": "DayStarted",
        "Condition": "PLAYER_HAS_SEEN_EVENT Current 50",
        "Actions": ["SetNpcInvisible Gary 20"],
        },

        {
        "Action": "EditData",
        "Target": "Data/Events/Farm",
        "Entries": {"130666666/v Gary/x TestingIt2": "null"},
        },
So we're triggering this action, it hides Gary from the map for 20 days after we've seen, say, Leah's heart event (50) in this example.
And then make a new event that sends us a letter only after Gary is visible again. Which is 20 days later.

That's the monstrosity I cooked up. It actually worked a few times I checked. No idea what it does to the game's performance and no idea about anything in general. And at this point I'm too attached to Gary to scrap the idea. Probably will make him a real npc to at least learn more about modding npcs, locations and events
Have to admit that I haven't done much with TriggerActions or Events (as the Event syntax is a bit odd to me and I don't really want to take the time to figure it out).

From the looks of it, that looks like a clever workaround to make something happen in a set amount of time since something else. However, you'd have to ensure that Gary is always invisible first before the other event attempts to play.

One question about this - is that 20 days since you saw the event? Is that how the game appears to interpret that? To be more concise and specific, have you tried having that event happen and then, after saving the game, reloading the game to see if he's gone for only 20 days after that date or 20 days after you reload.

In a pseudo-answer to my own question - I would think that the game is checking if you've seen an event and then applying some action from the date of that event (in this case, 20 days from seeing Leah's heart event). Otherwise every time you sleep (which is when the game saves), Gary would be marked as "invisible" for another 20 days, which would mean he'd never be visible. Assuming that theory is true, and you can confirm that your trigger action happens before the mail event attempts to happen, then this is a really interesting workaround for determining when something happened.

The better place to hypothesize would probably be the SDV discord, but it was too busy for my liking. Felt very overwhelming trying to navigate the channels and the constant streams of text happening.
 

Dyanosis

Tiller
I shall not be discouraged and my buffoonery knows no limits! There's probably a smart way to go about it with C#, but there's no smart to be found in here, we're talking about me b*llsh*tting (can I say this word online? I don't know anymore) my way through modding.

Well, meet Gary.

View attachment 23747

Gary is a custom NPC I made (not romancable). Gary can't do anything and is useless just standing on the Beach, but he is the one who will help us achieve our goal of sending a mail or triggering an event N days after smth has happened.

After digging through SV wiki like my life depends on it, I found two things:
  • this particular Build-in action in TriggerActions section: SetNpcInvisible <NPC name> <day duration>
  • and this event precondition: v <name> | The specified NPC is not invisible (regardless of whether they're on-screen).
Here's what we're doing with'em:

Code:
        {
        "Action":"EditData",
        "Target":"Data/TriggerActions",
        "Entries":
        {
        "pinzol.testevents":{
        "Id": "pinzol.testevents",
        "Trigger": "DayStarted",
        "Condition": "PLAYER_HAS_SEEN_EVENT Current 50",
        "Actions": ["SetNpcInvisible Gary 20"],
        },

        {
        "Action": "EditData",
        "Target": "Data/Events/Farm",
        "Entries": {"130666666/v Gary/x TestingIt2": "null"},
        },
So we're triggering this action, it hides Gary from the map for 20 days after we've seen, say, Leah's heart event (50) in this example.
And then make a new event that sends us a letter only after Gary is visible again. Which is 20 days later.

That's the monstrosity I cooked up. It actually worked a few times I checked. No idea what it does to the game's performance and no idea about anything in general. And at this point I'm too attached to Gary to scrap the idea. Probably will make him a real npc to at least learn more about modding npcs, locations and events
Looking more into the Trigger Actions, you might be able to use IncrementStat <stat key> [amount] to set a custom key and then check that key. Knowing that a year is 28 * 4 (28 days with 4 total months), you can have your condition check that custom key to see if it is equal to 28 * 4. Then you don't have to worry about having an invisible entity that becomes visible later.

You'll also want to take advantage of MarkActionApplied <player> <answer ID> false in order to make sure that it increments the stat multiple times and then have a condition that stops the trigger when the condition hits whatever you want it to.

Definitely a very roundabout and, kind of dirty, way to do it... but it might work.
 
Last edited:

pinzol

Tiller
Looking more into the Trigger Actions, you might be able to use IncrementStat <stat key> [amount] to set a custom key and then check that key. Knowing that a year is 28 * 4 (28 days with 4 total months), you can have your condition check that custom key to see if it is equal to 28 * 4. Then you don't have to worry about having an invisible entity that becomes visible later.

You'll also want to take advantage of MarkActionApplied <player> <answer ID> false in order to make sure that it increments the stat multiple times and then have a condition that stops the trigger when the condition hits whatever you want it to.

Definitely a very roundabout and, kind of dirty, way to do it... but it might work.
Thanks for looking further into it!! It sure is a really weird way to go about it, but at this point I just wanted to see whether i could not if i should, you know XD. I actually think I will right to the creator of Content Patcher themselves. Asking if we could have some token for this kind of thing. Who knows, they might be interested to add it in the future
 

pinzol

Tiller
Have to admit that I haven't done much with TriggerActions or Events (as the Event syntax is a bit odd to me and I don't really want to take the time to figure it out).

From the looks of it, that looks like a clever workaround to make something happen in a set amount of time since something else. However, you'd have to ensure that Gary is always invisible first before the other event attempts to play.

One question about this - is that 20 days since you saw the event? Is that how the game appears to interpret that? To be more concise and specific, have you tried having that event happen and then, after saving the game, reloading the game to see if he's gone for only 20 days after that date or 20 days after you reload.

In a pseudo-answer to my own question - I would think that the game is checking if you've seen an event and then applying some action from the date of that event (in this case, 20 days from seeing Leah's heart event). Otherwise every time you sleep (which is when the game saves), Gary would be marked as "invisible" for another 20 days, which would mean he'd never be visible. Assuming that theory is true, and you can confirm that your trigger action happens before the mail event attempts to happen, then this is a really interesting workaround for determining when something happened.

The better place to hypothesize would probably be the SDV discord, but it was too busy for my liking. Felt very overwhelming trying to navigate the channels and the constant streams of text happening.
Actually tested it some more today when I've got time to spare. Surprisingly, works fine as far as I can see. Reloading the game does not mess up the countown - Gary still comes back only after the previousy set amount of days has passed. And only then the mail is received/event is triggered. Tried it on a new save and the old game, like 10 years into playing. The old save just needs you to sleep once and then the whole thing is triggered alright. It's hilariously weird, but seems to be working.

Gary is now reduced to 1x1 pixel, btw, on the Backwoods map as I know nothing at all ever happens there and is hidden behind the bush on the left. I defined the absolute minimum for him as an npc, to make sure he doesn't show on social tabs or anywhere on the map. For now it will be a plan B for my ideas for mods, huh)

Dyanosis
, thank you a lot for being interested and giving me an insight on the matter, I very much appreciate being able to discuss it like that. And yeah, discords are great for that and people there are always ready to help, but I find the whole app too busy as well, I get lost quickly.

P.S. I am still to look into IncrementStat <stat key> [amount]. I don't get what it does exactly right now. English can be confusing to me at times
 
Last edited:

Dyanosis

Tiller
Actually tested it some more today when I've got time to spare. Surprisingly, works fine as far as I can see. Reloading the game does not mess up the countown - Gary still comes back only after the previousy set amount of days has passed. And only then the mail is received/event is triggered. Tried it on a new save and the old game, like 10 years into playing. The old save just needs you to sleep once and then the whole thing is triggered alright. It's hilariously weird, but seems to be working.

Gary is now reduced to 1x1 pixel, btw, on the Backwoods map as I know nothing at all ever happens there and is hidden behind the bush on the left. I defined the absolute minimum for him as an npc, to make sure he doesn't show on social tabs or anywhere on the map. For now it will be a plan B for my ideas for mods, huh)

Dyanosis
, thank you a lot for being interested and giving me an insight on the matter, I very much appreciate being able to discuss it like that. And yeah, discords are great for that and people there are always ready to help, but I find the whole app too busy as well, I get lost quickly.

P.S. I am still to look into IncrementStat <stat key> [amount]. I don't get what it does exactly right now. English can be confusing to me at times
Your English seems pretty solid to me! A few corrections needed here and there, but definitely better than most people (and you got the punctuation nailed, so that's a huge plus).

I appreciate you being just as interested and willing to just theorize other ways to go about it. That's what really gets me interested in looking into something. Most people are just like "cool, I'll try that" and then you never hear from them again.

As far as IncrementStat <stat key> [amount], it should allow you to create a new custom stat and increment it every day (or whatever your event trigger is). I'll write up a small example below of my theorized idea on how to use a stat (and not an NPC) to track time since an event.

One issue I foresee with my theory is that it won't work on current saves because it'll be dependent on the stat already being available and already set to something. It'll also not work for people who use any cheats/cheat mods that change the day (since you could, in theory, set the day to before you saw the event and now the stat incorrectly thinks it's still incrementing days). Your idea of using the visibility of an NPC would probably work, since the game seems to think it's tracking "since this event happened" and not "since this event trigger was available".

Anyway, here's my idea:

JSON:
{
    "Action":"EditData",
    "Target":"Data/TriggerActions",
    "Entries":{
        // Increment a new stat called leahEventCounter until it reaches 50 as long as the player has seen Leah's event and they haven't received special mail
        "dyanosis.test_event":{
            "Id":"dyanosis.test_event",
            "Trigger":"DayStarted",
            "Condition":"PLAYER_HAS_SEEN_EVENT Current 50, PLAYER_STAT Current leahEventCounter 0 50, !PLAYER_HAS_MAIL Current dyanosis.leah_mail_item",
            "Actions":[
                "IncrementStat leahEventCounter 1"
            ]
        },
        // Repeat the above event under the same conditions. For, probably, infinite loop protection, you can't have a trigger mark itself as unapplied (aka repeating)
        "dyanosis.repeat_test_event":{
            "Id":"dyanosis.repeat_test_event",
            "Trigger":"DayStarted",
            "Condition":"PLAYER_HAS_SEEN_EVENT Current 50, PLAYER_STAT Current leahEventCounter 0 50, !PLAYER_HAS_MAIL Current dyanosis.leah_mail_item",
            "Actions":[
                "MarkActionApplied Current dyanosis.test_event false"
            ]
        },
        // Send mail once leahEventCounter has reached 50, player hasn't gotten the mail yet, and they've seen Leah's event.
        "dyanosis.send_leah_mail":{
            "Id":"dyanosis.send_leah_mail",
            "Trigger":"DayStarted",
            "Condition":"PLAYER_HAS_SEEN_EVENT Current 50, PLAYER_STAT Current leahEventCounter 50 50, !PLAYER_HAS_MAIL Current dyanosis.leah_mail_item",
            "Actions":[
                // Action to send/add mail here
            ]
        }
    }
}
The conditions read as "Player has seen Leah's event, the Player's leahEventCounter stat is in a given range (either 0 - 50 or 50 - 50), and Player has not seen or received a specific mail item". I'm not sure how to do mail with CP. I do mail through MFM, which can use the same GSQs (Game State Queries) to check for things as well.

My theory is that the above should work, but I have no clue. But, like I said, it wouldn't work on old saves or saves that have time cheat mods as it only starts counting from the moment it's allowed to run once. Which also means it would screw up if you used it for 40 days but then removed it and played for a few days, then re-added it and allowed it to run for the last 10 days.

Your way, according to your testing, seems to count from the event seen time, not from when it first triggers, so it seems like the more consistent way to do things.

Though a suggestion to Pathoschild to add something like this to CP where we can check on a variable that tracks "time-since-some-event-or-thing" would be nice. I don't know that the game actually tracks when you saw the event, just that you did.
 

pinzol

Tiller
I see, I see. This
Your English seems pretty solid to me! A few corrections needed here and there, but definitely better than most people (and you got the punctuation nailed, so that's a huge plus).

I appreciate you being just as interested and willing to just theorize other ways to go about it. That's what really gets me interested in looking into something. Most people are just like "cool, I'll try that" and then you never hear from them again.

As far as IncrementStat <stat key> [amount], it should allow you to create a new custom stat and increment it every day (or whatever your event trigger is). I'll write up a small example below of my theorized idea on how to use a stat (and not an NPC) to track time since an event.

One issue I foresee with my theory is that it won't work on current saves because it'll be dependent on the stat already being available and already set to something. It'll also not work for people who use any cheats/cheat mods that change the day (since you could, in theory, set the day to before you saw the event and now the stat incorrectly thinks it's still incrementing days). Your idea of using the visibility of an NPC would probably work, since the game seems to think it's tracking "since this event happened" and not "since this event trigger was available".

Anyway, here's my idea:

JSON:
{
    "Action":"EditData",
    "Target":"Data/TriggerActions",
    "Entries":{
        // Increment a new stat called leahEventCounter until it reaches 50 as long as the player has seen Leah's event and they haven't received special mail
        "dyanosis.test_event":{
            "Id":"dyanosis.test_event",
            "Trigger":"DayStarted",
            "Condition":"PLAYER_HAS_SEEN_EVENT Current 50, PLAYER_STAT Current leahEventCounter 0 50, !PLAYER_HAS_MAIL Current dyanosis.leah_mail_item",
            "Actions":[
                "IncrementStat leahEventCounter 1"
            ]
        },
        // Repeat the above event under the same conditions. For, probably, infinite loop protection, you can't have a trigger mark itself as unapplied (aka repeating)
        "dyanosis.repeat_test_event":{
            "Id":"dyanosis.repeat_test_event",
            "Trigger":"DayStarted",
            "Condition":"PLAYER_HAS_SEEN_EVENT Current 50, PLAYER_STAT Current leahEventCounter 0 50, !PLAYER_HAS_MAIL Current dyanosis.leah_mail_item",
            "Actions":[
                "MarkActionApplied Current dyanosis.test_event false"
            ]
        },
        // Send mail once leahEventCounter has reached 50, player hasn't gotten the mail yet, and they've seen Leah's event.
        "dyanosis.send_leah_mail":{
            "Id":"dyanosis.send_leah_mail",
            "Trigger":"DayStarted",
            "Condition":"PLAYER_HAS_SEEN_EVENT Current 50, PLAYER_STAT Current leahEventCounter 50 50, !PLAYER_HAS_MAIL Current dyanosis.leah_mail_item",
            "Actions":[
                // Action to send/add mail here
            ]
        }
    }
}
The conditions read as "Player has seen Leah's event, the Player's leahEventCounter stat is in a given range (either 0 - 50 or 50 - 50), and Player has not seen or received a specific mail item". I'm not sure how to do mail with CP. I do mail through MFM, which can use the same GSQs (Game State Queries) to check for things as well.

My theory is that the above should work, but I have no clue. But, like I said, it wouldn't work on old saves or saves that have time cheat mods as it only starts counting from the moment it's allowed to run once. Which also means it would screw up if you used it for 40 days but then removed it and played for a few days, then re-added it and allowed it to run for the last 10 days.

Your way, according to your testing, seems to count from the event seen time, not from when it first triggers, so it seems like the more consistent way to do things.

Though a suggestion to Pathoschild to add something like this to CP where we can check on a variable that tracks "time-since-some-event-or-thing" would be nice. I don't know that the game actually tracks when you saw the event, just that you did.
Dang it. I've already left a comment on nexus for Pathoschild. Really wish I used your wording to explain what kind of thing do we actually wanna get. It's sounds much better this way. Oh, well.

I see, I see. I read a bit about this IncrementStat action too. My worry is whether we are allowed to write down a custom stat key just like that. If not how do we... Um... define (is it the right word?) it then. Hm, and you say one of the problems is that it won't work on the older saves because the whole thing is dependent on the stat existing and being available. What if we use one of the vanilla stats then? Just the ones that don't really change too much? There are two, in particular, that caught my attention: childrenTurnedToDoves and exMemoriesWiped. Honestly, how many children does one player turn into doves in one save? Not counting any Spider Georgs here. Maybe these two could be of use. Dunno, I'll have to test it all simply out of curiosity now :)

And yeeah, any cheats are almost always a nono when it comes to this. I had so much trouble while testing my own mods because i used cheats to change time and days faster. We'll have to just assume people are going to play normally.

Also thank you for your encouraging words. I'm really winging it here with both English AND modding XD
 
Last edited:

pinzol

Tiller
What dawned on me is that updating a mod like this will be an absolute disaster. I got so caught up in the whole idea that I ignored that fact completely until now. You either have to make it a separate mod and add as a dependency for the main mod and never touch it again or... or just drop the whole thing. I'm feeling a tad disappointed
 

Dyanosis

Tiller
What dawned on me is that updating a mod like this will be an absolute disaster. I got so caught up in the whole idea that I ignored that fact completely until now. You either have to make it a separate mod and add as a dependency for the main mod and never touch it again or... or just drop the whole thing. I'm feeling a tad disappointed
Welcome to modding/coding 101 - sometimes you get a dash of disappointment. But, the silver lining (aka positive thing) of this experience is that we both learned something. In fact, I learned a lot about how others think and strategize about making mods. I really like your random NPC, though it does add unnecessary information to the game (images, NPC data, etc) that have nothing to do with tracking an event AND that don't go away later.

Also, your English has been great! Like I said, there are a few things, but even we native speakers miss things or mess things up. For example, in your second to last reply, you said "mush better" instead of "much better". Small, but note worthy if you're nitpicking.

Now for my thoughts on your previous reply - I'll have to disagree with using any other in-game stats that YOU may think are useless because I can guarantee you others do not think those are useless. I saw a person comment on one of the mods talking about how they had no problem turning their children to doves and were on a missing to make that number reach the thousands. I've also seen people talk about resetting their world by getting their memory wiped so they could re-friend and re-marry specific NPCs. They may seem like insignificant variables to you, but that now makes your mod not usable for people where those variables do mean something, not realizing that it is affecting things that aren't vanilla.

That said, it should be possible, using CP, to create new stats since there's a TriggerAction that allows you to do so. Must mean it's possible.

Either way - I think requesting Pathoschild to provide some condition through CP that we can basically query "how long has it been since an event occurred" would be super helpful. We can already ask what the date is and, somehow, MailFrameworkMod can check how long it's been since you got married or had a baby... so it has to be possible.

Something like:

Code:
"When": {
    "DaysSince: Leah10Heart": "10"
}
 

pinzol

Tiller
Welcome to modding/coding 101 - sometimes you get a dash of disappointment. But, the silver lining (aka positive thing) of this experience is that we both learned something. In fact, I learned a lot about how others think and strategize about making mods. I really like your random NPC, though it does add unnecessary information to the game (images, NPC data, etc) that have nothing to do with tracking an event AND that don't go away later.

Also, your English has been great! Like I said, there are a few things, but even we native speakers miss things or mess things up. For example, in your second to last reply, you said "mush better" instead of "much better". Small, but note worthy if you're nitpicking.

Now for my thoughts on your previous reply - I'll have to disagree with using any other in-game stats that YOU may think are useless because I can guarantee you others do not think those are useless. I saw a person comment on one of the mods talking about how they had no problem turning their children to doves and were on a missing to make that number reach the thousands. I've also seen people talk about resetting their world by getting their memory wiped so they could re-friend and re-marry specific NPCs. They may seem like insignificant variables to you, but that now makes your mod not usable for people where those variables do mean something, not realizing that it is affecting things that aren't vanilla.

That said, it should be possible, using CP, to create new stats since there's a TriggerAction that allows you to do so. Must mean it's possible.

Either way - I think requesting Pathoschild to provide some condition through CP that we can basically query "how long has it been since an event occurred" would be super helpful. We can already ask what the date is and, somehow, MailFrameworkMod can check how long it's been since you got married or had a baby... so it has to be possible.

Something like:

Code:
"When": {
    "DaysSince: Leah10Heart": "10"
}
Yup, gotta be ready for things to not work out exactly as I want them to, huh. Well, for now I'll just put the idea on hold :) That "DaysSince" condition would've been absolutely perfect. Hope Pathoschild will take notice of it one day. It might be a helpful thing for people who create story events and wanna add some realism to the flow of time in the game, so I think it may be considered worth adding. I'll continue monitoring Content Patcher's nexus page and write here again if there's any reply from Pathoschild!
 

pinzol

Tiller
@Dyanosis hey there, it's been a while!

Pathoschild has answered me on Nexus, I'm very excited to receive a reply actually. Here it is:
You can use trigger actions to do that. For example, you can...

set a {{ModId}}_Started mail flag;
start a conversation topic with the desired number of days;
do something when {{ModId}}_Started is set, but the conversation topic expired.
What do you think? I really should dig into this TriggerActions section more. I actually scrapped the initial idea for the mod I had and am trying to achieve the same goal with other methods, but it's still nice knowing there are options
 

Dyanosis

Tiller
@Dyanosis hey there, it's been a while!

Pathoschild has answered me on Nexus, I'm very excited to receive a reply actually. Here it is:


What do you think? I really should dig into this TriggerActions section more. I actually scrapped the initial idea for the mod I had and am trying to achieve the same goal with other methods, but it's still nice knowing there are options
It's been a hot minute, as they say! Good to hear from you and cool to see you got a response from Pathos!

There are still a few things I'm not sure how to use properly and don't know that I want to figure out (like conversation topics and the individual flags for things like mail and the like). But if we're able to use a trigger action to start a conversation topic in a set number of days, then that'd be a way of doing it. But you'd have to trigger the action to start the topic when the event has been seen. And then you'd need a trigger action for each and every time you want to track an event's length. Definitely a round-about way of doing it. Really think/feel like there is/should be a way to query/get the amount of time since an event or since something happened. Clearly the game has a way of knowing.

I look forward to continuing to see what you come up with though. I'm down to brainstorm if you are.
 
Top