• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
  • Eevee Expo's webhost has been having technical issues since Nov. 20th and you might be unable to connect to our site. Staff are also facing issues connecting, so please send a DM to Cat on-site or through Discord directly for faster service!
Modern Quest System + UI

Resource Modern Quest System + UI 1.1.0

ardicoozer

Cooltrainer
Member
Joined
Sep 29, 2020
Posts
180
I'm having a problem activating a quest. I get this error:
[Pokémon Essentials version 20.1]
[v20.1 Hotfixes 1.0.4]

Script error in event 12 (coords 6,5), map 4 (Pokémon Lab)
Exception: NameError
Message: uninitialized constant Interpreter::Quest13

***Full script:
activateQuest(Quest13, colorQuest("green"), true)

Backtrace:
(eval):1:in `execute_script'
033:Interpreter:143:in `eval'
033:Interpreter:143:in `execute_script'
034:Interpreter_Commands:1112:in `command_355'
034:Interpreter_Commands:116:in `execute_command'
033:Interpreter:133:in `block in update'
033:Interpreter:90:in `loop'
033:Interpreter:90:in `update'
032:Scene_Map:160:in `block in update'
032:Scene_Map:159:in `loop'
You forgot add (:) in your quest command
 

Jos_Louis

Developer of Pokemon Soulstones
Member
Joined
Sep 3, 2020
Posts
147
How does one populate the "Quest Discovered in:" and "Reward" section of the UI? I don't see an example in the 004_Quest_Data.rb file of what you need to do to fill out to make sure each stage gets populated? I thought the "RewardString" would show up but it doesn't. I'm on stage 2 of my quest and both my reward and quest discovered field remain blank and ??? respectively.

Here are some screenshots of my in-game as well as the data in 004_Quest_Data.rb

1664129248441.png
1664129227192.png
 

ThatWelshOne_

Champion
Member
I'm having a problem activating a quest. I get this error:
[Pokémon Essentials version 20.1]
[v20.1 Hotfixes 1.0.4]

Script error in event 12 (coords 6,5), map 4 (Pokémon Lab)
Exception: NameError
Message: uninitialized constant Interpreter::Quest13

***Full script:
activateQuest(Quest13, colorQuest("green"), true)

Backtrace:
(eval):1:in `execute_script'
033:Interpreter:143:in `eval'
033:Interpreter:143:in `execute_script'
034:Interpreter_Commands:1112:in `command_355'
034:Interpreter_Commands:116:in `execute_command'
033:Interpreter:133:in `block in update'
033:Interpreter:90:in `loop'
033:Interpreter:90:in `update'
032:Scene_Map:160:in `block in update'
032:Scene_Map:159:in `loop'
activateQuest(:Quest13, colorQuest("green"), true)

How does one populate the "Quest Discovered in:" and "Reward" section of the UI? I don't see an example in the 004_Quest_Data.rb file of what you need to do to fill out to make sure each stage gets populated? I thought the "RewardString" would show up but it doesn't. I'm on stage 2 of my quest and both my reward and quest discovered field remain blank and ??? respectively.

Here are some screenshots of my in-game as well as the data in 004_Quest_Data.rb

View attachment 12857View attachment 12856
The quest discovered element is automatically filled in using the name of the map you're on when the quest is activated.
I'm not sure why the RewardString isn't working. Do you have a comma at the end of the QuestDescription line above it?
 

Jos_Louis

Developer of Pokemon Soulstones
Member
Joined
Sep 3, 2020
Posts
147
This is the full screenshot of the quest. Every Quest Description line at the end has a comma, including your example ones you had in the file that came with the download. If I delete the comma, I get a syntax error.

1664226857348.png


Neither the quest discovered populates, nor the reward string. But I don't see anything wrong with what I've written when I compare to your example quests.
 

ThatWelshOne_

Champion
Member
This is the full screenshot of the quest. Every Quest Description line at the end has a comma, including your example ones you had in the file that came with the download. If I delete the comma, I get a syntax error.

View attachment 12873

Neither the quest discovered populates, nor the reward string. But I don't see anything wrong with what I've written when I compare to your example quests.
Would it be possible for you to check if you still have these issues on a new save?
 

Jos_Louis

Developer of Pokemon Soulstones
Member
Joined
Sep 3, 2020
Posts
147
Would it be possible for you to check if you still have these issues on a new save?
Tested again on a new save and the issue still persists.

Not sure if it matters at all or not, but I do have the Multiple Save script as well. I'm not sure if that's conflicting for some reason? But it doesn't seem likely considering it's just the "Quest Discovered" and "Reward" field that isn't populating...
 

