Project1

标题: 这两个脚本为什么会发生冲突,高手进来帮一下。谢谢! [打印本页]

作者: H海GG    时间: 2016-11-2 17:54
标题: 这两个脚本为什么会发生冲突,高手进来帮一下。谢谢!
这个是系统自带脚本

  1. #==============================================================================
  2. # ■ Game_Actors
  3. #------------------------------------------------------------------------------
  4. #  处理角色排列的类。本类的实例请参考
  5. #  $game_actors。
  6. #==============================================================================

  7. class Game_Actors
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     @data = []
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 获取角色
  16.   #     actor_id : 角色 ID
  17.   #--------------------------------------------------------------------------
  18.   def [](actor_id)
  19.     if actor_id > 999 or $data_actors[actor_id] == nil
  20.       return nil
  21.     end
  22.     if @data[actor_id] == nil
  23.         @data[actor_id] = Game_Actor.new(actor_id)
  24.     end
  25.     return @data[actor_id]
  26.   end
  27. end
复制代码



这是装备等级限制的脚本

  1. module RPG

  2.   class Weapon

  3.     def level

  4.      return 1 if @description.split(/★/)[1] == nil

  5.      return @description.split(/★/)[1]

  6.     end

  7.     def description      

  8.       return @description.split(/★/)[0]

  9.     end

  10.   end

  11. class Armor

  12.     def level

  13.      return 1 if @description.split(/★/)[1] == nil

  14.      return @description.split(/★/)[1]

  15.     end

  16.     def description      

  17.       return @description.split(/★/)[0]

  18.     end

  19.   end

  20.   end


  21. class Game_Actor < Game_Battler

  22. #--------------------------------------------------------------------------

  23. # ● 可以装备判定

  24. #     item : 物品

  25. #--------------------------------------------------------------------------

  26. def equipable?(item)

  27.    # 武器的情况

  28.    if item.is_a?(RPG::Weapon)

  29.      # 包含当前的职业可以装备武器的场合

  30.      if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<=@level

  31.        return true

  32.      end

  33.    end

  34.    # 防具的情况

  35.    if item.is_a?(RPG::Armor)

  36.      # 不包含当前的职业可以装备武器的场合

  37.      if $data_classes[@class_id].armor_set.include?(item.id) and item.level.to_i<=@level

  38.        return true

  39.      end

  40.    end

  41.    return false

  42. end

  43. end

  44. #==============================================================================

  45. # ■ Window_EquipItem

  46. #------------------------------------------------------------------------------

  47. #  装备画面、显示浏览变更装备的候补物品的窗口。

  48. #==============================================================================


  49. class Window_EquipItem < Window_Selectable

  50.   #--------------------------------------------------------------------------

  51.   # ● 刷新

  52.   #--------------------------------------------------------------------------

  53.   def refresh

  54.     if self.contents != nil

  55.       self.contents.dispose

  56.       self.contents = nil

  57.     end

  58.     @data = []

  59.     # 添加可以装备的武器

  60.     if @equip_type == 0

  61.       weapon_set = $data_classes[@actor.class_id].weapon_set

  62.       for i in 1...$data_weapons.size

  63.         if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) and @actor.equipable?($data_weapons[i])

  64.           @data.push($data_weapons[i])

  65.         end

  66.       end

  67.     end

  68.     # 添加可以装备的防具

  69.     if @equip_type != 0

  70.       armor_set = $data_classes[@actor.class_id].armor_set

  71.       for i in 1...$data_armors.size

  72.         if $game_party.armor_number(i) > 0 and armor_set.include?(i) and @actor.equipable?($data_armors[i])

  73.           if $data_armors[i].kind == @equip_type-1

  74.             @data.push($data_armors[i])

  75.           end

  76.         end

  77.       end

  78.     end

  79.     # 添加空白

  80.     @data.push(nil)

  81.     # 生成位图、描绘全部项目

  82.     @item_max = @data.size

  83.     self.contents = Bitmap.new(width - 32, row_max * 32)

  84.     for i in 0...@item_max-1

  85.       draw_item(i)

  86.     end

  87.   end

  88. end
复制代码



放了好多脚本都与上面那个系统自带的脚本24行有冲突,不知道为什么。有没有大神帮一下,谢谢了!!!
作者: fux2    时间: 2016-11-2 19:14
我这里测试没有任何错误,楼主确定没有其他的脚本影响吗?

楼主可以这样测试,你打开脚本编辑器,按Ctrl+Shift+F(不要打开输入法,部分输入法热键冲突)
搜索
RUBY 代码复制
  1. class Game_Actor

然后把结果里涉及到的脚本都截图看看。
作者: H海GG    时间: 2016-11-2 19:46
fux2 发表于 2016-11-2 19:14
我这里测试没有任何错误,楼主确定没有其他的脚本影响吗?

楼主可以这样测试,你打开脚本编辑器,按Ctrl+S ...

我这个是用了ARPG的系统,不知道为什么,找了很多脚本都是跟这个系统脚本冲突!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1