#============================================================================= # 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 #=============================================================================
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
[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!!! #===========================================================================
# 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
Title: Re: "Simple" Quest log screen
Post by: Blizzard on January 12, 2007, 09:31:24 AM
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.
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on January 12, 2007, 09:42:10 AM
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)
Title: Re: "Simple" Quest log screen
Post by: Blizzard on January 12, 2007, 09:55:58 AM
Yeah. I often find myself sitting at a problem for half an hour only because I don't want to use another variable, lol. ::)
Title: Re: "Simple" Quest log screen
Post by: 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?
Title: Re: "Simple" Quest log screen
Post by: :) on January 18, 2007, 12:38:15 AM
#============================================================================= # 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 #=============================================================================
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
Title: Re: "Simple" Quest log screen
Post by: modern algebra on February 23, 2007, 04:54:55 AM
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?
Title: Re: "Simple" Quest log screen
Post by: Blizzard on February 23, 2007, 03:23:44 PM
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. :)
Title: Re: "Simple" Quest log screen
Post by: Karo Rushe on February 23, 2007, 05:08:31 PM
Wondering... How do I make it so when the Player finished the Quest it puts as Mission completed or something like that ?_?
Title: Re: "Simple" Quest log screen
Post by: modern algebra on February 24, 2007, 04:50:48 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?
Title: Re: "Simple" Quest log screen
Post by: modern algebra on February 24, 2007, 02:06:16 PM
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.
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on February 25, 2007, 07:50:41 AM
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.
#============================================================================= # 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 #=============================================================================
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
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.
Title: Re: "Simple" Quest log screen
Post by: Blizzard on February 25, 2007, 02:59:18 PM
Awesome, you've shorten it even more! ;8 BTW, you don't need to give me credit for my help, lol!
Title: Re: "Simple" Quest log screen
Post by: Valcos on February 25, 2007, 03:12:09 PM
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?
Title: Re: "Simple" Quest log screen
Post by: Karo Rushe on February 27, 2007, 12:11:37 AM
when 6 $game_system.se_play($data_system.decision_se) $scene=Scene_Quest.new
Still not understand? Ask blizzard. He explain better.
Title: Re: "Simple" Quest log screen
Post by: Blizzard on March 25, 2007, 01:45:28 PM
In the tutorial section, stickied topic "Blizzard's little Tricks", look under 6. a) if you didn't get what Sthrathoff said.
Title: Re: "Simple" Quest log screen
Post by: Irgna on March 26, 2007, 06:30:26 PM
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?
Title: Re: "Simple" Quest log screen
Post by: Valcos on March 27, 2007, 12:55:06 AM
Window_Command line 18 RGGS Error faild to creat bit map? what does that mean?
Title: Re: "Simple" Quest log screen
Post by: Karo Rushe on March 27, 2007, 02:36:53 AM
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.
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on March 27, 2007, 08:59:17 AM
#============================================================================= # 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
# 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
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
Title: Re: "Simple" Quest log screen
Post by: Martynator on June 05, 2007, 05:51:12 PM
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
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on June 07, 2007, 03:28:43 AM
Demo? Sounds good. I'll make it when I have some time
Title: Re: "Simple" Quest log screen
Post by: Martynator on June 21, 2007, 02:28:35 PM
Kinda bussy i guess ? ;8
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on June 26, 2007, 03:01:32 AM
I'm busy. A lot. I'm doing my project by myself...
Title: Re: "Simple" Quest log screen
Post by: swiftdeathsk on July 11, 2007, 04:41:11 PM
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.
Title: Re: "Simple" Quest log screen
Post by: swiftdeathsk on August 13, 2007, 03:11:06 PM
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
Title: Re: "Simple" Quest log screen
Post by: Inunah on August 17, 2007, 09:46:49 PM
I know this may seem dumb, but..
Where do you put that script?
Title: Re: "Simple" Quest log screen
Post by: Falcon on August 17, 2007, 11:07:38 PM
http://rmrk.net/index.php/topic,263.0.html
Title: Re: "Simple" Quest log screen
Post by: hero_kenshi on August 20, 2007, 06:08:49 AM
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:
Title: Re: "Simple" Quest log screen
Post by: DarkEmmisary on September 09, 2007, 09:41:16 AM
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
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on September 15, 2007, 02:25:35 AM
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>
Title: Re: "Simple" Quest log screen
Post by: r_y_u_u on December 17, 2007, 07:42:15 PM
:(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
Quote
Script 'quest log' line 161: argument error occured. wrong number of arguments(0 for1)
whats wrong? help!!! :(
Title: Re: "Simple" Quest log screen
Post by: destiny on December 25, 2007, 11:49:59 PM
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?
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on December 30, 2007, 12:03:54 PM
Hold on. I'll rewrite everything. Seems take some days...
Title: Re: "Simple" Quest log screen
Post by: destiny on December 30, 2007, 12:39:06 PM
finaly a reply ;D thank u for the reply thanks in advance for re-writing the script
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on January 02, 2008, 10:58:14 AM
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.
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
Title: Re: "Simple" Quest log screen
Post by: destiny on January 02, 2008, 07:11:38 PM
i get a syntaxerror on line 68 :o hope u can fix it ;)
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on January 05, 2008, 07:33:02 AM
2 things fixed. Copy paste the code below again...
Title: Re: "Simple" Quest log screen
Post by: destiny on January 05, 2008, 10:54:34 AM
thank you but now i get a SyntaxError on line 70 :( i tried it both in a new one and an existing project.
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on January 08, 2008, 07:07:16 AM
Fixed! Try copy paste again.
Title: Re: "Simple" Quest log screen
Post by: destiny on January 11, 2008, 04:53:30 PM
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
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on January 19, 2008, 04:07:51 AM
I'll investigate it. But for a moment, i've fixed the thingy on line 35, I just forgot to put -1 on it.
Title: Re: "Simple" Quest log screen
Post by: FruitBodyWash on May 26, 2008, 07:13:27 AM
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.
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on June 24, 2008, 02:33:46 PM
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. #==============================================================================
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
Title: Re: "Simple" Quest log screen
Post by: Cody64 on July 15, 2008, 04:58:34 AM
Quote
i am using version 2.3 and im getting an error
-------------------------------------------------------------------------------- Script 'Window_Command' line 18:RGSSError occurred. Failed to create bitmap
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 :(.....
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on August 25, 2008, 10:17:06 AM
Sorry for my absence...
How to bypass a subquest: Use Call Script on any map, type this:
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.
Title: Re: "Simple" Quest log screen
Post by: gcjo182 on July 27, 2009, 01:36:59 PM
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.
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on November 16, 2009, 12:03:05 AM
Alright, v2.3 users, time to re-copy paste that script. I've fixed the bugs.
Title: Re: "Simple" Quest log screen
Post by: Mr_Wiggles on December 01, 2009, 09:25:55 AM
can you give me a few exsamples of how you would add a mission?
Title: Re: "Simple" Quest log screen
Post by: Sthrattoff on December 02, 2009, 03:47:18 AM
you know how to use call script event command? use that, for code, use template provided on the script header...
Title: Re: "Simple" Quest log screen
Post by: Mr_Wiggles on December 03, 2009, 04:12:13 AM
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 "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"