Top.Mail.Ru
Ответы

Помощь в роблокс студио.

Мне нужен скрипт, с помощью которого над головой игрока будет показываться его ранг в группе и его username(не отображаемый). Если игрок не в группе, то над его головой будет ранг "🎫Новенький". Буду рад если кто-то скинет скрипт.

По дате
По рейтингу
Аватар пользователя
Ученик
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
 -- Создаем новый ScreenGui для отображения текста 
local screenGui = Instance.new("ScreenGui") 
screenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") 
 
-- Создаем TextLabel для отображения ранга над головой игрока 
local rankLabel = Instance.new("TextLabel") 
rankLabel.Size = UDim2.new(0, 200, 0, 50) 
rankLabel.BackgroundTransparency = 1 
rankLabel.TextScaled = true 
rankLabel.Font = Enum.Font.SourceSansBold 
rankLabel.TextColor3 = Color3.fromRGB(255, 255, 255) 
rankLabel.Parent = screenGui 
 
-- Функция для обновления ранга 
local function updateRank() 
    local player = game.Players.LocalPlayer 
    local userId = player.UserId 
    local groupId = 1234567 -- Замените на ID вашей группы 
 
    -- Проверяем, состоит ли игрок в группе 
    local isInGroup = player:IsInGroup(groupId) 
    if isInGroup then 
        -- Получаем ранг игрока в группе 
        local rank = player:GetRoleInGroup(groupId) 
        rankLabel.Text = rank 
    else 
        -- Если игрок не в группе, отображаем "Новенький" 
        rankLabel.Text = "🎫Новенький" 
    end 
end 
 
-- Функция для обновления позиции метки над головой игрока 
local function updateLabelPosition() 
    local player = game.Players.LocalPlayer 
    local character = player.Character or player.CharacterAdded:Wait() 
    local head = character:WaitForChild("Head") 
    local headPosition = head.Position 
 
    -- Конвертируем позицию головы в позицию экрана 
    local screenPosition = workspace.CurrentCamera:WorldToScreenPoint(headPosition + Vector3.new(0, 2, 0)) 
 
    rankLabel.Position = UDim2.new(0, screenPosition.X - rankLabel.Size.X.Offset / 2, 0, screenPosition.Y - rankLabel.Size.Y.Offset / 2) 
end 
 
-- Обновляем ранг при запуске игры 
updateRank() 
 
-- Обновляем позицию метки в каждом кадре 
game:GetService("RunService").RenderStepped:Connect(updateLabelPosition) 
 
-- Обновляем ранг при изменении персонажа 
game.Players.LocalPlayer.CharacterAdded:Connect(function() 
    wait(1) -- Ждем, чтобы персонаж загрузился 
    updateRank() 
end)