| class Game_Party 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 設置任務資料 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def get_tasks_info 
 | 
| @tasks_info = [] 
 | 
| 
 | 
| 
 | 
| name = "\\c[9]帮助" 
 | 
| intro = "狂版RTAB ver 0.24PF 
 | 
| \\c[9]操作说明: 
 | 
| A(Shift):决定使用回声 
 | 
| (注:回声就是右下角的星星,攒足一定的攻击数可以攻击力翻倍) 
 | 
| B(X):取消 
 | 
| C(C):确定 
 | 
| X(A):攻击的快捷键 
 | 
| Y(S):技能快捷键 
 | 
| Z(D):防御快捷键 
 | 
| L(Q):物品快捷键 
 | 
| R(W):逃跑快捷键 
 | 
| (具体看F1设定) 
 | 
| 请进入菜单,调整角色设置. 
 | 
| 注:回声只对物理技能有效 
 | 
| 
 | 
| 
 | 
| 
 | 
| " 
 | 
| @tasks_info[2] = Game_Task.new(name, intro) 
 | 
| 
 | 
| 
 | 
| name = "\\c[9]连携技能演示" 
 | 
| intro = "冰刃+寒冰斩=落霜剑 
 | 
| 落雷术+奔雷斩=天雷破 
 | 
| 爆发术+V型斩=幻胧术 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| 
 | 
| " 
 | 
| @tasks_info[1] = Game_Task.new(name, intro) 
 | 
| end 
 | 
| end 
 | 
| 
 | 
| #============================================================================== 
 | 
| # ■ Interpreter 
 | 
| #------------------------------------------------------------------------------ 
 | 
| #  执行事件命令的解释器。本类在 Game_System 类 
 | 
| # 与 Game_Event 类的内部使用。 
 | 
| #============================================================================== 
 | 
| 
 | 
| class Game_Interpreter 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 接受任务 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def get_task(id) 
 | 
| task = $game_party.tasks_info[id] 
 | 
| return true if (task.nil? or $game_party.current_tasks.include?(task.id)) 
 | 
| $game_party.current_tasks.unshift(task.id) 
 | 
| return true 
 | 
| end 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 获得全部任务 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def get_all_task 
 | 
| # 清空当前任务 
 | 
| $game_party.current_tasks.clear 
 | 
| for task in $game_party.tasks_info 
 | 
| next if task.nil? 
 | 
| $game_party.current_tasks.unshift(task.id) 
 | 
| end 
 | 
| return true 
 | 
| end 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 完成/放弃任务 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def finish_task(id) 
 | 
| task = $game_party.tasks_info[id] 
 | 
| return true if task.nil? 
 | 
| $game_party.current_tasks.delete(task.id) 
 | 
| return true 
 | 
| end 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 删除全部任务 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def finish_all_task 
 | 
| $game_party.current_tasks.clear 
 | 
| return true 
 | 
| end 
 | 
| end 
 | 
| 
 | 
| #============================================================================== 
 | 
| # ■ Game_Party 
 | 
| #------------------------------------------------------------------------------ 
 | 
| #  处理队伍的类。包含金钱以及物品的信息。 
 | 
| # 这个类的实例请参考 $game_party 。 
 | 
| #============================================================================== 
 | 
| 
 | 
| class Game_Party 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 定义实例变量 
 | 
| #-------------------------------------------------------------------------- 
 | 
| attr_writer     :latest_task                  # 上次查看任务 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 取得任务资料 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def tasks_info 
 | 
| if @tasks_info.nil? 
 | 
| get_tasks_info 
 | 
| end 
 | 
| return @tasks_info 
 | 
| end 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 取得当前任务 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def current_tasks 
 | 
| if @current_tasks.nil? 
 | 
| @current_tasks = [] 
 | 
| end 
 | 
| return @current_tasks 
 | 
| end 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 上次查看任务 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def latest_task 
 | 
| if !current_tasks.include?(@latest_task) 
 | 
| @latest_task = current_tasks[0] 
 | 
| end 
 | 
| return @latest_task 
 | 
| end 
 | 
| end 
 | 
