答案 0 :(得分:0)
处理此问题的一种简单方法是在单击一次时将布尔值从false设置为true,并在继续之前检查函数顶部的布尔值是真还是假。
local debounce = false
function foo()
if not debounce then
debounce = true
print("Hi!")
end
end
foo() -- Will print "Hi!"
foo() -- Will not print anything
您可以对脚本应用相同的逻辑。 如果您确定只需要执行一次,则可以在运行后断开OnServerEvent事件。事件连接可以存储为变量,稍后:Disconnect() - ed,类似于以下方式:Connect()。
local myConnection
myConnection = myEvent:Connect(function()
myConnection:Disconnect()
print("Hello!")
end)
myEvent:Fire() -- Prints "Hello!"
myEvent:Fire() -- Does nothing, because it is no longer connected/listening for input.