This is supposed to change the camera for all players, but it doesn't work? help? It's not a localscript!
function CameraChange()
local Camera = game.Workspace.CurrentCamera
local Players = game.Players:GetChildren()
Camera.CameraType = Enum.CameraType.Scriptable
Camera.CFrame = game.Workspace.Cameras.MenuCam.CFrame
end

3 comments
For one thing,
workspace.CurrentCamerais inaccessible to non-local scripts. Hence, any code that manipulates a client's camera must be done in a local script.@MightyBaconOverload Soooo, How would I go along fixing this.
The best way to go about this is by using a RemoteEvent. A server script would fire the event whenever it wants to change the player cameras. Each client would listen to this event and run the camera manipulating code whenever the event is fired by the server.