local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TweenService = game:GetService("TweenService") local StarterGui = game:GetService("StarterGui") local LocalPlayer = Players.LocalPlayer local state = { running = false, killed = false, target = "INTERSTELLAR", notify = true, autoStop = true, bypass = true, gui = nil } local function notify(title, text, duration) if not state.notify then return end pcall(function() StarterGui:SetCore("SendNotification", { Title = title or "Galactic Crate", Text = text or "", Duration = duration or 4 }) end) end local function findCrateGui() local playerGui = LocalPlayer:FindFirstChild("PlayerGui") if not playerGui then return nil end return playerGui:FindFirstChild("GalacticCrateGui") end local function findSpinButton() local gui = findCrateGui() if not gui or not gui.Enabled then return nil end local panel = gui:FindFirstChild("Panel") if not panel then return nil end return panel:FindFirstChild("SpinButton") end local function findResultLabel() local gui = findCrateGui() if not gui or not gui.Enabled then return nil end local panel = gui:FindFirstChild("Panel") return panel and panel:FindFirstChild("ResultLabel") end local function findSpinRemote() local eventRemotes = ReplicatedStorage:FindFirstChild("EventRemotes") if not eventRemotes then return nil end return eventRemotes:FindFirstChild("GalacticRequestSpin") end local function trySpin() local spinBtn = findSpinButton() if spinBtn and spinBtn:IsA("TextButton") then local text = spinBtn.Text if text ~= "Spinning..." and text ~= "Not Enough Shards" then pcall(function() spinBtn:Activate() end) end end if state.bypass then local remote = findSpinRemote() if remote and remote:IsA("RemoteFunction") then pcall(function() remote:InvokeServer() end) end end end local function checkTargetHit() local resultLabel = findResultLabel() if not resultLabel then return false end local text = resultLabel.Text or "" if text:upper():find(state.target:upper(), 1, true) then notify("Galactic Crate", "Target found: " .. state.target, 5) return true end return false end local function makeGui() if state.gui then return end local screenGui = Instance.new("ScreenGui") screenGui.Name = "GalacticCrateAutoGui" screenGui.ResetOnSpawn = false screenGui.IgnoreGuiInset = true screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Name = "MainFrame" frame.Size = UDim2.new(0, 280, 0, 190) frame.Position = UDim2.new(0.5, -140, 0.12, 0) frame.BackgroundColor3 = Color3.fromRGB(28, 28, 36) frame.BorderSizePixel = 0 frame.Parent = screenGui local top = Instance.new("TextLabel") top.Name = "Title" top.Size = UDim2.new(1, 0, 0, 30) top.BackgroundColor3 = Color3.fromRGB(40, 40, 55) top.BorderSizePixel = 0 top.Text = "Galactic Crate AutoSpin" top.TextColor3 = Color3.fromRGB(255, 255, 255) top.Font = Enum.Font.GothamBold top.TextSize = 16 top.Parent = frame top.Active = true local closeBtn = Instance.new("TextButton") closeBtn.Name = "Close" closeBtn.Size = UDim2.new(0, 28, 0, 28) closeBtn.Position = UDim2.new(1, -34, 0, 1) closeBtn.BackgroundColor3 = Color3.fromRGB(190, 40, 40) closeBtn.BorderSizePixel = 0 closeBtn.Text = "X" closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 18 closeBtn.Parent = frame local startStop = Instance.new("TextButton") startStop.Name = "StartStop" startStop.Size = UDim2.new(0, 120, 0, 32) startStop.Position = UDim2.new(0, 12, 0, 46) startStop.BackgroundColor3 = Color3.fromRGB(80, 160, 80) startStop.BorderSizePixel = 0 startStop.Text = "START" startStop.TextColor3 = Color3.fromRGB(255, 255, 255) startStop.Font = Enum.Font.GothamSemibold startStop.TextSize = 16 startStop.Parent = frame local stopBtn = Instance.new("TextButton") stopBtn.Name = "Stop" stopBtn.Size = UDim2.new(0, 120, 0, 32) stopBtn.Position = UDim2.new(0, 148, 0, 46) stopBtn.BackgroundColor3 = Color3.fromRGB(180, 80, 80) stopBtn.BorderSizePixel = 0 stopBtn.Text = "STOP" stopBtn.TextColor3 = Color3.fromRGB(255, 255, 255) stopBtn.Font = Enum.Font.GothamSemibold stopBtn.TextSize = 16 stopBtn.Parent = frame local targetLabel = Instance.new("TextLabel") targetLabel.Name = "TargetLabel" targetLabel.Size = UDim2.new(1, -24, 0, 22) targetLabel.Position = UDim2.new(0, 12, 0, 90) targetLabel.BackgroundTransparency = 1 targetLabel.Text = "Auto-stop target:" targetLabel.TextColor3 = Color3.fromRGB(220, 220, 220) targetLabel.Font = Enum.Font.Gotham targetLabel.TextSize = 14 targetLabel.TextXAlignment = Enum.TextXAlignment.Left targetLabel.Parent = frame local targetBox = Instance.new("TextBox") targetBox.Name = "TargetBox" targetBox.Size = UDim2.new(1, -24, 0, 28) targetBox.Position = UDim2.new(0, 12, 0, 116) targetBox.BackgroundColor3 = Color3.fromRGB(40, 40, 50) targetBox.BorderSizePixel = 0 targetBox.Text = state.target targetBox.TextColor3 = Color3.fromRGB(255, 255, 255) targetBox.PlaceholderText = "Interstellar, Void Scythe, etc." targetBox.Font = Enum.Font.Gotham targetBox.TextSize = 14 targetBox.ClearTextOnFocus = false targetBox.Parent = frame local statusLabel = Instance.new("TextLabel") statusLabel.Name = "Status" statusLabel.Size = UDim2.new(1, -24, 0, 26) statusLabel.Position = UDim2.new(0, 12, 0, 152) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "Status: stopped" statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200) statusLabel.Font = Enum.Font.Gotham statusLabel.TextSize = 14 statusLabel.TextXAlignment = Enum.TextXAlignment.Left statusLabel.Parent = frame local function updateStatus() statusLabel.Text = "Status: " .. (state.running and "running" or "stopped") end closeBtn.MouseButton1Click:Connect(function() state.killed = true state.running = false notify("Galactic Crate", "Auto-spin script closed", 3) if screenGui then screenGui:Destroy() end end) startStop.MouseButton1Click:Connect(function() if state.killed then return end state.running = true updateStatus() notify("Galactic Crate", "Auto-spin started", 3) end) stopBtn.MouseButton1Click:Connect(function() state.running = false updateStatus() notify("Galactic Crate", "Auto-spin stopped", 3) end) targetBox.FocusLost:Connect(function(enterPressed) if enterPressed then local text = targetBox.Text or "" if text:match("%S") then state.target = text notify("Galactic Crate", "Target set to: " .. state.target, 3) end end end) local dragging, dragInput, dragStart, startPos local function update(input) 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 top.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 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) top.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) game:GetService("UserInputService").InputChanged:Connect(function(input) if dragging and input == dragInput then update(input) end end) state.gui = { screen = screenGui, status = statusLabel } end local function accelerateTweens() pcall(function() local oldCreate = TweenService.Create TweenService.Create = function(self, instance, info, props) if instance and tostring(instance.Name):lower():find("reel") then local newDuration = math.max(0.05, info.Time * 0.15) info = TweenInfo.new(newDuration, info.EasingStyle, info.EasingDirection, info.RepeatCount, info.Reverses, info.DelayTime) end return oldCreate(self, instance, info, props) end end) end makeGui() accelerateTweens() task.spawn(function() while not state.killed do task.wait(0.08) if state.running then trySpin() if state.autoStop and checkTargetHit() then state.running = false if state.gui and state.gui.status then state.gui.status.Text = "Status: stopped (target hit)" end notify("Galactic Crate", "Auto-stop triggered for: " .. state.target, 5) end end end end)