Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Im making an E key-bind, How do I change the script so that the player has to Hold down E?

Asked by 5 years ago
local UIS = game:GetService("UserInputService") -- Service used to get the key pressed by a player
 local Part = game.Workspace.Part
UIS.InputBegan:connect(function(input,gameProcessed)
    if input.UserInputType == Enum.UserInputType.Keyboard then -- Checks if the player uses a Keyboard
        if input.KeyCode == Enum.KeyCode.E then script.Parent.Sound:Play() wait(5) script.Parent.Sound:Stop() -- Checks if the player pressed the "E" key
            if UIS:GetFocusedTextBox() == nil then -- Checks if the player is typing on a textbox like the chat... If not then...
                for i,v in pairs(game.Workspace.NPCs:GetChildren()) do -- Finds all the children from the folder. In this case it will find all the NPCs
                    local mag = (v.Torso.Position-game.Players.LocalPlayer.Character.HumanoidRootPart.Position).magnitude -- Makes a variable for the position between the character and the npc.
                    if mag <= 10 then -- If the magnitude is less than or equal to 10 studs then
                        print() --start of effect
                            game.Workspace.ColorKey.BrickColor = BrickColor.new("Lime green")
                         for j = 6,-7,-.5 do
                            Part.Position = Vector3.new(-4, j, 0)
                            wait(.01)
                          end

                            wait(2)

                            for t = -7, 6, .5 do
                                Part.Position = Vector3.new(-4, t, 0)
                                wait(.01)
                            end
                            game.Workspace.ColorKey.BrickColor = BrickColor.new("Really red")
                            -- end of effect

                        for i = 1,0.6,-0.05 do
                            wait()
                            script.Parent.ImageColor3 = Color3.new(i,i,i)
                        end
                        wait()
                        for i = 0.6,1,0.05 do
                            wait()
                            script.Parent.ImageColor3 = Color3.new(i,i,i)
                        end
                        --This effect is like when you pressed a button it will darken.
                        v.NPCTalk:FireServer()
                    end
                end
            end
        end
    end
end)

while wait() do
    script.Parent.Visible = false -- Makes it invisible on screen
    for i,v in pairs(game.Workspace.NPCs:GetChildren()) do -- Finds all the children from the folder. In this case it will find all the NPCs
        local mag = (v.Torso.Position-game.Players.LocalPlayer.Character.HumanoidRootPart.Position).magnitude -- Makes a variable for the position between the character and the npc.
        if mag <= 10 then -- If the magnitude is less than or equal to 10 studs then
            local WSP = game.Workspace.CurrentCamera:WorldToScreenPoint(v.Torso.Position) -- The position of the NPC's Torso to 2d
            script.Parent.Visible = true
            script.Parent.Position = UDim2.new(0,WSP.X,0,WSP.Y)
            script.Parent.TextLabel.Text = "to chat with "..v.Name -- Refreshes the text and puts the name of the npc
        end
    end
end

0
contextactionservice and userinputstate EXpodo1234ALT 18 — 5y

Answer this question