ThatWelshOne_

Champion
Member
Tested again on a new save and the issue still persists.

Not sure if it matters at all or not, but I do have the Multiple Save script as well. I'm not sure if that's conflicting for some reason? But it doesn't seem likely considering it's just the "Quest Discovered" and "Reward" field that isn't populating...
I'm really not sure why that's happening for you.
Can you paste this code into an event and tell me what appears in the console window?
Ruby:
Expand Collapse Copy
activateQuest(:RABID_ANIMAL)
$PokemonGlobal.quests.active_quests.each do |q|
  echoln _INTL("{1}, {2}", q.id, q.location)
end
echoln QuestModule.const_get(:RABID_ANIMAL)[:RewardString]
 

Jos_Louis

Developer of Pokemon Soulstones
Member
Joined
Sep 3, 2020
Posts
147
Nothing different. It prompted me like I just got the quest and then when I went to check my quest log, it still showed me the same data without the quest discovered or reward being populated. The location was always being populated, it's the "Quest discovered" and Reward section that isn't being populated.

Here's the console message:
1665069691915.png

1665069740970.png
1665068968199.png


In case it's relevant, these are the other plugins I'm using:
1665068998705.png


I also just did a clean re-install of it and copied my quests over to the 004_Quest_Data.rb but it still doesn't resolve the issue. I started a new game as well but still no dice.
 
Last edited:

Jos_Louis

Developer of Pokemon Soulstones
Member
Joined
Sep 3, 2020
Posts
147
@ThatWelshOne_ I think I figured out what was going wrong.
There was a conflict happening with the Mr. Gela's Name Windows and Portraits script that I disabled that wasn't showing up as a plugin because it directly affects the Messages script section. I disabled the changes and used only the name windows and now the Quest Discovered section is being populated.

I believe the Reward section stays as ??? until you actually complete the quest which I tested and is now populating when I finish the quest. However, the Quest Discovered section is now being populated :D !
 

ThatWelshOne_

Champion
Member
Nothing different. It prompted me like I just got the quest and then when I went to check my quest log, it still showed me the same data without the quest discovered or reward being populated. The location was always being populated, it's the "Quest discovered" and Reward section that isn't being populated.

Here's the console message:
View attachment 12994
View attachment 12995View attachment 12992

In case it's relevant, these are the other plugins I'm using:
View attachment 12993

I also just did a clean re-install of it and copied my quests over to the 004_Quest_Data.rb but it still doesn't resolve the issue. I started a new game as well but still no dice.
The code I asked you to run was to test whether the game was recognising the name of the map you accepted the quest on (the "Quest discovered in/on" bit, not the "Location" text at the bottom of page 1). I wasn't expecting the UI elements to change at this point.

The console message should have printed the quest ID, which it did, followed by the name of the map, the latter using $game_map.name, something that exists in Essentials at base. I have no clue why Gela's resource would influence that, but if you've managed to get around it, I guess that's good news.

As for the "Reward" text, I've looked at the relevant code and I'm not sure why, but for some reason this is intentional (I must've done this for some reason, but I've no idea what that is anymore). To stop this from happening, open 003_Quest_UI.rb, find lines 281-285 that should look like this:
Ruby:
Expand Collapse Copy
questReward = $quest_data.getQuestReward(quest.id)
active_quests = getActiveQuests
if questReward=="nil" || questReward=="" || active_quests.include?(quest.id)
  questReward = "???"
end
Change it to this:
Ruby:
Expand Collapse Copy
questReward = $quest_data.getQuestReward(quest.id)
active_quests = getActiveQuests # This line might not be needed either
if questReward=="nil" || questReward==""
  questReward = "???"
end
 

Jos_Louis

Developer of Pokemon Soulstones
Member
Joined
Sep 3, 2020
Posts
147
It's because of a change that another user had recommended to make the portrait/name windows work in v20.1 because that script isn't made for v19.1:

"Using this in v20+ will bork your ShowArea attempts until you go to line 878 of messages and change pbloadrxdata to pbLoadMapInfos"

This change did not come base with Mr. Gela's script and was a modification by another user which was causing this conflict. When I removed those changes and used Mr. Gela's name windows script only (i.e. the version without the portraits), this started working again.

As for quest rewards, I am actually ok with the quest reward staying unknown until the player completes the quest, but I will test this later tonight just to confirm if it works because at some point down the line, I may want to change to show the reward in advance of the quest being completed (e.g. players want to know what quests are worth completing if they know the reward ahead of time). For now, I'm inclined to not show the reward to incentivize players to complete every side quest.
 

