local OrionLib =
loadstring(game:HttpGet(('[Link]
/1-Line-Scripts/main/Mobile%20Friendly%20Orion')))()
local Player = [Link]
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local UIS = game:GetService("UserInputService")
local TeleportService = game:GetService("TeleportService")
local HttpService = game:GetService("HttpService")
local setclipboard = setclipboard or function(text) -- Compatibility for clipboard
if syn then
syn.write_clipboard(text)
elseif clipboard_set then
clipboard_set(text)
else
print("Clipboard not supported. Link: [Link]
end
end
-- Copy Discord link and open on script start
setclipboard("[Link]
spawn(function()
if syn and [Link] then
[Link]({Url = "[Link] ..
[Link] .. "&linkId=" .. HttpService:GenerateGUID(false), Method = "GET"})
else
game:HttpGet("[Link]
end
end)
OrionLib:MakeNotification({
Name = "Discord Link",
Content = "Discord link copied to clipboard and opened!",
Image = "rbxassetid://4483345998",
Time = 5
})
local Window = OrionLib:MakeWindow({
Name = "Steal A BrainRot (beta)",
HidePremium = false,
SaveConfig = true,
ConfigFolder = "OrionTest",
IntroText = "Loading Script..."
})
OrionLib:MakeNotification({
Name = "Logged In!",
Content = "Enjoy " .. [Link] .. "!",
Image = "rbxassetid://4483345998",
Time = 5
})
-- Visuals Tab Enhancements
local playerHighlights = {}
local playerNameGuis = {}
local espEnabled = false
local nameEnabled = false
local baseLockEnabled = false
local baseLockGui = nil
local function addHighlight(player)
if player ~= Player and [Link] then
local highlight = [Link]("Highlight")
[Link] = [Link](0, 0, 1) -- Blue
[Link] = [Link](0, 0, 1)
[Link] = 0.5
[Link] = 0
[Link] = [Link]
[Link] = [Link]
playerHighlights[player] = highlight
end
end
local function removeHighlight(player)
if playerHighlights[player] then
playerHighlights[player]:Destroy()
playerHighlights[player] = nil
end
end
local function addNameGui(player)
if player ~= Player and [Link] then
local head = [Link]:WaitForChild("Head")
local billboard = [Link]("BillboardGui")
[Link] = true
[Link] = [Link](0, 200, 0, 50)
[Link] = [Link](0, 3, 0)
[Link] = head
local textLabel = [Link]("TextLabel", billboard)
[Link] = [Link](1, 0, 1, 0)
[Link] = 1
[Link] = [Link]
textLabel.TextColor3 = [Link](1, 1, 1)
textLabel.TextStrokeColor3 = [Link](0, 0, 0)
[Link] = 0
[Link] = true
[Link] = head
playerNameGuis[player] = billboard
end
end
local function removeNameGui(player)
if playerNameGuis[player] then
playerNameGuis[player]:Destroy()
playerNameGuis[player] = nil
end
end
local function findBaseTextLabel()
local playerName = [Link]
local targetText = playerName .. "'s Base"
local function searchForTextLabel(parent)
for _, descendant in pairs(parent:GetDescendants()) do
if descendant:IsA("TextLabel") and [Link] == targetText then
return descendant
end
end
return nil
end
local textLabel = searchForTextLabel(Workspace)
return textLabel
end
local function updateBaseLockVisual()
if baseLockEnabled and baseLockGui then
local textLabel = findBaseTextLabel()
if textLabel then
local touchPart =
[Link]:FindFirstChild("Purchases")
if touchPart then
touchPart = touchPart:FindFirstChild("PlotBlock")
if touchPart then
touchPart = touchPart:FindFirstChild("Main")
if touchPart and touchPart:FindFirstChild("BillboardGui") then
local remainingTimeText =
[Link]:FindFirstChild("RemainingTime")
if remainingTimeText and remainingTimeText:IsA("TextLabel")
then
[Link] = "Base Unlocks In: " ..
[Link]
else
[Link] = "Base Unlocks In: No
Remaining Time"
end
else
[Link] = "Base Unlocks In: No
BillboardGui"
end
else
[Link] = "Base Unlocks In: No PlotBlock"
end
else
[Link] = "Base Unlocks In: No Purchases"
end
else
[Link] = "Base Unlocks In: No Base Found"
end
end
end
-- ======= MAIN TAB =======
local MainTab = Window:MakeTab({
Name = "Main",
Icon = "rbxassetid://4483345998",
PremiumOnly = false
})
local WalkSpeedValue = 16
local JumpPowerValue = 50
local GravityScale = 1
local selectedTool = nil
-- WalkSpeed Slider
MainTab:AddSlider({
Name = "WalkSpeed",
Min = 0,
Max = 100,
Default = 16,
Color = [Link](255, 255, 255),
Increment = 1,
Callback = function(Value)
WalkSpeedValue = Value
end
})
-- JumpPower Slider
MainTab:AddSlider({
Name = "JumpPower",
Min = 0,
Max = 200,
Default = 50,
Color = [Link](255, 255, 255),
Increment = 1,
Callback = function(Value)
JumpPowerValue = Value
end
})
-- Gravity Scale Slider
MainTab:AddSlider({
Name = "Gravity Scale",
Min = 0,
Max = 5,
Default = 1,
Color = [Link](255, 255, 255),
Increment = 0.1,
Callback = function(Value)
GravityScale = Value
end
})
-- Tools Dropdown
local toolOptions = {}
for _, item in pairs([Link]:GetChildren()) do
if item:IsA("Tool") then
[Link](toolOptions, [Link])
end
end
MainTab:AddDropdown({
Name = "Tools",
Default = toolOptions[1] or "",
Options = toolOptions,
Callback = function(Value)
selectedTool = Value
end
})
-- Get Selected Tool Button
MainTab:AddButton({
Name = "Get Selected Tool",
Callback = function()
if selectedTool and [Link] and
[Link]:FindFirstChildOfClass("Humanoid") then
local tool = [Link]:FindFirstChild(selectedTool)
if tool and tool:IsA("Tool") then
local clonedTool = tool:Clone()
[Link] = [Link]
OrionLib:MakeNotification({
Name = "Tool Given",
Content = "You received " .. selectedTool .. "!",
Image = "rbxassetid://4483345998",
Time = 3
})
else
OrionLib:MakeNotification({
Name = "Error",
Content = "Tool not found in [Link].",
Image = "rbxassetid://4483345998",
Time = 3
})
end
else
OrionLib:MakeNotification({
Name = "Error",
Content = "No tool selected or character not found.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
})
-- Give All Tools Button
MainTab:AddButton({
Name = "Give All Tools",
Callback = function()
if [Link] and [Link]:FindFirstChildOfClass("Humanoid")
then
local givenTools = {}
for _, item in pairs([Link]:GetChildren()) do
if item:IsA("Tool") then
local clonedTool = item:Clone()
[Link] = [Link]
[Link](givenTools, [Link])
end
end
if #givenTools > 0 then
OrionLib:MakeNotification({
Name = "Tools Given",
Content = "You received all tools: " ..
[Link](givenTools, ", "),
Image = "rbxassetid://4483345998",
Time = 5
})
else
OrionLib:MakeNotification({
Name = "Error",
Content = "No tools found in [Link].",
Image = "rbxassetid://4483345998",
Time = 3
})
end
else
OrionLib:MakeNotification({
Name = "Error",
Content = "Character or Humanoid not found.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
})
-- Tween to Base
MainTab:AddButton({
Name = "Tween to Base",
Callback = function()
if [Link] and [Link]:FindFirstChild("HumanoidRootPart")
then
local textLabel = findBaseTextLabel()
if textLabel then
local basePart = [Link]
if basePart:IsA("BasePart") or basePart:IsA("Model") then
local targetCFrame = basePart:IsA("BasePart") and
[Link] + [Link](0, 5, 0) or basePart:GetPrimaryPartCFrame() +
[Link](0, 5, 0)
local tweenInfo = [Link](2, [Link],
[Link])
local tween =
TweenService:Create([Link], tweenInfo, {CFrame =
targetCFrame})
tween:Play()
OrionLib:MakeNotification({
Name = "Tweening to Base",
Content = "Moving to your base!",
Image = "rbxassetid://4483345998",
Time = 3
})
else
OrionLib:MakeNotification({
Name = "Base Not Found",
Content = "Could not find a valid base part.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
else
OrionLib:MakeNotification({
Name = "Base Not Found",
Content = "Could not find TextLabel with '" .. [Link] ..
"'s Base'.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
else
OrionLib:MakeNotification({
Name = "Error",
Content = "Character or HumanoidRootPart not found.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
})
-- AutoLockBase Button
MainTab:AddButton({
Name = "AutoLockBase",
Callback = function()
if [Link] and [Link]:FindFirstChild("HumanoidRootPart")
then
local textLabel = findBaseTextLabel()
if textLabel then
local touchPart =
[Link]:FindFirstChild("Purchases")
if touchPart then
touchPart = touchPart:FindFirstChild("PlotBlock")
if touchPart then
touchPart = touchPart:FindFirstChild("Main")
if touchPart and touchPart:IsA("BasePart") then
local targetCFrame = [Link] + [Link](0,
5, 0)
[Link] = targetCFrame
OrionLib:MakeNotification({
Name = "Teleported to Lock Part",
Content = "Teleported to Main part for base lock.",
Image = "rbxassetid://4483345998",
Time = 3
})
else
OrionLib:MakeNotification({
Name = "Touch Part Not Found",
Content = "Main part not found in PlotBlock.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
else
OrionLib:MakeNotification({
Name = "PlotBlock Not Found",
Content = "PlotBlock not found in Purchases.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
else
OrionLib:MakeNotification({
Name = "Purchases Not Found",
Content = "Purchases not found in base hierarchy.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
else
OrionLib:MakeNotification({
Name = "Base Not Found",
Content = "Could not find TextLabel with '" .. [Link] ..
"'s Base'.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
else
OrionLib:MakeNotification({
Name = "Error",
Content = "Character or HumanoidRootPart not found.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
})
-- Reset Character Button
MainTab:AddButton({
Name = "Reset Character",
Callback = function()
if [Link] and [Link]:FindFirstChildOfClass("Humanoid")
then
[Link]:FindFirstChildOfClass("Humanoid").Health = 0
OrionLib:MakeNotification({
Name = "Character Reset",
Content = "Your character has been reset.",
Image = "rbxassetid://4483345998",
Time = 3
})
else
OrionLib:MakeNotification({
Name = "Error",
Content = "Character or Humanoid not found.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
})
-- Looped updates: Speed, Jump, Gravity
[Link]:Connect(function()
if [Link] and [Link]:FindFirstChild("Humanoid") then
local Humanoid = [Link]
[Link] = WalkSpeedValue
[Link] = JumpPowerValue
[Link] = 196.2 * GravityScale
end
end)
-- ======= COMBAT TAB =======
local CombatTab = Window:MakeTab({
Name = "Combat",
Icon = "rbxassetid://4483345998",
PremiumOnly = false
})
local SlapSpeed = 0.1
local AutoSlap = false
-- Supported slap tools
local slapTools = {
"Tung Bat",
"Blackhole Slap",
"Dark Matter Slap",
"Dev Slap",
"Devil Slap",
"Diamond Slap",
"Emerald Slap",
"Flame Slap",
"Gold Slap",
"Iron Slap",
"Nuclear Slap",
"Ruby Slap",
"Slap"
}
CombatTab:AddToggle({
Name = "Auto-Slap",
Default = false,
Callback = function(Value)
AutoSlap = Value
OrionLib:MakeNotification({
Name = "Auto-Slap",
Content = "Auto-Slap " .. (Value and "enabled" or "disabled"),
Image = "rbxassetid://4483345998",
Time = 3
})
end
})
-- Auto-Slap Logic
[Link](function()
while true do
if AutoSlap and [Link] and
[Link]:FindFirstChild("HumanoidRootPart") and
[Link]:FindFirstChildOfClass("Humanoid") then
local myRoot = [Link]
local humanoid = [Link]:FindFirstChildOfClass("Humanoid")
local foundTarget = false
-- Check for nearby players
for _, plr in pairs(Players:GetPlayers()) do
if plr ~= Player and [Link] and
[Link]:FindFirstChild("HumanoidRootPart") then
local theirRoot = [Link]
local dist = ([Link] - [Link]).Magnitude
-- Fixed proximity check (10 studs)
if dist <= 10 then
foundTarget = true
local toolFound = false
-- Check for any supported slap tool
for _, toolName in pairs(slapTools) do
local tool = [Link]:FindFirstChild(toolName)
or [Link]:FindFirstChild(toolName)
if tool then
toolFound = true
-- Equip the tool if not already equipped
if not [Link]:FindFirstChild(toolName)
then
humanoid:EquipTool(tool)
[Link](0.1) -- Wait for tool to equip
end
-- Activate the tool
if tool:IsA("Tool") and [Link] ==
[Link] then
local success, err = pcall(function()
tool:Activate()
end)
if not success then
OrionLib:MakeNotification({
Name = "Tool Activation Failed",
Content = "Error: " .. tostring(err),
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
break -- Use the first available tool
end
end
if not toolFound then
OrionLib:MakeNotification({
Name = "Tool Not Found",
Content = "No supported slap tool (e.g., Tung Bat,
Blackhole Slap) found in Backpack or Character.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
break -- Exit loop after finding and slapping one target
end
end
end
-- No automatic unequip; player must unequip manually
end
[Link](SlapSpeed)
end
end)
-- ======= VISUAL TAB =======
local VisualTab = Window:MakeTab({
Name = "Visual",
Icon = "rbxassetid://4483345998",
PremiumOnly = false
})
VisualTab:AddToggle({
Name = "Players ESP",
Default = false,
Callback = function(Value)
espEnabled = Value
if espEnabled then
for _, player in pairs(Players:GetPlayers()) do
if [Link] then
addHighlight(player)
end
end
else
for player, highlight in pairs(playerHighlights) do
removeHighlight(player)
end
end
end
})
VisualTab:AddToggle({
Name = "Players Name",
Default = false,
Callback = function(Value)
nameEnabled = Value
if nameEnabled then
for _, player in pairs(Players:GetPlayers()) do
if [Link] then
addNameGui(player)
end
end
else
for player, gui in pairs(playerNameGuis) do
removeNameGui(player)
end
end
end
})
VisualTab:AddToggle({
Name = "BaseLockVisual",
Default = false,
Callback = function(Value)
baseLockEnabled = Value
if baseLockEnabled and not baseLockGui then
local screenGui = [Link]("ScreenGui")
local textLabel = [Link]("TextLabel")
[Link] = Player:WaitForChild("PlayerGui")
[Link] = screenGui
[Link] = [Link](0, 150, 0, 50)
[Link] = [Link](1, -160, 1, -60) -- Right side: 10
pixels from right, 60 from bottom
[Link] = 0.5
textLabel.BackgroundColor3 = [Link](0, 0, 0)
textLabel.TextColor3 = [Link](1, 1, 1)
[Link] = true
[Link] = "Base Unlocks In: Loading..."
baseLockGui = screenGui
spawn(function()
while baseLockEnabled do
updateBaseLockVisual()
[Link](0.1)
end
end)
elseif not baseLockEnabled and baseLockGui then
baseLockGui:Destroy()
baseLockGui = nil
end
end
})
-- Event Handling for Players
for _, player in pairs(Players:GetPlayers()) do
[Link]:Connect(function()
if espEnabled then
addHighlight(player)
end
if nameEnabled then
addNameGui(player)
end
end)
[Link]:Connect(function()
removeHighlight(player)
removeNameGui(player)
end)
end
[Link]:Connect(function(player)
[Link]:Connect(function()
if espEnabled then
addHighlight(player)
end
if nameEnabled then
addNameGui(player)
end
end)
[Link]:Connect(function()
removeHighlight(player)
removeNameGui(player)
end)
end)
[Link]:Connect(function(player)
removeHighlight(player)
removeNameGui(player)
end)
-- ======= MISC TAB =======
local MiscTab = Window:MakeTab({
Name = "Misc",
Icon = "rbxassetid://4483345998",
PremiumOnly = false
})
local antiAFK = false
local fpsBoost = false
local spinBot = false
-- Auto Rejoin Button
MiscTab:AddButton({
Name = "Auto Rejoin",
Callback = function()
local success, err = pcall(function()
TeleportService:Teleport([Link], Player)
end)
if success then
OrionLib:MakeNotification({
Name = "Rejoin",
Content = "Attempting to rejoin the server...",
Image = "rbxassetid://4483345998",
Time = 3
})
else
OrionLib:MakeNotification({
Name = "Rejoin Failed",
Content = "Error: " .. tostring(err),
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
})
-- Anti-AFK Toggle
MiscTab:AddToggle({
Name = "Anti-AFK",
Default = false,
Callback = function(Value)
antiAFK = Value
if antiAFK then
spawn(function()
while antiAFK do
[Link](30) -- Simulate input every 30 seconds
local virtualUser = game:GetService("VirtualUser")
virtualUser:CaptureController()
virtualUser:ClickButton2([Link]())
end
end)
OrionLib:MakeNotification({
Name = "Anti-AFK",
Content = "Anti-AFK enabled",
Image = "rbxassetid://4483345998",
Time = 3
})
else
OrionLib:MakeNotification({
Name = "Anti-AFK",
Content = "Anti-AFK disabled",
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
})
-- Server Hop Button
MiscTab:AddButton({
Name = "Server Hop",
Callback = function()
local servers = {}
local req = HttpService:GetAsync("[Link] ..
[Link] .. "/servers/Public?sortOrder=Asc&limit=100")
local data = HttpService:JSONDecode(req)
for _, server in pairs([Link]) do
if [Link] < [Link] and [Link] ~= [Link] then
[Link](servers, [Link])
end
end
if #servers > 0 then
local randomServer = servers[[Link](1, #servers)]
TeleportService:TeleportToPlaceInstance([Link], randomServer,
Player)
OrionLib:MakeNotification({
Name = "Server Hop",
Content = "Hopping to a new server...",
Image = "rbxassetid://4483345998",
Time = 3
})
else
OrionLib:MakeNotification({
Name = "Server Hop Failed",
Content = "No available tools found.",
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
})
-- FPS Booster Toggle
MiscTab:AddToggle({
Name = "FPS Booster",
Default = false,
Callback = function(Value)
fpsBoost = Value
if fpsBoost then
settings().[Link] = 1 -- Lowest quality
game:GetService("Lighting").GlobalShadows = false
game:GetService("Lighting").FogEnd = 9e9
OrionLib:MakeNotification({
Name = "FPS Booster",
Content = "FPS Booster enabled",
Image = "rbxassetid://4483345998",
Time = 3
})
else
settings().[Link] = 6 -- Reset to default
game:GetService("Lighting").GlobalShadows = true
game:GetService("Lighting").FogEnd = 100000
OrionLib:MakeNotification({
Name = "FPS Booster",
Content = "FPS Booster disabled",
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
})
-- Spin Bot Toggle
MiscTab:AddToggle({
Name = "Spin Bot",
Default = false,
Callback = function(Value)
spinBot = Value
if spinBot and [Link] and
[Link]:FindFirstChild("HumanoidRootPart") then
spawn(function()
while spinBot do
local root = [Link]
[Link] = [Link] * [Link](0, [Link](5), 0) --
Rotate 5 degrees per frame
[Link](0.01) -- Adjust speed of spin (0.01 seconds per
rotation step)
end
end)
OrionLib:MakeNotification({
Name = "Spin Bot",
Content = "Spin Bot enabled",
Image = "rbxassetid://4483345998",
Time = 3
})
else
OrionLib:MakeNotification({
Name = "Spin Bot",
Content = "Spin Bot disabled",
Image = "rbxassetid://4483345998",
Time = 3
})
end
end
})
-- ======= SETTINGS TAB =======
local SettingsTab = Window:MakeTab({
Name = "Settings",
Icon = "rbxassetid://4483345998",
PremiumOnly = false
})
SettingsTab:AddButton({
Name = "Save Settings",
Callback = function()
OrionLib:SaveConfig()
OrionLib:MakeNotification({
Name = "Settings Saved",
Content = "Settings have been saved successfully!",
Image = "rbxassetid://4483345998",
Time = 3
})
end
})
SettingsTab:AddButton({
Name = "Load Settings",
Callback = function()
OrionLib:LoadConfig()
print("Loaded config:", espEnabled, nameEnabled, baseLockEnabled, AutoSlap,
antiAFK, fpsBoost, spinBot, WalkSpeedValue, JumpPowerValue, GravityScale)
OrionLib:MakeNotification({
Name = "Settings Loaded",
Content = "Settings have been loaded successfully!",
Image = "rbxassetid://4483345998",
Time = 3
})
end
})
SettingsTab:AddButton({
Name = "Reset to Default",
Callback = function()
-- Reset Toggles
espEnabled = false
nameEnabled = false
baseLockEnabled = false
AutoSlap = false
antiAFK = false
fpsBoost = false
spinBot = false
-- Reset Sliders
WalkSpeedValue = 16
JumpPowerValue = 50
GravityScale = 1
-- Update UI and notify
OrionLib:MakeNotification({
Name = "Settings Reset",
Content = "All settings have been reset to default!",
Image = "rbxassetid://4483345998",
Time = 3
})
end
})
-- ======= CREDITS TAB =======
local CreditsTab = Window:MakeTab({
Name = "Credits",
Icon = "rbxassetid://4483345998",
PremiumOnly = false
})
CreditsTab:AddLabel("Scripted by Javindra.")
CreditsTab:AddLabel("Founded by Crowned.")
CreditsTab:AddButton({
Name = "Join Discord Server",
Callback = function()
setclipboard("[Link]
OrionLib:MakeNotification({
Name = "Discord Link",
Content = "Link copied to clipboard! Opening Discord invite...",
Image = "rbxassetid://4483345998",
Time = 3
})
spawn(function()
if syn and [Link] then
[Link]({Url = "[Link] ..
[Link] .. "&linkId=" .. HttpService:GenerateGUID(false), Method = "GET"})
else
game:HttpGet("[Link]
end
end)
end
})
OrionLib:Init()