I want to add Armor to the DarkRP HUD, but I don't know how.

I’ve made a Suit/Armor entity for DarkRP, and I need to make a bar for it on the hud, yet I could get a snippet for regular huds, but it’s much different for DarkRP, could someone please show me how to do it? And what file? It’s CL_Init.lua yeah?

It’s Regular DarkRP v2.4.1, this is for a server, so could I please get some help?

open cl_init.lua and search for “chud”

and you will see “function GM:HUDShouldDraw(name)”
i think you will see Suitpower or armor or whatever its called.

then add this :

[LUA]function DrawPlayerArmor()
if (LocalPlayer():Armor() > 0) then
draw.RoundedBox( 8, 32, 16, ScrW() - 64, 16, Color(200, 200, 200, 200));
draw.RoundedBox( 8, 34, 18, (ScrW() - 68)*(LocalPlayer():Armor() / 1000), 12, Color(0, 0, 200, 200));
end
end
hook.Add(“HUDPaint”,“drawplayerarmor”,DrawPlayerArmor);
[/LUA]

**[Player.Armor

http://wiki.garrysmod.com/favicon.ico](http://wiki.garrysmod.com/?title=Player.Armor)**

still not sure.

I tried that exact same code off of Gmod Wiki.
Let me test.

[editline]1st December 2010[/editline]

Okay, it works as a bigass bar at the top, but how would I resize it/Add text?

[editline]1st December 2010[/editline]

Heres a picture of it ATM, I want it to max the bar at 100 suit. In the picture the suit is actually on 100. And the bar is only about 1/10th full.

http://img802.imageshack.us/img802/416/gmconstruct00000.jpg

I saw this bar before, I thought it was for somethin’ else. Heres quick code.

function DrawPlayerArmor()
if (LocalPlayer():Armor() > 0) then
draw.RoundedBox( 8, 32, 16, ScrW() - 64, 16, Color(200, 200, 200, 200));
draw.RoundedBox( 8, 34, 18, (ScrW() - 68)*(LocalPlayer():Armor() / 1000), 12, Color(0, 0, 200, 200));
end
end
hook.Add(“HUDPaint”,“drawplayerarmor”,DrawPlayerArmor);

[editline]1st December 2010[/editline]

It’s base code, now how would I modify it? A little guide would be nice.

you can draw it in anyway, but you must use the “LocalPlayer():Armor()” variable

I added the text part of the code Draw.SimpleText underneath the Draw.RoundedBox, and it messed up.

[editline]2nd December 2010[/editline]

OH don’t worry, I accidently pressed C in Notepad++.

[editline]2nd December 2010[/editline]

Okay.
How do I change the position of the bar?

Bump, I need this for a server.

Bump again, please respond.

Again, a little bump.
Please answer guys.

Answer what? its already been answered.

draw.RoundedBox( 8, 32 <- Here , 16 <- and here, ScrW() - 64, 16, Color(200, 200, 200, 200));
draw.RoundedBox( 8, 34 <- Here, 18 <- and here, (ScrW() - 68)*(LocalPlayer():Armor() / 1000), 12, Color(0, 0, 200, 200));

That 1000 number should be the max armor you can get, so if you want your bar to be full at 100 you would do

[lua]draw.RoundedBox( 8, 34 <- Here, 18 <- and here, (ScrW() - 68)*(LocalPlayer():Armor() / 100), 12, Color(0, 0, 200, 200));[/lua]

How do I resize the bar, also?

[editline]3rd December 2010[/editline]

http://img813.imageshack.us/img813/1263/gmconstruct0001.jpg

To help explain.

[editline]3rd December 2010[/editline]

Bump.

Bumpy.


draw.RoundedBox( round, x, y, w, h, color )


draw.RoundedBox( 2, ScrW( ) * .25, ScrH( ) * .9, ScrW( ) * .5, ScrH( ) * .02, color_black )
draw.RoundedBox( 2, ScrW( ) * .25, ScrH( ) * .9, ScrW( ) * .5 * math.Clamp( LocalPlayer( ):Armor( ) / 100, 0, 1 ), ScrH( ) * .02,  color_white )

Even looking at the wiki would reveal what each argument does.

But when I change the h, argument, it doesn’t change the length of the bar. W argument changes thickness, which I’ve changed now.

[editline]4th December 2010[/editline]

Bump.

W is the width of the bar in pixels
H is the height of the bar in pixels

[lua]
function DrawPlayerArmor()
local armor = LocalPlayer():Armor() // the players armor, omgawsh
local maxarmor = 1000 // the maximum armor it will draw before it is “full”
local bordersize1 = 8 // the rounded size of the corner
local bordersize2 = 8 // the rounded size of the corner
local x-axis1-position = 32 // the ROUNDED-CORNER-box’s position on the x-axis
local x-axis2-position = 34 // the ROUNDED-CORNER-box’s position on the x-axis
local y-axis1-position = 16 // the ROUNDED-CORNER-box’s position on the y-axis
local y-axis2-position = 18 // the ROUNDED-CORNER-box’s position on the y-axis
local width1 = ScrW() - 64 // the ROUNDED-CORNER-box’s width
local width2 = (ScrW() - 68)*(armor / maxarmor) // the ROUNDED-CORNER-box’s width
local height1 = 16 // the ROUNDED-CORNER-box’s height
local height2 = 12 // the ROUNDED-CORNER-box’s height
local color1 = Color(200, 200, 200, 200) // the ROUNDED-CORNER-box’s color
local color2 = Color(0, 0, 200, 200) // the ROUNDED-CORNER-box’s color
//WARNING:
// * The bordersize value should be dividable by 2, otherwise a drawing bug will occur.
// * The bordersize value should also be larger than 2, otherwise it will just draw a normal box with straight corners.

if (armor &gt; 0) then // IF ARMOR IS BIGGAAAAR THEN 0, ZERO, NOUGHT
	draw.RoundedBox( bordersize1, x-axis1-position, y-axis1-position, width1, height1, color1); // draw the ROUNDED-CORNER-box
	draw.RoundedBox( bordersize2, x-axis2-position, y-axis2-position, width2, height2, color2); // draw the ROUNDED-CORNER-box
end // end "if" on line 4

end // end “function” on line 1

hook.Add(“HUDPaint”,“drawplayerarmor”,DrawPlayerArmor); // draw the ROUNDED-CORNER-box combined
[/lua]

If it feels like I’m patronizing you, then its because I am.

Adj.1.patronizing - (used of behavior or attitude) characteristic of those who treat others with condescension

Sorry for bumping such an old thread…

But where would i put this? (specifically)…

It’s client side.

cl_hud.lua