-- Salchiblox Speed v7 (Clean, Bug-Free, Custom Colors, Discord Link & Locked UI) if game.CoreGui:FindFirstChild("SalchibloxGui") then game.CoreGui.SalchibloxGui:Destroy() end if game.CoreGui:FindFirstChild("SalchibloxScreenParticles") then game.CoreGui.SalchibloxScreenParticles:Destroy() end local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer -- Config File Setup local CONFIG_FILE = "SalchibloxSpeedConfig.json" local baseSpeed, speedMultiplier = 16, 1 local baseJump, jumpMultiplier = 50, 1 local gravityVal = 196 local function loadExistingConfig() if readfile and isfile and isfile(CONFIG_FILE) then local success, data = pcall(function() return game:GetService("HttpService"):JSONDecode(readfile(CONFIG_FILE)) end) if success and data then baseSpeed = data.baseSpeed or 16 speedMultiplier = data.speedMultiplier or 1 baseJump = data.baseJump or 50 jumpMultiplier = data.jumpMultiplier or 1 gravityVal = data.gravityVal or 196 end end end loadExistingConfig() -- Anti-Kick & Basic Anti-Cheat Bypass Hook pcall(function() local mt = getrawmetatable(game) setreadonly(mt, false) local oldNamecall = mt.__namecall mt.__namecall = newcclosure(function(self, ...) local method = getnamecallmethod() if method == "Kick" or method == "kick" then if self == player then warn("[Salchiblox] Blocked an attempt to kick you!") return end end return oldNamecall(self, ...) end) setreadonly(mt, true) end) local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SalchibloxGui" ScreenGui.Parent = game.CoreGui ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local ScreenParticlesGui = Instance.new("ScreenGui") ScreenParticlesGui.Name = "SalchibloxScreenParticles" ScreenParticlesGui.Parent = game.CoreGui ScreenParticlesGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenParticlesGui.DisplayOrder = -1 -- Main Window (Locked in Place) local MainFrame = Instance.new("Frame", ScreenGui) MainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 25) MainFrame.BorderSizePixel = 0 MainFrame.Position = UDim2.new(0.5, -160, 0.5, -210) MainFrame.Size = UDim2.new(0, 320, 0, 420) Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 12) local MainStroke = Instance.new("UIStroke", MainFrame) MainStroke.Color = Color3.fromRGB(120, 80, 255) MainStroke.Thickness = 1.5 -- Title Bar local Title = Instance.new("TextLabel", MainFrame) Title.BackgroundColor3 = Color3.fromRGB(25, 25, 35) Title.BorderSizePixel = 0 Title.Size = UDim2.new(1, 0, 0, 40) Title.Font = Enum.Font.GothamBold Title.Text = " ⚡ Salchiblox Speed" Title.TextColor3 = Color3.fromRGB(240, 240, 255) Title.TextSize = 15 Title.TextXAlignment = Enum.TextXAlignment.Left Instance.new("UICorner", Title).CornerRadius = UDim.new(0, 12) -- Close Button ('X') local CloseBtn = Instance.new("TextButton", Title) CloseBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) CloseBtn.Position = UDim2.new(1, -32, 0.5, -12) CloseBtn.Size = UDim2.new(0, 24, 0, 24) CloseBtn.Font = Enum.Font.GothamBold CloseBtn.Text = "X" CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255) CloseBtn.TextSize = 13 Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 6) -- Hide Button ('-') local HideBtn = Instance.new("TextButton", Title) HideBtn.BackgroundColor3 = Color3.fromRGB(70, 70, 90) HideBtn.Position = UDim2.new(1, -62, 0.5, -12) HideBtn.Size = UDim2.new(0, 24, 0, 24) HideBtn.Font = Enum.Font.GothamBold HideBtn.Text = "-" HideBtn.TextColor3 = Color3.fromRGB(255, 255, 255) HideBtn.TextSize = 14 Instance.new("UICorner", HideBtn).CornerRadius = UDim.new(0, 6) -- Tab Bar local TabBar = Instance.new("Frame", MainFrame) TabBar.BackgroundColor3 = Color3.fromRGB(22, 22, 30) TabBar.BorderSizePixel = 0 TabBar.Position = UDim2.new(0, 0, 0, 42) TabBar.Size = UDim2.new(1, 0, 0, 35) local function createTabBtn(name, xPos, width) local btn = Instance.new("TextButton", TabBar) btn.BackgroundColor3 = Color3.fromRGB(30, 30, 42) btn.Position = UDim2.new(0, xPos, 0, 0) btn.Size = UDim2.new(0, width, 1, 0) btn.Font = Enum.Font.GothamBold btn.Text = name btn.TextColor3 = Color3.fromRGB(180, 180, 200) btn.TextSize = 11 btn.BorderSizePixel = 0 return btn end local Tab1Btn = createTabBtn("Main", 0, 64) local Tab2Btn = createTabBtn("Speed", 64, 64) local Tab3Btn = createTabBtn("Jump", 128, 64) local Tab4Btn = createTabBtn("Visuals", 192, 64) local Tab5Btn = createTabBtn("Settings", 256, 64) Tab1Btn.BackgroundColor3 = Color3.fromRGB(120, 80, 255) Tab1Btn.TextColor3 = Color3.fromRGB(255, 255, 255) -- Content Holder local ContentContainer = Instance.new("Frame", MainFrame) ContentContainer.BackgroundTransparency = 1 ContentContainer.Position = UDim2.new(0, 0, 0, 80) ContentContainer.Size = UDim2.new(1, 0, 1, -80) local function createScrollingTab() local tab = Instance.new("ScrollingFrame", ContentContainer) tab.BackgroundTransparency = 1 tab.Size = UDim2.new(1, 0, 1, 0) tab.CanvasSize = UDim2.new(0, 0, 0, 460) tab.ScrollBarThickness = 4 tab.Visible = false return tab end local Tab1 = createScrollingTab(); Tab1.Visible = true local Tab2 = createScrollingTab() local Tab3 = createScrollingTab() local Tab4 = createScrollingTab() local Tab5 = createScrollingTab() local tabs = {Tab1, Tab2, Tab3, Tab4, Tab5} local tabBtns = {Tab1Btn, Tab2Btn, Tab3Btn, Tab4Btn, Tab5Btn} -- Dynamic UI Color Application Tracking local activeThemeColor = Color3.fromRGB(120, 80, 255) local function updateActiveTheme(col) activeThemeColor = col MainStroke.Color = col for j, t in ipairs(tabs) do if t.Visible then tabBtns[j].BackgroundColor3 = col end end end for i, btn in ipairs(tabBtns) do btn.MouseButton1Click:Connect(function() for j, t in ipairs(tabs) do t.Visible = (j == i) tabBtns[j].BackgroundColor3 = (j == i) and activeThemeColor or Color3.fromRGB(30, 30, 42) tabBtns[j].TextColor3 = (j == i) and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(180, 180, 200) end end) end -- UI Controls Builders local function createSlider(parent, name, minVal, maxVal, defaultVal, yPos, callback) local Label = Instance.new("TextLabel", parent) Label.BackgroundTransparency = 1 Label.Position = UDim2.new(0, 15, 0, yPos) Label.Size = UDim2.new(1, -30, 0, 20) Label.Font = Enum.Font.GothamSemibold Label.Text = name .. ": " .. defaultVal Label.TextColor3 = Color3.fromRGB(210, 210, 230) Label.TextSize = 13 Label.TextXAlignment = Enum.TextXAlignment.Left local SliderBG = Instance.new("Frame", parent) SliderBG.BackgroundColor3 = Color3.fromRGB(35, 35, 48) SliderBG.BorderSizePixel = 0 SliderBG.Position = UDim2.new(0, 15, 0, yPos + 20) SliderBG.Size = UDim2.new(1, -30, 0, 8) Instance.new("UICorner", SliderBG).CornerRadius = UDim.new(1, 0) local SliderFill = Instance.new("Frame", SliderBG) SliderFill.BackgroundColor3 = Color3.fromRGB(120, 80, 255) SliderFill.BorderSizePixel = 0 SliderFill.Size = UDim2.new((defaultVal - minVal)/(maxVal - minVal), 0, 1, 0) Instance.new("UICorner", SliderFill).CornerRadius = UDim.new(1, 0) local draggingSlider = false local function updateInput(input) local pos = math.clamp((input.Position.X - SliderBG.AbsolutePosition.X) / SliderBG.AbsoluteSize.X, 0, 1) local value = math.floor(minVal + (maxVal - minVal) * pos) SliderFill.Size = UDim2.new(pos, 0, 1, 0) Label.Text = name .. ": " .. value callback(value) end SliderBG.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingSlider = true updateInput(input) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingSlider = false end end) UserInputService.InputChanged:Connect(function(input) if draggingSlider and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then updateInput(input) end end) end local function createToggle(parent, name, yPos, callback) local ToggleBtn = Instance.new("TextButton", parent) ToggleBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 42) ToggleBtn.BorderSizePixel = 0 ToggleBtn.Position = UDim2.new(0, 15, 0, yPos) ToggleBtn.Size = UDim2.new(1, -30, 0, 34) ToggleBtn.Font = Enum.Font.GothamSemibold ToggleBtn.Text = name .. ": OFF" ToggleBtn.TextColor3 = Color3.fromRGB(210, 210, 230) ToggleBtn.TextSize = 13 Instance.new("UICorner", ToggleBtn).CornerRadius = UDim.new(0, 6) local state = false ToggleBtn.MouseButton1Click:Connect(function() state = not state if state then ToggleBtn.BackgroundColor3 = Color3.fromRGB(60, 180, 100) ToggleBtn.Text = name .. ": ON" else ToggleBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 42) ToggleBtn.Text = name .. ": OFF" end callback(state) end) end -- Variables local noclipEnabled, antiStunEnabled = false, false local starfallMode, rainMode = "OFF", "OFF" local auraActive, spinbotActive = false, false -- Tab 1: Main createToggle(Tab1, "Noclip", 15, function(s) noclipEnabled = s end) createToggle(Tab1, "Anti-Stun & Anti-Kick", 60, function(s) antiStunEnabled = s end) createSlider(Tab1, "Gravity", 0, 350, gravityVal, 115, function(v) gravityVal = v; workspace.Gravity = v end) -- Tab 2: Speed createSlider(Tab2, "Base Speed", 1, 500, baseSpeed, 15, function(v) baseSpeed = v end) createSlider(Tab2, "Speed Multiplier", 1, 100, speedMultiplier, 90, function(v) speedMultiplier = v end) -- Tab 3: Jump createSlider(Tab3, "Base JumpPower", 10, 300, baseJump, 15, function(v) baseJump = v end) createSlider(Tab3, "Jump Multiplier", 1, 100, jumpMultiplier, 90, function(v) jumpMultiplier = v end) -- Tab 4: Visuals local rainColors = {Color3.fromRGB(100, 180, 255), Color3.fromRGB(255, 255, 255), Color3.fromRGB(50, 250, 150), Color3.fromRGB(255, 80, 180)} local rainColorNames = {"Blue", "White", "Green", "Pink"} local rainColorIdx = 1 local starColors = {Color3.fromRGB(255, 255, 150), Color3.fromRGB(255, 255, 255), Color3.fromRGB(100, 220, 255), Color3.fromRGB(200, 100, 255)} local starColorNames = {"Gold", "White", "Cyan", "Purple"} local starColorIdx = 1 local function createModeToggle(parent, name, yPos, modes, callback) local btn = Instance.new("TextButton", parent) btn.BackgroundColor3 = Color3.fromRGB(30, 30, 42) btn.Position = UDim2.new(0, 15, 0, yPos) btn.Size = UDim2.new(1, -30, 0, 34) btn.Font = Enum.Font.GothamSemibold btn.Text = name .. ": OFF" btn.TextColor3 = Color3.fromRGB(210, 210, 230) btn.TextSize = 13 Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6) local idx = 1 btn.MouseButton1Click:Connect(function() idx = idx % #modes + 1 local current = modes[idx] btn.Text = name .. ": " .. current btn.BackgroundColor3 = (current ~= "OFF") and Color3.fromRGB(60, 180, 100) or Color3.fromRGB(30, 30, 42) callback(current) end) end createModeToggle(Tab4, "Starfall Effect", 15, {"OFF", "UI", "All Screen"}, function(m) starfallMode = m end) local starColorBtn = Instance.new("TextButton", Tab4) starColorBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 55) starColorBtn.Position = UDim2.new(0, 15, 0, 55) starColorBtn.Size = UDim2.new(1, -30, 0, 24) starColorBtn.Font = Enum.Font.GothamSemibold starColorBtn.Text = "Starfall Color: Gold" starColorBtn.TextColor3 = Color3.fromRGB(210, 210, 230) starColorBtn.TextSize = 12 Instance.new("UICorner", starColorBtn).CornerRadius = UDim.new(0, 6) starColorBtn.MouseButton1Click:Connect(function() starColorIdx = starColorIdx % #starColors + 1 starColorBtn.Text = "Starfall Color: " .. starColorNames[starColorIdx] end) createModeToggle(Tab4, "Rain Effect", 90, {"OFF", "UI", "All Screen"}, function(m) rainMode = m end) local rainColorBtn = Instance.new("TextButton", Tab4) rainColorBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 55) rainColorBtn.Position = UDim2.new(0, 15, 0, 130) rainColorBtn.Size = UDim2.new(1, -30, 0, 24) rainColorBtn.Font = Enum.Font.GothamSemibold rainColorBtn.Text = "Rain Color: Blue" rainColorBtn.TextColor3 = Color3.fromRGB(210, 210, 230) rainColorBtn.TextSize = 12 Instance.new("UICorner", rainColorBtn).CornerRadius = UDim.new(0, 6) rainColorBtn.MouseButton1Click:Connect(function() rainColorIdx = rainColorIdx % #rainColors + 1 rainColorBtn.Text = "Rain Color: " .. rainColorNames[rainColorIdx] end) createToggle(Tab4, "Neon Character Aura", 165, function(s) auraActive = s end) createToggle(Tab4, "Spinbot Effect", 210, function(s) spinbotActive = s end) -- UI Theme Color Selector buttons local ColorLabel = Instance.new("TextLabel", Tab4) ColorLabel.BackgroundTransparency = 1 ColorLabel.Position = UDim2.new(0, 15, 0, 255) ColorLabel.Size = UDim2.new(1, -30, 0, 20) ColorLabel.Font = Enum.Font.GothamSemibold ColorLabel.Text = "UI Theme Accent Color" ColorLabel.TextColor3 = Color3.fromRGB(210, 210, 230) ColorLabel.TextSize = 13 ColorLabel.TextXAlignment = Enum.TextXAlignment.Left local function createThemeColorBtn(name, col, xPos) local btn = Instance.new("TextButton", Tab4) btn.BackgroundColor3 = col btn.Position = UDim2.new(0, 15 + xPos, 0, 280) btn.Size = UDim2.new(0, 65, 0, 30) btn.Text = name btn.Font = Enum.Font.GothamBold btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.TextSize = 11 Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6) btn.MouseButton1Click:Connect(function() updateActiveTheme(col) end) end createThemeColorBtn("Purple", Color3.fromRGB(120, 80, 255), 0) createThemeColorBtn("Blue", Color3.fromRGB(0, 150, 255), 72) createThemeColorBtn("Red", Color3.fromRGB(220, 50, 50), 144) createThemeColorBtn("Green", Color3.fromRGB(50, 200, 100), 216) -- Tab 5: Settings (Auto-Load, Permanent Save & Discord Copy Button) local SaveBtn = Instance.new("TextButton", Tab5) SaveBtn.BackgroundColor3 = Color3.fromRGB(120, 80, 255) SaveBtn.Position = UDim2.new(0, 15, 0, 15) SaveBtn.Size = UDim2.new(1, -30, 0, 38) SaveBtn.Font = Enum.Font.GothamBold SaveBtn.Text = "Save Current Settings Permanently" SaveBtn.TextColor3 = Color3.fromRGB(255, 255, 255) SaveBtn.TextSize = 12 Instance.new("UICorner", SaveBtn).CornerRadius = UDim.new(0, 6) SaveBtn.MouseButton1Click:Connect(function() if writefile then local data = { baseSpeed = baseSpeed, speedMultiplier = speedMultiplier, baseJump = baseJump, jumpMultiplier = jumpMultiplier, gravityVal = gravityVal } writefile(CONFIG_FILE, game:GetService("HttpService"):JSONEncode(data)) SaveBtn.Text = "Saved Successfully!" task.wait(1.5) SaveBtn.Text = "Save Current Settings Permanently" else SaveBtn.Text = "Executor doesn't support writefile!" end end) local DiscordBtn = Instance.new("TextButton", Tab5) DiscordBtn.BackgroundColor3 = Color3.fromRGB(88, 101, 242) -- Discord Blurple DiscordBtn.Position = UDim2.new(0, 15, 0, 65) DiscordBtn.Size = UDim2.new(1, -30, 0, 38) DiscordBtn.Font = Enum.Font.GothamBold DiscordBtn.Text = "Copy Discord Server Link" DiscordBtn.TextColor3 = Color3.fromRGB(255, 255, 255) DiscordBtn.TextSize = 12 Instance.new("UICorner", DiscordBtn).CornerRadius = UDim.new(0, 6) DiscordBtn.MouseButton1Click:Connect(function() local discordLink = "https://discord.gg/UGSmvHdGX" if setclipboard then setclipboard(discordLink) DiscordBtn.Text = "Copied to Clipboard!" task.wait(1.5) DiscordBtn.Text = "Copy Discord Server Link" else DiscordBtn.Text = "Clipboard not supported!" end end) -- Particle Spawner Loop task.spawn(function() while true do task.wait(0.08) if starfallMode ~= "OFF" then local targetParent = (starfallMode == "UI") and MainFrame or ScreenParticlesGui local star = Instance.new("Frame", targetParent) star.BackgroundColor3 = starColors[starColorIdx] star.BorderSizePixel = 0 star.Size = UDim2.new(0, math.random(2, 4), 0, math.random(2, 4)) star.Position = UDim2.new(math.random(), 0, 0, 0) Instance.new("UICorner", star).CornerRadius = UDim.new(1, 0) TweenService:Create(star, TweenInfo.new(math.random(2, 4), Enum.EasingStyle.Linear), { Position = UDim2.new(star.Position.X.Scale, 0, 1, 0), BackgroundTransparency = 1 }):Play() game:GetService("Debris"):AddItem(star, 4) end if rainMode ~= "OFF" then local targetParent = (rainMode == "UI") and MainFrame or ScreenParticlesGui local drop = Instance.new("Frame", targetParent) drop.BackgroundColor3 = rainColors[rainColorIdx] drop.BorderSizePixel = 0 drop.Size = UDim2.new(0, 1, 0, math.random(8, 14)) drop.Position = UDim2.new(math.random(), 0, 0, 0) TweenService:Create(drop, TweenInfo.new(0.5, Enum.EasingStyle.Linear), { Position = UDim2.new(drop.Position.X.Scale, -15, 1, 0), BackgroundTransparency = 1 }):Play() game:GetService("Debris"):AddItem(drop, 0.6) end end end) -- Execution Loop (Speed, Jump, Bypass protection) RunService.RenderStepped:Connect(function() local char = player.Character if char and char:FindFirstChild("Humanoid") then local hum = char.Humanoid hum.WalkSpeed = baseSpeed * speedMultiplier hum.UseJumpPower = true hum.JumpPower = baseJump * jumpMultiplier if spinbotActive and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = char.HumanoidRootPart.CFrame * CFrame.Angles(0, math.rad(25), 0) end end if noclipEnabled and char then for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end if auraActive and char then for _, p in pairs(char:GetChildren()) do if p:IsA("BasePart") then p.Color = activeThemeColor p.Material = Enum.Material.Neon end end end end) -- Auto-Load Config on Character Respawn/Join player.CharacterAdded:Connect(function() task.wait(0.5) loadExistingConfig() workspace.Gravity = gravityVal end) -- UI Actions (Minimize & Close) local hidden = false HideBtn.MouseButton1Click:Connect(function() hidden = not hidden ContentContainer.Visible = not hidden TabBar.Visible = not hidden if hidden then MainFrame.Size = UDim2.new(0, 320, 0, 40) HideBtn.Text = "+" else MainFrame.Size = UDim2.new(0, 320, 0, 420) HideBtn.Text = "-" end end) CloseBtn.MouseButton1Click:Connect(function() workspace.Gravity = 196.2 ScreenParticlesGui:Destroy() ScreenGui:Destroy() end)