Advertisement
Guest User

CUser

a guest
Jun 18th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.01 KB | None | 0 0
  1. hud = {}
  2. local s = {guiGetScreenSize()}
  3.  
  4. local MimgW,MimgH = 1200*3,1200*3
  5. local map_width,map_height = 1200,1200
  6. function hud:con ()
  7. bindKey("z", "down", "chatbox", "globalchat")
  8.  
  9. self.player = localPlayer
  10. self.vertical = 0
  11. self.horizontal = 0
  12. self.rot = 0
  13. self.jumps = 0
  14. self.camrot = 0
  15. self.rowoffset = 15
  16. self.width, self.height = 1200,1200
  17. self.currentZoomState = 0.5
  18. self.fg = dxCreateRenderTarget ( s[1]*400/1440,s[2]*200/900,true )
  19. self.fg_shader = dxCreateShader("files/textureReplace.fx")
  20. self.radiation = dxCreateRenderTarget ( s[1]*500/1440,s[2]*300/900,true )
  21. self.radiation_shader = dxCreateShader("files/textureReplace.fx")
  22.  
  23. self.map = dxCreateRenderTarget ( s[1]*350/1440,s[2]*200/900,true )
  24. self.map_border = dxCreateRenderTarget ( s[1]*360/1440,s[2]*210/900,true )
  25. self.map_shader = dxCreateShader("files/textureReplace.fx")
  26. self.map_border_shader = dxCreateShader("files/textureReplace.fx")
  27.  
  28. self.radarTexture = dxCreateTexture("files/images/world.jpg", "dxt1", true, "clamp" )
  29. self.selfdot = dxCreateTexture("files/images/3.png", "dxt5", true, "clamp" )
  30.  
  31. setPlayerHudComponentVisible("ammo",false)
  32. setPlayerHudComponentVisible("armour",false)
  33. setPlayerHudComponentVisible("breath",false)
  34. setPlayerHudComponentVisible("clock",false)
  35. setPlayerHudComponentVisible("health",false)
  36. setPlayerHudComponentVisible("money",false)
  37. setPlayerHudComponentVisible("weapon",false)
  38. setPlayerHudComponentVisible("wanted",false)
  39. setPlayerHudComponentVisible("radar",false)
  40. addEventHandler("onClientHUDRender",getRootElement(),bind(self.draw,self))
  41. addEventHandler("onClientHUDRender",getRootElement(),bind(self.scoreboard,self))
  42.  
  43. end
  44.  
  45.  
  46. function hud:decon()
  47. self = nil
  48. end
  49. function hud:draw()
  50. if not getElementData(self.player,"loggedin") == true then return end
  51.  
  52.  
  53.  
  54.  
  55. for k,v in next,getElementsByType("vehicle") do
  56. if getElementData(v,"boxelement") then
  57. if getPedOccupiedVehicle(localPlayer) then
  58. setElementCollisionsEnabled(getElementData(v,"boxelement"), false)
  59. else
  60. setElementCollisionsEnabled(getElementData(v,"boxelement"), true)
  61. end
  62. end
  63. end
  64.  
  65.  
  66. if getDevelopmentMode () == true then
  67. for k,v in next,getElementsByType("ped") do
  68. local x,y,z = getElementPosition(v)
  69. local lx,ly,lz = getElementPosition(localPlayer)
  70. if getDistanceBetweenPoints3D(x,y,z,lx,ly,lz) < 110 then
  71. local x,y = getScreenFromWorldPosition(x,y,z-0.4)
  72. if x and y then
  73. local hx,hy = getScreenFromWorldPosition(getPedBonePosition ( v, 8 ))
  74. local nx,ny = getScreenFromWorldPosition(getPedBonePosition ( v, 5 ))
  75. local lax,lay = getScreenFromWorldPosition(getPedBonePosition ( v, 35 ))
  76. local rax,ray = getScreenFromWorldPosition(getPedBonePosition ( v, 25 ))
  77. local hhx,hhy = getScreenFromWorldPosition(getPedBonePosition ( v, 3 ))
  78. local lfx,lfy = getScreenFromWorldPosition(getPedBonePosition ( v, 44 ))
  79. local rfx,rfy = getScreenFromWorldPosition(getPedBonePosition ( v, 54 ))
  80.  
  81.  
  82. if hx and hy and nx and ny and lax and lay and rax and ray and hhx and hhy and lfx and lfy and rfx and rfy then
  83. dxDrawLine(hx,hy,nx,ny,tocolor(200,20,20,255),1)
  84. dxDrawLine(nx,ny, lax,lay,tocolor(200,20,20,255),1)
  85. dxDrawLine(nx,ny, rax,ray,tocolor(200,20,20,255),1)
  86. dxDrawLine(nx,ny, hhx,hhy,tocolor(200,20,20,255),1)
  87. dxDrawLine(hhx,hhy, lfx,lfy,tocolor(200,20,20,255),1)
  88. dxDrawLine(hhx,hhy,rfx,rfy,tocolor(200,20,20,255),1)
  89.  
  90. end
  91. end
  92. end
  93. end
  94.  
  95. for k,v in next,getElementsByType("loot") do
  96. if getElementData(v,"item") then
  97. local x,y,z = getElementPosition(v)
  98. local lx,ly,lz = getElementPosition(localPlayer)
  99. if getDistanceBetweenPoints3D(x,y,z,lx,ly,lz) < 110 then
  100. local x,y = getScreenFromWorldPosition(x,y,z-1)
  101. if x and y then
  102. dxDrawLine(x-20,y+20,x+20,y+20,tocolor(20,20,200,255),1)
  103. dxDrawLine(x-20,y+20,x-20,y-20,tocolor(20,20,200,255),1)
  104. dxDrawLine(x+20,y+20,x+20,y-20,tocolor(20,20,200,255),1)
  105. dxDrawLine(x-20,y-20,x+20,y-20,tocolor(20,20,200,255),1)
  106.  
  107. dxDrawText(getElementData(v,"item").." x "..getElementData(v,"amount"),x,y,x,y)
  108. end
  109. end
  110. end
  111. end
  112. end
  113.  
  114.  
  115.  
  116.  
  117. local rotation = getPedCameraRotation( localPlayer )
  118.  
  119. if rotation > self.rot then
  120.  
  121. self.vertical = self.vertical - 2
  122. self.horizontal = self.horizontal - 2
  123. if self.vertical < -8 then
  124. self.vertical = -8
  125. self.horizontal = -8
  126. end
  127. elseif rotation < self.rot then
  128. self.vertical = self.vertical + 2
  129. self.horizontal = self.horizontal+ 2
  130. if self.vertical > 8 then
  131. self.vertical = 8
  132. self.horizontal = 8
  133. end
  134. end
  135. if rotation > self.rot then
  136. self.camrot = self.camrot + 0.5
  137. if self.camrot > 15 then
  138. self.camrot = 15
  139. end
  140. elseif rotation < self.rot then
  141. self.camrot = self.camrot - 0.5
  142. if self.camrot < -15 then
  143. self.camrot = -15
  144. end
  145. end
  146.  
  147. for k,v in ipairs(getElementsByType("player")) do
  148. if getElementData(v,"voice_enabled") == true then
  149. local x1,y1,z1 = getElementPosition(v)
  150. local x2,y2,z2 = getElementPosition(localPlayer)
  151. if getDistanceBetweenPoints3D(x2,y2,z2,x1,y1,z1) > 15 then return end
  152. local x,y = getScreenFromWorldPosition(x1,y1,z1)
  153. if x and y then
  154. dxDrawText("Voice",x,y,x,y)
  155. end
  156. end
  157. end
  158.  
  159. if isPlayerMapVisible() then
  160. local minX,minY,maxX,maxY = getPlayerMapBoundingBox()
  161. sizeX = maxX - minX
  162. sizeY = maxY - minY
  163. --
  164. sizeX = sizeX/6000
  165. sizeY = sizeY/6000
  166. for k,v in ipairs(getElementsByType("ped")) do
  167. if getElementData(v,"hearth") == true then
  168. local x,y = getElementPosition(v)
  169. local mapX = x + 3000
  170. local mapY = y + 3000
  171. x = mapX*sizeX + minX
  172. y = maxY - mapY*sizeY
  173. dxDrawImage(x-s[1]*10/1440,y-s[2]*10/900, s[1]*20/1440, s[2]*20/900, "files/images/hearth.png",0,0,0,tocolor(255,255,255,255),true)
  174. dxDrawImage(x-s[1]*10/1440,y-s[2]*10/900, s[1]*20/1440, s[2]*20/900, "files/images/hearth.png",0,0,0,tocolor(255,255,255,255),true)
  175. dxDrawImage(x-s[1]*10/1440,y-s[2]*10/900, s[1]*20/1440, s[2]*20/900, "files/images/hearth.png",0,0,0,tocolor(255,255,255,255),true)
  176. --DRAW TO RADAR
  177. end
  178. end
  179. end
  180.  
  181.  
  182. dxSetRenderTarget( self.fg,true )
  183. dxSetBlendMode("modulate_add")
  184. dxDrawRectangle ( s[1]*48/1440,s[2]*28/900, s[1]*304/1440,s[2]*24/900 ,tocolor(0,0,0,255))
  185. dxDrawRectangle ( s[1]*50/1440,s[2]*30/900, s[1]*300/1440,s[2]*20/900 ,tocolor(100,20,20,255))
  186. dxDrawRectangle ( s[1]*50/1440,s[2]*30/900, s[1]*300/100*getElementHealth(localPlayer)/1440,s[2]*20/900 ,tocolor(200,20,20,255))
  187. dxDrawText(100/100*math.floor(getElementHealth(localPlayer)).."%",s[1]*190/1440,s[2]*20/900, s[1]*50/1440,s[2]*60/900,tocolor(255,255,255,255),1,"default-bold","left","center")
  188. dxDrawRectangle ( s[1]*48/1440,s[2]*58/900, s[1]*304/1440,s[2]*24/900 ,tocolor(0,0,0,255))
  189. dxDrawRectangle ( s[1]*50/1440,s[2]*60/900, s[1]*300/1440,s[2]*20/900 ,tocolor(20,100,20,255))
  190. dxDrawRectangle ( s[1]*50/1440,s[2]*60/900, s[1]*300/100*getElementData(localPlayer,"hunger")/1440,s[2]*20/900 ,tocolor(20,200,20,255))
  191. dxDrawText(100/100*math.floor(getElementData(localPlayer,"hunger")).."%",s[1]*190/1440,s[2]*80/900, s[1]*50/1440,s[2]*60/900,tocolor(255,255,255,255),1,"default-bold","left","center")
  192. dxDrawRectangle ( s[1]*48/1440,s[2]*88/900, s[1]*304/1440,s[2]*24/900 ,tocolor(0,0,0,255))
  193. dxDrawRectangle ( s[1]*50/1440,s[2]*90/900, s[1]*300/1440,s[2]*20/900 ,tocolor(20,80,100,255))
  194. dxDrawRectangle ( s[1]*50/1440,s[2]*90/900, s[1]*300/100*getElementData(localPlayer,"thirst")/1440,s[2]*20/900 ,tocolor(20,120,150,255))
  195. dxDrawText(100/100*math.floor(getElementData(localPlayer,"thirst")).."%",s[1]*190/1440,s[2]*140/900, s[1]*50/1440,s[2]*60/900,tocolor(255,255,255,255),1,"default-bold","left","center")
  196. dxSetBlendMode("blend")
  197. dxSetRenderTarget( )
  198. dxSetShaderValue(self.fg_shader, "tex", self.fg)
  199. dxSetShaderTransform(self.fg_shader, 45-self.camrot, 5, 0)
  200. local width, height = dxGetMaterialSize(self.fg)
  201. dxSetBlendMode("add")
  202. dxDrawImage((s[1]-width/1.1)+self.vertical/2, height-s[2]*150/900, width, height, self.fg_shader,0,0,0,tocolor(255,255,255,150))
  203. dxSetBlendMode("blend")
  204.  
  205.  
  206. if hasItem("GPS") == true then
  207. local WorldW, WorldH = dxGetMaterialSize(self.radarTexture)
  208. local mW, mH = dxGetMaterialSize(self.map)
  209. local x, y = getElementPosition(localPlayer)
  210. local X = (mW/2)-(x/(6000/WorldW))
  211. local Y = (mH/2)+(y/(6000/WorldH))
  212. local prot = getPedRotation( localPlayer )
  213. local camX,camY,camZ = getElementRotation(getCamera())
  214. dxSetRenderTarget(self.map, true)
  215. dxDrawImage(X - WorldW/2, Y - WorldH/2, WorldW, WorldH, self.radarTexture, camZ, (x/(6000/WorldW)), -(y/(6000/WorldH)), tocolor(255, 255, 255, 255))
  216. dxSetRenderTarget()
  217.  
  218. local bW, bH = dxGetMaterialSize(self.map_border)
  219. dxSetRenderTarget(self.map_border, true)
  220. dxDrawRectangle(0,0,bW,5,tocolor(0,0,0,150))
  221. dxDrawRectangle(0,bH-5,bW,5,tocolor(0,0,0,150))
  222. dxDrawRectangle(bW-5,5,5,bH-5,tocolor(0,0,0,150))
  223. dxDrawRectangle(0,5,5,bH-5,tocolor(0,0,0,150))
  224. dxDrawImage (bW/2-25/2, bH/2-25/2,25, 25, self.selfdot,camZ-prot)
  225. dxSetRenderTarget()
  226.  
  227.  
  228.  
  229. dxSetShaderValue(self.map_shader, "tex", self.map)
  230. dxSetShaderTransform(self.map_shader, -45- self.camrot, 5, 0)
  231. dxSetShaderValue(self.map_border_shader, "tex", self.map_border)
  232. dxSetShaderTransform(self.map_border_shader, -45- self.camrot, 5, 0)
  233.  
  234. dxSetBlendMode("add")
  235. dxDrawImageSection(s[1]*15/1440,s[2]*650/900,mW,mH,mW/4, mH/4, mW/2, mH/2,self.map_shader, 0, 0, 0, tocolor(255, 255, 255, 240))
  236. dxDrawImage (s[1]*10/1440,s[2]*645/900,bW,bH, self.map_border_shader,0,0,0,tocolor(255, 255, 255, 255))
  237. dxSetBlendMode("blend")
  238. end
  239.  
  240. if hasItem("Geiger Counter") == true then
  241.  
  242. end
  243.  
  244. if self.vertical > 0 then
  245. self.vertical = self.vertical - 1
  246. self.horizontal = self.horizontal - 1
  247. elseif self.vertical < 0 then
  248. self.vertical = self.vertical + 1
  249. self.horizontal = self.horizontal + 1
  250. end
  251.  
  252. if self.camrot > 0 then
  253. self.camrot = self.camrot - 0.1
  254. elseif self.camrot < 0 then
  255. self.camrot = self.camrot+0.1
  256. end
  257.  
  258.  
  259. self.jumps = self.jumps + 1
  260. if self.jumps > 5 then
  261. self.jumps = 0
  262. self.rot = rotation
  263. end
  264. if isElement(getPedTarget ( localPlayer )) then
  265. if getElementType(getPedTarget ( localPlayer )) == "object" then
  266. if getElementData(getPedTarget ( localPlayer ),"placedItem") == true then
  267. typ = getElementData(getPedTarget ( localPlayer ),"typ")
  268. target = getPedTarget ( localPlayer )
  269. local hp = placeitems[typ]
  270. local nhp = getElementData(target,"health")
  271. local percent = 100/hp*nhp
  272. local x2,y2,z2 = getElementPosition(target)
  273. local x1,y1,z1 = getElementPosition(localPlayer)
  274. if getDistanceBetweenPoints3D(x2,y2,z2,x1,y1,z1) > 15 then return end
  275. --if typ == "Wood Door" then
  276. -- local x,y = getScreenFromWorldPosition(x2,y2,z2+1)
  277. --else
  278. local x,y = getScreenFromWorldPosition(x2,y2,z2)
  279. --end
  280. if x and y then
  281. dxDrawRectangle (x-60/2 ,y-12/2,60,12 ,tocolor(0,0,0,150))
  282. dxDrawRectangle ((x-60/2)+2,(y-12/2)+2,56/100*percent,8 ,tocolor(200,20,20,150))
  283. end
  284. if typ == "Wood Door" then
  285. local x,y = getScreenFromWorldPosition(x2,y2,z2+1)
  286. if x and y then
  287. dxDrawText("Click para abrir",x,y,x,y)
  288. end
  289. end
  290.  
  291. end
  292. end
  293. end
  294. end
  295.  
  296.  
  297.  
  298.  
  299.  
  300. function hud:scoreboard()
  301. if not getElementData(self.player,"loggedin") == true then return end
  302. if getKeyState("tab") == false then return end
  303. local altime = positionGetElementData("alivetime", #getLoggedinPlayers ( ))
  304.  
  305. local playerAmount = #getLoggedinPlayers ( )
  306. for i = 1, playerAmount do
  307. local dist = i*self.rowoffset
  308. local offset2 = dxGetFontHeight(1.5, "default-bold")
  309. local player = altime[i].Player or false
  310. if not player then
  311. break
  312. end
  313. dxDrawText(player,s[1]/2,s[2]/2+dist,s[1]/2,s[2]/2)
  314.  
  315. end
  316. end
  317. newIni(hud)
  318.  
  319. local ap = 0
  320. local apmode = true
  321. local percentage = 0
  322. function renderDeathWindow()
  323. if apmode == true then
  324. if ap < 255 then
  325. ap = ap + 5
  326. else
  327. ap = 255
  328. end
  329. else
  330. if ap > 0 then
  331. ap = ap - 5
  332. else
  333. ap = 0
  334. end
  335. end
  336. dxDrawRectangle ( s[1]*0/1440,s[2]*0/900, s[1]*1440/1440,s[2]*900/900 ,tocolor(0,0,0,ap),true)
  337. dxDrawText("Has muerto...", s[1]*463/1440, s[2]*176/900, s[1]*986/1440, s[2]*465/900, tocolor(255, 255, 255, ap), 3.00, "bankgothic", "center", "center", false, false, true, false, false)
  338. dxDrawText("Harás respawn en 20 segundos", s[1]*462/1440, s[2]*300/900, s[1]*985/1440,s[2]* 589/900, tocolor(255, 255, 255, ap), 2.00, "bankgothic", "center", "center", false, false, true, false, false)
  339.  
  340. end
  341.  
  342. addEvent("onPlayerWastedShowWindow",true)
  343. addEventHandler("onPlayerWastedShowWindow",getRootElement(),function (time)
  344. addEventHandler("onClientHUDRender",getRootElement(),renderDeathWindow)
  345. apmode = true
  346. setTimer(function () apmode = false end,time*1.15,1)
  347. setTimer(function ()
  348. removeEventHandler("onClientHUDRender",getRootElement(),renderDeathWindow)
  349.  
  350. end,time*1.2,1)
  351.  
  352. end)
  353.  
  354. setTimer(function ()
  355.  
  356. local x,y,z = getElementPosition(localPlayer)
  357. isWater = testLineAgainstWater ( x,y,z+1,x,y,z-1 )
  358. setElementData(localPlayer,"inWater",isWater)
  359.  
  360. toggleControl ( "radar" ,false )
  361. if isPlayerMapVisible () then
  362. if getPedMoveState ( localPlayer) ~= "stand" then
  363. triggerServerEvent("hidePlayerMap",localPlayer)
  364. end
  365. end
  366. if getData( localPlayer, "placingObject" ) == nil then
  367. if tonumber(getElementData(localPlayer,"can_run")) == 1 then
  368. toggleControl ( "walk", true )
  369. toggleControl ( "sprint", true )
  370. toggleControl ( "jump", true )
  371. else
  372. setPedControlState ( "sprint", false )
  373. setPedControlState ( "walk", true )
  374. toggleControl ( "walk", false )
  375. toggleControl ( "sprint", false )
  376. toggleControl ( "jump", false )
  377. end
  378. end
  379. end,500,0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement