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

Project1

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

[已经解决] 扩展掉落脚本和怪物图鉴脚本兼容问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1057
在线时间
208 小时
注册时间
2019-4-11
帖子
59
跳转到指定楼层
1
发表于 2021-2-22 21:48:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
刚沉浸在自己把怪物图鉴改成解析后才记录信息的喜悦之中就被当头一棒,一旦掉落扩展道具居然会出现nil无法保存整型的报错
链接:https://pan.baidu.com/s/15eDNJ3fDxnmPVcoHWTJ1zA  提取码:1234
尝试改了半天没找到什么原因,希望有大佬能够指教

Lv5.捕梦者

梦石
0
星屑
26259
在线时间
5354 小时
注册时间
2016-3-8
帖子
1655
2
发表于 2021-2-22 23:36:56 | 只看该作者
换个別的扩展掉落脚本
RUBY 代码复制
  1. #==============================================================================
  2.     # ■ 敌人追加物品掉落  by 老鹰
  3.     #------------------------------------------------------------------------------
  4.     #   - 新增敌人的额外物品掉落,可带触发条件
  5.     #   - 在敌人栏备注内填入 (可用空格或逗号分隔内部各项)(可重复填入多行)
  6.     #     <ex drop: 物品类型id 物品id 掉落概率分子 掉落概率分母 出现条件>
  7.     #       物品类型id: 1 - 物品  2 - 武器  3 - 护甲 (此外的值均会导致无效)
  8.     #       物品id: 对应类型的数据库中物品的id号
  9.     #       掉落概率分子、掉落概率分母: 物品的掉落概率为 分子 / 分母
  10.     #       出现条件(可选):当字符串被eval后返回的值为真时,允许这个物品掉落
  11.     #         注: 可用 s 代表 $game_switches, v 代表 $game_variables
  12.     #   - 举例:
  13.     #      <ex drop: 1 1 1 2>
  14.     #         - 以 1/2的概率 追加掉落 1号物品
  15.     #      <ex drop: 2,10,2,5,$game_switches[1]>
  16.     #         - 当1号开关开启时,以 2/5的概率 追加掉落 10号武器
  17.     #      <ex drop: 3 1,1 1,$game_variables[1] > 5>
  18.     #         - 当1号变量大于5时,一定 追加掉落 1号护甲
  19.     #   - 实质:在战斗结束统计敌人掉落时,追加读取敌人数据库的note栏并追加掉落
  20.     #==============================================================================
  21.  
  22.     class Game_Enemy < Game_Battler
  23.       #--------------------------------------------------------------------------
  24.       # ● 生成物品数组
  25.       #--------------------------------------------------------------------------
  26.       alias eagle_ex_drop_make_drop_items make_drop_items
  27.       def make_drop_items
  28.         array = eagle_ex_drop_make_drop_items
  29.         array += make_extra_drop_items
  30.         return array
  31.       end
  32.       #--------------------------------------------------------------------------
  33.       # ● 生成额外物品数组
  34.       #--------------------------------------------------------------------------
  35.       def make_extra_drop_items
  36.         array = []
  37.         s = $game_switches
  38.         v = $game_variables
  39.         enemy.note.split(/[\r\n]+/).each do |line|
  40.           case line
  41.           when /<ex drop:[ ,]*(\d+)[ ,]*(\d+)[ ,]*(\d+)[ ,]*(\d+)[ ,]*(.*)>/
  42.             cond = $5.to_s
  43.             next if (cond != "" && eval(cond) == false)
  44.             item_kind = $1.to_i; item_id = $2.to_i
  45.             prob = $3.to_i * 1.0 / $4.to_i * drop_item_rate
  46.             array.push(item_object(item_kind, item_id)) if rand < prob
  47.           end
  48.         end
  49.         return array
  50.       end
  51.     end

评分

参与人数 2星屑 +50 +1 收起 理由
VIPArcher + 50 塞糖
sxjkjly8010 + 1 我很赞同

查看全部评分

回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 00:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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