Project1
标题:
【VxAce】我不服啊!为什么这句脚本就能实行这...
[打印本页]
作者:
alianlord
时间:
2020-10-3 10:07
标题:
【VxAce】我不服啊!为什么这句脚本就能实行这...
本帖最后由 alianlord 于 2020-10-3 10:08 编辑
class Game_Actor < Game_Battler
.......
......
#--------------------------------------------------------------------------
# ● 将装备类型变换为装备栏 ID(优先返回空的装备栏)
#--------------------------------------------------------------------------
def empty_slot(etype_id)
list = slot_list(etype_id)
list.find {|i| @equips
.is_nil? } || list[0]
end
【帮助文件中的相关内容】
Enumerable
包含重复关系操作类的模块,此模快的方法都是通过 each 定义的,所以包含此模块的类必须定义 each 方法。
find {|item| ... }
依次以各个元素执行区块的计算,返回第一个计算为 true 的项目。若没有项目计算为 true,则返回 nil。
作者:
百里_飞柳
时间:
2020-10-3 11:39
本帖最后由 百里_飞柳 于 2020-10-3 13:39 编辑
其实你自己下个 Ruby,然后写几句简单的ruby脚本,再用命令行运行试试看,更加便捷……
比如 test.rb 文件中
a = [1, 2, nil, 1]
p a.find { |item| item.nil? } || a[0]
复制代码
然后命令行中使用
ruby test.rb
复制代码
,去查看它的返回结果……
这里是因为当装备槽里没有装备时就是nil,它这里就是获取第一个空的装备槽的index
作者:
alianlord
时间:
2020-10-3 13:27
百里_飞柳 发表于 2020-10-3 11:39
其实你自己下个 Ruby,然后写几句简单的ruby脚本,再用命令行运行试试看,更加便捷……
比如 test.rb 文件 ...
把 a = [1, 2, nil, 1]
p a.find { |item| item.is_nil? } || a[0]
放在VA脚本中,执行中弹窗 找不到 is_nil? 的方法。我推断红字的lise 不是个单纯数组
def empty_slot(etype_id)
list = slot_list(etype_id)
list
.find {|i| @equips
.is_nil? } || list[0]
end
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1