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)
Comments
No comments yet
Be the first to share your thoughts!