-- // 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")