--[[ RAYFIELD TEST MENU Aimbot + ESP + Movement + +1 Autofarm MAIN - Aimbot - Aimbot Part - Smooth Aimbot - Smoothness - FOV Circle - FOV Radius - Wall Check - Team Check - Triggerbot - Triggerbot Delay - ESP - ESP Boxes - ESP Names - Tracers MOVEMENT - Flight - Flight Speed - Speed - Speed Value - Noclip +1 - Autofarm - Starting Stage - Stage Delay ]] -------------------------------------------------- -- RAYFIELD LOADER -------------------------------------------------- local function loadRayfield() local success, result = pcall(function() local source = game:HttpGet( "https://sirius.menu/rayfield" ) if not source or source == "" then error("HttpGet returned empty source") end local fn, compileError = loadstring(source) if not fn then error( "loadstring compile error: " .. tostring(compileError) ) end return fn() end) if not success then warn( "[Rayfield Loader Error] " .. tostring(result) ) return nil end return result end local Rayfield = loadRayfield() if not Rayfield then warn("Rayfield could not be loaded.") return end -------------------------------------------------- -- SERVICES -------------------------------------------------- local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local PathfindingService = game:GetService("PathfindingService") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera if not LocalPlayer then warn("LocalPlayer not found.") return end -------------------------------------------------- -- WINDOW -------------------------------------------------- local Window local WindowSuccess, WindowError = pcall(function() Window = Rayfield:CreateWindow({ Name = "Aimbot & ESP", LoadingTitle = "Aimbot & ESP", LoadingSubtitle = "Own Game Testing", ConfigurationSaving = { Enabled = true, FolderName = nil, FileName = "AimbotESP" }, Discord = { Enabled = false, Invite = "", RememberJoins = true }, KeySystem = false }) end) if not WindowSuccess then warn( "[Window Error] " .. tostring(WindowError) ) return end -------------------------------------------------- -- TABS -------------------------------------------------- local MainTab = Window:CreateTab( "Main", 4483362458 ) local MovementTab = Window:CreateTab( "Movement", 4483362458 ) local PlusOneTab = Window:CreateTab( "+1", 4483362458 ) -------------------------------------------------- -- SETTINGS -------------------------------------------------- local AimbotEnabled = false local AimbotPart = "Head" local SmoothAimbot = false local Smoothness = 0.5 local FOVCircleEnabled = false local FOVRadius = 150 local WallCheck = false local TeamCheck = false local ESPEnabled = false local ESPBoxes = true local ESPNames = true local TracersEnabled = false local TriggerbotEnabled = false local TriggerbotDelay = 0.05 local TriggerbotLastShot = 0 -------------------------------------------------- -- MOVEMENT SETTINGS -------------------------------------------------- local FlightEnabled = false local FlightSpeed = 50 local SpeedEnabled = false local SpeedValue = 30 local NoclipEnabled = false local FlightConnection = nil local NoclipConnection = nil local FlightAttachment = nil local FlightVelocity = nil local NoclipOriginal = {} -------------------------------------------------- -- +1 SETTINGS -------------------------------------------------- local AutoFarmEnabled = false local SelectedStage = 1 local StageDelay = 1 local AutoFarmRunning = false -------------------------------------------------- -- DRAWING -------------------------------------------------- local DrawingLib = nil local DrawingAvailable = false pcall(function() if Drawing then DrawingLib = Drawing DrawingAvailable = true end end) local FOVCircle = nil if DrawingAvailable then pcall(function() FOVCircle = DrawingLib.new("Circle") FOVCircle.Visible = false FOVCircle.Filled = false FOVCircle.Thickness = 2 FOVCircle.Color = Color3.fromRGB( 255, 255, 255 ) FOVCircle.Radius = FOVRadius end) end local function UpdateFOVCircle() if not FOVCircle then return end local viewport = Camera.ViewportSize FOVCircle.Visible = FOVCircleEnabled FOVCircle.Radius = FOVRadius FOVCircle.Position = Vector2.new( viewport.X / 2, viewport.Y / 2 ) end -------------------------------------------------- -- DRAWING CACHE -------------------------------------------------- local ESPCache = {} local TracerCache = {} local function RemoveDrawing(object) if not object then return end pcall(function() object:Remove() end) pcall(function() object:Destroy() end) end local function ClearESP() for _, object in ipairs( ESPCache ) do RemoveDrawing(object) end table.clear( ESPCache ) end local function ClearTracers() for _, object in ipairs( TracerCache ) do RemoveDrawing(object) end table.clear( TracerCache ) end -------------------------------------------------- -- TEAM CHECK -------------------------------------------------- local function IsEnemy(player) if not player then return false end if player == LocalPlayer then return false end if not TeamCheck then return true end return player.Team ~= LocalPlayer.Team end -------------------------------------------------- -- WALL CHECK -------------------------------------------------- local function IsVisible(part) if not WallCheck then return true end if not part then return false end local character = LocalPlayer.Character if not character then return false end local origin = Camera.CFrame.Position local direction = part.Position - origin local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = { character } params.IgnoreWater = true local result = workspace:Raycast( origin, direction, params ) if not result then return true end return result.Instance:IsDescendantOf( part.Parent ) end -------------------------------------------------- -- GET TARGET -------------------------------------------------- local function GetNearestTarget() local viewport = Camera.ViewportSize local center = Vector2.new( viewport.X / 2, viewport.Y / 2 ) local closest = nil local closestDistance = FOVRadius for _, player in ipairs( Players:GetPlayers() ) do if IsEnemy(player) and player.Character then local character = player.Character local humanoid = character:FindFirstChildOfClass( "Humanoid" ) if humanoid and humanoid.Health > 0 then local part = character:FindFirstChild( AimbotPart ) if not part then part = character:FindFirstChild( "HumanoidRootPart" ) end if part then local screen, visible = Camera: WorldToViewportPoint( part.Position ) if visible then local distance = ( Vector2.new( screen.X, screen.Y ) - center ).Magnitude if distance <= FOVRadius and distance < closestDistance and IsVisible(part) then closest = part closestDistance = distance end end end end end end return closest end -------------------------------------------------- -- AIMBOT -------------------------------------------------- local function AimbotLoop() if not AimbotEnabled then return end local target = GetNearestTarget() if not target then return end local current = Camera.CFrame local desired = CFrame.lookAt( current.Position, target.Position ) if SmoothAimbot then Camera.CFrame = current:Lerp( desired, math.clamp( Smoothness, 0, 1 ) ) else Camera.CFrame = desired end end -------------------------------------------------- -- TRIGGERBOT -------------------------------------------------- local function GetCrosshairTarget() local viewport = Camera.ViewportSize local ray = Camera:ViewportPointToRay( viewport.X / 2, viewport.Y / 2 ) local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = { LocalPlayer.Character } params.IgnoreWater = true local result = workspace:Raycast( ray.Origin, ray.Direction * 1000, params ) if not result then return nil end local model = result.Instance: FindFirstAncestorOfClass( "Model" ) if not model then return nil end local player = Players:GetPlayerFromCharacter( model ) if not player then return nil end if not IsEnemy(player) then return nil end local humanoid = model:FindFirstChildOfClass( "Humanoid" ) if not humanoid or humanoid.Health <= 0 then return nil end if not IsVisible( result.Instance ) then return nil end return player end local function TriggerbotLoop() if not TriggerbotEnabled then return end local now = os.clock() if now - TriggerbotLastShot < TriggerbotDelay then return end local target = GetCrosshairTarget() if not target then return end local character = LocalPlayer.Character if not character then return end local tool = character:FindFirstChildOfClass( "Tool" ) if not tool then return end pcall(function() tool:Activate() end) TriggerbotLastShot = now end -------------------------------------------------- -- ESP -------------------------------------------------- local function UpdateESP() if not DrawingAvailable then return end ClearESP() if not ESPEnabled then return end for _, player in ipairs( Players:GetPlayers() ) do if IsEnemy(player) and player.Character then local character = player.Character local root = character:FindFirstChild( "HumanoidRootPart" ) local head = character:FindFirstChild( "Head" ) local humanoid = character:FindFirstChildOfClass( "Humanoid" ) if root and head and humanoid and humanoid.Health > 0 then local rootScreen, rootVisible = Camera: WorldToViewportPoint( root.Position ) local headScreen, headVisible = Camera: WorldToViewportPoint( head.Position + Vector3.new( 0, 0.5, 0 ) ) if rootVisible and headVisible then local height = math.abs( rootScreen.Y - headScreen.Y ) * 1.5 local width = height / 2 if ESPBoxes then local box = DrawingLib.new( "Square" ) box.Visible = true box.Filled = false box.Thickness = 1 box.Color = Color3.fromRGB( 255, 0, 0 ) box.Size = Vector2.new( width, height ) box.Position = Vector2.new( headScreen.X - width / 2, headScreen.Y ) table.insert( ESPCache, box ) end if ESPNames then local text = DrawingLib.new( "Text" ) text.Visible = true text.Text = player.Name text.Size = 13 text.Center = true text.Outline = true text.Color = Color3.fromRGB( 255, 255, 255 ) text.Position = Vector2.new( headScreen.X, headScreen.Y - 15 ) table.insert( ESPCache, text ) end end end end end end -------------------------------------------------- -- TRACERS -------------------------------------------------- local function UpdateTracers() if not DrawingAvailable then return end ClearTracers() if not TracersEnabled then return end local character = LocalPlayer.Character if not character then return end local root = character:FindFirstChild( "HumanoidRootPart" ) if not root then return end local localScreen, localVisible = Camera: WorldToViewportPoint( root.Position ) if not localVisible then return end for _, player in ipairs( Players:GetPlayers() ) do if IsEnemy(player) and player.Character then local targetRoot = player.Character: FindFirstChild( "HumanoidRootPart" ) local humanoid = player.Character: FindFirstChildOfClass( "Humanoid" ) if targetRoot and humanoid and humanoid.Health > 0 then local targetScreen, visible = Camera: WorldToViewportPoint( targetRoot.Position ) if visible then local line = DrawingLib.new( "Line" ) line.Visible = true line.Thickness = 1 line.Color = Color3.fromRGB( 255, 255, 255 ) line.From = Vector2.new( localScreen.X, localScreen.Y ) line.To = Vector2.new( targetScreen.X, targetScreen.Y ) table.insert( TracerCache, line ) end end end end end -------------------------------------------------- -- FLIGHT -------------------------------------------------- local function StopFlight() if FlightConnection then FlightConnection:Disconnect() FlightConnection = nil end if FlightVelocity then FlightVelocity:Destroy() FlightVelocity = nil end if FlightAttachment then FlightAttachment:Destroy() FlightAttachment = nil end local character = LocalPlayer.Character if character then local humanoid = character:FindFirstChildOfClass( "Humanoid" ) if humanoid then humanoid.AutoRotate = true end end end local function StartFlight() StopFlight() local character = LocalPlayer.Character if not character then return end local root = character:FindFirstChild( "HumanoidRootPart" ) local humanoid = character:FindFirstChildOfClass( "Humanoid" ) if not root or not humanoid then return end humanoid.AutoRotate = false FlightAttachment = Instance.new("Attachment") FlightAttachment.Parent = root FlightVelocity = Instance.new("LinearVelocity") FlightVelocity.Attachment0 = FlightAttachment FlightVelocity.MaxForce = math.huge FlightVelocity.VectorVelocity = Vector3.zero FlightVelocity.Parent = root FlightConnection = RunService.RenderStepped: Connect(function() if not FlightEnabled then return end local current = LocalPlayer.Character if not current then return end local currentRoot = current:FindFirstChild( "HumanoidRootPart" ) local currentHumanoid = current:FindFirstChildOfClass( "Humanoid" ) if not currentRoot or not currentHumanoid then return end local direction = currentHumanoid.MoveDirection if direction.Magnitude > 0 then direction = direction.Unit * FlightSpeed else direction = Vector3.zero end local vertical = 0 if UserInputService:IsKeyDown( Enum.KeyCode.Space ) then vertical = 1 elseif UserInputService:IsKeyDown( Enum.KeyCode.LeftControl ) then vertical = -1 end direction += Vector3.new( 0, vertical * FlightSpeed, 0 ) if FlightVelocity then FlightVelocity.VectorVelocity = direction end currentRoot.AssemblyAngularVelocity = Vector3.zero end) end -------------------------------------------------- -- SPEED -------------------------------------------------- local function UpdateSpeed() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass( "Humanoid" ) if not humanoid then return end if SpeedEnabled then humanoid.WalkSpeed = SpeedValue else humanoid.WalkSpeed = 16 end end -------------------------------------------------- -- NOCLIP -------------------------------------------------- local function RestoreNoclip() for part, original in pairs( NoclipOriginal ) do if part and part.Parent then part.CanCollide = original end end table.clear( NoclipOriginal ) end local function StopNoclip() if NoclipConnection then NoclipConnection:Disconnect() NoclipConnection = nil end RestoreNoclip() end local function StartNoclip() StopNoclip() NoclipConnection = RunService.Stepped: Connect(function() if not NoclipEnabled then return end local character = LocalPlayer.Character if not character then return end for _, object in ipairs( character:GetDescendants() ) do if object:IsA( "BasePart" ) then if NoclipOriginal[ object ] == nil then NoclipOriginal[ object ] = object.CanCollide end object.CanCollide = false end end end) end -------------------------------------------------- -- +1 STAGE DETECTION -------------------------------------------------- local function ExtractStageNumber(name) if not name then return nil end local lower = string.lower(name) local number = string.match( lower, "stage%s*(%d+)" ) if number then return tonumber(number) end number = string.match( lower, "room%s*(%d+)" ) if number then return tonumber(number) end return nil end -------------------------------------------------- -- FIND STAGE CONTAINER -------------------------------------------------- local function FindStage(stageNumber) local exactNames = { "Stage " .. stageNumber, "Stage" .. stageNumber, "stage " .. stageNumber, "stage" .. stageNumber, "Room " .. stageNumber, "Room" .. stageNumber, "room " .. stageNumber, "room" .. stageNumber } for _, object in ipairs( workspace:GetDescendants() ) do if object:IsA("Model") or object:IsA("Folder") then for _, name in ipairs( exactNames ) do if object.Name == name then return object end end local number = ExtractStageNumber( object.Name ) if number == stageNumber then return object end end end return nil end -------------------------------------------------- -- FIND YELLOW PAD -------------------------------------------------- local function IsYellowPart(part) if not part:IsA("BasePart") then return false end local color = part.Color return color.R >= 0.75 and color.G >= 0.65 and color.B <= 0.45 end local function IsPlatformName(name) local lower = string.lower(name) return string.find( lower, "yellow" ) or string.find( lower, "win" ) or string.find( lower, "goal" ) or string.find( lower, "finish" ) or string.find( lower, "trophy" ) or string.find( lower, "pad" ) end local function FindYellowPad(stage) if not stage then return nil end -- First: known names for _, object in ipairs( stage:GetDescendants() ) do if object:IsA( "BasePart" ) and IsPlatformName( object.Name ) and IsYellowPart( object ) then return object end end -- Second: any yellow part local candidates = {} for _, object in ipairs( stage:GetDescendants() ) do if object:IsA( "BasePart" ) and IsYellowPart( object ) then table.insert( candidates, object ) end end if #candidates == 0 then return nil end -- Prefer larger yellow parts table.sort( candidates, function(a, b) local aSize = a.Size.X * a.Size.Y * a.Size.Z local bSize = b.Size.X * b.Size.Y * b.Size.Z return aSize > bSize end ) return candidates[1] end -------------------------------------------------- -- FIND START -------------------------------------------------- local function FindStageStart(stage) if not stage then return nil end local names = { "Start", "StartPoint", "Spawn", "SpawnPoint", "Entrance", "Entry", "Begin", "Beginning" } for _, wanted in ipairs( names ) do local object = stage:FindFirstChild( wanted, true ) if object and object:IsA( "BasePart" ) then return object end end return nil end -------------------------------------------------- -- MOVE USING PATHFINDING -------------------------------------------------- local function WalkToPosition(position) local character = LocalPlayer.Character if not character then return false end local humanoid = character:FindFirstChildOfClass( "Humanoid" ) local root = character:FindFirstChild( "HumanoidRootPart" ) if not humanoid or not root then return false end local path = PathfindingService:CreatePath({ AgentRadius = 2, AgentHeight = 5, AgentCanJump = true, AgentCanClimb = true, WaypointSpacing = 4 }) local success = pcall(function() path:ComputeAsync( root.Position, position ) end) if not success then return false end if path.Status ~= Enum.PathStatus.Success then return false end local waypoints = path:GetWaypoints() for _, waypoint in ipairs( waypoints ) do if not AutoFarmEnabled then return false end if waypoint.Action == Enum.PathWaypointAction.Jump then humanoid.Jump = true end humanoid:MoveTo( waypoint.Position ) local reached = humanoid.MoveToFinished: Wait() if not reached then return false end end return true end -------------------------------------------------- -- MOVE TO STAGE -------------------------------------------------- local function GoToStage(stage) if not stage then return false end local start = FindStageStart( stage ) if start then local targetPosition = start.Position + Vector3.new( 0, 3, 0 ) return WalkToPosition( targetPosition ) end return true end -------------------------------------------------- -- AUTOFARM -------------------------------------------------- local function StartAutoFarm() if AutoFarmRunning then return end AutoFarmRunning = true task.spawn(function() local currentStage = SelectedStage while AutoFarmEnabled do local stage = FindStage( currentStage ) if not stage then Rayfield:Notify({ Title = "Autofarm", Content = "Stage " .. tostring( currentStage ) .. " could not be found.", Duration = 3 }) break end Rayfield:Notify({ Title = "Autofarm", Content = "Going to Stage " .. tostring( currentStage ), Duration = 1 }) -------------------------------------------------- -- Stage start -------------------------------------------------- local startSuccess = GoToStage( stage ) if not startSuccess then task.wait(0.5) continue end -------------------------------------------------- -- Yellow pad -------------------------------------------------- local yellowPad = FindYellowPad( stage ) if not yellowPad then Rayfield:Notify({ Title = "Autofarm", Content = "No yellow Win Pad found in Stage " .. tostring( currentStage ), Duration = 3 }) task.wait(1) continue end -------------------------------------------------- -- Walk to yellow pad -------------------------------------------------- local reached = WalkToPosition( yellowPad.Position + Vector3.new( 0, 3, 0 ) ) if reached then Rayfield:Notify({ Title = "Autofarm", Content = "Completed Stage " .. tostring( currentStage ), Duration = 1 }) task.wait( StageDelay ) currentStage += 1 else task.wait(0.5) end end AutoFarmRunning = false end) end local function StopAutoFarm() AutoFarmEnabled = false end -------------------------------------------------- -- MAIN UI -------------------------------------------------- pcall(function() MainTab:CreateToggle({ Name = "Aimbot", CurrentValue = false, Flag = "Aimbot", Callback = function(value) AimbotEnabled = value end }) MainTab:CreateDropdown({ Name = "Aimbot Part", Options = { "Head", "HumanoidRootPart", "Torso", "LeftArm", "RightArm", "LeftLeg", "RightLeg" }, CurrentOption = { "Head" }, MultipleOptions = false, Flag = "AimbotPart", Callback = function(option) if type(option) == "table" then AimbotPart = option[1] else AimbotPart = option end end }) MainTab:CreateToggle({ Name = "Smooth Aimbot", CurrentValue = false, Flag = "SmoothAimbot", Callback = function(value) SmoothAimbot = value end }) MainTab:CreateSlider({ Name = "Smoothness", Range = { 0, 1 }, Increment = 0.05, CurrentValue = 0.5, Flag = "Smoothness", Callback = function(value) Smoothness = value end }) MainTab:CreateToggle({ Name = "FOV Circle", CurrentValue = false, Flag = "FOVCircle", Callback = function(value) FOVCircleEnabled = value UpdateFOVCircle() end }) MainTab:CreateSlider({ Name = "FOV Radius", Range = { 50, 500 }, Increment = 10, Suffix = " px", CurrentValue = 150, Flag = "FOVRadius", Callback = function(value) FOVRadius = value UpdateFOVCircle() end }) MainTab:CreateToggle({ Name = "Wall Check", CurrentValue = false, Flag = "WallCheck", Callback = function(value) WallCheck = value end }) MainTab:CreateToggle({ Name = "Team Check", CurrentValue = false, Flag = "TeamCheck", Callback = function(value) TeamCheck = value end }) MainTab:CreateToggle({ Name = "Triggerbot", CurrentValue = false, Flag = "Triggerbot", Callback = function(value) TriggerbotEnabled = value end }) MainTab:CreateSlider({ Name = "Triggerbot Delay", Range = { 0.01, 0.5 }, Increment = 0.01, Suffix = " sec", CurrentValue = 0.05, Flag = "TriggerbotDelay", Callback = function(value) TriggerbotDelay = value end }) MainTab:CreateToggle({ Name = "ESP", CurrentValue = false, Flag = "ESP", Callback = function(value) ESPEnabled = value if not value then ClearESP() end end }) MainTab:CreateToggle({ Name = "ESP Boxes", CurrentValue = true, Flag = "ESPBoxes", Callback = function(value) ESPBoxes = value end }) MainTab:CreateToggle({ Name = "ESP Names", CurrentValue = true, Flag = "ESPNames", Callback = function(value) ESPNames = value end }) MainTab:CreateToggle({ Name = "Tracers", CurrentValue = false, Flag = "Tracers", Callback = function(value) TracersEnabled = value if not value then ClearTracers() end end }) end) -------------------------------------------------- -- MOVEMENT UI -------------------------------------------------- pcall(function() MovementTab:CreateToggle({ Name = "Flight", CurrentValue = false, Flag = "Flight", Callback = function(value) FlightEnabled = value if value then StartFlight() else StopFlight() end end }) MovementTab:CreateSlider({ Name = "Flight Speed", Range = { 10, 200 }, Increment = 5, Suffix = " studs/s", CurrentValue = 50, Flag = "FlightSpeed", Callback = function(value) FlightSpeed = value end }) MovementTab:CreateToggle({ Name = "Speed", CurrentValue = false, Flag = "Speed", Callback = function(value) SpeedEnabled = value UpdateSpeed() end }) MovementTab:CreateSlider({ Name = "Speed Value", Range = { 16, 200 }, Increment = 1, Suffix = " studs/s", CurrentValue = 30, Flag = "SpeedValue", Callback = function(value) SpeedValue = value if SpeedEnabled then UpdateSpeed() end end }) MovementTab:CreateToggle({ Name = "Noclip", CurrentValue = false, Flag = "Noclip", Callback = function(value) NoclipEnabled = value if value then StartNoclip() else StopNoclip() end end }) end) -------------------------------------------------- -- +1 UI -------------------------------------------------- pcall(function() PlusOneTab:CreateToggle({ Name = "Autofarm", CurrentValue = false, Flag = "Autofarm", Callback = function(value) AutoFarmEnabled = value if value then StartAutoFarm() else StopAutoFarm() end end }) PlusOneTab:CreateDropdown({ Name = "Starting Stage", Options = { "Stage 1", "Stage 2", "Stage 3", "Stage 4", "Stage 5", "Stage 6", "Stage 7", "Stage 8", "Stage 9", "Stage 10", "Stage 11", "Stage 12", "Stage 13", "Stage 14", "Stage 15", "Stage 16", "Stage 17", "Stage 18", "Stage 19", "Stage 20" }, CurrentOption = { "Stage 1" }, MultipleOptions = false, Flag = "StartingStage", Callback = function(option) local selected = option if type(option) == "table" then selected = option[1] end local number = tonumber( string.match( selected, "%d+" ) ) if number then SelectedStage = number end end }) PlusOneTab:CreateSlider({ Name = "Stage Delay", Range = { 0.1, 5 }, Increment = 0.1, Suffix = " sec", CurrentValue = 1, Flag = "StageDelay", Callback = function(value) StageDelay = value end }) end) -------------------------------------------------- -- MAIN LOOP -------------------------------------------------- RunService.RenderStepped: Connect(function() pcall( AimbotLoop ) pcall( TriggerbotLoop ) pcall( UpdateFOVCircle ) if ESPEnabled then pcall( UpdateESP ) end if TracersEnabled then pcall( UpdateTracers ) end end) -------------------------------------------------- -- RESPAWN -------------------------------------------------- LocalPlayer.CharacterAdded: Connect(function() task.wait( 0.5 ) ClearESP() ClearTracers() if FlightEnabled then pcall( StartFlight ) end if NoclipEnabled then pcall( StartNoclip ) end if SpeedEnabled then pcall( UpdateSpeed ) end pcall( UpdateFOVCircle ) end) -------------------------------------------------- -- LOAD CONFIG -------------------------------------------------- pcall(function() Rayfield: LoadConfiguration() end) -------------------------------------------------- -- READY -------------------------------------------------- Rayfield:Notify({ Title = "Loaded", Content = "Main + Movement + +1 ready.", Duration = 4 }) print( "[Rayfield] Script loaded successfully." )