| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 1 | 
 
| 经验 | 734 | 
 
| 最后登录 | 2013-6-12 | 
 
| 在线时间 | 21 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 50 
 
        - 在线时间
 - 21 小时
 
        - 注册时间
 - 2012-6-5
 
        - 帖子
 - 15
 
 
 
 | 
	
菜单栏没有显示 只能找人打开任务菜单..- #==============================================================================#
 
 - #           任务系统v0.2 by EngShun                                            #
 
 - #                                                                              #
 
 - #    简单说明:                                                                #
 
 - #    调用方法:$scene = Scene_Mission.new                                      #
 
 - #    用$game_party.mission.get(任务名,说明)得到任务                            #
 
 - #    用$game_party.mission.done(任务名)完成任务                                #
 
 - #    用$game_party.mission.delete(任务名)删除任务                              #
 
 - #    用$game_party.mission.done_all完成所有任务                                #
 
 - #    用$game_party.mission.delete_all删除所有任务                              #
 
 - #                                                                              #
 
 - #    效果说明:                                                                #
 
 - #    支持普通对话框效果                                                        #
 
 - #    \\a[号码]     :更改对齐方式(0,1,2)。                                    #
 
 - #    \\itm[物品id] :物品数量                                                   #
 
 - #    \\wpn[武器id] :武器数量                                                   #
 
 - #    \\amr[防具id] :防具数量                                                   #
 
 - #    \\eval{脚本}  :运行脚本                                                   #
 
 - #    \\bold        :字体加粗,插入多一次关闭                                   #
 
 - #    \\italic      :字体打斜,插入多一次关闭                                   #
 
 - #    \\f[字体名称] :更改字体                                                   #
 
 - #    \\s[号码]     :更改字体大小                                               #
 
 - #    \\p[名称]     :插入图片                                                   #
 
 - #    \\icon[名称]  :插入图标                                                   #
 
 - #                                                                              #
 
 - #==============================================================================#
 
  
- class Game_Mission
 
 -   attr_accessor :mission
 
 -   attr_accessor :info
 
 -   attr_accessor :doned
 
 -   def initialize
 
 -     @mission = ["没有任务"]
 
 -     @info = ["\\a[1]\\c[2]\\s[50]\\f[楷体]没有任何的任务"]
 
 -     @doned = []
 
 -   end
 
 -   def get(mission,info)
 
 -     unless @mission.include?(mission)
 
 -       @mission.push(mission)
 
 -       @info.push(info)
 
 -       delete("没有任务") if @mission.include?("没有任务")
 
 -     end
 
 -   end
 
 -   def done(done_mission)
 
 -     for i in [email protected]
 
 -       if @mission[i] == done_mission
 
 -         @doned.delete(i) if @doned.include?(i)
 
 -         @doned.push(i)
 
 -       end
 
 -     end
 
 -   end
 
 -   def delete(delete_mission)
 
 -     for i in [email protected]
 
 -       if @mission[i] == delete_mission
 
 -         @mission.delete(delete_mission)
 
 -         delete_info = @info[i]
 
 -         @info.delete(delete_info)
 
 -         @doned.delete(i) if @doned.include?(i)
 
 -       end
 
 -     end
 
 -     $game_mission = Game_Mission.new if @mission.size == 0
 
 -   end
 
 -   def done_all
 
 -     for i in [email protected]
 
 -       @doned.delete(i) if @doned.include?(i)
 
 -       @doned.push(i)
 
 -     end
 
 -   end
 
 -   def delete_all
 
 -     $game_mission = Game_Mission.new
 
 -   end
 
 - end
 
  
