Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Mrviryre Msviryre Ученик (91), на голосовании 4 месяца назад
Мне нужен скрипт, с помощью которого над головой игрока будет показываться его ранг в группе и его username(не отображаемый). Если игрок не в группе, то над его головой будет ранг "?Новенький". Буду рад если кто-то скинет скрипт.
Голосование за лучший ответ
oleg Dupont Ученик (163) 5 месяцев назад
 -- Создаем новый 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)
Mrviryre MsviryreУченик (91) 5 месяцев назад
Спасибо огромное! Скрипт работает! Создайте LocalScript, переместите его в StarterPlayer, StarterPlayerScripts. Это для тех,кто найдет этот вопрос. А также, можете скинуть скрипт, где над головой игрока также будет отображаться его username? Просто этот скрипт мне тоже понадобится в игре. Заранее спасибо.
Mrviryre MsviryreУченик (91) 5 месяцев назад
Я забыл рассказать, что любой человек мог видеть ранг другого человека. Можете также поправить скрипт и сделать так, чтобы я мог видеть ранги других игроков, и другие игроки могли видеть ранги других людей над головой? Заранее спасибо.
лиза дельникУченик (104) 3 месяца назад
Спасибо большое
лиза дельникУченик (104) 3 месяца назад
А как сделать, чтобы у меня был другой ранг?
Похожие вопросы