John Smith Posted November 13, 2014 Share Posted November 13, 2014 i would like to do something like a hud with advanced health or whatever bar so lets say one green little line is in an image of size 16x16 pixels i got a basic example how i would make this local sw,sh = guiGetScreenSize() function drawPlayerHealth() local pHealth = getElementHealth(localPlayer) for i = tonumber(pHealth) do dxDrawImage(sw/2,sh/2,16,16,"test.png") end end addEventHandler("onClientRender",root,drawPlayerHealth) it would probably draw the required number of images for my health depending on my health points in a number however all of those images would be on same spot how could i move them depending on how much images are there? Link to comment
Feche1320 Posted November 13, 2014 Share Posted November 13, 2014 Use dxDrawRectangle X and Y coords. Link to comment
AJXB Posted November 13, 2014 Share Posted November 13, 2014 (edited) Your code should be: local sw,sh = guiGetScreenSize() function drawPlayerHealth() local pHealth = getElementHealth(localPlayer) -- get player health for i=0,tonumber(pHealth/22) do -- Math.. if pHealth > 50 then -- Check the player's health is < 50 to create the green images dxDrawImage(sw/2,(sh/2)+i*10,5,5,"b.png") -- I added i*10 to make space in between the images else -- the player's health is > 50 create the red images dxDrawImage(sw/2,(sh/2)+i*10,5,5,"a.png") -- I added i*10 to make space in between the images end end end addEventHandler("onClientRender",root,drawPlayerHealth) I explained using comments, just edit the X,Y for the position you'd like. PS: I used these two images: Red: http://i.cubeupload.com/oS8w0m.png Green: http://i.cubeupload.com/5HJiN9.png Edited November 14, 2014 by Guest Link to comment
N1kS Posted November 14, 2014 Share Posted November 14, 2014 aboudmad, nice bicycle... John Smith, try this, with comments, don't need image for static color, really! Just edit! -- Resolution local ScreenX, ScreenY = guiGetScreenSize() -- Render coordinats (where we wil render out rectangle) local X, Y = ScreenX/2, ScreenY/2 -- Rectangle width and height for ONE unit, just write, what you want, again... local RectangleWidth, RectangleHeight = 5, 5 -- Color for green HP, you can edit! local ColorGreen = tocolor ( 0, 255, 0, 255 ) -- Color for yellow HP, you can edit! local ColorYellow = tocolor ( 255, 255, 0, 255 ) -- Color for red HP, you can edit! local ColorRed= tocolor ( 255, 0, 0, 255 ) function RenderHealth() local Health = getElementHealth ( localPlayer ) -- Total Rectangle width -- I dont change height of recntagle, you can to do it! local TottalWidth = RectangleWidth * Health -- Draw our recntagle if Health > 66 then dxDrawRectangle ( X, Y, TottalWidth, RectangleHeight, ColorGreen ) elseif Health > 33 then dxDrawRectangle ( X, Y, TottalWidth, RectangleHeight, ColorYellow ) else dxDrawRectangle ( X, Y, TottalWidth, RectangleHeight, ColorRed) end end Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now