Sign in to follow this  
SuperM

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?

 

--Client

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))
		end
	end
end
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")
			end
		end
	end
end

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

 

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.