Project1

标题: 请教大大们等级装备限制怎么做? [打印本页]

作者: 844394093    时间: 2011-9-18 15:16
标题: 请教大大们等级装备限制怎么做?
就是要等级达到一定的时候才能装备某个装备

比如说:20J装备魔影剑,20J前装备不了魔影剑{:2_33:} dsu_plus_rewardpost_czw
作者: 爆焰    时间: 2011-9-18 17:27
  1. #在装备的描述最后添加,比如:@2等于2级以上才可装备

  2. module RPG
  3. class Weapon
  4.   def level
  5.    return 1 if @description.split(/@/)[1] == nil
  6.    return @description.split(/@/)[1]
  7. end
  8.   def description      
  9.     return @description.split(/@/)[0]
  10.   end
  11. end
  12. class Armor
  13.   def level
  14.    return 1 if @description.split(/@/)[1] == nil
  15.    return @description.split(/@/)[1]
  16.   end
  17.   def description      
  18.     return @description.split(/@/)[0]
  19.   end
  20. end
  21. end



  22. class Game_Actor < Game_Battler
  23. #--------------------------------------------------------------------------
  24. # ● 可以装备判定
  25. #     item : 物品
  26. #--------------------------------------------------------------------------
  27. def equipable?(item)
  28.   
  29. # 武器的情况
  30. if item.is_a?(RPG::Weapon)
  31.    # 包含当前的职业可以装备武器的场合
  32.    if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<=@level
  33.      return true
  34.    end
  35. end
  36. # 防具的情况
  37. if item.is_a?(RPG::Armor)
  38.    # 不包含当前的职业可以装备武器的场合
  39.    if $data_classes[@class_id].armor_set.include?(item.id)  and item.level.to_i<=@level
  40.      return true
  41.    end
  42. end
  43. return false
  44. end
  45. end
  46. #==============================================================================
  47. # ■ Window_EquipItem
  48. #------------------------------------------------------------------------------
  49. #  装备画面、显示浏览变更装备的候补物品的窗口。
  50. #==============================================================================

  51. class Window_EquipItem < Window_Selectable
  52. #--------------------------------------------------------------------------
  53. # ● 刷新
  54. #--------------------------------------------------------------------------
  55. def refresh
  56.   if self.contents != nil
  57.     self.contents.dispose
  58.     self.contents = nil
  59.   end
  60.   @data = []
  61.   # 添加可以装备的武器
  62.   if @equip_type == 0
  63.     weapon_set = $data_classes[@actor.class_id].weapon_set
  64.     for i in 1...$data_weapons.size
  65.       if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) and @actor.equipable?($data_weapons[i])
  66.         @data.push($data_weapons[i])
  67.       end
  68.     end
  69.   end
  70.   # 添加可以装备的防具
  71.   if @equip_type != 0
  72.     armor_set = $data_classes[@actor.class_id].armor_set
  73.     for i in 1...$data_armors.size
  74.       if $game_party.armor_number(i) > 0 and armor_set.include?(i) and @actor.equipable?($data_armors[i])
  75.         if $data_armors[i].kind == @equip_type-1
  76.           @data.push($data_armors[i])
  77.         end
  78.       end
  79.     end
  80.   end
  81.   # 添加空白
  82.   @data.push(nil)
  83.   # 生成位图、描绘全部项目
  84.   @item_max = @data.size
  85.   self.contents = Bitmap.new(width - 32, row_max * 32)
  86.   for i in 0...@item_max-1
  87.     draw_item(i)
  88.   end
  89. end
  90. end  
复制代码
在装备说明那里最后加上@(数字),比如:@2就是2级才能装备,1级不用设置。
作者: 844394093    时间: 2011-9-18 17:34
本帖最后由 844394093 于 2011-9-18 17:35 编辑
爆焰 发表于 2011-9-18 17:27
在装备说明那里最后加上@(数字),比如:@2就是2级才能装备,1级不用设置。 ...


可以了




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