Run it
Copy the script and paste it into your executor.
LMG2L = {};
LMG2L[] = .(, :().LocalPlayer:());
LMG2L[][] = .ZIndexBehavior.Sibling;
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , , );
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , , );
LMG2L[][] = .(, , , -);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .(, );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, -, , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .ApplyStrokeMode.Border;
LMG2L[][] = ;
LMG2L[] = .(, LMG2L[]);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .ApplyStrokeMode.Border;
LMG2L[][] = ;
LMG2L[] = .(, LMG2L[]);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, -, , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .(, );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .ApplyStrokeMode.Border;
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , -);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = Font.(, .FontWeight.Bold, .FontStyle.Normal);
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .(, );
LMG2L[] = .(, LMG2L[]);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .ApplyStrokeMode.Border;
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .(, );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .ApplyStrokeMode.Border;
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , -);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .(, );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .ApplyStrokeMode.Border;
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, -, , -);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .(, );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .ApplyStrokeMode.Border;
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, -, , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .(, );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .ApplyStrokeMode.Border;
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , , );
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, -, , );
LMG2L[] = .(, LMG2L[]);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , -);
LMG2L[] = .(, LMG2L[]);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, -, , );
LMG2L[] = .(, LMG2L[]);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = ;
LMG2L[][] = .(, , );
LMG2L[][] = .(, , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[][] = ;
LMG2L[][] = .(, , , );
LMG2L[] = .(, LMG2L[]);
LMG2L[] = .(, LMG2L[]);
LMG2L[][] = .ApplyStrokeMode.Border;
LMG2L[] = .(, LMG2L[]);
UserInputService = :()
VirtualInputManager = :()
RunService = :()
Players = :()
LocalPlayer = Players.LocalPlayer
fps =
lastUpdate = ()
RunService.RenderStepped:(()
fps = fps +
() - lastUpdate >=
LMG2L[].Text = .. (fps)
fps =
lastUpdate = ()
)
.(()
.()
ping = LocalPlayer:() *
LMG2L[].Text = .. (.(ping))
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
VirtualInputManager:(, , , )
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
VirtualInputManager:(, , , )
)
camera = .CurrentCamera
player = LocalPlayer
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
connection
connection = RunService.RenderStepped:(()
LMG2L[] LMG2L[].Parent
connection:()
currentCFrame = camera.CFrame
camera.CFrame = currentCFrame * .(, .(), )
)
LMG2L[].InputEnded:(()
connection:()
)
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
connection
connection = RunService.RenderStepped:(()
LMG2L[] LMG2L[].Parent
connection:()
currentCFrame = camera.CFrame
camera.CFrame = currentCFrame * .(, .(-), )
)
LMG2L[].InputEnded:(()
connection:()
)
)
(keyCode, isPressed)
VirtualInputManager:(isPressed, keyCode, , )
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
(.KeyCode.W, )
)
LMG2L[].InputEnded:((input)
(.KeyCode.W, )
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
(.KeyCode.A, )
)
LMG2L[].InputEnded:((input)
(.KeyCode.A, )
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
(.KeyCode.S, )
)
LMG2L[].InputEnded:((input)
(.KeyCode.S, )
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
(.KeyCode.D, )
)
LMG2L[].InputEnded:((input)
(.KeyCode.D, )
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
LMG2L[]:()
)
keysVisible =
keyButtons = {LMG2L[], LMG2L[], LMG2L[], LMG2L[]}
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
keysVisible = keysVisible
_, btn (keyButtons)
btn btn.Parent
btn.Visible = keysVisible
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
(.KeyCode.Q, )
)
LMG2L[].InputEnded:((input)
(.KeyCode.Q, )
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
(.KeyCode.R, )
)
LMG2L[].InputEnded:((input)
(.KeyCode.R, )
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
(.KeyCode.E, )
)
LMG2L[].InputEnded:((input)
(.KeyCode.E, )
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
(.KeyCode.F, )
)
LMG2L[].InputEnded:((input)
(.KeyCode.F, )
)
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
(.KeyCode.Space, )
)
LMG2L[].InputEnded:((input)
(.KeyCode.Space, )
)
shiftLockEnabled =
LMG2L[].InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
shiftLockEnabled = shiftLockEnabled
UserInputService.MouseBehavior = shiftLockEnabled .MouseBehavior.LockCenter .MouseBehavior.Default
UserInputService.MouseIconEnabled = shiftLockEnabled
)
LMG2L[], ;

Universal