Roblox Studio 如何打开和关闭打印

Roblox Studio How to toggle print on and off

我希望脚本在我按下 P 时打印 "Printed",但前提是该工具已配备。如果该工具未配备,我希望将其关闭。

当我测试我的代码时,但是在我卸下我的工具后打印没有关闭,它仍然打印 "Printed"。我在这里做错了什么?

tool = script.Parent
handle = tool.Handle
a = false

tool.Equipped:Connect(function()
    if a == false then
        a = true
         game:GetService("UserInputService").InputBegan:Connect(function(P)
            if P.KeyCode ==Enum.KeyCode.P then
                print ("Pressed")
            end
        end)
    end

    tool.Unequipped:Connect(function()
        if a == true then
            a = false 
        end
    end)
end)

在 Lua 中,一旦你做了一个 :Connect 语句,该语句将 运行 每次触发器附加到触发器。

这意味着一旦您的代码有 运行 一次并执行 game:GetService("UserInputService").InputBegan:Connect( 调用,无论 a 等于 true 还是 false,它都会 运行。您想要的是在 :Connect 调用中进行检查。

这可能是您要查找的内容:

Tool = script.Parent
Handle = tool.Handle
Run = false

Tool.Equipped:Connect(function()
    Run = true
end)

Tool.Unequipped:Connect(function()
    Run = false
end)

Game:GetService("UserInputService").InputBegan:Connect(function(P)
    if P.KeyCode == Enum.KeyCode.P and Run = true then
        print ("Pressed")
    end
end)

Run = true 检查意味着如果按下 P 并且配备了工具,打印将仅 运行。如果你想让这个 运行 反过来,你可以交换 truefalse 赋值。