Chaos Project

RPG Maker => RPG Maker Scripts => RMXP Script Database => Topic started by: G_G on May 31, 2009, 08:12:58 pm

Title: [XP] Quest Log System
Post by: G_G on May 31, 2009, 08:12:58 pm
Quest Log System
Authors: game_guy
Version: 3.0
Type: Mission Logger
Key Term: Misc System



Introduction

A script that keeps track of quests you obtain and complete.


Features




Screenshots
Spoiler: ShowHide
(http://i678.photobucket.com/albums/vv143/GameGuysProjects/1-21-20107-34-54PM.png)



Demo

Mediafire (http://www.mediafire.com/download.php?mjmjtw2nham)


Script

Spoiler: ShowHide

#===============================================================================
# Quest Log System
# Author game_guy
# Version 3.0
#-------------------------------------------------------------------------------
# Intro:
# A script that keeps track of quests you obtain and complete.
#
# Features:
# Marks quest names with a yellow color if they're completed
# Easy to setup one quest
# Be able to use a fairly long description
# Be able to display a picture
# Easy to add and complete a quest
# More compatible than earlier versions
#
# Instructions:
# Scroll down a bit until you see # Being Config. Follow the instructions there.
# Scroll below that and you'll see Begin Quest Setup. Follow the steps there.
#
# Script Calls:
# Quest.add(id) ~ Adds the quest(id) to the parties quests.
# Quest.take(id) ~ Takes the quest(id) from the party.
# Quest.complete(id) ~ Makes the quest(id) completed.
# Quest.completed?(id) ~ Returns true if the quest(id) is completed.
# Quest.has?(id) ~ Returns true if the party has quest(id).
#
# Credits:
# game_guy ~ for making it
# Beta Testers ~ Sally and Landith
# Blizzard ~ Small piece of code I borrowed from his bestiary
#===============================================================================
module GameGuy
 #==================================================
 # Begin Config
 # UsePicture ~ true means it'll show pictures in
 #              the quests, false it wont.
 #==================================================
 UsePicture   = true
 
 def self.qreward(id)
   case id
   #==================================================
   # Quest Reward
   # Use when x then return "Reward"
   # x = id, Reward = reward in quotes
   #==================================================
   when 1 then return "100 Gold"
   when 2 then return "3 Potions"
   when 3 then return "Strength Ring"
   end
   return "????"
 end
 
 def self.qpicture(id)
   case id
   #==================================================
   # Quest Picture
   # Use when x then return "picture"
   # x = id, picture = picutre name in quotes
   #==================================================
   when 1 then return "ghost"
   end
   return nil
 end
 
 def self.qname(id)
   case id
   #==================================================
   # Quest Name
   # Use when x then return "name"
   # x = id, name = quest name in quotes
   #==================================================
   when 1 then return "Village Hunt"
   when 2 then return "Pay Tab"
   when 3 then return "Hunting Knife"
   end
   return ""
 end
 
 def self.qlocation(id)
   case id
   #==================================================
   # Quest Location
   # Use when x then return "location"
   # x = id, location = location in quotes
   #==================================================
   when 1 then return "Arton Woods"
   when 2 then return "Eeka"
   when 3 then return "Eeka"
   end
   return "????"
 end
 
 def self.qdescription(id)
   case id
   #==================================================
   # Quest Description
   # Use when x then return "description"
   # x = id, description = quest description in quotes
   #==================================================
   when 1 then return "Capture 10 animals and bring back the meat."
   when 2 then return "Bring gold to Jarns Defense to pay her tab."
   when 3 then return "Go get Kip a hunting knife from Eeka."
   end
   return ""
 end
 
end

module Quest
 
 def self.add(id)
   $game_party.add_quest(id)
 end
 
 def self.take(id)
   $game_party.take_quest(id)
 end
 
 def self.complete(id)
   $game_party.complete(id)
 end
 
 def self.completed?(id)
   return $game_party.completed?(id)
 end
 
 def self.has?(id)
   return $game_party.has_quest?(id)
 end
 
end
 
class Game_Party
 
 attr_accessor :quests
 attr_accessor :completed
 
 alias gg_quests_lat initialize
 def initialize
   @quests = []
   @completed = []
   gg_quests_lat
 end
 
 def add_quest(id)
   unless @quests.include?(id)
     @quests.push(id)
   end
 end
 
 def completed?(id)
   return @completed.include?(id)
 end
 
 def complete(id)
   unless @completed.include?(id)
     if @quests.include?(id)
       @completed.push(id)
     end
   end
 end
 
 def has_quest?(id)
   return @quests.include?(id)
 end
 
 def take_quest(id)
   @quests.delete(id)
   @completed.delete(id)
 end
 
end
class Scene_Quest
 def main
   @quests = []
   for i in $game_party.quests
     @quests.push(GameGuy.qname(i))
   end
   @map = Spriteset_Map.new
   @quests2 = []
   for i in $game_party.quests
     @quests2.push(i)
   end
   @quests.push("No Quests") if @quests.size < 1
   @quests_window = Window_Command.new(160, @quests)
   @quests_window.height = 480
   @quests_window.back_opacity = 110
   Graphics.transition
   loop do
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   end
   @quests_window.dispose
   @quest_info.dispose if @quest_info != nil
   @map.dispose
 end
 def update
   @quests_window.update
   if @quests_window.active
     update_quests
     return
   end
   if @quest_info != nil
     update_info
     return
   end
 end
 def update_quests
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     $scene = Scene_Menu.new
     return
   end
   if Input.trigger?(Input::C)
     $game_system.se_play($data_system.decision_se)
     @quest_info = Window_QuestInfo.new(@quests2[@quests_window.index])
     @quest_info.back_opacity = 110
     @quests_window.active = false
     return
   end
 end
 def update_info
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     @quests_window.active = true
     @quest_info.dispose
     @quest_info = nil
     return
   end
 end
end
class Window_QuestInfo < Window_Base
 def initialize(quest)
   super(160, 0, 480, 480)
   self.contents = Bitmap.new(width - 32, height - 32)
   @quest = quest
   refresh
 end
 def refresh
   self.contents.clear
   if GameGuy::UsePicture
     pic = GameGuy.qpicture(@quest)
     bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil
     rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil
     self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil
   end
   self.contents.font.color = system_color
   self.contents.draw_text(0, 0, 480, 32, "Quest:")
   self.contents.font.color = normal_color
   self.contents.draw_text(0, 32, 480, 32, GameGuy.qname(@quest))
   self.contents.font.color = system_color
   self.contents.draw_text(0, 64, 480, 32, "Reward:")
   self.contents.font.color = normal_color
   self.contents.draw_text(0, 96, 480, 32, GameGuy.qreward(@quest))
   self.contents.font.color = system_color
   self.contents.draw_text(0, 128, 480, 32, "Location:")
   self.contents.font.color = normal_color
   self.contents.draw_text(0, 160, 480, 32, GameGuy.qlocation(@quest))
   self.contents.font.color = system_color
   self.contents.draw_text(0, 192, 480, 32, "Completion:")
   self.contents.font.color = normal_color
   if $game_party.completed.include?(@quest)
     self.contents.font.color = crisis_color
     self.contents.draw_text(0, 224, 480, 32, "Completed")
   else
     self.contents.font.color = normal_color
     self.contents.draw_text(0, 224, 480, 32, "In Progress")
   end
   self.contents.font.color = system_color
   self.contents.draw_text(0, 256, 480, 32, "Description:")
   self.contents.font.color = normal_color
   text = self.contents.slice_text(GameGuy.qdescription(@quest), 480)
   text.each_index {|i|
       self.contents.draw_text(0, 288 + i*32, 480, 32, text[i])}
 end
end
class Bitmap
 
 def slice_text(text, width)
   words = text.split(' ')
   return words if words.size == 1
   result, current_text = [], words.shift
   words.each_index {|i|
       if self.text_size("#{current_text} #{words[i]}").width > width
         result.push(current_text)
         current_text = words[i]
       else
         current_text = "#{current_text} #{words[i]}"
       end
       result.push(current_text) if i >= words.size - 1}
   return result
 end
 
end


If you use RMX-OS and you would like to use this script with it. Place the above script below RMX-OS. Then place the plugin below beneath the above script.
Spoiler: ShowHide
if !defined?(RMXOS) || RMXOS::VERSION < 1.09
 raise 'ERROR: The "Blizz-ABS Controller" requires RMX-OS 1.09 or higher.'
end
module RMXOS
 module Options
   SAVE_DATA[Game_Party].push('@quests')
   SAVE_DATA[Game_Party].push('@completed')
 end
end



Instructions

In the script.

Looking for a fast way to configure this? Check out mroedesigns' config tool!
http://forum.chaos-project.com/index.php/topic,10125.new.html#new


Compatibility

Not tested with SDK.
Works with all of my scripts and blizzard's scripts. (Tested with most add-ons and all of his scripts)


Credits and Thanks




Author's Notes

Enjoy and give credits
Title: Re: [XP] Quest Log System
Post by: Sally on May 31, 2009, 08:14:40 pm
Very nice and simple script, i suggest using it for its simplicity.
Title: Re: [XP] Quest Log System
Post by: G_G on May 31, 2009, 08:16:47 pm
thanks sally I decided to make my own quest log when I couldnt find one with a right layout and/or making a quest easily.
Title: Re: [XP] Quest Log System
Post by: Yin on June 01, 2009, 12:40:18 am
OK, I just tested it out and it's actually pretty good! I liked it, but the quest info does look a bit empty. My suggestion, try putting the actual description in the area that's empty (the complete right side). Throw in an option to show a picture on the bottom. I did a quick mockup. Here:
(http://img.photobucket.com/albums/v312/Yinyamina/Suggestions.jpg)
Those would make it perfect. But those are just suggestions.
Title: Re: [XP] Quest Log System
Post by: Calintz on June 01, 2009, 01:53:50 am
Looks cool.
Title: Re: [XP] Quest Log System
Post by: Kagutsuchi on June 01, 2009, 10:16:55 am
It works good, serves its purpose. Go with Yin's suggestion, thats all I can say.
Title: Re: [XP] Quest Log System
Post by: G_G on June 03, 2009, 12:09:55 am
*Updates* New features are
Longer Descriptions
Description is in better format
$quest.complete(item id) now completes the quest
And more
Title: Re: [XP] Quest Log System
Post by: Holyrapid on June 28, 2009, 06:44:14 am
So, if i want to add the quest menu option to the main menu in the game, do i just add the $quest.new thing somewhere? And if so, is it addable to STCMS (Storm tronics CMS)
Title: Re: [XP] Quest Log System
Post by: Jackolas on June 28, 2009, 07:04:41 am
you need to add
@scene = Scene_Quest.new

somewhere in the STCMS script
Title: Re: [XP] Quest Log System
Post by: Holyrapid on June 28, 2009, 07:13:05 am
Does it matter where i approx pput it? Do i just shove it to the end or, into some other part...
Title: Re: [XP] Quest Log System
Post by: G_G on June 28, 2009, 09:56:51 am
as long as you dont have a custom save system above it you can place it anywhere.
Title: Re: [XP] Quest Log System
Post by: Holyrapid on June 28, 2009, 10:07:30 am
Do i add the snipplet as it´s own, or do i put inside another script?
You approx. know what the STCMS looks like, so i just want to add a manu for the quest created with your quest script.
Title: Re: [XP] Quest Log System
Post by: G_G on June 28, 2009, 12:43:08 pm
Well if you're using this with STCMS just place it above it. It can be under neath it and still work but the scripts need to be in order according to blizz's.

RTP Scripts
SDK (If have it)
custom scripts
blizz's scripts
main
Title: Re: [XP] Quest Log System
Post by: Hellfire Dragon on June 28, 2009, 06:14:06 pm
Awesomeness :D Will this work with RMX-OS?
Title: Re: [XP] Quest Log System
Post by: G_G on June 28, 2009, 06:21:06 pm
The saving will need to be a bit altered is all. So it saves quests. I'll make an rmx-os add on when a later version of rmx-os comes out. If you want it now I'll make one.
Title: Re: [XP] Quest Log System
Post by: Holyrapid on June 29, 2009, 02:57:46 am
I´ve got working now. Thanks to Jackolas.
Title: Re: [XP] Quest Log System
Post by: Blizzard on June 29, 2009, 04:48:59 am
Quote from: Hellfire Dragon on June 28, 2009, 06:14:06 pm
Awesomeness :D Will this work with RMX-OS?


You'll have to define another save variable in RMX-OS for this to work properly.
Title: Re: [XP] Quest Log System
Post by: G_G on June 29, 2009, 04:50:43 am
Which I saw in the options. I've already figured out how to do it all. It shouldnt be too hard to make a small side plugin for it ;)
Title: Re: [XP] Quest Log System
Post by: G_G on July 06, 2009, 02:45:14 pm
fixed a minor bug
Title: Re: [XP] Quest Log System
Post by: Calintz on July 09, 2009, 01:04:24 am
I like this system.
It's quite simple, and very effective.
Title: Re: [XP] Quest Log System
Post by: vacancydenied on July 27, 2009, 10:59:39 am
Is it possible to add this as something you can view in the menu? I really like this script it seems simple enough for a noob like me to use. I might add it once I flesh out my game some more but after I get all the effects from the scripts I am using just right. =)
Title: Re: [XP] Quest Log System
Post by: Hellfire Dragon on July 27, 2009, 12:34:34 pm
http://forum.chaos-project.com/index.php?topic=164.0 (http://forum.chaos-project.com/index.php?topic=164.0)

Section six.
Title: Re: [XP] Quest Log System
Post by: G_G on January 21, 2010, 10:47:10 pm
*Updates*
Changed some features and made it way more compatible. An RMX-OS Plugin will be made shortly. If anyone needs it right away let me know.

Let me know if there's anything wrong with this. And sorry for the late update, I actually had the updated script for over 2 months now. Anyways here it is.
Title: Re: [XP] Quest Log System
Post by: Dudeidu on February 11, 2010, 12:21:12 pm
Hey,
Great script, ifind it realy useful   :).
I have a little issue:
When there is no quest active and i try to open the quest window this is what happens:
(http://cubeupload.com/files/93b400233.png)

Thanks  :D.
Title: Re: [XP] Quest Log System
Post by: G_G on February 11, 2010, 04:13:56 pm
Maybe you should disable opening quests until a quest is obtained then. I really don't have a fix for it.

I can try to figure one out later.
Title: Re: [XP] Quest Log System
Post by: crzyone9584 on February 11, 2010, 05:54:55 pm
When will the rmx-os add on be for this? It's an awesome one but i have no clue how to save to the system yet. Been trying to figure it out with other saving parts in different scripts.
Title: Re: [XP] Quest Log System
Post by: G_G on February 22, 2010, 11:02:47 pm
Updated it with rmx-os plugin.
Title: Re: [XP] Quest Log System
Post by: crzyone9584 on February 23, 2010, 01:16:29 am
I got the following error

QuoteScript '(RMX-OS) Quest System Save' line 6: NameError Occurred.
uninitialized constant RMXOS::OPTIONS::SAVE_DATA


should i re-create my save table?
Title: Re: [XP] Quest Log System
Post by: G_G on February 23, 2010, 08:42:13 am
Fixed. I spelled Options as OPTIONS.
Title: Re: [XP] Quest Log System
Post by: crzyone9584 on February 23, 2010, 06:15:03 pm
Since i added the save system I'm getting this error

QuoteScript 'Quest Log' line 149: NoMethodError Occurred.
undefined method 'include?' for nil:NilClass


I get that when i add a quest.
Title: Re: [XP] Quest Log System
Post by: G_G on February 23, 2010, 07:35:00 pm
You should probably wipe your save data then. If that doesn't work I'll take a look at it later.
Title: Re: [XP] Quest Log System
Post by: crzyone9584 on February 24, 2010, 02:30:55 am
Just a question but why does it require Blizz-ABS ?

if !defined?(RMXOS) || RMXOS::VERSION < 1.09
  raise 'ERROR: The "Blizz-ABS Controller" requires RMX-OS 1.09 or higher.'

Title: Re: [XP] Quest Log System
Post by: Blizzard on February 24, 2010, 02:47:07 am
Quote from: Hellfire's G_G on May 31, 2009, 08:12:58 pm
If you use RMX-OS and you would like to use this script with it. Place the above script below RMX-OS. Then place the plugin below beneath the above script.
if !defined?(RMXOS) || RMXOS::VERSION < 1.09
 raise 'ERROR: The "Blizz-ABS Controller" requires RMX-OS 1.09 or higher.'
end
module RMXOS
 module Options
   SAVE_DATA[Game_Party].push('@quests')
   SAVE_DATA[Game_Party].push('@completed')
 end
end


G_G just didn't rename the error message that is being displayed.
Title: Re: [XP] Quest Log System
Post by: crzyone9584 on February 24, 2010, 03:01:09 am
so i can replace that with

raise 'ERROR: "The Quest Log" requires RMX-OS 1.09 or higher'

Title: Re: [XP] Quest Log System
Post by: Blizzard on February 24, 2010, 06:05:28 am
Yeah. It's just an error message, it's not relevant for the player, only for the game developer.
Title: Re: [XP] Quest Log System
Post by: G_G on February 24, 2010, 08:55:22 am
I forgot to change the error message. -_- Copied and pasted code D:
Title: Re: [XP] Quest Log System
Post by: Blizzard on February 24, 2010, 08:59:43 am
If you hadn't take it from one of my scripts, you'd have taken it from the chapter about plugins in the manual so it's fine. :P
Title: Re: [XP] Quest Log System
Post by: Sima Yi on February 27, 2010, 09:04:07 am
Quite a nice script and I should have used it earlier  :P
Title: Re: [XP] Quest Log System
Post by: Alton Wyte on March 06, 2010, 12:55:57 pm
What command would I use to check if there are no quests, so that it will play the buzzer instead of throwing an error? And What command would I put in Scene_Save to save the quests?
Title: Re: [XP] Quest Log System
Post by: G_G on March 06, 2010, 01:16:39 pm
The quests save on its own. And I put up a fixed version. It should fix that error.
Title: Re: [XP] Quest Log System
Post by: Alton Wyte on March 06, 2010, 01:43:53 pm
I replaced it, but now whenever I try to enter the menu the RGSS player stops working.
Title: Re: [XP] Quest Log System
Post by: Landith on March 08, 2010, 07:23:42 pm
That would be because your using an illegal version of RMXP...
I'm too tired to think of how to fix it, I know it's really simple like changing the J to an E and the last number to a 2.
In the config file with your game.
Title: Re: [XP] Quest Log System
Post by: Alton Wyte on March 08, 2010, 07:31:08 pm
No, I have the legal version. I got it from the RMXP site and purchased it.
Title: Re: [XP] Quest Log System
Post by: G_G on March 08, 2010, 09:06:07 pm
It works fine for me. So it might be another script conflicting with it. I just added one line so it doesnt crash anymore. Thats it.
Title: Re: [XP] Quest Log System
Post by: Alton Wyte on March 09, 2010, 06:19:00 pm
I don't know why, I did nothing, but the next day I got on and it didn't crash anymore.
Title: Re: [XP] Quest Log System
Post by: TheSabreStorm on March 23, 2010, 10:45:46 pm
Okay...so...  I feel COMPLETELY stupid at the moment.  It's been awhile since I messed with RMXP, so I'm a bit rusty on things.

Regardless, I can't figure out just where to put this script.  I don't have any other scripts (yet) in the database, so where does this go, exactly?
Title: Re: [XP] Quest Log System
Post by: WhiteRose on March 23, 2010, 10:49:40 pm
Below everything else, except Main. Once you begin to use more scripts, Blizz posted a sticky topic showing what the order in which you should place your scripts.
Title: Re: [XP] Quest Log System
Post by: TheSabreStorm on March 23, 2010, 11:01:14 pm
Okay...well...I didn't see this one listed in Blizzard's post, presumably because this isn't his.  Either way, I put it below all the RTP scripts and above main, but it's not doing anything that I can tell.  I named it Quest Log System.  Is this incorrect?
Title: Re: [XP] Quest Log System
Post by: WhiteRose on March 23, 2010, 11:10:39 pm
No, that's correct. The script is functioning properly. To see your quest log, you must use a script call containing:
$scene = Scene_Quest.new

For instructions on adding quests, marking them as complete, etc., see the instructions as the beginning of the script. If you need more help, try downloading the demo in the first post and seeing how it is done.
Title: Re: [XP] Quest Log System
Post by: TheSabreStorm on March 23, 2010, 11:22:36 pm
Okay...  I'm stupid.

Do you have to set the thing up on an item or something?  I used the script call on an action-button triggered event and it pulled the log up no problem.  ><
Title: Re: [XP] Quest Log System
Post by: crzyone9584 on March 23, 2010, 11:25:12 pm
Quote from: TheSabreStorm on March 23, 2010, 11:22:36 pm
Okay...  I'm stupid.

Do you have to set the thing up on an item or something?  I used the script call on an action-button triggered event and it pulled the log up no problem.  ><



All quests are set up through the script. If you read threw the script you will notice how it is set up.
Title: Re: [XP] Quest Log System
Post by: TheSabreStorm on March 23, 2010, 11:37:19 pm
Yeah, I can see that much.  I just couldn't figure out how to get the thing initiated.  Now that I have that figured out, the rest should be breezy.  Before I get too far into it, though, anybody have any idea how to impose a time limit on a quest?  I have to rewrite my entire scripts from before that I had for random weather effects, day-to-night shifts, and the calendar...but that won't be too hard.  Included in that whole script sequence was an idea for time-limited quests, but I never got around to doing it before my computer crashed and I lost all my stuff.
Title: Re: [XP] Quest Log System
Post by: WhiteRose on March 23, 2010, 11:43:18 pm
A time limit meaning a certain amount of in-game days, or a certain amount of real time minutes? The minutes timer is already hard-coded into the RMXP program. For an in-game amount of time, you'd need to be using a system such as Blizz's ATES. Then do something like this:
1. When the timer begins, store the hour (or day amount; for help with setting up days, see my Calendar System in the Event Systems Database) to a variable.
2. Add a certain amount to that variable, indicating when the time would run out.
3. Create a Parallel Process event (make it a common event as well if the player will be going between maps) that checks if the time is greater than the variable. If so, then call the quest failure or game over screen or whatever.

There might be some flaws with this system as I just wrote it as I thought of it, but with a little tweaking you should be able to get it to work with whatever you need.
Title: Re: [XP] Quest Log System
Post by: TheSabreStorm on March 23, 2010, 11:51:30 pm
Well, as I said, I had an event system set up that basically began a timer at the start of the game.  This timer controlled the day-to-night sequence and initialized the random weather generator.  If you slept at an inn, it automatically bumped the "game time" to the next day.  It all had a controlled day, day of the week week, month, and year system set up and an item that allowed you to pull the information to see the time, day, day of the week, month, and year.

I could easily institute it with this system, I think, but as I said, I have to go back and completely redo my system since I lost all the event scripting for it.  I was mostly just curious to see if anyone had another solution.  I'll be sure to check out your Calendar System, though.
Title: Re: [XP] Quest Log System
Post by: flrodude on June 17, 2010, 03:39:00 pm
I'm confused.  :???:  Ok, i added a new quest into the person's log, but how do i OPEN the log?
Title: Re: [XP] Quest Log System
Post by: G_G on June 18, 2010, 02:00:30 am
Scene_Quest.new sorry for not placing in instructions
Title: Re: [XP] Quest Log System
Post by: lonely_cubone on June 18, 2010, 08:41:51 am
To be slightly more precise, call a script command, with the following code:

$scene = Scene_Quest.new

Just in case you don't know the exact syntax ;)
Title: Re: [XP] Quest Log System
Post by: Murd on June 23, 2010, 09:39:40 am
I'm currently using this script and found out it is very useful, simple but effective.
However; I'm not very good at Eng so I don't really understand how to use it
properly..

Here is a simulated quest senario, (please answer my ???)

1) Once you accept a quest -> call script Quest.add(id)
2) Suppose a quest you accepted is to bring back 10 potions to the quest giver,
    when you already got 10 -> call script ???
