local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()

local MainWindow = Rayfield:CreateWindow({
   Name = "All In One | Lightweight",
   Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
   LoadingTitle = "AIO Interface",
   LoadingSubtitle = "by Kyllxz",
   ShowText = "AIO Hub", -- for mobile users to unhide rayfield, change if you'd like
   Theme = "Ocean", -- Check https://[Log in to view URL]

   ToggleUIKeybind = "K", -- The keybind to toggle the UI visibility (string like "K" or Enum.KeyCode)

   DisableRayfieldPrompts = false,
   DisableBuildWarnings = false, -- Prevents Rayfield from warning when the script has a version mismatch with the interface

   ConfigurationSaving = {
      Enabled = true,
      FolderName = nil, -- Create a custom folder for your hub/game
      FileName = "AIO Hub"
   },

   Discord = {
      Enabled = false, -- Prompt the user to join your Discord server if their executor supports it
      Invite = "noinvitelink", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ ABCD would be ABCD
      RememberJoins = true -- Set this to false to make them join the discord every time they load it up
   },

   KeySystem = true, -- Set this to true to use our key system
   KeySettings = {
      Title = "AIO Key Access",
      Subtitle = "Key System",
      Note = "No method of obtaining the key is provided", -- Use this to tell the user how to get a key
      FileName = "Key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
      SaveKey = false, -- The user's key will be saved, but if you change the key, they will be unable to use your script
      GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
      Key = {"HALLOWEEN"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
   }
})

local InfoTab = MainWindow:CreateTab("Info", 75779773793946) -- Title, Image

local MainTab = MainWindow:CreateTab("Main Feature", 89774487639368) -- Title, Image
local FarmSection = MainTab:CreateSection("Farm")

local CollectMoneyEnabled = false

-- Stop collect when player respawns (so you must toggle again)
local function StopCollectOnDeath()
	local player = game.Players.LocalPlayer
	player.CharacterAdded:Connect(function()
		CollectMoneyEnabled = false
	end)
end

-- safe restore helper (makes sure humanoid isn't left in PlatformStand)
local function RestoreHumanoid(humanoid)
	if humanoid and humanoid.Parent then
		pcall(function()
			humanoid.PlatformStand = false
		end)
	end
end

local CollectMoney = MainTab:CreateToggle({
	Name = "Auto Collect Money",
	CurrentValue = false,
	Flag = "Collect",
	Callback = function(isEnabled)
		CollectMoneyEnabled = isEnabled

		if isEnabled then
			StopCollectOnDeath()

			task.spawn(function()
				while CollectMoneyEnabled do
					local player = game.Players.LocalPlayer
					local character = player.Character
					if not character then break end

					local humanoid = character:FindFirstChildOfClass("Humanoid")
					local root = character:FindFirstChild("HumanoidRootPart")
					if not humanoid or not root then break end

					local teamName = player.Team and player.Team.Name or nil
					local tycoonsFolder = workspace:FindFirstChild("Tycoon") and workspace.Tycoon:FindFirstChild("Tycoons")
					local myTycoon = tycoonsFolder and tycoonsFolder:FindFirstChild(teamName)
					local essentials = myTycoon and myTycoon:FindFirstChild("Essentials")
					local collectorPart = essentials and essentials:FindFirstChild("CashCollector")

					if collectorPart and collectorPart:IsA("BasePart") then
						-- 1) Enter PlatformStand so physics/animations won't push you
						pcall(function() humanoid.PlatformStand = true end)

						-- 2) Move horizontally above the collector (preserve orientation)
						local targetX, targetZ = collectorPart.Position.X, collectorPart.Position.Z
						local startY = collectorPart.Position.Y + 3 -- stand above
						root.CFrame = CFrame.new(targetX, startY, targetZ)

						-- tiny wait to ensure position applied
						task.wait(0.03)

						-- 3) Smooth forced downward nudges totalling ~0.5 studs
						local steps = 3
						local stepAmount = 0.2 -- 5 * 0.1 = 0.5 studs
						for i = 1, steps do
							if not CollectMoneyEnabled then break end
							-- compute new Y based on current position to avoid overshoot
							local curPos = root.Position
							local newY = curPos.Y - stepAmount
							-- clamp so we don't go below collector bottom
							local minY = collectorPart.Position.Y + 0.5
							if newY < minY then newY = minY end
							root.CFrame = CFrame.new(targetX, newY, targetZ)
							-- zero velocities to avoid residual physics
							pcall(function()
								root.AssemblyLinearVelocity = Vector3.zero
								root.AssemblyAngularVelocity = Vector3.zero
							end)
							task.wait(0.03)
						end

						-- brief pause so collector can register touch
						task.wait(0.1)

						-- 4) Restore normal control so character stands up
						RestoreHumanoid(humanoid)
					end

					-- small delay before next attempt
					task.wait(0.05)
				end

				-- ensure humanoid restored when loop ends
				local finalPlayer = game.Players.LocalPlayer
				local finalChar = finalPlayer and finalPlayer.Character
				local finalHum = finalChar and finalChar:FindFirstChildOfClass("Humanoid")
				if finalHum then
					RestoreHumanoid(finalHum)
				end
			end)
		else
			-- toggled OFF: clean up any PlatformStand on current humanoid
			local player = game.Players.LocalPlayer
			local character = player.Character
			local humanoid = character and character:FindFirstChildOfClass("Humanoid")
			if humanoid then
				RestoreHumanoid(humanoid)
			end
		end
	end,
})

