для использование rank mrs
if CLIENT then
local eypos
hook.Add("RenderScene", "3D2DNicksPosAng",function(pos) eyepos = pos end)
surface.CreateFont( "fp_money_hud", {
font = "Trebuchet MS",
size = 70,
weight = 600,
antialias = true
} )
local function unity_overhead(ply)
if ( !IsValid( ply ) ) then return end
if ( ply == LocalPlayer() ) then return end
if !ply:OnGround() or ply:InVehicle() then return end
local dist = ply:GetPos():Distance(eyepos)
if dist < 500 and ply:Alive() then
local name = ply:GetName()
local nick_size = select(1, surface.GetTextSize(name))
local group, rank, _, gtable = MRS.GetActiveRankData(ply)
if not gtable then
gtable = {show_sn = 0}
rank = { srt_name = "", name = ""}
end
local rank_name = gtable.show_sn and rank.srt_name or rank.name
cam.Start3D2D(ply:GetPos() + Vector(0, 0, 89), Angle(0, RenderAngles().y - 90, 90), 0.04)
белый ник
draw.SimpleText(ply:GetName() or "nill", "fp_money_hud", 0, 200, Color(255, 255, 255, 220), TEXT_ALIGN_CENTER)
полосы команд
local jobColor = team.GetColor(ply:Team())
раздел частей
local jobText = ply:getDarkRPVar("job") or "Безработный"
local separator = " | "
local fullText = jobText .. separator .. rank_name
центривание
surface.SetFont("fp_money_hud")
local jobW = surface.GetTextSize(jobText)
local sepW = surface.GetTextSize(separator)
local rankW = surface.GetTextSize(rank_name)
local totalW = jobW + sepW + rankW
отдельная часть
local startX = -totalW / 2
профа
draw.SimpleText(jobText, "fp_money_hud", startX, 250, jobColor, TEXT_ALIGN_LEFT)
разделитель
draw.SimpleText(separator, "fp_money_hud", startX + jobW, 250, Color(255, 255, 255, 220), TEXT_ALIGN_LEFT)
ранг
draw.SimpleText(rank_name, "fp_money_hud", startX + jobW + sepW, 250, Color(255, 255, 255, 220), TEXT_ALIGN_LEFT)
cam.End3D2D()