зацикливание до отпускания клавиши или до нажатия клавиши

#lua #roblox

Вопрос:

я хочу сделать переключатель задержки для игры, и мне интересно, смогу ли я вместо того, чтобы ждать 7 секунд, как бы я смог сделать так, чтобы эффект сохранялся до тех пор, пока я удерживаю нажатой правую кнопку управления, если это невозможно, возможно, это можно нажать, пока я не нажму ее снова? я сделал это из учебника, так что у меня мало знаний по lua, любая помощь очень признательна

код:

 setting = settings().Network
local Effect = Instance.new("ColorCorrectionEffect")
Effect.Parent = game.Lighting
Effect.Saturation = -1
Effect.Brightness = 0
Effect.Contrast = 0
Effect.Enabled = false
function onKeyPress(inputObject, gameProcessedEvent)
    if inputObject.KeyCode == Enum.KeyCode.RightControl then
        Effect.Enabled = true
        setting.IncomingReplicationLag = 1000
        game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = game.Players.LocalPlayer.Character.Humanoid.WalkSpeed * 3
        wait(7)
        Effect.Enabled = false
        setting.IncomingReplicationLag = 0
    end
end
game:GetService("UserInputService").InputBegan:connect(onKeyPress)
 

Ответ №1:

Вы уже используете входной сигнал, вы можете прослушать входной сигнал, чтобы узнать, когда остановиться.

 function onKeyDown(inputObject, gameProcessedEvent)
    if inputObject.KeyCode == Enum.KeyCode.RightControl then
        Effect.Enabled = true
        -- ... do other things here
    end
end
function onKeyUp(inputObject, gameProccessedEvent)
    if inputObject.KeyCode == Enum.KeyCode.RightControl then
        Effect.Enabled = false
        -- ... do other things here
    end
end

local UIS = game:GetService("UserInputService")
UIS.InputBegan:Connect(onKeyDown)
UIS.InputEnded:Connect(onKeyUp)