--[[ ============================================================================================================= PROTOTYPE MENU V62 - THE BEHEMOTH EDITION (PC & MOBILE) ============================================================================================================= Developer: Expert Luau Engineer Features: 100% Features Restored, Fully Expanded Code, Zero Compression Macros, Flawless Keybinds. Status: Bulletproofed, Error-Handled, and Fully Optimized for Maximum Executor Compatibility. ============================================================================================================= ]] print("[Prototype] Initializing Prototype Menu V62...") if not game:IsLoaded() then game.Loaded:Wait() end -- ============================================================================ -- [1] ROBLOX SERVICES -- ============================================================================ local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local Workspace = game:GetService("Workspace") local Lighting = game:GetService("Lighting") local CoreGui = game:GetService("CoreGui") local VirtualInputManager = game:GetService("VirtualInputManager") local InsertService = game:GetService("InsertService") local LocalPlayer = Players.LocalPlayer local Camera = Workspace.CurrentCamera local Mouse = LocalPlayer:GetMouse() -- ============================================================================ -- [2] DRAWING API FAILSAFE (FOR MOBILE EXECUTORS) -- ============================================================================ local hasDrawing = false pcall(function() if type(Drawing) == "table" or type(Drawing) == "userdata" then if Drawing.new then hasDrawing = true print("[Prototype] Drawing API is supported.") end end end) -- ============================================================================ -- [3] GLOBAL STATE MANAGEMENT -- ============================================================================ local State = { -- Movement States Fly = false, Hover = false, Freecam = false, Speed = false, Noclip = false, SpiderClimb = false, FEHelicopter = false, InvGravity = false, MoonGravity = false, InfJump = false, MagicCarpet = false, CarFly = false, CarSpeedEnabled = false, -- Visual States ESP = false, Chams = false, Tracers = false, TeamCheck = false, Fullbright = false, XRay = false, ShowFOV = false, -- Combat & Utility States Hitbox = false, Invisibility = false, ClickTP = false, BuildMode = false, CamLock = false, LockBot = false, NPCCamLock = false, NPCLockBot = false, AntiRagdoll = false, VoidSaver = false, AntiCheatBypass = false, Triggerbot = false, RandomTP = false, KeybindsEnabled = true, -- Configurations & Sliders FlySpeed = 100, WalkSpeed = 175, FOV = 70, CamLockSmoothness = 0.5, CamLockFOV = 150, TriggerDelay = 0, XRayOpacity = 0.5, CarSpeed = 100, AimPrediction = 0, HeadScale = 1, BodyWidth = 1, BodyHeight = 1, RandomTPInterval = 2, } -- ============================================================================ -- [4] INTERNAL VARIABLES & CACHES -- ============================================================================ local Connections = {} local OriginalTransparencies = {} local OriginalXRay = {} local OriginalLighting = {} local FlyInstances = {} local SpiderInstances = {} local CarFlyInstances = {} local TracerLines = {} local SpawnedSlabs = {} local CarpetParts = {} local CachedNPCs = {} local FreecamPart = nil local CamlockTarget = nil local NPCCamlockTarget = nil local currentEmote = nil local FOVCircle = nil local Toggles = {} -- Stores Rayfield Toggles for Keybind Syncing local lastDashTime = 0 local lastBreakTime = 0 local lastTriggerTime = 0 local lastNPCCache = 0 local lastRandomTP = 0 -- Setup FOV Circle if Drawing API is present if hasDrawing then pcall(function() FOVCircle = Drawing.new("Circle") FOVCircle.Color = Color3.fromRGB(0, 225, 255) FOVCircle.Thickness = 1.5 FOVCircle.Filled = false FOVCircle.Transparency = 0.8 FOVCircle.Visible = false end) end -- ============================================================================ -- [5] THEME SAVER & RAYFIELD INITIALIZATION -- ============================================================================ local SavedTheme = "Amethyst" pcall(function() if isfile and readfile and isfile("PrototypeMenuTheme.txt") then local raw = readfile("PrototypeMenuTheme.txt") raw = string.gsub(raw, "%s+", "") -- Remove invisible characters local validThemes = {Amethyst=1, Ocean=1, Light=1, Serenity=1, DarkBlue=1, Green=1} if validThemes[raw] then SavedTheme = raw print("[Prototype] Loaded saved theme: " .. SavedTheme) end end end) print("[Prototype] Fetching Rayfield UI Library...") local successRay, Rayfield = pcall(function() return loadstring(game:HttpGet('https://sirius.menu/rayfield'))() end) if not successRay or type(Rayfield) ~= "table" then game.StarterGui:SetCore("SendNotification", { Title = "Prototype Error", Text = "Failed to load Rayfield UI. Executor might be blocking loadstring.", Duration = 10 }) warn("[Prototype] Rayfield UI failed to load.") return end print("[Prototype] Rayfield UI Loaded Successfully.") -- ============================================================================ -- [6] HELPER FUNCTIONS -- ============================================================================ local function getRoot(char) return char and char:FindFirstChild("HumanoidRootPart") end local function getVehicleRoot() local char = LocalPlayer.Character if not char then return nil end local hum = char:FindFirstChildOfClass("Humanoid") if hum and hum.SeatPart and hum.SeatPart:IsA("VehicleSeat") then local vehicle = hum.SeatPart:FindFirstAncestorOfClass("Model") if vehicle and vehicle.PrimaryPart then return vehicle.PrimaryPart else return hum.SeatPart end end return nil end local function spawnItemSafe(id, successMsg, customSetup) local success, err = pcall(function() local objects = game:GetObjects("rbxassetid://" .. tostring(id)) local item = objects[1] if item then if item:IsA("Tool") then item.Parent = LocalPlayer.Backpack else local hrp = getRoot(LocalPlayer.Character) if hrp then if item:IsA("Model") then item:PivotTo(hrp.CFrame * CFrame.new(0, 0, -5)) else item.CFrame = hrp.CFrame * CFrame.new(0, 0, -5) end end item.Parent = Workspace end if customSetup then customSetup(item) end Rayfield:Notify({Title = "Success!", Content = successMsg, Duration = 4}) end end) if not success then Rayfield:Notify({Title = "Execution Error", Content = "Your executor blocks game:GetObjects().", Duration = 5}) warn("[Prototype] Item spawn failed: " .. tostring(err)) end end -- ============================================================================ -- [7] MOVEMENT MODULES -- ============================================================================ local function setupFly(state) pcall(function() if Connections.Fly then Connections.Fly:Disconnect(); Connections.Fly = nil end local char = LocalPlayer.Character local hrp = getRoot(char) local hum = char and char:FindFirstChildOfClass("Humanoid") if not hrp or not hum then return end if state then hum.PlatformStand = true local bg = Instance.new("BodyGyro", hrp) bg.P = 9e4 bg.MaxTorque = Vector3.new(9e9, 9e9, 9e9) bg.CFrame = hrp.CFrame local bv = Instance.new("BodyVelocity", hrp) bv.Velocity = Vector3.new(0,0,0) bv.MaxForce = Vector3.new(9e9, 9e9, 9e9) FlyInstances.NormalFly = {bg, bv} local ControlModule pcall(function() ControlModule = require(LocalPlayer.PlayerScripts:WaitForChild("PlayerModule")):GetControls() end) Connections.Fly = RunService.RenderStepped:Connect(function() local moveVector = Vector3.zero if ControlModule then moveVector = ControlModule:GetMoveVector() end local W = UserInputService:IsKeyDown(Enum.KeyCode.W) and -1 or 0 local S = UserInputService:IsKeyDown(Enum.KeyCode.S) and 1 or 0 local A = UserInputService:IsKeyDown(Enum.KeyCode.A) and -1 or 0 local D = UserInputService:IsKeyDown(Enum.KeyCode.D) and 1 or 0 if moveVector.Magnitude == 0 then moveVector = Vector3.new(A + D, 0, W + S) end local camCFrame = Camera.CFrame local camDir = camCFrame.LookVector * -moveVector.Z local rightDir = camCFrame.RightVector * moveVector.X local upDown = (UserInputService:IsKeyDown(Enum.KeyCode.Space) and 1 or 0) + (UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) and -1 or 0) local finalDir = (camDir + rightDir + Vector3.new(0, upDown, 0)) if finalDir.Magnitude > 0 then finalDir = finalDir.Unit end bv.Velocity = finalDir * State.FlySpeed bg.CFrame = camCFrame end) else if FlyInstances.NormalFly then for _, inst in ipairs(FlyInstances.NormalFly) do if inst and inst.Parent then inst:Destroy() end end FlyInstances.NormalFly = nil end if hum and not State.FEHelicopter and not State.AntiRagdoll then hum.PlatformStand = false end end end) end local function executeDash() if tick() - lastDashTime < 3.5 then return end local char = LocalPlayer.Character local hrp = getRoot(char) if not hrp then return end lastDashTime = tick() local moveDir = hrp.CFrame.LookVector pcall(function() local ControlModule = require(LocalPlayer.PlayerScripts:WaitForChild("PlayerModule")):GetControls() local mv = ControlModule:GetMoveVector() if mv.Magnitude > 0 then moveDir = (Camera.CFrame.RightVector * mv.X + Camera.CFrame.LookVector * -mv.Z).Unit end end) local flatDir = Vector3.new(moveDir.X, 0, moveDir.Z) if flatDir.Magnitude > 0 then flatDir = flatDir.Unit end local dashVel = Instance.new("BodyVelocity") dashVel.Name = "PrototypeDash" dashVel.MaxForce = Vector3.new(9e9, 0, 9e9) dashVel.Velocity = flatDir * 150 dashVel.Parent = hrp task.delay(0.2, function() if dashVel and dashVel.Parent then dashVel:Destroy() end end) end UserInputService.JumpRequest:Connect(function() if State.InfJump and LocalPlayer.Character then local hrp = LocalPlayer.Character:FindFirstChild("HumanoidRootPart") local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hrp and hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) local jumpPower = (hum.UseJumpPower and hum.JumpPower) or 50 if not hum.UseJumpPower then jumpPower = math.sqrt(2 * Workspace.Gravity * hum.JumpHeight) end if jumpPower == 0 or jumpPower ~= jumpPower then jumpPower = 50 end hrp.AssemblyLinearVelocity = Vector3.new(hrp.AssemblyLinearVelocity.X, jumpPower, hrp.AssemblyLinearVelocity.Z) end end end) local function setupFreecam(state) pcall(function() if Connections.Freecam then Connections.Freecam:Disconnect(); Connections.Freecam = nil end local char = LocalPlayer.Character local hrp = getRoot(char) local hum = char and char:FindFirstChildOfClass("Humanoid") if state then if hrp then hrp.Anchored = true end FreecamPart = Instance.new("Part", Workspace) FreecamPart.Name = "PrototypeFreecam" FreecamPart.Size = Vector3.new(1,1,1) FreecamPart.Transparency = 1 FreecamPart.CanCollide = false FreecamPart.Anchored = false FreecamPart.CFrame = Camera.CFrame local bg = Instance.new("BodyGyro", FreecamPart) bg.P = 9e4 bg.MaxTorque = Vector3.new(9e9, 9e9, 9e9) bg.CFrame = FreecamPart.CFrame local bv = Instance.new("BodyVelocity", FreecamPart) bv.Velocity = Vector3.new(0,0,0) bv.MaxForce = Vector3.new(9e9, 9e9, 9e9) Camera.CameraSubject = FreecamPart local ControlModule pcall(function() ControlModule = require(LocalPlayer.PlayerScripts:WaitForChild("PlayerModule")):GetControls() end) Connections.Freecam = RunService.RenderStepped:Connect(function() local moveVector = Vector3.zero if ControlModule then moveVector = ControlModule:GetMoveVector() end local W = UserInputService:IsKeyDown(Enum.KeyCode.W) and -1 or 0 local S = UserInputService:IsKeyDown(Enum.KeyCode.S) and 1 or 0 local A = UserInputService:IsKeyDown(Enum.KeyCode.A) and -1 or 0 local D = UserInputService:IsKeyDown(Enum.KeyCode.D) and 1 or 0 if moveVector.Magnitude == 0 then moveVector = Vector3.new(A + D, 0, W + S) end local camCFrame = Camera.CFrame local camDir = camCFrame.LookVector * -moveVector.Z local rightDir = camCFrame.RightVector * moveVector.X local upDown = (UserInputService:IsKeyDown(Enum.KeyCode.Space) and 1 or 0) + (UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) and -1 or 0) local finalDir = (camDir + rightDir + Vector3.new(0, upDown, 0)) if finalDir.Magnitude > 0 then finalDir = finalDir.Unit end bv.Velocity = finalDir * State.FlySpeed bg.CFrame = camCFrame end) else if FreecamPart then FreecamPart:Destroy(); FreecamPart = nil end if hrp then hrp.Anchored = false end if hum then Camera.CameraSubject = hum end end end) end local function executeFreecamTP() if State.Freecam then local hrp = getRoot(LocalPlayer.Character) if hrp and FreecamPart then hrp.Anchored = false hrp.CFrame = FreecamPart.CFrame if Toggles.Freecam then Toggles.Freecam:Set(false) end end end end local function setupHover(state) if Connections.Hover then Connections.Hover:Disconnect(); Connections.Hover = nil end local char = LocalPlayer.Character local hrp = getRoot(char) if not hrp then return end if hrp:FindFirstChild("PrototypeHoverVel") then hrp.PrototypeHoverVel:Destroy() end if state then local bv = Instance.new("BodyVelocity", hrp) bv.Name = "PrototypeHoverVel" bv.MaxForce = Vector3.new(0, 9e9, 0) bv.Velocity = Vector3.new(0, 0, 0) Connections.Hover = RunService.Stepped:Connect(function() local hum = char:FindFirstChild("Humanoid") if hum and hum:GetState() == Enum.HumanoidStateType.Freefall then hum:ChangeState(Enum.HumanoidStateType.Running) end end) end end local function setupInvGravity(state) if Connections.InvGravity then Connections.InvGravity:Disconnect(); Connections.InvGravity = nil end local char = LocalPlayer.Character local hrp = getRoot(char) if not hrp then return end if hrp:FindFirstChild("PrototypeInvGravBF") then hrp.PrototypeInvGravBF:Destroy() end if hrp:FindFirstChild("PrototypeInvGravBG") then hrp.PrototypeInvGravBG:Destroy() end if state then local bf = Instance.new("BodyForce", hrp) bf.Name = "PrototypeInvGravBF" local bg = Instance.new("BodyGyro", hrp) bg.Name = "PrototypeInvGravBG" bg.MaxTorque = Vector3.new(9e9, 9e9, 9e9) bg.P = 3000 Connections.InvGravity = RunService.RenderStepped:Connect(function() if char and getRoot(char) then local currentHrp = getRoot(char) local totalMass = 0 for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then totalMass = totalMass + part.Mass end end bf.Force = Vector3.new(0, totalMass * Workspace.Gravity * 2, 0) local look = Camera.CFrame.LookVector local flatLook = Vector3.new(look.X, 0, look.Z).Unit if flatLook.Magnitude > 0 then bg.CFrame = CFrame.lookAt(currentHrp.Position, currentHrp.Position + flatLook) * CFrame.Angles(0, 0, math.pi) end end end) end end local function setupSpeed(state) if Connections.Speed then Connections.Speed:Disconnect(); Connections.Speed = nil end if state then Connections.Speed = RunService.Stepped:Connect(function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.WalkSpeed = State.WalkSpeed end end) else if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.WalkSpeed = 16 end end end local function setupNoclip(state) if Connections.Noclip then Connections.Noclip:Disconnect(); Connections.Noclip = nil end if state then Connections.Noclip = RunService.Stepped:Connect(function() if LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") and part.CanCollide then part.CanCollide = false end end end end) end end -- ============================================================================ -- [8] VEHICLE & PHYSICS MODULES -- ============================================================================ local function setupCarFly(state) pcall(function() if Connections.CarFly then Connections.CarFly:Disconnect(); Connections.CarFly = nil end local vRoot = getVehicleRoot() if state and vRoot then local bg = Instance.new("BodyGyro", vRoot); bg.P = 9e4; bg.MaxTorque = Vector3.new(9e9, 9e9, 9e9); bg.CFrame = vRoot.CFrame local bv = Instance.new("BodyVelocity", vRoot); bv.Velocity = Vector3.new(0,0,0); bv.MaxForce = Vector3.new(9e9, 9e9, 9e9) CarFlyInstances = {bg, bv} local ControlModule pcall(function() ControlModule = require(LocalPlayer.PlayerScripts:WaitForChild("PlayerModule")):GetControls() end) Connections.CarFly = RunService.RenderStepped:Connect(function() local moveVector = Vector3.zero if ControlModule then moveVector = ControlModule:GetMoveVector() end local W = UserInputService:IsKeyDown(Enum.KeyCode.W) and -1 or 0 local S = UserInputService:IsKeyDown(Enum.KeyCode.S) and 1 or 0 local A = UserInputService:IsKeyDown(Enum.KeyCode.A) and -1 or 0 local D = UserInputService:IsKeyDown(Enum.KeyCode.D) and 1 or 0 if moveVector.Magnitude == 0 then moveVector = Vector3.new(A + D, 0, W + S) end local camCFrame = Camera.CFrame local camDir = camCFrame.LookVector * -moveVector.Z local rightDir = camCFrame.RightVector * moveVector.X local upDown = (UserInputService:IsKeyDown(Enum.KeyCode.Space) and 1 or 0) + (UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) and -1 or 0) local finalDir = (camDir + rightDir + Vector3.new(0, upDown, 0)) if finalDir.Magnitude > 0 then finalDir = finalDir.Unit end bv.Velocity = finalDir * State.FlySpeed bg.CFrame = CFrame.new(vRoot.Position, vRoot.Position + camCFrame.LookVector) end) else for _, inst in ipairs(CarFlyInstances) do if inst and inst.Parent then inst:Destroy() end end CarFlyInstances = {} if state and not vRoot then Rayfield:Notify({Title = "Car Fly", Content = "You must be in a Driver Seat!", Duration = 3}) if Toggles.CarFly then Toggles.CarFly:Set(false) end end end end) end local function setupCarSpeed(state) if Connections.CarSpeed then Connections.CarSpeed:Disconnect(); Connections.CarSpeed = nil end if state then Connections.CarSpeed = RunService.Heartbeat:Connect(function() local vRoot = getVehicleRoot() if vRoot and UserInputService:IsKeyDown(Enum.KeyCode.W) then vRoot.AssemblyLinearVelocity = vRoot.AssemblyLinearVelocity + (vRoot.CFrame.LookVector * (State.CarSpeed * 0.05)) end end) end end local function setupMagicCarpet(state) if Connections.MagicCarpet then Connections.MagicCarpet:Disconnect(); Connections.MagicCarpet = nil end for _, p in pairs(CarpetParts) do if p then p:Destroy() end end CarpetParts = {} if state then Connections.MagicCarpet = RunService.Heartbeat:Connect(function() local char = LocalPlayer.Character local hrp = getRoot(char) if not hrp then return end if #CarpetParts > 3 then local oldPart = table.remove(CarpetParts, 1) if oldPart then oldPart:Destroy() end end local p = Instance.new("Part") p.Size = Vector3.new(4, 0.5, 4) p.CFrame = hrp.CFrame * CFrame.new(0, -3.2, 0) p.Anchored = true p.Transparency = 1 p.CanCollide = true p.Parent = Workspace table.insert(CarpetParts, p) end) end end local function setupSpiderClimb(state) if Connections.SpiderClimb then Connections.SpiderClimb:Disconnect(); Connections.SpiderClimb = nil end local char = LocalPlayer.Character local hrp = getRoot(char) if not hrp then return end if state then local bg = Instance.new("BodyGyro", hrp); bg.P = 100000; bg.MaxTorque = Vector3.zero local bv = Instance.new("BodyVelocity", hrp); bv.MaxForce = Vector3.zero; bv.Velocity = Vector3.zero SpiderInstances = {bg, bv} Connections.SpiderClimb = RunService.RenderStepped:Connect(function() local currentHrp = getRoot(LocalPlayer.Character) if not currentHrp then return end local rayOrigin = currentHrp.Position local rayDirection = currentHrp.CFrame.LookVector * 2.5 local rayParams = RaycastParams.new() rayParams.FilterDescendantsInstances = {LocalPlayer.Character, Camera} rayParams.FilterType = Enum.RaycastFilterType.Exclude local hit = Workspace:Raycast(rayOrigin, rayDirection, rayParams) local W = UserInputService:IsKeyDown(Enum.KeyCode.W) if hit and W then bg.MaxTorque = Vector3.new(9e9, 9e9, 9e9) bv.MaxForce = Vector3.new(9e9, 9e9, 9e9) bg.CFrame = CFrame.lookAt(currentHrp.Position, currentHrp.Position - hit.Normal) * CFrame.Angles(math.rad(80), 0, 0) bv.Velocity = Vector3.new(0, State.WalkSpeed * 0.4, 0) else bg.MaxTorque = Vector3.zero bv.MaxForce = Vector3.zero end end) else for _, inst in ipairs(SpiderInstances) do if inst and inst.Parent then inst:Destroy() end end SpiderInstances = {} end end local function setupMoonGravity(state) if Connections.MoonGravity then Connections.MoonGravity:Disconnect(); Connections.MoonGravity = nil end local char = LocalPlayer.Character local hrp = getRoot(char) if not hrp then return end if hrp:FindFirstChild("PrototypeMoonGrav") then hrp.PrototypeMoonGrav:Destroy() end if state then local bf = Instance.new("BodyForce", hrp) bf.Name = "PrototypeMoonGrav" Connections.MoonGravity = RunService.RenderStepped:Connect(function() if char and getRoot(char) then local totalMass = 0 for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then totalMass = totalMass + part.Mass end end bf.Force = Vector3.new(0, totalMass * Workspace.Gravity * 0.85, 0) end end) end end local function setupVoidSaver(state) if Connections.VoidSaver then Connections.VoidSaver:Disconnect(); Connections.VoidSaver = nil end if state then local lastSafePos = CFrame.new(0, 50, 0) Connections.VoidSaver = RunService.Stepped:Connect(function() local char = LocalPlayer.Character local hrp = getRoot(char) local hum = char and char:FindFirstChildOfClass("Humanoid") if not hrp or not hum then return end if hum.FloorMaterial ~= Enum.Material.Air and hum:GetState() ~= Enum.HumanoidStateType.Freefall then lastSafePos = hrp.CFrame end if hrp.Position.Y < (Workspace.FallenPartsDestroyHeight + 50) then hrp.AssemblyLinearVelocity = Vector3.zero hrp.CFrame = lastSafePos + Vector3.new(0, 5, 0) Rayfield:Notify({Title = "Void Saver", Content = "Saved from falling into the void!", Duration = 2}) end end) end end local function setupAntiCheatBypass(state) if Connections.AntiCheatBypass then Connections.AntiCheatBypass:Disconnect(); Connections.AntiCheatBypass = nil end if state then Connections.AntiCheatBypass = RunService.Heartbeat:Connect(function() local char = LocalPlayer.Character local hrp = getRoot(char) if hrp and (State.Fly or State.Speed or State.Hover or State.Freecam or State.CarFly) then local realVel = hrp.Velocity hrp.Velocity = Vector3.new(0, 0, 0) RunService.RenderStepped:Wait() hrp.Velocity = realVel end end) end end -- ============================================================================ -- [9] AIMBOT & TRIGGERBOT MODULES -- ============================================================================ local function isVisible(targetPart) local origin = Camera.CFrame.Position local direction = targetPart.Position - origin local params = RaycastParams.new() params.FilterDescendantsInstances = {LocalPlayer.Character, targetPart.Parent} params.FilterType = Enum.RaycastFilterType.Exclude params.IgnoreWater = true local hit = Workspace:Raycast(origin, direction, params) return not hit end local function getCachedNPCs() if tick() - lastNPCCache > 1 then lastNPCCache = tick() table.clear(CachedNPCs) for _, obj in pairs(Workspace:GetDescendants()) do if obj:IsA("Model") and obj ~= LocalPlayer.Character and not Players:GetPlayerFromCharacter(obj) then local hum = obj:FindFirstChildOfClass("Humanoid") if hum and hum.Health > 0 and (obj:FindFirstChild("Head") or obj:FindFirstChild("HumanoidRootPart")) then table.insert(CachedNPCs, obj) end end end end return CachedNPCs end local function getAimbotTarget(isNPC, is360) local bestTarget = nil local shortestDist = is360 and math.huge or State.CamLockFOV local center = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) local localHrp = getRoot(LocalPlayer.Character) if is360 and not localHrp then return nil end local targets = {} if isNPC then for _, obj in pairs(getCachedNPCs()) do table.insert(targets, {char = obj, isPlayer = false}) end else for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer and p.Character then table.insert(targets, {char = p.Character, isPlayer = true, p = p}) end end end for _, data in pairs(targets) do if data.isPlayer and State.TeamCheck and LocalPlayer.Team and data.p.Team == LocalPlayer.Team then continue end local char = data.char local head = char:FindFirstChild("Head") or char:FindFirstChild("HumanoidRootPart") local hum = char:FindFirstChildOfClass("Humanoid") if head and hum and hum.Health > 0 and isVisible(head) then if is360 then local dist = (localHrp.Position - head.Position).Magnitude if dist < shortestDist then shortestDist = dist bestTarget = char end else local screenPos, onScreen = Camera:WorldToViewportPoint(head.Position) if onScreen then local dist = (Vector2.new(screenPos.X, screenPos.Y) - center).Magnitude if dist < shortestDist then shortestDist = dist bestTarget = char end end end end end return bestTarget end local function setupMasterAimbot() if Connections.MasterAimbot then Connections.MasterAimbot:Disconnect(); Connections.MasterAimbot = nil end if State.CamLock or State.LockBot or State.NPCCamLock or State.NPCLockBot then Connections.MasterAimbot = RunService.RenderStepped:Connect(function() if State.Freecam then return end -- Breakaway logic if tick() - lastBreakTime > 0.5 then local delta = UserInputService:GetMouseDelta() if delta.Magnitude > 35 then CamlockTarget = nil NPCCamlockTarget = nil lastBreakTime = tick() return end else return end local function validateTarget(t) return t and (t:FindFirstChild("Head") or t:FindFirstChild("HumanoidRootPart")) and t:FindFirstChildOfClass("Humanoid") and t:FindFirstChildOfClass("Humanoid").Health > 0 and isVisible(t:FindFirstChild("Head") or t:FindFirstChild("HumanoidRootPart")) end -- Process Player Aim if State.CamLock or State.LockBot then if not validateTarget(CamlockTarget) then CamlockTarget = getAimbotTarget(false, State.LockBot) end if CamlockTarget then local head = CamlockTarget:FindFirstChild("Head") or CamlockTarget:FindFirstChild("HumanoidRootPart") local hrp = getRoot(CamlockTarget) local predictedPos = head.Position if hrp and State.AimPrediction > 0 then predictedPos = head.Position + (hrp.Velocity * (State.AimPrediction * 0.05)) end Camera.CFrame = Camera.CFrame:Lerp(CFrame.new(Camera.CFrame.Position, predictedPos), State.CamLockSmoothness) end end -- Process NPC Aim if State.NPCCamLock or State.NPCLockBot then if not validateTarget(NPCCamlockTarget) then NPCCamlockTarget = getAimbotTarget(true, State.NPCLockBot) end if NPCCamlockTarget then local head = NPCCamlockTarget:FindFirstChild("Head") or NPCCamlockTarget:FindFirstChild("HumanoidRootPart") local hrp = getRoot(NPCCamlockTarget) local predictedPos = head.Position if hrp and State.AimPrediction > 0 then predictedPos = head.Position + (hrp.Velocity * (State.AimPrediction * 0.05)) end Camera.CFrame = Camera.CFrame:Lerp(CFrame.new(Camera.CFrame.Position, predictedPos), State.CamLockSmoothness) end end -- Manage Visualizer if FOVCircle then FOVCircle.Position = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2) FOVCircle.Radius = State.CamLockFOV FOVCircle.Visible = State.ShowFOV and not (State.LockBot or State.NPCLockBot) end end) else CamlockTarget = nil NPCCamlockTarget = nil if FOVCircle then FOVCircle.Visible = false end end end local function performTriggerClick() if mouse1press and mouse1release then pcall(function() mouse1press(); task.delay(0.05, mouse1release) end) return end local char = LocalPlayer.Character if char then local tool = char:FindFirstChildOfClass("Tool") if tool then pcall(function() tool:Activate(); task.delay(0.05, function() tool:Deactivate() end) end) return end end pcall(function() VirtualInputManager:SendMouseButtonEvent(0, 0, 0, true, game, 1) task.delay(0.05, function() VirtualInputManager:SendMouseButtonEvent(0, 0, 0, false, game, 1) end) end) end local function setupTriggerbot(state) if Connections.Triggerbot then Connections.Triggerbot:Disconnect(); Connections.Triggerbot = nil end if state then Connections.Triggerbot = RunService.RenderStepped:Connect(function() local rayOrigin = Camera.CFrame.Position local rayDirection = Camera.CFrame.LookVector * 1000 local rayParams = RaycastParams.new() rayParams.FilterDescendantsInstances = {LocalPlayer.Character, Camera} rayParams.FilterType = Enum.RaycastFilterType.Exclude rayParams.IgnoreWater = true local hit = Workspace:Raycast(rayOrigin, rayDirection, rayParams) if hit and hit.Instance then local targetChar = hit.Instance:FindFirstAncestorOfClass("Model") if targetChar and targetChar:FindFirstChild("Humanoid") and targetChar.Humanoid.Health > 0 then local targetPlayer = Players:GetPlayerFromCharacter(targetChar) if targetPlayer and targetPlayer ~= LocalPlayer then if State.TeamCheck and LocalPlayer.Team and targetPlayer.Team == LocalPlayer.Team then return end if tick() - lastTriggerTime >= State.TriggerDelay then lastTriggerTime = tick() performTriggerClick() end elseif not targetPlayer then -- Allow triggering on NPCs if tick() - lastTriggerTime >= State.TriggerDelay then lastTriggerTime = tick() performTriggerClick() end end end end end) end end local function setupRandomTP(state) if Connections.RandomTP then Connections.RandomTP:Disconnect(); Connections.RandomTP = nil end if state then Connections.RandomTP = RunService.Heartbeat:Connect(function() if tick() - lastRandomTP >= State.RandomTPInterval then lastRandomTP = tick() local valid = {} for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer and p.Character and getRoot(p.Character) and p.Character:FindFirstChild("Humanoid") and p.Character.Humanoid.Health > 0 then if not (State.TeamCheck and LocalPlayer.Team and p.Team == LocalPlayer.Team) then table.insert(valid, p) end end end if #valid > 0 then local target = valid[math.random(1, #valid)] local tHrp = getRoot(target.Character) local myHrp = getRoot(LocalPlayer.Character) if tHrp and myHrp then myHrp.CFrame = tHrp.CFrame * CFrame.new(0, 0, 3) Rayfield:Notify({Title = "Assassin", Content = "Teleported behind " .. target.Name, Duration = 2}) end end end end) end end local function setupHitbox(state) if Connections.Hitbox then Connections.Hitbox:Disconnect(); Connections.Hitbox = nil end if state then Connections.Hitbox = RunService.Stepped:Connect(function() for _, player in pairs(Players:GetPlayers()) do if State.TeamCheck and LocalPlayer.Team and player.Team == LocalPlayer.Team then continue end if player ~= LocalPlayer and player.Character then local hrp = getRoot(player.Character) if hrp then hrp.Size = Vector3.new(18, 18, 18) hrp.Transparency = 0.7 hrp.CanCollide = false end end end end) else for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then local hrp = getRoot(player.Character) if hrp then hrp.Size = Vector3.new(2, 2, 1) hrp.Transparency = 1 end end end end end -- ============================================================================ -- [10] VISUALS MODULE (ESP, Tracers, Chams, XRay, Fullbright) -- ============================================================================ local function clearESP() for _, player in pairs(Players:GetPlayers()) do if player.Character then if player.Character:FindFirstChild("PrototypeESP_HL") then player.Character.PrototypeESP_HL:Destroy() end if player.Character:FindFirstChild("PrototypeESP_BB") then player.Character.PrototypeESP_BB:Destroy() end end end end local function setupESP(state) if Connections.ESP then Connections.ESP:Disconnect(); Connections.ESP = nil end clearESP() if state then Connections.ESP = RunService.RenderStepped:Connect(function() local localHrp = getRoot(LocalPlayer.Character) for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then local targetHrp = getRoot(player.Character) local char = player.Character local isEnemy = true if State.TeamCheck and LocalPlayer.Team and player.Team == LocalPlayer.Team then isEnemy = false end if targetHrp and isEnemy then if not char:FindFirstChild("PrototypeESP_HL") then local hl = Instance.new("Highlight", char) hl.Name = "PrototypeESP_HL" hl.FillColor = Color3.fromRGB(0, 225, 255) hl.FillTransparency = 0.5 hl.OutlineColor = Color3.fromRGB(255, 0, 127) local bb = Instance.new("BillboardGui", char) bb.Name = "PrototypeESP_BB" bb.Size = UDim2.new(0, 200, 0, 50) bb.StudsOffset = Vector3.new(0, 3, 0) bb.AlwaysOnTop = true local txt = Instance.new("TextLabel", bb) txt.Name = "NameLabel" txt.Size = UDim2.new(1,0,1,0) txt.BackgroundTransparency = 1 txt.TextColor3 = Color3.new(1,1,1) txt.Font = Enum.Font.GothamBold txt.TextSize = 14 end local bb = char:FindFirstChild("PrototypeESP_BB") if bb and localHrp then local label = bb:FindFirstChild("NameLabel") if label then label.Text = string.format("%s [%dm]", player.Name, math.floor((localHrp.Position - targetHrp.Position).Magnitude * 0.28)) end end else if char:FindFirstChild("PrototypeESP_HL") then char.PrototypeESP_HL:Destroy() end if char:FindFirstChild("PrototypeESP_BB") then char.PrototypeESP_BB:Destroy() end end end end end) end end local function setupTracers(state) if Connections.Tracers then Connections.Tracers:Disconnect(); Connections.Tracers = nil end for _, line in pairs(TracerLines) do pcall(function() line:Remove() end) end TracerLines = {} if state and not hasDrawing then Rayfield:Notify({Title = "Error", Content = "Your executor does not support Tracers.", Duration = 5}) if Toggles.Tracers then Toggles.Tracers:Set(false) end return end if state then Connections.Tracers = RunService.RenderStepped:Connect(function() local localHrp = getRoot(LocalPlayer.Character) for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then if not TracerLines[player] then pcall(function() TracerLines[player] = Drawing.new("Line") TracerLines[player].Thickness = 2 TracerLines[player].Color = Color3.fromRGB(255, 0, 127) TracerLines[player].Transparency = 1 end) end local line = TracerLines[player] if not line then continue end local isEnemy = true if State.TeamCheck and LocalPlayer.Team and player.Team == LocalPlayer.Team then isEnemy = false end local targetHrp = getRoot(player.Character) local hum = player.Character and player.Character:FindFirstChild("Humanoid") if targetHrp and hum and hum.Health > 0 and isEnemy and localHrp then local vector, onScreen = Camera:WorldToViewportPoint(targetHrp.Position - Vector3.new(0, 3, 0)) if onScreen then line.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) line.To = Vector2.new(vector.X, vector.Y) line.Visible = true else line.Visible = false end else line.Visible = false end end end end) end end local function setupChams(state) if Connections.Chams then Connections.Chams:Disconnect(); Connections.Chams = nil end for _, player in pairs(Players:GetPlayers()) do if player.Character and player.Character:FindFirstChild("PrototypeChams") then player.Character.PrototypeChams:Destroy() end end if state then Connections.Chams = RunService.RenderStepped:Connect(function() for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then local isEnemy = true if State.TeamCheck and LocalPlayer.Team and player.Team == LocalPlayer.Team then isEnemy = false end if isEnemy and getRoot(player.Character) then if not player.Character:FindFirstChild("PrototypeChams") then local hl = Instance.new("Highlight", player.Character) hl.Name = "PrototypeChams" hl.FillColor = Color3.fromRGB(255, 0, 0) hl.FillTransparency = 0.2 hl.OutlineTransparency = 1 hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop end else if player.Character:FindFirstChild("PrototypeChams") then player.Character.PrototypeChams:Destroy() end end end end end) end end local function setupXRay(state) if Connections.XRayAdded then Connections.XRayAdded:Disconnect(); Connections.XRayAdded = nil end local function applyXRay(p) if p:IsA("BasePart") and not p:IsDescendantOf(LocalPlayer.Character) and not p:IsDescendantOf(Camera) then if not string.find(p.Name, "Prototype") and not string.find(p.Name, "Gemini") then if OriginalXRay[p] == nil then OriginalXRay[p] = p.Transparency end if OriginalXRay[p] < 1 then p.Transparency = State.XRayOpacity end end end end if state then task.spawn(function() local descendants = Workspace:GetDescendants() for i, v in ipairs(descendants) do if i % 2000 == 0 then RunService.RenderStepped:Wait() end if not State.XRay then break end applyXRay(v) end end) Connections.XRayAdded = Workspace.DescendantAdded:Connect(function(v) task.wait(0.1) if State.XRay then applyXRay(v) end end) else for p, trans in pairs(OriginalXRay) do pcall(function() if p and p.Parent then p.Transparency = trans end end) end OriginalXRay = {} end end local function setupFullbright(state) if Connections.Fullbright then Connections.Fullbright:Disconnect(); Connections.Fullbright = nil end if state then OriginalLighting.Ambient = Lighting.Ambient OriginalLighting.OutdoorAmbient = Lighting.OutdoorAmbient OriginalLighting.Brightness = Lighting.Brightness OriginalLighting.ClockTime = Lighting.ClockTime OriginalLighting.FogEnd = Lighting.FogEnd OriginalLighting.GlobalShadows = Lighting.GlobalShadows pcall(function() OriginalLighting.ColorShift_Bottom = Lighting.ColorShift_Bottom; OriginalLighting.ColorShift_Top = Lighting.ColorShift_Top end) Connections.Fullbright = RunService.RenderStepped:Connect(function() Lighting.Ambient = Color3.new(1, 1, 1) Lighting.OutdoorAmbient = Color3.new(1, 1, 1) pcall(function() Lighting.ColorShift_Bottom = Color3.new(1, 1, 1); Lighting.ColorShift_Top = Color3.new(1, 1, 1) end) Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 100000 Lighting.GlobalShadows = false end) else for prop, val in pairs(OriginalLighting) do pcall(function() Lighting[prop] = val end) end OriginalLighting = {} end end -- FOV Changer Connections.FOV = RunService.RenderStepped:Connect(function() if Camera.FieldOfView ~= State.FOV then pcall(function() Camera.FieldOfView = State.FOV end) end end) -- ============================================================================ -- [11] UTILITY MODULES (Tools & Commands) -- ============================================================================ local function setupBuildMode(state) if Connections.BuildMode then Connections.BuildMode:Disconnect(); Connections.BuildMode = nil end if state then Connections.BuildMode = UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then if Mouse.Hit then local slab = Instance.new("Part", Workspace) slab.Name = "PrototypeSlab" slab.Size = Vector3.new(10, 1, 10) slab.CFrame = CFrame.new(Mouse.Hit.Position) slab.Anchored = true slab.Color = Color3.fromRGB(0, 225, 255) slab.Material = Enum.Material.Neon slab.Transparency = 0.3 table.insert(SpawnedSlabs, slab) end end end) end end local function undoSlab() if #SpawnedSlabs > 0 then local lastSlab = table.remove(SpawnedSlabs, #SpawnedSlabs) if lastSlab and lastSlab.Parent then lastSlab:Destroy() end end end local function setupInvis(state) local char = LocalPlayer.Character if not char then return end if state then for _, part in pairs(char:GetDescendants()) do if (part:IsA("BasePart") or part:IsA("Decal")) and part.Name ~= "HumanoidRootPart" then OriginalTransparencies[part] = part.Transparency part.Transparency = 1 end end else for part, trans in pairs(OriginalTransparencies) do if part and part.Parent then part.Transparency = trans end end OriginalTransparencies = {} end end local function setupClickTP(state) if Connections.ClickTP then Connections.ClickTP:Disconnect(); Connections.ClickTP = nil end if state then Connections.ClickTP = UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then local hrp = getRoot(LocalPlayer.Character) if hrp and Mouse.Hit then hrp.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0, 3, 0)) end end end) end end local function giveSpeedCoil() spawnItemSafe(99119158, "Speed Coil Added!", function(coil) coil.Equipped:Connect(function() local c = LocalPlayer.Character if c and c:FindFirstChild("Humanoid") and not State.Speed then c.Humanoid.WalkSpeed = 90 end end) coil.Unequipped:Connect(function() local c = LocalPlayer.Character if c and c:FindFirstChild("Humanoid") and not State.Speed then c.Humanoid.WalkSpeed = 16 end end) end) end local function giveGravityCoil() spawnItemSafe(16688968, "Gravity Coil Added!", function(coil) local floatForce = nil coil.Equipped:Connect(function() local c = LocalPlayer.Character if c and c:FindFirstChild("HumanoidRootPart") then local hum = c:FindFirstChild("Humanoid") if hum then hum.UseJumpPower = true; hum.JumpPower = 120 end local totalMass = 0 for _, p in pairs(c:GetDescendants()) do if p:IsA("BasePart") then totalMass = totalMass + p.Mass end end floatForce = Instance.new("BodyForce") floatForce.Name = "PrototypeGravCoil" floatForce.Force = Vector3.new(0, totalMass * Workspace.Gravity * 0.75, 0) floatForce.Parent = c.HumanoidRootPart end end) coil.Unequipped:Connect(function() local c = LocalPlayer.Character if c then local hum = c:FindFirstChild("Humanoid") if hum then hum.JumpPower = 50 end if floatForce then floatForce:Destroy() end end end) end) end local function giveSword() spawnItemSafe(10468915, "Sword Added!", function(sword) local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://218504594" local track = nil sword.Equipped:Connect(function() local c = LocalPlayer.Character local hum = c and c:FindFirstChild("Humanoid") if hum then track = hum:LoadAnimation(anim) end end) sword.Activated:Connect(function() if track then track:Play() end end) end) end local function giveDeleteGun() local tool = Instance.new("Tool") tool.Name = "Delete Gun (Click)" tool.RequiresHandle = false tool.Parent = LocalPlayer.Backpack tool.Activated:Connect(function() local target = Mouse.Target if target and not target:IsDescendantOf(LocalPlayer.Character) then if not target.Parent:FindFirstChild("Humanoid") then Rayfield:Notify({Title = "Deleted", Content = "Removed: " .. target.Name, Duration = 2}) target:Destroy() else Rayfield:Notify({Title = "Blocked", Content = "You cannot delete other players.", Duration = 2}) end end end) Rayfield:Notify({Title = "Success!", Content = "Delete Gun added to Backpack.", Duration = 3}) end local function giveClickFling() local tool = Instance.new("Tool") tool.Name = "Click Fling (Props)" tool.RequiresHandle = false tool.Parent = LocalPlayer.Backpack tool.Activated:Connect(function() local target = Mouse.Target if target and not target:IsDescendantOf(LocalPlayer.Character) then if not target.Anchored then local bt = Instance.new("BodyThrust") bt.Force = Vector3.new(999999, 999999, 999999) bt.Location = target.Position + Vector3.new(0, 5, 0) bt.Parent = target task.delay(0.5, function() if bt then bt:Destroy() end end) Rayfield:Notify({Title = "Flinging!", Content = "Target launched.", Duration = 2}) else Rayfield:Notify({Title = "Blocked", Content = "Target is anchored.", Duration = 2}) end end end) Rayfield:Notify({Title = "Success!", Content = "Click Fling Tool added to Backpack.", Duration = 3}) end local function playTakeTheL() local char = LocalPlayer.Character local hum = char and char:FindFirstChildOfClass("Humanoid") local animator = hum and hum:FindFirstChildOfClass("Animator") or hum if not animator then return end if currentEmote then currentEmote:Stop(); currentEmote:Destroy() end local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://2442223104" local success, _ = pcall(function() currentEmote = animator:LoadAnimation(anim) currentEmote:Play() end) if not success then Rayfield:Notify({Title = "Emote Blocked", Content = "Roblox blocked this animation ID.", Duration = 4}) end end local function updateSize() local char = LocalPlayer.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if hum then pcall(function() local hd = hum:GetAppliedDescription() if hd then hd.HeadScale = State.HeadScale hd.WidthScale = State.BodyWidth hd.HeightScale = State.BodyHeight hum:ApplyDescription(hd) end end) end end -- ============================================================================ -- [12] UNLOADER MODULE -- ============================================================================ local HubGui local Window local function UnloadScript() print("[Prototype] Unloading Script...") -- Disconnect everything for _, conn in pairs(Connections) do if conn then conn:Disconnect() end end Connections = {} -- Revert visuals clearESP() for _, line in pairs(TracerLines) do pcall(function() line:Remove() end) end for _, player in pairs(Players:GetPlayers()) do if player.Character and player.Character:FindFirstChild("PrototypeChams") then player.Character.PrototypeChams:Destroy() end end for prop, val in pairs(OriginalLighting) do pcall(function() Lighting[prop] = val end) end Camera.FieldOfView = 70 setupXRay(false) -- Revert Character if FreecamPart then FreecamPart:Destroy() end if FlyInstances.NormalFly then for _, i in pairs(FlyInstances.NormalFly) do i:Destroy() end end if FlyInstances.Heli then for _, i in pairs(FlyInstances.Heli) do i:Destroy() end end if SpiderInstances then for _, i in pairs(SpiderInstances) do i:Destroy() end end if CarFlyInstances then for _, i in pairs(CarFlyInstances) do i:Destroy() end end for _, p in pairs(CarpetParts) do if p then p:Destroy() end end local char = LocalPlayer.Character if char then local hum = char:FindFirstChild("Humanoid") if hum then hum.WalkSpeed = 16 hum.PlatformStand = false hum.Sit = false end local hrp = char:FindFirstChild("HumanoidRootPart") if hrp then if hrp:FindFirstChild("PrototypeHoverVel") then hrp.PrototypeHoverVel:Destroy() end if hrp:FindFirstChild("PrototypeInvGravBF") then hrp.PrototypeInvGravBF:Destroy() end if hrp:FindFirstChild("PrototypeInvGravBG") then hrp.PrototypeInvGravBG:Destroy() end if hrp:FindFirstChild("PrototypeMoonGrav") then hrp.PrototypeMoonGrav:Destroy() end end Camera.CameraSubject = hum State.HeadScale = 1; State.BodyWidth = 1; State.BodyHeight = 1; updateSize() end if HubGui then HubGui:Destroy() end if FOVCircle then pcall(function() FOVCircle:Remove() end) end if Rayfield then Rayfield:Destroy() end print("[Prototype] Unload Complete.") end -- ============================================================================ -- [13] CUSTOM PREMIUM VISUAL PLAYER HUB -- ============================================================================ HubGui = Instance.new("ScreenGui") HubGui.Name = "PrototypeVisualHub" HubGui.ResetOnSpawn = false local successHub = pcall(function() HubGui.Parent = CoreGui end) if not successHub then HubGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end local HubFrame = Instance.new("Frame", HubGui) HubFrame.Size = UDim2.new(0, 400, 0, 350) HubFrame.Position = UDim2.new(0.5, -200, 0.5, -175) HubFrame.BackgroundColor3 = Color3.fromRGB(11, 11, 18) HubFrame.Visible = false HubFrame.Active = true HubFrame.Draggable = true local HubCorner = Instance.new("UICorner", HubFrame) HubCorner.CornerRadius = UDim.new(0, 12) local HubStroke = Instance.new("UIStroke", HubFrame) HubStroke.Color = Color3.new(1,1,1) HubStroke.Thickness = 2 local HubGrad = Instance.new("UIGradient", HubStroke) HubGrad.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(255,0,127)), ColorSequenceKeypoint.new(1, Color3.fromRGB(0,225,255))} HubGrad.Rotation = 45 local HubTitle = Instance.new("TextLabel", HubFrame) HubTitle.Size = UDim2.new(1, 0, 0, 45) HubTitle.BackgroundTransparency = 1 HubTitle.Text = " LIVE PLAYER HUB" HubTitle.TextColor3 = Color3.new(1,1,1) HubTitle.Font = Enum.Font.GothamBlack HubTitle.TextSize = 18 HubTitle.TextXAlignment = Enum.TextXAlignment.Left local TitleGrad = Instance.new("UIGradient", HubTitle) TitleGrad.Color = HubGrad.Color TitleGrad.Rotation = 45 local CloseBtn = Instance.new("TextButton", HubFrame) CloseBtn.Size = UDim2.new(0, 30, 0, 30) CloseBtn.Position = UDim2.new(1, -40, 0, 7) CloseBtn.BackgroundColor3 = Color3.fromRGB(255, 50, 50) CloseBtn.Text = "X" CloseBtn.TextColor3 = Color3.new(1,1,1) CloseBtn.Font = Enum.Font.GothamBold CloseBtn.TextSize = 14 local CloseCorner = Instance.new("UICorner", CloseBtn) CloseCorner.CornerRadius = UDim.new(0, 6) CloseBtn.MouseButton1Click:Connect(function() HubFrame.Visible = false end) local HubScroll = Instance.new("ScrollingFrame", HubFrame) HubScroll.Size = UDim2.new(1, -20, 1, -60) HubScroll.Position = UDim2.new(0, 10, 0, 50) HubScroll.BackgroundTransparency = 1 HubScroll.ScrollBarThickness = 2 HubScroll.CanvasSize = UDim2.new(0, 0, 0, 0) HubScroll.AutomaticCanvasSize = Enum.AutomaticSize.Y HubScroll.ScrollBarImageColor3 = Color3.fromRGB(0,225,255) local HubListLayout = Instance.new("UIListLayout", HubScroll) HubListLayout.SortOrder = Enum.SortOrder.LayoutOrder HubListLayout.Padding = UDim.new(0, 8) local function applyHubTheme(color1, color2, scrollColor) HubGrad.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, color1), ColorSequenceKeypoint.new(1, color2)} TitleGrad.Color = HubGrad.Color HubScroll.ScrollBarImageColor3 = scrollColor end local function refreshVisualHub() for _, child in pairs(HubScroll:GetChildren()) do if child:IsA("Frame") then child:Destroy() end end for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then local pFrame = Instance.new("Frame", HubScroll) pFrame.Size = UDim2.new(1, 0, 0, 50) pFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) local pCorner = Instance.new("UICorner", pFrame) pCorner.CornerRadius = UDim.new(0, 8) local img = Instance.new("ImageLabel", pFrame) img.Size = UDim2.new(0, 36, 0, 36) img.Position = UDim2.new(0, 7, 0.5, -18) img.BackgroundTransparency = 1 pcall(function() img.Image = Players:GetUserThumbnailAsync(player.UserId, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size420x420) end) local name = Instance.new("TextLabel", pFrame) name.Size = UDim2.new(0, 150, 1, 0) name.Position = UDim2.new(0, 55, 0, 0) name.BackgroundTransparency = 1 name.Text = player.Name name.TextColor3 = Color3.new(1,1,1) name.Font = Enum.Font.GothamSemibold name.TextSize = 14 name.TextXAlignment = Enum.TextXAlignment.Left local tpBtn = Instance.new("TextButton", pFrame) tpBtn.Size = UDim2.new(0, 50, 0, 26) tpBtn.Position = UDim2.new(1, -120, 0.5, -13) tpBtn.BackgroundColor3 = Color3.fromRGB(40,40,50) tpBtn.Text = "TP" tpBtn.TextColor3 = Color3.new(1,1,1) tpBtn.Font = Enum.Font.GothamBold tpBtn.TextSize = 12 Instance.new("UICorner", tpBtn).CornerRadius = UDim.new(0, 6) local bringBtn = Instance.new("TextButton", pFrame) bringBtn.Size = UDim2.new(0, 50, 0, 26) bringBtn.Position = UDim2.new(1, -60, 0.5, -13) bringBtn.BackgroundColor3 = Color3.fromRGB(40,40,50) bringBtn.Text = "BRING" bringBtn.TextColor3 = Color3.new(1,1,1) bringBtn.Font = Enum.Font.GothamBold bringBtn.TextSize = 12 Instance.new("UICorner", bringBtn).CornerRadius = UDim.new(0, 6) tpBtn.MouseButton1Click:Connect(function() local t = getRoot(player.Character) local l = getRoot(LocalPlayer.Character) if t and l then l.CFrame = t.CFrame * CFrame.new(0, 0, 3) end end) bringBtn.MouseButton1Click:Connect(function() local t = getRoot(player.Character) local l = getRoot(LocalPlayer.Character) if t and l then t.CFrame = l.CFrame * CFrame.new(0, 0, -3) end end) end end end Players.PlayerAdded:Connect(function() task.spawn(refreshVisualHub) end) Players.PlayerRemoving:Connect(function() task.spawn(refreshVisualHub) end) task.spawn(refreshVisualHub) -- ============================================================================ -- [14] BUILD EXPLICIT RAYFIELD UI & KEYBINDS (ZERO MACROS) -- ============================================================================ print("[Prototype] Building Menu Interface...") Window = Rayfield:CreateWindow({ Name = "Prototype Menu", LoadingTitle = "Prototype Menu", LoadingSubtitle = "The Behemoth Edition", Theme = SavedTheme, ConfigurationSaving = { Enabled = false }, Discord = { Enabled = false }, KeySystem = false, }) local TabMove = Window:CreateTab("Movement", 4483362458) local TabCombat = Window:CreateTab("Combat", 4483362458) local TabVisual = Window:CreateTab("Visuals", 4483362458) local TabUtility = Window:CreateTab("Utility", 4483362458) local TabSettings = Window:CreateTab("Settings", 4483362458) local TabPlayers = Window:CreateTab("Player Hub", 4483362458) -- Movement Elements Toggles.Fly = TabMove:CreateToggle({ Name = "Fly", CurrentValue = false, Callback = function(v) State.Fly = v; setupFly(v) end }) Toggles.CarFly = TabMove:CreateToggle({ Name = "Car Fly (Must be in Driver Seat)", CurrentValue = false, Callback = function(v) State.CarFly = v; setupCarFly(v) end }) Toggles.FEHeli = TabMove:CreateToggle({ Name = "FE Helicopter (Server Visible)", CurrentValue = false, Callback = function(v) State.FEHelicopter = v; setupFEHelicopter(v) end }) TabMove:CreateButton({ Name = "Dash Forward (3.5s CD)", Callback = function() executeDash() end }) Toggles.MagicCarpet = TabMove:CreateToggle({ Name = "Magic Carpet (Air Walk)", CurrentValue = false, Callback = function(v) State.MagicCarpet = v; setupMagicCarpet(v) end }) Toggles.SpiderClimb = TabMove:CreateToggle({ Name = "Spider Climb (Hold W on Walls)", CurrentValue = false, Callback = function(v) State.SpiderClimb = v; setupSpiderClimb(v) end }) Toggles.Freecam = TabMove:CreateToggle({ Name = "Freecam (Drone Mode)", CurrentValue = false, Callback = function(v) State.Freecam = v; setupFreecam(v) end }) TabMove:CreateButton({ Name = "Freecam Teleport", Callback = function() executeFreecamTP() end }) Toggles.Hover = TabMove:CreateToggle({ Name = "Hover", CurrentValue = false, Callback = function(v) State.Hover = v; setupHover(v) end }) Toggles.MoonGravity = TabMove:CreateToggle({ Name = "Moon Gravity (Low Gravity)", CurrentValue = false, Callback = function(v) State.MoonGravity = v; setupMoonGravity(v) end }) Toggles.InvGravity = TabMove:CreateToggle({ Name = "Inverted Gravity", CurrentValue = false, Callback = function(v) State.InvGravity = v; setupInvGravity(v) end }) Toggles.Speed = TabMove:CreateToggle({ Name = "Speed Boost", CurrentValue = false, Callback = function(v) State.Speed = v; setupSpeed(v) end }) Toggles.Noclip = TabMove:CreateToggle({ Name = "Noclip", CurrentValue = false, Callback = function(v) State.Noclip = v; setupNoclip(v) end }) Toggles.InfJump = TabMove:CreateToggle({ Name = "Infinite Jump", CurrentValue = false, Callback = function(v) State.InfJump = v end }) -- Combat Elements TabCombat:CreateLabel("--- DEFENSE & RECON ---") Toggles.AntiRagdoll = TabCombat:CreateToggle({ Name = "Anti-Ragdoll (Immune to Tripping)", CurrentValue = false, Callback = function(v) State.AntiRagdoll = v; setupAntiRagdoll(v) end }) Toggles.AntiCheatBypass = TabCombat:CreateToggle({ Name = "Anti-Cheat Bypass (Velocity Spoof)", CurrentValue = false, Callback = function(v) State.AntiCheatBypass = v; setupAntiCheatBypass(v) end }) TabCombat:CreateButton({ Name = "Heal Player (Local Only)", Callback = function() local char = LocalPlayer.Character; if char and char:FindFirstChild("Humanoid") then char.Humanoid.Health = char.Humanoid.MaxHealth; Rayfield:Notify({Title = "Healed", Content = "Health restored locally.", Duration = 4}) end end }) TabCombat:CreateButton({ Name = "Enable Local God Mode", Callback = function() local char = LocalPlayer.Character; if char and char:FindFirstChild("Humanoid") then char.Humanoid.MaxHealth = math.huge; char.Humanoid.Health = math.huge; Rayfield:Notify({Title = "God Mode", Content = "Local God Mode active.", Duration = 4}) end end }) Toggles.Hitbox = TabCombat:CreateToggle({ Name = "Hitbox Expander", CurrentValue = false, Callback = function(v) State.Hitbox = v; setupHitbox(v) end }) Toggles.RandomTP = TabCombat:CreateToggle({ Name = "Auto-Teleport Behind Random Players", CurrentValue = false, Callback = function(v) State.RandomTP = v; setupRandomTP(v) end }) TabCombat:CreateSlider({ Name = "Random TP Interval", Range = {5, 200}, Increment = 5, Suffix = "sec", CurrentValue = 20, Callback = function(v) State.RandomTPInterval = v / 10 end }) TabCombat:CreateLabel("--- WEAPON MODS ---") Toggles.Triggerbot = TabCombat:CreateToggle({ Name = "Universal Triggerbot (Auto-Shoot)", CurrentValue = false, Callback = function(v) State.Triggerbot = v; setupTriggerbot(v) end }) TabCombat:CreateSlider({ Name = "Triggerbot Delay", Range = {0, 10}, Increment = 1, Suffix = "sec", CurrentValue = 0, Callback = function(v) State.TriggerDelay = v / 10 end }) TabCombat:CreateLabel("--- AIMBOT SYSTEM ---") Toggles.CamLock = TabCombat:CreateToggle({ Name = "Player Aimbot (FOV)", CurrentValue = false, Callback = function(v) State.CamLock = v; setupMasterAimbot() end }) Toggles.LockBot = TabCombat:CreateToggle({ Name = "Player LockBot (360° Physical)", CurrentValue = false, Callback = function(v) State.LockBot = v; if v and not State.CamLock and Toggles.CamLock then Toggles.CamLock:Set(true) end; setupMasterAimbot() end }) Toggles.NPCCamLock = TabCombat:CreateToggle({ Name = "NPC Aimbot (FOV)", CurrentValue = false, Callback = function(v) State.NPCCamLock = v; setupMasterAimbot() end }) Toggles.NPCLockBot = TabCombat:CreateToggle({ Name = "NPC LockBot (360° Physical)", CurrentValue = false, Callback = function(v) State.NPCLockBot = v; if v and not State.NPCCamLock and Toggles.NPCCamLock then Toggles.NPCCamLock:Set(true) end; setupMasterAimbot() end }) TabCombat:CreateSlider({ Name = "Prediction Power (Lead Target)", Range = {0, 20}, Increment = 1, Suffix = "Power", CurrentValue = 0, Callback = function(v) State.AimPrediction = v end }) TabCombat:CreateSlider({ Name = "Aimbot Smoothness", Range = {1, 10}, Increment = 1, Suffix = "L", CurrentValue = 5, Callback = function(v) State.CamLockSmoothness = v / 10 end }) TabCombat:CreateSlider({ Name = "Aimbot FOV Size", Range = {50, 400}, Increment = 10, Suffix = "px", CurrentValue = 150, Callback = function(v) State.CamLockFOV = v end }) Toggles.ShowFOV = TabCombat:CreateToggle({ Name = "Show Aimbot FOV Circle", CurrentValue = false, Callback = function(v) State.ShowFOV = v end }) -- Visual Elements Toggles.XRay = TabVisual:CreateToggle({ Name = "X-Ray Vision (See Through Map)", CurrentValue = false, Callback = function(v) State.XRay = v; setupXRay(v) end }) TabVisual:CreateSlider({ Name = "X-Ray Opacity", Range = {1, 9}, Increment = 1, Suffix = " (x0.1)", CurrentValue = 5, Callback = function(v) State.XRayOpacity = v / 10; if State.XRay then setupXRay(true) end end }) Toggles.ESP = TabVisual:CreateToggle({ Name = "Distance ESP", CurrentValue = false, Callback = function(v) State.ESP = v; setupESP(v) end }) Toggles.Chams = TabVisual:CreateToggle({ Name = "Chams (Red Wallhack)", CurrentValue = false, Callback = function(v) State.Chams = v; setupChams(v) end }) Toggles.Tracers = TabVisual:CreateToggle({ Name = "Foot Tracers (Drawing API)", CurrentValue = false, Callback = function(v) State.Tracers = v; setupTracers(v) end }) Toggles.TeamCheck = TabVisual:CreateToggle({ Name = "Team Check (ESP / Tracers / Aimbot)", CurrentValue = false, Callback = function(v) State.TeamCheck = v end }) Toggles.Fullbright = TabVisual:CreateToggle({ Name = "Fullbright", CurrentValue = false, Callback = function(v) State.Fullbright = v; setupFullbright(v) end }) -- Utility Elements Toggles.VoidSaver = TabUtility:CreateToggle({ Name = "Anti-Void (Void Saver)", CurrentValue = false, Callback = function(v) State.VoidSaver = v; setupVoidSaver(v) end }) TabUtility:CreateLabel("--- TOOLS & SPAWNERS ---") TabUtility:CreateButton({ Name = "Get Click-Fling Tool (Props)", Callback = function() giveClickFling() end }) TabUtility:CreateButton({ Name = "Get Delete Gun", Callback = function() giveDeleteGun() end }) TabUtility:CreateButton({ Name = "Get Speed Coil", Callback = function() giveSpeedCoil() end }) TabUtility:CreateButton({ Name = "Get Gravity Coil", Callback = function() giveGravityCoil() end }) TabUtility:CreateButton({ Name = "Get Classic Sword", Callback = function() giveSword() end }) TabUtility:CreateButton({ Name = "Spawn Custom Item (225921000)", Callback = function() spawnItemSafe(225921000, "Spawned Custom Item!") end }) TabUtility:CreateButton({ Name = "Spawn HD Admin (Local/Visual Only)", Callback = function() spawnItemSafe(146910609, "HD Admin spawned locally.") end }) TabUtility:CreateLabel("--- WORLD MODS ---") TabUtility:CreateButton({ Name = "Play 'Take The L' Emote", Callback = function() playTakeTheL() end }) Toggles.BuildMode = TabUtility:CreateToggle({ Name = "Build Mode", CurrentValue = false, Callback = function(v) State.BuildMode = v; setupBuildMode(v) end }) TabUtility:CreateButton({ Name = "Undo Last Slab", Callback = function() undoSlab() end }) Toggles.Invisibility = TabUtility:CreateToggle({ Name = "Local Invisibility", CurrentValue = false, Callback = function(v) State.Invisibility = v; setupInvis(v) end }) Toggles.ClickTP = TabUtility:CreateToggle({ Name = "Click TP", CurrentValue = false, Callback = function(v) State.ClickTP = v; setupClickTP(v) end }) -- Settings Elements TabSettings:CreateLabel("--- SERVER-SIDED SIZE MODIFIERS ---") TabSettings:CreateSlider({ Name = "Head Scale", Range = {1, 50}, Increment = 1, Suffix = "x", CurrentValue = 10, Callback = function(v) State.HeadScale = v / 10; updateSize() end }) TabSettings:CreateSlider({ Name = "Body Width", Range = {1, 50}, Increment = 1, Suffix = "x", CurrentValue = 10, Callback = function(v) State.BodyWidth = v / 10; updateSize() end }) TabSettings:CreateSlider({ Name = "Body Height", Range = {1, 50}, Increment = 1, Suffix = "x", CurrentValue = 10, Callback = function(v) State.BodyHeight = v / 10; updateSize() end }) TabSettings:CreateLabel("--- THEMES & CONFIG ---") TabSettings:CreateDropdown({ Name = "Main Menu Theme (Requires Re-execute)", Options = {"Amethyst", "Ocean", "Light", "Serenity", "DarkBlue", "Green"}, CurrentOption = {SavedTheme}, MultipleOptions = false, Callback = function(Option) pcall(function() if writefile then writefile("PrototypeMenuTheme.txt", Option[1]) end Rayfield:Notify({Title = "Theme Saved", Content = "Re-execute script to see changes.", Duration = 4}) end) end, }) TabSettings:CreateDropdown({ Name = "Visual Player Hub Theme", Options = {"Amethyst (Default)", "Ocean", "Ruby", "Emerald", "Gold"}, CurrentOption = {"Amethyst (Default)"}, MultipleOptions = false, Callback = function(Option) local choice = Option[1] if choice == "Amethyst (Default)" then applyHubTheme(Color3.fromRGB(255,0,127), Color3.fromRGB(0,225,255), Color3.fromRGB(0,225,255)) elseif choice == "Ocean" then applyHubTheme(Color3.fromRGB(0,150,255), Color3.fromRGB(0,255,150), Color3.fromRGB(0,255,150)) elseif choice == "Ruby" then applyHubTheme(Color3.fromRGB(255,0,50), Color3.fromRGB(255,100,0), Color3.fromRGB(255,50,50)) elseif choice == "Emerald" then applyHubTheme(Color3.fromRGB(0,255,100), Color3.fromRGB(50,200,50), Color3.fromRGB(0,255,100)) elseif choice == "Gold" then applyHubTheme(Color3.fromRGB(255,200,0), Color3.fromRGB(255,255,0), Color3.fromRGB(255,200,0)) end end, }) TabSettings:CreateLabel("--- EXPLICIT KEYBINDS ---") TabSettings:CreateKeybind({ Name = "Fly Keybind", CurrentKeybind = "E", HoldToInteract = false, Callback = function() if Toggles.Fly then Toggles.Fly:Set(not State.Fly) end end }) TabSettings:CreateKeybind({ Name = "Dash Keybind", CurrentKeybind = "Q", HoldToInteract = false, Callback = function() executeDash() end }) TabSettings:CreateKeybind({ Name = "Freecam Keybind", CurrentKeybind = "Minus", HoldToInteract = false, Callback = function() if Toggles.Freecam then Toggles.Freecam:Set(not State.Freecam) end end }) TabSettings:CreateKeybind({ Name = "Freecam TP Keybind", CurrentKeybind = "F7", HoldToInteract = false, Callback = function() executeFreecamTP() end }) TabSettings:CreateKeybind({ Name = "Hover Keybind", CurrentKeybind = "K", HoldToInteract = false, Callback = function() if Toggles.Hover then Toggles.Hover:Set(not State.Hover) end end }) TabSettings:CreateKeybind({ Name = "Inv Gravity Keybind", CurrentKeybind = "RightBracket", HoldToInteract = false, Callback = function() if Toggles.InvGravity then Toggles.InvGravity:Set(not State.InvGravity) end end }) TabSettings:CreateKeybind({ Name = "Speed Keybind", CurrentKeybind = "X", HoldToInteract = false, Callback = function() if Toggles.Speed then Toggles.Speed:Set(not State.Speed) end end }) TabSettings:CreateKeybind({ Name = "Noclip Keybind", CurrentKeybind = "M", HoldToInteract = false, Callback = function() if Toggles.Noclip then Toggles.Noclip:Set(not State.Noclip) end end }) TabSettings:CreateKeybind({ Name = "Player Aimbot Keybind", CurrentKeybind = "C", HoldToInteract = false, Callback = function() if Toggles.CamLock then Toggles.CamLock:Set(not State.CamLock) end end }) TabSettings:CreateKeybind({ Name = "NPC Aimbot Keybind", CurrentKeybind = "Y", HoldToInteract = false, Callback = function() if Toggles.NPCCamLock then Toggles.NPCCamLock:Set(not State.NPCCamLock) end end }) TabSettings:CreateKeybind({ Name = "Triggerbot Keybind", CurrentKeybind = "T", HoldToInteract = false, Callback = function() if Toggles.Triggerbot then Toggles.Triggerbot:Set(not State.Triggerbot) end end }) TabSettings:CreateKeybind({ Name = "ESP Keybind", CurrentKeybind = "Equals", HoldToInteract = false, Callback = function() if Toggles.ESP then Toggles.ESP:Set(not State.ESP) end end }) TabSettings:CreateKeybind({ Name = "X-Ray Keybind", CurrentKeybind = "B", HoldToInteract = false, Callback = function() if Toggles.XRay then Toggles.XRay:Set(not State.XRay) end end }) TabSettings:CreateKeybind({ Name = "Fullbright Keybind", CurrentKeybind = "N", HoldToInteract = false, Callback = function() if Toggles.Fullbright then Toggles.Fullbright:Set(not State.Fullbright) end end }) TabSettings:CreateKeybind({ Name = "Build Mode Keybind", CurrentKeybind = "Insert", HoldToInteract = false, Callback = function() if Toggles.BuildMode then Toggles.BuildMode:Set(not State.BuildMode) end end }) TabSettings:CreateKeybind({ Name = "Undo Slab Keybind", CurrentKeybind = "Delete", HoldToInteract = false, Callback = function() undoSlab() end }) TabSettings:CreateLabel("--- TWEAKS ---") TabSettings:CreateToggle({ Name = "Enable Keybinds (Master Switch)", CurrentValue = true, Callback = function(v) State.KeybindsEnabled = v end }) Toggles.CarSpeedToggle = TabSettings:CreateToggle({ Name = "Enable Car Speed Boost", CurrentValue = false, Callback = function(v) State.CarSpeedEnabled = v; setupCarSpeed(v) end }) TabSettings:CreateSlider({ Name = "Car Speed Multiplier", Range = {10, 500}, Increment = 10, Suffix = "Power", CurrentValue = 100, Callback = function(v) State.CarSpeed = v end }) TabSettings:CreateSlider({ Name = "Camera FOV", Range = {70, 120}, Increment = 5, Suffix = "FOV", CurrentValue = 70, Callback = function(v) State.FOV = v end }) TabSettings:CreateSlider({ Name = "Fly/Freecam Speed", Range = {10, 500}, Increment = 10, Suffix = "Speed", CurrentValue = 100, Callback = function(v) State.FlySpeed = v end }) TabSettings:CreateSlider({ Name = "Walk Speed", Range = {16, 500}, Increment = 5, Suffix = "Speed", CurrentValue = 175, Callback = function(v) State.WalkSpeed = v end }) TabSettings:CreateButton({ Name = "🚨 DESTROY MENU (UNLOAD SCRIPT)", Callback = function() UnloadScript() end }) -- Player Hub Elements local TargetPlayer = nil local PlayerDropdown = TabPlayers:CreateDropdown({ Name = "Select a Player", Options = {"Waiting for players..."}, CurrentOption = {""}, MultipleOptions = false, Callback = function(Option) TargetPlayer = Option[1] end, }) TabPlayers:CreateButton({ Name = "Spectate Player", Callback = function() if TargetPlayer and Players:FindFirstChild(TargetPlayer) then local targetChar = Players[TargetPlayer].Character local targetHum = targetChar and targetChar:FindFirstChild("Humanoid") if targetHum then Camera.CameraSubject = targetHum end end end }) TabPlayers:CreateButton({ Name = "Stop Spectating", Callback = function() local myHum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") if myHum then Camera.CameraSubject = myHum end end }) TabPlayers:CreateButton({ Name = "Open Premium Visual Player Hub", Callback = function() HubFrame.Visible = not HubFrame.Visible end }) local function initDropdown() local list = {} for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer then table.insert(list, p.Name) end end if #list == 0 then table.insert(list, "No other players") end pcall(function() PlayerDropdown:Refresh(list) end) end Players.PlayerAdded:Connect(function() task.spawn(initDropdown) end) Players.PlayerRemoving:Connect(function() task.spawn(initDropdown) end) -- ============================================================================ -- [15] GLOBAL INPUT FALLBACK & RESPAWN HANDLER -- ============================================================================ UserInputService.InputBegan:Connect(function(input, gpe) if not State.KeybindsEnabled then return end if UserInputService:GetFocusedTextBox() then return end -- Fallback execution for abilities that don't need Toggles if input.KeyCode == Enum.KeyCode.Q and not gpe then executeDash() end if input.KeyCode == Enum.KeyCode.F7 and not gpe then executeFreecamTP() end if input.KeyCode == Enum.KeyCode.Delete and not gpe then undoSlab() end end) LocalPlayer.CharacterAdded:Connect(function() task.wait(0.5) -- Restore Physics and Visuals if State.Fly then setupFly(true) end if State.FEHelicopter then setupFEHelicopter(true) end if State.Freecam then setupFreecam(true) end if State.Hover then setupHover(true) end if State.MoonGravity then setupMoonGravity(true) end if State.InvGravity then setupInvGravity(true) end if State.Invisibility then setupInvis(true) end if State.SpiderClimb then setupSpiderClimb(true) end if State.AntiRagdoll then setupAntiRagdoll(true) end if State.VoidSaver then setupVoidSaver(true) end if State.AntiCheatBypass then setupAntiCheatBypass(true) end if State.XRay then setupXRay(true) end if State.MagicCarpet then setupMagicCarpet(true) end if State.CarFly then setupCarFly(true) end if State.CarSpeedEnabled then setupCarSpeed(true) end -- Restore Combat Systems if State.CamLock or State.LockBot or State.NPCCamLock or State.NPCLockBot then setupMasterAimbot() end if State.Triggerbot then setupTriggerbot(true) end if State.RandomTP then setupRandomTP(true) end -- Restore Modifiers updateSize() end) print("[Prototype] Loading Complete.") Rayfield:Notify({ Title = "Prototype Menu Loaded", Content = "V62 Behemoth Edition successfully executed.", Duration = 5, Image = 4483362458, })