Skip to content

Instantly share code, notes, and snippets.

@yuechaann-sudo
Created December 6, 2025 04:16
Show Gist options
  • Select an option

  • Save yuechaann-sudo/32cf4b80a8db14698cf5cae9825d5d07 to your computer and use it in GitHub Desktop.

Select an option

Save yuechaann-sudo/32cf4b80a8db14698cf5cae9825d5d07 to your computer and use it in GitHub Desktop.
local player = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local flying = false
local speed = 2
local bodyGyro
local bodyVel
local function createGUI()
-- Hapus GUI lama kalau ada
if player.PlayerGui:FindFirstChild("ModernMenu") then
player.PlayerGui.ModernMenu:Destroy()
end
-- GUI
local gui = Instance.new("ScreenGui", player.PlayerGui)
gui.Name = "ModernMenu"
-- MAIN FRAME
local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 280, 0, 260)
frame.Position = UDim2.new(0.5, -140, 0.4, -130)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BackgroundTransparency = 0.15
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
local corner = Instance.new("UICorner", frame)
corner.CornerRadius = UDim.new(0, 12)
-- HEADER
local header = Instance.new("Frame", frame)
header.Size = UDim2.new(1, 0, 0, 30)
header.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
header.BorderSizePixel = 0
local headerCorner = Instance.new("UICorner", header)
headerCorner.CornerRadius = UDim.new(0, 12)
local title = Instance.new("TextLabel", header)
title.Size = UDim2.new(1, -60, 1, 0)
title.Position = UDim2.new(0, 10, 0, 0)
title.BackgroundTransparency = 1
title.Text = "SC BY-YUECHANN1 V1.2" -- Judul baru
title.Font = Enum.Font.GothamBold
title.TextSize = 16
title.TextColor3 = Color3.new(1, 1, 1)
title.TextXAlignment = Enum.TextXAlignment.Left
-- CLOSE (X)
local close = Instance.new("TextButton", header)
close.Size = UDim2.new(0, 30, 0, 30)
close.Position = UDim2.new(1, -30, 0, 0)
close.Text = "X"
close.Font = Enum.Font.GothamBold
close.TextSize = 16
close.BackgroundTransparency = 1
close.TextColor3 = Color3.fromRGB(255, 80, 80)
close.MouseButton1Click:Connect(function()
gui.Enabled = false
end)
-- MINIMIZE (-)
local mini = Instance.new("TextButton", header)
mini.Size = UDim2.new(0, 30, 0, 30)
mini.Position = UDim2.new(1, -60, 0, 0)
mini.Text = "-"
mini.Font = Enum.Font.GothamBold
mini.TextSize = 22
mini.BackgroundTransparency = 1
mini.TextColor3 = Color3.fromRGB(200, 200, 200)
local minimized = false
mini.MouseButton1Click:Connect(function()
minimized = not minimized
if minimized then
frame.Size = UDim2.new(0, 280, 0, 30)
else
frame.Size = UDim2.new(0, 280, 0, 260)
end
end)
-- REOPEN (Right Shift)
UIS.InputBegan:Connect(function(input, g)
if not g and input.KeyCode == Enum.KeyCode.RightShift then
gui.Enabled = true
end
end)
-- UI CREATOR FUNCTION
local function makeButton(text, posY)
local btn = Instance.new("TextButton", frame)
btn.Size = UDim2.new(0.85, 0, 0, 32)
btn.Position = UDim2.new(0.075, 0, posY, 0)
btn.Text = text
btn.Font = Enum.Font.GothamBlack
btn.TextSize = 15
btn.TextColor3 = Color3.new(1, 1, 1)
btn.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
btn.BorderSizePixel = 0
local c = Instance.new("UICorner", btn)
c.CornerRadius = UDim.new(0, 10)
return btn
end
-- TP SUMMIT BUTTON
local tpSummitBtn = makeButton("TP SUMMIT", 0.18)
local SUMMIT = Vector3.new(-6635, 3152, -798)
tpSummitBtn.MouseButton1Click:Connect(function()
local char = player.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
if root then
root.CFrame = CFrame.new(SUMMIT)
end
end)
-- FLY BUTTON
local flyBtn = makeButton("Fly : OFF", 0.35)
-- SPEED LABEL
local speedLabel = Instance.new("TextLabel", frame)
speedLabel.Size = UDim2.new(0.85, 0, 0, 25)
speedLabel.Position = UDim2.new(0.075, 0, 0.48, 0)
speedLabel.BackgroundTransparency = 1
speedLabel.Font = Enum.Font.GothamSemibold
speedLabel.TextSize = 14
speedLabel.TextColor3 = Color3.fromRGB(0, 255, 0)
speedLabel.Text = "Fly Speed : "..speed
-- SPEED BUTTONS
local plusBtn = makeButton("+ Speed", 0.58)
local minusBtn = makeButton("- Speed", 0.70)
-- FLY FUNCTIONS
local function startFly()
local char = player.Character
local root = char:WaitForChild("HumanoidRootPart")
bodyGyro = Instance.new("BodyGyro", root)
bodyGyro.P = 500000
bodyGyro.MaxTorque = Vector3.new(500000, 500000, 500000)
bodyVel = Instance.new("BodyVelocity", root)
bodyVel.Velocity = Vector3.new(0, 0, 0)
bodyVel.MaxForce = Vector3.new(500000, 500000, 500000)
flying = true
end
local function stopFly()
flying = false
if bodyGyro then bodyGyro:Destroy() end
if bodyVel then bodyVel:Destroy() end
end
flyBtn.MouseButton1Click:Connect(function()
flying = not flying
if flying then
flyBtn.Text = "Fly : ON"
startFly()
else
flyBtn.Text = "Fly : OFF"
stopFly()
end
end)
plusBtn.MouseButton1Click:Connect(function()
speed = speed + 1
speedLabel.Text = "Fly Speed : "..speed
end)
minusBtn.MouseButton1Click:Connect(function()
if speed > 1 then
speed = speed - 1
speedLabel.Text = "Fly Speed : "..speed
end
end)
-- Fly movement
game:GetService("RunService").Heartbeat:Connect(function()
if flying then
local char = player.Character
local root = char:FindFirstChild("HumanoidRootPart")
if root then
if UIS:IsKeyDown(Enum.KeyCode.W) then
bodyVel.Velocity = root.CFrame.LookVector * (speed * 10)
elseif UIS:IsKeyDown(Enum.KeyCode.S) then
bodyVel.Velocity = -root.CFrame.LookVector * (speed * 10)
elseif UIS:IsKeyDown(Enum.KeyCode.A) then
bodyVel.Velocity = -root.CFrame.RightVector * (speed * 10)
elseif UIS:IsKeyDown(Enum.KeyCode.D) then
bodyVel.Velocity = root.CFrame.RightVector * (speed * 10)
else
bodyVel.Velocity = Vector3.new(0, 0, 0)
end
bodyGyro.CFrame = workspace.CurrentCamera.CFrame
end
end
end)
end
-- Panggil GUI pertama kali
createGUI()
-- Supaya GUI tetap ada saat respawn
player.CharacterAdded:Connect(function()
createGUI()
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment