Project1

标题: 为啥那个指令$game_self_switches[[XXX,XX,"A"]] = "on"没效果啊 [打印本页]

作者: taeckle    时间: 2019-8-1 04:35
标题: 为啥那个指令$game_self_switches[[XXX,XX,"A"]] = "on"没效果啊
目前发现的问题是这样的:

$game_self_switches[[XXX,XX,"A"]] = "on" 无效
$game_self_switches[[XXX,XX,"A"]] = true 有效

$game_self_switches[[XXX,XX,"A"]] = "off" 有效
$game_self_switches[[XXX,XX,"A"]] = false 卡死..

这到底是为啥啊
作者: 灯笼菜刀王    时间: 2019-8-1 10:08
本帖最后由 灯笼菜刀王 于 2019-8-1 10:12 编辑

布尔类型常量只能是true和false,  "on"和"off" 都视为字符串, 返回结果是非假

默认脚本, 独立开关的键值判定是这样的
  #--------------------------------------------------------------------------
  # ● 获取独立开关
  #     key : 键
  #--------------------------------------------------------------------------
  def [](key)
    return @data[key] == true ? true : false
  end

可以看到, 只要返回值不是true,  那就全部视为false,  自然, 你返回"OFF" 就和false一样的结果咯(返回"on"也一样)

然后卡死, 是因为XP版的一个历史遗留BUG, 事件最后如果返回false, 那就会卡死, 解决方法, 给它下面加一个true, 或者事件最后添加一个注释就可以了
作者: taeckle    时间: 2019-12-28 18:01
灯笼菜刀王 发表于 2019-8-1 10:08
布尔类型常量只能是true和false,  "on"和"off" 都视为字符串, 返回结果是非假

默认脚本, 独立开关的键值判 ...

那要具体怎么"给它下面加一个true, 或者事件最后添加一个注释就可以了"啊?
作者: soulsaga    时间: 2019-12-28 21:24
taeckle 发表于 2019-12-28 18:01
那要具体怎么"给它下面加一个true, 或者事件最后添加一个注释就可以了"啊? ...

加一个true
最后一行写true
加注译
最后一行写#
作者: taeckle    时间: 2019-12-28 22:08
soulsaga 发表于 2019-12-28 21:24
加一个true
最后一行写true
加注译

下面加一个true那是这么写么:
def [](key)
    return @data[key] == true ? true : false
   true
  end

作者: soulsaga    时间: 2019-12-28 22:14
taeckle 发表于 2019-12-28 22:08
下面加一个true那是这么写么:
def [](key)
    return @data[key] == true ? true : false

你在想什么呢..是事件脚本下面加啦..这个不用理..




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