加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 兔毛鹿 于 2013-1-9 13:28 编辑
以下脚本的功能是延时关闭开关,当1~20号其中一个开关打开后,过5秒时间自动关闭,问题是当打开某开关还未关闭时就存盘退出,然后再读取这个开关就一直处于打开状态了,能否在存档读取后判断:如果有1~20编号内的开关打开,就重头计时,5秒后关闭?
class Game_Switches #-------------------------------------------------------------------------- # ● 设置开关 # switch_id : 开关 ID # value : ON (true) / OFF (false) #-------------------------------------------------------------------------- def []=(switch_id, value) if switch_id <= 5000 @data[switch_id] = value end if value for i in 1..20 if switch_id == i switch_off_after(i, 5) end end end end def switch_off_after(switch_id, sec) Thread.new { cnt = 0 while cnt < sec sleep 1 cnt += 1 end self[switch_id] = false } end end
class Game_Switches
#--------------------------------------------------------------------------
# ● 设置开关
# switch_id : 开关 ID
# value : ON (true) / OFF (false)
#--------------------------------------------------------------------------
def []=(switch_id, value)
if switch_id <= 5000
@data[switch_id] = value
end
if value
for i in 1..20
if switch_id == i
switch_off_after(i, 5)
end
end
end
end
def switch_off_after(switch_id, sec)
Thread.new {
cnt = 0
while cnt < sec
sleep 1
cnt += 1
end
self[switch_id] = false
}
end
end
|