| 
 | 
| #============================================================================== 
 | 
| # ■ Game_Task 
 | 
| #------------------------------------------------------------------------------ 
 | 
| #  处理任务的类。包含任务信息。 
 | 
| #============================================================================== 
 | 
| class Game_Task 
 | 
| attr_accessor   :name                   # 名称 
 | 
| attr_accessor   :briefing               # 简介 
 | 
| def initialize(name, briefing) 
 | 
| @name = name 
 | 
| @briefing = briefing 
 | 
| end 
 | 
| def height 
 | 
| text = @briefing.clone 
 | 
| x = 0 
 | 
| y = 64 
 | 
| min_y = 0 
 | 
| # 限制文字处理 
 | 
| begin 
 | 
| last_text = text.clone 
 | 
| text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] } 
 | 
| end until text == last_text 
 | 
| text.gsub!(/\\[Nn]\[([0-9]+)\]/) do 
 | 
| $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : "" 
 | 
| end 
 | 
| # 為了方便、將 "\\\\" 變換為 "\000" 
 | 
| text.gsub!(/\\\\/) { "\000" } 
 | 
| # "\C" 變為 "\001" 
 | 
| text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" } 
 | 
| # "\I" 變為 "\002" 
 | 
| text.gsub!(/\\[Ii]/) { "\002" } 
 | 
| # "\P" 變為 "\003" 
 | 
| text.gsub!(/\\[Pp]/) { "\003" } 
 | 
| # c 獲取 1 個字 (如果不能取得文字就循環) 
 | 
| while ((c = text.slice!(/./m)) != nil) 
 | 
| # \\ 的情況下 
 | 
| if c == "\000" 
 | 
| # 還原為本來的文字 
 | 
| c = "\\" 
 | 
| end 
 | 
| # \C[n] 的情況下 
 | 
| if c == "\001" 
 | 
| # 更改文字色 
 | 
| text.sub!(/\[([0-9]+)\]/, "") 
 | 
| # 下面的文字 
 | 
| next 
 | 
| end 
 | 
| # 圖標的情況下 
 | 
| if c == "\002" 
 | 
| icon_name = '' 
 | 
| while ((cha = text.slice!(/./m)) != ']') 
 | 
| next if cha == '[' 
 | 
| icon_name += cha 
 | 
| end 
 | 
| if x + 24 > 368 
 | 
| x = 0 
 | 
| y += [24, min_y].max 
 | 
| min_y = 0 
 | 
| end 
 | 
| x += 28 
 | 
| next 
 | 
| end 
 | 
| # 圖片的情況下 
 | 
| if c == "\003" 
 | 
| pic_name = '' 
 | 
| while ((cha = text.slice!(/./m)) != ']') 
 | 
| next if cha == '[' 
 | 
| pic_name += cha 
 | 
| end 
 | 
| pic = Cache.picture(pic_name) 
 | 
| if x + pic.width > 368 
 | 
| x = 0 
 | 
| y += [32, min_y].max 
 | 
| min_y = 0 
 | 
| end 
 | 
| x += pic.width 
 | 
| min_y = [pic.height, 32].max 
 | 
| next 
 | 
| end 
 | 
| # 另起一行文字的情況下 
 | 
| if c == " "
 
 | 
| y += [24, min_y].max 
 | 
| min_y = 0 
 | 
| x = 0 
 | 
| # 下面的文字 
 | 
| next 
 | 
| end 
 | 
| # 自動換行處理 
 | 
| if x + 22 > 368 
 | 
| y += [24, min_y].max 
 | 
| min_y = 0 
 | 
| x = 0 
 | 
| end 
 | 
| # x 為要描繪文字的加法運算 
 | 
| x += 22 
 | 
| end 
 | 
| return (y + [24, min_y].max) 
 | 
| end 
 | 
| def id 
 | 
| return $game_party.tasks_info.index(self) 
 | 
| end 
 | 
| end 
 | 
| 
 | 
| #============================================================================== 
 | 
| # ■ Window_Task_Name 
 | 
| #------------------------------------------------------------------------------ 
 | 
