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

Project1

 找回密码
 注册会员
搜索
查看: 2032|回复: 3

[已经解决] 【VxAce】我不服啊!为什么这句脚本就能实行这...

[复制链接]

Lv1.梦旅人

梦石
0
星屑
109
在线时间
410 小时
注册时间
2020-1-11
帖子
253
发表于 2020-10-3 10:07:07 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 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。

Lv6.析梦学徒

老鹰

梦石
39
星屑
33308
在线时间
6542 小时
注册时间
2012-5-26
帖子
3176

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

发表于 2020-10-3 11:39:30 | 显示全部楼层
本帖最后由 百里_飞柳 于 2020-10-3 13:39 编辑

其实你自己下个 Ruby,然后写几句简单的ruby脚本,再用命令行运行试试看,更加便捷……
比如 test.rb 文件中
  1. a = [1, 2, nil, 1]
  2. p a.find { |item| item.nil? } || a[0]
复制代码

然后命令行中使用
  1. ruby test.rb
复制代码
,去查看它的返回结果……

这里是因为当装备槽里没有装备时就是nil,它这里就是获取第一个空的装备槽的index

评分

参与人数 1星屑 +50 收起 理由
VIPArcher + 50 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
109
在线时间
410 小时
注册时间
2020-1-11
帖子
253
 楼主| 发表于 2020-10-3 13:27:39 | 显示全部楼层
百里_飞柳 发表于 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

点评

打错了,一般的类型是 .nil? ,这个 @equips 是Game_BaseItem类的数组,如果有装备,就会给它设置对应装备的对象,然后你这个写错了,是@equips[i].is_nil?  发表于 2020-10-3 13:42
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 14:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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