我想编写代码,以便当我在Roblox中打开聊天并按下包含字母“r”的单词时,不会被重置

能有人帮我吗?我已经有了重置的代码,但当我打开聊天并说“rrrrrrr”时,我会不断死亡。

这是代码:

    local player = game:GetService("Players").LocalPlayer

   local character = player.Character
   local enabled = true
   local userinputservice = game:GetService("UserInputService")
   userinputservice.InputBegan:connect(function(input)
        if input.KeyCode == Enum.KeyCode.R and enabled then
            character.Head:Remove()
            enabled = false
            wait(6)
            enabled = true
        end
    end)
点赞
用户10012735
用户10012735

UserInputService#inputBegan 函数的第二个参数是 gameProcessedEvent

它表示游戏引擎是否在内部观察此输入并对其进行操作。一般来说,这指的是 UI 处理,因此如果从此输入触摸或点击按钮,则 gameProcessedEvent 将为 true。这适用于 TextBox,例如聊天框。

您只需要检查 gameProcessedEvent 是否为 true。


local UserInputService = game:GetService("UserInputService");
local PlayersService = game:GetService("Players");

UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
    if gameProcessedEvent then return false end
    if (input.KeyCode == Enum.KeyCode.R) then
        PlayersService.LocalPlayer.Character.Head:Destroy()
    end
end)
2020-10-20 04:33:01