surface.CreateFont("Default", { font = "Arial", extended = false, size = ScrH() * 0.023, weight = 500, }) surface.CreateFont("DefaultBold", { font = "Arial", extended = false, size = ScrH() * 0.023, weight = 700, blursize = 0, scanlines = 0, antialias = true, underline = false, italic = false, strikeout = false, symbol = false, rotary = false, shadow = false, additive = false, outline = false }) hook.Add("HUDPaint", "hudSandagg", function() -- Variables local health = LocalPlayer():Health() -- Récupère la santé du joueur local health2 = LocalPlayer():Health() -- Récupère la santé du joueur (utilisé ultérieurement) local armor = LocalPlayer():Armor() -- Récupère l'armure du joueur local armor2 = LocalPlayer():Armor() -- Récupère l'armure du joueur (utilisé ultérieurement) local money = LocalPlayer():getDarkRPVar("money") -- Récupère la monnaie du joueur local salary = LocalPlayer():getDarkRPVar("salary") -- Récupère le salaire du joueur local job = LocalPlayer():getDarkRPVar("job") -- Récupère le job du joueur local rpname = LocalPlayer():getDarkRPVar("rpname") -- Récupère le nom RP du joueur local energy = LocalPlayer():getDarkRPVar("Energy") -- Récupère l'énergie (faim) du joueur local armorPercentage = math.floor((armor / 255) * 100) -- Calcule le pourcentage d'armure du joueur local armorWidth = (armorPercentage / 100) * 400 -- Calcule la largeur de la barre d'armure en fonction du pourcentage d'armure -- Conditions if health < 0 then -- Vérifie si la santé est inférieure à zéro health = 0 -- Définit la santé à zéro pour éviter les valeurs négatives end if health2 > 100 then -- Vérifie si la santé2 est supérieure à 100 health2 = 100 -- Limite la santé2 à 100 pour éviter les dépassements end if armor2 > 100 then -- Vérifie si l'armure2 est supérieure à 100 armor2 = 100 -- Limite l'armure2 à 100 pour éviter les dépassements end if armor2 > 1 then -- Vérifie si l'armure2 est supérieure à 1 pour l'affichage de la barre d'armure draw.RoundedBoxEx(15, ScrW() * 0.398, ScrH() - 23, ScrW() * 0.2125, ScrH() * 0.0314, Color(0, 0, 0, 200), true, true, false, false) -- Dessine une boîte arrondie pour l'arrière-plan de la barre d'armure draw.RoundedBoxEx(17, ScrW() * 0.4, ScrH() - ScrH() * 0.0185, armorWidth, ScrH() * 0.024, Color(0, 97, 255, 255), true, true, false, false) -- Dessine une boîte arrondie pour représenter la barre d'armure draw.SimpleText(armorPercentage .. " %", "Default", ScrW() * 0.4, ScrH() - ScrH() * 0.02, Color(255, 255, 255, 255)) -- Affiche le pourcentage d'armure end -- Calcul de la largeur de la boîte en fonction de la longueur du job local jobTextWidth, _ = surface.GetTextSize(job) -- Obtient la largeur du texte du job local boxWidth = jobTextWidth + 650 -- Calcule la largeur de la boîte pour le job (ajouter un espace supplémentaire) -- Dessiner la boîte arrondie pour le hud du haut draw.RoundedBoxEx(20, ScrH() * 0.5, ScrH() - 1080, boxWidth, ScrH() * 0.0277, Color(0, 0, 0, 200), false, false, true, true) -- Dessiner les autres éléments de l'HUD draw.RoundedBoxEx(15, 0, ScrH() - ScrH() * 0.021, ScrH() * 0.3745, ScrH() * 0.0296, Color(0, 0, 0, 200), false, true, false, false) -- dessiner la box noire derrière la barre de vie draw.RoundedBoxEx(15, 0, ScrH() - ScrH() * 0.0185, health2 * 4, ScrH() * 0.024, Color(255, 0, 0, 255), false, true, false, false) -- dessiner la barre de vie draw.RoundedBoxEx(15, ScrW() * 0.789, ScrH() - ScrH() * 0.021, ScrW() * 0.22, ScrH() * 0.0305, Color(0, 0, 0, 200), true, false, false, false) -- dessiner la box noire derrière la barre de faim draw.RoundedBoxEx(15, ScrW() * 0.79, ScrH() - ScrH() * 0.0185, energy * 4, ScrH() * 0.21, Color(0, 255, 0, 255), true, false, false, false) -- dessiner la barre de faim draw.SimpleText(health .. " %", "Default", ScrW() * 0.00364, ScrH() - ScrH() * 0.02, Color(255, 255, 255, 255)) -- Affiche le pourcentage de santé draw.SimpleText(energy .. " %", "Default", ScrW() * 0.7958, ScrH() - ScrH() * 0.02, Color(255, 255, 255, 255)) -- Affiche le pourcentage d'énergie draw.SimpleText(rpname, "DefaultBold", ScrW() * 0.2864, ScrH() - ScrH(), Color(255, 255, 255, 255)) -- Affiche le nom RP draw.SimpleText("$" .. salary, "DefaultBold", ScrW() * 0.43, ScrH() - ScrH(), Color(255, 255, 255, 255)) -- Affiche le salaire draw.SimpleText("$" .. money, "DefaultBold", ScrW() * 0.505, ScrH() - ScrH(), Color(255, 255, 255, 255)) -- Affiche la monnaie draw.SimpleText(job, "DefaultBold", ScrW() * 0.614, ScrH() - ScrH(), Color(255, 255, 255, 255)) -- Affiche le job end) -- cacher le hud par défaut local HideElement = { ["CHudHealth"] = true, ["CHudBattery"] = true, ["CHudAmmo"] = true, ["CHudSecondaryAmmo"] = true, ["DarkRP_HUD"] = true, ["DarkRP_EntityDisplay"] = true, ["DarkRP_LocalPlayerHUD"] = true, ["DarkRP_Hungermod"] = true, ["DarkRP_Agenda"] = true, ["DarkRP_LockdownHUD"] = true, ["DarkRP_ArrestedHUD"] = true, ["DarkRP_ChatReceivers"] = true, } hook.Add("HUDShouldDraw", "mTxServ:ShouldDraw", function(name) if HideElement[name] then return false end end)