Advertisement
Guest User

Простой код работы (устройство/увольнение + чекпоинты)

a guest
Nov 16th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.75 KB | None | 0 0
  1. local jobMCS = {0,0,2} -- где берём
  2.  
  3.  
  4. local localMarkers = {} -- тут будем хранить маркеры, чтобы было удобнее
  5. local points = { -- точки
  6.     {0,10,2},
  7.     {0,12,2},
  8.     {0,14,2}
  9. }
  10.  
  11. function hitMK(element, dim)
  12.     if element == localPlayer and dim then
  13.         -- какое-то вознаграждение, добавление записи
  14.        
  15.         -- счётчик
  16.         local mk_id_old = getElementData(localPlayer,"markerCount")
  17.         local mk_id
  18.         if mk_id_old == #points -- если координаты последнего,начинаем заного
  19.             mk_id = 1
  20.         else
  21.             mk_id = mk_id + 1
  22.         end
  23.         setElementData(localPlayer,"markerCount",mk_id)
  24.        
  25.         -- маркеры
  26.         -- удаляем предыдущий (если есть)
  27.         if localMarkers[tostring(mk_id_old)] then
  28.             removeEventHandler("onClientMarkerHit",source,hitMK)
  29.             destroyElement(source)
  30.             localMarkers[tostring(mk_id_old)] = nil
  31.         end
  32.        
  33.         -- создаём новый
  34.         localMarkers[tostring(mk_id)] = createMarker(Vector3(points[mk_id]),"cylinder") -- вписываешь свои данные
  35.         addEventHandler("onClientMarkerHit",localMarkers[tostring(mk_id)],hitMK)
  36.     end
  37. end
  38.  
  39.  
  40. function startWork()
  41.     if not getElementData(localPlayer,"working") then -- если не работает
  42.         -- начать работу
  43.        
  44.     else
  45.         -- закончить работу
  46.         local mk_id = getElementData(localPlayer,"markerCount")
  47.         -- удаляем
  48.         if localMarkers[tostring(mk_id)] then
  49.             removeEventHandler("onClientMarkerHit",localMarkers[tostring(mk_id)],hitMK)
  50.             destroyElement(localMarkers[tostring(mk_id)])
  51.             localMarkers[tostring(mk_id)] = nil
  52.         end
  53.         -- обнуляем
  54.         setElementData(localPlayer,"markerCount",nil)
  55.     end
  56. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement