Hi there, this may seem like a simple topic but the scripting isn’t as I can’t wrap my head around the variables, etc. I’m trying to change the function so that it is connected by default. I’ve tried changing the if not connected then
to if connected then
however it doesn’t change it. Basically, my script is a FOV visualizer script that connects when a gui button is clicked. When it is clicked again while being connected, it disconnects and vice versa.
Script below:
local RunService = game:GetService("RunService")
local Button = script.Parent
local musicplayer = workspace.Sound
local CurrentCamera = workspace.CurrentCamera
local ScreenShakeSettings = {
CameraMinFOV = 70,
CameraMaxFOV = 80,
CameraMaxVolume = 1500
}
local connected = false
local function changeCameraShakeState()
if not connected then
game:GetService("RunService"):BindToRenderStep("CurrentTrack", 1, function()
local CurrentLoudness = musicplayer.PlaybackLoudness
local FOV = ScreenShakeSettings.CameraMinFOV + (ScreenShakeSettings.CameraMaxFOV - ScreenShakeSettings.CameraMinFOV) * (CurrentLoudness / ScreenShakeSettings.CameraMaxVolume)
if FOV > 0 and FOV < 130 then
CurrentCamera.FieldOfView = FOV
end
end)
else
RunService:UnbindFromRenderStep("CurrentTrack")
end
connected = not connected
end
Button.MouseButton1Click:Connect(changeCameraShakeState)