Run it
Copy the script and paste it into your executor.
Players = :()
LP = Players.LocalPlayer
RunService = :()
UserInputService = :()
Camera = .CurrentCamera
oldUI = LP.PlayerGui:()
oldUI oldUI:()
UI = .(, LP.PlayerGui)
UI.Name =
UI.ResetOnSpawn =
UI.DisplayOrder =
CaptureZone = .(, UI)
CaptureZone.Size = .(, , , )
CaptureZone.Position = .(, -, , -)
CaptureZone.BackgroundTransparency =
CaptureZone.Text =
JoyMain = .(, CaptureZone)
JoyMain.Size = .(, , , )
JoyMain.Position = .(, -, , -)
JoyMain.BackgroundColor3 = .(, , )
JoyMain.BackgroundTransparency =
corner = .(, JoyMain)
corner.CornerRadius = .(, )
Stick = .(, JoyMain)
Stick.Size = .(, , , )
Stick.Position = .(, -, , -)
Stick.BackgroundColor3 = .(, , )
.(, Stick).CornerRadius = .(, )
JumpBtn = .(, UI)
JumpBtn.Size = .(, , , )
JumpBtn.Position = .(, -, , -)
JumpBtn.BackgroundColor3 = .(, , )
JumpBtn.BackgroundTransparency =
JumpBtn.Text =
JumpBtn.TextColor3 = .(, , )
JumpBtn.Font = .Font.GothamBold
.(, JumpBtn).CornerRadius = .(, )
JumpBtn.MouseButton1Click:(()
LP.Character LP.Character:()
LP.Character.Humanoid.Jump =
)
isDragging =
inputPos = .(,)
CaptureZone.InputBegan:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
isDragging =
)
UserInputService.InputEnded:((input)
input.UserInputType == .UserInputType.Touch input.UserInputType == .UserInputType.MouseButton1
isDragging =
Stick:(.(, -, , -), , , , )
)
RunService.RenderStepped:(()
char = LP.Character
hum = char char:()
isDragging hum
mousePos = UserInputService:()
center = JoyMain.AbsolutePosition + (JoyMain.AbsoluteSize / )
diff = .(mousePos.X - center.X, mousePos.Y - center.Y)
dist = .(diff.Magnitude, )
angle = .(diff.Y, diff.X)
Stick.Position = .(, (.(angle) * dist) - , , (.(angle) * dist) - )
moveDir = (Camera.CFrame.RightVector * .(angle)) + (Camera.CFrame.LookVector * -.(angle))
hum:(.(moveDir.X, , moveDir.Z), )
)Joysticks

Universal