Im making an E key-bind, How do I change the script so that the player has to Hold down E?
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