| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 1 | 
 
| 经验 | 8559 | 
 
| 最后登录 | 2015-8-26 | 
 
| 在线时间 | 439 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 50 
 
        - 在线时间
 - 439 小时
 
        - 注册时间
 - 2013-3-2
 
        - 帖子
 - 710
 
 
 
 | 
	
烈焰冲锋 发表于 2014-1-17 21:09 ![]()  
楼主能发下人物仓库的脚本吗?谢谢  
有两个脚本,记得顺序要放对 
 
1- #==============================================================================
 
 - # ■ chaochao的人物仓库ver1.02正式版
 
 - # 修改了Game_Party
 
 - # 功能:
 
 - # 用来存放角色的仓库……
 
 - # 召唤画面用$scene = Chaochao_Scene_Party.new
 
 - # 其它使用说明在代码里已经备注。
 
 - #------------------------------------------------------------------------------
 
 - # 作者:chaochao
 
 - # http://zhuchao.go1.icpcn.com
 
 - #==============================================================================
 
 - class Chaochao_Window_PartyLeft < Window_Selectable
 
 -   def initialize
 
 -     super(0, 0, 320, 224)
 
 -     self.contents = Bitmap.new(width - 32, height - 32)
 
 -     self.index = 0
 
 -     refresh
 
 -   end
 
 -   def actor
 
 -     return @actors[self.index]
 
 -   end
 
 -   def refresh
 
 -     if self.contents != nil
 
 -       self.contents.dispose
 
 -       self.contents = nil
 
 -     end
 
 -     @actors = []
 
 -     for i in 0...$game_party.actors.size
 
 -       @actors.push($game_party.actors[i])
 
 -     end
 
 -     
 
 -     @item_max = 4
 
 -     if @item_max > 0
 
 -       self.contents = Bitmap.new(width - 32, (row_max+1) * 32)
 
 -       for i in 0...@item_max
 
 -         draw_item(i)
 
 -       end
 
 -     end
 
 -   end
 
 -   def draw_item(index)
 
 -     if @actors[index] != nil
 
 -       actor = @actors[index]
 
 -       text = @actors[index].name
 
 -       lv = @actors[index].level.to_s + " "
 
 -       if $game_party.chaochao.include?(actor.id) or $game_party.actors.size <= 1
 
 -         self.contents.font.color = Color.new(255, 0, 0) #不能被移动的颜色
 
 -       else
 
 -         self.contents.font.color = Color.new(0, 255, 0) #可以被移动的颜色
 
 -       end
 
 -       self.contents.draw_text(4, index * 32 + 32, 288, 32, text)
 
 -       self.contents.font.color = normal_color
 
 -       self.contents.font.size = 16
 
 -       self.contents.draw_text(4, index * 32 + 36, 288, 32,  "等级:   ", 2)
 
 -       colorx = [255.0000 - 255.0000/60 * @actors[index].level,0].max
 
 -       colory = [255.0000 / 60 * @actors[index].level,255].min
 
 -       self.contents.font.color = Color.new(colorx, colory, 0)
 
 -       self.contents.draw_text(4, index * 32 + 36, 288, 32,  lv, 2)
 
 -       self.contents.font.color = normal_color
 
 -       self.contents.font.size = 22
 
 -     else
 
 -       self.contents.draw_text(4, index * 32 + 32, 288, 32,  "没有人物!")
 
 -     end
 
 -   end
 
 -   def update_cursor_rect
 
 -     if [url=home.php?mod=space&uid=370741]@Index[/url] < 0
 
 -       self.cursor_rect.empty
 
 -       return
 
 -     end
 
 -     row = @index / @column_max
 
 -     if row < self.top_row
 
 -       self.top_row = row
 
 -     end
 
 -     if row > self.top_row + (self.page_row_max - 1)
 
 -       self.top_row = row - (self.page_row_max - 1)
 
 -     end
 
 -     cursor_width = self.width / @column_max - 32
 
 -     x = @index % @column_max * (cursor_width + 32)
 
 -     y = @index / @column_max * 32 - self.oy + 32
 
 -     self.cursor_rect.set(x, y, cursor_width, 32)
 
 -   end
 
 -   def item_max
 
 -     return @item_max
 
 -   end
 
 -   def actor?(index)
 
 -     return @actors[index] == nil ? false : true
 
 -   end
 
 -   def set_index(x)
 
 -     @index = x
 
 -   end
 
 - end
 
  
