17 Ekim 2018, 07:26:03

Gönderen Konu: [YARDIM] Görev Sistemi  (Okunma sayısı 704 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Scholt

  • Yeni Üye
  • *
  • Default Avatar
  • İleti: 3
[YARDIM] Görev Sistemi
« : 03 Haziran 2017, 01:13:33 »
Arkadaşlar bende görev sc si var 1 tane sevkiyat ben onu editledim başka bir görev daha yapmaya çalıştım aynısından sadece araba ve kordinatları degiştirdim fakat önceki arabadan ve yeni arabadan aynısından oluşuyor
Kod: Lua
  1. addEvent("openinf_voditel", true)
  2. screenWidth, screenHeight = guiGetScreenSize()
  3. function windm ()
  4.         if not getElementData ( localPlayer, "trash_working") then
  5.                   infowind = guiCreateWindow(screenWidth - 700, screenHeight - 500, 200, 229, "Silah Teslimat Görevi", false)
  6.                   infotext = guiCreateMemo(15,20,165,150,"Silah Tesmilat Görevini Bitir Ve ₺20000 Al !",false,infowind)
  7.                   guiMemoSetReadOnly( infotext, true )
  8.                   guiSetFont(text2, "default-bold-small")
  9.                   showCursor(true)
  10.                   guiSetVisible ( infowind , true)
  11.                   guiWindowSetSizable(infowind, false)
  12.                   Button_Glose = guiCreateButton(10, 174, 90, 45, "İptal", false, infowind)
  13.                   Button_Start = guiCreateButton(100, 174, 90, 45, "Kabul", false, infowind)
  14.                   addEventHandler("onClientGUIClick", Button_Start, kit )
  15.                         addEventHandler("onClientGUIClick", Button_Glose, noshow )
  16.         else
  17.                 for i, v in ipairs ( createdPickups ) do
  18.                         if isElement ( v ) then
  19.                                 local pick2 = getElementData ( v, "pick2")
  20.                                 if isElement ( pick2 ) then
  21.                                         destroyElement ( pick2 )
  22.                                 end
  23.                                 local icon = getElementData ( v, "icon" )
  24.                                 if isElement ( icon ) then
  25.                                         destroyElement ( icon )
  26.                                 end
  27.                                 destroyElement ( v )
  28.                         end
  29.                 end
  30.                 triggerServerEvent ( "finitoWork_voditel", localPlayer )
  31.                 setElementData ( localPlayer, "trash_working", false )
  32.         end
  33. end
  34. addEventHandler("openinf_voditel", root, windm )
  35. function noshow ()
  36.  if ( source == Button_Glose ) then
  37.    destroyElement ( infowind )
  38.    showCursor ( false )
  39.  end
  40. end
  41. function kit ()
  42.  if ( source == Button_Start ) then
  43.         startWorking()
  44.     destroyElement ( infowind )
  45.     showCursor ( false )
  46.   end
  47. end
  48.  
  49. addEvent ( "pay", true )
  50. function giving ()
  51.  
  52. end
  53. addEventHandler("pay", resourceRoot, giving )
  54. addEvent ( "get", true )
  55. function peremen (plr)
  56.  plr = getLocalPlayer ()
  57. end
  58. addEventHandler("get", resourceRoot, peremen )
  59.  
  60. pickupSpawns = {
  61.         { 135,1949,19 },
  62.                
  63. }
  64.  
  65. max_pickups_set = 13 -- como você precisa pegar para o fim dos captadores
  66.  
  67. createdPickups = {}
  68.  
  69. max_pickups = max_pickups_set
  70. if max_pickups_set > #pickupSpawns then
  71.         max_pickups = #pickupSpawns
  72. end
  73.  
  74. function startWorking ()
  75.         if not getElementData ( localPlayer, "trash_working" ) then
  76.                 createdPickups = {}
  77.                 triggerServerEvent ( "picku_voditel", localPlayer )
  78.                 setElementData ( localPlayer, "trash_working", true )
  79.                 setElementData ( localPlayer, "trash_working_hit", 0 )
  80.                         outputChatBox ( "Görevi Başarıyla Aldın ", 255, 255, 255, false )          
  81.                                
  82.                 for i, v in ipairs ( pickupSpawns ) do
  83.                         local pick = createMarker ( v[1],v[2],v[3], "checkpoint", 4.0, 255, 255, 255 )
  84.                         local pick2 = createPickup ( v[1],v[2],v[3], 3, 1314, 10000 )
  85.                         setElementData ( pick, "taken", false )
  86.                         setElementData ( pick, "pick2", pick2 )
  87.                         setElementData ( pick, "bus_pickup", true )
  88.                         setElementData ( pick, "id", i )
  89.                         if i == 1 then
  90.                                 local icon = createBlipAttachedTo ( pick, 41, 2 )
  91.                                 setElementData ( pick, "icon", icon )
  92.                         end
  93.                         table.insert (createdPickups, pick)
  94.                 end
  95.         end
  96. end    
  97.  
  98. function clientPickupHit(thePlayer, matchingDimension)
  99.         if thePlayer == localPlayer and getElementData ( source, "bus_pickup" ) and not getElementData ( source, "taken" ) then
  100.                 setElementData ( source, "taken", true )
  101.                 outputChatBox ( "Tebrikler Görevi Bitirdin Ve ₺20000 Aldın ", 255, 100, 100, true )
  102.                 triggerServerEvent ( "giveMoneyFromClient_voditel", localPlayer, 20000 ) -- 50 награда
  103.                 local hitted = getElementData ( localPlayer, "trash_working_hit" ) or 0
  104.                 hitted = hitted+1
  105.                 local pick2 = getElementData ( source, "pick2" )
  106.                 if isElement ( pick2 ) then
  107.                         destroyElement ( pick2 )
  108.                 end
  109.                 local icon = getElementData ( source, "icon" )
  110.                 if isElement ( icon ) then
  111.                         destroyElement ( icon )
  112.                 end
  113.                 destroyElement(source)
  114.                 setElementData ( localPlayer, "trash_working_hit", hitted)
  115.                 if hitted >= max_pickups then
  116.                         for i, v in ipairs ( createdPickups ) do
  117.                                 if isElement ( v ) then
  118.                                         local pick2 = getElementData ( v, "pick2")
  119.                                         if isElement ( pick2 ) then
  120.                                                 destroyElement ( pick2 )
  121.                                         end
  122.                                         local icon = getElementData ( v, "icon" )
  123.                                         if isElement ( icon ) then
  124.                                                 destroyElement ( icon )
  125.                                         end
  126.                                         destroyElement ( v )
  127.                                 end
  128.                         end
  129.                         setElementData ( localPlayer, "trash_working", false )
  130.                         triggerServerEvent ( "finitoWork_voditel", localPlayer )
  131.                         return true
  132.                 end
  133.                 if createdPickups[hitted+1] then
  134.                         local icon = createBlipAttachedTo ( createdPickups[hitted+1], 41, 2 )
  135.                         setElementData ( createdPickups[hitted+1], "icon", icon )
  136.                 end
  137.         end
  138. end
  139. addEventHandler ( "onClientMarkerHit", getRootElement(), clientPickupHit )
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
Kod: Lua
  1. jobm = createMarker ( -1975,106,28 - 1.1, "cylinder", 1.5, 255, 0, 0, 170 )
  2. myBlip = createBlipAttachedTo ( jobm, 22 )
  3.  
  4. give_skin = 255 -- скин, который выдается водиле
  5. function enter (element)
  6.         if getElementType ( element ) == "player" then
  7.                         triggerClientEvent ( element, "openinf_voditel", element)
  8.         end
  9. end
  10. addEventHandler( "onMarkerHit", jobm, enter )
  11. addEvent ( "picku_voditel", true )
  12.  
  13. function create ()
  14.    local jobvehicle = createVehicle ( 609, -1990, 102, 27 )
  15.         warpPedIntoVehicle ( source, jobvehicle )
  16.         setElementData ( source, "working_veh", jobvehicle )
  17.         setElementModel ( source, give_skin)
  18. end
  19. addEventHandler ( "picku_voditel", root, create )
  20.  
  21. addEvent ( "finitoWork_voditel", true )
  22.  
  23. function finitoWorkS ()
  24.         local veh = getElementData ( source, "working_veh" )
  25.         if isElement ( veh ) then
  26.                 destroyElement ( veh )
  27.                 setElementData ( source, "working_veh", false )
  28.         end
  29. end
  30. addEventHandler ( "finitoWork_voditel", root, finitoWorkS )
  31.  
  32. addEvent ( "giveMoneyFromClient_voditel", true )
  33.  
  34. function giveMoneyFromClientS (amount)
  35.     givePlayerMoney ( source, amount )
  36. end
  37. addEventHandler ( "giveMoneyFromClient_voditel", root, giveMoneyFromClientS )
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  


Bu Benim kendi yapmaya çalıştıgım

Kod: Lua
  1. addEvent("openinf_voditel", true)
  2. screenWidth, screenHeight = guiGetScreenSize()
  3. function windm ()
  4.         if not getElementData ( localPlayer, "trash_working") then
  5.                   infowind = guiCreateWindow(screenWidth - 700, screenHeight - 500, 200, 229, "Posta Teslimat Görevi", false)
  6.                   infotext = guiCreateMemo(15,20,165,150,"Posta Tesmilat Görevini Bitir Ve ₺20000 Al !",false,infowind)
  7.                   guiMemoSetReadOnly( infotext, true )
  8.                   guiSetFont(text2, "default-bold-small")
  9.                   showCursor(true)
  10.                   guiSetVisible ( infowind , true)
  11.                   guiWindowSetSizable(infowind, false)
  12.                   Button_Glose = guiCreateButton(10, 174, 90, 45, "İptal", false, infowind)
  13.                   Button_Start = guiCreateButton(100, 174, 90, 45, "Kabul", false, infowind)
  14.                   addEventHandler("onClientGUIClick", Button_Start, kit )
  15.                         addEventHandler("onClientGUIClick", Button_Glose, noshow )
  16.         else
  17.                 for i, v in ipairs ( createdPickups ) do
  18.                         if isElement ( v ) then
  19.                                 local pick2 = getElementData ( v, "pick2")
  20.                                 if isElement ( pick2 ) then
  21.                                         destroyElement ( pick2 )
  22.                                 end
  23.                                 local icon = getElementData ( v, "icon" )
  24.                                 if isElement ( icon ) then
  25.                                         destroyElement ( icon )
  26.                                 end
  27.                                 destroyElement ( v )
  28.                         end
  29.                 end
  30.                 triggerServerEvent ( "finitoWork_voditel", localPlayer )
  31.                 setElementData ( localPlayer, "trash_working", false )
  32.         end
  33. end
  34. addEventHandler("openinf_voditel", root, windm )
  35. function noshow ()
  36.  if ( source == Button_Glose ) then
  37.    destroyElement ( infowind )
  38.    showCursor ( false )
  39.  end
  40. end
  41. function kit ()
  42.  if ( source == Button_Start ) then
  43.         startWorking()
  44.     destroyElement ( infowind )
  45.     showCursor ( false )
  46.   end
  47. end
  48.  
  49. addEvent ( "pay", true )
  50. function giving ()
  51.  
  52. end
  53. addEventHandler("pay", resourceRoot, giving )
  54. addEvent ( "get", true )
  55. function peremen (plr)
  56.  plr = getLocalPlayer ()
  57. end
  58. addEventHandler("get", resourceRoot, peremen )
  59.  
  60. pickupSpawns = {
  61.         { -2053,-2527,30 },
  62.                
  63. }
  64.  
  65. max_pickups_set = 12 -- como você precisa pegar para o fim dos captadores
  66.  
  67. createdPickups = {}
  68.  
  69. max_pickups = max_pickups_set
  70. if max_pickups_set > #pickupSpawns then
  71.         max_pickups = #pickupSpawns
  72. end
  73.  
  74. function startWorking ()
  75.         if not getElementData ( localPlayer, "trash_working" ) then
  76.                 createdPickups = {}
  77.                 triggerServerEvent ( "picku_voditel", localPlayer )
  78.                 setElementData ( localPlayer, "trash_working", true )
  79.                 setElementData ( localPlayer, "trash_working_hit", 0 )
  80.                         outputChatBox ( "Görevi Başarıyla Aldın ", 255, 255, 255, false )          
  81.                                
  82.                 for i, v in ipairs ( pickupSpawns ) do
  83.                         local pick = createMarker ( v[1],v[2],v[3], "checkpoint", 4.0, 255, 255, 255 )
  84.                         local pick2 = createPickup ( v[1],v[2],v[3], 3, 1314, 10000 )
  85.                         setElementData ( pick, "taken", false )
  86.                         setElementData ( pick, "pick2", pick2 )
  87.                         setElementData ( pick, "bus_pickup", true )
  88.                         setElementData ( pick, "id", i )
  89.                         if i == 1 then
  90.                                 local icon = createBlipAttachedTo ( pick, 41, 2 )
  91.                                 setElementData ( pick, "icon", icon )
  92.                         end
  93.                         table.insert (createdPickups, pick)
  94.                 end
  95.         end
  96. end    
  97.  
  98. function clientPickupHit(thePlayer, matchingDimension)
  99.         if thePlayer == localPlayer and getElementData ( source, "bus_pickup" ) and not getElementData ( source, "taken" ) then
  100.                 setElementData ( source, "taken", true )
  101.                 outputChatBox ( "Tebrikler Görevi Bitirdin Ve ₺20000 Aldın ", 255, 100, 100, true )
  102.                 triggerServerEvent ( "giveMoneyFromClient_voditel", localPlayer, 20000 ) -- 50 награда
  103.                 local hitted = getElementData ( localPlayer, "trash_working_hit" ) or 0
  104.                 hitted = hitted+1
  105.                 local pick2 = getElementData ( source, "pick2" )
  106.                 if isElement ( pick2 ) then
  107.                         destroyElement ( pick2 )
  108.                 end
  109.                 local icon = getElementData ( source, "icon" )
  110.                 if isElement ( icon ) then
  111.                         destroyElement ( icon )
  112.                 end
  113.                 destroyElement(source)
  114.                 setElementData ( localPlayer, "trash_working_hit", hitted)
  115.                 if hitted >= max_pickups then
  116.                         for i, v in ipairs ( createdPickups ) do
  117.                                 if isElement ( v ) then
  118.                                         local pick2 = getElementData ( v, "pick2")
  119.                                         if isElement ( pick2 ) then
  120.                                                 destroyElement ( pick2 )
  121.                                         end
  122.                                         local icon = getElementData ( v, "icon" )
  123.                                         if isElement ( icon ) then
  124.                                                 destroyElement ( icon )
  125.                                         end
  126.                                         destroyElement ( v )
  127.                                 end
  128.                         end
  129.                         setElementData ( localPlayer, "trash_working", false )
  130.                         triggerServerEvent ( "finitoWork_voditel", localPlayer )
  131.                         return true
  132.                 end
  133.                 if createdPickups[hitted+1] then
  134.                         local icon = createBlipAttachedTo ( createdPickups[hitted+1], 41, 2 )
  135.                         setElementData ( createdPickups[hitted+1], "icon", icon )
  136.                 end
  137.         end
  138. end
  139. addEventHandler ( "onClientMarkerHit", getRootElement(), clientPickupHit )
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  

Kod: Lua
  1. jobm = createMarker ( -1978,106,28 - 1.1, "cylinder", 1.5, 255, 0, 0, 170 )
  2. myBlip = createBlipAttachedTo ( jobm, 60 )
  3.  
  4. give_skin = 255 -- скин, который выдается водиле
  5. function enter (element)
  6.         if getElementType ( element ) == "player" then
  7.                         triggerClientEvent ( element, "openinf_voditel", element)
  8.         end
  9. end
  10. addEventHandler( "onMarkerHit", jobm, enter )
  11. addEvent ( "picku_voditel", true )
  12.  
  13. function create ()
  14.    local jobvehicle = createVehicle ( 459, -1990, 102, 27 )
  15.         warpPedIntoVehicle ( source, jobvehicle )
  16.         setElementData ( source, "working_veh", jobvehicle )
  17.         setElementModel ( source, give_skin)
  18. end
  19. addEventHandler ( "picku_voditel", root, create )
  20.  
  21. addEvent ( "finitoWork_voditel", true )
  22.  
  23. function finitoWorkS ()
  24.         local veh = getElementData ( source, "working_veh" )
  25.         if isElement ( veh ) then
  26.                 destroyElement ( veh )
  27.                 setElementData ( source, "working_veh", false )
  28.         end
  29. end
  30. addEventHandler ( "finitoWork_voditel", root, finitoWorkS )
  31.  
  32. addEvent ( "giveMoneyFromClient_voditel", true )
  33.  
  34. function giveMoneyFromClientS (amount)
  35.     givePlayerMoney ( source, amount )
  36. end
  37. addEventHandler ( "giveMoneyFromClient_voditel", root, giveMoneyFromClientS )
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
« Son Düzenleme: 04 Haziran 2017, 23:58:09 Gönderen: Narkoz »
 

MTASA-TURK | Türkiye'nin En Güncel MTA Platformu

[YARDIM] Görev Sistemi
« : 03 Haziran 2017, 01:13:33 »

MarkeloF

  • Moderatör
  • *
  • İleti: 630
  • Just do it.
Ynt: [Yardım] Görev
« Yanıtla #1 : 03 Haziran 2017, 09:35:13 »
İki görevden birinin eventlerini değiştirmen yeterli olacaktır.


Aracı terk edince araç kaybolur. (2. satırı scripte göre uyarlamalısın)
Kod: Lua
  1. function vehicleExit (leaver)
  2.         if source == rekka and leaver == source then
  3.                 addEventHandler ("onVehicleEnter", getRootElement(), destrTimer)
  4.         else
  5.                 return false
  6.         end
  7. end
Kod: Lua
  1. removeEventHandler ("onVehicleExit", getRootElement(), vehicleExit)

« Son Düzenleme: 03 Haziran 2017, 11:23:53 Gönderen: MarkeloF »
                                                 
 

LaykSis

  • Yeni Üye
  • *
  • Default Avatar
  • İleti: 43
Ynt: [Yardım] Görev
« Yanıtla #2 : 03 Haziran 2017, 15:13:37 »
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
İki görevden birinin eventlerini değiştirmen yeterli olacaktır.


Aracı terk edince araç kaybolur. (2. satırı scripte göre uyarlamalısın)
Kod: Lua
  1. function vehicleExit (leaver)
  2.         if source == rekka and leaver == source then
  3.                 addEventHandler ("onVehicleEnter", getRootElement(), destrTimer)
  4.         else
  5.                 return false
  6.         end
  7. end
Kod: Lua
  1. removeEventHandler ("onVehicleExit", getRootElement(), vehicleExit)
Olmadı görev markeri bozuluyor
 

MarkeloF

  • Moderatör
  • *
  • İleti: 630
  • Just do it.
Ynt: [Yardım] Görev
« Yanıtla #3 : 03 Haziran 2017, 15:24:16 »
Verdiğim kodları bende kullanıyorum ve bir sorun yok.
Eventi eklemedin galiba.
Kod: Lua
  1. addEventHandler ("onVehicleEnter", getRootElement(), destrTimer)
Bu kodu create vehicle satırının altına yapıştır.