Modern Quest System + UI

Resource Modern Quest System + UI 1.0.1

ThatWelshOne_

Umbreon User
Moderator
Joined
Sep 29, 2020
Posts
256
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!
 

XIAOMAN

Rookie
Member
Joined
Jul 27, 2021
Posts
1
Age
21
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
Joined
Sep 29, 2020
Posts
256
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
Joined
Feb 9, 2021
Posts
15
Age
27
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
Joined
Sep 29, 2020
Posts
256
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
Joined
Feb 9, 2021
Posts
15
Age
27
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:

kittygwensuperhero

Rookie
Member
Joined
Aug 9, 2021
Posts
2
Age
29
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
Joined
Sep 29, 2020
Posts
256
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.
 

TimeWarpHero

Novice
Member
Joined
Aug 31, 2021
Posts
19
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
Joined
Sep 29, 2020
Posts
256
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
Joined
Aug 31, 2021
Posts
19
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.
 

TimeWarpHero

Novice
Member
Joined
Aug 31, 2021
Posts
19
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
Joined
Aug 31, 2021
Posts
19
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
Joined
Apr 24, 2017
Posts
113
Age
28
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.
 
Top