
KeylessUniversal

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
local hoverLabel = Instance.new("TextLabel", gui)
-- GUI Styling
hoverLabel.Size = UDim2.new(0, 200, 0, 50)
hoverLabel.Position = UDim2.new(0, 10, 0, 10) -- Starting position
hoverLabel.BackgroundColor3 = Color3.new(0, 0, 0)
hoverLabel.TextColor3 = Color3.new(1, 1, 1)
hoverLabel.TextSize = 16
hoverLabel.Font = Enum.Font.SourceSans
hoverLabel.TextWrapped = true
hoverLabel.Visible = true -- Always visible
-- Make the label draggable
local dragging = false
local dragInput, dragStart, startPos
hoverLabel.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = hoverLabel.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
hoverLabel.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - dragStart
hoverLabel.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
-- Function to check if the part belongs to a model, and get the model name and health
local function getModelInfoAndHealth(part)
if part:IsA("BasePart") then
local model = part:FindFirstAncestorOfClass("Model")
if model then
local humanoid = model:FindFirstChildOfClass("Humanoid")
if humanoid then
return model.Name, humanoid.Health
else
return model.Name, "No Health (No Humanoid)"
end
end
end
return nil, nil
end
-- Variable to store the last clicked target
local lastClickedTarget = nil
-- Detect click event to show model name and health
mouse.Button1Down:Connect(function()
local target = mouse.Target
if target then
local modelName, health = getModelInfoAndHealth(target)
if modelName then
hoverLabel.Text = "Model: " .. modelName .. "\nHealth: " .. health
lastClickedTarget = target -- Store the target for future updates
else
hoverLabel.Text = "Clicked part has no model or health"
lastClickedTarget = nil
end
end
end)
-- Always update the health every tick for the last clicked target
while true do
if lastClickedTarget then
local modelName, health = getModelInfoAndHealth(lastClickedTarget)
if modelName then
hoverLabel.Text = "Model: " .. modelName .. "\nHealth: " .. health
else
hoverLabel.Text = "Clicked part has no model or health"
end
end
wait(0.1) -- Update every 0.1 seconds
endNo comments yet for this script.