- #------------------------------------------------------------------------------
 
  
- class Chaochao_Window_PartyRight < Window_Selectable
 
 -   def initialize
 
 -     super(320, 0, 320, 224)
 
 -     self.contents = Bitmap.new(width - 32, height - 32)
 
 -     self.index = -1
 
 -     refresh
 
 -   end
 
 -   def actor
 
 -     return @actors[self.index]
 
 -   end
 
 -   def refresh
 
 -     if self.contents != nil
 
 -       self.contents.dispose
 
 -       self.contents = nil
 
 -     end
 
 -     @actors = []
 
 -     for i in 0...$game_party.actors2.size
 
 -       @actors.push($game_party.actors2[i])
 
 -     end
 
 -     
 
 -     @item_max = $game_party.actors2.size
 
 -     if @item_max > 0
 
 -       self.contents = Bitmap.new(width - 32, row_max * 32)
 
 -       for i in 0...@item_max
 
 -         draw_item(i)
 
 -       end
 
 -     elsif @item_max == 0
 
 -       
 
 -     end
 
 -   end
 
 -   def draw_item(index)
 
 -     actor = @actors[index]
 
 -     text = @actors[index].name
 
 -     lv = @actors[index].level.to_s + " "
 
 -     if $game_party.chaochao2.include?(actor.id) or $game_party.actors.size >= 4
 
 -         self.contents.font.color = Color.new(255, 0, 0) #不能被移动的颜色
 
 -       else
 
 -         self.contents.font.color = Color.new(0, 255, 0) #可以被移动的颜色
 
 -       end
 
 -     self.contents.draw_text(4, index * 32, 288, 32, text)
 
 -     self.contents.font.color = normal_color
 
 -     self.contents.font.size = 16
 
 -     self.contents.draw_text(4, index * 32 + 4, 288, 32,  "等级:   ", 2)
 
 -     colorx = [255.0000 - 255.0000/60 * @actors[index].level,0].max
 
 -     colory = [255.0000 / 60 * @actors[index].level,255].min
 
 -     self.contents.font.color = Color.new(colorx, colory, 0)
 
 -     self.contents.draw_text(4, index * 32 + 4, 288, 32,  lv, 2)
 
 -     self.contents.font.color = normal_color
 
 -     self.contents.font.size = 22
 
 -   end
 
 -   def update_cursor_rect
 
 -     if @index < 0
 
 -       self.cursor_rect.empty
 
 -       return
 
 -     end
 
 -     row = @index / @column_max
 
 -     if row < self.top_row
 
 -       self.top_row = row
 
 -     end
 
 -     if row > self.top_row + (self.page_row_max - 1)
 
 -       self.top_row = row - (self.page_row_max - 1)
 
 -     end
 
 -     cursor_width = self.width / @column_max - 32
 
 -     x = @index % @column_max * (cursor_width + 32)
 
 -     y = @index / @column_max * 32 - self.oy
 
 -     self.cursor_rect.set(x, y, cursor_width, 32)
 
 -   end
 
 -   def item_max
 
 -     return @item_max
 
 -   end
 
 -   def actor?(index)
 
 -     return @actors[index] == nil ? false : true
 
 -   end
 
 -   def set_index(x)
 
 -     @index = x
 
 -   end
 
 - end
 
  
