--[[================================================== PLAYER VISUAL + AIM LOCK SCRIPT (ALL-IN-ONE) - Display name + health (side by side, lifted higher) - Team color outlines - Q key aim-lock - Includes Infinite Yield Admin ==================================================]] -- Load Infinite Yield Admin loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))() ----------------------------------------------------- -- Services ----------------------------------------------------- local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") local Camera = workspace.CurrentCamera local UIS = game:GetService("UserInputService") ----------------------------------------------------- -- Variables ----------------------------------------------------- local mouse = LocalPlayer:GetMouse() local holding = false local lockedTarget = nil ----------------------------------------------------- -- 1. NAME TAG + HEALTH (SIDE BY SIDE, LIFTED) ----------------------------------------------------- local function addNameTag(character, plr) local head = character:WaitForChild("Head", 5) local humanoid = character:FindFirstChildOfClass("Humanoid") if not head or not humanoid then return end local billboard = Instance.new("BillboardGui") billboard.Parent = head billboard.Adornee = head billboard.Size = UDim2.new(0, 200, 0, 50) billboard.StudsOffset = Vector3.new(0, 3.2, 0) -- raised higher above the head billboard.AlwaysOnTop = true local frame = Instance.new("Frame") frame.Parent = billboard frame.BackgroundTransparency = 1 frame.Size = UDim2.new(1, 0, 1, 0) -- Display name local nameLabel = Instance.new("TextLabel") nameLabel.Parent = frame nameLabel.BackgroundTransparency = 1 nameLabel.AnchorPoint = Vector2.new(0.5, 0.5) nameLabel.Position = UDim2.new(0.5, -20, 0.5, 0) nameLabel.Text = plr.DisplayName nameLabel.TextColor3 = Color3.new(1, 1, 1) nameLabel.TextStrokeTransparency = 0.5 nameLabel.Font = Enum.Font.GothamBold nameLabel.TextScaled = false nameLabel.TextSize = 18 -- Health (right next to name) local healthLabel = Instance.new("TextLabel") healthLabel.Parent = frame healthLabel.BackgroundTransparency = 1 healthLabel.AnchorPoint = Vector2.new(0, 0.5) healthLabel.Position = UDim2.new(0.5, nameLabel.TextBounds.X / 2 + 10, 0.5, 0) healthLabel.Text = tostring(math.floor(humanoid.Health)) healthLabel.TextColor3 = Color3.new(1, 1, 1) healthLabel.TextStrokeTransparency = 0.5 healthLabel.Font = Enum.Font.GothamBold healthLabel.TextScaled = false healthLabel.TextSize = 16 -- Update scaling + position + health RunService.RenderStepped:Connect(function() if head and head:IsDescendantOf(workspace) and humanoid then local distance = (Camera.CFrame.Position - head.Position).Magnitude local size = math.clamp(30 - distance / 4, 10, 30) nameLabel.TextSize = size healthLabel.TextSize = math.clamp(size * 0.8, 8, 22) healthLabel.Text = tostring(math.floor(humanoid.Health)) healthLabel.Position = UDim2.new(0.5, nameLabel.TextBounds.X / 2 + 8, 0.5, 0) end end) end ----------------------------------------------------- -- 2. TEAM OUTLINE (CHARM) ----------------------------------------------------- local function addOutline(character, teamColor) for _, part in pairs(character:GetChildren()) do if part:IsA("BasePart") then local highlight = Instance.new("Highlight") highlight.Parent = part highlight.Adornee = part highlight.FillTransparency = 1 highlight.OutlineColor = teamColor.Color highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop end end end ----------------------------------------------------- -- 3. AIM LOCK (Q TO LOCK) ----------------------------------------------------- local function getClosestTorso() local closest, shortest = nil, math.huge for _, plr in pairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then local torso = plr.Character.HumanoidRootPart local pos, onScreen = Camera:WorldToViewportPoint(torso.Position) if onScreen then local dist = (Vector2.new(pos.X, pos.Y) - Vector2.new(mouse.X, mouse.Y)).Magnitude if dist < shortest then shortest = dist closest = torso end end end end return closest end RunService.RenderStepped:Connect(function() if holding and lockedTarget then if lockedTarget.Parent and lockedTarget:IsDescendantOf(workspace) then Camera.CFrame = CFrame.new(Camera.CFrame.Position, lockedTarget.Position) else lockedTarget = nil end end end) UIS.InputBegan:Connect(function(input, gp) if not gp and input.KeyCode == Enum.KeyCode.Q then if not holding then lockedTarget = getClosestTorso() holding = true end end end) UIS.InputEnded:Connect(function(input, gp) if not gp and input.KeyCode == Enum.KeyCode.Q then holding = false lockedTarget = nil end end) ----------------------------------------------------- -- 4. APPLY TAGS + OUTLINES TO ALL PLAYERS ----------------------------------------------------- local function onCharacterAdded(character, plr) task.wait(0.5) addNameTag(character, plr) local teamColor = plr.TeamColor or BrickColor.new("White") addOutline(character, teamColor) end for _, plr in pairs(Players:GetPlayers()) do if plr ~= LocalPlayer then plr.CharacterAdded:Connect(function(char) onCharacterAdded(char, plr) end) if plr.Character then onCharacterAdded(plr.Character, plr) end end end Players.PlayerAdded:Connect(function(plr) if plr ~= LocalPlayer then plr.CharacterAdded:Connect(function(char) onCharacterAdded(char, plr) end) end end)