| #  任務名稱顯示窗口。 
 | 
| #============================================================================== 
 | 
| 
 | 
| class Window_Task_Name < Window_Selectable 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 初始化對像 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def initialize(tasks) 
 | 
| super(0, 0, 192, 416) 
 | 
| @tasks = [] 
 | 
| for id in tasks 
 | 
| @tasks.push($game_party.tasks_info[id]) 
 | 
| end 
 | 
| @item_max = tasks.size 
 | 
| self.contents = Bitmap.new( 
 | 
| self.width - 32, @item_max == 0 ? 32 : @item_max * 32) 
 | 
| refresh 
 | 
| self.index = 0 
 | 
| end 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 刷新 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def refresh 
 | 
| self.contents.clear 
 | 
| if @tasks != [] 
 | 
| for task in @tasks 
 | 
| draw_item(task) 
 | 
| end 
 | 
| else 
 | 
| draw_blank 
 | 
| end 
 | 
| end 
 | 
| 
 | 
| 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 描繪空行 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def draw_blank 
 | 
| self.contents.font.color = disabled_color 
 | 
| rect = Rect.new(4, 0, self.contents.width - 8, 32) 
 | 
| self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) 
 | 
| self.contents.draw_text(rect, '没有任务') 
 | 
| end 
 | 
| 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 描繪項目 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def draw_item(task) 
 | 
| text = task.name.clone 
 | 
| x = 0 
 | 
| y = @tasks.index(task) * WLH 
 | 
| # 限制文字處理 
 | 
| begin 
 | 
| last_text = text.clone 
 | 
| text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] } 
 | 
| end until text == last_text 
 | 
| text.gsub!(/\\[Nn]\[([0-9]+)\]/) do 
 | 
| $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : "" 
 | 
| end 
 | 
| # 為了方便、將 "\\\\" 變換為 "\000" 
 | 
| text.gsub!(/\\\\/) { "\000" } 
 | 
| # "\\C" 變為 "\001" 
 | 
| text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" } 
 | 
| # "\I" 變為 "\002" 
 | 
| text.gsub!(/\\[Ii]/) { "\002" } 
 | 
| # "\P" 變為 "\003" 
 | 
| text.gsub!(/\\[Pp]/) { "\003" } 
 | 
| # c 獲取 1 個字 (如果不能取得文字就循環) 
 | 
| while ((c = text.slice!(/./m)) != nil) 
 | 
| # \\ 的情況下 
 | 
| if c == "\000" 
 | 
| # 還原為本來的文字 
 | 
| c = "\\" 
 | 
| end 
 | 
| # \C[n] 的情況下 
 | 
| if c == "\001" 
 | 
| # 更改文字色 
 | 
| text.sub!(/\[([0-9a-zA-Z]+)\]/, "") 
 | 
| # 如果是设定RGB颜色 
 | 
| if $1[0,1]=="H" 
 | 
| # 先拷贝一下文字 
 | 
| c=$1.dup 
 | 
| # 分3段分别取出R,G,B颜色 
 | 
| c.sub!(/H([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})/, "") 
 | 
| # 设定文字颜色 
 | 
| self.contents.font.color = Color.new($1.to_i(16), $2.to_i(16), $3.to_i(16)) 
 | 
| next 
 | 
| else 
 | 
| color = $1.to_i 
 | 
| if color >= 0 and color <= 7 
 | 
| self.contents.font.color = text_color(color) 
 | 
| elsif color == 8 
 | 
| self.contents.font.color = disabled_color 
 | 
| elsif color == 9 
 | 
| self.contents.font.color = system_color 
 | 
| end 
 | 
| end 
 | 
| # 下面的文字 
 | 
| next 
 | 
| end 
 | 
| # 圖標的情況下 
 | 
| if c == "\002" 
 | 
| icon_name = '' 
 | 
| while ((cha = text.slice!(/./m)) != ']') 
 | 
| next if cha == '[' 
 | 
| icon_name += cha 
 | 
| end 
 | 
| if x + 24 > self.contents.width 
 | 
| x = 0 
 | 
| y += [WLH, min_y].max 
 | 
