Как мне сценарий моего ROBLOX ClickDetector разрешить ввод только одним кликом, поэтому сценарий воспроизводится только один раз и не может быть спам? - PullRequest
0 голосов
/ 12 июня 2018

Пожалуйста, помогите мне отредактировать мой скрипт, чтобы он был таким, чтобы при щелчке блока / детали он выполнял скрипт только один раз?Я не хочу иметь возможность нажимать блок / часть несколько раз, и сценарий воспроизводится за клик.Он должен двигаться только так, как указано ОДНАЖДЫ, когда кликается блок / деталь.

Мой сценарий:

enter image description here

1 Ответ

0 голосов
/ 13 июня 2018

Простой способ справиться с этим - установить логическое значение от false до true, когда он был нажат один раз, и проверить в верхней части функции, является ли логическое значение true или false, прежде чем продолжить.

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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...