• 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.
  • The Eevee Expo Game Jam has concluded! 🎉 Head on over to the game jam forum to play through the games.
    Don't forget to come back September 21st to vote for your favorites!
  • Reminder: AI-generated content is not allowed on the forums per the Rules and Regulations. Please contact us if you have any questions!
Modern Quest System + UI

Resource Modern Quest System + UI 1.1.0

It does. Thank you! How do I define rewards?
There are examples in 004_Quest_Data.rb that control what appears in the Reward box on the UI. Actually giving the player a reward of some kind is handled by you using pbReceiveItem or whatever.
Can you have repeatable quests?
Technically, yes. You can reactivate quests that have previously been completed. You'd just need to make sure all the quest objectives get reset which I imagine you'd do with self-switches.
 
There are examples in 004_Quest_Data.rb that control what appears in the Reward box on the UI. Actually giving the player a reward of some kind is handled by you using pbReceiveItem or whatever.

Technically, yes. You can reactivate quests that have previously been completed. You'd just need to make sure all the quest objectives get reset which I imagine you'd do with self-switches.
Is this right for making a quest with the red colour story related? I want to make sure it's right so I don't get any errors

activateQuest(:Quest1, colorQuest
("red"), true)
 

Attachments

  • Error.png
    Error.png
    460.3 KB · Views: 103
I already knew what your error was going to be based on how you pasted the code in your message before.
The error message tells you what's wrong. You've split the script over multiple lines at a point in the code that the interpreter doesn't understand. Do you know about extendtext.exe?

Alternatively, you can paste the code like this:
Ruby:
Expand Collapse Copy
activateQuest(
    :Quest1,
    colorQuest("red"),
    true)
(I think)
 
I already knew what your error was going to be based on how you pasted the code in your message before.
The error message tells you what's wrong. You've split the script over multiple lines at a point in the code that the interpreter doesn't understand. Do you know about extendtext.exe?

Alternatively, you can paste the code like this:
Ruby:
Expand Collapse Copy
activateQuest(
    :Quest1,
    colorQuest("red"),
    true)
(I think)
Yup, that did it
 
When I open up the pause menu (even on a new save) I get this error
Exception `NoMethodError' at 279:UI_PauseMenu:324 - undefined method `hasAnyQuests?' for nil:NilClass
 
V20.1 and no.
You put this in your UI_PauseMenu script?
Ruby:
Expand Collapse Copy
MenuHandlers.add(:pause_menu, :quests, {
  "name"      =>  _INTL("Quests"),
  "order"     => 50,
  "condition" => proc { next hasAnyQuests? },
  "effect"    => proc { |menu|
    pbPlayDecisionSE
    pbFadeOutIn {
      scene = QuestList_Scene.new
      screen = QuestList_Screen.new(scene)
      screen.pbStartScreen
      menu.pbRefresh
    }
    next false
  }
})
That shouldn't cause any problems.
 
How do I fix this?
[Pokémon Essentials version 20.1]
[v20.1 Hotfixes 1.0.7]

Error in Plugin: [Modern Quest System + UI]
Exception: SyntaxError
Message: [Modern Quest System + UI] 004_Quest_Data.rb:165: syntax error, unexpected symbol literal, expecting '}'
:Name => "Dynamax Research"
^
[Modern Quest System + UI] 004_Quest_Data.rb:173: syntax error, unexpected '}', expecting `end'
[Modern Quest System + UI] 004_Quest_Data.rb:177: syntax error, unexpected symbol literal, expecting '}'
:Name => "The Quickly Fading T...
^
[Modern Quest System + UI] 004_Quest_Data.rb:183: syntax error, unexpected '}', expecting `end'

Backtrace:
008:PluginManager:653:in `eval'
008:PluginManager:653:in `block (2 levels) in runPlugins'
008:PluginManager:643:in `each'
008:PluginManager:643:in `block in runPlugins'
008:PluginManager:634:in `each'
008:PluginManager:634:in `runPlugins'
389:Main:28:in `mainFunctionDebug'
389:Main:18:in `block in mainFunction'
014:Errors:80:in `pbCriticalCode'
389:Main:18:in `mainFunction'
 
How do I fix this?
[Pokémon Essentials version 20.1]
[v20.1 Hotfixes 1.0.7]

Error in Plugin: [Modern Quest System + UI]
Exception: SyntaxError
Message: [Modern Quest System + UI] 004_Quest_Data.rb:165: syntax error, unexpected symbol literal, expecting '}'
:Name => "Dynamax Research"
^
[Modern Quest System + UI] 004_Quest_Data.rb:173: syntax error, unexpected '}', expecting `end'
[Modern Quest System + UI] 004_Quest_Data.rb:177: syntax error, unexpected symbol literal, expecting '}'
:Name => "The Quickly Fading T...
^
[Modern Quest System + UI] 004_Quest_Data.rb:183: syntax error, unexpected '}', expecting `end'

Backtrace:
008:PluginManager:653:in `eval'
008:PluginManager:653:in `block (2 levels) in runPlugins'
008:PluginManager:643:in `each'
008:PluginManager:643:in `block in runPlugins'
008:PluginManager:634:in `each'
008:PluginManager:634:in `runPlugins'
389:Main:28:in `mainFunctionDebug'
389:Main:18:in `block in mainFunction'
014:Errors:80:in `pbCriticalCode'
389:Main:18:in `mainFunction'
What does your quest data for this quest look like?
 
SyntaxEditor Code Snippet Quest13 = {
:ID => "13"
:Name => "Dynamax Research"
:QuestGiver => "Dynamax Dude"
:Stage1 => "Find a Wishing Star for the Dynamax Dude."
:Stage2 => "Bring the Wishing Star to the Dynamax Dude."
:Location1 => "Celestine City"
:Location2 => "Dynamax Field"
:QuestDescription => "Help the Dynamax Dude research Dynamax because he has no Pokémon."
:RewardString => "A Dynamax Band"
}
 
SyntaxEditor Code Snippet Quest13 = {
:ID => "13"
:Name => "Dynamax Research"
:QuestGiver => "Dynamax Dude"
:Stage1 => "Find a Wishing Star for the Dynamax Dude."
:Stage2 => "Bring the Wishing Star to the Dynamax Dude."
:Location1 => "Celestine City"
:Location2 => "Dynamax Field"
:QuestDescription => "Help the Dynamax Dude research Dynamax because he has no Pokémon."
:RewardString => "A Dynamax Band"
}
I guess you need a comma at the end of every line except the RewardString line if that's exactly how you've written the data.
 
I get this error when starting a quest now
[Pokémon Essentials version 20.1]
[v20.1 Hotfixes 1.0.7]

Script error in event 3 (coords 24,18), map 266 (Dolerite Town)
Exception: NameError
Message: uninitialized constant Interpreter::Quest14

***Full script:
activateQuest(Quest14, "yellow", false)

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'

Do I just have to change the name to what the quest's name is?
 
Back
Top