| min_y = 0 
 | 
| end 
 | 
| draw_icon(icon_name.to_i, x+24, y+18, true) 
 | 
| x += 28 
 | 
| next 
 | 
| end 
 | 
| # 圖片的情況下 
 | 
| if c == "\003" 
 | 
| pic_name = '' 
 | 
| while ((cha = text.slice!(/./m)) != ']') 
 | 
| next if cha == '[' 
 | 
| pic_name += cha 
 | 
| end 
 | 
| pic = Cache.picture(pic_name) 
 | 
| if x + pic.width > self.contents.width 
 | 
| x = 0 
 | 
| y += [WLH, min_y].max 
 | 
| min_y = 0 
 | 
| end 
 | 
| self.contents.blt(x + 4, y, pic, Rect.new(0, 0, pic.width, pic.height)) 
 | 
| x += pic.width 
 | 
| next 
 | 
| end 
 | 
| # 描繪文字 
 | 
| self.contents.draw_text(4 + x, y, 40, WLH, c) 
 | 
| # x 為要描繪文字的加法運算 
 | 
| x += self.contents.text_size(c).width 
 | 
| end 
 | 
| end 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 獲取任務 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def task 
 | 
| return @tasks[self.index] 
 | 
| end 
 | 
| end 
 | 
| 
 | 
| #============================================================================== 
 | 
| # ■ Window_Task 
 | 
| #------------------------------------------------------------------------------ 
 | 
| #  任務內容顯示窗口。 
 | 
| #============================================================================== 
 | 
| 
 | 
| class Window_Task < Window_Base 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 初始化對像 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def initialize(task_id) 
 | 
| super(192, 0, 352, 416) 
 | 
| refresh(task_id) 
 | 
| end 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 刷新內容 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def refresh(task_id) 
 | 
| self.oy = 0 
 | 
| self.visible = true 
 | 
| return if task_id.nil? 
 | 
| task = $game_party.tasks_info[task_id] 
 | 
| if !task.nil? 
 | 
| if task.height < 128 
 | 
| self.contents = Bitmap.new(self.width - 32, self.height - 32) 
 | 
| else 
 | 
| self.contents = Bitmap.new(self.width - 32, task.height - 128) 
 | 
| end 
 | 
| else 
 | 
| self.contents = Bitmap.new(self.width - 32, self.height - 64) 
 | 
| return 
 | 
| end 
 | 
| self.contents.font.color = normal_color 
 | 
| # 描繪任務內容 
 | 
| draw_task_info(task) 
 | 
| end 
 | 
| 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 描繪任務內容 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def draw_task_info(task) 
 | 
| # 記錄文字x坐標 
 | 
| x = 0 
 | 
| # 記錄文字y坐標 
 | 
| y = 0 
 | 
| # 記錄換行時y坐標最小加值 
 | 
| min_y = 0 
 | 
| self.contents.font.color = normal_color 
 | 
| # 描繪任務簡介 
 | 
| text = task.briefing.clone 
 | 
| # 限制文字處理 
 | 
| begin 
 | 
| last_text = text.clone 
 | 
| text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] } 
 | 
| end until text == last_text 
 | 
| text.gsub!(/\\[Nn]\[([0-9]+)\]/) do 
 | 
| $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : "" 
 | 
| end 
 | 
| # 為了方便、將 "\\\\" 變換為 "\000" 
 | 
| text.gsub!(/\\\\/) { "\000" } 
 | 
| # "\C" 變為 "\001" 
 | 
| text.gsub!(/\\[Cc]\[([0-9a-zA-Z]+)\]/)  { "\001[#{$1}]" } 
 | 
| #text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" } 
 | 
| # "\I" 變為 "\002" 
 | 
| text.gsub!(/\\[Ii]/) { "\002" } 
 | 
| # "\P" 變為 "\003" 
 | 
| text.gsub!(/\\[Pp]/) { "\003" } 
 | 
| # c 獲取 1 個字 (如果不能取得文字就循環) 
 | 
| while ((c = text.slice!(/./m)) != nil) 
 | 
| # \\ 的情況下 
 | 