- class Window_Mission < Window_Selectable
 
 -   def initialize
 
 -     super(0, 64, 200, 416)
 
 -     self.index = 0
 
 -     @item_max = $game_party.mission.mission.size
 
 -     if self.contents != nil
 
 -       self.contents.dispose
 
 -       self.contents = nil
 
 -     end
 
 -     self.contents = Bitmap.new(width - 32, @item_max * 32)
 
 -     for i in 0...$game_party.mission.mission.size
 
 -       if $game_party.mission.doned.include?(i)
 
 -         self.contents.font.color = disabled_color
 
 -         text = $game_party.mission.mission[i] + "(√)"
 
 -       else
 
 -         self.contents.font.color = normal_color
 
 -         text = $game_party.mission.mission[i]
 
 -       end
 
 -       self.contents.draw_text(4, i * 32, 160, 32, text.to_s)
 
 -     end
 
 -   end
 
 - end
 
 - class Window_Info < Window_Base
 
 -   def initialize
 
 -     super(200,64,440,416)
 
 -     self.contents =  Bitmap.new(408, 384)
 
 -   end
 
 -   def refresh(str)
 
 -     self.contents = Bitmap.new(408, 384) if self.contents == nil
 
 -     self.contents.clear
 
 -     y = 0
 
 -     align = 0
 
 -     begin
 
 -       last_text = str.clone
 
 -       str.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
 
 -       str.gsub!(/\\[Gg]/) { $game_party.gold.to_s }
 
 -       str.gsub!(/\\[Ii][Tt][Mm]\[(\d+)\]/) { $game_party.item_number($1.to_i) }
 
 -       str.gsub!(/\\[Ww][Pp][Nn]\[(\d+)\]/) { $game_party.weapon_number($1.to_i) }
 
 -       str.gsub!(/\\[Aa][Mm][Rr]\[(\d+)\]/) { $game_party.armor_number($1.to_i) }
 
 -       str.gsub!(/\\[Ee][Vv][Aa][Ll]{(.+)}/) { eval($1) }
 
 -     end until str == last_text
 
 -       str.gsub!(/\\[Nn]\[([0-9]+)\]/) do
 
 -       $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
 
 -     end
 
 -     lines = str.split("\n")
 
 -     for line in lines
 
 -       bitmap,align = bitmap_line(line,align)
 
 -       w = bitmap.width
 
 -       h = bitmap.height
 
 -       case align
 
 -       when 0
 
 -         x = 4
 
 -       when 1
 
 -         x = 204 - w / 2
 
 -       when 2
 
 -         x = 404 - w
 
 -       end
 
 -       self.contents.blt(x,y,bitmap,Rect.new(0,0,w,h))
 
 -       y += h
 
 -     end
 
 -   end
 
 -   def bitmap_line(str,old_align)
 
 -     w,h = get_wh(str.clone)
 
 -     w = 1 if w == 0
 
 -     bitmap = Bitmap.new(w,h)
 
 -     text = str
 
 -     align = old_align
 
 -     x = 0
 
 -     text.gsub!(/\\\\/) { "\000" }
 
 -     text.gsub!(/\\[Aa]\[(\d+)\]/){ 
 
 -       align = $1.to_i
 
 -       ""
 
 -     }
 
 -     text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
 
 -     text.gsub!(/\\[Bb][Oo][Ll][Dd]/) { "\002" }
 
 -     text.gsub!(/\\[Ii][Tt][Aa][Ll][Ii][Cc]/) { "\003" }
 
 -     text.gsub!(/\\[Ff]\[(\w+)\]/) { "\004[#{$1}]" }
 
 -     text.gsub!(/\\[Bb][Dd]\[(\w+)\]/) { "\005[#{$1}]" }
 
 -     text.gsub!(/\\[Ss]\[(\d+)\]/) { "\006[#{$1}]" }
 
 -     text.gsub!(/\\[Pp]\[(\w+)\]/) { "\007[#{$1}]" }
 
 -     text.gsub!(/\\[Ii][Cc][Oo][Nn]\[(\w+)\]/){ "\201[#{$1}]" }
 
 -     while ((c = text.slice!(/./m)) != nil)
 
 -       if c == "\000"
 
 -         c = "\\"
 
 -       end
 
 -       if c == "\001"
 
 -         text.sub!(/\[([0-9]+)\]/, "")
 
 -         color = $1.to_i
 
 -         if color >= 0 and color <= 9
 
 -           bitmap.font.color = text_color(color)
 
 -         elsif color == 8
 
 -           bitmap.font.color = disabled_color
 
 -         elsif color == 9
 
 -           bitmap.font.color = system_color
 
 -         end
 
 -         next
 
 -       end
 
 -       if c == "\002"
 
 -         bitmap.font.bold = bitmap.font.bold ? false : true
 
 -         next
 
 -       end
 
 -       if c == "\003"
 
 -         bitmap.font.italic = bitmap.font.italic ? false : true
 
 -         next
 
 -       end
 
 -       if c == "\004"
 
 -         text.sub!(/\[(\w+)\]/,"")
 
 -         bitmap.font.name = $1
 
 -         next
 
 -       end
 
 -       if c == "\005"
 
 -         text.sub!(/\[(\w+)\]/,"")
 
 -         color = bitmap.font.color.clone
 
 -         w = bitmap.text_size($1).width
 
 -         bitmap.font.color = Color.new(0,0,0,255)
 
 -         bitmap.draw_text((4 + x)-1, y-1, w, 32, $1)
 
 -         bitmap.draw_text((4 + x)-1, y+1, w, 32, $1)
 
 -         bitmap.draw_text((4 + x)+1, y-1, w, 32, $1)
 
 -         bitmap.draw_text((4 + x)+1, y+1, w, 32, $1)
 
 -         bitmap.font.color = color
 
 -         bitmap.draw_text(4 + x, y, w, 32, $1)
 
 -         x += bitmap.text_size($1).width
 
 -         next
 
 -       end
 
 -       if c == "\006"
 
 -         text.sub!(/\[(\d+)\]/,"")
 
 -         bitmap.font.size = $1.to_i
 
 -         next
 
 -       end
 
 -       if c == "\007"
 
 -         text.sub!(/\[(\w+)\]/,"")
 
 -         pic = RPG::Cache.picture($1)
 
 -         r = Rect.new(0,0,pic.width,pic.height)
 
 -         y = h / 2 - pic.height / 2
 
 -         bitmap.blt(x+2,y,pic,r)
 
 -         x += pic.width + 4
 
 -         next
 
 -       end
 
 -       if c == "\201"
 
 -         text.sub!(/\[(\w+)\]/,"")
 
 -         pic = RPG::Cache.icon($1)
 
 -         r = Rect.new(0,0,pic.width,pic.height)
 
 -         y = h / 2 - pic.height / 2
 
 -         bitmap.blt(x+2,y,pic,r)
 
 -         x += pic.width + 4
 
 -         next
 
 -       end
 
 -       bitmap.draw_text(x,0,w,h,c)
 
 -       x += bitmap.text_size(c).width
 
 -     end
 
 -     return bitmap.clone,align
 
 -   end
 
 -   def get_wh(str)
 
 -     bitmap = Bitmap.new(160,160)
 
 -     w = 0
 
 -     h = 32
 
 -     text = str
 
 -     text.gsub!(/\\\\/) { "\000" }
 
 -     text.gsub!(/\\[Aa]\[(\d+)\]/) { "" }
 
 -     text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "" }
 
 -     text.gsub!(/\\[Bb][Oo][Ll][Dd]/) { "" }
 
 -     text.gsub!(/\\[Ii][Tt][Aa][Ll][Ii][Cc]/) { "" }
 
 -     text.gsub!(/\\[Ff]\[(\w+)\]/) { "\001[#{$1}]" }
 
 -     text.gsub!(/\\[Bb][Dd]\[(\w+)\]/) { $1 }
 
 -     text.gsub!(/\\[Ss]\[(\d+)\]/) { "\002[#{$1}]" }
 
 -     text.gsub!(/\\[Pp]\[(\w+)\]/) { "\003[#{$1}]" }
 
 -     text.gsub!(/\\[Ii][Cc][Oo][Nn]\[(\w+)\]/) { "\004[#{$1}]" }
 
 -     while ((c = text.slice!(/./m)) != nil)
 
 -       if c == "\000"
 
 -         c = "\\"
 
 -       end
 
 -       if c == "\001"
 
 -         text.sub!(/\[(\w+)]/,"")
 
 -         bitmap.font.name = $1
 
 -         next
 
 -       end
 
 -       if c == "\002"
 
 -         text.sub!(/\[(\d+)]/,"")
 
 -         bitmap.font.size = $1.to_i
 
 -         next
 
 -       end
 
 -       if c == "\003"
 
 -         text.sub!(/\[(\w+)\]/,"")
 
 -         w += RPG::Cache.picture($1).width+4
 
 -         h = RPG::Cache.picture($1).height if RPG::Cache.picture($1).height > 32 and RPG::Cache.picture($1).height > h
 
 -         next
 
 -       end
 
 -       if c == "\004"
 
 -         text.sub!(/\[(\w+)\]/,"")
 
 -         w += RPG::Cache.icon($1).width+4
 
 -         h = RPG::Cache.icon($1).height if RPG::Cache.icon($1).height > 32 and RPG::Cache.icon($1).height > h
 
 -         next
 
 -       end
 
 -       w += bitmap.text_size(c).width
 
 -       h = bitmap.text_size(c).height if bitmap.text_size(c).height > 32 and bitmap.text_size(c).height > h
 
 -     end
 
 -     return w,h
 
 -   end
 
 - end
 
 - class Scene_Mission
 
 -   def main
 
 -     @window1 = Window_Base.new(0,0,200,64)
 
 -     @window1.contents = Bitmap.new(168,32)
 
 -     @window1.contents.draw_text(0,0,168,32,"任务",1)
 
 -     @window2 = Window_Base.new(200,0,440,64)
 
 -     @window2.contents = Bitmap.new(408,32)
 
 -     @window2.contents.draw_text(0,0,408,32,"任务说明",1)
 
 -     @mission_window = Window_Mission.new
 
 -     @mission_window.index = $game_party.mission.mission.size - 1
 
 -     @info_window = Window_Info.new
 
 -     info = $game_party.mission.info[@mission_window.index].clone
 
 -     @info_window.refresh(info)
 
 -     Graphics.transition
 
 -     loop do
 
 -       Graphics.update
 
 -       Input.update
 
 -       update
 
 -       if $scene != self
 
 -         break
 
 -       end
 
 -     end
 
 -     Graphics.freeze
 
 -     @window1.dispose
 
 -     @window2.dispose
 
 -     @mission_window.dispose
 
 -     @info_window.dispose
 
 -   end
 
 -   def update
 
 -     @mission_window.update
 
 -     @info_window.update
 
 -     if Input.trigger?(Input::B)
 
 -       $game_system.se_play($data_system.cancel_se)
 
 -       $scene = Scene_Map.new
 
 -       return
 
 -     end
 
 -     if Input.repeat?(Input::UP) or
 
 -        Input.repeat?(Input::DOWN)
 
 -       info = $game_party.mission.info[@mission_window.index].clone
 
 -       @info_window.refresh(info)
 
 -     end
 
 -   end
 
 - end
 
 - class Game_Party
 
 -   attr_accessor :mission
 
 -   alias orig_init initialize
 
 -   def initialize
 
 -     @mission = Game_Mission.new
 
 -     orig_init
 
 -   end
 
 - end
 
  复制代码 |   
 
 
 
 |