- #------------------------------------------------------------------------------
 
  
- class Chaochao_Window_PartyData < Window_Base
 
 -   
 
 -   def initialize
 
 -     super(0, 224, 640, 256)
 
 -     self.contents = Bitmap.new(width - 32, height - 32)
 
 -     [url=home.php?mod=space&uid=95897]@actor[/url] = nil
 
 -   end
 
 -   
 
 -   def set_actor(actor)
 
 -     self.contents.clear
 
 -     draw_actor_name(actor, 4, 0)
 
 -     draw_actor_state(actor, 140, 0)
 
 -     draw_actor_hp(actor, 284, 0)
 
 -     draw_actor_sp(actor, 460, 0)
 
 -     @actor = actor
 
 -     self.visible = true
 
 -   end
 
 -   def clear
 
 -     self.contents.clear
 
 -   end
 
 - end
 
  
- #------------------------------------------------------------------------------
 
  
- class Game_Party
 
 -   attr_reader   :actors2
 
 -   attr_reader   :chaochao#不能从队伍向备用角色移动的角色ID
 
 -   attr_reader   :chaochao2#不能从备用角色向队伍移动的角色ID
 
 -   def initialize
 
 -     @actors = []
 
 -     [url=home.php?mod=space&uid=236945]@gold[/url] = 0
 
 -     @steps = 0
 
 -     @items = {}
 
 -     @weapons = {}
 
 -     @armors = {}
 
 -     @actors2 = []
 
 -     @chaochao = []
 
 -     @chaochao2 = []
 
 -   end
 
 -   def add_actor(actor_id,type=1)#type为1是向队伍中添加,为2则相反。
 
 -     case type
 
 -     when 1
 
 -       if $game_actors[actor_id] != nil
 
 -         actor = $game_actors[actor_id]
 
 -         #如果队伍没有满和队伍中没有此角色
 
 -         if @actors.size < 4 and not @actors.include?(actor) and not @actors2.include?(actor)
 
 -           @actors.push(actor)
 
 -           $game_player.refresh
 
 -         end
 
 -       end
 
 -     when 2
 
 -       if $game_actors[actor_id] != nil
 
 -         actor = $game_actors[actor_id]
 
 -         #如果角色不在队伍中和不在备用角色队伍中的情况下
 
 -         #向备用角色中添加角色
 
 -         if not @actors.include?(actor) and not @actors2.include?(actor)
 
 -           @actors2.push(actor)
 
 -           $game_player.refresh
 
 -         end
 
 -       end
 
 -     end
 
 -   end
 
 -   
 
 -   def huanren(index,type=1)#type为1是从备用角色向队伍中移动,为2则相反。
 
 -     actor = $game_actors[index]
 
 -     case type
 
 -     when 1
 
 -       if @actors.size < 4 and @actors2.include?(actor) and not @chaochao2.include?(index) and not @actors.include?(actor)
 
 -         @actors.push(actor)
 
 -         @actors2.delete(actor)
 
 -         $game_system.se_play($data_system.decision_se)
 
 -         $game_player.refresh
 
 -       end
 
 -     when 2
 
 -       if @actors.include?(actor) and not @chaochao.include?(index) and not @actors2.include?(actor)
 
 -         @actors2.push(actor)
 
 -         @actors.delete(actor)
 
 -         $game_system.se_play($data_system.decision_se)
 
 -         $game_player.refresh
 
 -       end
 
 -     end
 
 -   end
 
 -   
 
 -   #type1,1是操作队伍中的角色能否向备用队伍移动,2则相反。
 
 -   #type2,1是添加不能移动的,2是删除不能移动的。
 
 -   def yidong(actor_id,type1,type2=1)
 
 -     case type2
 
 -     when 1
 
 -       case type1
 
 -       when 1
 
 -         @chaochao.push(actor_id)
 
 -       when 2
 
 -         @chaochao2.push(actor_id)
 
 -       end
 
 -     when 2
 
 -       case type1
 
 -       when 1
 
 -         @chaochao.delete(actor_id)
 
 -       when 2
 
 -         @chaochao2.delete(actor_id)
 
 -       end
 
 -     end
 
 -   end
 
 -   
 
 -   #type,1从队伍中离开,2从备用角色中离开,3从队伍和备用角色中离开。
 
 -   def remove_actor(actor_id,type=1)
 
 -     actor = $game_actors[actor_id]
 
 -     case type
 
 -     when 1
 
 -       @actors.delete(actor)
 
 -       $game_player.refresh
 
 -     when 2
 
 -       @actors2.delete(actor)
 
 -       $game_player.refresh
 
 -     when 3
 
 -       @actors.delete(actor)
 
 -       @actors2.delete(actor)
 
 -       $game_player.refresh
 
 -     end
 
 -   end
 
 -   
 
 -   def refresh
 
 -     new_actors = []
 
 -     new_actors2 = []
 
 -     for i in [email protected]
 
 -       if $data_actors[@actors[i].id] != nil
 
 -         new_actors.push($game_actors[@actors[i].id])
 
 -       end
 
 -     end
 
 -     @actors = new_actors
 
 -     for i in [email protected]
 
 -       if $data_actors[@actors2[i].id] != nil
 
 -         new_actors2.push($game_actors[@actors2[i].id])
 
 -       end
 
 -     end
 
 -     @actors2 = new_actors2
 
 -   end
 
 - end
 
  
