Project1

标题: 一个脚本BUG... (解决了!) [打印本页]

作者: RMVXA    时间: 2018-6-19 10:43
标题: 一个脚本BUG... (解决了!)
本帖最后由 RMVXA 于 2018-7-1 17:21 编辑

想了一个办法也许能防止下面的BUG出现,但是有了思路却不知道怎么写(提示没有材料这个我可以照搬原文的...),我是一个只会改脚本的小白... 跪求大神!



没有材料的动作我写了,但是这个判定材料是否为空不会....




BUG:
首先,这个脚本可以先选择装备,再选择强化材料;也可以先选择强化材料,再选择装备。

报错现象:一.当强化材料(道具)不为空时,一切正常
   1.先选择(任意装备),再选择强化材料(道具),功能正常。
   2.先选择强化材料(道具),再选择(任意装备),功能正常。
二.当强化材料(道具)为空时:
   1.因为材料为空,所以无法激活材料栏。
   2.如果先选择(任意装备)再选择强化材料(道具)时, 会强制进入空的道具栏,这时按[确定键]的话就279行会报如下错误:   



   


我觉得可能是,二.2的步骤使得强制进入了空的道具栏,导致了问题。
如果加一个道具为空的判定等不知道能否解决。
请大神帮帮忙!!


作者: RMVXA    时间: 2018-6-21 10:17
帖子已更新~~
作者: soulsaga    时间: 2018-6-21 20:18
if !item.is_a?(RPG::Item)
作者: RMVXA    时间: 2018-6-21 23:41
soulsaga 发表于 2018-6-21 20:18
if !item.is_a?(RPG::Item)

谢谢您的答复,明天我回去试试!
作者: RMVXA    时间: 2018-6-22 06:53
soulsaga 发表于 2018-6-21 20:18
if !item.is_a?(RPG::Item)

又来麻烦大神了,你看下我这样写对不对呀,他还是给报错了
[attach]345913[/attach]

[attach]345914[/attach]



作者: RMVXA    时间: 2018-6-22 06:53
soulsaga 发表于 2018-6-21 20:18
if !item.is_a?(RPG::Item)

又来麻烦大神了,你看下我这样写对不对呀,他还是给报错了
[attach]345913[/attach]





作者: RMVXA    时间: 2018-6-22 06:53
soulsaga 发表于 2018-6-21 20:18
if !item.is_a?(RPG::Item)

又来麻烦大神了,你看下我这样写对不对呀,他还是给报错了


[attach]345914[/attach]



作者: RMVXA    时间: 2018-6-22 07:18
本帖最后由 RMVXA 于 2018-6-22 07:22 编辑
soulsaga 发表于 2018-6-21 20:18
if !item.is_a?(RPG::Item)

跟大神解释一下:
这个 [新增强化] [移除强化] 的功能是在选择了装备(非材料道具)后弹出的选项。
如果点选了[新增强化],原脚本就会直接打开[材料栏]:而且当材料为空时就会出现那个BUG
所以我想在点选[新增强化]后做一个判定:材料为空时提示材料不足并取消不为空再按原来步骤的直接打开材料栏


作者: 0newing    时间: 2018-6-22 08:48
我完全复现不了这个BUG……
这个脚本的Window_ItemStats类也没有……
而且……
二.当强化材料(道具)为空时:
   1.先选择(任意装备),再选择强化材料(道具),因为道具为空所以不能激活道具栏,功能正常。
   2.但是如果先选择(任意装备)再选择强化材料(道具)时, 会强制进入空的道具栏,这时按[确定键]的话就279行会报如下错误

好像1和2的描述是一样的情况啊…………

作者: RMVXA    时间: 2018-6-22 09:06
0newing 发表于 2018-6-22 08:48
我完全复现不了这个BUG……
这个脚本的Window_ItemStats类也没有……
而且……


对不起写错了,
1是先选择材料,再选择装备……哈哈
可以无视掉1
作者: soulsaga    时间: 2018-6-22 10:27
if !@item_window.item.is_a?(RPG::Item)
才对...
作者: RMVXA    时间: 2018-6-22 13:13
本帖最后由 RMVXA 于 2018-6-22 21:17 编辑

材料的备注栏里有一个标示:


BUG范例:

强化BUG.rar (702.08 KB, 下载次数: 37)



作者: RMVXA    时间: 2018-6-22 13:25
soulsaga 发表于 2018-6-22 10:27
if !@item_window.item.is_a?(RPG::Item)
才对...

哈哈,下午回家再试试,谢谢!
作者: RMVXA    时间: 2018-6-22 14:20
本帖最后由 RMVXA 于 2018-6-22 14:37 编辑
soulsaga 发表于 2018-6-22 10:27
if !@item_window.item.is_a?(RPG::Item)
才对...


大神,这样写了之后。
有材料的情况下也会被取消了。
12楼已上传范例。
作者: RMVXA    时间: 2018-6-22 14:37
0newing 发表于 2018-6-22 08:48
我完全复现不了这个BUG……
这个脚本的Window_ItemStats类也没有……
而且……

大神你好,12楼已上传范例。
作者: soulsaga    时间: 2018-6-22 15:13
RMVXA 发表于 2018-6-22 14:20
大神,这样写了之后。
有材料的情况下也会被取消了。
12楼已上传范例。 ...

那就if @item_window.item.nil?
作者: RMVXA    时间: 2018-6-22 15:39
soulsaga 发表于 2018-6-22 15:13
那就if @item_window.item.nil?

好的,一会我回去试试,不在电脑前。哈哈
作者: soulsaga    时间: 2018-6-22 18:11
如果都不行..你就P一下@item_window.item看看各种情況时结果是什么..
作者: RMVXA    时间: 2018-6-22 18:46
soulsaga 发表于 2018-6-22 18:11
如果都不行..你就P一下@item_window.item看看各种情況时结果是什么..


不明白P一下是啥意思,我是一只小白。
请大神您有空了看下12楼的脚本或者范例,材料道具有一个专门的备注<augment>,可能在这里有什么玄机。
VX的所有道具都在一个道具栏里... 唉

作者: soulsaga    时间: 2018-6-22 19:10
if !@item_window.item.augment?
作者: 0newing    时间: 2018-6-22 19:45
强化BUG.zip (716.09 KB, 下载次数: 116)
改好了……给你加了个函数判断……


作者: RMVXA    时间: 2018-6-22 21:01
0newing 发表于 2018-6-22 19:45
改好了……给你加了个函数判断……

刚看到,谢谢啦!  我去试一试!
作者: RMVXA    时间: 2018-6-22 21:14
0newing 发表于 2018-6-22 19:45
改好了……给你加了个函数判断……

我的老天! 完美解决了!
感谢大神啊!!!
脚本真的是一个很神奇的东西。
作者: RMVXA    时间: 2018-6-24 00:56
本帖最后由 RMVXA 于 2018-7-13 06:41 编辑
0newing 发表于 2018-6-22 19:45
改好了……给你加了个函数判断……


这几天没上论坛!哈哈。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1