Roblox GUI всплывает и закрывается нажатием клавиши «E» - PullRequest
0 голосов
/ 24 апреля 2020

Я новый разработчик roblox и подумал, что было бы неплохо начать учиться создавать игры. Я работал над своей игрой сегодня и столкнулся с проблемой. Я хотел нажать «E» в то время как NP C, и я получил это на работу. Единственная проблема была в том, что я понятия не имею, как заставить GUI появляться и исчезать, когда я нажимаю E. Это то, что я написал,

local HumanoidRootPart = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")
local UIS = game:GetService("UserInputService")
local Npc = game.Workspace.Noob.Head

UIS.InputBegan:connect(function(keyCode)
    if keyCode.keyCode == Enum.KeyCode.E then
        if (Npc.Position - HumanoidRootPart.Position).magnitude < 15 then
            game.StarterGui.TextF.TextLabel.Visible = 0
            wait(3)
            game.StarterGui.TextF.TextLabel.Visible = 1
        end
    end
end)

выходит без ошибок. Код для нажатия E по-прежнему работает, но GUI не появляется. Я попытался установить значения True или False

1 Ответ

0 голосов
/ 24 апреля 2020

Я понял это. если кто-то смотрит на этот вопрос и задается вопросом, этот сценарий почти в порядке. Единственная проблема в том, что вы не можете изменить GUI со стартера GUI, вам нужно вызвать его из LocalPlayer Gui Вот так:

local HumanoidRootPart = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")
local UIS = game:GetService("UserInputService")
local Npc = game.Workspace.Noob.Head

UIS.InputBegan:connect(function(keyCode)
    if keyCode.keyCode == Enum.KeyCode.E then
        if (Npc.Position - HumanoidRootPart.Position).magnitude < 15 then
            print("Key E was pressed")
            game.Players.LocalPlayer.PlayerGui.TextF.TextLabel.Visible = true
            wait(3)
            game.Players.LocalPlayer.PlayerGui.TextF.TextLabel.Visible = false
        end
    end
end)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...