Project1

标题: 关于延时自动关闭开关脚本的问题 [打印本页]

作者: 兔毛鹿    时间: 2013-1-4 12:18
标题: 关于延时自动关闭开关脚本的问题
本帖最后由 兔毛鹿 于 2013-1-9 13:28 编辑

以下脚本的功能是延时关闭开关,当1~20号其中一个开关打开后,过5秒时间自动关闭,问题是当打开某开关还未关闭时就存盘退出,然后再读取这个开关就一直处于打开状态了,能否在存档读取后判断:如果有1~20编号内的开关打开,就重头计时,5秒后关闭?


RUBY 代码复制
  1. class Game_Switches
  2.   #--------------------------------------------------------------------------
  3.   # ● 设置开关
  4.   #     switch_id : 开关 ID
  5.   #     value     : ON (true) / OFF (false)
  6.   #--------------------------------------------------------------------------
  7.   def []=(switch_id, value)
  8.     if switch_id <= 5000
  9.       @data[switch_id] = value
  10.     end
  11.     if value
  12.       for i in 1..20
  13.         if switch_id == i
  14.           switch_off_after(i, 5)
  15.         end
  16.       end
  17.     end
  18.   end
  19.   def switch_off_after(switch_id, sec)
  20.     Thread.new {
  21.       cnt = 0
  22.       while cnt < sec
  23.         sleep 1
  24.         cnt += 1
  25.       end
  26.       self[switch_id] = false
  27.     }
  28.   end
  29. end

作者: 兔毛鹿    时间: 2013-1-8 13:39
怎么不能翻页了
作者: zhangbanxian    时间: 2013-1-8 14:23
  1. class Scene_Load
  2.   alias fucker_read_save_data read_save_data
  3.   def read_save_data(file)
  4.     fucker_read_save_data(file)
  5.     for i in 1..20        
  6.       if $game_switches[i]        
  7.         $game_switches.switch_off_after(i, 5)        
  8.       end      
  9.     end
  10.   end
  11. end
复制代码





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