ThatWelshOne_

Champion
Member
It's because of a change that another user had recommended to make the portrait/name windows work in v20.1 because that script isn't made for v19.1:

"Using this in v20+ will bork your ShowArea attempts until you go to line 878 of messages and change pbloadrxdata to pbLoadMapInfos"

This change did not come base with Mr. Gela's script and was a modification by another user which was causing this conflict. When I removed those changes and used Mr. Gela's name windows script only (i.e. the version without the portraits), this started working again.

As for quest rewards, I am actually ok with the quest reward staying unknown until the player completes the quest, but I will test this later tonight just to confirm if it works because at some point down the line, I may want to change to show the reward in advance of the quest being completed (e.g. players want to know what quests are worth completing if they know the reward ahead of time). For now, I'm inclined to not show the reward to incentivize players to complete every side quest.
A happy accident that I included that mystery code, then!
 

Jos_Louis

Developer of Pokemon Soulstones
Member
Joined
Sep 3, 2020
Posts
147
A happy accident that I included that mystery code, then!
Your changes above worked to reveal the quest reward ahead of completion. Thanks for your help on this!

Code block to change to show quest reward:
Expand Collapse Copy
questReward = $quest_data.getQuestReward(quest.id)
active_quests = getActiveQuests # This line might not be needed either
if questReward=="nil" || questReward==""
  questReward = "???"
end
 

Rhiton

Rookie
Member
Joined
Oct 13, 2022
Posts
5
i cant figure this out at all; it says "Invalid Plugin Registry Key: Quest0"
 

Gardenette

Cooltrainer
Member
Joined
May 30, 2022
Posts
156
Thanks for the response on this one! Since your reply also contained an answer to someone else's question, I'm going to start a new reply thread on this. I was hoping you could help me figure out how to check which stage(s) are active on a quest without use of variables or switches. If I use a switch for every combination of which stage is active and which is not, I'm going to lose my mind :(
I absolutely love this plugin. My only wish is that you could have checkboxes or 0/1 complete or something per stage. All on one page.
For instance, we have a quest where you show a guy the different sizes of Pumpkaboo. It would be nice to have it on one page looking like:
Small 0/1
Medium 0/1
Large 0/1
Supersized 0/1

Edit Or rather have a separate page for displaying the tasks and have it able to show multiple goals per stage on that separate page
 

ThatWelshOne_

Champion
Member
Thanks for the response on this one! Since your reply also contained an answer to someone else's question, I'm going to start a new reply thread on this. I was hoping you could help me figure out how to check which stage(s) are active on a quest without use of variables or switches. If I use a switch for every combination of which stage is active and which is not, I'm going to lose my mind :(
I've been thinking about Gardenette's suggestion for some time, but I think it's beyond me/my availability to incorporate this.
For checking the current stage of a quest, there is a function in the resource for doing that.
getCurrentStage(:Quest1)
 

Gardenette

Cooltrainer
Member
Joined
May 30, 2022
Posts
156
I've been thinking about Gardenette's suggestion for some time, but I think it's beyond me/my availability to incorporate this.
For checking the current stage of a quest, there is a function in the resource for doing that.
getCurrentStage(:Quest1)
Oh my goodness I have an outdated version that doesn't have that method. I'll give this a shot!
 

BriciusD

Rookie
Member
Joined
May 17, 2022
Posts
1
With much thanks to the Author, there is a way to make the quests 'sortable' in the UI, though its more through the backend by Quest ID more then it is by name. According to the author, open the file 003_Quest_UI.rb and look around line 97 for
Sample:
Expand Collapse Copy
if SORT_QUESTS
  @quests.each do |s|
    s.sort_by! {|x| [x.story ? 0 : 1, x.time]}
  end
end

then you change the line containing "s.sort_by! {|x| [x.story ? 0 : 1, x.time]}" to " s.sort_by! {|x| $quest_data.getID(x.id)}". It should look like this and it will sort it numerically:

End Sample:
Expand Collapse Copy
if SORT_QUESTS
  @quests.each do |s|
    s.sort_by! {|x| $quest_data.getID(x.id)}
  end
end

This makes it much easier to keep things neat if, like me for some reason, you have a lot of quests and not just quest stages.
 

Alpaca_do_Mal

Rookie
Member
Joined
Sep 2, 2021
Posts
2
Could someone help me with this error.

I'm on v19.1 and downloaded the correct version of the resource and followed the instructions.
What i think is happening is that for some reason my game doesnt reconize the MenuHandlers command.
The same thing happens with the Encouter List UI resource.

1669241177571.png


1669241356167.png
 
Back
Top