So i need a camera.CFrame.LookVector to fire a function when changed.
Here's the code after adding what the second answer suggested:
wait()
local players = game:GetService("Players")
local player = players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local ev = workspace.Events.FloatFruitEvents.FloatingE
local ev2 = workspace.Events.FloatFruitEvents.FloatingoffE
local ev3 = workspace.Events.FloatFruitEvents.FloatingEv
local mouse = player:GetMouse()
local character = player.Character
UserInputService.InputBegan:Connect(function(key,gameProcessed)
if(gameProcessed) then return end
if key.KeyCode == Enum.KeyCode.F then
local camera = workspace.CurrentCamera
local camcf = camera.CFrame
ev:FireServer(camcf)
camera:GetPropertyChangedSignal("Orientation"):Connect(function()
print("look vector changed")
ev3:FireServer(camcf)
end)
end
end)
UserInputService.InputEnded:Connect(function(key,gameProcessed)
if(gameProcessed) then return end
if key.KeyCode == Enum.KeyCode.F then
ev2:FireServer()
end
end)
It's a local script.

2 comments
did you try anything? if so can you post it
I have tried camera.CFrame.LookVector.Changed which doesn't work, then i tried camera.CFrame.LookVector.Value.Changed which i read from the developer wiki which doesn't work either.