local TeleportTab = MainWindow:CreateTab("Teleport", 83125664277456) -- Title, Image
local TeleportSection = TeleportTab:CreateSection("City")

local CaptureFlag = TeleportTab:CreateButton({
   Name = "Teleport To Capture Point",
   Callback = function()
       game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.workspace.Beams.CapturePoint1.CFrame
   end,
})

local MiscTab = MainWindow:CreateTab("Misc", 75021859246805) -- Title, Image
local MiscSection = MiscTab:CreateSection("Player")

local player = game.Players.LocalPlayer

local WalkSpeedSlider = MiscTab:CreateSlider({
	Name = "Walk Speed",
	Range = {16, 1000},
	Increment = 1,
	Suffix = "Speed",
	CurrentValue = 16,
	Flag = "WalkSpeedSlider",
	Callback = function(Value)
		player:SetAttribute("SavedWalkSpeed", Value)

		local character = player.Character
		if character then
			local humanoid = character:FindFirstChildOfClass("Humanoid")
			if humanoid then
				humanoid.WalkSpeed = Value

				humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function()
					if humanoid.WalkSpeed ~= Value then
						humanoid.WalkSpeed = Value
					end
				end)
			end
		end
	end,
})

player.CharacterAdded:Connect(function(character)
	local humanoid = character:WaitForChild("Humanoid")
	local savedSpeed = player:GetAttribute("SavedWalkSpeed") or 16
	humanoid.WalkSpeed = savedSpeed

	humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function()
		if humanoid.WalkSpeed ~= savedSpeed then
			humanoid.WalkSpeed = savedSpeed
		end
	end)
end)

local player = game.Players.LocalPlayer

local JumpPowerSlider = MiscTab:CreateSlider({
	Name = "Jump Power",
	Range = {50, 1000},
	Increment = 1,
	Suffix = "Power",
	CurrentValue = 50,
	Flag = "JumpPowerSlider",
	Callback = function(Value)
		player:SetAttribute("SavedJumpPower", Value)

		local character = player.Character
		if character then
			local humanoid = character:FindFirstChildOfClass("Humanoid")
			if humanoid then
				humanoid.UseJumpPower = true
				humanoid.JumpPower = Value

				humanoid:GetPropertyChangedSignal("JumpPower"):Connect(function()
					if humanoid.JumpPower ~= Value then
						humanoid.JumpPower = Value
					end
				end)
			end
		end
	end,
})

player.CharacterAdded:Connect(function(character)
	local humanoid = character:WaitForChild("Humanoid")
	humanoid.UseJumpPower = true
	local savedPower = player:GetAttribute("SavedJumpPower") or 50
	humanoid.JumpPower = savedPower

	humanoid:GetPropertyChangedSignal("JumpPower"):Connect(function()
		if humanoid.JumpPower ~= savedPower then
			humanoid.JumpPower = savedPower
		end
	end)
end)

local MiscSection = MiscTab:CreateSection("Script")

local InfiniteYield = MiscTab:CreateButton({
   Name = "Infinite Yield",
   Callback = function()
      loadstring(game:HttpGet('https://[Log in to view URL]'))()
   end,
})

local DexExplorer = MiscTab:CreateButton({
   Name = "Dex Explorer",
   Callback = function()
      loadstring(game:HttpGet("https://[Log in to view URL]"))()
   end,
})

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: