Skip to content

Instantly share code, notes, and snippets.

@DuyNgao2306
Created May 1, 2026 20:30
Show Gist options
  • Select an option

  • Save DuyNgao2306/c4142bbf5f56a6a243735e468cb57037 to your computer and use it in GitHub Desktop.

Select an option

Save DuyNgao2306/c4142bbf5f56a6a243735e468cb57037 to your computer and use it in GitHub Desktop.
--================ CORE =================--
local Services = {
Players = game:GetService("Players"),
RunService = game:GetService("RunService"),
Stats = game:GetService("Stats"),
UIS = game:GetService("UserInputService"),
TweenService = game:GetService("TweenService"),
VirtualUser = game:GetService("VirtualUser"),
TeleportService = game:GetService("TeleportService")
}
local player = Services.Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
if not game:IsLoaded() then game.Loaded:Wait() end
--================ LINK SCRIPT MAIN =================--
local MAIN_SCRIPT_URL = "https://pastefy.app/2ANlBSkF/raw"
--================ KEY SYSTEM 24H =================--
local KEY_FILE = "saved_key.txt"
local TIME_FILE = "key_time.txt"
local function getTime()
return os.time()
end
local savedKey
local savedTime
if isfile and isfile(KEY_FILE) then
savedKey = readfile(KEY_FILE)
end
if isfile and isfile(TIME_FILE) then
savedTime = tonumber(readfile(TIME_FILE))
end
local expired = true
if savedKey and savedTime then
if getTime() - savedTime < 24 * 60 * 60 then
expired = false
end
end
--================ LOADING =================--
local loadingGui = Instance.new("ScreenGui", playerGui)
loadingGui.IgnoreGuiInset = true
loadingGui.ResetOnSpawn = false
local loadingFrame = Instance.new("Frame", loadingGui)
loadingFrame.Size = UDim2.new(1,0,1,0)
loadingFrame.BackgroundColor3 = Color3.fromRGB(10,10,15)
local title = Instance.new("TextLabel", loadingFrame)
title.Size = UDim2.new(1,0,0.4,0)
title.Position = UDim2.new(0,0,0.3,0)
title.BackgroundTransparency = 1
title.Text = "SCRIPT LOADING..."
title.Font = Enum.Font.GothamBlack
title.TextScaled = true
title.TextColor3 = Color3.fromRGB(0,255,170)
local author = Instance.new("TextLabel", loadingFrame)
author.Size = UDim2.new(1,0,0.2,0)
author.Position = UDim2.new(0,0,0.7,0)
author.BackgroundTransparency = 1
author.Text = "By: Crow"
author.Font = Enum.Font.GothamBold
author.TextScaled = true
author.TextColor3 = Color3.fromRGB(180,180,180)
for i = 1,3 do
title.Text = "SCRIPT LOADING" .. string.rep(".", i)
task.wait(0.4)
end
task.wait(1)
for i = 1,10 do
loadingFrame.BackgroundTransparency += 0.1
title.TextTransparency += 0.1
author.TextTransparency += 0.1
task.wait(0.05)
end
loadingGui:Destroy()
--================ FPS + PING UI (DRAG PC + MOBILE) =================--
local statsGui = Instance.new("ScreenGui", game.CoreGui)
statsGui.ResetOnSpawn = false
local frame = Instance.new("Frame", statsGui)
frame.Size = UDim2.new(0, 220, 0, 90)
frame.Position = UDim2.new(0, 20, 0.4, 0)
frame.BackgroundColor3 = Color3.fromRGB(20,20,25)
frame.Active = true
-- viền cầu vồng 🌈
local stroke = Instance.new("UIStroke", frame)
stroke.Thickness = 2
task.spawn(function()
while task.wait() do
local t = tick()
stroke.Color = Color3.fromHSV((t % 5) / 5, 1, 1)
end
end)
-- text
local title = Instance.new("TextLabel", frame)
title.Size = UDim2.new(1,0,0.3,0)
title.BackgroundTransparency = 1
title.Text = "STATS"
title.Font = Enum.Font.GothamBlack
title.TextScaled = true
title.TextColor3 = Color3.fromRGB(0,255,200)
local label = Instance.new("TextLabel", frame)
label.Size = UDim2.new(1,0,0.7,0)
label.Position = UDim2.new(0,0,0.3,0)
label.BackgroundTransparency = 1
label.Text = "Loading..."
label.Font = Enum.Font.GothamBold
label.TextScaled = true
label.TextColor3 = Color3.fromRGB(255,255,255)
--================ DRAG PC + MOBILE =================--
local UIS = game:GetService("UserInputService")
local dragging = false
local dragInput
local dragStart
local startPos
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = frame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
frame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UIS.InputChanged:Connect(function(input)
if dragging and input == dragInput then
local delta = input.Position - dragStart
frame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
--================ FPS + PING =================--
local fpsTable = {}
local pingTable = {}
local last = tick()
game:GetService("RunService").RenderStepped:Connect(function(dt)
local fps = math.floor(1/dt)
local ping = 0
pcall(function()
ping = math.floor(game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValue())
end)
table.insert(fpsTable, fps)
table.insert(pingTable, ping)
if #fpsTable > 20 then table.remove(fpsTable,1) end
if #pingTable > 20 then table.remove(pingTable,1) end
if tick() - last > 0.5 then
last = tick()
local f, p = 0, 0
for _,v in ipairs(fpsTable) do f += v end
for _,v in ipairs(pingTable) do p += v end
label.Text =
"⚡ FPS: "..math.floor(f/#fpsTable)..
"\n📡 Ping: "..math.floor(p/#pingTable)..
"\n\nBy: Crow"
end
end)
--================ KEY GUI (nếu hết hạn) =================--
if expired then
local gui = Instance.new("ScreenGui", game.CoreGui)
local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 250, 0, 150)
frame.Position = UDim2.new(0.5, -125, 0.5, -75)
frame.BackgroundColor3 = Color3.fromRGB(30,30,35)
local box = Instance.new("TextBox", frame)
box.Size = UDim2.new(0.9,0,0.3,0)
box.Position = UDim2.new(0.05,0,0.1,0)
box.PlaceholderText = "Nhập key..."
box.Text = ""
box.TextScaled = true
local saveBtn = Instance.new("TextButton", frame)
saveBtn.Size = UDim2.new(0.9,0,0.3,0)
saveBtn.Position = UDim2.new(0.05,0,0.6,0)
saveBtn.Text = "SAVE KEY"
saveBtn.TextScaled = true
saveBtn.BackgroundColor3 = Color3.fromRGB(0,170,120)
saveBtn.MouseButton1Click:Connect(function()
local key = box.Text
if key ~= "" then
if writefile then
writefile(KEY_FILE, key)
writefile(TIME_FILE, tostring(getTime()))
end
savedKey = key
savedTime = getTime()
frame:Destroy()
end
end)
repeat task.wait() until savedKey
end
--================ LOAD SCRIPT MAIN =================--
task.spawn(function()
task.wait(1)
if not expired then
_G.Key = savedKey
end
loadstring(game:HttpGet(MAIN_SCRIPT_URL))()
end)
--================ ANTI AFK =================--
player.Idled:Connect(function()
Services.VirtualUser:CaptureController()
Services.VirtualUser:ClickButton2(Vector2.new())
end)
--================ AUTO REJOIN =================--
if queue_on_teleport then
queue_on_teleport('task.wait(2); loadstring(game:HttpGet("'..MAIN_SCRIPT_URL..'"))()')
end
local rejoining = false
game:GetService("CoreGui").RobloxPromptGui.promptOverlay.ChildAdded:Connect(function(child)
if child.Name == "ErrorPrompt" and not rejoining then
rejoining = true
task.wait(2)
Services.TeleportService:Teleport(game.PlaceId, player)
end
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment