Jump to content
New account registrations are disabed. This website is now an archive. Read more here.

Recommended Posts

Quest Book

Version: 1.2

 

Introduction

 

This is a fairly heavy quest book which provides an overview over a number of quests represented by pictures. Each of the quests can be selected and a window with quest specific details will be shown. (The pictures are 80x80)

 

Features

 

Quests can have any number of parts. (Only the text for the current part is shown)

The quest book can be applied to a game in progress since whether quests are solved or not depends on variables, switches or a combination of them.

Solved quests kept and can be shown.

The opacity of background of the quest book can be changed and a picture can be shown behind it accordingly to a variable.

 

Screenshots

 

pic1nn0.th.png pic2lo0.th.png

 

Demo

 

QuestBook version 1.2 (rar)

 

Script

 

I really suggest the demo rather than the script since it also contains example pictures.

I have included them for people who just want to take a look at the script.

Quest Book Script

 

Here is the example usage of the script used in the demo: (I would suggest placing it in a different section)

 

Installation

 

Insert the script just above main. (Like so many other scripts)

Insert just below the script a new section. This section will be were you configure the script. Create quests and such.

 

Instructions

 

I will try an experiment here. Instead of written a big wall of text explaining everything I want to know where my explanation should be in-depth and where it should be more shallow. I.e. where should I focus.

Please look at the example usage of the script.

What is for you the most confusing parts?

Will you be able to modify the quests?

Will you be able to add another quest?

Will you be able to add/remove a quest part?

Is it clear how the Quest_Criteria works?

Do you understand the top part where you configure the background?

How do you add/remove another background picture?

How do you change the opacity of the quest book? The path?

Can you figure out how to modify, add and remove the actual picture files? (You should probably download the demo for this)

 

This is a case of help me become better at helping you. I am sorry for the inconvenience.

 

Compatibility

 

If you are using exotic save systems

 

At the bottom of the script (Binding to Scene_Load section in the demo) you find this code

#==============================================================================
# ** Scene_Load
#------------------------------------------------------------------------------
#  Aliases and uses the on_decision method to reset $game_quests on the proper
#  time.
#==============================================================================

class Scene_Load < Scene_File
 # Check if the alias already exists (To avoid F12 errors)
 unless self.method_defined?(:zeriab_questbook_scene_load_on_decision)
alias zeriab_questbook_scene_load_on_decision :on_decision
 end
 def on_decision(*args)
# Call the original method
zeriab_questbook_scene_load_on_decision(*args)
# Check if the scene has changed
unless $scene == self
  # Reset quest data
  $game_quests.reset
end
 end
end

 

The idea with that snippet is to call a method when you load a save. It is used to preserve consistency in the quest book

$game_quests.reset

 

Note only do this if there is a problem with the snippet. (You can try putting a " p 'test' " in the reset method in Game_Quests if you want to test that it is called when you load a game)

 

 

 

Credits and Thanks

 

Credits goes to Zeriab

Special thanks goes to Indinera who requested the script for the game Laxius Force

 

I would like to thank everyone using their time to try and use my system.

I would like to thank everyone reading this topic.

Thanks.

 

Terms and Conditions

 

Copyright © 2007 Zeriab

 

This script is free to use under the condition of Zeriab being credited. (Commercial and non-commercial projects alike)

This script can be freely changed and distributed under the condition of the original author remains in the script.

Verbatim copies of this topic can be freely distributed

 

This script is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 

 

Author's Notes

 

This script were designed for a game so the visualization is very fixed.

 

I would be delighted if you report any bug, errors or issues you find.

In fact I would be delighted if you took the time and replied even if you have nothing to report.

Suggestions are more than welcome

 

And finally: ENJOY!

 

- Zeriab

Share this post


Link to post
Share on other sites

Zeriab, this is excellent script...

 

But how to make so that pictures were the individual size, instead of standard 80*80? Please explain. Thankful in advance.

Share this post


Link to post
Share on other sites

Sorry for the very slow response.

That's good to hear Polraudio :3

 

@Agckuu_Coceg:

There is no easy way of doing that. I have not made the sizes dynamic so one will have to deal with a lot of math.

