赞 | 4 |
VIP | 71 |
好人卡 | 22 |
积分 | 6 |
经验 | 32145 |
最后登录 | 2013-8-9 |
在线时间 | 184 小时 |
Lv2.观梦者 天仙
- 梦石
- 0
- 星屑
- 610
- 在线时间
- 184 小时
- 注册时间
- 2008-4-15
- 帖子
- 5023
|
那是物品自动设置的部分出错
等我把那部分处理掉{/tp}
把这段脚本加入看看
是关於物品等级设定的
物品等级设置方式与敌人相同
自动掉落物为与敌人等级差在正负2之内的物品
没有设置等级的物品视为1等
列入「无法掉落」物品ID数组的物品无法掉落
价钱为0的物品不能掉落
非消耗品的不能掉落
- module Item_Setup
-
- # 回复系数, 同时也是物品允许最大等级
- RESTORE_COEF = 10
- # 掉落機率係數
- DROP_COEF = 3
- # 無法掉落
- CANNOT_DROP_ITEMS = []
- end
- class RPG::BaseItem
- # 获取等级
- def get_level
- d = 0
- self.note.split(/[\r\n]+/).each { |line|
- if line =~ /\[(level|等級|等级) \d\]/
- a = line.split(/ /)[1]
- d += a.to_i
- elsif line =~ /\[player_level|主角等級|主角等级\]/
- d += $game_party.avg_level
- end
- }
- return d
- end
- # 获取类型
- def get_category
- self.note.split(/[\r\n]+/).each { |line|
- if line =~ /\[(type|類型|类型) \w+\]/ #
- a = line.split(/ /)[1]
- d = ""
- while ((c = a.slice!(/./m)) != nil)
- d += c if c != "]"
- end
- return d
- end
- }
- return "default"
- end
-
- def cannot_drop
- # 指定為無法掉落的物品不掉落
- return true if Item_Setup::CANNOT_DROP_ITEMS.include?(id)
-
- # 价钱为0的物品不掉落
- if !(get_type == "skill")
- return true if price == 0
- end
-
- # 非消耗品不掉落
- if get_type == "item"
- return true unless consumable
- end
- end
-
- def get_type
- case self
- when RPG::Skill
- return "skill"
- when RPG::Item
- return "item"
- when RPG::Weapon
- return "weapon"
- when RPG::Armor
- case self.kind
- when 0
- return "shield"
- when 1
- return "helmet"
- when 2
- return "armor"
- when 3
- return "accessory"
- end
- else
- return "random"
- end
- end
-
- def category
- cat = Item_Setup::CATEGORY[get_category]
- return cat ? cat : Item_Setup::CATEGORY["default"]
- end
-
- def level
- level = get_level
- level = [[level, 0].max, Item_Setup::RESTORE_COEF].min
- return level
- end
-
- def auto_setup? # 需要类型和等级才能自动设定
- return (category and level)
- end
-
- end
复制代码 |
|