• Need help with ply:GetVelocity()
    8 replies, posted
Hello! I am currently trying to develop my deathrun's hud further and I decided I want to add a velocity bar to the hud as that is very helpful for Deathrun. I've been trying to figure out how to add another bar, below the hp but I can't figure it out. Could someone help me with this, please? Current HudPaint: [url]https://pastebin.com/MhTKGHYE[/url] I know that it's local velocity = ply:GetVelocity() as to [url]https://facepunch.com/showthread.php?t=1420502[/url] anyway, thanks for any help.
Read my comment in that thread...
ahh, thanks. Now I just have to figure out how to get the bar which acts upon the velocity. [editline]16th November 2017[/editline] So far [url]http://prntscr.com/hb2dl9[/url]
You hace to get max value, like 750 as example, then justo do (vel/maxVelocity)*maxWidth inside a drawRect
1,000 may be the max value if that is ok. So would it be: velocity = ( hw - border*2 ) * math.Clamp(ply.GetVelocity(),0,1000) draw.RoundedBox( 0, hx + border, ScrH() - 30, velocity, hh - border*2, Color( 80, 180, 60, 255 ) ) I'm sorry if I'm messing up, it's just that I'm still learning the hudpaint structure and etc... [editline]16th November 2017[/editline] by the way, if you're wondering where I got that from, I tried to copy it from health one and obviously make it compatible with the velocity. [editline]16th November 2017[/editline] Update: [url]http://prntscr.com/hb2sck[/url] Now I just need to get the green rect moving depending on what velocity you are at. So far: draw.RoundedBox( 0, hx, ScrH() - 32, hw, hh, Color( 44, 44, 44, 175 ) ) draw.RoundedBox( 0, hx + border, ScrH() - 30, hw - border*2, hh - border*2, Color( 77, 77, 77, 255 ) ) surface.SetDrawColor( 80, 180, 60, 255 ) surface.DrawRect( hx + border, ScrH() - 30, hw - border*2, hh - border*2 ) [editline]16th November 2017[/editline] Alright, well I found my way there, kinda. Here is what I got: surface.DrawRect( hx + border, ScrH() - 30, velocity, hh - border*2 ) My question is how do I put a max on that?
[code]rectangle width = max width * (velocity / max velocity)[/code]
100 * (velocity / 750), that would be correct? if so, it works, however, if we reach the velocity of 1500+ it goes over the hud. anyway, it's impossible to get to that velocity legit.
[QUOTE=ZombiezPvP;52896266]100 * (velocity / 750), that would be correct? if so, it works, however, if we reach the velocity of 1500+ it goes over the hud. anyway, it's impossible to get to that velocity legit.[/QUOTE] Set the max velocity to the actual max velocity. [code]GetConVar("sv_maxvelocity"):GetInt()[/code]
Oh wow, I didn't know such command even existed... Thank you anyway :) It worked. [editline]16th November 2017[/editline] Thank you all for the help!
Sorry, you need to Log In to post a reply to this thread.