ResourceModern Quest System + UI 1.0.1

ThatWelshOne_

Umbreon User
Moderator
I use the Modular Pause menu v.19.1 How do I get it going? I would also use it in Pokegear, but I don't know how I have to change it in UI Pokegear. I ask for help.
Here's how to get it to work in the default Pokégear.
Go to the UI_Pokegear script.
Find this line:
cmdJukebox = -1
Paste this on a new line below it:
cmdQuests = -1
Then, find this line:
commands[cmdJukebox = commands.length] = ["jukebox",_INTL("Jukebox")]
Paste this on a new line below it:
commands[cmdQuests = commands.length] = ["quests",_INTL("Quests")]
Finally, find this chunk:
Ruby:
elsif cmdJukebox>=0 && cmd==cmdJukebox
pbFadeOutIn {
scene = PokemonJukebox_Scene.new
screen = PokemonJukeboxScreen.new(scene)
screen.pbStartScreen
}
Paste this below it:
Ruby:
elsif cmdQuests>=0 && cmd==cmdQuests
pbFadeOutIn {
pbViewQuests
}

You'll need to create an icon called icon_quests.png in Graphics/Pictures/Pokegear as well.
I hope this helps!

Member
Thank you! :)

boonzeet

Developer of Pokemon: Secrets of the Ages
Member
Great script, looking forward to working it into our project!

ThatWelshOne_

Umbreon User
Moderator
Thank you very much!
I look forward to seeing how you implement it.

XIAOMAN

Rookie
Member
I want to use it in Pokemon Essentials v18.1 and have it in the Pokegear.
How should I edit the PScreen_Pokegear script?

ThatWelshOne_

Umbreon User
Moderator
I want to use it in Pokemon Essentials v18.1 and have it in the Pokegear.
How should I edit the PScreen_Pokegear script?
You would do the same thing I described to someone else in this reply, just in the PScreen_Pokegear script instead.
Just to note, this resource does not work in v18.1 by default. I did help a different person get it working in v18.1 in this reply if you didn't see it.

ZeDivingDutchman

Novice
Member
Here I am once again asking for your financial scripting support.
A method that returns true if a given quest is completed. I am not entirely smart in ruby, but I think I found the way.
I should be able to use getCompletedQuests and search the array for wether a specific quest is in there?

ThatWelshOne_

Umbreon User
Moderator
Here I am once again asking for your financial scripting support.
A method that returns true if a given quest is completed. I am not entirely smart in ruby, but I think I found the way.
I should be able to use getCompletedQuests and search the array for wether a specific quest is in there?
Yeah, I think that would work!
Let me know if you get stuck.

ZeDivingDutchman

Novice
Member
Ruby:
arr = []
arr = getCompletedQuests
if arr.to_s.include? "Quest3"
Kernel.pbMessage("YES")
#stuff happening when quest is completed
else
Kernel.pbMessage("NO")
#stuff happening when quest is NOT completed
end

I used this in an event, and after lots of trial and error with formatting, strings, quotes, erc.. it works!
Ruby:
arr.each do |num|

Kernel.pbMessage(num.to_s)

end
This can be added to get the in-game messagebox to show exactly which names are returned when asking for the array.

I managed to compact it into a method I added in 002_quest_main:

Ruby:
#my added function to see if quest is completed
def isQuestComplete?(quest)
arr = getCompletedQuests
if arr.to_s.include? quest.to_s
return true
end
return false
end

Then you just use
Ruby:
isQuestCompleted?("Quest3")
in an event.

Last edited:

ThatWelshOne_

Umbreon User
Moderator
Great! Thanks for sharing.

kittygwensuperhero

Rookie
Member
Shw'mae, fellow Welsh person.

Firstly, thanks for this resource it's incredibly easy to use.

Quick question: is there a way to hide the quest reward until after the quest is completed. Hiding it overall is easy, but I was wondering if it was possible to display what reward the player received upon quest hand in, if they later look back at their completed quests?
Thanks again!

ThatWelshOne_

Umbreon User
Moderator
Shw'mae, fellow Welsh person.

Firstly, thanks for this resource it's incredibly easy to use.

Quick question: is there a way to hide the quest reward until after the quest is completed. Hiding it overall is easy, but I was wondering if it was possible to display what reward the player received upon quest hand in, if they later look back at their completed quests?
Thanks again!
Oh, shwmae!
For your question, yes. Open the 003_Quest_UI.rb file in any text editor (prefer Notepad++) and find this chunk of code:
Ruby:
# Quest reward
questReward = $quest_data.getQuestReward(quest.id) if questReward=="nil" || questReward=="" questReward = "???" end Change it to this: Ruby: # Quest reward questReward =$quest_data.getQuestReward(quest.id)
active_quests = getActiveQuests
if questReward=="nil" || questReward=="" || active_quests.include?(quest.id)
questReward = "???"
end
Make sure you save the changes and recompile your plugins afterwards. You may need to delete PluginScripts.rxdata from the Data folder if it's being particularly stubborn about recompiling.

kittygwensuperhero

Rookie
Member
Oh awesome! Thank you very much.

TimeWarpHero

Novice
Member
Hi! I have installed your quest system and UI and used the fix you had mentioned before to make it compatible with Voltseon's Pause Menu (much appreciated!!). It does not come up in game however. I am very new at scripting so all I added was in 004_Quest_Date.rb and I just made up a quest to see if it added it in-game. I might've read your instructions wrong on how to really add quests. Thanks in advance!

ThatWelshOne_

Umbreon User
Moderator
Hi! I have installed your quest system and UI and used the fix you had mentioned before to make it compatible with Voltseon's Pause Menu (much appreciated!!). It does not come up in game however. I am very new at scripting so all I added was in 004_Quest_Date.rb and I just made up a quest to see if it added it in-game. I might've read your instructions wrong on how to really add quests. Thanks in advance!
Hi there! When you say "It does not come up in game however", do you mean the quests option isn't showing in the pause menu? Do you get an error message? If so, can you share a screenshot of the error message?

TimeWarpHero

Novice
Member
Hi there! When you say "It does not come up in game however", do you mean the quests option isn't showing in the pause menu? Do you get an error message? If so, can you share a screenshot of the error message?
Hi! The quest option is not showing up in the pause menu. I have no error messages either.

ThatWelshOne_

Umbreon User
Moderator
Hi! The quest option is not showing up in the pause menu. I have no error messages either.
If the option isn't in the pause menu, then you don't have any active/completed/failed quests.
Do you have something like the following in an event: activateQuest(:Quest1,colorQuest("blue"))

TimeWarpHero

Novice
Member
If the option isn't in the pause menu, then you don't have any active/completed/failed quests.
Do you have something like the following in an event: activateQuest(:Quest1,colorQuest("blue"))
I do not...I was so focused on the install and making a quest I forgot about adding an event. I'll try it out and get back to you. I appreciate it!

TimeWarpHero

Novice
Member
If the option isn't in the pause menu, then you don't have any active/completed/failed quests.
Do you have something like the following in an event: activateQuest(:Quest1,colorQuest("blue"))
That was the problem! Thanks again! I am new to scripting, coding and events so thanks for being patient with me.

DerxwnaKapsyla

Overseer of the Abyss
Member
This plugin looks really good and meets my really specific design interests, but I've looked and found it to be missing oen thing I think would make it be useful compared to most other Quest UIs; would there be a way to modify the Quest Description field to support multiple stages as well? Like, have it so the most recent description shows up above the second most recent, and so on and such forth, until it goes all the way back to the first stage. An example of this can be seen in Final Fantasy XIV's Quest Interface where it does this when you reach the next part of a quest.