-- Load Rayfield local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() -- Create the window local Window = Rayfield:CreateWindow({ Name = "Fight Spammer", LoadingTitle = "Loading Fight Spammer...", LoadingSubtitle = "deepseekai", ConfigurationSaving = { Enabled = true, FolderName = "FightSpammer", FileName = "Config" }, Discord = { Enabled = false, Invite = "noinvitelink", RememberJoins = true }, KeySystem = false }) -- Create the main spammer tab local SpammerTab = Window:CreateTab("Spammer", 4072301924) local SpammerSection = SpammerTab:CreateSection("Toggle Actions") -- Create the README tab local ReadmeTab = Window:CreateTab("README", 4483362458) local ReadmeSection = ReadmeTab:CreateSection("Information") -- Create the Auto Farm tab local AutoFarmTab = Window:CreateTab("Auto Farm", 4072301924) local AutoFarmSection = AutoFarmTab:CreateSection("Cash Collector") -- Add README content local ReadmeLabel = ReadmeTab:CreateLabel("use the script carefully try not to get banned someone can record and report you to the devs btw cash farm is glitchy.\n\nCreated by: deepseekai\nVersion: 1.2") local ReadmeSection2 = ReadmeTab:CreateSection("Notes") local NotesLabel = ReadmeTab:CreateLabel("this is v1.2 added cash farm still might be glitchy, btw if you use hideunderground feature its glitchy. after executing the script cash farm will be activated idk why but to disable it turn off/on toggle cash farm.") -- Auto Farm variables local farmActive = false local farmLoop = nil local autoJumpActive = false local hideActive = false local hideLoop = nil local lastTeleportTime = 0 local TELEPORT_COOLDOWN = 0.3 -- Only teleport every 0.3 seconds (reduces lag) -- Function to find the nearest Cash part local function findNearestCash() local player = game:GetService("Players").LocalPlayer if not player or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then return nil end local characterPos = player.Character.HumanoidRootPart.Position local nearestCash = nil local shortestDistance = math.huge -- Search for all Cash parts for _, obj in ipairs(workspace:GetDescendants()) do if obj.Name == "Cash" and obj:IsA("BasePart") and obj.Parent then local distance = (obj.Position - characterPos).Magnitude if distance < shortestDistance then shortestDistance = distance nearestCash = obj end end end return nearestCash end -- Function to check if we're already on cash local function isOnCash(cashPart) local player = game:GetService("Players").LocalPlayer if not player or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then return false end local charPos = player.Character.HumanoidRootPart.Position local distance = (charPos - cashPart.Position).Magnitude -- If we're close enough, we're on it return distance < 5 end -- Main farm loop local function startFarmLoop() farmLoop = game:GetService("RunService").Stepped:Connect(function() if not farmActive then return end local currentTime = tick() if currentTime - lastTeleportTime < TELEPORT_COOLDOWN then return -- Skip if still on cooldown end local player = game:GetService("Players").LocalPlayer if not player or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then return end -- Find nearest cash local cashPart = findNearestCash() if cashPart and cashPart.Parent then -- Check if we're already on this cash if not isOnCash(cashPart) then -- Teleport to cash (slightly above to avoid spawning inside) local success = pcall(function() player.Character.HumanoidRootPart.CFrame = CFrame.new(cashPart.Position + Vector3.new(0, 3, 0)) lastTeleportTime = currentTime end) else -- We're already on cash lastTeleportTime = currentTime -- Still update time end end end) end -- Auto Jump loop local function startAutoJump() -- Auto jump runs independently spawn(function() while autoJumpActive do local player = game:GetService("Players").LocalPlayer if player and player.Character and player.Character:FindFirstChild("Humanoid") then -- Check if we're on cash before jumping local cashPart = findNearestCash() if cashPart and isOnCash(cashPart) then player.Character.Humanoid.Jump = true end end wait(0.5) -- Jump every 0.5 seconds when on cash end end) end -- Hide Underground function (UPDATED TO -10) local function startHideUnderground() hideLoop = game:GetService("RunService").Stepped:Connect(function() if not hideActive then return end local player = game:GetService("Players").LocalPlayer if player and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then -- Teleport player underground (just below the map at -10) local undergroundPos = Vector3.new( player.Character.HumanoidRootPart.Position.X, -10, -- Changed from -50 to -10 (just below ground) player.Character.HumanoidRootPart.Position.Z ) pcall(function() player.Character.HumanoidRootPart.CFrame = CFrame.new(undergroundPos) end) end end) end -- Stop farm loop local function stopFarmLoop() if farmLoop then farmLoop:Disconnect() farmLoop = nil end end -- Stop hide loop local function stopHideLoop() if hideLoop then hideLoop:Disconnect() hideLoop = nil end end -- Auto Farm toggle local AutoFarmToggle = AutoFarmTab:CreateToggle({ Name = "Auto Collect Cash", CurrentValue = false, Flag = "AutoFarmToggle", Callback = function(Value) if Value then -- Check if any Cash parts exist local testCash = findNearestCash() if testCash then farmActive = true startFarmLoop() Rayfield:Notify({ Title = "Auto Farm", Content = "Auto collecting cash!", Duration = 2, Image = 4483362458 }) else Rayfield:Notify({ Title = "Auto Farm", Content = "No Cash parts found!", Duration = 3, Image = 4483362458 }) AutoFarmToggle:Set(false) end else farmActive = false stopFarmLoop() Rayfield:Notify({ Title = "Auto Farm", Content = "Auto farm stopped", Duration = 2, Image = 4483362458 }) end end }) -- Auto Jump toggle local AutoJumpToggle = AutoFarmTab:CreateToggle({ Name = "Auto Jump (helps collect cash)", CurrentValue = false, Flag = "AutoJumpToggle", Callback = function(Value) autoJumpActive = Value if Value then startAutoJump() Rayfield:Notify({ Title = "Auto Jump", Content = "Auto jump enabled", Duration = 2, Image = 4483362458 }) else Rayfield:Notify({ Title = "Auto Jump", Content = "Auto jump disabled", Duration = 2, Image = 4483362458 }) end end }) -- Hide Underground toggle (UPDATED) local HideToggle = AutoFarmTab:CreateToggle({ Name = "Hide Underground (safe mode)", CurrentValue = false, Flag = "HideToggle", Callback = function(Value) hideActive = Value if Value then startHideUnderground() Rayfield:Notify({ Title = "Hide Mode", Content = "Hidden at -10!", Duration = 2, Image = 4483362458 }) else stopHideLoop() -- Teleport back to surface at current X,Z position local player = game:GetService("Players").LocalPlayer if player and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local surfacePos = Vector3.new( player.Character.HumanoidRootPart.Position.X, 10, -- Above ground player.Character.HumanoidRootPart.Position.Z ) player.Character.HumanoidRootPart.CFrame = CFrame.new(surfacePos) end Rayfield:Notify({ Title = "Hide Mode", Content = "Back to surface", Duration = 2, Image = 4483362458 }) end end }) -- Manual teleport button local TeleportButton = AutoFarmTab:CreateButton({ Name = "Teleport to Nearest Cash", Callback = function() local cashPart = findNearestCash() if cashPart then local player = game:GetService("Players").LocalPlayer if player and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then player.Character.HumanoidRootPart.CFrame = CFrame.new(cashPart.Position + Vector3.new(0, 3, 0)) Rayfield:Notify({ Title = "Teleport", Content = "Teleported to cash!", Duration = 2, Image = 4483362458 }) -- Auto jump once if enabled if autoJumpActive and player.Character:FindFirstChild("Humanoid") then wait(0.1) player.Character.Humanoid.Jump = true end end else Rayfield:Notify({ Title = "Error", Content = "No cash found!", Duration = 2, Image = 4483362458 }) end end }) -- Speed control slider local SpeedSection = AutoFarmTab:CreateSection("Performance Settings") local SpeedSlider = AutoFarmTab:CreateSlider({ Name = "Teleport Speed", Range = {1, 10}, Increment = 1, Suffix = "x", CurrentValue = 3, Flag = "SpeedSlider", Callback = function(Value) TELEPORT_COOLDOWN = 1 / Value end }) -- Status label local StatusLabel = AutoFarmTab:CreateLabel("Status: Waiting for toggle...") -- Update status AutoFarmToggle:Callback(function(Value) if Value then StatusLabel:Set("Status: ACTIVE - Collecting cash") else StatusLabel:Set("Status: Inactive") end end) -- Spam control variables local spamming = { Slap = false, Kick = false, Stomp = false } -- Function to stop all spamming local function stopAllSpamming() for action, _ in pairs(spamming) do spamming[action] = false end end -- Function for slap spam loop local function slapSpamLoop() while spamming.Slap do local success = pcall(function() local args = {"Slap"} game:GetService("Players").LocalPlayer:WaitForChild("Backpack"):WaitForChild("Fight"):WaitForChild("FightEvent"):FireServer(unpack(args)) end) if not success then spamming.Slap = false Rayfield:Notify({ Title = "Error", Content = "Slap spam stopped - Error occurred", Duration = 2.5, Image = 4483362458 }) end wait(0) end end -- Function for kick spam loop local function kickSpamLoop() while spamming.Kick do local success = pcall(function() local args = {"Kick"} game:GetService("Players").LocalPlayer:WaitForChild("Backpack"):WaitForChild("Fight"):WaitForChild("FightEvent"):FireServer(unpack(args)) end) if not success then spamming.Kick = false Rayfield:Notify({ Title = "Error", Content = "Kick spam stopped - Error occurred", Duration = 2.5, Image = 4483362458 }) end wait(0) end end -- Function for stomp spam loop local function stompSpamLoop() while spamming.Stomp do local success = pcall(function() local args = {"Stomp"} game:GetService("Players").LocalPlayer:WaitForChild("Backpack"):WaitForChild("Fight"):WaitForChild("FightEvent"):FireServer(unpack(args)) end) if not success then spamming.Stomp = false Rayfield:Notify({ Title = "Error", Content = "Stomp spam stopped - Error occurred", Duration = 2.5, Image = 4483362458 }) end wait(0) end end -- Slap Toggle local SlapToggle = SpammerTab:CreateToggle({ Name = "Slap Spammer", CurrentValue = false, Flag = "SlapSpam", Callback = function(Value) spamming.Slap = Value if Value then coroutine.wrap(slapSpamLoop)() Rayfield:Notify({ Title = "Slap Spammer", Content = "Slap spam started", Duration = 2, Image = 4483362458 }) else Rayfield:Notify({ Title = "Slap Spammer", Content = "Slap spam stopped", Duration = 2, Image = 4483362458 }) end end }) -- Kick Toggle local KickToggle = SpammerTab:CreateToggle({ Name = "Kick Spammer", CurrentValue = false, Flag = "KickSpam", Callback = function(Value) spamming.Kick = Value if Value then coroutine.wrap(kickSpamLoop)() Rayfield:Notify({ Title = "Kick Spammer", Content = "Kick spam started", Duration = 2, Image = 4483362458 }) else Rayfield:Notify({ Title = "Kick Spammer", Content = "Kick spam stopped", Duration = 2, Image = 4483362458 }) end end }) -- Stomp Toggle local StompToggle = SpammerTab:CreateToggle({ Name = "Stomp Spammer", CurrentValue = false, Flag = "StompSpam", Callback = function(Value) spamming.Stomp = Value if Value then coroutine.wrap(stompSpamLoop)() Rayfield:Notify({ Title = "Stomp Spammer", Content = "Stomp spam started", Duration = 2, Image = 4483362458 }) else Rayfield:Notify({ Title = "Stomp Spammer", Content = "Stomp spam stopped", Duration = 2, Image = 4483362458 }) end end }) -- Stop All Button local Section2 = SpammerTab:CreateSection("Controls") local StopButton = SpammerTab:CreateButton({ Name = "Stop All Spammers", Callback = function() spamming.Slap = false spamming.Kick = false spamming.Stomp = false -- Update toggle visuals SlapToggle:Set(false) KickToggle:Set(false) StompToggle:Set(false) Rayfield:Notify({ Title = "Stopped", Content = "All spammers stopped", Duration = 3, Image = 4483362458 }) end }) -- Destroy handler Rayfield:Notify({ Title = "Fight Spammer Loaded", Content = "Check README tab for info", Duration = 3, Image = 4483362458 }) -- Cleanup when GUI is destroyed game:GetService("CoreGui").ChildRemoved:Connect(function(child) if child == Rayfield then stopAllSpamming() stopFarmLoop() stopHideLoop() farmActive = false autoJumpActive = false hideActive = false end end)