Lergen Posted May 13, 2020 Share Posted May 13, 2020 I'm a bit stumped on something - I'm trying to use dxDrawImageOnElement and while it works as it should, it seems you cannot change the the actual height of the image to be any larger like you can with the width argument. You can change the height (location) of the image, but not image's actual size-wise height. Strangely the wiki page lists two different arguments for height that you can use which I'm guessing is what I need, but only one of them seems to work. I'm not sure if this is a mistake or if I'm missing something here. Any ideas? I'd greatly appreciate any help on this. Link to comment
Lergen Posted May 22, 2020 Author Share Posted May 22, 2020 I hate to bump, but I'm afraid I still haven't figured this out. This is the function's source as listed on the wiki: 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 Link to comment
_Ace Posted May 23, 2020 Share Posted May 23, 2020 11 minutes ago, Lergen said: I hate to bump, but I'm afraid I still haven't figured this out. This is the function's source as listed on the wiki: I answered a similar question before: I edited one line from the original code (from the wiki) dxDrawMaterialLine3D(x, y, z+1+height-(distanceBetweenPoints/distance*width)-1+width, x, y, z+height, Image, width-(distanceBetweenPoints/distance*width), tocolor(R or 255, G or 255, B or 255, alpha or 255)) so the width parameter works as scale, this code is tested and works fine to change the size of the image, if you need non uniform height change you can use the same line with some edits 1 Link to comment
Lergen Posted May 23, 2020 Author Share Posted May 23, 2020 19 hours ago, _Ace said: I answered a similar question before: I edited one line from the original code (from the wiki) dxDrawMaterialLine3D(x, y, z+1+height-(distanceBetweenPoints/distance*width)-1+width, x, y, z+height, Image, width-(distanceBetweenPoints/distance*width), tocolor(R or 255, G or 255, B or 255, alpha or 255)) so the width parameter works as scale, this code is tested and works fine to change the size of the image, if you need non uniform height change you can use the same line with some edits Ah I really should've checked the search function first. This was exactly what I was trying to do, thanks a bunch. 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