I have a spotlight model set up to move using the WASD keys at the moment.
Here it is in use:
I instead want to change it so that, when I press a certain key, it starts to follow the cursor (with a smooth and delayed movement), and if I press another key I set, it should stop it from following the cursor.
Here is one script for the W key, moving the spotlight forward:
local userInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local SpotlightHead = game.Workspace.Spotlight1.Arm.Head
local UpdateCon
userInputService.InputBegan:Connect(function(input, gameProcessedEvent)
if input.UserInputType ~= Enum.UserInputType.Keyboard then return end
if input.KeyCode ~= Enum.KeyCode.W then return end
if UpdateCon then
UpdateCon:Disconnect()
UpdateCon = nil
end
UpdateCon = RunService.Heartbeat:Connect(function(dt)
local newCFrame = SpotlightHead.PrimaryPart.CFrame * CFrame.Angles(-0.05, 0, 0)
SpotlightHead:SetPrimaryPartCFrame(newCFrame)
end)
end)
userInputService.InputEnded:Connect(function(input, gameProcessedEvent)
if input.UserInputType ~= Enum.UserInputType.Keyboard then return end
if input.KeyCode ~= Enum.KeyCode.W then return end
if not UpdateCon then return end
UpdateCon:Disconnect()
UpdateCon = nil
end)
(This script is a LocalScript, and is located in StarterGui)
Any help is appreciated!