设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1593|回复: 3
打印 上一主题 下一主题

[已经解决] 如何限制武器等級?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2010-4-1
帖子
44
跳转到指定楼层
1
发表于 2010-8-8 21:49:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
怎么使角色到了一定等級才能裝備一定級別的武器?
比如說,假設武器等級為20,角色只有到了20級才能裝備,沒到裝備不了。

請求解答~~~~~~

謝謝啦~~~~~~~~

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
2
发表于 2010-8-8 23:39:58 | 只看该作者
  1. #---------------------------------------------------------------------------------
  2. #需要能力值才能装备 改编自到达一定等级才能装备的武器和防具 By凌冰
  3. #用法:在武器、防具的说明里添加LV等级(后面的等级写个数字)STR力量(后面的力量写个数字)
  4. #DEX灵巧(后面的灵巧写个数字)AGI速度(后面的速度写个数字)INT魔力(后面的魔力写个数字)
  5. #可以空缺,空缺项默认为1
  6. #建议和升级加点脚本配合使用
  7. #---------------------------------------------------------------------------------
  8. module RPG
  9.   class Weapon
  10.     def level
  11.      return 1 if @description.split(/LV/)[1] == nil
  12.      return @description.split(/LV/)[1]
  13.    end
  14.    def str
  15.      return 1 if @description.split(/STR/)[1] == nil
  16.      return @description.split(/STR/)[1]
  17.    end
  18.    def dex
  19.      return 1 if @description.split(/DEX/)[1] == nil
  20.      return @description.split(/DEX/)[1]
  21.    end
  22.    def agi
  23.      return 1 if @description.split(/AGI/)[1] == nil
  24.      return @description.split(/AGI/)[1]
  25.    end
  26.    def int
  27.      return 1 if @description.split(/INT/)[1] == nil
  28.      return @description.split(/INT/)[1]
  29.    end
  30. #    def description      
  31. #      return @description.split(/LV/)[0] + "{装备等级" + level + "}"
  32. #    end
  33. end
  34. class Armor
  35.     def level
  36.      return 1 if @description.split(/LV/)[1] == nil
  37.      return @description.split(/LV/)[1]
  38.    end
  39.    def str
  40.      return 1 if @description.split(/STR/)[1] == nil
  41.      return @description.split(/STR/)[1]
  42.    end
  43.    def dex
  44.      return 1 if @description.split(/DEX/)[1] == nil
  45.      return @description.split(/DEX/)[1]
  46.    end
  47.    def agi
  48.      return 1 if @description.split(/AGI/)[1] == nil
  49.      return @description.split(/AGI/)[1]
  50.    end
  51.    def int
  52.      return 1 if @description.split(/INT/)[1] == nil
  53.      return @description.split(/INT/)[1]
  54.    end
  55. #    def description      
  56. #      return @description.split(/LV/)[0] + "{装备等级" + level + "}"
  57. #    end
  58.   end
  59. end

  60. class Game_Actor < Game_Battler
  61. #--------------------------------------------------------------------------
  62. # ● 可以装备判定
  63. #     item : 物品
  64. #--------------------------------------------------------------------------
  65. def equipable?(item)
  66.    # 武器的情况
  67.    if item.is_a?(RPG::Weapon)
  68.      # 包含当前的职业可以装备武器的场合
  69.      if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<=@level
  70.        if item.str.to_i<= str and item.dex.to_i<= dex and item.agi.to_i<= agi and item.int.to_i<= int
  71.        return true
  72.        end
  73.      end
  74.    end
  75.    # 防具的情况
  76.    if item.is_a?(RPG::Armor)
  77.      # 不包含当前的职业可以装备武器的场合
  78.      if $data_classes[@class_id].armor_set.include?(item.id) and item.level.to_i<=@level
  79.        if item.str.to_i<= str and item.dex.to_i<= dex and item.agi.to_i<= agi and item.int.to_i<= int
  80.        return true
  81.        end
  82.      end
  83.    end
  84.    return false
  85. end
  86. end
  87. #==============================================================================
  88. # ■ Window_EquipItem
  89. #------------------------------------------------------------------------------
  90. #  装备画面、显示浏览变更装备的候补物品的窗口。
  91. #==============================================================================

  92. class Window_EquipItem < Window_Selectable
  93.   #--------------------------------------------------------------------------
  94.   # ● 刷新
  95.   #--------------------------------------------------------------------------
  96.   def refresh
  97.     if self.contents != nil
  98.       self.contents.dispose
  99.       self.contents = nil
  100.     end
  101.     @data = []
  102.     # 添加可以装备的武器
  103.     if @equip_type == 0
  104.       weapon_set = $data_classes[@actor.class_id].weapon_set
  105.       for i in 1...$data_weapons.size
  106.         if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) and @actor.equipable?($data_weapons[i])
  107.           @data.push($data_weapons[i])
  108.         end
  109.       end
  110.     end
  111.     # 添加可以装备的防具
  112.     if @equip_type != 0
  113.       armor_set = $data_classes[@actor.class_id].armor_set
  114.       for i in 1...$data_armors.size
  115.         if $game_party.armor_number(i) > 0 and armor_set.include?(i) and @actor.equipable?($data_armors[i])
  116.           if $data_armors[i].kind == @equip_type-1
  117.             @data.push($data_armors[i])
  118.           end
  119.         end
  120.       end
  121.     end
  122.     # 添加空白
  123.     @data.push(nil)
  124.     # 生成位图、描绘全部项目
  125.     @item_max = @data.size
  126.     self.contents = Bitmap.new(width - 32, row_max * 32)
  127.     for i in 0...@item_max-1
  128.       draw_item(i)
  129.     end
  130.   end
  131. end
复制代码

评分

参与人数 1星屑 +200 收起 理由
六祈 + 200 认可答案

查看全部评分


http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2010-4-1
帖子
44
3
 楼主| 发表于 2010-8-10 22:19:23 | 只看该作者
回复 Wind2010 的帖子

非常感謝,但是,可是偶不知怎么用?
那個說明看不太明白~~~~

   

点评

就是如果你的武器/防具要限定10级才能装备的话,那么在武器介绍那里写“LV10”  发表于 2010-8-11 23:34
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2010-7-5
帖子
483
4
发表于 2010-8-11 09:10:49 | 只看该作者
请下载天干宝典,在里面找到豪华菜单+武器要求能力值的范例。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-29 05:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表