Run it
Copy the script and paste it into your executor.
G2L = {};
G2L[] = .(, :().LocalPlayer:());
G2L[][] = ;
G2L[][] = .ZIndexBehavior.Sibling;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = .(, , , );
G2L[][] = .(, , , );
G2L[][] = .(, , );
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = Font.(, .FontWeight.Regular, .FontStyle.Normal);
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = Font.(, .FontWeight.Regular, .FontStyle.Normal);
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = Font.(, .FontWeight.Regular, .FontStyle.Normal);
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = Font.(, .FontWeight.Regular, .FontStyle.Normal);
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = Font.(, .FontWeight.Regular, .FontStyle.Normal);
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = Font.(, .FontWeight.Regular, .FontStyle.Normal);
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = .(, , , );
G2L[][] = .(, , -, );
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = Font.(, .FontWeight.Regular, .FontStyle.Normal);
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = Font.(, .FontWeight.Regular, .FontStyle.Normal);
G2L[][] = .(, , , );
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
()
= G2L[];
Players = :()
UserInputService = :()
Workspace = :()
player = Players.LocalPlayer
mouse = player:()
gui = .Parent
mainFrame = gui:()
viewButton = mainFrame:()
cameras = {}
currentCameraIndex =
viewingMode =
guiVisible =
()
guiVisible = guiVisible
mainFrame.Visible = guiVisible
UserInputService.InputBegan:((input, isProcessed)
isProcessed input.KeyCode == .KeyCode.LeftControl
()
)
mainFrame:().MouseButton1Click:(()
tool = .()
tool.Name =
tool.RequiresHandle =
tool.Parent = player.Backpack
tool.Activated:(()
camera = .()
camera.Anchored =
camera.Size = .(, , )
camera.Position = mouse.Hit.p
camera.Name =
camera.Parent = Workspace
decal = .()
decal.Texture =
decal.Face = .NormalId.Front
decal.Parent = camera
.(cameras, camera)
)
)
mainFrame:().MouseButton1Click:(()
tool = .()
tool.Name =
tool.RequiresHandle =
tool.Parent = player.Backpack
isDragging =
selectedCamera =
tool.Activated:(()
mouse.Target mouse.Target.Name ==
selectedCamera = mouse.Target
isDragging =
isDragging =
selectedCamera =
)
UserInputService.InputChanged:((input)
isDragging selectedCamera input.UserInputType == .UserInputType.MouseMovement
rotationAmount = .(, .(input.Delta.X), )
selectedCamera.CFrame = selectedCamera.CFrame * rotationAmount
)
tool.Unequipped:(()
isDragging =
selectedCamera =
)
)
mainFrame:().MouseButton1Click:(()
tool = .()
tool.Name =
tool.RequiresHandle =
tool.Parent = player.Backpack
tool.Activated:(()
mouse.Target mouse.Target.Name ==
.(cameras, .(cameras, mouse.Target))
mouse.Target:()
)
)
mainFrame:().MouseButton1Click:(()
_, cam (cameras)
cam:()
cameras = {}
)
viewButton.MouseButton1Click:(()
viewingMode = viewingMode
viewingMode #cameras >
Workspace.CurrentCamera.CameraType = .CameraType.Scriptable
Workspace.CurrentCamera.CFrame = cameras[currentCameraIndex].CFrame
Workspace.CurrentCamera.CameraType = .CameraType.Custom
)
UserInputService.InputBegan:((input, isProcessed)
isProcessed viewingMode #cameras >
input.KeyCode == .KeyCode.Right
currentCameraIndex = (currentCameraIndex % #cameras) +
Workspace.CurrentCamera.CFrame = cameras[currentCameraIndex].CFrame
input.KeyCode == .KeyCode.Left
currentCameraIndex = (currentCameraIndex - ) % #cameras +
Workspace.CurrentCamera.CFrame = cameras[currentCameraIndex].CFrame
)
;
.(C_c);
G2L[], ;
Universal