Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.82 KB | None | 0 0
  1. local trasa_opon = {
  2.     ["miejska"] = {
  3.         {720.33,-466.73,16.34},
  4.         {829.57,-612.15,16.34},
  5.         {665.93,-620.02,16.34},
  6.         {258.33,7.55,2.44},
  7.         {86.45,-195.35,1.51},
  8.         {308.67,-223.95,1.57},
  9.     },
  10.  
  11.     ["poza miejska"] = {
  12.         {-87.39,-11.39,3.11},
  13.         {-113.73,-219.51,1.43},
  14.         {-535.56,-544.11,25.52},
  15.         {-1428.91,-1468.45,101.70},
  16.         {642.30,1238.38,11.67},
  17.         {796.97,1686.89,5.28},
  18.     }
  19. }
  20.  
  21. function isMouseInPosition ( x, y, width, height )
  22.     if ( not isCursorShowing( ) ) then
  23.         return false
  24.     end
  25.     local sx, sy = guiGetScreenSize ( )
  26.     local cx, cy = getCursorPosition ( )
  27.     local cx, cy = ( cx * sx ), ( cy * sy )
  28.     if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then
  29.         return true
  30.     else
  31.         return false
  32.     end
  33. end
  34.  
  35. local marker = false
  36. local blip = false
  37. pkt = 6
  38. local screenW, screenH = guiGetScreenSize()
  39. local click = false
  40. local trasa = 0
  41. local font = dxCreateFont( "font.ttf", 9 )
  42.  
  43. local last = 0
  44. local actual = 0
  45.  
  46. praca = {};
  47. praca.rozpocznij = createMarker(816.67,-613.69,16.34-1, "cylinder", 1.5, 255,255,255,50);
  48. praca.blip = createBlipAttachedTo(praca.rozpocznij, 46);
  49.  
  50. function dx()
  51.     dxDrawRectangle(screenW * 0.3932, screenH * 0.3898, screenW * 0.2115, screenH * 0.2204, tocolor(0, 0, 0, 200), false)
  52.     dxDrawRectangle(screenW * 0.4016, screenH * 0.5611, screenW * 0.0948, screenH * 0.0315, tocolor(239, 73, 0, 200), false)
  53.     dxDrawRectangle(screenW * 0.5016, screenH * 0.5611, screenW * 0.0948, screenH * 0.0315, tocolor(239, 73, 0, 200), false)
  54.     dxDrawRectangle(screenW * 0.3932, screenH * 0.6065, screenW * 0.2115, screenH * 0.0037, tocolor(239, 73, 0, 200), false)
  55.     dxDrawText("Witaj w panelu pracy rozwożenia opon po miasteczkach. Aby rozpoczać prace kliknij przycisk \"Rozpocznij\", aby zamknąć panel pracy kliknij \"Anuluj\". Miasta po których rozwozisz opony są losowe - pamiętaj o tym!", screenW * 0.4000, screenH * 0.4583, screenW * 0.5964, screenH * 0.5269, tocolor(255, 255, 255, 255), 1.00, font, "center", "center", false, true, false, false, false)
  56.     dxDrawText("Praca rozwożenia opon", screenW * 0.4000, screenH * 0.3981, screenW * 0.5995, screenH * 0.4306, tocolor(255, 255, 255, 255), 1.00, font, "center", "center", false, true, false, false, false)
  57.     dxDrawText("Rozpocznij", (screenW * 0.4010) + 1, (screenH * 0.5611) + 1, (screenW * 0.4964) + 1, (screenH * 0.5926) + 1, tocolor(0, 0, 0, 255), 1.00, font, "center", "center", false, false, false, false, false)
  58.     dxDrawText("Rozpocznij", screenW * 0.4010, screenH * 0.5611, screenW * 0.4964, screenH * 0.5926, tocolor(255, 255, 255, 255), 1.00, font, "center", "center", false, false, false, false, false)
  59.     dxDrawText("Anuluj", (screenW * 0.5010) + 1, (screenH * 0.5611) + 1, (screenW * 0.5964) + 1, (screenH * 0.5926) + 1, tocolor(0, 0, 0, 255), 1.00, font, "center", "center", false, false, false, false, false)
  60.     dxDrawText("Anuluj", screenW * 0.5010, screenH * 0.5611, screenW * 0.5964, screenH * 0.5926, tocolor(255, 255, 255, 255), 1.00, font, "center", "center", false, false, false, false, false)
  61.  
  62.     if(isMouseInPosition(screenW * 0.4016, screenH * 0.5611, screenW * 0.0948, screenH * 0.0315))then
  63.         if(getKeyState("mouse1") and not click)then
  64.             click = true
  65.  
  66.             removeEventHandler("onClientRender", root, dx)
  67.             showCursor(false)
  68.  
  69.             triggerServerEvent("vehicle:create", resourceRoot)
  70.         elseif(not getKeyState("mouse1") and click)then
  71.             click = false
  72.         end
  73.     elseif(isMouseInPosition(screenW * 0.5016, screenH * 0.5611, screenW * 0.0948, screenH * 0.0315))then
  74.         if(getKeyState("mouse1") and not click)then
  75.             click = true
  76.  
  77.             removeEventHandler("onClientRender", root, dx)
  78.             showCursor(false)
  79.         elseif(not getKeyState("mouse1") and click)then
  80.             click = false
  81.         end
  82.     end
  83. end    
  84.  
  85. function setNewPlace(trs)
  86.     while(true)do
  87.         local trs = trasa_opon["miejska"]
  88.         local random = math.random(1,#trs)
  89.         if(random ~= last)then
  90.             last = actual
  91.             actual = random
  92.  
  93.             local random = math.random(1,#trs)
  94.             local x,y,z = trs[random][1],trs[random][2],trs[random][3]
  95.             marker = createMarker(x,y,z-1, "checkpoint", 7, 255,0,255,255)
  96.             blip = createBlip(x,y,z,12)
  97.             break
  98.         end
  99.     end
  100. end
  101.  
  102. addEvent("opony_losuj", true)
  103. addEventHandler("opony_losuj", root, function()
  104.     if(trasa == 0)then
  105.         trasa = math.random(1, 2)
  106.     end
  107.  
  108.     if(trasa == 1)then
  109.         local trs = trasa_opon["miejska"]
  110.         actual = math.random(1,#trs)
  111.         last = random
  112.  
  113.         local x,y,z = trs[actual][1],trs[actual][2],trs[actual][3]
  114.         marker = createMarker(x,y,z-1, "checkpoint", 7, 255,0,255,255)
  115.         blip = createBlip(x,y,z,12)
  116.         outputChatBox("Wylosowałeś trase miejska.")
  117.     elseif(trasa == 2)then
  118.         local trs = trasa_opon["poza miejska"]
  119.         actual = math.random(1,#trs)
  120.         last = random
  121.        
  122.         local x,y,z = trs[actual][1],trs[actual][2],trs[actual][3]
  123.         marker = createMarker(x,y,z-1, "checkpoint", 7, 255,0,255,255)
  124.         blip = createBlip(x,y,z,12)
  125.         outputChatBox("Wylosowałeś trase poza miejska.")
  126.     end
  127. end)
  128.  
  129. addEventHandler("onClientMarkerHit", resourceRoot, function(hit)
  130.     if(hit ~= localPlayer)then return end
  131.  
  132.     if(source == marker)then
  133.         setElementFrozen(getPedOccupiedVehicle(localPlayer), true)
  134.         fadeCamera(false, 0.5)
  135.         showChat(false)
  136.         setPlayerHudComponentVisible ( "radar", false )
  137.         setElementFrozen(getPedOccupiedVehicle(localPlayer), false)
  138.         pkt = pkt-1
  139.         setTimer(function()
  140.             fadeCamera(true)
  141.             showChat(true)
  142.             setPlayerHudComponentVisible ( "radar", true )
  143.         end, 750, 1);
  144.         if(pkt == 0)then
  145.             kasa = math.random(260, 700)
  146.             pkt = 6
  147.             outputChatBox("Dojechałeś/aś do celu otrzymujesz "..kasa.." EUR")
  148.             destroyElement(blip)
  149.             destroyElement(marker)
  150.             triggerServerEvent ( "vehicle:usun", resourceRoot, kasa )
  151.             setElementData(localPlayer, "player:job", false)
  152.             fadeCamera(false, 0.5)
  153.             setElementFrozen(getPedOccupiedVehicle(localPlayer), true)
  154.             showChat(false)
  155.             setPlayerHudComponentVisible ( "radar", false )
  156.             setTimer(function()
  157.                 setElementFrozen(getPedOccupiedVehicle(localPlayer),false)
  158.                 fadeCamera(true)
  159.                 setElementPosition(localPlayer, 813.90717, -612.48474, 16.33594)
  160.                 showChat(true)
  161.                 setPlayerHudComponentVisible ( "radar", true )
  162.             end, 750, 1);
  163.  
  164.             pkt = 6
  165.         else
  166.             outputChatBox("Pozostało do rozwiezienia opon: "..pkt)
  167.  
  168.             destroyElement(blip)
  169.             destroyElement(marker)
  170.             if(trasa == 1)then
  171.                 local trs = trasa_opon["miejska"]
  172.                 setNewPlace(trs)
  173.             elseif(trasa == 2)then
  174.                 local trs = trasa_opon["poza miejska"]
  175.                 setNewPlace(trs)
  176.             end
  177.         end
  178.     elseif(source == praca.rozpocznij)then
  179.         addEventHandler("onClientRender", root, dx)
  180.         showCursor(true)
  181.     end
  182. end)
  183.  
  184. addEventHandler("onClientVehicleExit", resourceRoot, function(player, seat)
  185.     if(player ~= localPlayer or seat ~= 0)then return end
  186.  
  187.     outputChatBox("Zakoczyłeś prace.")
  188.     destroyElement(blip)
  189.     destroyElement(marker)
  190.     triggerServerEvent("vehicle:usun", resourceRoot)
  191.     setElementData(localPlayer, "player:job", false)
  192.     pkt = 6
  193.     setTimer(function()
  194.         setElementPosition(localPlayer, 813.90717, -612.48474, 16.33594)
  195.     end, 100, 1);
  196. end);
  197.  
  198. setElementData(localPlayer, "player:job", false)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement