local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local LP = Players.LocalPlayer local TS = game:GetService("TweenService") local guiParent = LP:WaitForChild("PlayerGui") pcall(function() if gethui then guiParent = gethui() end end) for _, g in ipairs(guiParent:GetChildren()) do if g.Name == "GearGiverGui" then g:Destroy() end end local function findGearRemote() for _, d in ipairs(game:GetDescendants()) do if d:IsA("RemoteFunction") and d.Name == "RemoteFunction" then if d:FindFirstAncestor("gear machine chest") then return d end end end return nil end local screen = Instance.new("ScreenGui") screen.Name = "GearGiverGui" screen.ResetOnSpawn = false screen.IgnoreGuiInset = true screen.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screen.DisplayOrder = 999 screen.Parent = guiParent local W = 320 local SINGLE_H, MULTI_H = 196, 244 local main = Instance.new("Frame") main.Name = "Main" main.AnchorPoint = Vector2.new(0.5, 0.5) main.Position = UDim2.fromScale(0.5, 0.5) main.Size = UDim2.fromOffset(W, SINGLE_H) main.BackgroundColor3 = Color3.fromRGB(22, 22, 34) main.BorderSizePixel = 0 main.Active = true main.ClipsDescendants = true main.ZIndex = 1 main.Parent = screen Instance.new("UICorner", main).CornerRadius = UDim.new(0, 14) local mainGrad = Instance.new("UIGradient") mainGrad.Color = ColorSequence.new(Color3.fromRGB(30, 30, 46), Color3.fromRGB(16, 16, 24)) mainGrad.Rotation = 90 mainGrad.Parent = main local mainStroke = Instance.new("UIStroke") mainStroke.Thickness = 1 mainStroke.Color = Color3.fromRGB(80, 80, 120) mainStroke.Transparency = 0.4 mainStroke.Parent = main local header = Instance.new("Frame") header.Name = "Header" header.Size = UDim2.new(1, 0, 0, 36) header.BackgroundTransparency = 1 header.BorderSizePixel = 0 header.ZIndex = 2 header.Parent = main local dot = Instance.new("Frame") dot.Name = "Dot" dot.Size = UDim2.fromOffset(10, 10) dot.Position = UDim2.new(0, 12, 0.5, 0) dot.AnchorPoint = Vector2.new(0, 0.5) dot.BackgroundColor3 = Color3.fromRGB(124, 92, 255) dot.BorderSizePixel = 0 dot.ZIndex = 3 dot.Parent = header Instance.new("UICorner", dot).CornerRadius = UDim.new(1, 0) local dotGrad = Instance.new("UIGradient") dotGrad.Color = ColorSequence.new(Color3.fromRGB(124, 92, 255), Color3.fromRGB(56, 189, 248)) dotGrad.Parent = dot local title = Instance.new("TextLabel") title.Name = "Title" title.BackgroundTransparency = 1 title.Position = UDim2.new(0, 30, 0, 0) title.Size = UDim2.new(1, -70, 1, 0) title.Font = Enum.Font.GothamBold title.Text = "GEAR GIVER" title.TextSize = 15 title.TextColor3 = Color3.fromRGB(235, 235, 245) title.TextXAlignment = Enum.TextXAlignment.Left title.ZIndex = 3 title.Parent = header local closeBtn = Instance.new("TextButton") closeBtn.Name = "Close" closeBtn.Size = UDim2.fromOffset(22, 22) closeBtn.Position = UDim2.new(1, -12, 0.5, 0) closeBtn.AnchorPoint = Vector2.new(1, 0.5) closeBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 70) closeBtn.BorderSizePixel = 0 closeBtn.AutoButtonColor = false closeBtn.Font = Enum.Font.GothamBold closeBtn.Text = "X" closeBtn.TextSize = 12 closeBtn.TextColor3 = Color3.fromRGB(200, 200, 215) closeBtn.ZIndex = 3 closeBtn.Parent = header Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 7) closeBtn.MouseEnter:Connect(function() TS:Create(closeBtn, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(220, 60, 80), TextColor3 = Color3.fromRGB(255, 255, 255)}):Play() end) closeBtn.MouseLeave:Connect(function() TS:Create(closeBtn, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(50, 50, 70), TextColor3 = Color3.fromRGB(200, 200, 215)}):Play() end) closeBtn.MouseButton1Click:Connect(function() screen.Enabled = false end) local modeBar = Instance.new("Frame") modeBar.Name = "ModeBar" modeBar.Position = UDim2.new(0, 12, 0, 44) modeBar.Size = UDim2.new(1, -24, 0, 28) modeBar.BackgroundColor3 = Color3.fromRGB(26, 26, 38) modeBar.BorderSizePixel = 0 modeBar.ZIndex = 2 modeBar.Parent = main Instance.new("UICorner", modeBar).CornerRadius = UDim.new(0, 9) local mbStroke = Instance.new("UIStroke"); mbStroke.Thickness = 1; mbStroke.Color = Color3.fromRGB(60, 60, 90); mbStroke.Transparency = 0.4; mbStroke.Parent = modeBar local function makeModeBtn(name, text, xscale) local b = Instance.new("TextButton") b.Name = name b.Position = UDim2.new(xscale, 0, 0, 0) b.Size = UDim2.new(0.5, -4, 1, -6) b.BackgroundColor3 = Color3.fromRGB(124, 92, 255) b.BackgroundTransparency = 1 b.BorderSizePixel = 0 b.AutoButtonColor = false b.Font = Enum.Font.GothamBold b.Text = text b.TextSize = 12 b.TextColor3 = Color3.fromRGB(150, 150, 175) b.ZIndex = 3 b.Parent = modeBar Instance.new("UICorner", b).CornerRadius = UDim.new(0, 7) return b end local btnSingle = makeModeBtn("Single", "SINGLE", 0) btnSingle.Position = UDim2.new(0, 3, 0, 3) local btnMulti = makeModeBtn("Multi", "MULTIPLE", 0.5) btnMulti.Position = UDim2.new(0.5, 1, 0, 3) local function makeBox() local b = Instance.new("TextBox") b.Name = "GearBox" b.BackgroundColor3 = Color3.fromRGB(30, 30, 44) b.BorderSizePixel = 0 b.Font = Enum.Font.Gotham b.PlaceholderColor3 = Color3.fromRGB(120, 120, 145) b.Text = "" b.TextColor3 = Color3.fromRGB(235, 235, 245) b.TextSize = 13 b.ClearTextOnFocus = false b.ZIndex = 2 b.Parent = main Instance.new("UICorner", b).CornerRadius = UDim.new(0, 9) local s = Instance.new("UIStroke"); s.Thickness = 1; s.Color = Color3.fromRGB(70, 70, 100); s.Transparency = 0.3; s.Parent = b local p = Instance.new("UIPadding"); p.PaddingLeft = UDim.new(0, 8); p.PaddingRight = UDim.new(0, 8); p.Parent = b b.Focused:Connect(function() TS:Create(s, TweenInfo.new(0.15), {Color = Color3.fromRGB(124, 92, 255), Transparency = 0}):Play() end) b.FocusLost:Connect(function() TS:Create(s, TweenInfo.new(0.15), {Color = Color3.fromRGB(70, 70, 100), Transparency = 0.3}):Play() end) return b end local tb1 = makeBox() local tb2 = makeBox() local tb3 = makeBox() local tb4 = makeBox() local boxes = {tb1, tb2, tb3, tb4} local giveBtn = Instance.new("TextButton") giveBtn.Name = "GiveButton" giveBtn.Size = UDim2.new(1, -24, 0, 38) giveBtn.BackgroundColor3 = Color3.fromRGB(124, 92, 255) giveBtn.BorderSizePixel = 0 giveBtn.AutoButtonColor = false giveBtn.Font = Enum.Font.GothamBold giveBtn.Text = "GIVE GEAR" giveBtn.TextSize = 15 giveBtn.TextColor3 = Color3.fromRGB(255, 255, 255) giveBtn.ZIndex = 2 giveBtn.Parent = main Instance.new("UICorner", giveBtn).CornerRadius = UDim.new(0, 9) local gGrad = Instance.new("UIGradient") gGrad.Color = ColorSequence.new(Color3.fromRGB(139, 108, 255), Color3.fromRGB(56, 189, 248)) gGrad.Parent = giveBtn local gStroke = Instance.new("UIStroke"); gStroke.Thickness = 1; gStroke.Color = Color3.fromRGB(180, 165, 255); gStroke.Transparency = 0.5; gStroke.Parent = giveBtn giveBtn.MouseEnter:Connect(function() TS:Create(giveBtn, TweenInfo.new(0.15), {Size = UDim2.new(1, -20, 0, 38)}):Play() end) giveBtn.MouseLeave:Connect(function() TS:Create(giveBtn, TweenInfo.new(0.15), {Size = UDim2.new(1, -24, 0, 38)}):Play() end) local status = Instance.new("TextLabel") status.Name = "Status" status.BackgroundTransparency = 1 status.Size = UDim2.new(1, -24, 0, 24) status.Font = Enum.Font.Gotham status.TextSize = 12 status.TextColor3 = Color3.fromRGB(140, 140, 165) status.TextXAlignment = Enum.TextXAlignment.Left status.ZIndex = 2 status.Parent = main local function setStatus(msg, color) status.Text = msg status.TextColor3 = color or Color3.fromRGB(140, 140, 165) end local mode = "single" local halfW = (W - 24 - 8) / 2 local function setMode(newMode) mode = newMode local isMulti = newMode == "multi" if isMulti then tb1.PlaceholderText = "Gear ID 1" tb2.PlaceholderText = "Gear ID 2" tb3.PlaceholderText = "Gear ID 3" tb4.PlaceholderText = "Gear ID 4" tb1.Position = UDim2.fromOffset(12, 80); tb1.Size = UDim2.fromOffset(halfW, 32) tb2.Position = UDim2.fromOffset(12 + halfW + 8, 80); tb2.Size = UDim2.fromOffset(halfW, 32) tb3.Position = UDim2.fromOffset(12, 116); tb3.Size = UDim2.fromOffset(halfW, 32) tb4.Position = UDim2.fromOffset(12 + halfW + 8, 116); tb4.Size = UDim2.fromOffset(halfW, 32) tb2.Visible = true; tb3.Visible = true; tb4.Visible = true TS:Create(btnMulti, TweenInfo.new(0.18), {BackgroundTransparency = 0, TextColor3 = Color3.fromRGB(255, 255, 255)}):Play() TS:Create(btnSingle, TweenInfo.new(0.18), {BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 175)}):Play() TS:Create(giveBtn, TweenInfo.new(0.2), {Position = UDim2.fromOffset(12, 158)}):Play() TS:Create(status, TweenInfo.new(0.2), {Position = UDim2.fromOffset(12, 204)}):Play() TS:Create(main, TweenInfo.new(0.2), {Size = UDim2.fromOffset(W, MULTI_H)}):Play() setStatus("Multiple gear mode (4 slots).") else tb1.PlaceholderText = "Enter Gear ID..." tb1.Position = UDim2.fromOffset(12, 80); tb1.Size = UDim2.new(1, -24, 0, 34) tb2.Visible = false; tb3.Visible = false; tb4.Visible = false TS:Create(btnSingle, TweenInfo.new(0.18), {BackgroundTransparency = 0, TextColor3 = Color3.fromRGB(255, 255, 255)}):Play() TS:Create(btnMulti, TweenInfo.new(0.18), {BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 175)}):Play() TS:Create(giveBtn, TweenInfo.new(0.2), {Position = UDim2.fromOffset(12, 122)}):Play() TS:Create(status, TweenInfo.new(0.2), {Position = UDim2.fromOffset(12, 166)}):Play() TS:Create(main, TweenInfo.new(0.2), {Size = UDim2.fromOffset(W, SINGLE_H)}):Play() setStatus("Single gear mode.") end end btnSingle.MouseButton1Click:Connect(function() if mode ~= "single" then setMode("single") end end) btnMulti.MouseButton1Click:Connect(function() if mode ~= "multi" then setMode("multi") end end) local function giveGear() local ids = {} for _, b in ipairs(boxes) do if b.Visible then for id in b.Text:gmatch("%d+") do ids[#ids+1] = id end end end if #ids == 0 then setStatus("Enter at least one valid Gear ID.", Color3.fromRGB(240, 120, 120)) return end local remote = findGearRemote() if not remote then setStatus("Gear remote not found.", Color3.fromRGB(240, 120, 120)) return end setStatus("Requesting " .. #ids .. " gear(s)...", Color3.fromRGB(220, 200, 120)) local okCount = 0 for _, id in ipairs(ids) do local ok = pcall(function() remote:InvokeServer("give gear", id) end) if ok then okCount += 1 end task.wait(0.1) end if okCount == #ids then setStatus("Requested " .. okCount .. " gear(s)!", Color3.fromRGB(120, 230, 150)) else setStatus("Requested " .. okCount .. "/" .. #ids .. " gear(s).", Color3.fromRGB(230, 200, 120)) end end giveBtn.MouseButton1Click:Connect(giveGear) for _, b in ipairs(boxes) do b.FocusLost:Connect(function(enter) if enter then giveGear() end end) end setMode("single") local dragging, dragStart, startPos header.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = main.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UIS.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end)