查看: 1638|回复: 8

[已经解决] 【已解决】使用BGS近大远小脚本时遇到脚本报错

[复制链接]
梦石
0
星屑
957
在线时间
121 小时
注册时间
2020-7-7
回帖
16
发表于 2023-11-1 22:39:01 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 愚昧jun 于 2023-11-3 01:53 编辑

用搜索搜到了https://rpg.blue/forum.php?mod=viewthread&tid=296891这个13年的声音近大远小脚本,但是我在使用的时候游戏会提示第32行:发生NoMethodError。undefined method ‘each’ for nil:NilClass。问问大佬们是什么意思,有没有办法解决?如果没有的话,还有没有其他的能用开关控制BGS是否启动的BGS近大远小脚本,再或者有没有用纯事件做能用开关控制是否开启的BGS近大远小的方法
梦石
0
星屑
6295
在线时间
799 小时
注册时间
2019-1-20
回帖
223
发表于 2023-11-1 23:31:03 | 显示全部楼层
这可以正常使用啊。

你新建一个工程后再使用看看,可能跟其它脚本冲突了。

当然如果你自己有改动的,麻烦你把完整的脚本发出来。
回复

使用道具 举报

梦石
0
星屑
957
在线时间
121 小时
注册时间
2020-7-7
回帖
16
 楼主| 发表于 2023-11-1 23:41:53 | 显示全部楼层
srwjrevenger 发表于 2023-11-1 23:31
这可以正常使用啊。

你新建一个工程后再使用看看,可能跟其它脚本冲突了。

我试着把我这个工程里的所有脚本都一个一个复制粘贴到新的工程里,能正常,运行,但是不知道为什么在我的那个工程里就会报错
回复

使用道具 举报

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2023-11-2 00:25:11 | 显示全部楼层
你可能用了事件优化之类的脚本,导致它在刷新时没找到事件页的指令列表
粗暴修复就是在 31 和 32 行之间加个
  1. return if @list.nil?
复制代码

但可能导致部分受其他脚本影响的事件,在这个bgs播放的设置上失效
回复

使用道具 举报

梦石
0
星屑
957
在线时间
121 小时
注册时间
2020-7-7
回帖
16
 楼主| 发表于 2023-11-2 21:48:51 | 显示全部楼层
百里_飞柳 发表于 2023-11-2 00:25
你可能用了事件优化之类的脚本,导致它在刷新时没找到事件页的指令列表
粗暴修复就是在 31 和 32 行之间加 ...

我用了这个https://rpg.blue/thread-341787-1-1.html里面的事件管理器脚本,这些是我所使用的脚本 8){SJV5N3@9RLA6G5[N([BQ.png 。我刚刚试着把那行代码插入了31行到32行之间,它又弹出了 8M`IV5(KJ%91BF{0969ZYOX.png ,我又在44行到45行之间塞了一行那个代码,然后它就弹出了这个提示 0O)_ADP@H_96O66]H60K`VI.png 。

点评

我这边测试这个事件防卡没有冲突哦,你再找找是哪个修改了 Game_Event 类吧  发表于 2023-11-2 22:14
回复

使用道具 举报

梦石
0
星屑
957
在线时间
121 小时
注册时间
2020-7-7
回帖
16
 楼主| 发表于 2023-11-2 22:58:54 | 显示全部楼层
本帖最后由 愚昧jun 于 2023-11-2 23:00 编辑
百里_飞柳 发表于 2023-11-2 00:25
你可能用了事件优化之类的脚本,导致它在刷新时没找到事件页的指令列表
粗暴修复就是在 31 和 32 行之间加 ...

我试着把所有提到了Game_Event的脚本都删掉了,还是会报错。然后我又把脚本都装上,单独抽出一张地图测试看看到底是哪部分出了问题。然后我现在测出来的结果就是,就算单单只有这个BGS声音近大远小脚本,只要地图上面存在一个“有出现条件,但不是变量不小于”的事件,就会报错。。。
回复

使用道具 举报

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2023-11-2 23:38:11 | 显示全部楼层
又看了下,是它原本的写法就有问题
把其中的 initialize 方法全部注释掉,再加上这个就可以了
我顺便加了事件消除时,bgs停止

  1.   #--------------------------------------------------------------------------
  2.   # ● 设置事件页
  3.   #--------------------------------------------------------------------------
  4.   alias eagle_20231102_uo5_soundrange_setup_page setup_page
  5.   def setup_page(new_page)
  6.     eagle_20231102_uo5_soundrange_setup_page(new_page)
  7.     if @bgs_range != 0
  8.       Audio.bgs_stop
  9.     end
  10.     @bgs_range = 0
  11.     if @list
  12.       setup_bgs_range
  13.       setup_bgs_file_name
  14.     end
  15.   end
复制代码
回复

使用道具 举报

梦石
0
星屑
957
在线时间
121 小时
注册时间
2020-7-7
回帖
16
 楼主| 发表于 2023-11-3 01:52:16 | 显示全部楼层
百里_飞柳 发表于 2023-11-2 23:38
又看了下,是它原本的写法就有问题
把其中的 initialize 方法全部注释掉,再加上这个就可以了
我顺便加了事 ...

解决了,非常感谢!
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部