プレイヤーキャラの上に階級などを表示するプログラムです。
local Players = game:GetService("Players")
-- プレイヤーがキャラクターを持ったときに階級を表示する
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
-- BillboardGuiを作成
local billboardGui = Instance.new("BillboardGui")
billboardGui.Size = UDim2.new(4, 0, 1, 0) -- サイズ調整
billboardGui.StudsOffset = Vector3.new(0, 3, 0) -- キャラクターの頭の上に表示
billboardGui.AlwaysOnTop = true
-- TextLabelを作成して階級を表示
local textLabel = Instance.new("TextLabel", billboardGui)
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundTransparency = 1
textLabel.TextColor3 = Color3.new(1, 1, 1) -- 白色
textLabel.TextStrokeTransparency = 0.5 -- 縁取りを追加して読みやすくする
textLabel.TextScaled = true -- テキストサイズを自動調整
textLabel.Font = Enum.Font.SourceSansBold
-- 階級を取得してTextLabelに表示
local rank = getRankForPlayer(player) -- プレイヤーの階級を取得する関数を用意
textLabel.Text = rank
-- HeadパーツにBillboardGuiをアタッチ
local head = character:WaitForChild("Head")
billboardGui.Parent = head
end)
end)
-- サンプル: プレイヤーの階級を取得する関数(必要に応じて実装)
local function getRankForPlayer(player)
-- 例として、プレイヤーの勝利数に応じて階級を返す
local wins = player:GetAttribute("Wins") or 0
if wins >= 100 then
return "Captain"
elseif wins >= 50 then
return "Commander"
else
return "Seaman"
end
end