Advertisement
Guest User

Untitled

a guest
Jul 25th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.15 KB | None | 0 0
  1. ----------------------------------------------------
  2. -- CloudMTA.pl
  3. -- Skrypt Multi Theft Auto RolePlay
  4. -- Autor: Value
  5. -- Stworzono: 2016-07-24 20:47:22
  6. -- Ostatnio zmodyfikowano: xxxx-xx-xx hh:mm:ss
  7. ----------------------------------------------------
  8.  
  9.  
  10. local distance, bg, stawka, timer
  11. local lu=getTickCount()
  12.  
  13. local function addDistance(veh)
  14. if (getTickCount()-lu>250) then
  15. lu=getTickCount()
  16. local vx,vy,vz=getElementVelocity(veh)
  17. local spd=((vx^2 + vy^2 + vz^2)^(0.5)/10)
  18. local driver = getVehicleOccupant(veh)
  19. if (spd>0) then
  20. distance = distance+(spd)
  21. setElementData(driver, "taxi:dist", distance)
  22. setElementData(localPlayer, "taxi:dist", distance)
  23. updateTaxometr()
  24. end
  25. end
  26. end
  27.  
  28. function updateDistance()
  29. local v=getPedOccupiedVehicle(localPlayer)
  30. local isTaxometr = getElementData(localPlayer, "taxi:is") or false
  31. if (not v) then return end
  32. if (not isTaxometr) then return end
  33. if (not getVehicleEngineState(v)) then return end
  34. if (getVehicleController(v)~=localPlayer) then return end
  35. addDistance(v)
  36. end
  37.  
  38. function render()
  39. if not isPedInVehicle(localPlayer) then return end
  40. local veh = getPedOccupiedVehicle(localPlayer)
  41. local driver = getVehicleOccupant(veh, 0)
  42. local dist = getElementData(driver, "taxi:dist") or 0
  43. dxDrawText(math.floor(dist), 0, 0)
  44. updateTaxometr()
  45. end
  46.  
  47. function createTaxometr(veh)
  48. local sw,sh = guiGetScreenSize()
  49. local time = getRealTime() -- Czas z Reala (sklepu KAPPA)
  50. local hour, minutes = getTime() -- Czas z gry
  51. local veh = getPedOccupiedVehicle(localPlayer)
  52. local driver = getVehicleOccupant(veh)
  53.  
  54. local size1 = math.floor((20/1600)*sw)
  55. local size2 = math.floor((30/1600)*sw)
  56. local font1 = guiCreateFont("client/files/myriardpro.OTF", size1)
  57. local font2 = guiCreateFont("client/files/myriardpro.OTF", size2)
  58.  
  59. distance = getElementData(localPlayer, "taxi:distance") or 0 -- Przejechany dystans
  60. stawka = 3 -- Hajsy za kilometr
  61.  
  62. bg = guiCreateStaticImage(0.38, 0.825, 0.29, 0.2, "/client/files/bg.png", true)
  63. driver_costpkm = guiCreateLabel(0.09, 0.03, 1, 1, "$"..stawka.."/km", true, bg)
  64. driver_name = guiCreateLabel(0.09, 0.17, 1, 1, getElementData(driver, "name").. " "..getElementData(driver, "lastname"), true, bg)
  65. driver_date = guiCreateLabel(0.03, 0.35, 1, 1, time.monthday.."/"..(time.month+1).."/"..(1900+time.year).." "..hour..":"..minutes, true, bg)
  66. driver_distance = guiCreateLabel(0.55, 0.05, 1, 1, math.floor(distance).."km", true, bg)
  67. driver_money = guiCreateLabel(0.55, 0.28, 1, 1, "$"..(math.floor(distance)*stawka), true, bg)
  68.  
  69. guiSetFont(driver_costpkm, font1)
  70. guiSetFont(driver_name, font1)
  71. guiSetFont(driver_date, font1)
  72. guiSetFont(driver_distance, font2)
  73. guiSetFont(driver_money, font2)
  74.  
  75. addEventHandler("onClientRender", getRootElement(), updateDistance)
  76. addEventHandler("onClientRender", getRootElement(), render)
  77. end
  78. addEvent("createTaxometr", true)
  79. addEventHandler("createTaxometr", getRootElement(), createTaxometr)
  80.  
  81. function updateTaxometr()
  82. local veh = getPedOccupiedVehicle(localPlayer)
  83. local driver = getVehicleOccupant(veh)
  84. local target = getElementData(driver, "taxi:target")
  85. local dist = getElementData(driver, "taxi:dist") or "ERROR"
  86. guiSetText(driver_costpkm, "$"..stawka.."/km")
  87. guiSetText(driver_name, getElementData(driver, "name").. " "..getElementData(driver, "lastname"))
  88. guiSetText(driver_distance, math.floor(dist).."km")
  89. guiSetText(driver_money, "$"..(math.floor(dist)*stawka))
  90. end
  91.  
  92. function destroyTaxometr(plr)
  93. if not isElement(bg) then return end
  94. destroyElement(bg)
  95. removeEventHandler("onClientRender", getRootElement(), updateDistance)
  96. removeEventHandler("onClientRender", getRootElement(), render)
  97. if not getElementData(plr, "taxi:is") then return end
  98. local driver = getVehicleOccupant(source, 0)
  99. local hajsik = (math.floor(getElementData(driver, "taxi:dist") or 0)*stawka)
  100. outputChatBox("$"..hajsik)
  101. end
  102. addEventHandler("onClientVehicleExit", getRootElement(), destroyTaxometr)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement