-- ===== CREATE LABEL WITH REALISTIC IP ===== local function createIPLabel(targetPlayer) if not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("Head") then return end local head = targetPlayer.Character.Head local billboard = Instance.new("BillboardGui") billboard.Name = "RealisticIPLabel" billboard.Adornee = head billboard.Size = UDim2.new(0, 160, 0, 45) billboard.StudsOffset = Vector3.new(0, 2.8, 0) billboard.AlwaysOnTop = true billboard.Parent = head -- Background local frame = Instance.new("Frame") frame.Size = UDim2.new(1, 0, 1, 0) frame.BackgroundColor3 = Color3.fromRGB(10, 10, 20) frame.BackgroundTransparency = 0.2 frame.BorderSizePixel = 0 frame.Parent = billboard local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame -- IP Text (main) local ipText = Instance.new("TextLabel") ipText.Name = "IPText" ipText.Size = UDim2.new(1, 0, 0, 25) ipText.Position = UDim2.new(0, 0, 0, 2) ipText.BackgroundTransparency = 1 ipText.Text = "🌐 " .. generateRealisticIP() ipText.TextColor3 = Color3.fromRGB(0, 255, 200) ipText.TextScaled = true ipText.Font = Enum.Font.GothamBold ipText.Parent = frame -- ISP / Location (optional small text) local ispText = Instance.new("TextLabel") ispText.Name = "ISPText" ispText.Size = UDim2.new(1, 0, 0, 14) ispText.Position = UDim2.new(0, 0, 0, 27) ispText.BackgroundTransparency = 1 ispText.Text = getRandomISP() .. " • " .. math.random(10, 150) .. "ms" ispText.TextColor3 = Color3.fromRGB(150, 150, 200) ispText.TextScaled = true ispText.Font = Enum.Font.Gotham ispText.Parent = frame -- Store data ipLabels[targetPlayer] = { Billboard = billboard, IPText = ipText, ISPText = ispText, CurrentIP = ipText.Text, CurrentISP = ispText.Text } end -- ===== REFRESH IPs (give new realistic IPs) ===== local function refreshAllIPs() for plr, data in pairs(ipLabels) do if plr and plr.Parent and data.IPText then local newIP = generateRealisticIP() data.IPText