local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local SoundService = game:GetService("SoundService") local FormatModule = require(ReplicatedStorage:WaitForChild("FormatModule")) local player = Players.LocalPlayer local Events = ReplicatedStorage:WaitForChild("Events") local RollRequest = Events:WaitForChild("RollRequest") local RollApply = Events:WaitForChild("RollApply") local RollResult = Events:WaitForChild("RollResult") local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "InstantAutoRollUI" ScreenGui.ResetOnSpawn = false ScreenGui.DisplayOrder = 100 ScreenGui.Parent = player:WaitForChild("PlayerGui") local ToggleButton = Instance.new("TextButton") ToggleButton.Size = UDim2.fromOffset(200,50) ToggleButton.Position = UDim2.fromScale(0.5,0.9) ToggleButton.AnchorPoint = Vector2.new(0.5,0.5) ToggleButton.BackgroundColor3 = Color3.fromRGB(200,200,200) ToggleButton.Text = "Auto Roll: OFF" ToggleButton.TextScaled = true ToggleButton.Font = Enum.Font.GothamBold ToggleButton.Parent = ScreenGui ToggleButton.Active = true ToggleButton.Draggable = true local ResultLabel = Instance.new("TextLabel") ResultLabel.Size = UDim2.fromOffset(400,80) ResultLabel.Position = UDim2.fromScale(0.5,0.4) ResultLabel.AnchorPoint = Vector2.new(0.5,0.5) ResultLabel.BackgroundTransparency = 1 ResultLabel.TextColor3 = Color3.new(1,1,1) ResultLabel.TextScaled = true ResultLabel.Font = Enum.Font.SourceSansBold ResultLabel.Text = "" ResultLabel.Parent = ScreenGui local AutoRolling = false local FastRoll = true local function SetButtonColor(state) ToggleButton.BackgroundColor3 = state and Color3.fromRGB(0,255,0) or Color3.fromRGB(200,200,200) ToggleButton.Text = "Auto Roll: " .. (state and "ON" or "OFF") end ToggleButton.MouseButton1Click:Connect(function() AutoRolling = not AutoRolling SetButtonColor(AutoRolling) end) local function ShowResult(text,color) ResultLabel.Text = text ResultLabel.TextColor3 = color or Color3.new(1,1,1) ResultLabel.Visible = true if SoundService:FindFirstChild("Reward") then SoundService.Reward:Play() end task.wait(0.1) ResultLabel.Visible = false end RollResult.OnClientEvent:Connect(function(rollId, results) for _, rewardData in ipairs(results) do local text if rewardData.Reward.Type == "Speed" then text = string.format("+%s Speed [%.2f%%]", FormatModule:AbbreviateNumbers(rewardData.Reward.Amount), rewardData.ShownPercent) else text = string.format("%s [%.2f%%]", rewardData.Reward.Type, rewardData.ShownPercent) end local color = rewardData.Color or Color3.new(1,1,1) ShowResult(text,color) end RollApply:FireServer(rollId) if AutoRolling then RollRequest:FireServer() end end) task.spawn(function() while true do if AutoRolling then RollRequest:FireServer() RollApply:FireServer() end task.wait(0.05) end end)