local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local playerGui = player:FindFirstChildOfClass("PlayerGui") or player:WaitForChild("PlayerGui") local old = playerGui:FindFirstChild("ProtoSmasher") if old then old:Destroy() end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "ProtoSmasher" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling pcall(function() ScreenGui.Parent = game:GetService("CoreGui") end) if not ScreenGui.Parent then ScreenGui.Parent = playerGui end local themes = { Red = { bg = Color3.fromRGB(25, 10, 10), border = Color3.fromRGB(200, 40, 40), accent = Color3.fromRGB(220, 50, 50) }, Black = { bg = Color3.fromRGB(18, 18, 18), border = Color3.fromRGB(80, 80, 80), accent = Color3.fromRGB(120, 120, 120) }, White = { bg = Color3.fromRGB(40, 40, 40), border = Color3.fromRGB(220, 220, 220), accent = Color3.fromRGB(255, 255, 255) }, Blue = { bg = Color3.fromRGB(10, 15, 30), border = Color3.fromRGB(50, 100, 200), accent = Color3.fromRGB(70, 130, 230) }, } local currentTheme = "Black" local autoExecute = false local rainbowConn = nil local Main = Instance.new("Frame") Main.Name = "Main" Main.Parent = ScreenGui Main.BackgroundColor3 = themes.Black.bg Main.BorderColor3 = themes.Black.border Main.BorderSizePixel = 2 Main.Position = UDim2.new(0.5, -225, 0.5, -200) Main.Size = UDim2.new(0, 450, 0, 400) Main.Active = true Main.Draggable = true Main.ClipsDescendants = true local TitleBar = Instance.new("Frame") TitleBar.Parent = Main TitleBar.BackgroundColor3 = Color3.fromRGB(30, 30, 30) TitleBar.BorderSizePixel = 0 TitleBar.Size = UDim2.new(1, 0, 0, 26) local Title = Instance.new("TextLabel") Title.Parent = TitleBar Title.BackgroundTransparency = 1 Title.Position = UDim2.new(0, 10, 0, 0) Title.Size = UDim2.new(0, 180, 1, 0) Title.Font = Enum.Font.SourceSans Title.Text = "ProtoSmasher v2" Title.TextColor3 = Color3.fromRGB(220, 220, 220) Title.TextSize = 14 Title.TextXAlignment = Enum.TextXAlignment.Left local MinBtn = Instance.new("TextButton") MinBtn.Parent = TitleBar MinBtn.BackgroundTransparency = 1 MinBtn.Position = UDim2.new(1, -50, 0, 0) MinBtn.Size = UDim2.new(0, 25, 1, 0) MinBtn.Font = Enum.Font.SourceSans MinBtn.Text = "—" MinBtn.TextColor3 = Color3.fromRGB(200, 200, 200) MinBtn.TextSize = 14 local CloseBtn = Instance.new("TextButton") CloseBtn.Parent = TitleBar CloseBtn.BackgroundTransparency = 1 CloseBtn.Position = UDim2.new(1, -25, 0, 0) CloseBtn.Size = UDim2.new(0, 25, 1, 0) CloseBtn.Font = Enum.Font.SourceSans CloseBtn.Text = "×" CloseBtn.TextColor3 = Color3.fromRGB(200, 200, 200) CloseBtn.TextSize = 16 local Editor = Instance.new("Frame") Editor.Parent = Main Editor.BackgroundColor3 = Color3.fromRGB(20, 20, 20) Editor.BorderSizePixel = 0 Editor.Position = UDim2.new(0, 4, 0, 30) Editor.Size = UDim2.new(1, -8, 0, 245) local LineNum = Instance.new("TextLabel") LineNum.Parent = Editor LineNum.BackgroundTransparency = 1 LineNum.Position = UDim2.new(0, 6, 0, 4) LineNum.Size = UDim2.new(0, 16, 1, -8) LineNum.Font = Enum.Font.Code LineNum.Text = "1" LineNum.TextColor3 = Color3.fromRGB(100, 100, 100) LineNum.TextSize = 13 LineNum.TextYAlignment = Enum.TextYAlignment.Top local TextBox = Instance.new("TextBox") TextBox.Parent = Editor TextBox.BackgroundTransparency = 1 TextBox.Position = UDim2.new(0, 26, 0, 4) TextBox.Size = UDim2.new(1, -30, 1, -8) TextBox.ClearTextOnFocus = false TextBox.Font = Enum.Font.Code TextBox.MultiLine = true TextBox.Text = "" TextBox.TextColor3 = Color3.fromRGB(220, 220, 220) TextBox.TextSize = 13 TextBox.TextXAlignment = Enum.TextXAlignment.Left TextBox.TextYAlignment = Enum.TextYAlignment.Top TextBox.TextWrapped = false TextBox:GetPropertyChangedSignal("Text"):Connect(function() local lines = 1 for _ in TextBox.Text:gmatch("\n") do lines = lines + 1 end local s = "" for i = 1, math.max(lines, 1) do s = s .. i .. "\n" end LineNum.Text = s end) local BtnBar = Instance.new("Frame") BtnBar.Parent = Main BtnBar.BackgroundTransparency = 1 BtnBar.Position = UDim2.new(0, 4, 0, 283) BtnBar.Size = UDim2.new(1, -8, 0, 36) local function makeBtn(name, x) local b = Instance.new("TextButton") b.Parent = BtnBar b.BackgroundColor3 = Color3.fromRGB(30, 30, 30) b.BorderColor3 = Color3.fromRGB(200, 200, 200) b.BorderSizePixel = 1 b.Position = UDim2.new(0, x, 0, 2) b.Size = UDim2.new(0, 100, 0, 32) b.Font = Enum.Font.SourceSansBold b.Text = name b.TextColor3 = Color3.fromRGB(230, 230, 230) b.TextSize = 14 return b end local ExecBtn = makeBtn("EXECUTE", 8) local OpenBtn = makeBtn("OPEN", 118) local ClearBtn = makeBtn("CLEAR", 228) local InjectBtn = makeBtn("INJECT", 338) local BottomArea = Instance.new("Frame") BottomArea.Parent = Main BottomArea.BackgroundColor3 = Color3.fromRGB(55, 55, 55) BottomArea.BorderSizePixel = 0 BottomArea.Position = UDim2.new(0, 0, 0, 328) BottomArea.Size = UDim2.new(1, 0, 0, 72) local ThemeBtn = Instance.new("TextButton") ThemeBtn.Parent = BottomArea ThemeBtn.BackgroundColor3 = Color3.fromRGB(240, 240, 240) ThemeBtn.BorderColor3 = Color3.fromRGB(100, 100, 100) ThemeBtn.BorderSizePixel = 1 ThemeBtn.Position = UDim2.new(0, 10, 1, -28) ThemeBtn.Size = UDim2.new(0, 200, 0, 22) ThemeBtn.Font = Enum.Font.SourceSans ThemeBtn.Text = " Theme: Black ▼" ThemeBtn.TextColor3 = Color3.fromRGB(30, 30, 30) ThemeBtn.TextSize = 13 ThemeBtn.TextXAlignment = Enum.TextXAlignment.Left local ColorMenu = Instance.new("Frame") ColorMenu.Parent = Main ColorMenu.BackgroundColor3 = Color3.fromRGB(240, 240, 240) ColorMenu.BorderColor3 = Color3.fromRGB(100, 100, 100) ColorMenu.BorderSizePixel = 1 ColorMenu.Position = UDim2.new(0, 10, 1, -150) ColorMenu.Size = UDim2.new(0, 200, 0, 120) ColorMenu.Visible = false ColorMenu.ZIndex = 10 local function colorOption(name, y) local b = Instance.new("TextButton") b.Parent = ColorMenu b.BackgroundColor3 = Color3.fromRGB(240, 240, 240) b.BorderSizePixel = 0 b.Position = UDim2.new(0, 0, 0, y) b.Size = UDim2.new(1, 0, 0, 24) b.Font = Enum.Font.SourceSans b.Text = " " .. name b.TextColor3 = Color3.fromRGB(30, 30, 30) b.TextSize = 13 b.TextXAlignment = Enum.TextXAlignment.Left b.ZIndex = 11 return b end local RedOpt = colorOption("Red", 0) local BlackOpt = colorOption("Black", 24) local WhiteOpt = colorOption("White", 48) local BlueOpt = colorOption("Blue", 72) local RainbowOpt = colorOption("Rainbow", 96) local SettingsBtn = Instance.new("TextButton") SettingsBtn.Parent = BottomArea SettingsBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 40) SettingsBtn.BorderColor3 = Color3.fromRGB(150, 150, 150) SettingsBtn.BorderSizePixel = 1 SettingsBtn.Position = UDim2.new(0, 230, 1, -30) SettingsBtn.Size = UDim2.new(0, 100, 0, 24) SettingsBtn.Font = Enum.Font.SourceSansBold SettingsBtn.Text = "Settings" SettingsBtn.TextColor3 = Color3.fromRGB(220, 220, 220) SettingsBtn.TextSize = 13 local function stopRainbow() if rainbowConn then rainbowConn:Disconnect() rainbowConn = nil end end local function applyTheme(name) stopRainbow() if name == "Rainbow" then currentTheme = "Rainbow" ThemeBtn.Text = " Theme: Rainbow ▼" ColorMenu.Visible = false local hue = 0 rainbowConn = RunService.RenderStepped:Connect(function(dt) hue = (hue + dt * 0.15) % 1 local c = Color3.fromHSV(hue, 0.7, 0.9) Main.BorderColor3 = c for _, btn in ipairs({ExecBtn, OpenBtn, ClearBtn, InjectBtn}) do btn.BorderColor3 = c end end) print("[ProtoSmasher]: Theme → Rainbow") return end local t = themes[name] if not t then return end currentTheme = name Main.BackgroundColor3 = t.bg Main.BorderColor3 = t.border TitleBar.BackgroundColor3 = Color3.fromRGB( math.clamp(t.bg.R * 255 + 12, 0, 255) / 255, math.clamp(t.bg.G * 255 + 12, 0, 255) / 255, math.clamp(t.bg.B * 255 + 12, 0, 255) / 255 ) for _, btn in ipairs({ExecBtn, OpenBtn, ClearBtn, InjectBtn}) do btn.BorderColor3 = t.accent end ThemeBtn.Text = " Theme: " .. name .. " ▼" ColorMenu.Visible = false print("[ProtoSmasher]: Theme → " .. name) end ThemeBtn.MouseButton1Click:Connect(function() ColorMenu.Visible = not ColorMenu.Visible end) RedOpt.MouseButton1Click:Connect(function() applyTheme("Red") end) BlackOpt.MouseButton1Click:Connect(function() applyTheme("Black") end) WhiteOpt.MouseButton1Click:Connect(function() applyTheme("White") end) BlueOpt.MouseButton1Click:Connect(function() applyTheme("Blue") end) RainbowOpt.MouseButton1Click:Connect(function() applyTheme("Rainbow") end) local function runCode() local code = TextBox.Text if code == "" or code:match("^%s*$") then return end local chunk, err = loadstring(code) if chunk then local ok, msg = pcall(chunk) if not ok then warn("[ProtoSmasher]: " .. tostring(msg)) end else warn("[ProtoSmasher]: " .. tostring(err)) end end ExecBtn.MouseButton1Click:Connect(runCode) InjectBtn.MouseButton1Click:Connect(runCode) ClearBtn.MouseButton1Click:Connect(function() TextBox.Text = "" end) OpenBtn.MouseButton1Click:Connect(function() print("[ProtoSmasher]: Open") end) -- Settings (tylko Auto Execute) local settingsWin = nil local function closeSettings() if settingsWin then settingsWin:Destroy() settingsWin = nil end end local function openSettings() if settingsWin then closeSettings() return end local win = Instance.new("Frame") win.Name = "SettingsWin" win.Parent = ScreenGui win.BackgroundColor3 = Color3.fromRGB(30, 30, 30) win.BorderColor3 = Color3.fromRGB(100, 100, 100) win.BorderSizePixel = 2 win.Position = UDim2.new(0.5, -130, 0.5, -60) win.Size = UDim2.new(0, 260, 0, 100) win.Active = true win.Draggable = true win.ZIndex = 30 settingsWin = win local stBar = Instance.new("Frame") stBar.Parent = win stBar.BackgroundColor3 = Color3.fromRGB(40, 40, 40) stBar.BorderSizePixel = 0 stBar.Size = UDim2.new(1, 0, 0, 24) stBar.ZIndex = 31 local stTitle = Instance.new("TextLabel") stTitle.Parent = stBar stTitle.BackgroundTransparency = 1 stTitle.Position = UDim2.new(0, 8, 0, 0) stTitle.Size = UDim2.new(1, -32, 1, 0) stTitle.Font = Enum.Font.SourceSans stTitle.Text = "Settings" stTitle.TextColor3 = Color3.fromRGB(220, 220, 220) stTitle.TextSize = 13 stTitle.TextXAlignment = Enum.TextXAlignment.Left stTitle.ZIndex = 32 local stClose = Instance.new("TextButton") stClose.Parent = stBar stClose.BackgroundTransparency = 1 stClose.Position = UDim2.new(1, -24, 0, 0) stClose.Size = UDim2.new(0, 24, 1, 0) stClose.Font = Enum.Font.SourceSans stClose.Text = "×" stClose.TextColor3 = Color3.fromRGB(200, 200, 200) stClose.TextSize = 14 stClose.ZIndex = 32 stClose.MouseButton1Click:Connect(closeSettings) local autoRow = Instance.new("Frame") autoRow.Parent = win autoRow.BackgroundColor3 = Color3.fromRGB(40, 40, 45) autoRow.BorderSizePixel = 0 autoRow.Position = UDim2.new(0, 10, 0, 36) autoRow.Size = UDim2.new(1, -20, 0, 36) autoRow.ZIndex = 31 local autoLbl = Instance.new("TextLabel") autoLbl.Parent = autoRow autoLbl.BackgroundTransparency = 1 autoLbl.Position = UDim2.new(0, 10, 0, 0) autoLbl.Size = UDim2.new(1, -50, 1, 0) autoLbl.Font = Enum.Font.SourceSans autoLbl.Text = "Auto Execute" autoLbl.TextColor3 = Color3.fromRGB(220, 220, 220) autoLbl.TextSize = 13 autoLbl.TextXAlignment = Enum.TextXAlignment.Left autoLbl.ZIndex = 32 local autoToggle = Instance.new("TextButton") autoToggle.Parent = autoRow autoToggle.Size = UDim2.new(0, 28, 0, 28) autoToggle.Position = UDim2.new(1, -34, 0.5, -14) autoToggle.BackgroundColor3 = autoExecute and Color3.fromRGB(40, 180, 60) or Color3.fromRGB(200, 40, 40) autoToggle.BorderSizePixel = 0 autoToggle.Text = "" autoToggle.ZIndex = 32 autoToggle.MouseButton1Click:Connect(function() autoExecute = not autoExecute if autoExecute then autoToggle.BackgroundColor3 = Color3.fromRGB(40, 180, 60) runCode() print("[ProtoSmasher]: Auto Execute ON") else autoToggle.BackgroundColor3 = Color3.fromRGB(200, 40, 40) print("[ProtoSmasher]: Auto Execute OFF") end end) end SettingsBtn.MouseButton1Click:Connect(openSettings) MinBtn.MouseButton1Click:Connect(function() Main.Visible = not Main.Visible end) CloseBtn.MouseButton1Click:Connect(function() stopRainbow() closeSettings() ScreenGui:Destroy() end) print("[ProtoSmasher v2]: Loaded")