3) When you return potions to the quest giver -> call script ???

As the description says "Marks quest names with a yellow color if they're completed",
how to make the quest name marked yellow once complete?

Firstly I tried figure it out but I couldn't find the difference between
quest.complete(id) and quest.completed?(id) and what is the purpose of
call script quest.had?(id) ??

Can anyone help me about this?

Thank you so much,



Title: Re: [XP] Quest Log System
Post by: nathmatt on June 23, 2010, 10:00:29 am
the difference between quest.complete(id) and quest.completed?(id) is that quest.complete(id) completes the quest but quest.completed?(id) lets you know if the quest had been completed
Title: Re: [XP] Quest Log System
Post by: Sacred Nym on June 23, 2010, 05:41:52 pm
Quote from: Murd on June 23, 2010, 09:39:40 am
1) Once you accept a quest -> call script Quest.add(id)

Correct

Quote2) Suppose a quest you accepted is to bring back 10 potions to the quest giver,
    when you already got 10 -> call script ???

No, what you want to do is set a variable equal to the number of potions in the player's inventory like so:
Spoiler: ShowHide
(http://img340.imageshack.us/img340/5481/variable.png)


Then make a conditional branch checking if the player has enough:
Spoiler: ShowHide
(http://img80.imageshack.us/img80/7668/branch.png)


Quote3) When you return potions to the quest giver -> call script ???

Quest.complete(id)

QuoteAs the description says "Marks quest names with a yellow color if they're completed",
how to make the quest name marked yellow once complete?

This is done automatically with Quest.complete

QuoteFirstly I tried figure it out but I couldn't find the difference between
quest.complete(id) and quest.completed?(id) and what is the purpose of
call script quest.had?(id) ??

Quest.complete marks the quest as completed. Quest.completed? is used with a conditional branch:
Spoiler: ShowHide
(http://img266.imageshack.us/img266/9748/condscript.png)


It checks if the quest has been marked as completed.

"Quest.has?" checks if the player has received the quest.
Title: Re: [XP] Quest Log System
Post by: Murd on June 23, 2010, 07:02:26 pm
Thank you so much Sacred Nym !!
I understand the logic of the script now.

I just wondered about marking the quest name yellow thing as when I call script quest.complete(id),
it only shows the quest status "completed" in yellow but not the quest name
Title: Re: [XP] Quest Log System
Post by: Unleashed on July 11, 2010, 09:15:37 am
Hello,

i'm new here and i must say all of ur scripts are awesome  :D

But one question, i want to use the questlog in pokemon essentials
i did everything in the introductions but when i add a quest (Quest.add(1))
this error came up:
Spoiler: ShowHide
(http://img197.imageshack.us/img197/1359/erroruz.png)


please help me to fix this  :blargh:

Thanks :nod:
Title: Re: [XP] Quest Log System
Post by: Alton Wyte on July 11, 2010, 12:57:49 pm
Pokemon Essentials is VERY incompatible with almost all scripts because it replaces ALL the default scripts.
Title: Re: [XP] Quest Log System
Post by: Unleashed on July 11, 2010, 12:59:01 pm
Quote from: Alton Wyte on July 11, 2010, 12:57:49 pm
Pokemon Essentials is VERY incompatible with almost all scripts because it replaces ALL the default scripts.

is there anyway to get it working? :(
Title: Re: [XP] Quest Log System
Post by: WhiteRose on July 11, 2010, 06:34:04 pm
Judging by your title, it looks like you are trying to make an online Pokemon game. I might be mistaken, but you are probably trying to use either Netplay or RMX-OS. I don't know anything about Netplay, so I can't help you there, but if you're trying to use RMX-OS, I believe it is incompatible with Pokemon Essentials to quite a large degree. Combining them would require a special version of RMX-OS that is not planned on being released to the public.
Title: Re: [XP] Quest Log System
Post by: Unleashed on July 12, 2010, 05:28:24 am
i got the scripts by decrypting pokemon neon online but i read this thread http://forum.chaos-project.com/index.php?topic=5731.0 (http://forum.chaos-project.com/index.php?topic=5731.0) and now i know it was wrong...
sry i will not ask anymore :shy:
Title: Re: [XP] Quest Log System
Post by: KRoP on July 18, 2010, 01:56:45 am
  For some reason Ultimate Font Override from Tons isn't working with this script. D: I looked through the Quest Log script but the only things that seemed related to that Tons script were bitmap.new and font.color = system_color.  The line that returned an error was init_font_override_later(w, h)
  Any ideas on why this is happening?  I apologize for bringing up a seemingly unrelated script in this thread but I really don't get why this would happen.
Title: Re: [XP] Quest Log System
Post by: G_G on July 18, 2010, 03:30:00 am
I'll look at it sometime later. Besides expect an update soon. My complete overhaul of this systems gonna be awesome.
Title: Re: [XP] Quest Log System
Post by: Xunbreakable89X on July 24, 2010, 11:13:05 pm
Um I have a question. How do I call the question screen?
I have a custom menu, but I wanna be able to bring it up using a common event. Whats the script to bring it up?
Title: Re: [XP] Quest Log System
Post by: G_G on July 24, 2010, 11:17:05 pm
Scene_Quest.new
Title: Re: [XP] Quest Log System
Post by: Xunbreakable89X on July 24, 2010, 11:25:51 pm
Quote from: game_guy on July 24, 2010, 11:17:05 pm
Scene_Quest.new

For some reason its not working for me. Should it be a comment or a Call script event?
Title: Re: [XP] Quest Log System
Post by: Wizered67 on July 24, 2010, 11:28:45 pm
call script
Title: Re: [XP] Quest Log System
Post by: Xunbreakable89X on July 24, 2010, 11:32:46 pm
Ehh still not working, fuck it:/
Title: Re: [XP] Quest Log System
Post by: Sacred Nym on July 25, 2010, 12:48:26 am
$scene = Scene_Quest.new

Need the full line.
Title: Re: [XP] Quest Log System
Post by: keyonne on August 25, 2010, 05:28:14 pm
I am curious as to whether it would be possible to have 'sets' of quests. In my game, I have allowed for the player to have 4 character slots where they can choose between 10 races, 6 classes, and 2 genders to allow for a large amount of variation in the game. Each character slot has a separate inventory, separate set of characters, and should also have a separate quest log. However, you have no option to save the quest log and switch between new ones. Would adding this feature be too complex, or would it be possible without too much hassle?
Title: Re: [XP] Quest Log System
Post by: G_G on August 25, 2010, 06:07:50 pm
I'll see what I can do. If anything I'll add it to 4.0.
Title: Re: [XP] Quest Log System
Post by: keyonne on August 27, 2010, 03:21:37 pm
Thank you, that would be extremely helpful. :)
Title: Re: [XP] Quest Log System
Post by: ojp2010 on August 28, 2010, 01:30:24 pm
ETA on 4.0 loving the system
Title: Re: [XP] Quest Log System
Post by: Taiine on August 30, 2010, 04:40:53 pm
Hey small little bug. If you try to open the quest book right away with out picking any quests up. it gives you this

Window_Command line 18 RGSS error

failed to create bitmap

also shows up in your demo, if you talk to the npc that opens the book before the one that gives you the quest.
Title: Re: [XP] Quest Log System
Post by: Calintz on September 13, 2010, 07:08:41 pm
Not really a bug Taiine.
Anybody who uses this script will not actually call the scene without first giving the player a quest. That doesn't make much sense. The only reason this is even a problem is because Game_Guy split the two. I don't know why he, but he did.
Title: Re: [XP] Quest Log System
Post by: Holyrapid on September 25, 2010, 02:57:50 am
Well, i got a sort of a bug, or at least a bit of misfunction...
When you exit from the quest log, it goes into the menu, instead of the scene it was called from.
This can be a bit bugging that after being given the quest, if you've set in the events to call the log scene,
after checking the quests in therem, instead of the map, you're brought to the menu...
Title: Re: [XP] Quest Log System
Post by: keyonne on November 07, 2010, 07:56:43 pm
I keep getting this for some unknown reason...
Spoiler: ShowHide
(http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs931.snc4/74472_451350232534_726247534_5422862_749888_n.jpg)
Title: Re: [XP] Quest Log System
Post by: Holyrapid on November 12, 2010, 03:02:29 am
I tried this again, and when i first tried to speak with the man, it crashed. But after speaking with the woman, and got a quest, and then talked to the guy, no problems.
So, could you add like a regular error message to, instead of having it crash if trying to open the quest menu, without having quests.
Maybe it could read in the menu something like 'no quest have been added yet.'?
Title: Re: [XP] Quest Log System
Post by: G_G on November 16, 2010, 11:44:50 am
Like I said I'm working on a nice remake with extra features and stuff like that. Just when I get my computer and my internet. Things at home are kind of jumbled. :S
Title: Re: [XP] Quest Log System
Post by: Griver03 on June 30, 2011, 03:46:25 pm
sry to necropost but ive a lil question, can you pls make me a patch that the quest window is always active even if no quests available ?!
i mean when you open the scene and use no map bg theres a black screen, i want that theres a clear window or maybe a string with "no quests in there".
would be very nice, thx
Title: Re: [XP] Quest Log System
Post by: G_G on June 30, 2011, 04:04:50 pm
I have a rewrite for this script in my plans. Its kind of in the end but I'll be sure to include that feature.
Title: Re: [XP] Quest Log System
Post by: SilverShadow737 on July 01, 2011, 03:30:14 am
Tagging this, it seems pretty cool.
Title: Re: [XP] Quest Log System
Post by: G_G on July 27, 2011, 10:10:50 am
You could try something like this.
class Scene_Quest
  alias gg_different_window_skin_lat main
  def main
    $game_system.windowskin_name = "custom window skin name here"
    gg_different_window_skin_lat
    $game_system.windowskin_name = $data_system.windowskin_name
  end
end
Title: Re: [XP] Quest Log System
Post by: mroedesigns on August 22, 2011, 09:23:20 pm
Any word on the new system?
Title: Re: [XP] Quest Log System
Post by: G_G on August 22, 2011, 09:42:41 pm
Nope sorry. I ended up going to my grandma's house for the rest of my vacation so I had to leave my computer behind. I guess I could work on it when I get back but I'm not sure how much time I will have since school starts in a week.
Title: Re: [XP] Quest Log System
Post by: ruiran1 on January 08, 2012, 04:16:31 pm
If you gyus need this:
Make an item called quest log make it only usable in the menu make it not consumable then make a common event with the script call (like in the demo with the guy) then put the same common event on the quest log.

Title: Re: [XP] Quest Log System
Post by: monkeydash on January 13, 2012, 11:33:07 am
Is there a way of changing the quest details as you go along?

Say for example I have a quest to buy something for a guy.

The Quest can be named: Buy Gift for Sam

I'd like for the reward to be a mystery to start with.
First part would be to talk to Sam and ask him what he wants. So quest log would say:

"Talk to Sam."

When he tells you what he wants - say an apple - I'd like the log to change to reflect that. So instead of saying 'talk to Sam', I'd like it to now say:

"Buy an Apple."

Once the apple is bought I'd like it to change to:

"Take the Apple to Sam"

You give Sam the apple. He thanks you. Quest completed and he gives you a cabbage. I dunno.
So the the quest log records that your reward was a cabbage.

Can this be done or would it require making three seperate quests and stating what the prize will be from the beginning?
Title: Re: [XP] Quest Log System
Post by: G_G on January 14, 2012, 01:28:45 am
I was planning on making a version that had multiple objectives per quest. But I'm no longer scripting for RMXP. My suggestion would be to try and find a different Quest Log script that will suit your needs.
Title: Re: [XP] Quest Log System
Post by: Futendra on January 14, 2012, 07:43:42 am
Could you make a configure program?

the one mroe made is full of bugs and he can't fix them because of loss of project files.


A configure program that works properly would be so awesome!


Also: My HUD overlaps the windows of the Quest Log, how do I fix this?
Title: Re: [XP] Quest Log System
Post by: monkeydash on January 14, 2012, 09:26:23 am
That's a shame. Thanks anyway.

Is there no way to call script to change it or something?
Title: Re: [XP] Quest Log System
Post by: G_G on January 14, 2012, 11:24:39 am
@Fut: Seeing that I'm not going to revamp/recreate the script, I'm not going to create a configuration program either.

@monkey: No theres not. The way I have it all setup its not really possible without some tweaking to the script.

Though I will promise this. When ARC is released. I'll make a quest log for it. I plan on making a lot of scripts for ARC when its released. <3
Title: Re: [XP] Quest Log System
Post by: mroedesigns on January 15, 2012, 04:13:04 am
Quote from: Futendra on January 14, 2012, 07:43:42 am
Could you make a configure program?

the one mroe made is full of bugs and he can't fix them because of loss of project files.


A configure program that works properly would be so awesome!


Also: My HUD overlaps the windows of the Quest Log, how do I fix this?


I may go back and redo mine, the only reason I didn't before was because GG was planning on making a newer version of this system.
Title: Re: [XP] Quest Log System
Post by: Futendra on January 15, 2012, 04:47:26 am
Quote from: mroedesigns on January 15, 2012, 04:13:04 am
Quote from: Futendra on January 14, 2012, 07:43:42 am
Could you make a configure program?

the one mroe made is full of bugs and he can't fix them because of loss of project files.


A configure program that works properly would be so awesome!


Also: My HUD overlaps the windows of the Quest Log, how do I fix this?


I may go back and redo mine, the only reason I didn't before was because GG was planning on making a newer version of this system.


That would be great, the bugs are that End, Else, Return, ... are all written with a capital so they should be end, else, return, ...

Also, I get errors after fixing this, I think you did something wrong terribly
Title: Re: [XP] Quest Log System
Post by: mroedesigns on January 15, 2012, 05:14:00 am
The errors you were telling me about were just missing register files that come with VB6, forgot to include a few. But yeah, there's a number of things that need fixed. I'll see what I can do, I'm not sure if I even have VB installed on my old top.
Title: Re: [XP] Quest Log System
Post by: mroedesigns on January 16, 2012, 03:05:22 pm
Reworking the quest log. Any reason I would get an error here?

Spoiler: ShowHide
  def self.qlocation(id)
    case id
    #==================================================
    # Quest Location
    # Use when x then return ''location''
    # x = id, location = location in quotes
    #==================================================
    when 1 then return "l"
    end
    return "????"
  end


error at when 1 then return "l"

Title: Re: [XP] Quest Log System
Post by: G_G on January 16, 2012, 03:07:27 pm
Is it a syntax error or what? That doesn't make any sense to me. O_o

EDIT: I just tried this and I didn't get an error. So you have to have a syntax error somewhere above or below the script. Maybe a missing end or something.
module Test
  def self.qlocation(id)
    case id
    #==================================================
    # Quest Location
    # Use when x then return ''location''
    # x = id, location = location in quotes
    #==================================================
    when 1 then return "l"
    end
    return "????"
  end
end

print Test.qlocation(1)
Title: Re: [XP] Quest Log System
Post by: mroedesigns on January 16, 2012, 03:11:04 pm
That's what I was sayin. It's a syntax, I'll find it  :roll:

After I get these last little bugs out though v2 will be finished
Title: Re: [XP] Quest Log System
Post by: G_G on January 16, 2012, 04:01:41 pm
If you posted the entire script and not just part of it I could probably help you find it.
Title: Re: [XP] Quest Log System
Post by: mroedesigns on January 16, 2012, 04:09:54 pm
I got it.

http://forum.chaos-project.com/index.php/topic,10125.0.html

Mind giving it a download and letting me know if I need to include any other files?
Title: Re: [XP] Quest Log System
Post by: Kirye on June 23, 2012, 10:44:12 pm
Sorry for necro-ing this thread, I just had a quick question about it. D:

Is it possible to display variables in the quest log? I want to be able to use it for collection quests or "Defeat x amount of this monster" quests.
Title: Re: [XP] Quest Log System
Post by: whitespirits on June 12, 2014, 05:58:03 am
Hi guys running this with RMX-OS im getting errors on accepting quests and trying to open the quest window

Spoiler: ShowHide
(http://i804.photobucket.com/albums/yy324/richadam111/erroronaccept_zpsdcb4d465.gif) (http://s804.photobucket.com/user/richadam111/media/erroronaccept_zpsdcb4d465.gif.html)


Spoiler: ShowHide
(http://i804.photobucket.com/albums/yy324/richadam111/erroronopening_zps61aad055.gif) (http://s804.photobucket.com/user/richadam111/media/erroronopening_zps61aad055.gif.html)
Title: Re: [XP] Quest Log System
Post by: KK20 on June 13, 2014, 11:15:07 pm
Most likely running a save file that didn't get the chance to initialize the quest variables.

http://forum.chaos-project.com/index.php/topic,13656.msg180246.html#msg180246
Title: Re: [XP] Quest Log System
Post by: whitespirits on September 04, 2014, 08:05:27 am
I'm looking for some extra features for this quest log, a difficulty setting In red orange or green, also adding a way of calculating variables, effectively so u can do 5/5 and when an item is added or variable it goes up or down if 1 is lost
Title: Re: [XP] Quest Log System
Post by: KK20 on September 04, 2014, 01:40:49 pm
My quest system doesn't support colors, but it does support game variables. I was thinking of potentially updating it again, but just didn't have enough ideas.