如何防止这个 Lua 脚本一遍又一遍地发送?

我有一个实际按下的物理按钮,可以触发这个 Lua 脚本。 它非常有效,但是,如果我按住按钮不放,则会一遍又一遍地发送该脚本,直到我松开按钮。 我该如何防止这种情况发生?

commandSent = 0
enableDebug()

while true do

-- 如果输入打开且未发送命令,则发送命令
if io.input1 == 1 and commandSent == 0 then
httpRequest("http://xxx.xxx.xx.xx/axis-cgi/virtualinput/activate.cgi?schemaversion=1&port=1",50)
 print("输入打开")
 sleep(50)
httpRequest("http://xxx.xxx.xx.xx/axis-cgi/virtualinput/deactivate.cgi?schemaversion=1&port=1",50)
 commandSent = 1
end

-- 当输入关闭时,将 commandSent 标志重置为 0
if io.input1 == 0 then
 print("输入关闭")
commandSent = 0
end
end
点赞
用户6046014
用户6046014

我已经修复了。将单词“local”添加到脚本中即可 =) 请见下文:

local commandSent = 0
enableDebug()

while true do

--如果输入开启并且尚未发送命令,则发送命令
if io.input1 == 1 and commandSent == 0 then
httpRequest("http://xxx.xxx.xx.xx/axis-cgi/virtualinput/activate.cgi?schemaversion=1&port=1",50)
 print("input turned on")
 sleep(50)
httpRequest("http://xxx.xxx.xx.xx/axis-cgi/virtualinput/deactivate.cgi?schemaversion=1&port=1",50)
 commandSent = 1
end

--当输入关闭时,将commandSent标志重置为0
if io.input1 == 0 then
 print("input turned off")
commandSent = 0
end
end
2016-11-09 18:19:16