
KeylessUniversal

-- // TikTok : DYTON_txt - GUI langsung muncul //
-- MODIFIED: Efek gradien putih-gold bergerak pada tombol ADAPTATION & READAPT
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local SoundService = game:GetService("SoundService")
local Player = Players.LocalPlayer
local SOUND_ID = "rbxassetid://127579129356842"
local THUMB_URL = "https://www.roblox.com/asset-thumbnail/image?assetId=117272729321296&width=420&height=420&format=png"
local IMAGE_ID = "rbxassetid://106402256086666"
local SFX_URL = "https://github.com/AlrecTofficial67/ItsAlrecT67/raw/refs/heads/main/VID-20260119-WA0242.mp3"
local AUTO_SFX_ID = "rbxassetid://9120385436"
local ROTATE_DURATION = 0.7
-- ========== ANTI-VOID CONFIG ==========
local voidImmune = true
local groundCheckDistance = 150
-- ========== EFEK AURA / GHOST ==========
local function makeGhost(ch)
if not ch then return end
ch.Archivable = true
local g = ch:Clone()
g.Name = "Soul"
for _, v in pairs(g:GetDescendants()) do
if v:IsA("Script") or v:IsA("LocalScript") or v:IsA("Humanoid") then
v:Destroy()
elseif v:IsA("BasePart") then
v.Anchored = true
v.CanCollide = false
v.Material = Enum.Material.Neon
v.Color = Color3.fromRGB(255, 200, 50)
v.Transparency = 0.5
TweenService:Create(v, TweenInfo.new(0.4), {Transparency = 1}):Play()
elseif v:IsA("Decal") or v:IsA("Texture") then
v:Destroy()
end
end
g.Parent = workspace
game:GetService("Debris"):AddItem(g, 0.4)
end
-- ========== WHEEL ROTATION EFFECT ==========
local function PlayWheelEffect()
local guiEffect = Instance.new("ScreenGui")
guiEffect.Name = "WheelEffectUI"
guiEffect.IgnoreGuiInset = true
guiEffect.Parent = game.CoreGui or Player.PlayerGui
local img = Instance.new("ImageLabel")
img.Parent = guiEffect
img.Size = UDim2.fromOffset(200, 200)
img.Position = UDim2.fromScale(0.5, 0.5)
img.AnchorPoint = Vector2.new(0.5, 0.5)
img.BackgroundTransparency = 1
img.Image = IMAGE_ID
img.ImageTransparency = 1
img.Rotation = 0
img.ImageTransparency = 0
local rotateTween = TweenService:Create(img, TweenInfo.new(ROTATE_DURATION, Enum.EasingStyle.Linear), {Rotation = 360})
local fadeImg = TweenService:Create(img, TweenInfo.new(0.5, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, 0, false, ROTATE_DURATION), {ImageTransparency = 1})
rotateTween:Play()
fadeImg:Play()
task.spawn(function()
task.wait(ROTATE_DURATION + 0.5)
guiEffect:Destroy()
end)
end
local getAsset = nil
if getcustomasset then getAsset = getcustomasset
elseif getsynasset then getAsset = getsynasset
elseif getasset then getAsset = getasset
end
local fileName = SFX_URL:match("([^/]+)$")
if getAsset then
if not pcall(function() readfile(fileName) end) then
local ok, data = pcall(function() return game:HttpGet(SFX_URL) end)
if ok and data then writefile(fileName, data) end
end
end
-- ========== FLASHBACK SYSTEM ==========
local flashbacklength = 60
local flashbackspeed = 1
local frames = {}
local flashbackActive = false
local autoAdaptEnabled = false
local function GetActiveAnimations(hum)
local activeAnims = {}
local animator = hum:FindFirstChildOfClass("Animator")
if animator then
for _, track in pairs(animator:GetPlayingAnimationTracks()) do
table.insert(activeAnims, {Track = track, Time = track.TimePosition, AnimId = track.Animation.AnimationId})
end
end
return activeAnims
end
local function recordFrame(char, hrp, hum)
if #frames > flashbacklength * 60 then table.remove(frames, 1) end
table.insert(frames, {
hrp.CFrame,
hrp.AssemblyLinearVelocity,
hrp.AssemblyAngularVelocity,
hum:GetState(),
hum.PlatformStand,
GetActiveAnimations(hum)
})
end
local function revertFrame(char, hrp, hum)
if #frames <= 1 then
flashbackActive = false
return
end
for i = 1, flashbackspeed do
if #frames > 1 then table.remove(frames, #frames) end
end
local lastframe = frames[#frames]
table.remove(frames, #frames)
if lastframe and hrp then
hrp.CFrame = lastframe[1]
hrp.AssemblyLinearVelocity = Vector3.new(0,0,0)
hrp.AssemblyAngularVelocity = Vector3.new(0,0,0)
hum:ChangeState(lastframe[4] == Enum.HumanoidStateType.Dead and Enum.HumanoidStateType.Running or lastframe[4])
hum.PlatformStand = true
local animData = lastframe[6]
if animData then
for _, data in pairs(animData) do
if data.Track and data.Track.IsPlaying then
data.Track.TimePosition = data.Time
data.Track:AdjustSpeed(0)
end
end
end
end
end
-- ========== ANTI-VOID FUNCTIONS ==========
local function findNearestGround(pos)
local rayParams = RaycastParams.new()
rayParams.FilterType = Enum.RaycastFilterType.Blacklist
rayParams.FilterDescendantsInstances = {Player.Character}
local rayResult = workspace:Raycast(pos, Vector3.new(0, -groundCheckDistance, 0), rayParams)
if rayResult then
return rayResult.Position + Vector3.new(0, 3, 0)
end
local nearest = nil
local minDist = groundCheckDistance
for _, part in ipairs(workspace:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide and part.Parent ~= Player.Character then
local dist = (pos - part.Position).Magnitude
if dist < minDist and part.Position.Y > -100 then
minDist = dist
nearest = part.Position + Vector3.new(0, 3, 0)
end
end
end
return nearest or CFrame.new(pos.X, 100, pos.Z).Position
end
-- ========== SOUND ==========
local function PlayAdaptSound()
local sound = Instance.new("Sound")
if getAsset and pcall(function() return getAsset(fileName) end) then
sound.SoundId = getAsset(fileName)
else
sound.SoundId = SOUND_ID
end
sound.Volume = 1
sound.Parent = SoundService
sound:Play()
task.spawn(function()
sound.Ended:Wait()
sound:Destroy()
end)
end
local function PlayAutoAdaptSound()
local sound = Instance.new("Sound")
sound.SoundId = AUTO_SFX_ID
sound.Volume = 0.6
sound.Parent = SoundService
sound:Play()
task.spawn(function()
sound.Ended:Wait()
sound:Destroy()
end)
end
-- ========== CHECK FLING AUTO ==========
local function checkFlingAuto()
if not autoAdaptEnabled then return false end
local char = Player.Character
if not char then return false end
local hrp = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChildWhichIsA("Humanoid")
if not hrp or not hum or hum.Health <= 0 then return false end
local velocity = hrp.AssemblyLinearVelocity
if velocity.Magnitude > 120 then
return true
end
return false
end
-- ========== UPDATE STATUS ==========
local adaptStatusText = nil
local btnAdapt = nil
local function updateUI()
if btnAdapt then
if flashbackActive then
btnAdapt.Text = "ADAPTATION"
btnAdapt.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
btnAdapt.TextColor3 = Color3.fromRGB(42, 20, 6)
-- Matikan gradien sementara
local grad = btnAdapt:FindFirstChildOfClass("UIGradient")
if grad then grad.Enabled = true end
else
btnAdapt.Text = "ADAPTATION"
btnAdapt.BackgroundColor3 = Color3.fromRGB(255,255,255)
btnAdapt.TextColor3 = Color3.fromRGB(42, 20, 6)
local grad = btnAdapt:FindFirstChildOfClass("UIGradient")
if grad then grad.Enabled = true end
end
end
if adaptStatusText then
if autoAdaptEnabled then
adaptStatusText.Text = "ADAPT: ON"
adaptStatusText.TextColor3 = Color3.fromRGB(0, 255, 0)
else
adaptStatusText.Text = "ADAPT: OFF"
adaptStatusText.TextColor3 = Color3.fromRGB(200, 20, 20)
end
end
end
local function toggleAutoAdapt()
autoAdaptEnabled = not autoAdaptEnabled
updateUI()
if autoAdaptEnabled then
PlayAutoAdaptSound()
end
end
-- ========== ADAPT FUNCTION ==========
local function adapt()
if flashbackActive or #frames == 0 then return end
flashbackActive = true
PlayAdaptSound()
PlayWheelEffect()
updateUI()
task.spawn(function()
while flashbackActive and Player.Character do
local char = Player.Character
if char then
makeGhost(char)
end
local hrp = Player.Character:FindFirstChild("HumanoidRootPart")
local hum = Player.Character:FindFirstChildWhichIsA("Humanoid")
if hrp and hum then
revertFrame(Player.Character, hrp, hum)
if #frames <= 1 then
flashbackActive = false
updateUI()
break
end
end
RunService.Heartbeat:Wait()
end
end)
end
local function cancelAdapt()
if flashbackActive then
flashbackActive = false
updateUI()
local char = Player.Character
if char then
local hum = char:FindFirstChildWhichIsA("Humanoid")
if hum then
hum.PlatformStand = false
end
end
end
end
-- ========== MAIN LOOP ==========
RunService.Heartbeat:Connect(function()
local char = Player.Character
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChildWhichIsA("Humanoid")
if not hrp or not hum or hum.Health <= 0 then return end
if hrp.Position.Y < -50 then
if voidImmune then
local safePos = findNearestGround(hrp.Position)
hrp.CFrame = CFrame.new(safePos)
hrp.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
hrp.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
if hum.Health < hum.MaxHealth then
hum.Health = hum.MaxHealth
end
else
hrp.CFrame = CFrame.new(hrp.Position.X, 50, hrp.Position.Z)
hrp.AssemblyLinearVelocity = Vector3.new(0,0,0)
end
end
if checkFlingAuto() and not flashbackActive then
adapt()
end
if flashbackActive then
revertFrame(char, hrp, hum)
if #frames <= 1 then
flashbackActive = false
updateUI()
end
else
recordFrame(char, hrp, hum)
end
end)
-- ========== GUI ==========
local gui = Instance.new("ScreenGui")
gui.Name = "Adapt"
gui.ResetOnSpawn = false
if gethui then
gui.Parent = gethui()
elseif syn and syn.protect_gui then
gui.Parent = Player.PlayerGui
syn.protect_gui(gui)
else
gui.Parent = Player:WaitForChild("PlayerGui")
end
local container = Instance.new("Frame", gui)
container.Size = UDim2.new(0, 200, 0, 200)
container.Position = UDim2.new(0, 10, 1, -210)
container.BackgroundTransparency = 1
container.Active = true
container.Draggable = true
container.Visible = true
local mainFrame = Instance.new("Frame", container)
mainFrame.Size = UDim2.new(0, 205, 0, 55)
mainFrame.Position = UDim2.new(0, 0, 0, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(0,0,0)
mainFrame.BackgroundTransparency = 0
mainFrame.BorderSizePixel = 0
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 10)
local buttonBar = Instance.new("Frame", mainFrame)
buttonBar.Size = UDim2.new(1, 0, 1, 0)
buttonBar.Position = UDim2.new(0, 0, 0, 0)
buttonBar.BackgroundTransparency = 1
-- ========== GOLDEN BUTTON DENGAN GRADIEN PUTIH-GOLD BERGERAK ==========
local function goldenBtn(parent, text, x, w)
local btn = Instance.new("TextButton", parent)
btn.Size = UDim2.new(0, w or 120, 0, 41)
btn.Position = UDim2.new(0, x, 0.5, -20)
btn.Text = text
btn.TextColor3 = Color3.fromRGB(42, 20, 6)
btn.BackgroundColor3 = Color3.fromRGB(255, 255,255)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 11
btn.BorderSizePixel = 0
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
-- GRADIEN PUTIH-GOLD BERGERAK (kiri-kanan / horizontal)
local grad = Instance.new("UIGradient", btn)
grad.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(150, 120, 0)), -- Gold
ColorSequenceKeypoint.new(0.3, Color3.fromRGB(255, 255, 255)), -- Putih
ColorSequenceKeypoint.new(0.6, Color3.fromRGB(150, 120, 0)), -- Gold gelap
ColorSequenceKeypoint.new(1, Color3.fromRGB(150, 120, 0)) -- Gold
})
grad.Rotation = 35 -- biar gradien diagonal
-- ANIMASI GRADIEN BERGERAK TERUS MENERUS (kiri ke kanan, balik)
task.spawn(function()
local forward = true
local offset = 0
while btn and btn.Parent do
if forward then
offset = offset + 0.02
if offset >= 1 then
forward = talse
end
else
offset = offset - 0.02
if offset <= 0 then
forward = true
end
end
grad.Offset = Vector2.new(offset, 0)
task.wait(0.02)
end
end)
return btn
end
btnAdapt = goldenBtn(buttonBar, "ADAPTATION", 6, 95)
local btnRead = goldenBtn(buttonBar, "READAPT", 105, 94)
local thumbImage = Instance.new("ImageLabel", container)
thumbImage.Size = UDim2.new(0, 89, 0, 90)
thumbImage.Position = UDim2.new(0.5, -40, 0, 61)
thumbImage.BackgroundTransparency = 1
thumbImage.BorderSizePixel = 0
thumbImage.Image = THUMB_URL
thumbImage.ZIndex = 6
Instance.new("UICorner", thumbImage).CornerRadius = UDim.new(1, 0)
adaptStatusText = Instance.new("TextLabel", container)
adaptStatusText.Size = UDim2.new(1, 0, 0, 20)
adaptStatusText.Position = UDim2.new(0, 0, 1, -39)
adaptStatusText.BackgroundTransparency = 1
adaptStatusText.Text = "ADAPT: ON"
adaptStatusText.TextColor3 = Color3.fromRGB(0, 255, 0)
adaptStatusText.Font = Enum.Font.Code
adaptStatusText.TextSize = 10
adaptStatusText.TextXAlignment = Enum.TextXAlignment.Center
local invisibleToggle = Instance.new("TextButton", container)
invisibleToggle.Size = adaptStatusText.Size
invisibleToggle.Position = adaptStatusText.Position
invisibleToggle.BackgroundTransparency = 1
invisibleToggle.Text = ""
invisibleToggle.MouseButton1Click:Connect(function()
toggleAutoAdapt()
end)
btnAdapt.MouseButton1Click:Connect(function()
if flashbackActive then
cancelAdapt()
else
adapt()
end
end)
btnRead.MouseButton1Click:Connect(cancelAdapt)
updateUI()
Player.CharacterAdded:Connect(function()
frames = {}
if flashbackActive then
flashbackActive = false
updateUI()
end
end)
print("ADAPTATION SCRIPT LOADED - ANTI-VOID IMMUNE ACTIVE")
print("Efek gradien PUTIH-GOLD BERGERAK pada tombol ADAPTATION & READAPT")
print("Klik teks 'ADAPT : ON/OFF' untuk toggle auto adapt")No comments yet for this script.



