local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ModernPvpGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui
local splashLabel = Instance.new("TextLabel")
splashLabel.Name = "SplashLabel"
splashLabel.Size = UDim2.new(0, 400, 0, 50)
splashLabel.Position = UDim2.new(0.5, 0, 0.45, 0)
splashLabel.AnchorPoint = Vector2.new(0.5, 0.5)
splashLabel.BackgroundTransparency = 1
splashLabel.Text = "Pvp Script By GEMINI"
splashLabel.TextColor3 = Color3.fromRGB(240, 240, 245)
splashLabel.TextSize = 26
splashLabel.Font = Enum.Font.GothamBold
splashLabel.TextTransparency = 1
splashLabel.Parent = screenGui
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 280, 0, 290)
mainFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
mainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
mainFrame.BorderSizePixel = 0
mainFrame.Visible = false
mainFrame.Parent = screenGui
local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 10)
frameCorner.Parent = mainFrame
local dragDetector = Instance.new("UIDragDetector")
dragDetector.Parent = mainFrame
local titleLabel = Instance.new("TextLabel")
titleLabel.Name = "TitleLabel"
titleLabel.Text = "Pvp Script By GEMINI"
titleLabel.Size = UDim2.new(0.75, 0, 0, 35)
titleLabel.Position = UDim2.new(0.06, 0, 0, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.TextColor3 = Color3.fromRGB(230, 230, 235)
titleLabel.TextSize = 14
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Parent = mainFrame
local closeButton = Instance.new("TextButton")
closeButton.Name = "CloseButton"
closeButton.Text = "X"
closeButton.Size = UDim2.new(0, 24, 0, 24)
closeButton.Position = UDim2.new(0.94, 0, 0.05, 0)
closeButton.AnchorPoint = Vector2.new(1, 0)
closeButton.BackgroundColor3 = Color3.fromRGB(28, 28, 35)
closeButton.TextColor3 = Color3.fromRGB(180, 180, 190)
closeButton.TextSize = 13
closeButton.Font = Enum.Font.GothamBold
closeButton.BorderSizePixel = 0
closeButton.Parent = mainFrame
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 6)
closeCorner.Parent = closeButton
local scrollFrame = Instance.new("ScrollingFrame")
scrollFrame.Name = "ContentScroll"
scrollFrame.Size = UDim2.new(1, -12, 1, -42)
scrollFrame.Position = UDim2.new(0, 6, 0, 36)
scrollFrame.BackgroundTransparency = 1
scrollFrame.BorderSizePixel = 0
scrollFrame.ScrollBarThickness = 4
scrollFrame.ScrollBarImageColor3 = Color3.fromRGB(60, 65, 80)
scrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
scrollFrame.Parent = mainFrame
local listLayout = Instance.new("UIListLayout")
listLayout.SortOrder = Enum.SortOrder.LayoutOrder
listLayout.Padding = UDim.new(0, 8)
listLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
listLayout.Parent = scrollFrame
local function createStyledButton(name, text, parent, size)
local button = Instance.new("TextButton")
button.Name = name
button.Text = text
button.Size = size or UDim2.new(1, 0, 0, 36)
button.BackgroundColor3 = Color3.fromRGB(30, 32, 40)
button.TextColor3 = Color3.fromRGB(210, 215, 225)
button.TextSize = 12
button.Font = Enum.Font.GothamMedium
button.BorderSizePixel = 0
button.Parent = parent
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 7)
corner.Parent = button
return button
end
local espKey = nil
local aimKey = nil
local tpKey = nil
local bindingTarget = nil
local espRow = Instance.new("Frame")
espRow.Name = "EspRow"
espRow.Size = UDim2.new(0.92, 0, 0, 36)
espRow.BackgroundTransparency = 1
espRow.LayoutOrder = 1
espRow.Parent = scrollFrame
local espButton = createStyledButton("ESPButton", "ESP: Off", espRow, UDim2.new(0.38, 0, 1, 0))
espButton.Position = UDim2.new(0, 0, 0, 0)
local colorButton = createStyledButton("ColorButton", "Red", espRow, UDim2.new(0.34, 0, 1, 0))
colorButton.Position = UDim2.new(0.40, 0, 0, 0)
local espBindBtn = createStyledButton("ESPBindBtn", "[None]", espRow, UDim2.new(0.24, 0, 1, 0))
espBindBtn.Position = UDim2.new(0.76, 0, 0, 0)
espBindBtn.BackgroundColor3 = Color3.fromRGB(25, 27, 35)
local aimRow = Instance.new("Frame")
aimRow.Name = "AimRow"
aimRow.Size = UDim2.new(0.92, 0, 0, 36)
aimRow.BackgroundTransparency = 1
aimRow.LayoutOrder = 2
aimRow.Parent = scrollFrame
local aimButton = createStyledButton("AIMButton", "AIM: Off", aimRow, UDim2.new(0.74, 0, 1, 0))
aimButton.Position = UDim2.new(0, 0, 0, 0)
local aimBindBtn = createStyledButton("AIMBindBtn", "[None]", aimRow, UDim2.new(0.24, 0, 1, 0))
aimBindBtn.Position = UDim2.new(0.76, 0, 0, 0)
aimBindBtn.BackgroundColor3 = Color3.fromRGB(25, 27, 35)
local tpRow = Instance.new("Frame")
tpRow.Name = "TpRow"
tpRow.Size = UDim2.new(0.92, 0, 0, 36)
tpRow.BackgroundTransparency = 1
tpRow.LayoutOrder = 3
tpRow.Parent = scrollFrame
local tpMainButton = createStyledButton("TpMainButton", "Teleport Points ▼", tpRow, UDim2.new(0.74, 0, 1, 0))
tpMainButton.Position = UDim2.new(0, 0, 0, 0)
local tpBindBtn = createStyledButton("TpBindBtn", "[None]", tpRow, UDim2.new(0.24, 0, 1, 0))
tpBindBtn.Position = UDim2.new(0.76, 0, 0, 0)
tpBindBtn.BackgroundColor3 = Color3.fromRGB(25, 27, 35)
local tpSubFrame = Instance.new("Frame")
tpSubFrame.Name = "TpSubFrame"
tpSubFrame.Size = UDim2.new(0.92, 0, 0, 0)
tpSubFrame.AutomaticSize = Enum.AutomaticSize.Y
tpSubFrame.BackgroundTransparency = 1
tpSubFrame.Visible = false
tpSubFrame.LayoutOrder = 4
tpSubFrame.Parent = scrollFrame
local tpListLayout = Instance.new("UIListLayout")
tpListLayout.SortOrder = Enum.SortOrder.LayoutOrder
tpListLayout.Padding = UDim.new(0, 6)
tpListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
tpListLayout.Parent = tpSubFrame
local actionRow = Instance.new("Frame")
actionRow.Name = "ActionRow"
actionRow.Size = UDim2.new(1, 0, 0, 32)
actionRow.BackgroundTransparency = 1
actionRow.LayoutOrder = 1
actionRow.Parent = tpSubFrame
local createPointBtn = createStyledButton("CreatePointBtn", "+ Create", actionRow, UDim2.new(0.31, 0, 1, 0))
createPointBtn.Position = UDim2.new(0, 0, 0, 0)
createPointBtn.TextSize = 11
local tpToPointBtn = createStyledButton("TpToPointBtn", "Teleport", actionRow, UDim2.new(0.34, 0, 1, 0))
tpToPointBtn.Position = UDim2.new(0.33, 0, 0, 0)
tpToPointBtn.TextSize = 11
local deletePointBtn = createStyledButton("DeletePointBtn", "Delete", actionRow, UDim2.new(0.31, 0, 1, 0))
deletePointBtn.Position = UDim2.new(0.69, 0, 0, 0)
deletePointBtn.TextSize = 11
local renameRow = Instance.new("Frame")
renameRow.Name = "RenameRow"
renameRow.Size = UDim2.new(1, 0, 0, 32)
renameRow.BackgroundTransparency = 1
renameRow.LayoutOrder = 2
renameRow.Parent = tpSubFrame
local renameInput = Instance.new("TextBox")
renameInput.Name = "RenameInput"
renameInput.PlaceholderText = "New point name..."
renameInput.Text = ""
renameInput.Size = UDim2.new(0.42, 0, 1, 0)
renameInput.Position = UDim2.new(0, 0, 0, 0)
renameInput.BackgroundColor3 = Color3.fromRGB(22, 24, 30)
renameInput.TextColor3 = Color3.fromRGB(230, 230, 235)
renameInput.PlaceholderColor3 = Color3.fromRGB(110, 110, 120)
renameInput.TextSize = 11
renameInput.Font = Enum.Font.Gotham
renameInput.BorderSizePixel = 0
renameInput.Parent = renameRow
local renameCorner = Instance.new("UICorner")
renameCorner.CornerRadius = UDim.new(0, 6)
renameCorner.Parent = renameInput
local renamePointBtn = createStyledButton("RenamePointBtn", "Rename", renameRow, UDim2.new(0.26, 0, 1, 0))
renamePointBtn.Position = UDim2.new(0.44, 0, 0, 0)
renamePointBtn.TextSize = 11
local pointBindBtn = createStyledButton("PointBindBtn", "[Key]", renameRow, UDim2.new(0.28, 0, 1, 0))
pointBindBtn.Position = UDim2.new(0.72, 0, 0, 0)
pointBindBtn.BackgroundColor3 = Color3.fromRGB(25, 27, 35)
pointBindBtn.TextSize = 11
local pointsContainer = Instance.new("Frame")
pointsContainer.Name = "PointsContainer"
pointsContainer.Size = UDim2.new(1, 0, 0, 0)
pointsContainer.AutomaticSize = Enum.AutomaticSize.Y
pointsContainer.BackgroundTransparency = 1
pointsContainer.LayoutOrder = 3
pointsContainer.Parent = tpSubFrame
local pointsLayout = Instance.new("UIListLayout")
pointsLayout.SortOrder = Enum.SortOrder.LayoutOrder
pointsLayout.Padding = UDim.new(0, 4)
pointsLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
pointsLayout.Parent = pointsContainer
local espEnabled = false
local espRenderConnection = nil
local function toggleESP()
espEnabled = not espEnabled
espButton.Text = espEnabled and "ESP: On" or "ESP: Off"
espButton.TextColor3 = espEnabled and Color3.fromRGB(60, 255, 110) or Color3.fromRGB(210, 215, 225)
if espEnabled then
espRenderConnection = RunService.RenderStepped:Connect(updateESP)
else
if espRenderConnection then
espRenderConnection:Disconnect()
espRenderConnection = nil
end
removeESP()
end
end
espButton.MouseButton1Click:Connect(toggleESP)
local aimEnabled = false
local aimRenderConnection = nil
local function toggleAIM()
aimEnabled = not aimEnabled
aimButton.Text = aimEnabled and "AIM: On" or "AIM: Off"
aimButton.TextColor3 = aimEnabled and Color3.fromRGB(60, 255, 110) or Color3.fromRGB(210, 215, 225)
if aimEnabled then
aimRenderConnection = RunService.RenderStepped:Connect(updateAIM)
else
if aimRenderConnection then
aimRenderConnection:Disconnect()
aimRenderConnection = nil
end
end
end
aimButton.MouseButton1Click:Connect(toggleAIM)
local pointCount = 0
local selectedPointBtn = nil
local pointsData = {}
local function teleportToSelectedPoint()
if selectedPointBtn and pointsData[selectedPointBtn] then
local myCharacter = player.Character
if myCharacter then
local root = myCharacter:FindFirstChild("HumanoidRootPart") or myCharacter.PrimaryPart
if root then
root.CFrame = pointsData[selectedPointBtn].cframe
end
end
end
end
tpToPointBtn.MouseButton1Click:Connect(teleportToSelectedPoint)
local tpSubOpen = false
tpMainButton.MouseButton1Click:Connect(function()
tpSubOpen = not tpSubOpen
tpSubFrame.Visible = tpSubOpen
tpMainButton.Text = tpSubOpen and "Teleport Points ▲" or "Teleport Points ▼"
end)
createPointBtn.MouseButton1Click:Connect(function()
local myCharacter = player.Character
if not myCharacter then return end
local root = myCharacter:FindFirstChild("HumanoidRootPart") or myCharacter.PrimaryPart
if not root then return end
pointCount = pointCount + 1
local pointName = pointCount .. " Point"
local savedCFrame = root.CFrame
local pBtn = createStyledButton("Point_" .. pointCount, pointName, pointsContainer, UDim2.new(1, 0, 0, 30))
pBtn.TextSize = 12
pointsData[pBtn] = {
cframe = savedCFrame,
key = nil
}
pBtn.MouseButton1Click:Connect(function()
if selectedPointBtn and selectedPointBtn.Parent then
selectedPointBtn.BackgroundColor3 = Color3.fromRGB(30, 32, 40)
selectedPointBtn.TextColor3 = Color3.fromRGB(210, 215, 225)
end
selectedPointBtn = pBtn
pBtn.BackgroundColor3 = Color3.fromRGB(45, 50, 65)
pBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
local pData = pointsData[pBtn]
pointBindBtn.Text = (pData and pData.key) and ("[" .. pData.key.Name .. "]") or "[Key]"
end)
end)
renamePointBtn.MouseButton1Click:Connect(function()
if selectedPointBtn and renameInput.Text ~= "" then
selectedPointBtn.Text = renameInput.Text
renameInput.Text = ""
end
end)
deletePointBtn.MouseButton1Click:Connect(function()
if selectedPointBtn then
pointsData[selectedPointBtn] = nil
selectedPointBtn:Destroy()
selectedPointBtn = nil
pointBindBtn.Text = "[Key]"
end
end)
local function startBinding(btn, feature)
if bindingTarget then
local prevKey = nil
if bindingTarget.feature == "ESP" then prevKey = espKey
elseif bindingTarget.feature == "AIM" then prevKey = aimKey
elseif bindingTarget.feature == "TP" then prevKey = tpKey
elseif bindingTarget.feature == "POINT" and selectedPointBtn and pointsData[selectedPointBtn] then
prevKey = pointsData[selectedPointBtn].key
end
bindingTarget.btn.Text = prevKey and ("[" .. prevKey.Name .. "]") or (bindingTarget.feature == "POINT" and "[Key]" or "[None]")
end
bindingTarget = {btn = btn, feature = feature}
btn.Text = "[...]"
end
espBindBtn.MouseButton1Click:Connect(function()
startBinding(espBindBtn, "ESP")
end)
aimBindBtn.MouseButton1Click:Connect(function()
startBinding(aimBindBtn, "AIM")
end)
tpBindBtn.MouseButton1Click:Connect(function()
startBinding(tpBindBtn, "TP")
end)
pointBindBtn.MouseButton1Click:Connect(function()
if selectedPointBtn then
startBinding(pointBindBtn, "POINT")
end
end)
local isOpen = false
local function toggleMenu()
isOpen = not isOpen
mainFrame.Visible = isOpen
end
closeButton.MouseButton1Click:Connect(function()
if isOpen then toggleMenu() end
end)
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if bindingTarget then
if input.UserInputType == Enum.UserInputType.Keyboard then
local key = input.KeyCode
if key == Enum.KeyCode.Escape then
local currentKey = nil
if bindingTarget.feature == "ESP" then currentKey = espKey
elseif bindingTarget.feature == "AIM" then currentKey = aimKey
elseif bindingTarget.feature == "TP" then currentKey = tpKey
elseif bindingTarget.feature == "POINT" and selectedPointBtn and pointsData[selectedPointBtn] then
currentKey = pointsData[selectedPointBtn].key
end
bindingTarget.btn.Text = currentKey and ("[" .. currentKey.Name .. "]") or (bindingTarget.feature == "POINT" and "[Key]" or "[None]")
else
if bindingTarget.feature == "ESP" then
espKey = key
elseif bindingTarget.feature == "AIM" then
aimKey = key
elseif bindingTarget.feature == "TP" then
tpKey = key
elseif bindingTarget.feature == "POINT" then
if selectedPointBtn and pointsData[selectedPointBtn] then
pointsData[selectedPointBtn].key = key
end
end
bindingTarget.btn.Text = "[" .. key.Name .. "]"
end
bindingTarget = nil
return
end
end
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.Insert then
toggleMenu()
return
end
if espKey and input.KeyCode == espKey then
toggleESP()
elseif aimKey and input.KeyCode == aimKey then
toggleAIM()
elseif tpKey and input.KeyCode == tpKey then
teleportToSelectedPoint()
else
for pBtn, pData in pairs(pointsData) do
if pData.key and input.KeyCode == pData.key then
local myCharacter = player.Character
if myCharacter then
local root = myCharacter:FindFirstChild("HumanoidRootPart") or myCharacter.PrimaryPart
if root then
root.CFrame = pData.cframe
end
end
break
end
end
end
end)
local espColors = {
{name = "Red", color = Color3.fromRGB(255, 60, 60)},
{name = "Green", color = Color3.fromRGB(60, 255, 110)},
{name = "Blue", color = Color3.fromRGB(60, 160, 255)},
{name = "Yellow", color = Color3.fromRGB(255, 220, 60)},
{name = "Purple", color = Color3.fromRGB(200, 80, 255)},
}
local currentColorIndex = 1
local espColor = espColors[currentColorIndex].color
local TRACER_WIDTH = 0.05
local function setESPColor(newColor)
espColor = newColor
for _, obj in ipairs(workspace:GetDescendants()) do
if obj.Name == "ESPHighlight" and obj:IsA("Highlight") then
obj.OutlineColor = espColor
elseif obj.Name == "ESPBoxBillboard" then
local frame = obj:FindFirstChildOfClass("Frame")
if frame then
local stroke = frame:FindFirstChildOfClass("UIStroke")
if stroke then stroke.Color = espColor end
end
elseif obj.Name == "ESPBeam" and obj:IsA("Beam") then
obj.Color = ColorSequence.new(espColor)
end
end
end
colorButton.Text = espColors[currentColorIndex].name
colorButton.TextColor3 = espColor
colorButton.MouseButton1Click:Connect(function()
currentColorIndex = (currentColorIndex % #espColors) + 1
local selected = espColors[currentColorIndex]
setESPColor(selected.color)
colorButton.Text = selected.name
colorButton.TextColor3 = selected.color
end)
function getMyAttachment()
local myCharacter = player.Character
if not myCharacter then return nil end
local myRoot = myCharacter:FindFirstChild("HumanoidRootPart") or myCharacter.PrimaryPart
if not myRoot then return nil end
local myAttachment = myRoot:FindFirstChild("MyESPAttachment")
if not myAttachment then
myAttachment = Instance.new("Attachment")
myAttachment.Name = "MyESPAttachment"
myAttachment.Parent = myRoot
end
return myAttachment
end
function applyESP(model, myAttachment)
if not model:IsA("Model") or model == player.Character then return end
local humanoid = model:FindFirstChildOfClass("Humanoid")
local rootPart = model:FindFirstChild("HumanoidRootPart") or model.PrimaryPart
local head = model:FindFirstChild("Head") or rootPart
if not humanoid or not rootPart or not head then return end
local highlight = model:FindFirstChild("ESPHighlight")
if not highlight then
highlight = Instance.new("Highlight")
highlight.Name = "ESPHighlight"
highlight.FillTransparency = 1
highlight.OutlineTransparency = 0
highlight.Parent = model
end
highlight.OutlineColor = espColor
if not rootPart:FindFirstChild("ESPBoxBillboard") then
local boxBillboard = Instance.new("BillboardGui")
boxBillboard.Name = "ESPBoxBillboard"
boxBillboard.Size = UDim2.new(4.5, 0, 6, 0)
boxBillboard.AlwaysOnTop = true
boxBillboard.Adornee = rootPart
local boxFrame = Instance.new("Frame")
boxFrame.Size = UDim2.new(1, 0, 1, 0)
boxFrame.BackgroundTransparency = 1
boxFrame.Parent = boxBillboard
local stroke = Instance.new("UIStroke")
stroke.Color = espColor
stroke.Thickness = 1.5
stroke.Parent = boxFrame
boxBillboard.Parent = rootPart
end
if not head:FindFirstChild("ESPBillboard") then
local billboard = Instance.new("BillboardGui")
billboard.Name = "ESPBillboard"
billboard.Size = UDim2.new(0, 200, 0, 50)
billboard.StudsOffset = Vector3.new(0, 3.5, 0)
billboard.AlwaysOnTop = true
billboard.Adornee = head
local label = Instance.new("TextLabel")
label.Name = "InfoLabel"
label.Size = UDim2.new(1, 0, 1, 0)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.fromRGB(255, 255, 255)
label.TextStrokeTransparency = 0
label.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
label.TextSize = 13
label.Font = Enum.Font.GothamBold
label.Parent = billboard
billboard.Parent = head
end
if myAttachment then
local targetAttachment = rootPart:FindFirstChild("ESPBeamAttachment")
if not targetAttachment then
targetAttachment = Instance.new("Attachment")
targetAttachment.Name = "ESPBeamAttachment"
targetAttachment.Parent = rootPart
end
local beam = rootPart:FindFirstChild("ESPBeam")
if not beam then
beam = Instance.new("Beam")
beam.Name = "ESPBeam"
beam.Width0 = TRACER_WIDTH
beam.Width1 = TRACER_WIDTH
beam.FaceCamera = true
beam.Parent = rootPart
end
beam.Color = ColorSequence.new(espColor)
beam.Attachment0 = myAttachment
beam.Attachment1 = targetAttachment
end
end
function removeESP()
for _, obj in ipairs(workspace:GetDescendants()) do
if obj.Name == "ESPHighlight" or obj.Name == "ESPBillboard" or obj.Name == "ESPBoxBillboard" or obj.Name == "ESPBeam" or obj.Name == "ESPBeamAttachment" or obj.Name == "MyESPAttachment" then
obj:Destroy()
end
end
end
function updateESP()
local myCharacter = player.Character
local myRoot = myCharacter and (myCharacter:FindFirstChild("HumanoidRootPart") or myCharacter.PrimaryPart)
local myAttachment = getMyAttachment()
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("Model") and obj ~= myCharacter then
local humanoid = obj:FindFirstChildOfClass("Humanoid")
local rootPart = obj:FindFirstChild("HumanoidRootPart") or obj.PrimaryPart
local head = obj:FindFirstChild("Head") or rootPart
if humanoid and rootPart and humanoid.Health > 0 then
applyESP(obj, myAttachment)
local billboard = head:FindFirstChild("ESPBillboard")
if billboard then
local label = billboard:FindFirstChild("InfoLabel")
if label then
local distanceText = "N/A"
if myRoot then
local dist = math.floor((myRoot.Position - rootPart.Position).Magnitude)
distanceText = dist .. " Studs"
end
local hp = math.floor(humanoid.Health)
local maxHp = math.floor(humanoid.MaxHealth)
label.Text = string.format("%s\nHP: %d/%d | %s", obj.Name, hp, maxHp, distanceText)
end
end
end
end
end
end
function getNearestTarget()
local myCharacter = player.Character
if not myCharacter then return nil end
local myRoot = myCharacter:FindFirstChild("HumanoidRootPart") or myCharacter.PrimaryPart
if not myRoot then return nil end
local nearestTargetPart = nil
local shortestDistance = math.huge
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("Model") and obj ~= myCharacter then
local humanoid = obj:FindFirstChildOfClass("Humanoid")
local targetPart = obj:FindFirstChild("Head") or obj:FindFirstChild("HumanoidRootPart") or obj.PrimaryPart
if humanoid and targetPart and humanoid.Health > 0 then
local distance = (myRoot.Position - targetPart.Position).Magnitude
if distance < shortestDistance then
shortestDistance = distance
nearestTargetPart = targetPart
end
end
end
end
return nearestTargetPart
end
function updateAIM()
if not aimEnabled then return end
local camera = workspace.CurrentCamera
if not camera then return end
local targetHead = getNearestTarget()
if targetHead then
camera.CFrame = CFrame.new(camera.CFrame.Position, targetHead.Position)
end
end
task.spawn(function()
local fadeIn = TweenService:Create(splashLabel, TweenInfo.new(0.8), {TextTransparency = 0})
fadeIn:Play()
fadeIn.Completed:Wait()
task.wait(1.2)
local fadeOut = TweenService:Create(splashLabel, TweenInfo.new(0.8), {TextTransparency = 1})
fadeOut:Play()
fadeOut.Completed:Wait()
splashLabel:Destroy()
toggleMenu()
end)