Description
--[[ Script Name: Darin X Spin Bot Features: Shift Lock support, Walking support, Toggle Keybind (1-Button ON/OFF), Close GUI Button, Speed Adjustments ]]-- local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer -- Clean up previous GUI if it already exists if player.PlayerGui:FindFirstChild("DarinXSpinBotGui") then player.PlayerGui.DarinXSpinBotGui:Destroy() end -- State Variables local spinEnabled = false local spinSpeed = 50 -- Default Speed local toggleKey = Enum.KeyCode.E -- Default Keybind (Press E to Toggle ON/OFF) local isBindingKey = false -- Create ScreenGui local screenGui = Instance.new ("ScreenGui") screenGui.Name = "DarinXSpinBotGui" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") -- Main Frame local mainFrame = Instance.new ("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new (0, 320, 0, 260) mainFrame.Position = UDim2.new (0.5, -160, 0.4, -130) mainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 24) mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true -- Allows you to click and move the GUI anywhere! mainFrame.Parent = screenGui local mainCorner = Instance.new ("UICorner") mainCorner.CornerRadius = UDim.new (0, 12) mainCorner.Parent = mainFrame local mainStroke = Instance.new ("UIStroke") mainStroke.Color = Color3.fromRGB(130, 80, 255) mainStroke.Thickness = 2 mainStroke.Parent = mainFrame -- Top Header Bar local topBar = Instance.new ("Frame") topBar.Size = UDim2.new (1, 0, 0, 40) topBar.BackgroundColor3 = Color3.fromRGB(25, 25, 35) topBar.BorderSizePixel = 0 topBar.Parent = mainFrame local topCorner = Instance.new ("UICorner") topCorner.CornerRadius = UDim.new (0, 12) topCorner.Parent = topBar local fixBar = Instance.new ("Frame") fixBar.Size = UDim2.new (1, 0, 0, 10) fixBar.Position = UDim2.new (0, 0, 1, -10) fixBar.BackgroundColor3 = Color3.fromRGB(25, 25, 35) fixBar.BorderSizePixel = 0 fixBar.Parent = topBar local titleLabel = Instance.new ("TextLabel") titleLabel.Size = UDim2.new (1, -50, 1, 0) titleLabel.Position = UDim2.new (0, 15, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "🔥 Darin X Spin Bot" titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.Font = Enum.Font.GothamBold titleLabel.TextSize = 16 titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = topBar -- Close GUI Button (X) local closeBtn = Instance.new ("TextButton") closeBtn.Size = UDim2.new (0, 30, 0, 30) closeBtn.Position = UDim2.new (1, -35, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) closeBtn.Text = "X" closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 14 closeBtn.Parent = topBar local closeCorner = Instance.new ("UICorner") closeCorner.CornerRadius = UDim.new (0, 6) closeCorner.Parent = closeBtn -- Status Text local statusLabel = Instance.new ("TextLabel") statusLabel.Size = UDim2.new (1, -30, 0, 25) statusLabel.Position = UDim2.new (0, 15, 0, 48) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "Status: [ DISABLED ]" statusLabel.TextColor3 = Color3.fromRGB(255, 80, 80) statusLabel.Font = Enum.Font.GothamBold statusLabel.TextSize = 14 statusLabel.TextXAlignment = Enum.TextXAlignment.Left statusLabel.Parent = mainFrame -- Speed Text Display local speedLabel = Instance.new ("TextLabel") speedLabel.Size = UDim2.new (1, -30, 0, 25) speedLabel.Position = UDim2.new (0, 15, 0, 73) speedLabel.BackgroundTransparency = 1 speedLabel.Text = "Speed: 50" speedLabel.TextColor3 = Color3.fromRGB(200, 200, 255) speedLabel.Font = Enum.Font.GothamMedium speedLabel.TextSize = 14 speedLabel.TextXAlignment = Enum.TextXAlignment.Left speedLabel.Parent = mainFrame -- Enable/Disable Toggle Button local toggleBtn = Instance.new ("TextButton") toggleBtn.Size = UDim2.new (0, 290, 0, 36) toggleBtn.Position = UDim2.new (0, 15, 0, 103) toggleBtn.BackgroundColor3 = Color3.fromRGB(45, 35, 70) toggleBtn.Text = "Toggle Spin: OFF" toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.Font = Enum.Font.GothamBold toggleBtn.TextSize = 14 toggleBtn.Parent = mainFrame local toggleCorner = Instance.new ("UICorner") toggleCorner.CornerRadius = UDim.new (0, 8) toggleCorner.Parent = toggleBtn local toggleStroke = Instance.new ("UIStroke") toggleStroke.Color = Color3.fromRGB(130, 80, 255) toggleStroke.Thickness = 1.5 toggleStroke.Parent = toggleBtn -- Speed Minus (-10) Button local minusBtn = Instance.new ("TextButton") minusBtn.Size = UDim2.new (0, 138, 0, 35) minusBtn.Position = UDim2.new (0, 15, 0, 148) minusBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 55) minusBtn.Text = "- 10 Speed" minusBtn.TextColor3 = Color3.fromRGB(255, 255, 255) minusBtn.Font = Enum.Font.GothamBold minusBtn.TextSize = 14 minusBtn.Parent = mainFrame local minusCorner = Instance.new ("UICorner") minusCorner.CornerRadius = UDim.new (0, 8) minusCorner.Parent = minusBtn -- Speed Plus (+10) Button local plusBtn = Instance.new ("TextButton") plusBtn.Size = UDim2.new (0, 138, 0, 35) plusBtn.Position = UDim2.new (0, 167, 0, 148) plusBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 55) plusBtn.Text = "+ 10 Speed" plusBtn.TextColor3 = Color3.fromRGB(255, 255, 255) plusBtn.Font = Enum.Font.GothamBold plusBtn.TextSize = 14 plusBtn.Parent = mainFrame local plusCorner = Instance.new ("UICorner") plusCorner.CornerRadius = UDim.new (0, 8) plusCorner.Parent = plusBtn -- Keybind Change Button local keybindBtn = Instance.new ("TextButton") keybindBtn.Size = UDim2.new (0, 290, 0, 35) keybindBtn.Position = UDim2.new (0, 15, 0, 193) keybindBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 45) keybindBtn.Text = "Keybind: [ E ]" keybindBtn.TextColor3 = Color3.fromRGB(180, 180, 255) keybindBtn.Font = Enum.Font.GothamMedium keybindBtn.TextSize = 13 keybindBtn.Parent = mainFrame local keybindCorner = Instance.new ("UICorner") keybindCorner.CornerRadius = UDim.new (0, 8) keybindCorner.Parent = keybindBtn -- Shift Lock & Walking Compatible Spin System RunService.RenderStepped:Connect(function(deltaTime) if spinEnabled then local character = player.Character if character then local rootPart = character:FindFirstChild("HumanoidRootPart") local humanoid = character:FindFirstChildOfClass("Humanoid") if rootPart and humanoid and humanoid.Health > 0 then -- Continuous CFrame rotation keeps spin active smoothly under Shift Lock rootPart.CFrame = rootPart.CFrame CFrame.Angles(0, math.rad(spinSpeed deltaTime * 60), 0) end end end end) -- Toggle Function (Handles both button click & single keybind press) local function toggleSpinState() spinEnabled = not spinEnabled if spinEnabled then statusLabel.Text = "Status: [ ACTIVE ]" statusLabel.TextColor3 = Color3.fromRGB(80, 255, 120) toggleBtn.Text = "Toggle Spin: ON" toggleBtn.BackgroundColor3 = Color3.fromRGB(70, 35, 110) toggleStroke.Color = Color3.fromRGB(170, 100, 255) else statusLabel.Text = "Status: [ DISABLED ]" statusLabel.TextColor3 = Color3.fromRGB(255, 80, 80) toggleBtn.Text = "Toggle Spin: OFF" toggleBtn.BackgroundColor3 = Color3.fromRGB(45, 35, 70) toggleStroke.Color = Color3.fromRGB(130, 80, 255) end end -- Button Listeners toggleBtn.MouseButton1Click:Connect(toggleSpinState) minusBtn.MouseButton1Click:Connect(function() spinSpeed = math.max(0, spinSpeed - 10) speedLabel.Text = "Speed: " .. tostring(spinSpeed) end) plusBtn.MouseButton1Click:Connect(function() spinSpeed = spinSpeed + 10 speedLabel.Text = "Speed: " .. tostring(spinSpeed) end) -- Close GUI Event closeBtn.MouseButton1Click:Connect(function() spinEnabled = false screenGui:Destroy() end) -- Keybind Change Listener keybindBtn.MouseButton1Click:Connect(function() isBindingKey = true keybindBtn.Text = "Press any key..." keybindBtn.TextColor3 = Color3.fromRGB(255, 220, 100) end) -- Universal Input Handler UserInputService.InputBegan:Connect(function(input, gameProcessed) -- Binding a new key if isBindingKey then if input.UserInputType == Enum.UserInputType.Keyboard then toggleKey = input.KeyCode keybindBtn.Text = "Keybind: [ " .. toggleKey.Name .. " ]" keybindBtn.TextColor3 = Color3.fromRGB(180, 180, 255) isBindingKey = false end return end -- Ignore typing in chat or text inputs if gameProcessed then return end -- Pressing the single keybind toggles spin ON / OFF if input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == toggleKey then toggleSpinState() end end) print("Darin X Spin Bot loaded successfully!")
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
--[[
Script Name: Darin X Spin Bot
Features: Shift Lock support, Walking support, Toggle Keybind (1-Button ON/OFF), Close GUI Button, Speed Adjustments
]]--
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
-- Clean up previous GUI if it already exists
if player.PlayerGui:FindFirstChild("DarinXSpinBotGui") then
player.PlayerGui.DarinXSpinBotGui:Destroy()
end
-- State Variables
local spinEnabled = false
local spinSpeed = 50 -- Default Speed
local toggleKey = Enum.KeyCode.E -- Default Keybind (Press E to Toggle ON/OFF)
local isBindingKey = false
-- Create ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "DarinXSpinBotGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")
-- Main Frame
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 320, 0, 260)
mainFrame.Position = UDim2.new(0.5, -160, 0.4, -130)
mainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 24)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true -- Allows you to click and move the GUI anywhere!
mainFrame.Parent = screenGui
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 12)
mainCorner.Parent = mainFrame
local mainStroke = Instance.new("UIStroke")
mainStroke.Color = Color3.fromRGB(130, 80, 255)
mainStroke.Thickness = 2
mainStroke.Parent = mainFrame
-- Top Header Bar
local topBar = Instance.new("Frame")
topBar.Size = UDim2.new(1, 0, 0, 40)
topBar.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
topBar.BorderSizePixel = 0
topBar.Parent = mainFrame
local topCorner = Instance.new("UICorner")
topCorner.CornerRadius = UDim.new(0, 12)
topCorner.Parent = topBar
local fixBar = Instance.new("Frame")
fixBar.Size = UDim2.new(1, 0, 0, 10)
fixBar.Position = UDim2.new(0, 0, 1, -10)
fixBar.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
fixBar.BorderSizePixel = 0
fixBar.Parent = topBar
local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, -50, 1, 0)
titleLabel.Position = UDim2.new(0, 15, 0, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "🔥 Darin X Spin Bot"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextSize = 16
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Parent = topBar
-- Close GUI Button (X)
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -35, 0, 5)
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
closeBtn.Text = "X"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.Parent = topBar
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 6)
closeCorner.Parent = closeBtn
-- Status Text
local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(1, -30, 0, 25)
statusLabel.Position = UDim2.new(0, 15, 0, 48)
statusLabel.BackgroundTransparency = 1
statusLabel.Text = "Status: [ DISABLED ]"
statusLabel.TextColor3 = Color3.fromRGB(255, 80, 80)
statusLabel.Font = Enum.Font.GothamBold
statusLabel.TextSize = 14
statusLabel.TextXAlignment = Enum.TextXAlignment.Left
statusLabel.Parent = mainFrame
-- Speed Text Display
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(1, -30, 0, 25)
speedLabel.Position = UDim2.new(0, 15, 0, 73)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "Speed: 50"
speedLabel.TextColor3 = Color3.fromRGB(200, 200, 255)
speedLabel.Font = Enum.Font.GothamMedium
speedLabel.TextSize = 14
speedLabel.TextXAlignment = Enum.TextXAlignment.Left
speedLabel.Parent = mainFrame
-- Enable/Disable Toggle Button
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 290, 0, 36)
toggleBtn.Position = UDim2.new(0, 15, 0, 103)
toggleBtn.BackgroundColor3 = Color3.fromRGB(45, 35, 70)
toggleBtn.Text = "Toggle Spin: OFF"
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.TextSize = 14
toggleBtn.Parent = mainFrame
local toggleCorner = Instance.new("UICorner")
toggleCorner.CornerRadius = UDim.new(0, 8)
toggleCorner.Parent = toggleBtn
local toggleStroke = Instance.new("UIStroke")
toggleStroke.Color = Color3.fromRGB(130, 80, 255)
toggleStroke.Thickness = 1.5
toggleStroke.Parent = toggleBtn
-- Speed Minus (-10) Button
local minusBtn = Instance.new("TextButton")
minusBtn.Size = UDim2.new(0, 138, 0, 35)
minusBtn.Position = UDim2.new(0, 15, 0, 148)
minusBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 55)
minusBtn.Text = "- 10 Speed"
minusBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
minusBtn.Font = Enum.Font.GothamBold
minusBtn.TextSize = 14
minusBtn.Parent = mainFrame
local minusCorner = Instance.new("UICorner")
minusCorner.CornerRadius = UDim.new(0, 8)
minusCorner.Parent = minusBtn
-- Speed Plus (+10) Button
local plusBtn = Instance.new("TextButton")
plusBtn.Size = UDim2.new(0, 138, 0, 35)
plusBtn.Position = UDim2.new(0, 167, 0, 148)
plusBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 55)
plusBtn.Text = "+ 10 Speed"
plusBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
plusBtn.Font = Enum.Font.GothamBold
plusBtn.TextSize = 14
plusBtn.Parent = mainFrame
local plusCorner = Instance.new("UICorner")
plusCorner.CornerRadius = UDim.new(0, 8)
plusCorner.Parent = plusBtn
-- Keybind Change Button
local keybindBtn = Instance.new("TextButton")
keybindBtn.Size = UDim2.new(0, 290, 0, 35)
keybindBtn.Position = UDim2.new(0, 15, 0, 193)
keybindBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 45)
keybindBtn.Text = "Keybind: [ E ]"
keybindBtn.TextColor3 = Color3.fromRGB(180, 180, 255)
keybindBtn.Font = Enum.Font.GothamMedium
keybindBtn.TextSize = 13
keybindBtn.Parent = mainFrame
local keybindCorner = Instance.new("UICorner")
keybindCorner.CornerRadius = UDim.new(0, 8)
keybindCorner.Parent = keybindBtn
-- Shift Lock & Walking Compatible Spin System
RunService.RenderStepped:Connect(function(deltaTime)
if spinEnabled then
local character = player.Character
if character then
local rootPart = character:FindFirstChild("HumanoidRootPart")
local humanoid = character:FindFirstChildOfClass("Humanoid")
if rootPart and humanoid and humanoid.Health > 0 then
-- Continuous CFrame rotation keeps spin active smoothly under Shift Lock
rootPart.CFrame = rootPart.CFrame * CFrame.Angles(0, math.rad(spinSpeed * deltaTime * 60), 0)
end
end
end
end)
-- Toggle Function (Handles both button click & single keybind press)
local function toggleSpinState()
spinEnabled = not spinEnabled
if spinEnabled then
statusLabel.Text = "Status: [ ACTIVE ]"
statusLabel.TextColor3 = Color3.fromRGB(80, 255, 120)
toggleBtn.Text = "Toggle Spin: ON"
toggleBtn.BackgroundColor3 = Color3.fromRGB(70, 35, 110)
toggleStroke.Color = Color3.fromRGB(170, 100, 255)
else
statusLabel.Text = "Status: [ DISABLED ]"
statusLabel.TextColor3 = Color3.fromRGB(255, 80, 80)
toggleBtn.Text = "Toggle Spin: OFF"
toggleBtn.BackgroundColor3 = Color3.fromRGB(45, 35, 70)
toggleStroke.Color = Color3.fromRGB(130, 80, 255)
end
end
-- Button Listeners
toggleBtn.MouseButton1Click:Connect(toggleSpinState)
minusBtn.MouseButton1Click:Connect(function()
spinSpeed = math.max(0, spinSpeed - 10)
speedLabel.Text = "Speed: " .. tostring(spinSpeed)
end)
plusBtn.MouseButton1Click:Connect(function()
spinSpeed = spinSpeed + 10
speedLabel.Text = "Speed: " .. tostring(spinSpeed)
end)
-- Close GUI Event
closeBtn.MouseButton1Click:Connect(function()
spinEnabled = false
screenGui:Destroy()
end)
-- Keybind Change Listener
keybindBtn.MouseButton1Click:Connect(function()
isBindingKey = true
keybindBtn.Text = "Press any key..."
keybindBtn.TextColor3 = Color3.fromRGB(255, 220, 100)
end)
-- Universal Input Handler
UserInputService.InputBegan:Connect(function(input, gameProcessed)
-- Binding a new key
if isBindingKey then
if input.UserInputType == Enum.UserInputType.Keyboard then
toggleKey = input.KeyCode
keybindBtn.Text = "Keybind: [ " .. toggleKey.Name .. " ]"
keybindBtn.TextColor3 = Color3.fromRGB(180, 180, 255)
isBindingKey = false
end
return
end
-- Ignore typing in chat or text inputs
if gameProcessed then return end
-- Pressing the single keybind toggles spin ON / OFF
if input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == toggleKey then
toggleSpinState()
end
end)
print("Darin X Spin Bot loaded successfully!")Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.


Your community, in one place