如何通过按键盘上的键杀死自己的玩家? (罗布洛克斯)

Posted

技术标签:

【中文标题】如何通过按键盘上的键杀死自己的玩家? (罗布洛克斯)【英文标题】:How do I kill my own player by pressing a key on my keyboard? (Roblox) 【发布时间】:2022-01-05 21:11:11 【问题描述】:

正如标题所示,我试图通过按下键盘上的按钮来杀死我自己在 roblox 中的角色。我试过Humanoid.Health = 0player.Character.Head:remove(),但它们不起作用!我目前的解决方案是这样的:

local UserInputService = game:GetService("UserInputService")

local resetStand = IsKeyDown(Enum.KeyCode.Semicolon)

if IsKeyDown(Enum.KeyCode.Semicolon) = true then
    player.Character.Head:remove()
end

【问题讨论】:

【参考方案1】:

IsKeyDown() 是一个函数,它告诉您此时是否按住某个键。这意味着它只会在脚本启动时检查一次。

您要查找的是keyboard event。每当触发输入(键盘、鼠标等)时都会触发。您所要做的就是检查 input 是否是您的密钥:

local UIS = game:GetService("UserInputService")

UIS.InputBegan:Connect(function(input, isTyping)
    if not isTyping then --dont wanna acciedentally trigger when player is typing in chat
        if input.KeyCode == Enum.KeyCode.Semicolon then --check if input was a semicolon
            local char = game.Players.LocalPlayer.Character
            char:BreakJoints() --break joints (oof)
        end
    end
end)

确保脚本是本地脚本。当我将它插入 StarterPlayerScripts 时,它对我有用,但还有许多其他地方也可以。

【讨论】:

以上是关于如何通过按键盘上的键杀死自己的玩家? (罗布洛克斯)的主要内容,如果未能解决你的问题,请参考以下文章

如何使工作区中的点击检测器在 StarterGui 中启用脚本? (罗布洛克斯工作室)

For循环不起作用?罗布洛克斯工作室

SendInput() 不等于在 C++ 中手动按下键盘上的键?

如何获取自己键盘上按键的键值(KeyCode)

js获取键盘编码

事件类型--键盘与文本事件