| if c == "\000" 
 | 
| # 還原為本來的文字 
 | 
| c = "\\" 
 | 
| end 
 | 
| # \C[n] 的情況下 
 | 
| if c == "\001" 
 | 
| # 更改文字色 
 | 
| text.sub!(/\[([0-9a-zA-Z]+)\]/, "") 
 | 
| # 如果是设定RGB颜色 
 | 
| if $1[0,1]=="H" 
 | 
| # 先拷贝一下文字 
 | 
| c=$1.dup 
 | 
| # 分3段分别取出R,G,B颜色 
 | 
| c.sub!(/H([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})/, "") 
 | 
| # 设定文字颜色 
 | 
| self.contents.font.color = Color.new($1.to_i(16), $2.to_i(16), $3.to_i(16)) 
 | 
| else 
 | 
| color = $1.to_i 
 | 
| if color >= 0 and color <= 7 
 | 
| self.contents.font.color = text_color(color) 
 | 
| elsif color == 8 
 | 
| self.contents.font.color = disabled_color 
 | 
| elsif color == 9 
 | 
| self.contents.font.color = system_color 
 | 
| end 
 | 
| end 
 | 
| # 下面的文字 
 | 
| next 
 | 
| end 
 | 
| 
 | 
| # 圖標的情況下 
 | 
| if c == "\002" 
 | 
| icon_name = '' 
 | 
| while ((cha = text.slice!(/./m)) != ']') 
 | 
| next if cha == '[' 
 | 
| icon_name += cha 
 | 
| end 
 | 
| if x + 24 > self.contents.width 
 | 
| x = 0 
 | 
| y += [WLH, min_y].max 
 | 
| min_y = 0 
 | 
| end 
 | 
| draw_icon(icon_name.to_i, x+24, y+18, true) 
 | 
| x += 28 
 | 
| next 
 | 
| end 
 | 
| 
 | 
| # 圖片的情況下 
 | 
| if c == "\003" 
 | 
| pic_name = '' 
 | 
| while ((cha = text.slice!(/./m)) != ']') 
 | 
| next if cha == '[' 
 | 
| pic_name += cha 
 | 
| end 
 | 
| pic = Cache.picture(pic_name) 
 | 
| if x + pic.width > self.contents.width 
 | 
| x = 0 
 | 
| y += [WLH, min_y].max 
 | 
| min_y = 0 
 | 
| end 
 | 
| self.contents.blt(x + 20, y +18, pic, Rect.new(0, 0, pic.width, pic.height)) 
 | 
| x += pic.width 
 | 
| min_y = [pic.height, WLH].max 
 | 
| next 
 | 
| end 
 | 
| # 另起一行文字的情況下 
 | 
| if c == " "
 
 | 
| y += [WLH, min_y].max 
 | 
| min_y = 0 
 | 
| x = 0 
 | 
| # 下面的文字 
 | 
| next 
 | 
| end 
 | 
| # 自動換行處理 
 | 
| if x + self.contents.text_size(c).width + 20 > self.contents.width 
 | 
| y += [WLH, min_y].max 
 | 
| min_y = 0 
 | 
| x = 0 
 | 
| end 
 | 
| # 描繪文字 
 | 
| #self.contents.draw_text(4 + x, y, 40, 32, c) 
 | 
| self.contents.draw_text(x + 20, y + 18, 40, WLH, c) 
 | 
| # x 為要描繪文字的加法運算 
 | 
| x += self.contents.text_size(c).width 
 | 
| end 
 | 
| end 
 | 
| end 
 | 
| class Window_Base < Window 
 | 
| def disabled_color 
 | 
| return Color.new(255, 255, 255, 128) 
 | 
| end 
 | 
| end 
 | 
| #============================================================================== 
 | 
| # ■ Scene_Task 
 | 
| #------------------------------------------------------------------------------ 
 | 
| #  處理任務畫面的類。 
 | 
| #============================================================================== 
 | 
| class Scene_Task < Scene_Base 
 | 
| 
 | 
| # 這裡設置任務內容翻頁音效 
 | 
