我如何编写我的ROBLOX ClickDetector脚本只允许点击输入一次,所以脚本只播放一次而不能发送垃圾邮件?

时间:2018-06-12 01:36:35

标签: roblox

请帮我编辑我的脚本以便在单击块/部件时它只执行一次脚本?我不希望能够多次单击块/部件,并且每次点击都会播放脚本。只有在单击块/部件时,它才会移动到它所声明的位置。

我的剧本:

enter image description here

1 个答案:

答案 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.