Now this may be a little tricky to explain. I've been creating a camera controlling script to my trusted friends with admin powers that shows them a camera gui and they can monitor the place to check if everything is right.
So far, the script works in studio mode (solo), with the camera change and everything, but on online mode, only the effects and the gui show up. I've already tried to WaitForChild the LocalPlayer property of my localscript. Curiously, my annimation-cancelling script also fails.
Here is the most important part of my script:
repeat wait() until game.Players.LocalPlayer function wfc(child, parent) return parent:WaitForChild(child) end function ffc(child, parent) return parent:FindFirstChild(child) end *snip snap* local plr = game.Players.LocalPlayer local currentCamera = nil local lastCamera = ffc("Corridor1", cameraToggles) local db = false local monitorOn = false function changeCamera(node) if monitorOn then if ffc(node.Name, cameraStore) then local cam = ffc(node.Name, cameraStore) videoloss:TweenPosition(UDim2.new(0,0,1,0), 0, 0, .2, false, delay(.2, function() videoloss.Position = UDim2.new(0,0,-1,0) end)) lastCamera = node curCam.CameraType = "Scriptable" curCam.CoordinateFrame = cam.CoordinateFrame curCam.Focus = cam.Focus curCam.FieldOfView = cam.FieldOfView currentCamera = node.Name end end end function resetCamera() if currentCamera ~= nil then curCam.CameraType = "Custom" curCam.FieldOfView = 70 curCam.CameraSubject = ffc("Humanoid", plr.Character) currentCamera = nil end end function monitorCamera() if monitorOn == false and db == false then db = true monitorOn = true monitor.Visible = true changeCamera(lastCamera) videoloss:TweenPosition(UDim2.new(0,0,1,0), 0, 0, .2, false, delay(.2, function() videoloss.Position = UDim2.new(0,0,-1,0) end)) print('on') wait(.3) db = false elseif monitorOn == true and db == false then db = true resetCamera() monitorOn = false monitor.Visible = false currentCamera = nil print('off') wait(.3) db = false end end function hookCameras() for _, c in pairs(cameraToggles:GetChildren()) do if c:IsA("TextButton") then c.MouseButton1Click:connect( function() changeCamera(c) end ) end end end function init() hookCameras() end wait(2) cameraBut.MouseEnter:connect(monitorCamera) init()
All of the variables are accordingly declared and no errors pop up in the output or Log window.