zahra 0 Report post Posted June 11, 2012 i used this script (this is about quest book): #=================================== # Leon's Mission Script v2.0 #---------------------------------------------------------------------- # 2006-09-22 #=================================== =begin Description: I did a drastic overhaul on this Mission/Quest script to make it much better and user friendly. Features: There is 2 new features: 1. If the user doesn't know of the mission, it doesn't appear in the list, nor does a slot for it. 2. Completed missions are in green. 3. Number of missions. (X/Y) X is completed missions, Y can be either known missions, or your game's total missions. Set Mission_Setup to 'true' if you want known missions, false for total. Instructions: Put it above main. The instructions have changed alot more than the features. Just go through the short list below, and you'll know. Just remember, go in order, and if you have 10 different missions in 1 spot, you must have the same number in each other segment of the module, with the exception of the lines of text. (Yes, i made that one all the easier.) Changing the status of the missions is different than before as well. $game_party.mission[mission_id] = x Mission ID: The ID of the mission, as defined in the module. In this example, "Lost Cat" would be 0 X: 1 = they do not know the mission exists. This is optional, unless they forget a mission. 2 = they know the mission, but it is incomplete 3 = the mission is complete. BY DEFAULT, ALL MISSIONS ARE UNKNOWN unless specified in the script before the game begins. Do NOT post my work in any other forums without my permission, and NEVER take credit for my work. =end #================================== # ** Mission_Menu #================================== module Mission_Menu #-------------------------------------------------------------------- # * Mission Name- Write the mission number, and the name you want to appear. # ~ mission_id => "mission name" #-------------------------------------------------------------------- Mission_Name = { 0 => "Lost Cat", 1 => "Old Blade", 2 => "Seize Sentries", 3 => "Hidden Heirloom", 4 => "A Gooey Mess.", 5 => "Hidden Horror" } #-------------------------------------------------------------------- # * Mission_Sprite. holds data on the name of the sprite, it's hue, name, locale, and # * reward all in one. # ~ mission_id => ["sprite name", hue, name, location, Reward] #-------------------------------------------------------------------- Mission_Sprite = { 0 => ["113-Civilian13", 330, "Amy", "Logres", "Potion x 3"], 1 => ["005-Fighter05", 0, "L'eric", "Logres", "Rusty Sword"], 2 => ["002-Fighter02", 0, "Wallace", "Resistance H.Q.", "500 Gold"], 3 => ["122-Civilian22", 30, "Old Woman", "Cyris Home", "Sound Effect"], 4 => ["011-Lancer03", 0, "Soldier", "Cyris Barracks", "Kite Shield"], 5 => ["006-Fighter06", 0, "Lady", "Cyris", "Lion's Head Earring"] } #-------------------------------------------------------------------- # * Defines the mission. Remember, if it is too long for 1 line, you can drop it # * down to line 2. # ~ mission_id => "Line One" #-------------------------------------------------------------------- Mission_L1 = { 0 => "Amy has lost her cat and needs help", 1 => "Somebody said they saw L'eric's blade", 2 => "Head north toward enemy territory, and", 3 => "Seek out the caverns south of Cyris. There", 4 => "A monster to the west of the town every", 5 => "Somewhere in the Belin Caverns, there is a" } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Two" #-------------------------------------------------------------------- Mission_L2 = { 0 => "finding him. He likes to play in the", 1 => "just south of here by the river. He ", 2 => "capture two sentry towers. Be careful ", 3 => "you will find a blue chest. Retrieve its", 4 => "now and then terrorizes the caravans.", 5 => "creature holding an item the lady in" } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Three" #-------------------------------------------------------------------- Mission_L3 = { 0 => " North East side of Tiberian Plains.", 1 => "wants Will to confirm the story, and", 2 => "and don't get caught. Return to Wallace", 3 => "contents and bring it back to the old", 4 => "A soldier in the barracks has asked you", 5 => "Cyris is looking for. She said the monster" } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Four" #-------------------------------------------------------------------- Mission_L4 = { 1 => "if it is true, bring back the sword.", 2 => "once this job is complete.", 3 => "woman.", 4 => "to exterminate it.", 5 => "would be hiding." } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Five" #-------------------------------------------------------------------- Mission_L5 = { } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Six" #-------------------------------------------------------------------- Mission_L6 = { } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Seven" #-------------------------------------------------------------------- Mission_L7 = { } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Eight" #-------------------------------------------------------------------- Mission_L8 = { } #-------------------------------------------------------------------- # * Mission Set-up #-------------------------------------------------------------------- Mission_Setup = true end #---------------------------------------------------------------------- # * Game_Party #---------------------------------------------------------------------- class Game_Party #-------------------------------------------------------------------- # * Attributes #-------------------------------------------------------------------- attr_accessor :mission #-------------------------------------------------------------------- # * Alias Listings #-------------------------------------------------------------------- alias leon_gp_mission_initialize initialize #-------------------------------------------------------------------- # * Object initialization #-------------------------------------------------------------------- # Leon_Edit add an array for each mission in @mission. # [mission_id, 1] #-------------------------------------------------------------------- def initialize leon_gp_mission_initialize @mission = { 0 => 1, 1 => 2, 2 => 3, 3 => 2 } end end #-------------------------------------------------------------------- # * Ends Game_Party #-------------------------------------------------------------------- #---------------------------------------------------------------------- # * Window_Missionhelp #---------------------------------------------------------------------- class Window_Missionhelp < Window_Base #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize super(0, 0, 400, 60) self.contents = Bitmap.new(width - 32, height - 32) end #-------------------------------------------------------------------- # * Update #-------------------------------------------------------------------- def update(help_text) self.contents.clear self.contents.draw_text(0, 0, 440, 32, help_text) end end #---------------------------------------------------------------------- # * End Window_Missionhelp #---------------------------------------------------------------------- #---------------------------------------------------------------------- # Window_MissionNum #---------------------------------------------------------------------- class Window_MissionNum < Window_Base #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize super(400, 0, 240, 64) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------- def refresh self.contents.clear mis = Mission_Menu self.contents.font.color = system_color self.contents.draw_text(0, 0, 120, 32, "Missions:") self.contents.font.color = normal_color @mission_comp = [] @mission_know = [] #Calls Mission number of completed missions for i in 0...$game_party.mission.keys.size if $game_party.mission[$game_party.mission.keys] == 3 @mission_comp.push(i) end end #Calls Mission number of missions for j in 0...$game_party.mission.keys.size if $game_party.mission[$game_party.mission.keys[j]] > 1 @mission_know.push(j) end end #if Mission_Setup is false... if mis::Mission_Setup == false if @mission_comp.size == $game_party.mission.size self.contents.font.color = Color.new(40, 250, 40, 255) self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s + "/" + $game_party.mission.size.to_s, 2) self.contents.font.color = normal_color else self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s + "/" + $game_party.mission.size.to_s, 2) end #if Mission_Setup is true... elsif mis::Mission_Setup == true if @mission_comp.size == @mission_know.size self.contents.font.color = Color.new(40, 250, 40, 255) self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s + "/" + @mission_know.size.to_s, 2) self.contents.font.color = normal_color else self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s + "/" + @mission_know.size.to_s, 2) end end end end #---------------------------------------------------------------------- # * End Window_Missionnum #---------------------------------------------------------------------- #---------------------------------------------------------------------- # Window_Missionlist #---------------------------------------------------------------------- class Window_Missionlist < Window_Selectable #-------------------------------------------------------------------- # * Attribute listings #-------------------------------------------------------------------- attr_accessor :mission #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize super(0, 60, 260, 420) self.contents = Bitmap.new(width - 32, height - 32) self.index = 0 refresh end #-------------------------------------------------------------------- # * Mission #-------------------------------------------------------------------- def mission return @data[self.index] end #-------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------- def refresh if self.contents != nil self.contents.dispose self.contents = nil end mis = Mission_Menu @data = [] for i in 0...$game_party.mission.keys.size if $game_party.mission[$game_party.mission.keys] > 1 @data.push($game_party.mission.keys) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max draw_item(i) end end end #-------------------------------------------------------------------- # * Draw_Item #-------------------------------------------------------------------- def draw_item(index) mis = Mission_Menu mission_name = @data[index] x = 4 y = index * 32 rect = Rect.new(x, y, self.width - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) if $game_party.mission[mission_name] == 3 self.contents.font.color = Color.new(40, 250, 40, 255) self.contents.draw_text(x, y, 228, 32, mis::Mission_Name[mission_name]) else self.contents.font.color = normal_color self.contents.draw_text(x, y, 228, 32, mis::Mission_Name[mission_name]) end end end #---------------------------------------------------------------------- # * End Window_Missionlist #---------------------------------------------------------------------- #---------------------------------------------------------------------- # Window_Missioncomp #---------------------------------------------------------------------- class Window_Missioncomp < Window_Base #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize(mission) super(260, 365, 380, 115) self.contents = Bitmap.new(width - 32, height - 32) refresh(mission) end #-------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------- def refresh(mission) self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, 52, 440, 32, "Status:") self.contents.draw_text(170, 52, 440, 32, "Reward:") self.contents.font.color = normal_color #person place status reward mis = Mission_Menu if mis::Mission_Sprite.has_key?(mission) if $game_party.mission[mission] > 1 self.contents.draw_text(36, 6, 440, 32, mis::Mission_Sprite[mission][2] + ", " + mis::Mission_Sprite[mission][3]) case $game_party.mission[mission] when 1 self.contents.draw_text(62, 52, 400, 32, "") when 2 self.contents.draw_text(62, 52, 400, 32, "Incomplete") self.contents.draw_text(242, 52, 138, 32, "Unknown") when 3 self.contents.font.color = Color.new(40, 250, 40, 255) self.contents.draw_text(62, 52, 400, 32, "Complete") self.contents.draw_text(242, 52, 138, 32, mis::Mission_Sprite[mission][4]) end bitmap = RPG::Cache.character(mis::Mission_Sprite[mission][0], mis::Mission_Sprite[mission][1]) cw = bitmap.width / 4 ch = bitmap.height / 4 facing = 0 src_rect = Rect.new(0, facing * ch, cw, ch) self.contents.blt(0, 0, bitmap, src_rect) end end end def clear self.contents.clear end end #-------------------------------------------------------------------- # * Ends Window_Missioncomp #-------------------------------------------------------------------- #---------------------------------------------------------------------- # Window_Missiondesc #---------------------------------------------------------------------- class Window_Missiondesc < Window_Base #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize(mission) super(260, 60, 380, 305) self.contents = Bitmap.new(width - 32, height - 32) end #-------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------- def refresh(mission) self.contents.clear mis = Mission_Menu self.contents.draw_text(0, 0, 348, 32, mis::Mission_L1[mission].to_s) self.contents.draw_text(0, 32, 348, 32, mis::Mission_L2[mission].to_s) self.contents.draw_text(0, 64, 348, 32, mis::Mission_L3[mission].to_s) self.contents.draw_text(0, 96, 348, 32, mis::Mission_L4[mission].to_s) self.contents.draw_text(0, 128, 348, 32, mis::Mission_L5[mission].to_s) self.contents.draw_text(0, 160, 348, 32, mis::Mission_L6[mission].to_s) self.contents.draw_text(0, 192, 348, 32, mis::Mission_L7[mission].to_s) self.contents.draw_text(0, 224, 348, 32, mis::Mission_L8[mission].to_s) end end #-------------------------------------------------------------------- # * Ends Window_Missiondesc #-------------------------------------------------------------------- #==================================== # Scene_MissionMenu #==================================== class Scene_MissionMenu #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------- # * Main #-------------------------------------------------------------------- def main @missionhelp_window = Window_Missionhelp.new @missionlist_window = Window_Missionlist.new @missionnum_window = Window_MissionNum.new @missioncomp_window = Window_Missioncomp.new(@missionlist_window.mission) @missiondesc_window = Window_Missiondesc.new(@missionlist_window.mission) @mission = @missionlist_window.mission @missiondesc_window.refresh(@missionlist_window.mission) @missioncomp_window.refresh(@missionlist_window.mission) Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @missionhelp_window.dispose @missiondesc_window.dispose @missioncomp_window.dispose @missionlist_window.dispose @missionnum_window.dispose end #-------------------------------------------------------------------- # * Update #-------------------------------------------------------------------- def update mis = Mission_Menu @missionlist_window.update @missionnum_window.update @missionhelp_window.update("Select a mission to see details.") if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN) or Input.repeat?(Input::DOWN) or Input.repeat?(Input::UP) @missiondesc_window.refresh(@missionlist_window.mission) @missioncomp_window.refresh(@missionlist_window.mission) end if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new end end end #-------------------------------------------------------------------- # * Ends Scene_Missionmenu #-------------------------------------------------------------------- and there was no error but i don't know how to make a new quest in quest book when you talk to someone and how to remove it when complete it :) thanks for reading and answering! Share this post Link to post Share on other sites
0 LaDestitute 3 Report post Posted June 12, 2012 Read the script... >_> Your answer is inside of it. Share this post Link to post Share on other sites
0 zahra 0 Report post Posted June 12, 2012 i can write a quest in this script but i don't know how to show it when talk to someone that give you that quest.... Share this post Link to post Share on other sites
0 diagostimo 11 Report post Posted June 12, 2012 its a scene that shows the missions that you have enabled/disabled, to call the scene use this script call: $scene = Scene_MissionMenu.new Share this post Link to post Share on other sites
0 zahra 0 Report post Posted June 12, 2012 ummm....how to enabled/disabled quest in quest book?with switches?please write an example Share this post Link to post Share on other sites
0 diagostimo 11 Report post Posted June 12, 2012 (edited) use this script call when setting the status of missions: $game_party.mission[mission_id] = x MISSION_ID = the id of the mission that your wanting to enable/disable/complete, you set your missions up in the config x = 1 = they do not know the mission exists. This is optional, unless they forget a mission. 2 = they know the mission, but it is incomplete 3 = the mission is complete. so lets say i want to enable mission 1 to show in the menu, i would use this call: $game_party.mission[1] = 2 to complete it: $game_party.mission[1] = 3 to remove it from the menu: $game_party.mission[1] = 1 edit: when setting a mission to complete you dont get the reward you will have to setup the event that completes the mission to give you said item/s also for easy access to the mission page, i would put the script call that calls the scene inside a common event, then get an item like a journal or something to call that comon event Edited June 12, 2012 by diagostimo Share this post Link to post Share on other sites
0 zahra 0 Report post Posted June 12, 2012 oh yes! i think i got it! thank you one billion time! Share this post Link to post Share on other sites
i used this script (this is about quest book):
#===================================
# Leon's Mission Script v2.0
#----------------------------------------------------------------------
# 2006-09-22
#===================================
=begin
Description:
I did a drastic overhaul on this Mission/Quest script to make it much better and user friendly.
Features:
There is 2 new features:
1. If the user doesn't know of the mission, it doesn't appear in the list, nor does a slot for it.
2. Completed missions are in green.
3. Number of missions. (X/Y) X is completed missions, Y can be either known missions,
or your game's total missions. Set Mission_Setup to 'true' if you want known missions,
false for total.
Instructions:
Put it above main.
The instructions have changed alot more than the features. Just go through
the short list below, and you'll know. Just remember, go in order, and if you have 10
different missions in 1 spot, you must have the same number in each other segment
of the module, with the exception of the lines of text. (Yes, i made that one all the easier.)
Changing the status of the missions is different than before as well.
$game_party.mission[mission_id] = x
Mission ID: The ID of the mission, as defined in the module. In this example,
"Lost Cat" would be 0
X:
1 = they do not know the mission exists. This is optional, unless they forget a mission.
2 = they know the mission, but it is incomplete
3 = the mission is complete.
BY DEFAULT, ALL MISSIONS ARE UNKNOWN unless specified in the script before the game begins.
Do NOT post my work in any other forums without my permission, and NEVER take credit
for my work.
=end
#==================================
# ** Mission_Menu
#==================================
module Mission_Menu
#--------------------------------------------------------------------
# * Mission Name- Write the mission number, and the name you want to appear.
# ~ mission_id => "mission name"
#--------------------------------------------------------------------
Mission_Name = {
0 => "Lost Cat",
1 => "Old Blade",
2 => "Seize Sentries",
3 => "Hidden Heirloom",
4 => "A Gooey Mess.",
5 => "Hidden Horror"
}
#--------------------------------------------------------------------
# * Mission_Sprite. holds data on the name of the sprite, it's hue, name, locale, and
# * reward all in one.
# ~ mission_id => ["sprite name", hue, name, location, Reward]
#--------------------------------------------------------------------
Mission_Sprite = {
0 => ["113-Civilian13", 330, "Amy", "Logres", "Potion x 3"],
1 => ["005-Fighter05", 0, "L'eric", "Logres", "Rusty Sword"],
2 => ["002-Fighter02", 0, "Wallace", "Resistance H.Q.", "500 Gold"],
3 => ["122-Civilian22", 30, "Old Woman", "Cyris Home", "Sound Effect"],
4 => ["011-Lancer03", 0, "Soldier", "Cyris Barracks", "Kite Shield"],
5 => ["006-Fighter06", 0, "Lady", "Cyris", "Lion's Head Earring"]
}
#--------------------------------------------------------------------
# * Defines the mission. Remember, if it is too long for 1 line, you can drop it
# * down to line 2.
# ~ mission_id => "Line One"
#--------------------------------------------------------------------
Mission_L1 = {
0 => "Amy has lost her cat and needs help",
1 => "Somebody said they saw L'eric's blade",
2 => "Head north toward enemy territory, and",
3 => "Seek out the caverns south of Cyris. There",
4 => "A monster to the west of the town every",
5 => "Somewhere in the Belin Caverns, there is a"
}
#--------------------------------------------------------------------
# * Same as the above one.
# ~ mission_id => "Line Two"
#--------------------------------------------------------------------
Mission_L2 = {
0 => "finding him. He likes to play in the",
1 => "just south of here by the river. He ",
2 => "capture two sentry towers. Be careful ",
3 => "you will find a blue chest. Retrieve its",
4 => "now and then terrorizes the caravans.",
5 => "creature holding an item the lady in"
}
#--------------------------------------------------------------------
# * Same as the above one.
# ~ mission_id => "Line Three"
#--------------------------------------------------------------------
Mission_L3 = {
0 => " North East side of Tiberian Plains.",
1 => "wants Will to confirm the story, and",
2 => "and don't get caught. Return to Wallace",
3 => "contents and bring it back to the old",
4 => "A soldier in the barracks has asked you",
5 => "Cyris is looking for. She said the monster"
}
#--------------------------------------------------------------------
# * Same as the above one.
# ~ mission_id => "Line Four"
#--------------------------------------------------------------------
Mission_L4 = {
1 => "if it is true, bring back the sword.",
2 => "once this job is complete.",
3 => "woman.",
4 => "to exterminate it.",
5 => "would be hiding."
}
#--------------------------------------------------------------------
# * Same as the above one.
# ~ mission_id => "Line Five"
#--------------------------------------------------------------------
Mission_L5 = {
}
#--------------------------------------------------------------------
# * Same as the above one.
# ~ mission_id => "Line Six"
#--------------------------------------------------------------------
Mission_L6 = {
}
#--------------------------------------------------------------------
# * Same as the above one.
# ~ mission_id => "Line Seven"
#--------------------------------------------------------------------
Mission_L7 = {
}
#--------------------------------------------------------------------
# * Same as the above one.
# ~ mission_id => "Line Eight"
#--------------------------------------------------------------------
Mission_L8 = {
}
#--------------------------------------------------------------------
# * Mission Set-up
#--------------------------------------------------------------------
Mission_Setup = true
end
#----------------------------------------------------------------------
# * Game_Party
#----------------------------------------------------------------------
class Game_Party
#--------------------------------------------------------------------
# * Attributes
#--------------------------------------------------------------------
attr_accessor :mission
#--------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------
alias leon_gp_mission_initialize initialize
#--------------------------------------------------------------------
# * Object initialization
#--------------------------------------------------------------------
# Leon_Edit add an array for each mission in @mission.
# [mission_id, 1]
#--------------------------------------------------------------------
def initialize
leon_gp_mission_initialize
@mission = {
0 => 1,
1 => 2,
2 => 3,
3 => 2
}
end
end
#--------------------------------------------------------------------
# * Ends Game_Party
#--------------------------------------------------------------------
#----------------------------------------------------------------------
# * Window_Missionhelp
#----------------------------------------------------------------------
class Window_Missionhelp < Window_Base
#--------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------
def initialize
super(0, 0, 400, 60)
self.contents = Bitmap.new(width - 32, height - 32)
end
#--------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------
def update(help_text)
self.contents.clear
self.contents.draw_text(0, 0, 440, 32, help_text)
end
end
#----------------------------------------------------------------------
# * End Window_Missionhelp
#----------------------------------------------------------------------
#----------------------------------------------------------------------
# Window_MissionNum
#----------------------------------------------------------------------
class Window_MissionNum < Window_Base
#--------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------
def initialize
super(400, 0, 240, 64)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------
def refresh
self.contents.clear
mis = Mission_Menu
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 120, 32, "Missions:")
self.contents.font.color = normal_color
@mission_comp = []
@mission_know = []
#Calls Mission number of completed missions
for i in 0...$game_party.mission.keys.size
if $game_party.mission[$game_party.mission.keys] == 3
@mission_comp.push(i)
end
end
#Calls Mission number of missions
for j in 0...$game_party.mission.keys.size
if $game_party.mission[$game_party.mission.keys[j]] > 1
@mission_know.push(j)
end
end
#if Mission_Setup is false...
if mis::Mission_Setup == false
if @mission_comp.size == $game_party.mission.size
self.contents.font.color = Color.new(40, 250, 40, 255)
self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s +
"/" + $game_party.mission.size.to_s, 2)
self.contents.font.color = normal_color
else
self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s +
"/" + $game_party.mission.size.to_s, 2)
end
#if Mission_Setup is true...
elsif mis::Mission_Setup == true
if @mission_comp.size == @mission_know.size
self.contents.font.color = Color.new(40, 250, 40, 255)
self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s +
"/" + @mission_know.size.to_s, 2)
self.contents.font.color = normal_color
else
self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s +
"/" + @mission_know.size.to_s, 2)
end
end
end
end
#----------------------------------------------------------------------
# * End Window_Missionnum
#----------------------------------------------------------------------
#----------------------------------------------------------------------
# Window_Missionlist
#----------------------------------------------------------------------
class Window_Missionlist < Window_Selectable
#--------------------------------------------------------------------
# * Attribute listings
#--------------------------------------------------------------------
attr_accessor :mission
#--------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------
def initialize
super(0, 60, 260, 420)
self.contents = Bitmap.new(width - 32, height - 32)
self.index = 0
refresh
end
#--------------------------------------------------------------------
# * Mission
#--------------------------------------------------------------------
def mission
return @data[self.index]
end
#--------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
mis = Mission_Menu
@data = []
for i in 0...$game_party.mission.keys.size
if $game_party.mission[$game_party.mission.keys] > 1
@data.push($game_party.mission.keys)
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
#--------------------------------------------------------------------
# * Draw_Item
#--------------------------------------------------------------------
def draw_item(index)
mis = Mission_Menu
mission_name = @data[index]
x = 4
y = index * 32
rect = Rect.new(x, y, self.width - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
if $game_party.mission[mission_name] == 3
self.contents.font.color = Color.new(40, 250, 40, 255)
self.contents.draw_text(x, y, 228, 32, mis::Mission_Name[mission_name])
else
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 228, 32, mis::Mission_Name[mission_name])
end
end
end
#----------------------------------------------------------------------
# * End Window_Missionlist
#----------------------------------------------------------------------
#----------------------------------------------------------------------
# Window_Missioncomp
#----------------------------------------------------------------------
class Window_Missioncomp < Window_Base
#--------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------
def initialize(mission)
super(260, 365, 380, 115)
self.contents = Bitmap.new(width - 32, height - 32)
refresh(mission)
end
#--------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------
def refresh(mission)
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 52, 440, 32, "Status:")
self.contents.draw_text(170, 52, 440, 32, "Reward:")
self.contents.font.color = normal_color
#person place status reward
mis = Mission_Menu
if mis::Mission_Sprite.has_key?(mission)
if $game_party.mission[mission] > 1
self.contents.draw_text(36, 6, 440, 32,
mis::Mission_Sprite[mission][2] + ", " + mis::Mission_Sprite[mission][3])
case $game_party.mission[mission]
when 1
self.contents.draw_text(62, 52, 400, 32, "")
when 2
self.contents.draw_text(62, 52, 400, 32, "Incomplete")
self.contents.draw_text(242, 52, 138, 32, "Unknown")
when 3
self.contents.font.color = Color.new(40, 250, 40, 255)
self.contents.draw_text(62, 52, 400, 32, "Complete")
self.contents.draw_text(242, 52, 138, 32, mis::Mission_Sprite[mission][4])
end
bitmap = RPG::Cache.character(mis::Mission_Sprite[mission][0],
mis::Mission_Sprite[mission][1])
cw = bitmap.width / 4
ch = bitmap.height / 4
facing = 0
src_rect = Rect.new(0, facing * ch, cw, ch)
self.contents.blt(0, 0, bitmap, src_rect)
end
end
end
def clear
self.contents.clear
end
end
#--------------------------------------------------------------------
# * Ends Window_Missioncomp
#--------------------------------------------------------------------
#----------------------------------------------------------------------
# Window_Missiondesc
#----------------------------------------------------------------------
class Window_Missiondesc < Window_Base
#--------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------
def initialize(mission)
super(260, 60, 380, 305)
self.contents = Bitmap.new(width - 32, height - 32)
end
#--------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------
def refresh(mission)
self.contents.clear
mis = Mission_Menu
self.contents.draw_text(0, 0, 348, 32, mis::Mission_L1[mission].to_s)
self.contents.draw_text(0, 32, 348, 32, mis::Mission_L2[mission].to_s)
self.contents.draw_text(0, 64, 348, 32, mis::Mission_L3[mission].to_s)
self.contents.draw_text(0, 96, 348, 32, mis::Mission_L4[mission].to_s)
self.contents.draw_text(0, 128, 348, 32, mis::Mission_L5[mission].to_s)
self.contents.draw_text(0, 160, 348, 32, mis::Mission_L6[mission].to_s)
self.contents.draw_text(0, 192, 348, 32, mis::Mission_L7[mission].to_s)
self.contents.draw_text(0, 224, 348, 32, mis::Mission_L8[mission].to_s)
end
end
#--------------------------------------------------------------------
# * Ends Window_Missiondesc
#--------------------------------------------------------------------
#====================================
# Scene_MissionMenu
#====================================
class Scene_MissionMenu
#--------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------
# * Main
#--------------------------------------------------------------------
def main
@missionhelp_window = Window_Missionhelp.new
@missionlist_window = Window_Missionlist.new
@missionnum_window = Window_MissionNum.new
@missioncomp_window = Window_Missioncomp.new(@missionlist_window.mission)
@missiondesc_window = Window_Missiondesc.new(@missionlist_window.mission)
@mission = @missionlist_window.mission
@missiondesc_window.refresh(@missionlist_window.mission)
@missioncomp_window.refresh(@missionlist_window.mission)
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@missionhelp_window.dispose
@missiondesc_window.dispose
@missioncomp_window.dispose
@missionlist_window.dispose
@missionnum_window.dispose
end
#--------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------
def update
mis = Mission_Menu
@missionlist_window.update
@missionnum_window.update
@missionhelp_window.update("Select a mission to see details.")
if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN) or Input.repeat?(Input::DOWN) or Input.repeat?(Input::UP)
@missiondesc_window.refresh(@missionlist_window.mission)
@missioncomp_window.refresh(@missionlist_window.mission)
end
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
end
end
#--------------------------------------------------------------------
# * Ends Scene_Missionmenu
#--------------------------------------------------------------------
and there was no error but i don't know how to make a new quest in quest book when you talk to someone and how to remove it when complete it :)
thanks for reading and answering!
Share this post
Link to post
Share on other sites