Sign in to follow this  

Update dxDrawText when the value changes

Recommended Posts

Hello there, I have a dxDrawText showing a value from DB, but when the player presses H it will change the value in the DB but it does not change in the dxDrawText, is there any way to make it update when the player presses H and executes the server side function to update the sql value?



function Draw()
	local object = getElementsByType("object")
	for k,element in ipairs(object) do
		if getElementModel(element) == 1319 then
		infid = getElementData(element, "SM:ID")
		text1 = "ID: "..tostring(infid)
			dxDrawTextOnElement (element, text1, 1.3, _, _, _, _, _, 3, _, tocolor(0,0,0,255))
addEventHandler ("onClientRender", getRootElement(), Draw)

function dxDrawTextOnElement(TheElement,text,height,distance,R,G,B,alpha,size,font,bgColor,checkBuildings,checkVehicles,checkPeds,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)
	local x, y, z = getElementPosition(TheElement)
	local x2, y2, z2 = getCameraMatrix()
	local distance = distance or 5
	local height = height or 1
	local checkBuildings = checkBuildings or true
	local checkVehicles = checkVehicles or false
	local checkPeds = checkPeds or false
	local checkObjects = checkObjects or true
	local checkDummies = checkDummies or true
	local seeThroughStuff = seeThroughStuff or false
	local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false
	local ignoredElement = ignoredElement or nil
	if (isLineOfSightClear(x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds , checkObjects,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)) 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")

--Server (don't need to paste the full server code because it's working fine...)
function SM:StartPlayer(player)
		exports.mysql:query_free( "UPDATE ..."... )


Share this post

Link to post

Update the element data of the object, updating the database alone won't change element data

Edited by Shux

Share this post

Link to post

Thanks, find it just had to use the setElementData and it updates.

Share this post

Link to post

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.