Noneatme

Untitled

Nov 7th, 2012
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.80 KB | None | 0 0
  1. -- CORONA MARKER --
  2. local cFunc = {}
  3. local cSetting = {}
  4.  
  5. cSetting["markerID"] = {}
  6.  
  7. function createCMarker(x, y, z, size, r, g, b, a)
  8.     local sucess = createMarker(x, y, z, "corona", size, r, g, b, a)
  9.     if(sucess) then
  10.         cSetting["markerID"][sucess] = sucess
  11.         setElementAlpha(sucess, 0)
  12.         return sucess;
  13.     else
  14.         error("Bad Argument @ createCoronaMarker")
  15.     end
  16. end
  17.  
  18.  
  19. function destroyCMarker(marker)
  20.     return destroyElement(cSetting["markerID"][marker]);
  21. end
  22.  
  23. -- RENDER --
  24.  
  25. cSetting["markerTextur"] = dxCreateTexture("corona.png")
  26.  
  27. cFunc["renderMarker"] = function()
  28.     for marker, marker in pairs(cSetting["markerID"]) do
  29.         if(isElement(marker)) then
  30.             local x, y, z = getElementPosition(marker)
  31.             local x2, y2, z2 = getCameraMatrix()
  32.             if(isLineOfSightClear(x, y, z, x2, y2, z2, true, true, true, true)) then
  33.                 local sx, sy = getScreenFromWorldPosition(x, y, z)
  34.                 if(sx) and (sy) then
  35.                     local r, g, b, a = getMarkerColor(marker)
  36.                     local size = getMarkerSize(marker)
  37.                     local dis = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
  38.                     local width, height = 170*size, 128*size
  39.                    
  40.                     sy = sy-(128/(dis/10))
  41.                     sx = sx+(170/(dis/10))
  42.                     if(sx) and (sy) then
  43.                         dxDrawImage ( sx, sy, width/(dis/10), height/(dis/10), "corona.png", 0, 0, 0, tocolor(r, g, b, 255))
  44.                     end
  45.                 end
  46.             end
  47.         --  dxDrawImage ( x, y, z, x, y, z+1, cSetting["markerTextur"], 1, tocolor(r, g, b, 255), getCameraMatrix())
  48.         end
  49.     end
  50. end
  51.  
  52. addEventHandler("onClientPreRender", getRootElement(), cFunc["renderMarker"])
  53.  
  54.  
  55. local m = createCMarker(-720.40710449219, 934.24365234375, 12.1328125, 2.0, 0, 255, 0, 200)
  56.  
  57.  
  58.  
  59. function dxDrawImage3D(x,y,z,w,h,m,c,r,...)
  60.     local lx, ly, lz = x+w, y+h, (z+tonumber(r or 0)) or z
  61.     return dxDrawMaterialLine3D(x,y,z, lx, ly, lz, m, h, c or white, ...)
  62. end
Advertisement
Add Comment
Please, Sign In to add comment