A downloadable asset pack

Download NowName your own price

If you like this plugin, you can buy me a Ko-Fi! You can also find all the pay plugins for a cheaper subscription!


This is my take on a simple QuestLog plugin, it's nothing exceptional, it's really basic, but I tried to make it as customizable as possible to make it compatible with multilanguage games.


The core functionality is really simple, create quest, display quest, remove quest. That's it.

What may be of interest for someone who doesn't write is own plugin is the (I hope) versatility.


How to call the questlog:

  • You can do it by script line
  • You can do it by Plugin Command
  • You can add a command in the main menu activating the option in the Plugin Parameters. You can also rename the command either via Plugin Parameter or Plugin Command.

How to create a quest:
Quest will be created by Plugin Command with the following parameters:

  • ID: The ID of the quest, useful to use Remove Quest and Set Quest Completion commands. Please be sure to use unique ID and I suggest to keep track of your quests on a note somewhere as you can check it in game.
  • Icon: It will show the desired Icon in the Quest Info window. Of course it refer to the games Icons.
  • Name: The quest name, keep it short.
  • Index: The order it will be displayed on the quest list. (First the active quest will be ordererd, then the completed quests)
  • Giver: Who gave you the quest [NOTE: Standard format will be "From: (this value). You can change "From:" via Plugin Parameter or Plugin Command]
  • Area: Where is located the quest [NOTE: Standard format will be "Area: (this value). You can change "Area:" via Plugin Parameter or Plugin Command]
  • Description: The description of the text. IMPORTANT: Text doesn't line break automatically, it will try to fit in the window by shrinking. For this reason I added a check that will search for \n line break and splits the text into a new line.
  • Completion: From Version 1.3 the quest can be Ongoing (active), Completed or Failed! [NOTE: Standard format will be "Status: Ongoing/Completed. You can change "Status:", "Ongoing" and "Completed" via Plugin Parameter or Plugin Command]


Layout:

The layout is really simple, a Title window showing the name for the QuestLog (you can edit the title via Plugin Parameters and Plugin Command; also you can edit the font size, for now only via Plugin Parameter), a window showing an ordered quest list and a window showing the active quest informations.


Managing the plugin:

As I said before, you need to add the quests via Plugin Command, you can set their completion always via Plugin Command either by name (exact name) or by ID. In the same way, you can remove the quests from the list.


Terms of use

Please refer to the Terms of Use. By using this plugin you accept WinterDream terms


Version, bugs and further development

VERSION 1.0:

  • Initial Release

VERSION 1.1:

  • Added new plugin command to edit an existing quest description by ID or Quest Name
  • Added new Plugin Command to change FontSize

VERSION 1.2:

  •  Merged "Set Completion by ID / by Name" and "Remove Quest by ID / by Name"
  •  Changed font size for the Quest List and Quest Description, you can change them via Plugin Parameters or Plugin Command 
  •  Changed the alignemnt con Quest List from "left" to "Center", can be changed via Plugin Parameter
  •  Created a command that checks if a quest is completed and stores the result in a Switch of your choice (ON for Complete, OFF for Ongoing)
  • Created a plugin command to change the Quest Icon searching it by ID or Name

VERSION 1.2.1:

  •   Fixed an issue reported by Grillmonger where QuestList would wipe if game was closed entirely and then reloaded. Upon further investigation the fix  was extended to the other Plugin Parameters too (Such as Title Font, etc..) that would not carry over the changes if done via Plugin Command

 VERSION 1.2.2: 

  • Hotfix for changes made in 1.2.1 as Plugin Parameters from Plugin Manager where not correctly loaded (Report by Grillmonger)

 VERSION 1.3: 

  •  Updated the code to a newer version with, but not limited to, tweaks to the save and load functionality.   
  • Added the "Failed" status to the Quests with the needed changes to "Add Quest", "Set Completion" and "Check Completion". Added bits of code to allow retrocompatibility with the older versions.   
  • Added the option to Autoset the Description Font Size, the plugin will range from a font size of 100 to a font size of 10, trying to fit the text both in width and height. You still need to break the lines with \n as before. The autosize text is only left aligned due to a limitation of the DrawTextEx feature used. (On the positive side, it should accept the usual RMMZ text code like \I for icons, didn't tried it)
  • Added the possibility to add a longer title that will be displayed in the Quest Informations window (while the short name will be used for the quest list on the left). If you don't need it just leave blank the field.
  • Minor fix on a bug that could cause the menu button to change name due to a conflict with the Quest List items

VERSION 1.3.1:

  • Hotfix for a small bug that would turn the menu command name to "true", thanks to ryf for the report!

VERSION 1.3.2:

  • Fixed an old part of the code creating two problems: A black layer under the scene and no centering if the Game UI was changed from the System 2 tab as reported from ryf and Puppet Knight

VERSION 1.4:

  •  Added the setting to show or hide the title in the QuestLog
  •  Added the possibility to switch the quest list / quest info layout
  •  Added the option to use 100% of the graphic box (standard setting for this plugin) or 90% (standard RPG Maker MZ scene compatible with cancel touch button)
  •  Added the possibility to hide the cancel touch button (useful for 100% size, but make sure the player has access to non touch controls)
  •  Added the possibility to change the windows skin for the QuestLog only, also you can change the colors tone (by re-selecting the default skin you can apply different color tones to it)
  •  Added a new plugin command to change all the above mid-game

VERSION 1.5:

  • Fixed an unexpected behaviour in the Auto Size description text that resets the font size after correctly finding the fitting value
  • Added a padding value to the text to have the desired look to the text graphic
  • Added a full support for RMMZ text codes while keeping the alignment options
  • Minor tweaks to the Plugin Parameters
  • Now the plugin will automatically support compatibility with v1.1 or lower without having to choose different files


Further developments will include: Adding a display for the current quests in the game map that can be controlled either by the player or the dev


StatusReleased
CategoryAssets
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorWinterDream Games Creator
TagsDRM Free, plugin, quest, questog, RPG Maker, RPG Maker MZ

Download

Download NowName your own price

Click download now to get access to the following files:

WD_Quest.js 37 kB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

My Windows Defender say it's a Virus!, Specifically a Trojan, WHEN IT'S NOT!, can you tell me why windows defender says it's a virus?

Sadly .JS files are often false positives, nothing I can do about it. 
Sometimes happens with Chrome Download too.

I really don't understand why as it's well known that JS can't carry virus or malware software :(

Hey, is there a way to display a variable value in the quest description?

As in "Collect this item, 0/7" but the counter goes up for each of the item collected.

Not right now but that would be a nice and easy addition, I'll make an update in these days :)

Following the previous answer: It is possible right now if you activate Dynamic Size Text, it allows all RMMZ text commands such as \V[4] to read variable 4. I'll make a work around to allow it in descriptions that don't use Dynamic Size Text

v1.5 is out an let's you use RMMZ text codes and alignement settings with any option you like (Auto Sizer or Manual)

You're a champion. Thanks :)

Can you make the option to implement it on VS OPTIONS CORE?

Sorry but I can't do it from my plugin, you have to set up a new option in VS Option Core and on "Process OK" call this: SceneManager.push(SceneManager.Scene_Quest);

Hello. I am unsure if this is a bug you can fix, or if I did something wrong, but let me describe it. In my game you are given an opening monologue and a quest at the start. After playtesting, I discovered that if you die without a save file forcing you to the main menu, and create a new game, the quest log from the previous session is still there. As a temporary fix, I have the game write over save file 19 when first creating a new game as of now. But I would like to know if you can somehow fix this. I was also using version 1.3.2 so if this was fixed in 1.4 I would like to ask if I can import the new update without needing to change any of my old code? Thank you for making this plug in! I will be sure to credit you in my game!

Hi, 

So the bug is happening if you die, go to the screen and start over without closing the game?

That's strange as the plugin should be saving the informations in the same set of info that goes into the save.

I'll try to recreate the bug and seek a solution, thanks for the report :)

yes, to give the specifics, if you die while having No saves at all in the game the quest log from the previous game is still there when you start a new game. Through testing even if you just backed out to the main menu with no saves you could stack the opening quest over and over again. So it seems to be some issue with the quest being given without their technically being a saved file. Though I am unsure as I haven’t looked at the code myself. Sorry for the late replay.

some more pertinent information, when closing the executable, the stacked quests do go away, so I don’t think it’s unsolvable as it isn’t technically “saved” information. I think it may be that an unsaved games data is essentially saved in an invisible slot and making a new game “loads” into that slot without clearing the data from plug ins maybe? That’s my current hypothesis.

of course none of this is a complaint to your work, if it is truly unsolvable I can just continue with the current solution of saving to the last available slot.

No worries at all, I appreciate the input!

I'm unable to re-create the bug, if I exit a game / cause a Game Over and restart a new game it doesn't carry over the Quests.


Can you tell me how the game over is triggered and if you have any plugin impacting on game over / saved files?

How do I change the quest from in-progress to completion? I'm new to plugins and scripts, so I'm not sure. I'm sorry

Via event or common event, you need to go in the last tab of the event: "Plugin command", select WD_Quest plugin, "Set Quest Completion Parameter" and enter the ID or Exact name of the quest (case sensitive) and Status: Completed.

Hope it helps!

I do enjoy how easy it is to set up quests with this plugin, but I noticed when I exit and continue the game the quests are all removed. Is there a step I missed, or possible issues with another plugin? Just reaching out in hopes you may know of a resolution before I dig too deep into this issue.

(+1)

Hi there, 

I looked up and the problem seem to be in my plugin, thank you for the report, I'll patch it up first thing tomorrow morning, should be an easy fix

(+1)

The fix for the QuestLog is out, thanks again for the report!

Just tested and it is working great!
Thank you for the quick fix and response.

After further use, the plugin parameters may be broken for changing the prefix for words.
Example: I changed 'QuestLog' to 'Journal', but still says QuestLog in game. Same for the other prefix options they are not changing.

It has probably to do with the SaveParameters new function, I guess you made the change by Plugin Manager?


I'll be able to easily fix it tomorrow, if you want a temp fix you can do the changes via Plugin Command and they should work correctly

Changing them with commands worked, thank you.

Great to hear!

If you prefer working with Plugin Parameters I've released the hotfix ;)