Project1

标题: 怎么判断一个开关是否被更改? [打印本页]

作者: b200077    时间: 2020-5-20 17:17
标题: 怎么判断一个开关是否被更改?
就是当开关的值变化的话,继续执行,一般来说好像只能侦测值的大小还有范围,没办法侦测(当值变化)这个指令。
作者: chanszeman1018    时间: 2020-5-20 17:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 芯☆淡茹水    时间: 2020-5-20 18:16
  1. #==============================================================================
  2. class Game_Switches
  3.   #--------------------------------------------------------------------------
  4.   alias :xr_detect_set_value :[]=
  5.   def []=(switch_id, value)
  6.     last_value = @data[switch_id]
  7.     xr_detect_set_value(switch_id, value)
  8.     last_value != @data[switch_id] && on_detected(switch_id)
  9.   end
  10.   #--------------------------------------------------------------------------
  11.   def on_detected(switch_id)
  12.     name = $data_system.switches[switch_id]
  13.     event_id = name.match(/<E:(\d+)>/) ? $1.to_i : 0
  14.     if $data_common_events[event_id]
  15.       $game_temp.reserve_common_event(event_id)
  16.       !SceneManager.scene_is?(Scene_Map) && SceneManager.goto(Scene_Map)
  17.     end
  18.   end
  19. end
  20. #==============================================================================
复制代码


练习了一下VA的脚本。
用法: 在给开关取名时,名字里面标注一个 <E:id>  id 为公共事件ID。
比如给某个开关取名为 : 第一章完结<E:5>
那么这个开关发生变化时会自动运行一次 公共事件5 。
没有标注的开关不运行公共事件
作者: b200077    时间: 2020-5-22 13:53
芯☆淡茹水 发表于 2020-5-20 18:16
练习了一下VA的脚本。
用法: 在给开关取名时,名字里面标注一个   id 为公共事件ID。
比如给某个开关取 ...

谢谢大佬,这个要如何写在条件分歧里?
作者: 我妻寒十    时间: 2020-5-24 19:34
= =啊……能看得懂脚本的都是大佬……
作者: 九夜神尊    时间: 2020-5-26 22:58
这还没有到要用脚本的位置吧。用两个开关就可以实现的呀。
作者: 九夜神尊    时间: 2020-5-26 22:59
这还没有到要用脚本的位置吧。用两个开关就可以实现的呀。




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