- #------------------------------------------------------------------------------
 
  
- class Chaochao_Scene_Party
 
 -   def main
 
 -     @left_temp_command = 0
 
 -     @right_temp_command = 0
 
 -     [url=home.php?mod=space&uid=263426]@temp[/url] = 0
 
 -     @left_window = Chaochao_Window_PartyLeft.new
 
 -     @left_window.active = true
 
 -     @right_window = Chaochao_Window_PartyRight.new
 
 -     @right_window.active = false
 
 -     @data_window = Chaochao_Window_PartyData.new
 
 -     update_data
 
 -     Graphics.transition
 
 -     loop do
 
 -       Graphics.update
 
 -       Input.update
 
 -       update
 
 -       if $scene != self
 
 -         break
 
 -       end
 
 -     end
 
 -     Graphics.freeze
 
 -     @left_window.dispose
 
 -     @right_window.dispose
 
 -     @data_window.dispose
 
 -   end
 
 -   
 
 -   def update
 
 -     @left_window.update
 
 -     @right_window.update
 
 -     @data_window.update
 
 -     update_command
 
 -     update_data
 
 -   end
 
 -   
 
 -   def update_command
 
 -     if Input.trigger?(Input::B)
 
 -       $game_system.se_play($data_system.cancel_se)
 
 -       #画面切换
 
 -       $scene = Scene_Map.new
 
 -       return
 
 -     end
 
 -     if @left_window.active
 
 -       update_left
 
 -       return
 
 -     end
 
 -     if @right_window.active
 
 -       update_right
 
 -       return
 
 -     end
 
 -   end
 
 -   
 
 -   def update_left
 
 -     if Input.trigger?(Input::RIGHT)
 
 -       if @right_window.item_max > 0
 
 -         @left_temp_command = @left_window.index
 
 -         @left_window.set_index(-1)
 
 -         $game_system.se_play($data_system.cursor_se)
 
 -         @left_window.active = false
 
 -         @right_window.active = true
 
 -         @left_window.refresh
 
 -         @right_window.refresh
 
 -         @right_window.set_index(@right_temp_command)
 
 -         return
 
 -       else
 
 -         $game_system.se_play($data_system.buzzer_se)
 
 -         return
 
 -       end
 
 -     end
 
 -     if Input.trigger?(Input::C)
 
 -       if @left_window.active and @left_window.actor?(@left_window.index) and $game_party.actors.size > 1 and not $game_party.chaochao.include?($game_party.actors[@left_window.index].id)
 
 -         $game_party.huanren($game_party.actors[@left_window.index].id,2)#type为1是从备用角色向队伍中移动,为2则相反。
 
 -         @left_window.refresh
 
 -         @right_window.refresh
 
 -       else
 
 -         $game_system.se_play($data_system.buzzer_se)
 
 -       end
 
 -     end
 
 -     return
 
 -   end
 
 -   
 
 -   def update_right
 
 -     if Input.trigger?(Input::LEFT)
 
 -       if @left_window.item_max > 0
 
 -         @right_temp_command = @right_window.index
 
 -         @right_window.set_index(-1)
 
 -         $game_system.se_play($data_system.cursor_se)
 
 -         @left_window.active = true
 
 -         @right_window.active = false
 
 -         @left_window.refresh
 
 -         @right_window.refresh
 
 -         @left_window.set_index(@left_temp_command)
 
 -         return
 
 -       else
 
 -         $game_system.se_play($data_system.buzzer_se)
 
 -         return
 
 -       end
 
 -     end
 
 -     if Input.trigger?(Input::C)
 
 -       if $game_party.actors.size >= 4
 
 -         $game_system.se_play($data_system.buzzer_se)
 
 -         return
 
 -       end
 
 -       if @right_window.active and @right_window.actor?(@right_window.index) and not $game_party.chaochao2.include?($game_party.actors2[@right_window.index].id)
 
 -         $game_party.huanren($game_party.actors2[@right_window.index].id,1)#type为1是从备用角色向队伍中移动,为2则相反。
 
 -         if $game_party.actors2.size == 0
 
 -           @right_temp_command = @right_window.index
 
 -           @right_window.set_index(-1)
 
 -           $game_system.se_play($data_system.cursor_se)
 
 -           @left_window.active = true
 
 -           @right_window.active = false
 
 -           @left_window.refresh
 
 -           @right_window.refresh
 
 -           @left_window.set_index(@left_temp_command)
 
 -         end
 
 -         if @right_window.index > 0
 
 -           @right_window.set_index(@right_window.index-1)
 
 -         end
 
 -         @left_window.refresh
 
 -         @right_window.refresh
 
 -       else
 
 -         $game_system.se_play($data_system.buzzer_se)
 
 -       end
 
 -     end
 
 -     return
 
 -   end
 
 -   
 
 -   def update_data
 
 -     if @left_window.active
 
 -       if $game_party.actors[@left_window.index] != nil
 
 -         @data_window.set_actor($game_party.actors[@left_window.index])
 
 -       else
 
 -         @data_window.clear
 
 -       end
 
 -       return
 
 -     end
 
 -     if @right_window.active
 
 -       if $game_party.actors2[@right_window.index] != nil
 
 -         @data_window.set_actor($game_party.actors2[@right_window.index])
 
 -       else
 
 -         @data_window.clear
 
 -       end
 
 -       return
 
 -     end
 
 -   end
 
 - end
 
  复制代码 2,放在人物仓库下面- #==============================================================================
 
 - # 本脚本来自www.66RPG.com,使用和转载请保留此信息
 
 - #==============================================================================
 
 - #==============================================================================
 
 - # ■ Interpreter (分割定义 4)
 
 - #------------------------------------------------------------------------------
 
 - #  执行事件命令的解释器。本类在 Game_System 类
 
 - # 和 Game_Event 类的内部使用。
 
 - #==============================================================================
 
 - class Interpreter
 
 -     #--------------------------------------------------------------------------
 
 -     # ● 角色的替换
 
 -     #--------------------------------------------------------------------------
 
 -     def command_129
 
 -         # 获取角色
 
 -         actor = $game_actors[@parameters[0]]
 
 -         # 角色有效的情况下
 
 -         if actor != nil
 
 -             # 操作分支
 
 -             if @parameters[1] == 0
 
 -                 if @parameters[2] == 1
 
 -                     $game_actors[@parameters[0]].setup(@parameters[0])
 
 -                 end
 
 -                 if $game_party.actors.size == 4
 
 -                     $game_party.add_actor(@parameters[0],2)
 
 -                 else
 
 -                     $game_party.add_actor(@parameters[0])
 
 -                 end
 
 -             else
 
 -                 $game_party.remove_actor(@parameters[0],3)
 
 -             end
 
 -         end
 
 -         # 继续
 
 -         return true
 
 -     end
 
 - end
 
 - #==============================================================================
 
 - # 本脚本来自www.66RPG.com,使用和转载请保留此信息
 
 - #==============================================================================
 
  复制代码 |   
 
 
 
 |