| 赞 | 1 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2026-3-12 |
| 在线时间 | 19 小时 |
- 梦石
- 0
- 星屑
- 71
- 在线时间
- 19 小时
- 注册时间
- 2021-11-7
- 回帖
- 5
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 va萌新 于 2021-11-9 04:16 编辑
有7个条件不知道咋弄, 以一句情況来描述的话:
被带有12号状态的3号角色以456号技能造成暴击且大于9000的火属性 吸收伤害时 追加掉落 1号物品
emmm,,,我猜大概用eval(a = user, b = self, i = action, r = result)的方法能解決么,,,

敌人掉落物追加 2017.6.6- #==============================================================================
- # ■ 敌人追加物品掉落 by 老鹰
- #------------------------------------------------------------------------------
- # - 新增敌人的额外物品掉落,可带触发条件
- # - 在敌人栏备注内填入 (可用空格或逗号分隔内部各项)(可重复填入多行)
- # <ex drop: 物品类型id 物品id 掉落概率分子 掉落概率分母 出现条件>
- # 物品类型id: 1 - 物品 2 - 武器 3 - 护甲 (此外的值均会导致无效)
- # 物品id: 对应类型的数据库中物品的id号
- # 掉落概率分子、掉落概率分母: 物品的掉落概率为 分子 / 分母
- # 出现条件(可选):当字符串被eval后返回的值为真时,允许这个物品掉落
- # 注: 可用 s 代表 $game_switches, v 代表 $game_variables
- # - 举例:
- # <ex drop: 1 1 1 2>
- # - 以 1/2的概率 追加掉落 1号物品
- # <ex drop: 2,10,2,5,$game_switches[1]>
- # - 当1号开关开启时,以 2/5的概率 追加掉落 10号武器
- # <ex drop: 3 1,1 1,$game_variables[1] > 5>
- # - 当1号变量大于5时,一定 追加掉落 1号护甲
- # - 实质:在战斗结束统计敌人掉落时,追加读取敌人数据库的note栏并追加掉落
- #==============================================================================
-
- class Game_Enemy < Game_Battler
- #--------------------------------------------------------------------------
- # ● 生成物品数组
- #--------------------------------------------------------------------------
- alias eagle_ex_drop_make_drop_items make_drop_items
- def make_drop_items
- array = eagle_ex_drop_make_drop_items
- array += make_extra_drop_items
- return array
- end
- #--------------------------------------------------------------------------
- # ● 生成额外物品数组
- #--------------------------------------------------------------------------
- def make_extra_drop_items
- array = []
- s = $game_switches
- v = $game_variables
- enemy.note.split(/[\r\n]+/).each do |line|
- case line
- when /<ex drop:[ ,]*(\d+)[ ,]*(\d+)[ ,]*(\d+)[ ,]*(\d+)[ ,]*(.*)>/
- cond = $5.to_s
- next if (cond != "" && eval(cond) == false)
- item_kind = $1.to_i; item_id = $2.to_i
- prob = $3.to_i * 1.0 / $4.to_i * drop_item_rate
- array.push(item_object(item_kind, item_id)) if rand < prob
- end
- end
- return array
- end
- end
复制代码 |
|