Jump to content

Nick over the player 's head.


Hugos

Recommended Posts

Hello to everyone. I want to make sure that the player 's name is displayed above his head, but I don 't know how to do it correctly. Found the function "dxDrawTextOnElement" - I can 't understand how to apply it correctly?

P.S: Also I want to add a team with which players can choose whether they will see the names of other players or not. Is it possible to implement this?

Edited by Hugos
Link to comment
function dxDrawTextOnElement(TheElement,text,height,distance,R,G,B,alpha,size,font,...)
	local x, y, z = getElementPosition(TheElement)
	local x2, y2, z2 = getCameraMatrix()
	local distance = distance or 20
	local height = height or 1

	if (isLineOfSightClear(x, y, z+2, x2, y2, z2, ...)) then
		local sx, sy = getScreenFromWorldPosition(x, y, z+height)
		if(sx) and (sy) then
			local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
			if(distanceBetweenPoints < distance) then
				dxDrawText(text, sx+2, sy+2, sx, sy, tocolor(R or 255, G or 255, B or 255, alpha or 255), (size or 1)-(distanceBetweenPoints / distance), font or "arial", "center", "center")
			end
		end
	end
end
addEventHandler("onClientRender", getRootElement(), 
function ()
for k,v in ipairs(getElementsByType("player")) do
if v == localPlayer then return end
dxDrawTextOnElement(v,getPlayerName(localPlayer),1,20,0,0,255,255,1,"default")
	end
end)

This should work.

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...