
Key RequiredUniversal

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")
if CoreGui:FindFirstChild("AdminPanelV2_Universe") then
CoreGui.AdminPanelV2_Universe:Destroy()
end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AdminPanelV2_Universe"
ScreenGui.Parent = CoreGui
ScreenGui.ResetOnSpawn = false
local function makeDraggable(frame)
local dragging, dragInput, dragStart, startPos
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true; dragStart = input.Position; startPos = frame.Position
input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end)
end
end)
frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - dragStart
frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
end
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 580, 0, 450)
MainFrame.Position = UDim2.new(0.5, -290, 0.5, -225)
MainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 12)
MainFrame.BorderSizePixel = 2
MainFrame.BorderColor3 = Color3.fromRGB(255, 0, 0)
MainFrame.Parent = ScreenGui
makeDraggable(MainFrame)
local menuVisible = true
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if not gameProcessed and input.KeyCode == Enum.KeyCode.K then
menuVisible = not menuVisible; MainFrame.Visible = menuVisible
end
end)
local TitleBar = Instance.new("Frame")
TitleBar.Size = UDim2.new(1, 0, 0, 40)
TitleBar.BackgroundColor3 = Color3.fromRGB(20, 5, 5)
TitleBar.BorderSizePixel = 1
TitleBar.BorderColor3 = Color3.fromRGB(255, 0, 0)
TitleBar.Parent = MainFrame
local TitleText = Instance.new("TextLabel")
TitleText.Size = UDim2.new(1, -50, 1, 0)
TitleText.Position = UDim2.new(0, 15, 0, 0)
TitleText.Text = "c00lgui"
TitleText.TextColor3 = Color3.fromRGB(255, 0, 0)
TitleText.Font = Enum.Font.SourceSansBold
TitleText.TextSize = 20
TitleText.TextXAlignment = Enum.TextXAlignment.Left
TitleText.BackgroundTransparency = 1
TitleText.Parent = TitleBar
local CloseButton = Instance.new("TextButton")
CloseButton.Size = UDim2.new(0, 30, 0, 30)
CloseButton.Position = UDim2.new(1, -35, 0, 5)
CloseButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
CloseButton.BorderSizePixel = 2
CloseButton.BorderColor3 = Color3.fromRGB(255, 0, 0)
CloseButton.Text = "X"
CloseButton.TextColor3 = Color3.fromRGB(255, 0, 0)
CloseButton.Font = Enum.Font.SourceSansBold
CloseButton.TextSize = 18
CloseButton.Parent = TitleBar
CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end)
local SideBar = Instance.new("Frame")
SideBar.Size = UDim2.new(0, 140, 1, -80)
SideBar.Position = UDim2.new(0, 0, 0, 40)
SideBar.BackgroundColor3 = Color3.fromRGB(5, 5, 5)
SideBar.BorderSizePixel = 1
SideBar.BorderColor3 = Color3.fromRGB(255, 0, 0)
SideBar.Parent = MainFrame
local function createSideBarLayout()
local layout = Instance.new("UIListLayout")
layout.Parent = SideBar; layout.Padding = UDim.new(0, 5); layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
local padding = Instance.new("UIPadding"); padding.Parent = SideBar; padding.PaddingTop = UDim.new(0, 5)
end
createSideBarLayout()
local containers = {}
local function createContainer(name, visible)
local frame = Instance.new("ScrollingFrame")
frame.Size = UDim2.new(1, -155, 1, -90)
frame.Position = UDim2.new(0, 150, 0, 45)
frame.BackgroundTransparency = 1
frame.CanvasSize = UDim2.new(0, 0, 0, 750)
frame.ScrollBarThickness = 6
frame.Visible = visible
frame.Parent = MainFrame
local layout = Instance.new("UIListLayout")
layout.Parent = frame; layout.Padding = UDim.new(0, 12)
containers[name] = frame
return frame
end
local MainContainer = createContainer("MAIN", true)
local FPSContainer = createContainer("FPS", false)
local BloxFruitContainer = createContainer("BLOXFRUIT", false)
local MM2Container = createContainer("MM2", false)
local ForsakenContainer = createContainer("FORSAKEN", false)
local TooltipBar = Instance.new("Frame")
TooltipBar.Size = UDim2.new(1, 0, 0, 40)
TooltipBar.Position = UDim2.new(0, 0, 1, -40)
TooltipBar.BackgroundColor3 = Color3.fromRGB(5, 5, 5)
TooltipBar.BorderSizePixel = 1
TooltipBar.BorderColor3 = Color3.fromRGB(255, 0, 0)
TooltipBar.Parent = MainFrame
local TooltipText = Instance.new("TextLabel")
TooltipText.Size = UDim2.new(1, -20, 1, 0)
TooltipText.Position = UDim2.new(0, 10, 0, 0)
TooltipText.Text = "READY OR NOT WE PLAY GAME"
TooltipText.TextColor3 = Color3.fromRGB(255, 0, 0)
TooltipText.Font = Enum.Font.SourceSansBold
TooltipText.TextSize = 15
TooltipText.TextXAlignment = Enum.TextXAlignment.Center
TooltipText.BackgroundTransparency = 1
TooltipText.Parent = TooltipBar
local function addTooltip(element, text)
element.MouseEnter:Connect(function()
TooltipText.Text = text
TooltipText.TextXAlignment = Enum.TextXAlignment.Left
end)
element.MouseLeave:Connect(function()
TooltipText.Text = "READY OR NOT WE PLAY GAME"
TooltipText.TextXAlignment = Enum.TextXAlignment.Center
end)
end
local tabButtons = {}
local function createTabBtn(name, targetContainer, defaultActive)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, -10, 0, 32)
btn.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
btn.BorderSizePixel = 2
btn.BorderColor3 = defaultActive and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(100, 0, 0)
btn.Text = name
btn.TextColor3 = defaultActive and Color3.fromRGB(255, 0, 0) or Color3.fromRGB(100, 0, 0)
btn.Font = Enum.Font.SourceSansBold
btn.TextSize = 13
btn.Parent = SideBar
btn.MouseButton1Click:Connect(function()
for k, v in pairs(containers) do v.Visible = false end
for _, b in pairs(tabButtons) do
b.BorderColor3 = Color3.fromRGB(100, 0, 0)
b.TextColor3 = Color3.fromRGB(100, 0, 0)
end
targetContainer.Visible = true
btn.BorderColor3 = Color3.fromRGB(255, 0, 0)
btn.TextColor3 = Color3.fromRGB(255, 0, 0)
end)
table.insert(tabButtons, btn)
end
createTabBtn("MAIN", MainContainer, true)
createTabBtn("FPS", FPSContainer, false)
createTabBtn("BLOX FRUIT", BloxFruitContainer, false)
createTabBtn("MM2", MM2Container, false)
createTabBtn("FORSAKEN :)", ForsakenContainer, false)
local function createSlider(parent, text, desc, min, max, default, callback)
local Frame = Instance.new("Frame"); Frame.Size = UDim2.new(1, -10, 0, 50); Frame.BackgroundColor3 = Color3.fromRGB(20, 5, 5); Frame.BorderSizePixel = 1; Frame.BorderColor3 = Color3.fromRGB(100, 0, 0); Frame.Parent = parent
local Label = Instance.new("TextLabel"); Label.Size = UDim2.new(0.5, 0, 1, 0); Label.Position = UDim2.new(0, 10, 0, 0); Label.Text = text .. ": " .. tostring(default); Label.TextColor3 = Color3.fromRGB(255, 0, 0); Label.Font = Enum.Font.SourceSansBold; Label.TextSize = 15; Label.TextXAlignment = Enum.TextXAlignment.Left; Label.BackgroundTransparency = 1; Label.Parent = Frame
local SliderBar = Instance.new("TextButton"); SliderBar.Size = UDim2.new(0.4, 0, 0, 10); SliderBar.Position = UDim2.new(0.55, 0, 0.5, -5); SliderBar.BackgroundColor3 = Color3.fromRGB(0, 0, 0); SliderBar.BorderSizePixel = 1; SliderBar.BorderColor3 = Color3.fromRGB(255, 0, 0); SliderBar.Text = ""; SliderBar.Parent = Frame
local Fill = Instance.new("Frame"); Fill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0); Fill.BackgroundColor3 = Color3.fromRGB(255, 0, 0); Fill.BorderSizePixel = 0; Fill.Parent = SliderBar
local sliding = false
local function update()
local mousePos = UserInputService:GetMouseLocation().X; local barPos = SliderBar.AbsolutePosition.X; local barWidth = SliderBar.AbsoluteSize.X; local percentage = math.clamp((mousePos - barPos) / barWidth, 0, 1)
Fill.Size = UDim2.new(percentage, 0, 1, 0); local value = math.floor(min + (percentage * (max - min))); Label.Text = text .. ": " .. tostring(value); callback(value)
end
SliderBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliding = true; update() end end)
UserInputService.InputChanged:Connect(function(input) if sliding and input.UserInputType == Enum.UserInputType.MouseMovement then update() end end)
UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliding = false end end)
addTooltip(Frame, desc)
end
local function createToggle(parent, text, desc, default, callback)
local Frame = Instance.new("Frame"); Frame.Size = UDim2.new(1, -10, 0, 45); Frame.BackgroundColor3 = Color3.fromRGB(20, 5, 5); Frame.BorderSizePixel = 1; Frame.BorderColor3 = Color3.fromRGB(100, 0, 0); Frame.Parent = parent
local Label = Instance.new("TextLabel"); Label.Size = UDim2.new(0.6, 0, 1, 0); Label.Position = UDim2.new(0, 10, 0, 0); Label.Text = text; Label.TextColor3 = Color3.fromRGB(255, 0, 0); Label.Font = Enum.Font.SourceSansBold; Label.TextSize = 15; Label.TextXAlignment = Enum.TextXAlignment.Left; Label.BackgroundTransparency = 1; Label.Parent = Frame
local Button = Instance.new("TextButton"); Button.Size = UDim2.new(0, 70, 0, 25); Button.Position = UDim2.new(1, -80, 0.5, -12); Button.BackgroundColor3 = Color3.fromRGB(0, 0, 0); Button.BorderSizePixel = 2; Button.BorderColor3 = Color3.fromRGB(255, 0, 0); Button.Text = default and "ON" or "OFF"; Button.TextColor3 = Color3.fromRGB(255, 0, 0); Button.Font = Enum.Font.SourceSansBold; Button.TextSize = 13; Button.Parent = Frame
local state = default
Button.MouseButton1Click:Connect(function()
state = not state; Button.Text = state and "ON" or "OFF"; callback(state)
end)
addTooltip(Frame, desc)
end
local function createTextBox(parent, text, desc, placeholder, callback)
local Frame = Instance.new("Frame"); Frame.Size = UDim2.new(1, -10, 0, 45); Frame.BackgroundColor3 = Color3.fromRGB(20, 5, 5); Frame.BorderSizePixel = 1; Frame.BorderColor3 = Color3.fromRGB(100, 0, 0); Frame.Parent = parent
local Label = Instance.new("TextLabel"); Label.Size = UDim2.new(0.4, 0, 1, 0); Label.Position = UDim2.new(0, 10, 0, 0); Label.Text = text; Label.TextColor3 = Color3.fromRGB(255, 0, 0); Label.Font = Enum.Font.SourceSansBold; Label.TextSize = 15; Label.TextXAlignment = Enum.TextXAlignment.Left; Label.BackgroundTransparency = 1; Label.Parent = Frame
local TextBox = Instance.new("TextBox"); TextBox.Size = UDim2.new(0.5, 0, 0, 25); TextBox.Position = UDim2.new(0.45, 0, 0.5, -12); TextBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0); TextBox.BorderSizePixel = 1; TextBox.BorderColor3 = Color3.fromRGB(255, 0, 0); TextBox.Text = ""; TextBox.PlaceholderText = placeholder; TextBox.TextColor3 = Color3.fromRGB(255, 0, 0); TextBox.PlaceholderColor3 = Color3.fromRGB(120, 0, 0); TextBox.Font = Enum.Font.SourceSans; TextBox.TextSize = 14; TextBox.Parent = Frame
TextBox.FocusLost:Connect(function() callback(TextBox.Text) end)
addTooltip(Frame, desc)
end
local function createButton(parent, text, desc, callback)
local Button = Instance.new("TextButton"); Button.Size = UDim2.new(1, -10, 0, 40); Button.BackgroundColor3 = Color3.fromRGB(0, 0, 0); Button.BorderSizePixel = 2; Button.BorderColor3 = Color3.fromRGB(255, 0, 0); Button.Text = text; Button.TextColor3 = Color3.fromRGB(255, 0, 0); Button.Font = Enum.Font.SourceSansBold; Button.TextSize = 15; Button.Parent = parent
Button.MouseButton1Click:Connect(callback); addTooltip(Button, desc)
end
-- STANDARD WALK SPEED --
createSlider(MainContainer, "WalkSpeed", "Adjusts the character walking speed limit.", 16, 250, 16, function(val)
pcall(function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
LocalPlayer.Character:FindFirstChildOfClass("Humanoid").WalkSpeed = val
end
end)
end)
createSlider(MainContainer, "JumpPower", "Adjusts the character jump height velocity.", 50, 500, 50, function(val) if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid"); hum.UseJumpPower = true; hum.JumpPower = val end end)
local infJumpEnabled = false; UserInputService.JumpRequest:Connect(function() if infJumpEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then LocalPlayer.Character:FindFirstChildOfClass("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping) end end)
createToggle(MainContainer, "Infinite Jump", "Allows continuous jumping in mid-air.", false, function(state) infJumpEnabled = state end)
local flying = false; local flySpeedMultiplier = 16; local flyConnection
local function toggleFlying(targetState)
flying = targetState; local character = LocalPlayer.Character; if not character or not character:FindFirstChild("HumanoidRootPart") or not character:FindFirstChildOfClass("Humanoid") then return end
local hrp = character.HumanoidRootPart; local humanoid = character:FindFirstChildOfClass("Humanoid")
if flying then
humanoid.PlatformStand = true
flyConnection = RunService.Heartbeat:Connect(function()
if not flying or not character or not hrp.Parent then if flyConnection then flyConnection:Disconnect() end; humanoid.PlatformStand = false; return end
local cameraCFrame = Workspace.CurrentCamera.CFrame; local moveDirection = Vector3.new(0, 0, 0)
if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDirection = moveDirection + cameraCFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDirection = moveDirection - cameraCFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDirection = moveDirection - cameraCFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDirection = moveDirection + cameraCFrame.RightVector end
hrp.Velocity = Vector3.new(0, 0.1, 0); hrp.RotVelocity = Vector3.new(0, 0, 0)
if moveDirection.Magnitude > 0 then hrp.CFrame = CFrame.new(hrp.Position + (moveDirection.Unit * (flySpeedMultiplier / 10))) * CFrame.Angles(cameraCFrame:ToEulerAnglesXYZ())
else hrp.CFrame = CFrame.new(hrp.Position) * CFrame.Angles(cameraCFrame:ToEulerAnglesXYZ()) end
end)
else if flyConnection then flyConnection:Disconnect() end; humanoid.PlatformStand = false; hrp.Velocity = Vector3.new(0, 0, 0) end
end
createToggle(MainContainer, "Fly Hack", "Enables smooth CFrame flight mode.", false, function(state) toggleFlying(state) end)
createSlider(MainContainer, "Fly Speed", "Adjusts the CFrame flight travel speed.", 16, 300, 16, function(val) flySpeedMultiplier = val end)
local noclipEnabled = false; local noclipConnection
createToggle(MainContainer, "Noclip", "Allows walking through walls and solid objects.", false, function(state) noclipEnabled = state; if noclipEnabled then noclipConnection = RunService.Stepped:Connect(function() if not noclipEnabled then noclipConnection:Disconnect() return end; 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) else if noclipConnection then noclipConnection:Disconnect() end end end)
createButton(MainContainer, "Teleport to Nearest Player", "Teleports you directly behind the closest player instance.", function()
local char = LocalPlayer.Character; if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local closestPlayer = nil; local shortestDistance = math.huge
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
local dist = (char.HumanoidRootPart.Position - player.Character.HumanoidRootPart.Position).Magnitude
if dist < shortestDistance then shortestDistance = dist; closestPlayer = player end
end
end
if closestPlayer then char.HumanoidRootPart.CFrame = closestPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, -3) end
end)
local tpToolEnabled = false
local tpTool = nil
local function giveTpTool(state)
tpToolEnabled = state
if tpToolEnabled then
local backpack = LocalPlayer:FindFirstChildOfClass("Backpack")
if backpack and not backpack:FindFirstChild("TP Tool") and not (LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("TP Tool")) then
tpTool = Instance.new("Tool")
tpTool.Name = "TP Tool"
tpTool.RequiresHandle = false
tpTool.Activated:Connect(function()
local mouse = LocalPlayer:GetMouse()
local char = LocalPlayer.Character
if char and char:FindFirstChild("HumanoidRootPart") then
char.HumanoidRootPart.CFrame = CFrame.new(mouse.Hit.Position + Vector3.new(0, 3, 0))
end
end)
tpTool.Parent = backpack
end
else
if tpTool then tpTool:Destroy() tpTool = nil end
local backpack = LocalPlayer:FindFirstChildOfClass("Backpack")
if backpack then
local existing = backpack:FindFirstChild("TP Tool")
if existing then existing:Destroy() end
end
if LocalPlayer.Character then
local existing = LocalPlayer.Character:FindFirstChild("TP Tool")
if existing then existing:Destroy() end
end
end
end
LocalPlayer.CharacterAdded:Connect(function()
task.wait(1)
if tpToolEnabled then
giveTpTool(false)
giveTpTool(true)
end
end)
createToggle(MainContainer, "Click TP Tool", "Gives an item that teleports you to your mouse click location.", false, function(state) giveTpTool(state) end)
local rotationEnabled = false
local rotationSpeedMultiplier = 1
local rotationConnection
createToggle(MainContainer, "Character Rotation", "Rotates character coordinates smoothly on the Y axis.", false, function(state)
rotationEnabled = state
if rotationEnabled then
rotationConnection = RunService.Heartbeat:Connect(function()
if not rotationEnabled then rotationConnection:Disconnect() return end
local char = LocalPlayer.Character
if char and char:FindFirstChild("HumanoidRootPart") then
local hrp = char.HumanoidRootPart
local angleIncrement = math.rad(rotationSpeedMultiplier * 5)
hrp.CFrame = hrp.CFrame * CFrame.Angles(0, angleIncrement, 0)
end
end)
else
if rotationConnection then rotationConnection:Disconnect() end
end
end)
createSlider(MainContainer, "Rotation Speed", "Modifies the angular velocity scaling of character rotation.", 1, 20, 1, function(val)
rotationSpeedMultiplier = val
end)
local origAmbient = Lighting.Ambient
local origOutdoorAmbient = Lighting.OutdoorAmbient
local origBrightness = Lighting.Brightness
local origShadows = Lighting.GlobalShadows
createToggle(MainContainer, "FullBright", "Enables universal ambient lighting override.", false, function(state)
if state then
Lighting.Ambient = Color3.fromRGB(255, 255, 255)
Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255)
Lighting.Brightness = 2
Lighting.GlobalShadows = false
else
Lighting.Ambient = origAmbient
Lighting.OutdoorAmbient = origOutdoorAmbient
Lighting.Brightness = origBrightness
Lighting.GlobalShadows = origShadows
end
end)
local afkEnabled = false
local afkInterval = 5
local afkTimer = 0
task.spawn(function()
while true do
task.wait(1)
if afkEnabled then
afkTimer = afkTimer + 1
if afkTimer >= (afkInterval * 60) then
afkTimer = 0
pcall(function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
LocalPlayer.Character:FindFirstChildOfClass("Humanoid").Jump = true
end
end)
end
else
afkTimer = 0
end
end
end)
createToggle(MainContainer, "Anti-AFK", "Triggers periodic jumps to prevent idle disconnection.", false, function(state)
afkEnabled = state
end)
createSlider(MainContainer, "Anti-AFK Interval (Min)", "Determines the countdown threshold in minutes.", 1, 15, 5, function(val)
afkInterval = val
end)
local aimbotEnabled = false; local camera = Workspace.CurrentCamera
local function getAbsoluteClosestPlayer()
local closestPlayer = nil
local shortestDistance = math.huge
local myChar = LocalPlayer.Character
if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then return nil end
local myRoot = myChar.HumanoidRootPart
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
local targetRoot = player.Character:FindFirstChild("HumanoidRootPart")
local targetHead = player.Character:FindFirstChild("Head")
local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
if targetRoot and targetHead and humanoid and humanoid.Health > 0 then
local dist = (myRoot.Position - targetRoot.Position).Magnitude
if dist < shortestDistance then
shortestDistance = dist
closestPlayer = player
end
end
end
end
return closestPlayer
end
RunService.RenderStepped:Connect(function()
if aimbotEnabled then
local target = getAbsoluteClosestPlayer()
if target and target.Character and target.Character:FindFirstChild("Head") then
camera.CFrame = CFrame.new(camera.CFrame.Position, target.Character.Head.Position)
end
end
end)
createToggle(FPSContainer, "Aimbot", "Locks camera orientation onto the nearest player's head.", false, function(state) aimbotEnabled = state end)
createSlider(FPSContainer, "FOV Changer", "Modifies camera field of view.", 70, 120, 70, function(val) camera.FieldOfView = val end)
local espEnabled = false
local espConnections = {}
local espFolder = nil
local function applyESP(player, char)
if not espFolder then return end
local hrp = char:WaitForChild("HumanoidRootPart", 5)
local hum = char:WaitForChild("Humanoid", 5)
if not hrp or not hum then return end
local existing = espFolder:FindFirstChild(player.Name)
if existing then existing:Destroy() end
local box = Instance.new("BoxHandleAdornment")
box.Name = player.Name
box.Size = Vector3.new(4, 6, 4)
box.Color3 = Color3.fromRGB(255, 0, 0)
box.AlwaysOnTop = true
box.ZIndex = 5
box.Transparency = 0.5
box.Adornee = hrp
box.Parent = espFolder
local diedCon = hum.Died:Connect(function()
if box then box:Destroy() end
end)
table.insert(espConnections, diedCon)
end
local function trackPlayerESP(player)
if player == LocalPlayer then return end
local charCon = player.CharacterAdded:Connect(function(char)
applyESP(player, char)
end)
table.insert(espConnections, charCon)
if player.Character then
applyESP(player, player.Character)
end
end
local function startStandardESP()
if espFolder then espFolder:Destroy() end
espFolder = Instance.new("Folder")
espFolder.Name = "StandardESPFolder"
espFolder.Parent = CoreGui
for _, p in pairs(Players:GetPlayers()) do
trackPlayerESP(p)
end
local playerAddedCon = Players.PlayerAdded:Connect(trackPlayerESP)
table.insert(espConnections, playerAddedCon)
local playerRemovingCon = Players.PlayerRemoving:Connect(function(player)
if espFolder then
local existing = espFolder:FindFirstChild(player.Name)
if existing then existing:Destroy() end
end
end)
table.insert(espConnections, playerRemovingCon)
end
local function stopStandardESP()
for _, con in pairs(espConnections) do
if con then con:Disconnect() end
end
table.clear(espConnections)
if espFolder then
espFolder:Destroy()
espFolder = nil
end
end
createToggle(FPSContainer, "ESP Boxes", "Highlights opponent models through solid boundaries.", false, function(state)
espEnabled = state
if espEnabled then
startStandardESP()
else
stopStandardESP()
end
end)
local freecamEnabled = false; local freecamConnection; local freecamPart
createToggle(FPSContainer, "Freecam", "Decouples camera projection from character frame.", false, function(state)
freecamEnabled = state
if freecamEnabled then
freecamPart = Instance.new("Part"); freecamPart.Size = Vector3.new(1, 1, 1); freecamPart.Transparency = 1; freecamPart.CanCollide = false; freecamPart.Anchored = true; freecamPart.CFrame = camera.CFrame; freecamPart.Parent = Workspace; camera.CameraSubject = freecamPart
freecamConnection = RunService.RenderStepped:Connect(function()
if not freecamEnabled or not freecamPart then if freecamConnection then freecamConnection:Disconnect() end return end
local cameraCFrame = camera.CFrame; local moveDirection = Vector3.new(0, 0, 0)
if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDirection = moveDirection + cameraCFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDirection = moveDirection - cameraCFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDirection = moveDirection - cameraCFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDirection = moveDirection + cameraCFrame.RightVector end
if moveDirection.Magnitude > 0 then freecamPart.CFrame = CFrame.new(freecamPart.Position + (moveDirection.Unit * 1.5)) * CFrame.Angles(cameraCFrame:ToEulerAnglesXYZ()) end
end)
else if freecamConnection then freecamConnection:Disconnect() end; if freecamPart then freecamPart:Destroy() end; if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then camera.CameraSubject = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") end end
end)
local fpsBoosterEnabled = false
local fpsConnection
local originalProperties = {}
local function applyFpsBoost(v)
if v:IsA("Decal") or v:IsA("Texture") then
if not originalProperties[v] then
originalProperties[v] = {Transparency = v.Transparency}
end
v.Transparency = 1
elseif v:IsA("ParticleEmitter") or v:IsA("Trail") or v:IsA("Smoke") or v:IsA("Fire") or v:IsA("Sparkles") then
if not originalProperties[v] then
originalProperties[v] = {Enabled = v.Enabled}
end
v.Enabled = false
end
end
local function restoreFpsSettings()
for inst, props in pairs(originalProperties) do
pcall(function()
if inst and inst.Parent then
if props.Transparency ~= nil then
inst.Transparency = props.Transparency
end
if props.Enabled ~= nil then
inst.Enabled = props.Enabled
end
end
end)
end
table.clear(originalProperties)
end
createToggle(FPSContainer, "FPS Booster", "Disables textures, decals, and particles to boost performance.", false, function(state)
fpsBoosterEnabled = state
if fpsBoosterEnabled then
fpsConnection = Workspace.DescendantAdded:Connect(function(v)
pcall(function()
if fpsBoosterEnabled then
applyFpsBoost(v)
end
end)
end)
for _, v in pairs(Workspace:GetDescendants()) do
pcall(function()
applyFpsBoost(v)
end)
end
else
if fpsConnection then
fpsConnection:Disconnect()
fpsConnection = nil
end
restoreFpsSettings()
end
end)
local origFogStart = Lighting.FogStart
local origFogEnd = Lighting.FogEnd
createToggle(FPSContainer, "No Fog", "Removes atmosphere and rendering fog for clear visibility.", false, function(state)
if state then
Lighting.FogStart = 999999; Lighting.FogEnd = 999999
else
Lighting.FogStart = origFogStart; Lighting.FogEnd = origFogEnd
end
end)
local autoNpcEnabled = false; local npcConnection
local function getClosestNPC()
local closest = nil; local shortestDistance = math.huge; local myChar = LocalPlayer.Character
if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then return nil end
for _, v in pairs(Workspace:GetDescendants()) do
if v:IsA("Model") and v:FindFirstChild("Humanoid") and v:FindFirstChild("HumanoidRootPart") and v.Name ~= LocalPlayer.Name and not Players:GetPlayerFromCharacter(v) then
if v.Humanoid.Health > 0 then
local dist = (myChar.HumanoidRootPart.Position - v.HumanoidRootPart.Position).Magnitude
if dist < shortestDistance then shortestDistance = dist; closest = v end
end
end
end
return closest
end
createToggle(BloxFruitContainer, "Auto NPC Target", "Tracks nearest NPC and automatically triggers equipped tools.", false, function(state)
autoNpcEnabled = state
if autoNpcEnabled then
npcConnection = RunService.Heartbeat:Connect(function()
if not autoNpcEnabled then npcConnection:Disconnect() return end
local targetNpc = getClosestNPC(); local myChar = LocalPlayer.Character
if targetNpc and myChar and myChar:FindFirstChild("HumanoidRootPart") then
myChar.HumanoidRootPart.CFrame = targetNpc.HumanoidRootPart.CFrame * CFrame.new(0, 0, 3)
local tool = myChar:FindFirstChildOfClass("Tool")
if tool then
tool:Activate()
end
end
end)
else
if npcConnection then npcConnection:Disconnect() end
end
end)
local spamText = "GG"
local spamEnabled = false
local spamDelay = 3
task.spawn(function()
while true do
task.wait(spamDelay)
if spamEnabled and spamText ~= "" then
pcall(function()
local TextChatService = game:GetService("TextChatService")
if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then
local channel = TextChatService.TextChannels.RBXGeneral
channel:SendAsync(spamText)
else
game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(spamText, "All")
end
end)
end
end
end)
createTextBox(BloxFruitContainer, "Spam Text", "Enter the text you want to spam in chat.", "GG", function(txt) spamText = txt end)
createSlider(BloxFruitContainer, "Spam Delay (Sec)", "Adjust the message transmission delay.", 1, 10, 3, function(val) spamDelay = val end)
createToggle(BloxFruitContainer, "Chat Spammer", "Periodically broadcasts the custom message to server chat.", false, function(state) spamEnabled = state end)
local mm2EspEnabled = false
local mm2EspBoxes = {}
task.spawn(function()
while true do
task.wait(0.5)
if mm2EspEnabled then
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
pcall(function()
local isMurderer = player.Backpack:FindFirstChild("Knife") or player.Character:FindFirstChild("Knife")
local isSheriff = player.Backpack:FindFirstChild("Gun") or player.Character:FindFirstChild("Gun") or player.Backpack:FindFirstChild("Revolver") or player.Character:FindFirstChild("Revolver")
local hrp = player.Character.HumanoidRootPart
local existingBox = hrp:FindFirstChild("MM2_ESP_BOX")
if isMurderer or isSheriff then
if not existingBox then
local box = Instance.new("BoxHandleAdornment")
box.Name = "MM2_ESP_BOX"
box.Size = Vector3.new(4, 6, 4)
box.AlwaysOnTop = true
box.ZIndex = 5
box.Transparency = 0.5
box.Adornee = hrp
box.Parent = hrp
table.insert(mm2EspBoxes, box)
end
local currentBox = hrp:FindFirstChild("MM2_ESP_BOX")
if currentBox then
if isMurderer then
currentBox.Color3 = Color3.fromRGB(255, 0, 0)
elseif isSheriff then
currentBox.Color3 = Color3.fromRGB(0, 0, 255)
end
end
else
if existingBox then existingBox:Destroy() end
end
end)
end
end
else
for _, player in pairs(Players:GetPlayers()) do
if player.Character then
local hrp = player.Character:FindFirstChild("HumanoidRootPart")
if hrp then
local box = hrp:FindFirstChild("MM2_ESP_BOX")
if box then box:Destroy() end
end
end
end
table.clear(mm2EspBoxes)
end
end
end)
createToggle(MM2Container, "Role ESP", "Highlights Murderer (Red) and Sheriff (Blue) through walls.", false, function(state) mm2EspEnabled = state end)
createButton(MM2Container, "TP to Dropped Gun", "Teleports your character to the dead sheriff's dropped weapon.", function()
local char = LocalPlayer.Character
if char and char:FindFirstChild("HumanoidRootPart") then
pcall(function()
for _, v in pairs(Workspace:GetDescendants()) do
if v:IsA("Tool") and (v.Name == "Gun" or v.Name == "Revolver") and not v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") then
char.HumanoidRootPart.CFrame = v:GetModelCFrame() or v.Handle.CFrame
break
elseif v.Name == "GunDrop" or v.Name == "GunPart" then
char.HumanoidRootPart.CFrame = v.CFrame
break
end
end
end)
end
end)
local forsakenEspEnabled = false
local forsakenConnections = {}
local forsakenFolder = nil
-- DEEP SCANNING JASON DETECTOR --
local function isPlayerJason(player)
local char = player.Character
local backpack = player:FindFirstChildOfClass("Backpack")
if char then
local charName = string.lower(char.Name)
if charName:find("jason") or charName:find("killer") then
return true
end
end
if char and char:FindFirstChild("Jason") then
return true
end
if player:FindFirstChild("Jason") then
return true
end
local function checkTools(container)
if not container then return false end
for _, tool in pairs(container:GetChildren()) do
if tool:IsA("Tool") then
local name = string.lower(tool.Name)
if name:find("jason") or name:find("machete") or name:find("axe") or name:find("spear") or name:find("grab") or name:find("shears") or name:find("kill") then
return true
end
end
end
return false
end
if checkTools(backpack) or checkTools(char) then
return true
end
local playerAttr = player:GetAttribute("Role") or player:GetAttribute("role") or player:GetAttribute("Character")
if playerAttr and string.lower(tostring(playerAttr)):find("jason") then
return true
end
if char then
local charAttr = char:GetAttribute("Role") or char:GetAttribute("role") or char:GetAttribute("Character")
if charAttr and string.lower(tostring(charAttr)):find("jason") then
return true
end
end
for _, child in pairs(player:GetChildren()) do
if child:IsA("StringValue") or child:IsA("ObjectValue") or child:IsA("IntValue") then
local valStr = string.lower(tostring(child.Value))
local nameStr = string.lower(child.Name)
if valStr:find("jason") or nameStr:find("jason") or valStr:find("killer") then
return true
end
end
end
if char then
for _, child in pairs(char:GetChildren()) do
if child:IsA("StringValue") or child:IsA("ObjectValue") or child:IsA("IntValue") then
local valStr = string.lower(tostring(child.Value))
local nameStr = string.lower(child.Name)
if valStr:find("jason") or nameStr:find("jason") or valStr:find("killer") then
return true
end
end
end
end
if player.Team then
local teamName = string.lower(player.Team.Name)
if teamName:find("jason") or teamName:find("killer") or teamName:find("hostile") then
return true
end
end
return false
end
local function applyForsakenESP(player, char)
if not forsakenFolder then return end
local hum = char:WaitForChild("Humanoid", 5)
if not hum then return end
local existing = forsakenFolder:FindFirstChild(player.Name)
if existing then existing:Destroy() end
local highlight = Instance.new("Highlight")
highlight.Name = player.Name
highlight.FillTransparency = 0.4
highlight.OutlineTransparency = 0
highlight.Adornee = char
highlight.Parent = forsakenFolder
local colorThread
colorThread = task.spawn(function()
while highlight and highlight.Parent do
pcall(function()
if isPlayerJason(player) then
highlight.FillColor = Color3.fromRGB(5, 5, 5)
highlight.OutlineColor = Color3.fromRGB(255, 0, 0)
else
highlight.FillColor = Color3.fromRGB(255, 0, 0)
highlight.OutlineColor = Color3.fromRGB(0, 0, 0)
end
end)
task.wait(0.5)
end
end)
local diedCon = hum.Died:Connect(function()
if highlight then highlight:Destroy() end
task.cancel(colorThread)
end)
table.insert(forsakenConnections, diedCon)
end
local function trackPlayerForsaken(player)
if player == LocalPlayer then return end
local charCon = player.CharacterAdded:Connect(function(char)
applyForsakenESP(player, char)
end)
table.insert(forsakenConnections, charCon)
if player.Character then
applyForsakenESP(player, player.Character)
end
end
local function startForsakenESP()
if forsakenFolder then forsakenFolder:Destroy() end
forsakenFolder = Instance.new("Folder")
forsakenFolder.Name = "ForsakenESPFolder"
forsakenFolder.Parent = CoreGui
for _, p in pairs(Players:GetPlayers()) do
trackPlayerForsaken(p)
end
local playerAddedCon = Players.PlayerAdded:Connect(trackPlayerForsaken)
table.insert(forsakenConnections, playerAddedCon)
local playerRemovingCon = Players.PlayerRemoving:Connect(function(player)
if forsakenFolder then
local existing = forsakenFolder:FindFirstChild(player.Name)
if existing then existing:Destroy() end
end
end)
table.insert(forsakenConnections, playerRemovingCon)
end
local function stopForsakenESP()
for _, con in pairs(forsakenConnections) do
if con then con:Disconnect() end
end
table.clear(forsakenConnections)
if forsakenFolder then
forsakenFolder:Destroy()
forsakenFolder = nil
end
end
createToggle(ForsakenContainer, "Forsaken ESP", "Highlights all players with red Chams visible through walls.", false, function(state)
forsakenEspEnabled = state
if forsakenEspEnabled then
startForsakenESP()
else
stopForsakenESP()
end
end)
-- FORSAKEN BYPASS WALK SPEED (CFRAME OFFSET TECHNIQUE) --
local forsakenSpeedEnabled = false
local forsakenSpeedVal = 16
local forsakenSpeedConnection = nil
local function startForsakenSpeedLoop()
if forsakenSpeedConnection then forsakenSpeedConnection:Disconnect() end
forsakenSpeedConnection = RunService.Heartbeat:Connect(function(deltaTime)
if forsakenSpeedEnabled then
pcall(function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
local char = LocalPlayer.Character
local hrp = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChildOfClass("Humanoid")
if hrp and hum and hum.MoveDirection.Magnitude > 0 then
local extraSpeed = math.max(0, forsakenSpeedVal - 16)
if extraSpeed > 0 then
hrp.CFrame = hrp.CFrame + (hum.MoveDirection * (extraSpeed * deltaTime))
end
end
end
end)
else
if forsakenSpeedConnection then
forsakenSpeedConnection:Disconnect()
forsakenSpeedConnection = nil
end
end
end)
end
createToggle(ForsakenContainer, "Bypass WalkSpeed", "Constantly forces your custom speed to bypass anti-cheat limits.", false, function(state)
forsakenSpeedEnabled = state
if forsakenSpeedEnabled then
startForsakenSpeedLoop()
else
if forsakenSpeedConnection then
forsakenSpeedConnection:Disconnect()
forsakenSpeedConnection = nil
end
end
end)
createSlider(ForsakenContainer, "Bypass Speed Val", "Set your custom bypassed WalkSpeed value.", 16, 250, 16, function(val)
forsakenSpeedVal = val
end)
-- ABSOLUTE PERFECT REAL-TIME FORSAKEN ITEM ESP --
local itemEspEnabled = false
local itemEspConnections = {}
local itemEspFolder = nil
local realItemKeywords = {
"generator", "jeneratör", "jenaratör", "cola", "blox", "burger", "hamburger", "pizza", "medkit", "med", "heal"
}
local function isEscapeItem(obj)
if not obj:IsA("BasePart") and not obj:IsA("Model") then return false end
if obj:IsDescendantOf(LocalPlayer.Character) or obj:FindFirstAncestorOfClass("Player") or obj:FindFirstAncestorOfClass("Backpack") then return false end
local name = string.lower(obj.Name)
if name:find("wall") or name:find("floor") or name:find("ceiling") or name:find("map") or name:find("spawner") then return false end
local matched = false
for _, keyword in pairs(realItemKeywords) do
if name:find(keyword) then
matched = true
break
end
end
if not matched then return false end
local prompt = obj:FindFirstChildOfClass("ProximityPrompt") or obj:FindFirstChildWhichIsA("ProximityPrompt", true)
if not prompt and not (name:find("generator") or name:find("jeneratör") or name:find("jenaratör")) then
return false
end
if prompt and not prompt.Enabled then return false end
if obj:IsA("BasePart") and obj.Transparency > 0.7 then return false end
if obj:IsA("Model") and obj.PrimaryPart and obj.PrimaryPart.Transparency > 0.7 then return false end
return true
end
local function createItemVisual(obj)
if not itemEspFolder then return end
local uniqueID = obj:GetDebugId()
if itemEspFolder:FindFirstChild(uniqueID) then return end
local adornTarget = obj:IsA("Model") and (obj.PrimaryPart or obj:FindFirstChildOfClass("BasePart")) or obj
if not adornTarget then return end
local container = Instance.new("Folder")
container.Name = uniqueID
container.Parent = itemEspFolder
local bbg = Instance.new("BillboardGui")
bbg.Name = "LabelGui"
bbg.Size = UDim2.new(0, 150, 0, 30)
bbg.AlwaysOnTop = true
bbg.Adornee = adornTarget
bbg.Parent = container
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, 0, 1, 0)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.fromRGB(255, 0, 0)
label.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
label.TextStrokeTransparency = 0
label.Font = Enum.Font.SourceSansBold
label.TextSize = 12
label.Parent = bbg
local highlight = Instance.new("Highlight")
highlight.Name = "OutlineHighlight"
highlight.FillColor = Color3.fromRGB(255, 0, 0)
highlight.OutlineColor = Color3.fromRGB(255, 0, 0)
highlight.FillTransparency = 0.98
highlight.OutlineTransparency = 0
highlight.Adornee = obj
highlight.Parent = container
local connection
connection = RunService.Heartbeat:Connect(function()
local killVisual = false
local prompt = obj:FindFirstChildOfClass("ProximityPrompt") or obj:FindFirstChildWhichIsA("ProximityPrompt", true)
if not obj or not obj.Parent or not obj:IsDescendantOf(Workspace) or not itemEspEnabled then
killVisual = true
elseif obj:FindFirstAncestorOfClass("Player") or obj:FindFirstAncestorOfClass("Backpack") then
killVisual = true
elseif prompt and not prompt.Enabled then
killVisual = true
elseif obj:IsA("BasePart") and obj.Transparency > 0.7 then
killVisual = true
elseif obj:IsA("Model") and obj.PrimaryPart and obj.PrimaryPart.Transparency > 0.7 then
killVisual = true
end
if killVisual then
if container then container:Destroy() end
if connection then connection:Disconnect() end
return
end
pcall(function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
local charHrp = LocalPlayer.Character.HumanoidRootPart
local dist = math.floor((adornTarget.Position - charHrp.Position).Magnitude)
label.Text = string.upper(obj.Name) .. " [" .. tostring(dist) .. "m]"
else
label.Text = string.upper(obj.Name)
end
end)
end)
end
local function startItemESP()
if itemEspFolder then itemEspFolder:Destroy() end
itemEspFolder = Instance.new("Folder")
itemEspFolder.Name = "ItemESPFolder"
itemEspFolder.Parent = CoreGui
local function scan()
pcall(function()
for _, v in pairs(Workspace:GetDescendants()) do
if itemEspEnabled and isEscapeItem(v) then
createItemVisual(v)
end
end
end)
end
scan()
local scanThread = task.spawn(function()
while itemEspEnabled do
task.wait(1.5)
scan()
end
end)
table.insert(itemEspConnections, {Disconnect = function() task.cancel(scanThread) end})
local descAdded = Workspace.DescendantAdded:Connect(function(v)
pcall(function()
if itemEspEnabled and isEscapeItem(v) then
createItemVisual(v)
end
end)
end)
table.insert(itemEspConnections, descAdded)
end
local function stopItemESP()
for _, con in pairs(itemEspConnections) do
if con then con:Disconnect() end
end
table.clear(itemEspConnections)
if itemEspFolder then
itemEspFolder:Destroy()
itemEspFolder = nil
end
end
createToggle(ForsakenContainer, "Item ESP", "Highlights generators, food, and medkits with sharp red outlines.", false, function(state)
itemEspEnabled = state
if itemEspEnabled then
startItemESP()
else
stopItemESP()
end
end)
-- FEATURE 1: INSTANT INTERACT (PROXIMITY PROMPT HOLD BYPASS) --
local instantInteractEnabled = false
local promptConnection
local function optimizePrompts()
for _, prompt in pairs(Workspace:GetDescendants()) do
if prompt:IsA("ProximityPrompt") and instantInteractEnabled then
prompt.HoldDuration = 0
end
end
end
createToggle(ForsakenContainer, "Instant Interact", "Sets all item interaction holding durations to zero seconds.", false, function(state)
instantInteractEnabled = state
if instantInteractEnabled then
optimizePrompts()
promptConnection = Workspace.DescendantAdded:Connect(function(v)
if v:IsA("ProximityPrompt") and instantInteractEnabled then
v.HoldDuration = 0
end
end)
else
if promptConnection then promptConnection:Disconnect() promptConnection = nil end
end
end)
-- NEW FEATURE 2: TELEPORT TO HEALTH TURRET / STATION (BUILDERMAN SYSTEM) --
createButton(ForsakenContainer, "Teleport to Health Station", "Teleports you instantly to the nearest healing turret.", function()
local char = LocalPlayer.Character
if char and char:FindFirstChild("HumanoidRootPart") then
local closestStation = nil
local shortestDistance = math.huge
local stationKeywords = {"heal", "health", "taret", "turret", "station", "can", "builderman", "infirmary"}
pcall(function()
for _, v in pairs(Workspace:GetDescendants()) do
if v:IsA("BasePart") or v:IsA("Model") then
local name = string.lower(v.Name)
local isStation = false
for _, kw in pairs(stationKeywords) do
if name:find(kw) then
isStation = true
break
end
end
if isStation and not v:IsDescendantOf(char) and not v:FindFirstAncestorOfClass("Player") then
local targetPos = v:IsA("Model") and (v.PrimaryPart and v.PrimaryPart.Position or v:FindFirstChildOfClass("BasePart") and v:FindFirstChildOfClass("BasePart").Position) or v.Position
if targetPos then
local dist = (char.HumanoidRootPart.Position - targetPos).Magnitude
if dist < shortestDistance then
shortestDistance = dist
closestStation = v
end
end
end
end
end
if closestStation then
local targetCFrame = closestStation:IsA("Model") and (closestStation.PrimaryPart and closestStation.PrimaryPart.CFrame or closestStation:FindFirstChildOfClass("BasePart") and closestStation:FindFirstChildOfClass("BasePart").CFrame) or closestStation.CFrame
-- Işınlanırken taretin içine sıkışmamak için 3 stud yukarısına güvenli ışınlar
char.HumanoidRootPart.CFrame = targetCFrame * CFrame.new(0, 3, 0)
end
end)
end
end)



Cool
Is this even real
It works