Sorry :(

Share this post


Link to post
Share on other sites

"There is no easy way of doing that. I have not made the sizes dynamic so one will have to deal with a lot of math.

Sorry :("

 

I understand that it is difficult, but you for certain will help me. You could not specify the basic lines of editing in script Window_Quest that I could interrupt them for the individual size?

Share this post


Link to post
Share on other sites

Links have been fixed. Thanks for alerting me to the issue ^_^

 

@Derek:

I am glad you like it :3

 

@Nisage:

Thanks for providing a link

 

@Agckuu_Coceg:

Here are what you'll have to change (I hope I haven't missed anything)

 

*Window_Base line 20-21

Window_Questbook:

@column_max has to correspond to how many quests will fit in one column. (Line 26)

draw_icon method will have to be modified (line 68-74)

update_cursor_rect will have to be modified (line 123-125)

top_row will have to be modified (line 134)

top_row= will have to be modified (line 141-144)

page_row_max will have to be modified (line 149-154)

 

Good luck

 

*hugs*

- Zeriab

Share this post


Link to post
Share on other sites

Zeriab, you didn't hug in this post:

 

Sorry for the very slow response.

That's good to hear Polraudio :3

 

@Agckuu_Coceg:

There is no easy way of doing that. I have not made the sizes dynamic so one will have to deal with a lot of math.

Sorry :(

 

 

:o

 

Its been a while man!

Share this post


Link to post
Share on other sites

Sry but i have bug i make four quest and there will be only one four times PS my quest setting is there

 

#==============================================================================

# ** Quest settings

#------------------------------------------------------------------------------

# This place is for you to set some settings to the quest menu

#==============================================================================

# The opacity of the windows. 0 = invisible and 255 = totally visible

WINDOW_OPACITY = 225

 

# The directory of the backgrounds

BACKGROUND_DIR = "Quest/Backgrounds/"

 

# Number of the variable used

BACK_VAR = 15

 

# A hash which contains the names of the pictures used for the background

# 2 => "Somename.png" means that the picture named Somename.png will be

# displayed as background picture if the variable has value 2

#

# 3 are displayed here but you can declare more

#

# The first one ('standard' => "Back1.png") defines the standard background

# picture. It is used if another picture can't be found. For example if the

# variable for some reason is -2315.

 

BACK_PICS = {'standard' => "Back1.png",

0 => "Back1.png",

2 => "Somename.png",

7 => "2.png"}

 

#==============================================================================

# ** Quests

#------------------------------------------------------------------------------

# This place is for you to enter the quests.

#==============================================================================

 

####################

## THE MAIN QUEST ##

####################

 

# Part 1

gq = Game_Quest.new

dq = Data_Quest.new

dq.icon = "Whoyouare.png"

dq.owner = "Grayhound"

dq.location = "?????"

dq.goal = "Zjisti kdo jsi"

dq.info = "Démonický hlas ti řekl ať najdeš vesnici jménem aryo\n"+

" potomti prý řekne co dál.\n"

qc = Quest_Criteria.new(["Switch", 12, true]) # No criteria, active from the start

gq.add_quest(dq,qc)

 

# Part 2

dq = Data_Quest.new

dq.icon = "Completed.png"

dq.owner = "Grayhound"

dq.location = "?????"

dq.goal = "Najdi Younu"

dq.info = "Gratuluji našel jsi yunu!"

qc = Quest_Criteria.new

gq.set_completed_quest(dq,qc)

 

# Adds the final quest to $game_quests

$game_quests.add(gq)

#-------------------------------#

# Childrens #

#-------------------------------#

# Part 1

dq = Data_Quest.new

dq.icon = "Childrens.png"

dq.owner = "Aryo"

dq.location = "Ostrov Kuriku"

dq.goal = "Najdi ztracené děti"

dq.info = "Zjistil si\n" +

" že ve vesnici aryo na ostrově Kuriku\n" +

" se záhadně ztrácejí děti\n" +

"Tak zjisti kde jsou"

qc = Quest_Criteria.new(["Switch", 26, true]) # Switch 2 must be true

gq.add_quest(dq,qc)

 

# The completed quest part

dq = Data_Quest.new

dq.icon = "Completed.png"

dq.owner = "Aryo"

dq.location = "Ostrov Kuriku"

dq.goal = "Najdi ztracené děti"

dq.info = "Zjistl si že imperium unášelo děti z tohoto ostrova\n"+

"Ty si je zachránil a dovedl zpět k rodinám"

qc = Quest_Criteria.new(["Switch", 26, true]),

(["Switch", 27, true])

gq.set_completed_quest(dq,qc)

 

# Adds the final quest to $game_quests

$game_quests.add(gq)

 

#-------------------------------#

# Castle QUEST #

#-------------------------------#

# Part 1

dq = Data_Quest.new

dq.icon = "Castle.png"

dq.owner = "Grayhound"

dq.location = "Ostrov Tyros"

dq.goal = "Získej Hrad"

dq.info = "Zjistil si\n" +

"že na ostrově Tyros\n" +

"se nachází neobsazená pevnost.\n" +

"Tak si ji musíš získat pro sebe."

qc = Quest_Criteria.new(["Switch", 33, true])

gq.add_quest(dq,qc)

 

# The completed quest part

dq = Data_Quest.new

dq.icon = "Completed.png"

dq.owner = "Grayhound"

dq.location = "Ostrov Tyros"

dq.goal = "Získej Hrad"

dq.info = "Získal si hrad který se nachází na ostrově Tyros\n"+

"Sám pro sebe\n"+

"Nyní může začít válka"

qc = Quest_Criteria.new(["Switch", 33, true]),

(["Switch", 34, true])

gq.set_completed_quest(dq,qc)

 

# Adds the final quest to $game_quests

$game_quests.add(gq)

 

#-------------------------------#

# Massacre QUEST #

#-------------------------------#

# Part 1

dq = Data_Quest.new

dq.icon = "Massacre.png"

dq.owner = "Grayhound"

dq.location = "?????"

dq.goal = "Zjisti proč byla vyhlazena škola kouzel"

dq.info = "Zjisti proč nechal\n" +

"mocný císař\n" +

"Vyvraždit školu kouzel kam si chodil."

qc = Quest_Criteria.new

gq.add_quest(dq,qc)

 

# The completed quest part

dq = Data_Quest.new

dq.icon = "Completed.png"

dq.owner = "Grayhound"

dq.location = "?????"

dq.goal = "Zjistil si proč nechal císař vyvraždit školu koužel"

dq.info = "Zjistil si že císař\n"+

"nechal vyvraždit školu kouzel\n"+

"Protože tam rebelové rekrutovali mágy"

qc = Quest_Criteria.new(["Variable", 4, "==", 5])

gq.set_completed_quest(dq,qc)

 

# Adds the final quest to $game_quests

$game_quests.add(gq)

Share this post


Link to post
Share on other sites

You probably shouldn't necropost...but I'll give you a solution

 

# Part 1
gq = Game_Quest.new 
dq = Data_Quest.new
dq.icon = "Whoyouare.png"
dq.owner = "Grayhound"
dq.location = "?????"
dq.goal = "Zjisti kdo jsi"
dq.info = "Démonický hlas ti řekl ať najdeš vesnici jménem aryo\n"+
" potomti prý řekne co dál.\n"
qc = Quest_Criteria.new(["Switch", 12, true]) # No criteria, active from the start
gq.add_quest(dq,qc)

# Part 2
dq = Data_Quest.new
dq.icon = "Completed.png"
dq.owner = "Grayhound"
dq.location = "?????"
dq.goal = "Najdi Younu"
dq.info = "Gratuluji našel jsi yunu!"
qc = Quest_Criteria.new
gq.set_completed_quest(dq,qc)

# Adds the final quest to $game_quests
$game_quests.add(gq)

 

Here, you did everything perfect, created quest added the data to the quest then added the quest to the game's quests.

$game_quests.add(gq) adds the quest.

 

Now, in the 3 other quests you created, you ONLY created the data quest, but re-added the same "gc" variable, so the game ran, and out put 4 of the same quest.

 

what you need to do, for each quest is follow this format and add before each data_quest is created:

 

gq = Game_Quest.new 
dq = Data_Quest.new
dq.icon = "Whoyouare.png"
dq.owner = "Grayhound"
dq.location = "?????"
dq.goal = "Zjisti kdo jsi"
dq.info = "Démonický hlas ti řekl ať najdeš vesnici jménem aryo\n"+
" potomti prý řekne co dál.\n"
qc = Quest_Criteria.new(["Switch", 12, true]) # No criteria, active from the start
gq.add_quest(dq,qc)

so basically add that before EVERY quest you make(except replace all the values with the quest values you wish to make), it need both parts part 1 and part 2. If you just fill out part 2 and add it the game quests, it will not work.

 

hope that makes sense

Edited by kellessdee

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...