This is my second script. Take a look!
#=============================================================================
# Quest Log Screen
#-----------------------------------------------------------------------------
# ** Version 2.0
# ** Original by Sthrattoff
#=============================================================================
# Description :
# This script enables the ability to show current active quest.
# Features :
# SIMPLIFIED! Now the script is just about 300 lines length.
# Unlimited amount of quest can be added.
# Still use variable to mark quest's progress.
# Limitation :
# Only can store up to 12 progress per quest.
# History :
# Version 1.0 : Initial release.
# Version 1.2 : Add "Types" features.
# Version 2.0 : Changes in programming style and infinite quest support.
# Instruction
# Just put this script above main.
# Configuration :
# To add quest, use Call Script command and type this :
# $names.push "quest name" for the quest's name
# $types.push "quest type" for the quest's type (main or sidequest or something)
# $descriptionm.push "quest description line m" for the quest's description. m is the line
# number (1-5)
# $objectivesm.push "quest objectives m" for the quest's objectives. m is the objective
# number (1-12)
# $var_ID.push value for the quest's game variable marker ID
# To end a quest, set the marker variable's value to 12
# Credits
# See the header + Blizzard and Enterbrain
#=============================================================================
class Scene_Quest
$names = []
$types = []
$description0 = []
$description1 = []
$description2 = []
$description3 = []
$description4 = []
$objectives0 = []
$objectives1 = []
$objectives2 = []
$objectives3 = []
$objectives4 = []
$objectives5 = []
$objectives6 = []
$objectives7 = []
$objectives8 = []
$objectives9 = []
$objectives10 = []
$objectives11 = []
$var_ID = []
def initialize
$names.compact
end
def main
@quest_list = Window_Command.new(160, $names)
@quest_window = Window_Quest.new
@quest_window.x = 160
Graphics.transition
loop do
Graphics.update
Input.update
update
break if $scene != self
end
Graphics.freeze
@quest_list.dispose
@quest_window.dispose
end
def update
@quest_list.update
@quest_window.update
if @quest_list.active
update_quest
return
end
end
def update_quest
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(2)
return
end
quest = @quest_list.index
preview(quest)
end
def preview(x)
$preview_name = $names[x]
$preview_type = $types[x]
$preview_description0 = $description0[x]
$preview_description1 = $description1[x]
$preview_description2 = $description2[x]
$preview_description3 = $description3[x]
$preview_description4 = $description4[x]
$preview_objectives0 = $objectives0[x]
$preview_objectives1 = $objectives1[x]
$preview_objectives2 = $objectives2[x]
$preview_objectives3 = $objectives3[x]
$preview_objectives4 = $objectives4[x]
$preview_objectives5 = $objectives5[x]
$preview_objectives6 = $objectives6[x]
$preview_objectives7 = $objectives7[x]
$preview_objectives8 = $objectives8[x]
$preview_objectives9 = $objectives9[x]
$preview_objectives10 = $objectives10[x]
$preview_objectives11 = $objectives11[x]
$preview_variable = $var_ID[x]
return
end
end
class Window_Quest < Window_Base
def initialize
super(0, 0, 480, 480)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 32, self.width - 32, 32, $preview_type.to_s, 1)
self.contents.draw_text(0, 224, self.width - 32, 32, "Objectives", 1) if $types.size != 0
self.contents.font.color = normal_color
self.contents.draw_text(0, 0, self.width - 32, 32, $preview_name.to_s, 1)
self.contents.draw_text(0, 64, self.width - 32, 32 * 5, $preview_description0.to_s)
self.contents.draw_text(0, 96, self.width - 32, 32 * 5, $preview_description1.to_s)
self.contents.draw_text(0, 128, self.width - 32, 32 * 5, $preview_description2.to_s)
self.contents.draw_text(0, 160, self.width - 32, 32 * 5, $preview_description3.to_s)
self.contents.draw_text(0, 192, self.width - 32, 32 * 5, $preview_description4.to_s)
case $game_variables[$preview_variable.to_i]
when 0
self.contents.font.color = normal_color
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s) if $types.size != 0
when 1
self.contents.font.color = normal_color
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 2
self.contents.font.color = normal_color
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 3
self.contents.font.color = normal_color
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 4
self.contents.font.color = normal_color
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 5
self.contents.font.color = normal_color
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 6
self.contents.font.color = normal_color
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 7
self.contents.font_color = normal_color
self.contents.draw_text(240, 288, self.width / 2, 32, "•" + $preview_objectives7.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 8
self.contents.font.color = normal_color
self.contents.draw_text(240, 320, self.width / 2, 32, "•" + $preview_objectives8.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(240, 288, self.width / 2, 32, "•" + $preview_objectives7.to_s)
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 9
self.contents.font.color = normal_color
self.contents.draw_text(240, 352, self.width / 2, 32, "•" + $preview_objectives9.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(240, 320, self.width / 2, 32, "•" + $preview_objectives8.to_s)
self.contents.draw_text(240, 288, self.width / 2, 32, "•" + $preview_objectives7.to_s)
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 10
self.contents.font.color = normal_color
self.contents.draw_text(240, 384, self.width / 2, 32, "•" + $preview_objectives10.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(240, 352, self.width / 2, 32, "•" + $preview_objectives9.to_s)
self.contents.draw_text(240, 320, self.width / 2, 32, "•" + $preview_objectives8.to_s)
self.contents.draw_text(240, 288, self.width / 2, 32, "•" + $preview_objectives7.to_s)
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 11
self.contents.font.color = normal_color
self.contents.draw_text(240, 416, self.width / 2, 32, "•" + $preview_objectives11.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(240, 384, self.width / 2, 32, "•" + $preview_objectives10.to_s)
self.contents.draw_text(240, 352, self.width / 2, 32, "•" + $preview_objectives9.to_s)
self.contents.draw_text(240, 320, self.width / 2, 32, "•" + $preview_objectives8.to_s)
self.contents.draw_text(240, 288, self.width / 2, 32, "•" + $preview_objectives7.to_s)
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
end
end
def update
refresh
end
end
OLD VERSION:
[code]#=============================================================================
# Quest Log Screen
#-----------------------------------------------------------------------------
# ** Version 1.0
# ** Based on Sirsk8ator's script
# ** Heavily modified by Sthrattoff
#=============================================================================
# Description
# This script enables the ability to show current active quest.
# Features :
# Don't need to edit Game_Temp!
# Use in-game variable to "mark" quest progress!
# Replaceable for more than 15 quests!
# Instruction
# Just put this script above main.
# Configuration :
# To replace quest detail, use these syntax :
# 1. $names[n] = "Quest Names" --> To change quest n's name.
# 2. $descm[n] = "Description" --> To change quest n's m line description.
# 3. $objectivem[n] = "Objective" --> To change quest n's m objective.
# 4. $variable[n] = Variable ID --> To change quest n's controller variable.
# 5. $end[n] = End Value --> To change quest n's end value.
# Note :
# You can't have active quest more than 15 quests.
# You need to replace unused quest. Methods included on Configuration section.
# Credits
# See the header + Blizzard and Enterbrain
#=============================================================================
class Scene_Quest
#===========================================================================
# Begin Setting
#===========================================================================
$names = {1 => "Sample", 2 => "Sample", 3 => "Sample", 4 => "Sample", 5 => "Sample", 6 => "Sample", 7 => "Sample", 8 => "Sample", 9 => "Sample", 10 => "Sample", 11 => "Sample", 12 => "Sample", 13 => "Sample", 14 => "Sample", 15 => "Sample", 0 => "No Quest Available"}
$desc1 = {1 => "Filler", 2 => "Filler", 3 => "Filler", 4 => "Filler", 5 => "Filler", 6 => "Filler", 7 => "Filler", 8 => "Filler", 9 => "Filler", 10 => "Filler", 11 => "Filler", 12 => "Filler", 13 => "Filler", 14 => "Filler", 15 => "Filler", 0 => ""}
$desc2 = {1 => "Filler", 2 => "Filler", 3 => "Filler", 4 => "Filler", 5 => "Filler", 6 => "Filler", 7 => "Filler", 8 => "Filler", 9 => "Filler", 10 => "Filler", 11 => "Filler", 12 => "Filler", 13 => "Filler", 14 => "Filler", 15 => "Filler", 0 => ""}
$desc3 = {1 => "Filler", 2 => "Filler", 3 => "Filler", 4 => "Filler", 5 => "Filler", 6 => "Filler", 7 => "Filler", 8 => "Filler", 9 => "Filler", 10 => "Filler", 11 => "Filler", 12 => "Filler", 13 => "Filler", 14 => "Filler", 15 => "Filler", 0 => ""}
$desc4 = {1 => "Filler", 2 => "Filler", 3 => "Filler", 4 => "Filler", 5 => "Filler", 6 => "Filler", 7 => "Filler", 8 => "Filler", 9 => "Filler", 10 => "Filler", 11 => "Filler", 12 => "Filler", 13 => "Filler", 14 => "Filler", 15 => "Filler", 0 => ""}
$desc5 = {1 => "Filler", 2 => "Filler", 3 => "Filler", 4 => "Filler", 5 => "Filler", 6 => "Filler", 7 => "Filler", 8 => "Filler", 9 => "Filler", 10 => "Filler", 11 => "Filler", 12 => "Filler", 13 => "Filler", 14 => "Filler", 15 => "Filler", 0 => ""}
$objective1 = {1 => "Replace the Filler!", 2 => "Replace the Filler!", 3 => "Replace the Filler!", 4 => "Replace the Filler!", 5 => "Replace the Filler!", 6 => "Replace the Filler!", 7 => "Replace the Filler!", 8 => "Replace the Filler!", 9 => "Replace the Filler!", 10 => "Replace the Filler!", 11 => "Replace the Filler!", 12 => "Replace the Filler!", 13 => "Replace the Filler!", 14 => "Replace the Filler!", 15 => "Replace the Filler!", 0 => ""}
$objective2 = {1 => "Replace the Filler!", 2 => "Replace the Filler!", 3 => "Replace the Filler!", 4 => "Replace the Filler!", 5 => "Replace the Filler!", 6 => "Replace the Filler!", 7 => "Replace the Filler!", 8 => "Replace the Filler!", 9 => "Replace the Filler!", 10 => "Replace the Filler!", 11 => "Replace the Filler!", 12 => "Replace the Filler!", 13 => "Replace the Filler!", 14 => "Replace the Filler!", 15 => "Replace the Filler!", 0 => ""}
$objective3 = {1 => "Replace the Filler!", 2 => "Replace the Filler!", 3 => "Replace the Filler!", 4 => "Replace the Filler!", 5 => "Replace the Filler!", 6 => "Replace the Filler!", 7 => "Replace the Filler!", 8 => "Replace the Filler!", 9 => "Replace the Filler!", 10 => "Replace the Filler!", 11 => "Replace the Filler!", 12 => "Replace the Filler!", 13 => "Replace the Filler!", 14 => "Replace the Filler!", 15 => "Replace the Filler!", 0 => ""}
$objective4 = {1 => "Replace the Filler!", 2 => "Replace the Filler!", 3 => "Replace the Filler!", 4 => "Replace the Filler!", 5 => "Replace the Filler!", 6 => "Replace the Filler!", 7 => "Replace the Filler!", 8 => "Replace the Filler!", 9 => "Replace the Filler!", 10 => "Replace the Filler!", 11 => "Replace the Filler!", 12 => "Replace the Filler!", 13 => "Replace the Filler!", 14 => "Replace the Filler!", 15 => "Replace the Filler!", 0 => ""}
$objective5 = {1 => "Replace the Filler!", 2 => "Replace the Filler!", 3 => "Replace the Filler!", 4 => "Replace the Filler!", 5 => "Replace the Filler!", 6 => "Replace the Filler!", 7 => "Replace the Filler!", 8 => "Replace the Filler!", 9 => "Replace the Filler!", 10 => "Replace the Filler!", 11 => "Replace the Filler!", 12 => "Replace the Filler!", 13 => "Replace the Filler!", 14 => "Replace the Filler!", 15 => "Replace the Filler!", 0 => ""}
$objective6 = {1 => "Replace the Filler!", 2 => "Replace the Filler!", 3 => "Replace the Filler!", 4 => "Replace the Filler!", 5 => "Replace the Filler!", 6 => "Replace the Filler!", 7 => "Replace the Filler!", 8 => "Replace the Filler!", 9 => "Replace the Filler!", 10 => "Replace the Filler!", 11 => "Replace the Filler!", 12 => "Replace the Filler!", 13 => "Replace the Filler!", 14 => "Replace the Filler!", 15 => "Replace the Filler!", 0 => ""}
$objective7 = {1 => "Replace the Filler!", 2 => "Replace the Filler!", 3 => "Replace the Filler!", 4 => "Replace the Filler!", 5 => "Replace the Filler!", 6 => "Replace the Filler!", 7 => "Replace the Filler!", 8 => "Replace the Filler!", 9 => "Replace the Filler!", 10 => "Replace the Filler!", 11 => "Replace the Filler!", 12 => "Replace the Filler!", 13 => "Replace the Filler!", 14 => "Replace the Filler!", 15 => "Replace the Filler!", 0 => ""}
$objective8 = {1 => "Replace the Filler!", 2 => "Replace the Filler!", 3 => "Replace the Filler!", 4 => "Replace the Filler!", 5 => "Replace the Filler!", 6 => "Replace the Filler!", 7 => "Replace the Filler!", 8 => "Replace the Filler!", 9 => "Replace the Filler!", 10 => "Replace the Filler!", 11 => "Replace the Filler!", 12 => "Replace the Filler!", 13 => "Replace the Filler!", 14 => "Replace the Filler!", 15 => "Replace the Filler!", 0 => ""}
$objective9 = {1 => "Replace the Filler!", 2 => "Replace the Filler!", 3 => "Replace the Filler!", 4 => "Replace the Filler!", 5 => "Replace the Filler!", 6 => "Replace the Filler!", 7 => "Replace the Filler!", 8 => "Replace the Filler!", 9 => "Replace the Filler!", 10 => "Replace the Filler!", 11 => "Replace the Filler!", 12 => "Replace the Filler!", 13 => "Replace the Filler!", 14 => "Replace the Filler!", 15 => "Replace the Filler!", 0 => ""}
$objective10 = {1 => "Replace the Filler!", 2 => "Replace the Filler!", 3 => "Replace the Filler!", 4 => "Replace the Filler!", 5 => "Replace the Filler!", 6 => "Replace the Filler!", 7 => "Replace the Filler!", 8 => "Replace the Filler!", 9 => "Replace the Filler!", 10 => "Replace the Filler!", 11 => "Replace the Filler!", 12 => "Replace the Filler!", 13 => "Replace the Filler!", 14 => "Replace the Filler!", 15 => "Replace the Filler!", 0 => ""}
$variables = {1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15}
$end = {1 => 11, 2 => 11, 3 => 11, 4 => 11, 5 => 11, 6 => 11, 7 => 11, 8 => 11, 9 => 11, 10 => 11, 11 => 11, 12 => 11, 13 => 11, 14 => 11, 15 => 11}
#===========================================================================
# Begin Processing. DO NOT TOUCH THIS PART!!!
#===========================================================================
def main
# Preset
@id_1 = @id_2 = @id_3 = @id_4 = @id_5 = @id_6 = @id_7 = @id_8 = @id_9 = 0
@id_10 = @id_11 = @id_12 = @id_13 = @id_14 = @id_15 = 0
# Make first option on quest selection
if $game_variables[$variables[1]] > 0 and $game_variables[$variables[1]] < $end[1]
@id_1 = 1
s1 = $names[1]
elsif $game_variables[$variables[2]] > 0 and $game_variables[$variables[2]] < $end[2]
@id_1 = 2
s1 = $names[2]
elsif $game_variables[$variables[3]] > 0 and $game_variables[$variables[3]] < $end[3]
@id_1 = 3
s1 = $names[3]
elsif $game_variables[$variables[4]] > 0 and $game_variables[$variables[4]] < $end[4]
@id_1 = 4
s1 = $names[4]
elsif $game_variables[$variables[5]] > 0 and $game_variables[$variables[5]] < $end[5]
@id_1 = 5
s1 = $names[5]
elsif $game_variables[$variables[6]] > 0 and $game_variables[$variables[6]] < $end[6]
@id_1 = 6
s1 = $names[6]
elsif $game_variables[$variables[7]] > 0 and $game_variables[$variables[7]] < $end[7]
@id_1 = 7
s1 = $names[7]
elsif $game_variables[$variables[8]] > 0 and $game_variables[$variables[8]] < $end[8]
@id_1 = 8
s1 = $names[8]
elsif $game_variables[$variables[9]] > 0 and $game_variables[$variables[9]] < $end[9]
@id_1 = 9
s1 = $names[9]
elsif $game_variables[$variables[10]] > 0 and $game_variables[$variables[10]] < $end[10]
@id_1 = 10
s1 = $names[10]
elsif $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11]
@id_1 = 11
s1 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12]
@id_1 = 12
s1 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13]
@id_1 = 13
s1 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14]
@id_1 = 14
s1 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15]
@id_1 = 15
s1 = $names[15]
else
s1 = $names[0]
end
# Make second option on quest selection
if $game_variables[$variables[2]] > 0 and $game_variables[$variables[2]] < $end[2] and s1 != $names[2]
@id_2 = 2
s2 = $names[2]
elsif $game_variables[$variables[3]] > 0 and $game_variables[$variables[3]] < $end[3] and s1 != $names[3]
@id_2 = 3
s2 = $names[3]
elsif $game_variables[$variables[4]] > 0 and $game_variables[$variables[4]] < $end[4] and s1 != $names[4]
@id_2 = 4
s2 = $names[4]
elsif $game_variables[$variables[5]] > 0 and $game_variables[$variables[5]] < $end[5] and s1 != $names[5]
@id_2 = 5
s2 = $names[5]
elsif $game_variables[$variables[6]] > 0 and $game_variables[$variables[6]] < $end[6] and s1 != $names[6]
@id_2 = 6
s2 = $names[6]
elsif $game_variables[$variables[7]] > 0 and $game_variables[$variables[7]] < $end[7] and s1 != $names[7]
@id_2 = 7
s2 = $names[7]
elsif $game_variables[$variables[8]] > 0 and $game_variables[$variables[8]] < $end[8] and s1 != $names[8]
@id_2 = 8
s2 = $names[8]
elsif $game_variables[$variables[9]] > 0 and $game_variables[$variables[9]] < $end[9] and s1 != $names[9]
@id_2 = 9
s2 = $names[9]
elsif $game_variables[$variables[10]] > 0 and $game_variables[$variables[10]] < $end[10] and s1 != $names[10]
@id_2 = 10
s2 = $names[10]
elsif $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11] and s1 != $names[11]
@id_2 = 11
s2 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12]
@id_2 = 12
s2 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13]
@id_2 = 13
s2 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14]
@id_2 = 14
s2 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15]
@id_2 = 15
s2 = $names[15]
end
# Make third option on quest selection
if $game_variables[$variables[3]] > 0 and $game_variables[$variables[3]] < $end[3] and s1 != $names[3] and s2 != $names[3]
@id_3 = 3
s3 = $names[3]
elsif $game_variables[$variables[4]] > 0 and $game_variables[$variables[4]] < $end[4] and s1 != $names[4] and s2 != $names[4]
@id_3 = 4
s3 = $names[4]
elsif $game_variables[$variables[5]] > 0 and $game_variables[$variables[5]] < $end[5] and s1 != $names[5] and s2 != $names[5]
@id_3 = 5
s3 = $names[5]
elsif $game_variables[$variables[6]] > 0 and $game_variables[$variables[6]] < $end[6] and s1 != $names[6] and s2 != $names[6]
@id_3 = 6
s3 = $names[6]
elsif $game_variables[$variables[7]] > 0 and $game_variables[$variables[7]] < $end[7] and s1 != $names[7] and s2 != $names[7]
@id_3 = 7
s3 = $names[7]
elsif $game_variables[$variables[8]] > 0 and $game_variables[$variables[8]] < $end[8] and s1 != $names[8] and s2 != $names[8]
@id_3 = 8
s3 = $names[8]
elsif $game_variables[$variables[9]] > 0 and $game_variables[$variables[9]] < $end[9] and s1 != $names[9] and s2 != $names[9]
@id_3 = 9
s3 = $names[9]
elsif $game_variables[$variables[10]] > 0 and $game_variables[$variables[10]] < $end[10] and s1 != $names[10] and s2 != $names[10]
@id_3 = 10
s3 = $names[10]
elsif $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11] and s1 != $names[11] and s2 != $names[11]
@id_3 = 11
s3 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12] and s2 != $names[12]
@id_3 = 12
s3 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13]
@id_3 = 13
s3 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14]
@id_3 = 14
s3 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15]
@id_3 = 15
s3 = $names[15]
end
# Make fourth option on quest selection
if $game_variables[$variables[4]] > 0 and $game_variables[$variables[4]] < $end[4] and s1 != $names[4] and s2 != $names[4] and s3 != $names[4]
@id_4 = 4
s4 = $names[4]
elsif $game_variables[$variables[5]] > 0 and $game_variables[$variables[5]] < $end[5] and s1 != $names[5] and s2 != $names[5] and s3 != $names[5]
@id_4 = 5
s4 = $names[5]
elsif $game_variables[$variables[6]] > 0 and $game_variables[$variables[6]] < $end[6] and s1 != $names[6] and s2 != $names[6] and s3 != $names[6]
@id_4 = 6
s4 = $names[6]
elsif $game_variables[$variables[7]] > 0 and $game_variables[$variables[7]] < $end[6] and s1 != $names[7] and s2 != $names[7] and s3 != $names[7]
@id_4 = 7
s4 = $names[7]
elsif $game_variables[$variables[8]] > 0 and $game_variables[$variables[8]] < $end[8] and s1 != $names[8] and s2 != $names[8] and s3 != $names[8]
@id_4 = 8
s4 = $names[8]
elsif $game_variables[$variables[9]] > 0 and $game_variables[$variables[9]] < $end[9] and s1 != $names[9] and s2 != $names[9] and s3 != $names[9]
@id_4 = 9
s4 = $names[9]
elsif $game_variables[$variables[10]] > 0 and $game_variables[$variables[10]] < $end[10] and s1 != $names[10] and s2 != $names[10] and s3 != $names[10]
@id_4 = 10
s4 = $names[10]
elsif $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11] and s1 != $names[11] and s2 != $names[11] and s3 != $names[11]
@id_4 = 11
s4 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12] and s2 != $names[12] and s3 != $names[12]
@id_4 = 12
s4 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13] and s3 != $names[13]
@id_4 = 13
s4 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14]
@id_4 = 14
s4 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15] and s3 != $names[15]
@id_4 = 15
s4 = $names[15]
end
# Make fifth option on quest selection
if $game_variables[$variables[5]] > 0 and $game_variables[$variables[5]] < $end[5] and s1 != $names[5] and s2 != $names[5] and s3 != $names[5] and s4 != $names[5]
@id_5 = 5
s5 = $names[5]
elsif $game_variables[$variables[6]] > 0 and $game_variables[$variables[6]] < $end[6] and s1 != $names[6] and s2 != $names[6] and s3 != $names[6] and s4 != $names[6]
@id_5 = 6
s5 = $names[6]
elsif $game_variables[$variables[7]] > 0 and $game_variables[$variables[7]] < $end[7] and s1 != $names[7] and s2 != $names[7] and s3 != $names[7] and s4 != $names[7]
@id_5 = 7
s5 = $names[7]
elsif $game_variables[$variables[8]] > 0 and $game_variables[$variables[8]] < $end[8] and s1 != $names[8] and s2 != $names[8] and s3 != $names[8] and s4 != $names[8]
@id_5 = 8
s5 = $names[8]
elsif $game_variables[$variables[9]] > 0 and $game_variables[$variables[9]] < $end[9] and s1 != $names[9] and s2 != $names[9] and s3 != $names[9] and s4 != $names[9]
@id_5 = 9
s5 = $names[9]
elsif $game_variables[$variables[10]] > 0 and $game_variables[$variables[10]] < $end[10] and s1 != $names[10] and s2 != $names[10] and s3 != $names[10] and s4 != $names[10]
@id_5 = 10
s5 = $names[10]
elsif $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11] and s1 != $names[11] and s2 != $names[11] and s3 != $names[11] and s4 != $names[11]
@id_5 = 11
s5 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12] and s2 != $names[12] and s3 != $names[12] and s4 != $names[12]
@id_5 = 12
s5 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13] and s3 != $names[13] and s4 != $names[13]
@id_5 = 13
s5 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14] and s4 != $names[14]
@id_5 = 14
s5 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15] and s3 != $names[15] and s4 != $names[15]
@id_5 = 15
s5 = $names[15]
end
# Make sixth option on quest selection
if $game_variables[$variables[6]] > 0 and $game_variables[$variables[6]] < $end[6] and s1 != $names[6] and s2 != $names[6] and s3 != $names[6] and s4 != $names[6] and s5 != $names[6]
@id_6 = 6
s6 = $names[6]
elsif $game_variables[$variables[7]] > 0 and $game_variables[$variables[7]] < $end[7] and s1 != $names[7] and s2 != $names[7] and s3 != $names[7] and s4 != $names[7] and s5 != $names[7]
@id_6 = 7
s6 = $names[7]
elsif $game_variables[$variables[8]] > 0 and $game_variables[$variables[8]] < $end[8] and s1 != $names[8] and s2 != $names[8] and s3 != $names[8] and s4 != $names[8] and s5 != $names[8]
@id_6 = 8
s6 = $names[8]
elsif $game_variables[$variables[9]] > 0 and $game_variables[$variables[9]] < $end[9] and s1 != $names[9] and s2 != $names[9] and s3 != $names[9] and s4 != $names[9] and s5 != $names[9]
@id_6 = 9
s6 = $names[9]
elsif $game_variables[$variables[10]] > 0 and $game_variables[$variables[10]] < $end[10] and s1 != $names[10] and s2 != $names[10] and s3 != $names[10] and s4 != $names[10] and s5 != $names[10]
@id_6 = 10
s6 = $names[10]
elsif $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11] and s1 != $names[11] and s2 != $names[11] and s3 != $names[11] and s4 != $names[11] and s5 != $names[11]
@id_6 = 11
s6 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12] and s2 != $names[12] and s3 != $names[12] and s4 != $names[12] and s5 != $names[12]
@id_6 = 12
s6 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13] and s3 != $names[13] and s4 != $names[13] and s5 != $names[13]
@id_6 = 13
s6 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14] and s4 != $names[14] and s5 != $names[14]
@id_6 = 14
s6 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15] and s3 != $names[15] and s4 != $names[15] and s5 != $names[15]
@id_6 = 15
s6 = $names[15]
end
# Make seventh option on quest selection
if $game_variables[$variables[7]] > 0 and $game_variables[$variables[7]] < $end[7] and s1 != $names[7] and s2 != $names[7] and s3 != $names[7] and s4 != $names[7] and s5 != $names[7] and s6 != $names[7]
@id_7 = 7
s7 = $names[7]
elsif $game_variables[$variables[8]] > 0 and $game_variables[$variables[8]] < $end[8] and s1 != $names[8] and s2 != $names[8] and s3 != $names[8] and s4 != $names[8] and s5 != $names[8] and s6 != $names[8]
@id_7 = 8
s7 = $names[8]
elsif $game_variables[$variables[9]] > 0 and $game_variables[$variables[9]] < $end[9] and s1 != $names[9] and s2 != $names[9] and s3 != $names[9] and s4 != $names[9] and s5 != $names[9] and s6 != $names[9]
@id_7 = 9
s7 = $names[9]
elsif $game_variables[$variables[10]] > 0 and $game_variables[$variables[10]] < $end[10] and s1 != $names[10] and s2 != $names[10] and s3 != $names[10] and s4 != $names[10] and s5 != $names[10] and s6 != $names[10]
@id_7 = 10
s7 = $names[10]
elsif $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11] and s1 != $names[11] and s2 != $names[11] and s3 != $names[11] and s4 != $names[11] and s5 != $names[11] and s6 != $names[11]
@id_7 = 11
s7 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12] and s2 != $names[12] and s3 != $names[12] and s4 != $names[12] and s5 != $names[12] and s6 != $names[12]
@id_7 = 12
s7 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13] and s3 != $names[13] and s4 != $names[13] and s5 != $names[13] and s6 != $names[13]
@id_7 = 13
s7 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14] and s4 != $names[14] and s5 != $names[14] and s6 != $names[14]
@id_7 = 14
s7 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15] and s3 != $names[15] and s4 != $names[15] and s5 != $names[15] and s6 != $names[15]
@id_7 = 15
s7 = $names[15]
end
# Make eighth option on quest selection
if $game_variables[$variables[8]] > 0 and $game_variables[$variables[8]] < $end[8] and s1 != $names[8] and s2 != $names[8] and s3 != $names[8] and s4 != $names[8] and s5 != $names[8] and s6 != $names[8] and s7 != $names[8]
@id_8 = 8
s8 = $names[8]
elsif $game_variables[$variables[9]] > 0 and $game_variables[$variables[9]] < $end[9] and s1 != $names[9] and s2 != $names[9] and s3 != $names[9] and s4 != $names[9] and s5 != $names[9] and s6 != $names[9] and s7 != $names[9]
@id_8 = 9
s8 = $names[9]
elsif $game_variables[$variables[10]] > 0 and $game_variables[$variables[10]] < $end[10] and s1 != $names[10] and s2 != $names[10] and s3 != $names[10] and s4 != $names[10] and s5 != $names[10] and s6 != $names[10] and s7 != $names[10]
@id_8 = 10
s8 = $names[10]
elsif $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11] and s1 != $names[11] and s2 != $names[11] and s3 != $names[11] and s4 != $names[11] and s5 != $names[11] and s6 != $names[11] and s7 != $names[11]
@id_8 = 11
s8 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12] and s2 != $names[12] and s3 != $names[12] and s4 != $names[12] and s5 != $names[12] and s6 != $names[12] and s7 != $names[12]
@id_8 = 12
s8 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13] and s3 != $names[13] and s4 != $names[13] and s5 != $names[13] and s6 != $names[13] and s7 != $names[13]
@id_8 = 13
s8 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14] and s4 != $names[14] and s5 != $names[14] and s6 != $names[14] and s7 != $names[14]
@id_8 = 14
s8 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15] and s3 != $names[15] and s4 != $names[15] and s5 != $names[15] and s6 != $names[15] and s7 != $names[15]
@id_8 = 15
s8 = $names[15]
end
# Make nineth option on quest selection
if $game_variables[$variables[9]] > 0 and $game_variables[$variables[9]] < $end[9] and s1 != $names[9] and s2 != $names[9] and s3 != $names[9] and s4 != $names[9] and s5 != $names[9] and s6 != $names[9] and s7 != $names[9] and s8 != $names[9]
@id_9 = 9
s9 = $names[9]
elsif $game_variables[$variables[10]] > 0 and $game_variables[$variables[10]] < $end[10] and s1 != $names[10] and s2 != $names[10] and s3 != $names[10] and s4 != $names[10] and s5 != $names[10] and s6 != $names[10] and s7 != $names[10] and s8 != $names[10]
@id_9 = 10
s9 = $names[10]
elsif $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11] and s1 != $names[11] and s2 != $names[11] and s3 != $names[11] and s4 != $names[11] and s5 != $names[11] and s6 != $names[11] and s7 != $names[11] and s8 != $names[11]
@id_9 = 11
s9 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12] and s2 != $names[12] and s3 != $names[12] and s4 != $names[12] and s5 != $names[12] and s6 != $names[12] and s7 != $names[12] and s8 != $names[12]
@id_9 = 12
s9 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13] and s3 != $names[13] and s4 != $names[13] and s5 != $names[13] and s6 != $names[13] and s7 != $names[13] and s8 != $names[13]
@id_9 = 13
s9 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14] and s4 != $names[14] and s5 != $names[14] and s6 != $names[14] and s7 != $names[14] and s8 != $names[14]
@id_9 = 14
s9 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15] and s3 != $names[15] and s4 != $names[15] and s5 != $names[15] and s6 != $names[15] and s7 != $names[15] and s8 != $names[15]
@id_9 = 15
s9 = $names[15]
end
# Make tenth option on quest selection
if $game_variables[$variables[10]] > 0 and $game_variables[$variables[10]] < $end[10] and s1 != $names[10] and s2 != $names[10] and s3 != $names[10] and s4 != $names[10] and s5 != $names[10] and s6 != $names[10] and s7 != $names[10] and s8 != $names[10] and s9 != $names[10]
@id_10 = 10
s10 = $names[10]
elsif $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11] and s1 != $names[11] and s2 != $names[11] and s3 != $names[11] and s4 != $names[11] and s5 != $names[11] and s6 != $names[11] and s7 != $names[11] and s8 != $names[11] and s9 != $names[11]
@id_10 = 11
s10 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12] and s2 != $names[12] and s3 != $names[12] and s4 != $names[12] and s5 != $names[12] and s6 != $names[12] and s7 != $names[12] and s8 != $names[12] and s9 != $names[12]
@id_10 = 12
s10 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13] and s3 != $names[13] and s4 != $names[13] and s5 != $names[13] and s6 != $names[13] and s7 != $names[13] and s8 != $names[13] and s9 != $names[13]
@id_10 = 13
s10 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14] and s4 != $names[14] and s5 != $names[14] and s6 != $names[14] and s7 != $names[14] and s8 != $names[14] and s9 != $names[14]
@id_10 = 14
s10 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15] and s3 != $names[15] and s4 != $names[15] and s5 != $names[15] and s6 != $names[15] and s7 != $names[15] and s8 != $names[15] and s9 != $names[15]
@id_10 = 15
s10 = $names[15]
end
# Make eleventh option on quest selection
if $game_variables[$variables[11]] > 0 and $game_variables[$variables[11]] < $end[11] and s1 != $names[11] and s2 != $names[11] and s3 != $names[11] and s4 != $names[11] and s5 != $names[11] and s6 != $names[11] and s7 != $names[11] and s8 != $names[11] and s9 != $names[11] and s10 != $names[11]
@id_11 = 11
s11 = $names[11]
elsif $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12] and s2 != $names[12] and s3 != $names[12] and s4 != $names[12] and s5 != $names[12] and s6 != $names[12] and s7 != $names[12] and s8 != $names[12] and s9 != $names[12] and s10 != $names[12]
@id_11 = 12
s11 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13] and s3 != $names[13] and s4 != $names[13] and s5 != $names[13] and s6 != $names[13] and s7 != $names[13] and s8 != $names[13] and s9 != $names[13] and s10 != $names[13]
@id_11 = 13
s11 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14] and s4 != $names[14] and s5 != $names[14] and s6 != $names[14] and s7 != $names[14] and s8 != $names[14] and s9 != $names[14] and s10 != $names[14]
@id_11 = 14
s11 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15] and s3 != $names[15] and s4 != $names[15] and s5 != $names[15] and s6 != $names[15] and s7 != $names[15] and s8 != $names[15] and s9 != $names[15] and s10 != $names[15]
@id_11 = 15
s11 = $names[15]
end
# Make twelveth option on quest selection
if $game_variables[$variables[12]] > 0 and $game_variables[$variables[12]] < $end[12] and s1 != $names[12] and s2 != $names[12] and s3 != $names[12] and s4 != $names[12] and s5 != $names[12] and s6 != $names[12] and s7 != $names[12] and s8 != $names[12] and s9 != $names[12] and s10 != $names[12] and s11 != $names[12]
@id_12 = 12
s12 = $names[12]
elsif $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13] and s3 != $names[13] and s4 != $names[13] and s5 != $names[13] and s6 != $names[13] and s7 != $names[13] and s8 != $names[13] and s9 != $names[13] and s10 != $names[13] and s11 != $names[13]
@id_12 = 13
s12 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14] and s4 != $names[14] and s5 != $names[14] and s6 != $names[14] and s7 != $names[14] and s8 != $names[14] and s9 != $names[14] and s10 != $names[14] and s11 != $names[14]
@id_12 = 14
s12 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15] and s3 != $names[15] and s4 != $names[15] and s5 != $names[15] and s6 != $names[15] and s7 != $names[15] and s8 != $names[15] and s9 != $names[15] and s10 != $names[15] and s11 != $names[15]
@id_12 = 15
s12 = $names[15]
end
# Make thirteenth option on quest selection
if $game_variables[$variables[13]] > 0 and $game_variables[$variables[13]] < $end[13] and s1 != $names[13] and s2 != $names[13] and s3 != $names[13] and s4 != $names[13] and s5 != $names[13] and s6 != $names[13] and s7 != $names[13] and s8 != $names[13] and s9 != $names[13] and s10 != $names[13] and s11 != $names[13] and s12 != $names[13]
@id_13 = 13
s13 = $names[13]
elsif $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14] and s4 != $names[14] and s5 != $names[14] and s6 != $names[14] and s7 != $names[14] and s8 != $names[14] and s9 != $names[14] and s10 != $names[14] and s11 != $names[14] and s12 != $names[14]
@id_13 = 14
s13 = $names[14]
elsif $game_variables[$variables[15]] > 0 and $game_variables[$variables[15]] < $end[15] and s1 != $names[15] and s2 != $names[15] and s3 != $names[15] and s4 != $names[15] and s5 != $names[15] and s6 != $names[15] and s7 != $names[15] and s8 != $names[15] and s9 != $names[15] and s10 != $names[15] and s11 != $names[15] and s12 != $names[15]
@id_13 = 15
s13 = $names[15]
end
# Make fourteenth option on quest selection
if $game_variables[$variables[14]] > 0 and $game_variables[$variables[14]] < $end[14] and s1 != $names[14] and s2 != $names[14] and s3 != $names[14] and s4 != $names[14] and s5 != $names[14] and s6 != $names[14] and s7 != $names[14] and s8 != $names[14] and s9 != $names[14] and s10 != $names[14] and s11 != $names[14] and s12 != $names[14] and s13 != $names[14]
@id_14 = 14
s14 = $names[14]
&nb
Nice. Did you work on the code I gave you already? Having many global variables is not so good. They need a lot of RAM and the CPU needs to swap them often between his registries and the RAM, so it even slows down the application.
So that's why some people use instance variable?
Ooo... :o
Yep, I've tried it. Very advanced!
(Then I can't understand every command...)
(And my "nationalism" for using own-made or rewritten with modification)
Yeah. I often find myself sitting at a problem for half an hour only because I don't want to use another variable, lol. ::)
I am a noob so don't get mad at me, how do you get it to work. I have the script in my script editor already. Now what?
Quote from: Wafflekid on January 18, 2007, 12:17:58 AM
I am a noob so don't get mad at me, how do you get it to work. I have the script in my script editor already. Now what?
read the first few lines of the script, they have the instructions. ;D
I did. But how do you see what quest your currently on?
You can use two method, but i'll explain only one:
Make an event and use Call Script command and type this line:
$scene = Scene_Quest.new
Oh ok thanks.
If you use the method I mentioned, change this line :
$scene = Scene_Menu.new(2)
With this :
$scene = Scene_Map.new
Oh one more thing, how do you get it so a quest is added. What's the code for that?
You mean how to add a quest?
I guess it's explained on Configuration section. Just use Call Command script.
So what do I put in the command script? And how to I get it matched up to the right quest?
It should say.
It probably does but I am really bad at this sort of stuff.
Anyone tell me please?
OK, example, like this:
$names[1] = "Learning To Use Quest Script"
then change the value of controller varable to 1
Sorry forgot...
To match it, i've created another script. I'll post it soon...
Ok thanks
BUMP
Good Script 7billion thums up :lol:
What do you want... you can't force him!
I know, it's just I need that part to finish my game.
Quote from: Me™ on January 31, 2007, 02:46:52 PM
What do you want... you can't force him!
I know, it's just I need that part to finish my game.
Please wait until I remake the updater or the 2nd version of this script.
Fine...
Alright, the 2nd version is going to published...
Finally
This is it. But not perfect (yet...)
#=============================================================================
# Quest Log Screen
#-----------------------------------------------------------------------------
# ** Version 2.0
# ** Original by Sthrattoff
#=============================================================================
# Description :
# This script enables the ability to show current active quest.
# Features :
# SIMPLIFIED! Now the script is just about 300 lines length.
# Unlimited amount of quest can be added.
# Still use variable to mark quest's progress.
# Limitation :
# Only can store up to 12 progress per quest.
# History :
# Version 1.0 : Initial release.
# Version 1.2 : Add "Types" features.
# Version 2.0 : Changes in programming style and infinite quest support.
# Instruction
# Just put this script above main.
# Configuration :
# To add quest, use Call Script command and type this :
# $names.push "quest name" for the quest's name
# $types.push "quest type" for the quest's type (main or sidequest or something)
# $descriptionm.push "quest description line m" for the quest's description. m is the line
# number (1-5)
# $objectivesm.push "quest objectives m" for the quest's objectives. m is the objective
# number (1-12)
# $var_ID.push value for the quest's game variable marker ID
# To end a quest, set the marker variable's value to 12
# Credits
# See the header + Blizzard and Enterbrain
#=============================================================================
class Scene_Quest
$names = []
$types = []
$description0 = []
$description1 = []
$description2 = []
$description3 = []
$description4 = []
$objectives0 = []
$objectives1 = []
$objectives2 = []
$objectives3 = []
$objectives4 = []
$objectives5 = []
$objectives6 = []
$objectives7 = []
$objectives8 = []
$objectives9 = []
$objectives10 = []
$objectives11 = []
$var_ID = []
def initialize
$names.compact
end
def main
@quest_list = Window_Command.new(160, $names)
@quest_window = Window_Quest.new
@quest_window.x = 160
Graphics.transition
loop do
Graphics.update
Input.update
update
break if $scene != self
end
Graphics.freeze
@quest_list.dispose
@quest_window.dispose
end
def update
@quest_list.update
@quest_window.update
if @quest_list.active
update_quest
return
end
end
def update_quest
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(2)
return
end
quest = @quest_list.index
preview(quest)
end
def preview(x)
$preview_name = $names[x]
$preview_type = $types[x]
$preview_description0 = $description0[x]
$preview_description1 = $description1[x]
$preview_description2 = $description2[x]
$preview_description3 = $description3[x]
$preview_description4 = $description4[x]
$preview_objectives0 = $objectives0[x]
$preview_objectives1 = $objectives1[x]
$preview_objectives2 = $objectives2[x]
$preview_objectives3 = $objectives3[x]
$preview_objectives4 = $objectives4[x]
$preview_objectives5 = $objectives5[x]
$preview_objectives6 = $objectives6[x]
$preview_objectives7 = $objectives7[x]
$preview_objectives8 = $objectives8[x]
$preview_objectives9 = $objectives9[x]
$preview_objectives10 = $objectives10[x]
$preview_objectives11 = $objectives11[x]
$preview_variable = $var_ID[x]
return
end
end
class Window_Quest < Window_Base
def initialize
super(0, 0, 480, 480)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 32, self.width - 32, 32, $preview_type.to_s, 1)
self.contents.draw_text(0, 224, self.width - 32, 32, "Objectives", 1) if $types.size != 0
self.contents.font.color = normal_color
self.contents.draw_text(0, 0, self.width - 32, 32, $preview_name.to_s, 1)
self.contents.draw_text(0, 64, self.width - 32, 32 * 5, $preview_description0.to_s)
self.contents.draw_text(0, 96, self.width - 32, 32 * 5, $preview_description1.to_s)
self.contents.draw_text(0, 128, self.width - 32, 32 * 5, $preview_description2.to_s)
self.contents.draw_text(0, 160, self.width - 32, 32 * 5, $preview_description3.to_s)
self.contents.draw_text(0, 192, self.width - 32, 32 * 5, $preview_description4.to_s)
case $game_variables[$preview_variable.to_i]
when 0
self.contents.font.color = normal_color
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s) if $types.size != 0
when 1
self.contents.font.color = normal_color
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 2
self.contents.font.color = normal_color
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 3
self.contents.font.color = normal_color
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 4
self.contents.font.color = normal_color
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 5
self.contents.font.color = normal_color
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 6
self.contents.font.color = normal_color
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 7
self.contents.font_color = normal_color
self.contents.draw_text(240, 288, self.width / 2, 32, "•" + $preview_objectives7.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 8
self.contents.font.color = normal_color
self.contents.draw_text(240, 320, self.width / 2, 32, "•" + $preview_objectives8.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(240, 288, self.width / 2, 32, "•" + $preview_objectives7.to_s)
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 9
self.contents.font.color = normal_color
self.contents.draw_text(240, 352, self.width / 2, 32, "•" + $preview_objectives9.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(240, 320, self.width / 2, 32, "•" + $preview_objectives8.to_s)
self.contents.draw_text(240, 288, self.width / 2, 32, "•" + $preview_objectives7.to_s)
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 10
self.contents.font.color = normal_color
self.contents.draw_text(240, 384, self.width / 2, 32, "•" + $preview_objectives10.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(240, 352, self.width / 2, 32, "•" + $preview_objectives9.to_s)
self.contents.draw_text(240, 320, self.width / 2, 32, "•" + $preview_objectives8.to_s)
self.contents.draw_text(240, 288, self.width / 2, 32, "•" + $preview_objectives7.to_s)
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
when 11
self.contents.font.color = normal_color
self.contents.draw_text(240, 416, self.width / 2, 32, "•" + $preview_objectives11.to_s)
self.contents.font.color = disabled_color
self.contents.draw_text(240, 384, self.width / 2, 32, "•" + $preview_objectives10.to_s)
self.contents.draw_text(240, 352, self.width / 2, 32, "•" + $preview_objectives9.to_s)
self.contents.draw_text(240, 320, self.width / 2, 32, "•" + $preview_objectives8.to_s)
self.contents.draw_text(240, 288, self.width / 2, 32, "•" + $preview_objectives7.to_s)
self.contents.draw_text(240, 256, self.width / 2, 32, "•" + $preview_objectives6.to_s)
self.contents.draw_text(0, 416, self.width / 2, 32, "•" + $preview_objectives5.to_s)
self.contents.draw_text(0, 384, self.width / 2, 32, "•" + $preview_objectives4.to_s)
self.contents.draw_text(0, 352, self.width / 2, 32, "•" + $preview_objectives3.to_s)
self.contents.draw_text(0, 320, self.width / 2, 32, "•" + $preview_objectives2.to_s)
self.contents.draw_text(0, 288, self.width / 2, 32, "•" + $preview_objectives1.to_s)
self.contents.draw_text(0, 256, self.width / 2, 32, "•" + $preview_objectives0.to_s)
end
end
def update
refresh
end
end
This is a great script. I know it's from a while back but I'd like to recommend it for Scripts Database. Any mods around?
I'm in the credits? :o
Can't remember that I did something in this script. I only remember making you that other Quest logger, but I don't see any code from it in your script, lol! *moves*
EDIT:
I updated your first post, BTW. :)
Wondering...
How do I make it so when the Player finished the Quest it puts as Mission completed or something like that ?_?
Quote from: Sthrattoff on January 12, 2007, 08:55:45 AM
# To end a quest, set the marker variable's value to 12
Quote from: modern algebra on February 24, 2007, 04:50:48 AM
Quote from: Sthrattoff on January 12, 2007, 08:55:45 AM
# To end a quest, set the marker variable's value to 12
?_? The Marker Variable? I have to set in the Variable a 12?
yeah, $var_ID.push value identifies an in-game variable which is used to mark progress in a quest. i.e. if you put $var_ID.push 1, then variable 001 is used to mark progress.If you set that variable to 12, it should disable the quest. At least, that's what I understand from the instructions. It might be better if you ask Sthrattoff though, as he can help you better than I can.
First of all, I apologize for my terrible English...
modern algebra is right!
Blizzard : Oh, perhaps you're forgot if you're teach me, not givin' the code.
And...
Here's the version 2.2!
#=============================================================================
# Quest Log Screen
#-----------------------------------------------------------------------------
# ** Version 2.2
# ** Original by Sthrattoff
#=============================================================================
# Description :
# This script enables the ability to show current active quest.
# Features :
# EXTREMELY SIMPLIFIED! Now the script is just about 150 lines length.
# Unlimited amount of quest can be added.
# Use variable to mark quest's progress.
# Limitation :
# Only can store up to 12 progress per quest.
# History :
# Version 1.0 : Initial release.
# Version 1.2 : Add "Types" features.
# Version 2.0 : Changes in programming style and infinite quest support.
# Version 2.2 : Cut the script length to about 150 lines.
# Instruction
# Just put this script above main.
# Configuration :
# To add a quest, fill these information by using .push
# $names.push "Name"
# $types.push "Type"
# $description.push (["line1", "line2", ..., "Line5"])
# $objectives.push (["onjective1", ..., "objective12"])
# $var_ID.push ID_NUMBER
# Credits
# See the header + Blizzard and Enterbrain
#=============================================================================
class Scene_Quest
$names = []
$types = []
$description = []
$objectives = []
$var_ID = []
def main
@quest_list = Window_Command.new(160, $names)
@quest_window = Window_Quest.new
@quest_window.x = 160
Graphics.transition
loop do
Graphics.update
Input.update
update
break if $scene != self
end
Graphics.freeze
@quest_list.dispose
@quest_window.dispose
end
def update
@quest_list.update
@quest_window.update
if @quest_list.active
update_quest
return
end
end
def update_quest
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(2)
return
end
$id = @quest_list.index
return
end
end
class Window_Quest < Window_Base
def initialize
super(0, 0, 480, 480)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, self.width - 32, 32, $names[$id.to_i].to_s, 1)
self.contents.draw_text(0, 224, self.width - 32, 32, "Objectives", 1)
self.contents.font.color = normal_color
self.contents.draw_text(0, 32, self.width - 32, 32, $types[$id.to_i].to_s, 1)
for i in 0..4
self.contents.draw_text(0, i * 32 + 64, self.width - 32, 32, $description[$id.to_i][i].to_s)
end
a = b = $game_variables[$var_ID[$id.to_i]]
if a > 5
self.contents.draw_text(240, (a - 6) * 32 + 256, 240, 32, "• " + $objectives[$id.to_i][a].to_s)
else
self.contents.draw_text(0, a * 32 + 256, 240, 32, "• " + $objectives[$id.to_i][a].to_s)
end
self.contents.font.color = disabled_color
if b > 0
for j in 0..(b - 1)
if j > 5
self.contents.draw_text(240, (j - 6) * 32 + 256, 240, 32, "• " + $objectives[$id.to_i][j].to_s)
else
self.contents.draw_text(0, j * 32 + 256, 240, 32, "• " + $objectives[$id.to_i][j].to_s)
end
end
end
end
def update
refresh
end
end
And before you're call the script, use this :
size = $names.size
for i in 0..size
var = $var_ID[i]
if $game_variables[var.to_i] >= 12
$names.delete_at i
$types.delete_at i
$description.delete_at i
$objectives.delete_at i
$var_ID.delete_at i
end
end
Personally, I used this script on the initialize method on Scene_Menu.
And still... Set the variable to 12 to disable the quest.
Awesome, you've shorten it even more! ;8
BTW, you don't need to give me credit for my help, lol!
I used the other script of this..but now I dont know how to open the quest log ??? Also where do you put the # $names.push "Name" things?
Quoteclass Scene_Quest
$names = []
$types = []
$description = []
$objectives = []
$var_ID = []
My Question, is this the Configuartion part? For Each Quest? ???
I don't understand ANY of it! :'( :'( ???
Some help would be appericated!
Example, if you want to add quest named "Welcome to the Black Parade", you must use this syntax
$names.push "Welcome to the Black Parade"
Information, Id of variable used to control quest progress must be saved on $var_ID
$var_ID 4 # 4 is the variable's id
To enter those code, use Call Script event command.
I found some bugs.
To fix it, please add this line on Scene_Save below the last line of Marshal.dump
Marshal.dump($names, file)
Marshal.dump($types, file)
Marshal.dump($description, file)
Marshal.dump($objectives, file)
Marshal.dump($var_ID, file)
Marshal.dump($end_val, file)
and this one below the last line of Marshal.load on Scene_Load
$names = Marshal.load(file)
$types = Marshal.load(file)
$description = Marshal.load(file)
$objectives = Marshal.load(file)
$var_ID = Marshal.load(file)
$end_val = Marshal.load(file)
and this one somewhere on new game method on Scene_Title
$names.clear
$types.clear
$description.clear
$objectives.clear
$var_ID.clear
$end_val.clear
Any question can be pointed to me or Blizzard.
It will fix when you play a new game...
Hey, Sthrattoff, I have a better idea. Use the Game_System class for your extra variables. That way they'll get saved automatically. (~_^)d
[spoiler=Template for add stuff to Game_System]
class Game_System
attr_accessor :better_than_another_global_number
attr_accessor :better_than_another_global_string
attr_accessor :better_than_another_global_boolean
attr_accessor :better_than_another_global_array
alias init_your_script_whatever initialize
def initialize
init_your_script_whatever
@better_than_another_global_number = 12345
@better_than_another_global_string = "54321"
@better_than_another_global_boolean = true
@better_than_another_global_array = [1, "That's", " ", "sweet.", true]
end
end
Reference is of course $game_system.better_than_another_global_number, etc.
[/spoiler]
would it be possible to add this to the menu somehow? (it probably is, but i have no idea how to)
http://rmrk.net/index.php/topic,7193.0.html (http://rmrk.net/index.php/topic,7193.0.html)
Look under 6 a)
Just open the menu script, find this code
s6=exit #Or whatever, I forgot
and add this line:
s7="quest"
on update command, below when 5's statement and end, add
when 6
$game_system.se_play($data_system.decision_se)
$scene=Scene_Quest.new
Still not understand? Ask blizzard. He explain better.
In the tutorial section, stickied topic "Blizzard's little Tricks", look under 6. a) if you didn't get what Sthrathoff said.
Sweet, this script fixes the problem I've had with every other Quest Log I've found. I have a question though. I really need this script for my game, but I might be making my game commercial. Besides asking you for permission (which I am doing now) and including you in the credits, what would you require?
Window_Command line 18 RGGS Error faild to creat bit map? what does that mean?
Whenever I use the Call Script Command
I get that This Line:
Quote$descriptionm.push "Head to the Temple, and Retrieve The 'Lost Logia' Before Valmar."
number (1)
$objectivesm.push
Saying it cannot be read, error on Nil.
look at this line :
$objectivesm
make sure to change the m with objective numbers, like:
$objectives1
By the way, is that the old version?
I already updated it. Check this thread.
New Version Has Arrived!
No more editing at other places. Just put it!
#=============================================================================
# Quest Log Screen
#-----------------------------------------------------------------------------
# ** Version 2.3
# ** Original by Sthrattoff
#=============================================================================
# Description :
# This script enables the ability to show current active quest.
# Features :
# EXTREMELY SIMPLIFIED! Now the script is just about 150 lines length including comments.
# Unlimited amount of quest can be added.
# Use variable to mark quest's progress.
# Limitation :
# Only can store up to 12 progresses per quest.
# History :
# Version 1.0 : Initial release.
# Version 1.2 : Add "Types" features.
# Version 2.0 : Changes in programming style and infinite quest support.
# Version 2.2 : Cut the script length to about 150 lines.
# Version 2.3 : Add "Quest Progress" bar in exchange of "Types" removal.
# Instruction
# Just put this script above main.
# Configuration :
# To add a quest, fill these information by using .push
# $names.push "Name"
# $types.push "Type"
# $description.push (["line1", "line2", ..., "Line5"])
# $objectives.push (["onjective1", ..., "objective12"])
# $var_ID.push ID_NUMBER
# $end_val.push END_VALUE
# Credits
# See the header + Blizzard and Enterbrain
#=============================================================================
class Scene_Quest
# Defines array variables
$names = []
$description = []
$objectives = []
$var_ID = []
$end_val = []
# The main process
def main
@quest_list = Window_Command.new(160, $names)
@quest_window = Window_Quest.new
@quest_window.x = 160
Graphics.transition
loop do
Graphics.update
Input.update
update
break if $scene != self
end
Graphics.freeze
@quest_list.dispose
@quest_window.dispose
end
def update
@quest_list.update
@quest_window.update
if @quest_list.active
update_quest
return
end
end
def update_quest
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(2)
return
end
$id = @quest_list.index
return
end
end
class Window_Quest < Window_Base
def initialize
super(0, 0, 480, 480)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, self.width - 32, 32, $names[$id.to_i].to_s, 1)
self.contents.draw_text(0, 192, self.width - 32, 32, "Objectives", 1)
self.contents.draw_text(0, 416, self.width - 32, 32, "Quest Progress")
self.contents.font.color = normal_color
for i in 0..4
self.contents.draw_text(0, i * 32 + 32, self.width - 32, 32, $description[$id.to_i][i].to_s)
end
a = b = $game_variables[$var_ID[$id.to_i]]
if a > 5
self.contents.draw_text(240, (a - 6) * 32 + 224, 240, 32, "• " + $objectives[$id.to_i][a].to_s)
else
self.contents.draw_text(0, a * 32 + 224, 240, 32, "• " + $objectives[$id.to_i][a].to_s)
end
self.contents.font.color = disabled_color
if b > 0
for j in 0..(b - 1)
if j > 5
self.contents.draw_text(240, (j - 6) * 32 + 224, 240, 32, "• " + $objectives[$id.to_i][j].to_s)
else
self.contents.draw_text(0, j * 32 + 224, 240, 32, "• " + $objectives[$id.to_i][j].to_s)
end
end
end
draw_quest_progress(96, 428, self.width - 128)
end
def update
refresh
end
end
class Window_Base < Window
def draw_quest_progress(x, y, w = 200)
current = $game_variables[$var_ID[$id.to_i]]
ending = $end_val[$id.to_i]
bordercolor = system_color
outercolor = Color.new(180, 210, 120, 255)
midcolor = Color.new(180, 210, 140, 255)
innercolor = Color.new(180, 210, 160, 255)
emptycolor = Color.new(0, 0, 0, 255)
linewidth = (((current * 1.0) / ending) * (w - 2))
emptywidth = ((w - 1) - linewidth)
emptyx = ((x + 1) + linewidth)
border = Rect.new(x, y, w, 8)
emptyline = Rect.new(x + 1, y + 1, w - 2, 6)
outerline = Rect.new(x + 1, y + 1, linewidth, 6)
midline = Rect.new(x + 2, y + 2, linewidth - 2, 4)
innerline = Rect.new(x + 3, y + 3, linewidth - 4, 2)
self.contents.fill_rect(border, bordercolor)
self.contents.fill_rect(emptyline, emptycolor)
self.contents.fill_rect(outerline, outercolor)
self.contents.fill_rect(midline, midcolor)
self.contents.fill_rect(innerline, innercolor)
end
end
class Scene_Save < Scene_File
alias old_save_data write_save_data
def write_save_data(file)
old_save_data(file)
Marshal.dump($names, file)
Marshal.dump($description, file)
Marshal.dump($objectives, file)
Marshal.dump($var_ID, file)
Marshal.dump($end_val, file)
end
end
class Scene_Load < Scene_File
alias old_load_data read_save_data
def read_save_data(file)
old_load_data(file)
$names = Marshal.load(file)
$description = Marshal.load(file)
$objectives = Marshal.load(file)
$var_ID = Marshal.load(file)
$end_val = Marshal.load(file)
end
end
class Scene_Title
alias old_new_game command_new_game
def command_new_game
old_new_game
$names.clear
$description.clear
$objectives.clear
$var_ID.clear
$end_val.clear
end
end
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
size = $names.size
for i in 0..size
var = $var_ID[i]
ending = $end_val[i]
if $game_variables[var.to_i] >= ending.to_i
$names.delete_at i
$description.delete_at i
$objectives.delete_at i
$var_ID.delete_at i
$end_val.delete_at i
end
end
end
end
I'm sorry, but i still don't understand it. Now you can ask what, but that's hard and much to explain, so i want to ask you (i think this sounds kinda rude :)) if you can make a very small demo off this with 2 people and they both give you a quest, and ( of course) you can see that in the quest log, and you must do something and then you see that you're further in the quest. thanks. ;D
Demo?
Sounds good. I'll make it when I have some time
Kinda bussy i guess ? ;8
I'm busy. A lot.
I'm doing my project by myself...
looks good! I understand it pretty well so far, I could make a demo for you :) i'll get started on it right now!
EDIT: I have taken the liberty and created a demo for this :) here's the link: http://www.box.net/shared/78qraeztaf
If the scripter or an admin/mod wishes to add this link to the first post, please do.
I've got a problem with this script. From what I have figured out, you must do each quest in order because of the $var_ID.push #. The problem is the .push, which basically makes it so that if you skip a quest between, say quest [ 0] and quest [2] (quest [1] basically), then you get an error of "cannot convert nil into String", and the error line is in the 'Window_Line' script on line 40 (this is the line: self.contents.draw_text(rect, @commands[index]) ). This is a problem for my game because there is no specific order of quests that must be done, which means that using .push for the variable will not work for my game, because (as i have said) the quest can only be done in order... is there any way someone could help by making the $var_ID.push ID_NUMBER be similar to the $name variable in the sense that it goes like this: $var_ID[QUEST_ID] ID_NUMBER
I know this may seem dumb, but..
Where do you put that script?
http://rmrk.net/index.php/topic,263.0.html
i have the same problem as swiftdeathsk
also... my objextives are long descriptions and id prefer not to make them short cause most dont fit into the place where you type the objextives in that little box thing is there a way a can have more than one box... if you understand wat im asking
P.s gotta love the beas :bean:
Could you make an example for as what to put in the call script command?
eg. for quest "The Dark Side"
type: Sidequest
Description: Frank wants me to gather the materials for his new experiments
Objectives: Gather Materials: King's Weed, Fireroot, Dead Leaves
example, call script event command:
<code>
$names.push "The Dark Side"
$description.push ["I need something", "To become Darth Vader"]
$objectives.push ["Kill Palpatine", "Kill Yoda"]
</code>
:(help, i am using this script in my game, and i edited the menu so that you could have this where save normally is, as i am saving from events, i came to test my firsts ave event, and it gave me this error
QuoteScript 'quest log' line 161: argument error occured.
wrong number of arguments(0 for1)
whats wrong?
help!!! :(
i am using version 2.3 and im getting an error :o
Script 'Window_Command' line 18:RGSSError occurred.
Failed to create bitmap
self.contents = Bitmap.new(width - 32, @item_max * 32)
can someone tell me what is wrong?
Hold on. I'll rewrite everything. Seems take some days...
finaly a reply ;D
thank u for the reply
thanks in advance for re-writing the script
So far...
It's quite simpler, and use no global variables (which that means less RAM usage, or so experts says), but I didn't put method to write the description yet, I'm still confused how to get the paragraphs looks good. And then, on my calculation, for a moment (until I update this script again), don't make a subquest MORE THAN 8. Otherwise, the other subquest (objectives) will not shown.
Usage:
$game_system.(properties).push details # to add quest detail. for objectives, push in form of array.
To call:
$scene = Scene_Quest.new
Because this is the specific version (for usage on Symphony of Alderra : Hourglasses And Memories, which is older name was Symphony of Alderra : Memoirs of Life), so on the Scene_Quest's def update, change $scene = Scene_Menu.new(2) to $scene = Scene_Map.new if you didn't planning to integrate this script to your CMS. And, I didn't test it yet. If you found error please PM me.
#==============================================================================
# Improvised Quest Log
# Written specifically for Symphony of Alderra : Hourglasses And Memories
# © 2007 by Sthrattoff
#==============================================================================
# Supplement for Game_System
class Game_System
attr_accessor :quest_name # Quest's title
attr_accessor :quest_length # Quest's subquests
attr_accessor :quest_description # Quest's description
attr_accessor :quest_objectives # Quest's objectives
attr_accessor :quest_marker # Quest's marker variable
alias old_initialize initialize
def initialize
old_initialize
@quest_name = []
@quest_length = []
@quest_description = []
@quest_objectives = []
@quest_marker = []
end
end
# Supplement for Scene_Map
class Scene_Map
alias old_update update
def update
quest_size = $game_system.quest_name.size
for i in 0..quest_size - 1
if $game_variables[$game_system.quest_marker[i].to_i] >= $game_system.quest_length
$game_system.quest_name.delete_at i
$game_system.quest_length.delete_at i
$game_system.quest_description.delete_at i
$game_system.quest_objectives.delete_at i
$game_system.quest_marker.delete_at i
quest_size -= 1
end
end
old_update
end
end
class Window_Quest < Window_Base
def initialize(id)
super(0, 0, 480, 480)
self.contents = Bitmap.new
refresh
@id = id
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 480, 32, $game_system.quest_name[@id].to_s, 1)
self.contents.draw_text(0, 32, 480, 32, "Description")
self.contents.draw_text(0, 192, 480, 32, "Objectives")
self.contents.font.color = disabled_color
size = $game_variables[$game_system.quest_marker[@id].to_i]
for i in 0..size - 1
self.contents.draw_text(0, 224 + i * 32, 480, 32, $game_system.quest_objectives[@id][i].to_s)
end
self.contents.font.color = normal_color
self.contents.draw_text(0, 224 + size.to_i * 32, 480, 32, $game_system.quest_objectives[@id][size].to_s)
self.contents.font.color = normal_color
# Deskripsi dan segala methodnya...
end
end
class Scene_Quest
def main
@command = Window_Command.new(160, $game_system.quest_name)
@command.x = 480
@quest = Window_Quest.new(@command.index)
Graphics.transition
loop do
Graphics.update
Input.update
update
break if $scene != self
end
Graphics.freeze
@command.dispose
@quest.dispose
end
def update
@command.update
@quest.update
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(2)
return
end
return
end
end
i get a syntaxerror on line 68 :o
hope u can fix it ;)
2 things fixed.
Copy paste the code below again...
thank you
but now i get a SyntaxError on line 70 :(
i tried it both in a new one and an existing project.
Fixed!
Try copy paste again.
Now i get error on line 70, i change the line to what i think is correct
And i get an error on line 35
so if u don't want to change it anymore it's ok, then i will just use an other quest script
I'll investigate it. But for a moment, i've fixed the thingy on line 35, I just forgot to put -1 on it.
Alright, I've been testing the demo provided, and trying to add a second quest of my own to it. However, I can't seem to make two quests at once. They interfer with eachother, for example, if I select them both at once before working on either, the quest log will show me the last one I picked and be stuck on that one. However, if say... I start one, finish it, then start the next one, it says all my objectives have been met, when they haven't yet.
I think I know where I'm going wrong, but not how to fix it.... in this line here
$names[0] = "Testing 2"
(my second quest name... origonal I know)
I think, since the first quest is
$names[0] = "Test"
I would need to change the 0 to a 1, however when I do that, I get an error when I go to open up the quest page.
Then, I thought, all the things (Description, and Objective also) the 0 would have to be a 1, to indicate its for a different quest than, test, and so on..... but, even changing them all to 1 it isn't working.... I still get the error.
I had just copied the other quest, and changed all the switches and variables to quest 2. So, I can do the quest, but it doesn't show it that way in the quest log. I'm not really sure what I have to do, to be able to have two quests at the same time, and have them both (or more than 2) show on the quest log.
Check this out! It's free from bug (while I test it...).
And I added function to bypass subquest, but I didn't test it yet. Wanna be the first tester?
#==============================================================================
# Quest Log
#------------------------------------------------------------------------------
# ** Version 2.0c
# ** Original by Sthrattoff
#==============================================================================
# Description:
# This script add feature called "Quest Log".
# It's a quest-reminder feature that lets you to recall everything you need to
# be done.
# Instructions:
# Put this script above main.
# Read every instruction carefully.
# Please report any bug you encounter.
# How to Use:
# For adding details, follow this example:
# $game_system.quest_name.push (contents)
# etc. Do it for all details.
# Credits:
# See the header + Enterbrain.
#==============================================================================
# Supplement for Game_System
class Game_System
attr_accessor :quest_name # Quest's title
attr_accessor :quest_length # Quest's tasks
attr_accessor :quest_description # Quest's description
attr_accessor :quest_objectives # Quest's objectives
attr_accessor :quest_marker # Quest's marker variable
alias old_initialize initialize
def initialize
old_initialize
@quest_name = []
@quest_length = []
@quest_description = []
@quest_objectives = []
@quest_marker = []
end
end
# Supplement for Scene_Map
class Scene_Map
alias old_update update
def update
$game_system.quest_sort
quest_size = $game_system.quest_name.size
for i in 0..quest_size
if $game_variables[$game_system.quest_marker[i].to_i].to_i >= $game_system.quest_length[i].to_i
$game_system.quest_name.delete_at i
$game_system.quest_length.delete_at i
$game_system.quest_description.delete_at i
$game_system.quest_objectives.delete_at i
$game_system.quest_marker.delete_at i
quest_size -= 1
end
end
old_update
end
end
# The window for Scene_Quest
class Window_Quest < Window_Base
def initialize(id)
super(0, 0, 480, 480)
self.contents = Bitmap.new
refresh
@id = id
end
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 480, 32, $game_system.quest_name[@id].to_s, 1)
self.contents.draw_text(0, 32, 480, 32, "Description")
self.contents.draw_text(0, 192, 480, 32, "Objectives")
self.contents.font.color = disabled_color
size = $game_variables[$game_system.quest_marker[@id].to_i]
for i in 0..size - 1
self.contents.draw_text(0, 224 + i * 32, 480, 32, $game_system.quest_objectives[@id][i].to_s)
end
self.contents.font.color = normal_color
self.contents.draw_text(0, 224 + size * 32, 480, 32, $game_system.quest_objectives[@id][size].to_s)
self.contents.font.color = normal_color
# Deskripsi dan segala methodnya...
end
end
# Quest menu main view
class Scene_Quest
def main
@command = Window_Command.new(160, $game_system.quest_name)
@command.x = 480
@quest = Window_Quest.new(@id)
Graphics.transition
loop do
Graphics.update
Input.update
update
break if $scene != self
end
Graphics.freeze
@command.dispose
@quest.dispose
end
def update
@command.update
@quest.update
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(2) # You may edit this line
return
end
@id = @command.index
return
end
end
# NEW! Quest override functions
class Game_System
def quest_sort
edge = $game_system.quest_name.size
for i in 0..edge
for j in 0..edge
if $game_system.quest_name[i].to_s < $game_system.quest_name[j].to_s
# Store value at temporary variables
$game_system.quest_name.push $game_system.quest_name[i]
$game_system.quest_length.push $game_system.quest_length[i]
$game_system.quest_description.push $game_system.quest_description[i]
$game_system.quest_objectives.push $game_system.quest_objectives[i]
$game_system.quest_marker.push $game_system.quest_marker[i]
# Replace i-index values with j-index values
$game_system.quest_name[i] = $game_system.quest_name[j]
$game_system.quest_length[i] = $game_system.quest_length[j]
$game_system.quest_description[i] = $game_system.quest_description[j]
$game_system.quest_objectives[i] = $game_system.quest_objectives[j]
$game_system.quest_marker[i] = $game_system.quest_marker[j]
# Replace j-index values with temporary variable-stored values
$game_system.quest_name[j] = $game_system.quest_name[edge + 1]
$game_system.quest_length[j] = $game_system.quest_length[edge + 1]
$game_system.quest_description[j] = $game_system.quest_description[edge + 1]
$game_system.quest_objectives[j] = $game_system.quest_objectives[edge + 1]
$game_system.quest_marker[j] = $game_system.quest_marker[edge + 1]
# Clean up temporary variables
$game_system.quest_name.pop
$game_system.quest_length.pop
$game_system.quest_description.pop
$game_system.quest_objectives.pop
$game_system.quest_marker.pop
end
end
end
end
#----------------------------------------------------------------------------
# bypass_subquest
#
# quest_name : quest name that have subquest to be passed
# subquest_index : index of subquest that have to be passed
#----------------------------------------------------------------------------
def bypass_subquest(quest_name, subquest_index)
quest_index = $game_system.quest_name.index(quest_name)
$game_system.quest_objectives[quest_index].delete_at subquest_index
end
end
Quotei am using version 2.3 and im getting an error
--------------------------------------------------------------------------------
Script 'Window_Command' line 18:RGSSError occurred.
Failed to create bitmap
--------------------------------------------------------------------------------
self.contents = Bitmap.new(width - 32, @item_max * 32)
can someone tell me what is wrong?
I've been getting that same error, has anyone found a fix for it yet? I tried replacing $scene = Scene_Menu.new(2) with $scene = Scene_Map.new, but it didn't work :(... I'm also using BlizzABS, does anyone know if there's a compatability issue? Sorry, I'm an experienced programmer, but not experienced with Ruby :(.....
Sorry for my absence...
How to bypass a subquest:
Use Call Script on any map, type this:
$game_system.bypass_subquest(quest_name, subquest_index)
How does it works?
-> It will search the quest name.
-> Then it will delete the subquest. Index begin from 0. So if you want to bypass subquest 5, type 4.
I hope that you can answer me, but Im using the script in my game. Everything works fine, but when I want to save or load something I get this error:
Script "Window_SaveFile" line 28: EOFError occured.
End of file reached
The line is:
@characters = Marshal.load(file)
I dont get this error when I dont use this script.
So please help me.
Alright, v2.3 users, time to re-copy paste that script. I've fixed the bugs.
can you give me a few exsamples of how you would add a mission?
you know how to use call script event command? use that, for code, use template provided on the script header...
ok thanks, yea i no how to do that i was edgey at first but i know a lil more about scripting now, im actualy concidering on replacing the script im using to do such a thing with yours... :-\
that is if i can figure it out.... lol perhaps you could compile a demo? DUR im stupid lol
ok heres what im doing....
copy your code above main, named Quest log
use and event and "script..." add this to that event in order i want?
$names.push "Name"
$types.push "Type"
$description.push (["line1", "line2", ..., "Line5"])
$objectives.push (["onjective1", ..., "objective12"])
$var_ID.push ID_NUMBER
so...
$names.push "Save World"
$types.push "what types are there?"
$description.push (["save world by destroying", "mr santa's castle!"])
$objectives.push (["retrive a rubber band", "travel across the dessert"])
$var_ID.push 5 <--- thats a varible i would set it too in that way?
is any of that right?
and then if i wanna make it complete i would use an event to change varible 5
to the value 12 ?
and do these show up in order of activated or in order of the varible number IE
"first to show up is the lowest varible value"