Jump to content

Help! I want This Image on Wanted Players


VenomOG

Recommended Posts

local tag = dxCreateTexture("cuffs.png")

function dxDrawImageOnElement(TheElement,Image,distance,height,width,R,G,B,alpha)
				local x, y, z = getElementPosition(TheElement)
				local x2, y2, z2 = getElementPosition(localPlayer)
				local distance = distance or 20
				local height = height or 1
				local width = width 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
							dxDrawMaterialLine3D(x, y, z+1+height-(distanceBetweenPoints/distance), x, y, z+height, Image, width-(distanceBetweenPoints/distance), tocolor(R or 255, G or 255, B or 255, alpha or 255))
						end
					end
			end
	end

setTimer(function()
 setElementData(localPlayer,"wanted.level",getPlayerWantedLevel())
end,1000,0)

addEventHandler("onClientPreRender",root,function()
  for id,player in ipairs(getElementsByType("player")) do
      if getElementData(player,"wanted.level") > 0 then
        dxDrawImageOnElement(player,tag)
      end
  end
end)

 

Edited by IRBIS
Link to comment
--//ServerSide
function traceFunction(_,_,_,_,_,player,level)
	if isElement(player) and level > 0 then
		setElementData(player,"wanted.level",true)
	else
		if getElementData(player,"wanted.level") then
			setElementData(player,"wanted.level",nil)
		end
	end
end
addDebugHook("postFunction",traceFunction,{"setPlayerWantedLevel"})
--//ClientSide
local tag = dxCreateTexture("cuffs.png")

addEventHandler("onClientResourceStart",resourceRoot,
function()
	local myLevel = getPlayerWantedLevel()
	if myLevel > 0 then
		setElementData(localPlayer,"wanted.level",true)
	else
		setElementData(localPlayer,"wanted.level",nil)
	end
	for id,player in ipairs(getElementsByType("player")) do
		if getElementData(player,"wanted.level") then
			wanted_players[player] = true
		end
	end
end)

function dxDrawImageOnElement(TheElement,Image,distance,height,width,R,G,B,alpha)
				local x, y, z = getElementPosition(TheElement)
				local x2, y2, z2 = getElementPosition(localPlayer)
				local distance = distance or 20
				local height = height or 1
				local width = width 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
							dxDrawMaterialLine3D(x, y, z+1+height-(distanceBetweenPoints/distance), x, y, z+height, Image, width-(distanceBetweenPoints/distance), tocolor(R or 255, G or 255, B or 255, alpha or 255))
						end
					end
			end
	end

addEventHandler("onClientElementDataChange",getRootElement(),
function(data)
	if data == "wanted.level" then
		local value = getElementData(source,"wanted.level")
		wanted_players[source] = value
	end
end)

addEventHandler("onClientRender",getRootElement(),
function()
	for id,player in ipairs(getElementsByType("player")) do
		if wanted_players[player] then
			dxDrawImageOnElement(player,tag)
		end
	end
end)

Also you can use this way

Edited by IRBIS
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...