| CHANGE_PAGE_SE = "Audio/SE/Book.ogg" 
 | 
| 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 主處理 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def start 
 | 
| # 刷新任務資料 
 | 
| $game_party.get_tasks_info 
 | 
| # 生成任務名稱窗口 
 | 
| @task_names_window = Window_Task_Name.new($game_party.current_tasks) 
 | 
| @task_names_window.z = 200 
 | 
| 
 | 
| if $game_party.current_tasks != [] 
 | 
| @task_names_window.index = $game_party.current_tasks.index($game_party.latest_task) 
 | 
| end 
 | 
| 
 | 
| # 生成任務內容窗口 
 | 
| @task_info_window = Window_Task.new($game_party.latest_task) 
 | 
| @task_info_window.active = true 
 | 
| @task_info_window.update 
 | 
| end 
 | 
| 
 | 
| def terminate 
 | 
| # 釋放窗口 
 | 
| @task_names_window.dispose 
 | 
| @task_info_window.dispose 
 | 
| end 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 刷新畫面 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def update 
 | 
| # 刷新窗口 
 | 
| @task_names_window.update 
 | 
| @task_info_window.update 
 | 
| 
 | 
| if @task_names_window.active 
 | 
| update_task_names_window 
 | 
| else 
 | 
| update_task_infos_window 
 | 
| end 
 | 
| 
 | 
| end 
 | 
| #-------------------------------------------------------------------------- 
 | 
| # ● 刷新任務名稱窗口 
 | 
| #-------------------------------------------------------------------------- 
 | 
| def update_task_names_window 
 | 
| # 按下 B 鍵的情況下 
 | 
| if Input.trigger?(Input::B) 
 | 
| # 演奏取消 SE 
 | 
| Sound.play_cancel 
 | 
| # 這裡設置返回的場景,返回地圖是Scene_Map.new,菜單是Scene_Menu.new(任務界面index) 
 | 
| $scene = Scene_Map.new 
 | 
| return 
 | 
| end 
 | 
| # 按下 C 鍵的情況下 
 | 
| if Input.trigger?(Input::C) 
 | 
| # 無任務可顯示的話 
 | 
| if @task_names_window.task == nil 
 | 
| # 演奏凍結 SE 
 | 
| Sound.play_buzzer 
 | 
| return 
 | 
| end 
 | 
| @task_info_window.refresh(@task_names_window.task.id) 
 | 
| $game_party.latest_task = @task_names_window.task.id 
 | 
| # 演奏確定 SE 
 | 
| Sound.play_decision 
 | 
| 
 | 
| #@task_names_window.visible = false 
 | 
| @task_names_window.active = false 
 | 
| 
 | 
| #@task_info_window.visible = true 
 | 
| @task_info_window.update 
 | 
| end 
 | 
| end 
 | 
| 
 | 
| def update_task_infos_window 
 | 
| # 按下 B 鍵的情況下 
 | 
| if Input.trigger?(Input::B) 
 | 
| # 演奏取消 SE 
 | 
| Sound.play_cancel 
 | 
| 
 | 
| #@task_names_window.visible = true 
 | 
| @task_names_window.active = true 
 | 
| 
 | 
| #@task_info_window.visible = false 
 | 
| @task_info_window.update 
 | 
| 
 | 
| return 
 | 
| end 
 | 
| # 按下 C 鍵的情況下 
 | 
| if Input.trigger?(Input::C) 
 | 
| # 如果光標沒有移動的話,翻頁 
 | 
| #if @task_info_window.oy + @task_info_window.height - 64 > @task_info_window.contents.height 
 | 
| if @task_info_window.oy + @task_info_window.height > @task_info_window.contents.height 
 | 
| @task_info_window.oy = 0 
 | 
| else 
 | 
| @task_info_window.oy += 416 - 64 
 | 
| end 
 | 
| if @task_info_window.contents.height > @task_info_window.height - 64 
 | 
| # 演奏翻頁 SE 
 | 
| Audio.se_play(CHANGE_PAGE_SE) 
 | 
| end 
 | 
| end 
 | 
| end 
 | 
| end |