Advertisement
Guest User

pickups.lua

a guest
Apr 24th, 2015
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 20.16 KB | None | 0 0
  1. timetorefresh = math.random(7200000,8200000) --Время через которое будет перенаполнение
  2.  
  3. --НЕ СТАВТЕ ПЕРЕД строкой local !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  4. itemTable = {
  5. ----------------------
  6. ["farm"] = {
  7. {"Дрова",1463,0.4,0,13},
  8. {"Бинт",1578,0.5,0,4},
  9. {"Фляга",2683,1,0,6},
  10. {"Банка макарон",2770,1,0,6},
  11. {"Банка бобов",2601,1,0,6},
  12. {"Гамбургер",2768,1,0,6},
  13. {"Пустая банка соды",2673,0.5,0,12},
  14. {"Объедки",2675,0.5,0,12},
  15. {"Банка соды",2647,1,0,9},
  16. {"Пустая канистра",1650,1,0,10},
  17. {"Охотничий нож",335,1,90,4},
  18. {"Спички",328,0.4,90,8},
  19. {"Револьвер",348,1,90,0.2},
  20. {"Морфий",1579,1,0,4},
  21. {"Палатка",1279,1,0,0.5},
  22. {"M1911",346,1,90,4},
  23. {"Болеутоляющие",2709,3,0,3.5},
  24. {"Lee Enfield",357,1,90,0.3},
  25. {"Винчестер 1866",349,1,90,0.3},
  26. {"Tire",1073,1,0,2},
  27. {"Бензобак",1008,1,0.8,2},
  28. {"Женский скин",1241,2,0,2.5},
  29. {"Карта",1277,0.8,90,6},
  30. {"GPS",2976,0.15,0,2},
  31. },
  32. ----------------------
  33. ["residential"] = {
  34. {"Спички",328,0.4,90,5},
  35. {"Дрова",1463,0.4,0,5},
  36. {"M1911",346,1,90,1.5},
  37. {"M9 SD",347,1,90,1.9},
  38. {"Винчестер 1866",349,1,90,0.1},
  39. {"PDW",352,1,90,1},
  40. {"Охотничий нож",335,1,90,3},
  41. {"Топор",339,1,90,1},
  42. {"Пицца",1582,1,0,7},
  43. {"Банка соды",2647,1,0,7},
  44. {"Пустая канистра",1650,1,0,9},
  45. {"Фаер",324,1,90,9},
  46. {"Молоко",2856,1,0,7},
  47. {"Assault Pack (ACU)",3026,1,0,6},
  48. {"Болеутоляющие",2709,3,0,7},
  49. {"Пустая банка соды",2673,0.5,0,12},
  50. {"Объедки",2675,0.5,0,12},
  51. {"Оск. граната M67",342,1,0,0.01},
  52. {"Револьвер",348,1,90,0.4},
  53. {"Sawn-Off Shotgun",350,1,90,0.3},
  54. {"SPAZ-12 Combat Shotgun",351,1,90,0.4},
  55. {"MP5A5",353,1,90,0.4},
  56. {"Часы",2710,1,0,3},
  57. {"Грелка",1576,5,0,6},
  58. {"Колючая проволока",933,0.25,0,1},
  59. {"Lee Enfield",357,1,90,0.3},
  60. {"Alice Pack",1248,1,0,1.5},
  61. {"Tire",1073,1,0,1},
  62. {"Бензобак",1008,0.8,0,1},
  63. {"Морфий",1579,1,0,2},
  64. {"Женский скин",1241,2,0,9},
  65. {"Карта",1277,0.8,90,10},
  66. {"GPS",2976,0.15,0,3},
  67. {"Банка макарон",2770,1,0,7},
  68. {"Банка бобов",2601,1,0,7},
  69. --{"TEC-9",372,1,90,0},
  70. {"Гамбургер",2768,1,0,7},
  71. {"Клюшка для гольфа",333,1,90,3},
  72. {"Бейсбольная бита",336,1,90,3},
  73. {"Лопата",337,1,90,3},
  74. },
  75. ----------------------
  76. ["military"] = {
  77. {"Спички",328,0.4,90,2},
  78. {"M1911",346,1,90,5},
  79. {"M9 SD",347,1,90,4},
  80. {"Винчестер 1866",349,1,90,3},
  81. {"PDW",352,1,90,4},
  82. {"Охотничий нож",335,1,90,2.4},
  83. {"Топор",339,1,90,2.1},
  84. {"Пицца",1582,1,0,2},
  85. {"Банка соды",2647,1,0,2},
  86. {"Пустая канистра",1650,1,0,4},
  87. {"Фаер",324,1,90,4},
  88. {"Молоко",2856,1,0,1},
  89. {"Болеутоляющие",2709,3,0,4},
  90. {"Пустая банка соды",2673,0.5,0,12},
  91. {"Объедки",2675,0.5,0,12},
  92. {"Оск. граната M67",342,1,0,0.5},
  93. {"Sawn-Off Shotgun",350,1,90,2.3},
  94. {"SPAZ-12 Combat Shotgun",351,1,90,2.3},
  95. {"MP5A5",353,1,90,2.8},
  96. {"Часы",2710,1,0,4},
  97. {"Грелка",1576,5,0,3},
  98. {"Колючая проволока",933,0.25,0,1},
  99. {"Lee Enfield",357,1,90,3.5},
  100. {"Alice Pack",1248,1,0,4},
  101. {"Очки ночного видения",368,1,90,4},
  102. {"Бинокль",369,1,0,4},
  103. {"Tire",1073,1,0,2},
  104. {"Бензобак",1008,0.8,0,2},
  105. {"Морфий",1579,1,0,4},
  106. {"Армейский камуфляж",1247,2,0,4.5},
  107. {"Женский скин",1241,2,0,3},
  108. --{"TEC-9",372,1,90,3},
  109. {"AK-74",355,1,90,3.8},
  110. {"GPS",2976,0.15,0,3},
  111. {"Карта",1277,0.8,90,7},
  112. {"Инструменты",2969,0.5,0,1},
  113. {"Engine",929,0.3,0,2},
  114. {"Палатка",1279,1,0,4.5},
  115. {"Камуфляж снайпера",1213,2,0,0.3},
  116. {"М4А1 CCO",356,1,90,2.4},
  117. {"CZ550",358,1,90,0.4},
  118. {"Инфокрасные очки",369,1,90,3},
  119. {"Assault Pack (ACU)",3026,1,0,5},
  120. {"Czech Backpack",1239,1,0,2},
  121. {"Рация",330,1,0,6},
  122. {"Coyote Backpack",1252,1,0,0.9},
  123. {"Лопата",337,1,90,1},
  124. },
  125. ----------------------
  126. ["industrial"] = {
  127. {"Колючая проволока",933,0.25,0,7},
  128. {"Инструменты",2969,0.5,0,3},
  129. {"Tire",1073,1,0,4},
  130. {"Engine",929,0.3,0,3.5},
  131. {"Бензобак",1008,1,0.8,4},
  132. {"Винчестер 1866",349,1,90,3},
  133. {"Фляга",2683,1,0,4},
  134. {"Банка макарон",2770,1,0,4},
  135. {"Банка бобов",2601,1,0,4},
  136. {"Гамбургер",2768,1,0,4},
  137. {"Пустая банка соды",2673,0.5,0,12},
  138. {"Объедки",2675,0.5,0,10},
  139. {"Банка соды",2647,1,0,4},
  140. {"Пустая канистра",1650,1,0,6},
  141. {"Наполненная канистра",1650,1,0,1.5},
  142. {"Карта",1277,0.8,90,3},
  143. {"Часы",2710,1,0,2},
  144. {"Спички",328,0.4,90,5},
  145. {"Дрова",1463,0.4,0,2},
  146. {"M1911",346,1,90,1.5},
  147. {"PDW",352,1,90,2},
  148. {"Охотничий нож",335,1,90,2},
  149. {"Топор",339,1,90,1.5},
  150. {"Пицца",1582,1,0,4},
  151. {"Фаер",324,1,90,5},
  152. {"Молоко",2856,1,0,4},
  153. {"Assault Pack (ACU)",3026,1,0,6},
  154. {"Coyote Backpack",1252,1,0,0.5},
  155. {"Рация",330,1,0,6},
  156. {"Клюшка для гольфа",333,1,90,1.5},
  157. {"Бейсбольная бита",336,1,90,1.5},
  158. {"Лопата",337,1,90,1.5},
  159. {"Очки ночного видения",368,1,90,1.5},
  160. },
  161. ----------------------
  162. ["supermarket"] = {
  163. {"Жареное мясо",2804,0.5,90,8},
  164. {"Спички",328,0.4,90,5},
  165. {"Дрова",1463,0.4,0,5},
  166. {"M1911",346,1,90,3.5},
  167. {"PDW",352,1,90,2},
  168. {"Охотничий нож",335,1,90,3},
  169. {"Топор",339,1,90,2.1},
  170. {"Пицца",1582,1,0,7},
  171. {"Банка соды",2647,1,0,7},
  172. {"Пустая канистра",1650,1,0,5},
  173. {"Фаер",324,1,90,6},
  174. {"Молоко",2856,1,0,7},
  175. {"Assault Pack (ACU)",3026,1,0,6},
  176. {"Банка макарон",2770,1,0,7},
  177. {"Банка бобов",2601,1,0,7},
  178. {"Гамбургер",2768,1,0,7},
  179. {"Болеутоляющие",2709,3,0,7},
  180. {"Пустая банка соды",2673,0.5,0,12},
  181. {"Объедки",2675,0.5,0,12},
  182. {"MP5A5",353,1,90,0.5},
  183. {"Часы",2710,1,0,3},
  184. {"Грелка",1576,5,0,6},
  185. {"Колючая проволока",933,0.25,0,1},
  186. {"Lee Enfield",357,1,90,0.2},
  187. {"Alice Pack",1248,1,0,0.5},
  188. {"Tire",1073,1,0,1},
  189. {"Бензобак",1008,1,0.8,2},
  190. {"Морфий",1579,1,0,2},
  191. {"Женский скин",1241,2,0,3.5},
  192. {"Карта",1277,0.8,90,4},
  193. {"GPS",2976,0.15,0,1},
  194. {"Рация",330,1,0,6},
  195. {"Клюшка для гольфа",333,1,90,1.9},
  196. {"Бейсбольная бита",336,1,90,1.4},
  197. {"Лопата",337,1,90,0.3},
  198. },
  199. ["other"] = {
  200. {"Жареное мясо",2804,0.5,90},
  201. {"Сырое мясо",2806,0.5,90},
  202. {"Наполненная канистра",1650,1,0},
  203. {"Пустая фляга",2683,1,0},
  204. {"Одежда выжившего",1577,2,0},
  205. {"Очки ночного видения",368,1,90},
  206. {"Инфокрасные очки",369,1,90},
  207. {"1866 Slug",2358,2,0},
  208. {"2Rnd. Slug",2358,2,0},
  209. {"SPAZ-12 Pellet",2358,2,0},
  210. {"MP5A5 Mag",2358,2,0},
  211. {"AK",1271,2,0},
  212. {"STANAG",1271,2,0},
  213. {"M1911 Mag",3013,2,0},
  214. {"M9 SD Mag",3013,2,0},
  215. {".45ACP",3013,2,0},
  216. --{"M136 Rocket",3082,0.7,90},
  217. {"CZ550 Mag",2358,2,0},
  218. {"Lee Enfield Mag",2358,2,0},
  219. {"PDW Mag",2041,2,0},
  220. {"MP5A5 Mag",2041,2,0},
  221. {"Спички",328,0.4,90,5},
  222. {"Дрова",1463,0.4,0,5},
  223. {"M1911",346,1,90,3.5},
  224. {"PDW",352,1,90,2},
  225. {"Охотничий нож",335,1,90,2.5},
  226. {"Топор",339,1,90,1.8},
  227. {"Пицца",1582,1,0,7},
  228. {"Банка соды",2647,1,0,7},
  229. {"Пустая канистра",1650,1,0,5},
  230. {"Фаер",324,1,90,6},
  231. {"Молоко",2856,1,0,5},
  232. {"Assault Pack (ACU)",3026,1,0,6},
  233. {"Болеутоляющие",2709,3,0,7},
  234. {"Пустая банка соды",2673,0.5,0,12},
  235. {"Объедки",2675,0.5,0,12},
  236. {"MP5A5",353,1,90,1.5},
  237. {"Часы",2710,1,0,3},
  238. {"Грелка",1576,5,0,6},
  239. {"Колючая проволока",933,0.25,0,1},
  240. {"Lee Enfield",357,1,90,1.5},
  241. {"Alice Pack",1248,1,0,1.5},
  242. {"Coyote Backpack",1252,1,0,0.7},
  243. {"Tire",1073,1,0,1},
  244. {"Бензобак",1008,1,0.8,4},
  245. {"Морфий",1579,1,0,2},
  246. {"Женский скин",1241,2,0,3.5},
  247. {"Карта",1277,0.8,90,4},
  248. {"Инструменты",2969,0.5,0,3},
  249. {"Engine",929,0.3,0,3.5},
  250. {"Винчестер 1866",349,1,90,2},
  251. {"Фляга",2683,1,0,4},
  252. {"M9 SD",347,1,90,5},
  253. {"Оск. граната M67",342,1,0,0.5},
  254. {"Sawn-Off Shotgun",350,1,90,2},
  255. {"SPAZ-12 Combat Shotgun",351,1,90,1.9},
  256. {"Бинокль",369,1,0,4},
  257. {"Армейский камуфляж",1247,2,0,4.5},
  258. --{"TEC-9",372,1,90,4},
  259. {"AK-74",355,1,90,0.9},
  260. {"M136 Rocket Launcher",359,1,90,0},
  261. {"Камуфляж снайпера",1213,2,0,0.01},
  262. {"М4А1 CCO",356,1,90,0.9},
  263. {"CZ550",358,1,90,0.3},
  264. {"Heat-Seeking RPG",360,1,90,0},
  265. {"Бинт",1578,0.5,0,4},
  266. {"Банка макарон",2770,1,0,5},
  267. {"Банка бобов",2601,1,0,6},
  268. {"Гамбургер",2768,1,0,2},
  269. {"Палатка",1279,1,0,0.5},
  270. {"M1911",346,1,90,3},
  271. {"Револьвер",348,1,90,3},
  272. {"GPS",2976,0.15,0,1},
  273. {"Аптечка",2891,2.2,0},
  274. {"Пакет крови",1580,1,0},
  275. {"Рация",2966,0.5,0,5},
  276. {"Клюшка для гольфа",333,1,90,1.9},
  277. {"Бейсбольная бита",336,1,90,1.4},
  278. {"Лопата",337,1,90,1.5},
  279. },
  280. }
  281.  
  282. weaponAmmoTable = {
  283.  
  284. ["M1911 Mag"] = {
  285. {"M1911",22},
  286. },
  287.  
  288. ["M9 SD Mag"] = {
  289. {"M9 SD",23},
  290. },
  291.  
  292. [".45ACP"] = {
  293. {"Револьвер",24},
  294. },
  295.  
  296. ["PDW Mag"] = {
  297. {"PDW",28},
  298. },
  299.  
  300. ["MP5A5 Mag"] = {
  301. {"MP5A5",29},
  302. },
  303.  
  304. ["AK"] = {
  305. {"AK-74",30},
  306. },
  307.  
  308. ["STANAG"] = {
  309. {"М4А1 CCO",31},
  310. },
  311.  
  312. ["1866 Slug"] = {
  313. {"Винчестер 1866",25},
  314. },
  315.  
  316. ["2Rnd. Slug"] = {
  317. {"Sawn-Off Shotgun",26},
  318. },
  319.  
  320. ["SPAZ-12 Pellet"] = {
  321. {"SPAZ-12 Combat Shotgun",27},
  322. },
  323.  
  324. ["CZ550 Mag"] = {
  325. {"CZ550",34},
  326. },
  327.  
  328. ["Lee Enfield Mag"] = {
  329. {"Lee Enfield",33},
  330. },
  331.  
  332. ["M136 Rocket"] = {
  333. {"Heat-Seeking RPG",36},
  334. {"M136 Rocket Launcher",35},
  335. },
  336.  
  337.  
  338. ["others"] = {
  339. {"Парашют",46},
  340. {"Satchel",39},
  341. {"Tear Gas",17},
  342. {"Оск. граната M67",16},
  343. {"Охотничий нож",4},
  344. {"Топор",8},
  345. {"Бинокль",43},
  346. {"Бейсбольная бита",5},
  347. {"Клюшка для гольфа",2},
  348. {"Лопата",6},
  349. {"Рация",1},
  350. },
  351. }
  352.  
  353. function getWeaponAmmoType (weaponName,notOthers)
  354.     if not notOthers then
  355.         for i,weaponData in ipairs(weaponAmmoTable["others"]) do
  356.             if weaponName == weaponData[1] then
  357.                 return weaponData[1],weaponData[2]
  358.             end
  359.         end
  360.     end
  361.     for i,weaponData in ipairs(weaponAmmoTable["M1911 Mag"]) do
  362.         if weaponName == weaponData[1] then
  363.             return "M1911 Mag",weaponData[2]
  364.         end
  365.     end
  366.     for i,weaponData in ipairs(weaponAmmoTable["M9 SD Mag"]) do
  367.         if weaponName == weaponData[1] then
  368.             return "M9 SD Mag",weaponData[2]
  369.         end
  370.     end
  371.     for i,weaponData in ipairs(weaponAmmoTable[".45ACP"]) do
  372.         if weaponName == weaponData[1] then
  373.             return ".45ACP",weaponData[2]
  374.         end
  375.     end
  376.     for i,weaponData in ipairs(weaponAmmoTable["PDW Mag"]) do
  377.         if weaponName == weaponData[1] then
  378.             return "PDW Mag",weaponData[2]
  379.         end
  380.     end
  381.     for i,weaponData in ipairs(weaponAmmoTable["MP5A5 Mag"]) do
  382.         if weaponName == weaponData[1] then
  383.             return "MP5A5 Mag",weaponData[2]
  384.         end
  385.     end
  386.     for i,weaponData in ipairs(weaponAmmoTable["AK"]) do
  387.         if weaponName == weaponData[1] then
  388.             return "AK",weaponData[2]
  389.         end
  390.     end
  391.     for i,weaponData in ipairs(weaponAmmoTable["STANAG"]) do
  392.         if weaponName == weaponData[1] then
  393.             return "STANAG",weaponData[2]
  394.         end
  395.     end
  396.     for i,weaponData in ipairs(weaponAmmoTable["1866 Slug"]) do
  397.         if weaponName == weaponData[1] then
  398.             return "1866 Slug",weaponData[2]
  399.         end
  400.     end
  401.     for i,weaponData in ipairs(weaponAmmoTable["2Rnd. Slug"]) do
  402.         if weaponName == weaponData[1] then
  403.             return "2Rnd. Slug",weaponData[2]
  404.         end
  405.     end
  406.     for i,weaponData in ipairs(weaponAmmoTable["SPAZ-12 Pellet"]) do
  407.         if weaponName == weaponData[1] then
  408.             return "SPAZ-12 Pellet",weaponData[2]
  409.         end
  410.     end
  411.     for i,weaponData in ipairs(weaponAmmoTable["CZ550 Mag"]) do
  412.         if weaponName == weaponData[1] then
  413.             return "CZ550 Mag",weaponData[2]
  414.         end
  415.     end
  416.     for i,weaponData in ipairs(weaponAmmoTable["Lee Enfield Mag"]) do
  417.         if weaponName == weaponData[1] then
  418.             return "Lee Enfield Mag",weaponData[2]
  419.         end
  420.     end
  421.     for i,weaponData in ipairs(weaponAmmoTable["M136 Rocket"]) do
  422.         if weaponName == weaponData[1] then
  423.             return "M136 Rocket",weaponData[2]
  424.         end
  425.     end
  426.     return false
  427. end
  428.  
  429.  
  430.  
  431. function createItemPickup(item,x,y,z,tableStringName)
  432.     if item and x and y and z then
  433.         local object = createObject(itemTable[tostring(tableStringName)][item][2],x,y,z-0.875,itemTable[tostring(tableStringName)][item][4],0,math.random(0,360))
  434.         setObjectScale(object,itemTable[tostring(tableStringName)][item][3])
  435.         setElementCollisionsEnabled(object, false)
  436.         setElementFrozen (object,true)
  437.         local col = createColSphere(x,y,z,0.75)
  438.         setElementData(col,"item",itemTable[tostring(tableStringName)][item][1])
  439.         setElementData(col,"parent",object)
  440.         setTimer(function()
  441.             if isElement(col) then
  442.                 destroyElement(col)
  443.                 destroyElement(object)
  444.             end
  445.         end,900000,1)
  446.         return object
  447.     end
  448. end
  449.  
  450. function table.size(tab)
  451.     local length = 0
  452.     for _ in pairs(tab) do length = length + 1 end
  453.     return length
  454. end
  455.  
  456. function math.percentChance (percent,repeatTime)
  457.     local hits = 0
  458.     for i = 1, repeatTime do
  459.     local number = math.random(0,200)/2
  460.         if number <= percent then
  461.             hits = hits+1
  462.         end
  463.     end
  464.     return hits
  465. end
  466.  
  467. function createItemLoot (lootPlace,x,y,z,id)
  468.     col = createColSphere(x,y,z,1.25)
  469.     setElementData(col,"itemloot",true)
  470.     setElementData(col,"isTimerToRefresh",false)
  471.     setElementData(col,"parent",lootPlace)
  472.     setElementData(col,"MAX_Slots",12)
  473.     --Items
  474.     for i, item in ipairs(itemTable[lootPlace]) do
  475.         local value =  math.percentChance (item[5],math.random(1,2))
  476.         setElementData(col,item[1],value)
  477.         --weapon Ammo
  478.         local ammoData,weapID = getWeaponAmmoType (item[1],true)
  479.         if ammoData and value > 0 then
  480.             setElementData(col,ammoData,math.random(1,2))
  481.         end
  482.     end
  483.     --itemLoot
  484.     refreshItemLoot (col,lootPlace,true)
  485.    
  486.     return col
  487. end
  488.  
  489. function refreshItemLoot (col,place,creating)
  490.     if not creating and not getElementData(col,"isTimerToRefresh") then
  491.     setElementData(col,"isTimerToRefresh",true)
  492.     setTimer(refreshItemLoots,timetorefresh,1,col)
  493.     end
  494.     local objects = getElementData(col,"objectsINloot")
  495.     if objects then
  496.         if objects[1] ~= nil then
  497.             destroyElement(objects[1])
  498.         end
  499.         if objects[2] ~= nil then
  500.             destroyElement(objects[2])
  501.         end
  502.         if objects[3] ~= nil then
  503.             destroyElement(objects[3])
  504.         end
  505.     end
  506.     --setting objects
  507.     local counter = 0
  508.     local obejctItem = {}
  509.     --Tables
  510.     for i, item in ipairs(itemTable["other"]) do
  511.         if getElementData(col,item[1]) and getElementData(col,item[1]) > 0 then
  512.             if counter == 3 then
  513.                 break
  514.             end
  515.             counter = counter + 1
  516.             local x,y,z = getElementPosition(col)
  517.             obejctItem[counter] = createObject(item[2],x+math.random(-1,1),y+math.random(-1,1),z-0.875,item[4])
  518.             setObjectScale(obejctItem[counter],item[3])
  519.             setElementCollisionsEnabled(obejctItem[counter], false)
  520.             setElementFrozen (obejctItem[counter],true)
  521.         end
  522.     end
  523.     -------Debug
  524.     if obejctItem[1] == nil then
  525.         local x,y,z = getElementPosition(col)
  526.         obejctItem[1] = createObject(1463,x+math.random(-1,1),y+math.random(-1,1),z-0.875,0)
  527.         setObjectScale(obejctItem[1],0)
  528.         setElementCollisionsEnabled(obejctItem[1], false)
  529.         setElementFrozen (obejctItem[1],true)
  530.     end
  531.     if obejctItem[2] == nil then
  532.         local x,y,z = getElementPosition(col)
  533.         obejctItem[2] = createObject(1463,x+math.random(-1,1),y+math.random(-1,1),z-0.875,0)
  534.         setObjectScale(obejctItem[2],0)
  535.         setElementCollisionsEnabled(obejctItem[2], false)
  536.         setElementFrozen (obejctItem[2],true)
  537.     end
  538.     if obejctItem[3] == nil then
  539.         local x,y,z = getElementPosition(col)
  540.         obejctItem[3] = createObject(1463,x+math.random(-1,1),y+math.random(-1,1),z-0.875,0)
  541.         setObjectScale(obejctItem[3],0)
  542.         setElementCollisionsEnabled(obejctItem[3], false)
  543.         setElementFrozen (obejctItem[3],true)
  544.     end
  545.     setElementData(col,"objectsINloot",{obejctItem[1], obejctItem[2], obejctItem[3]})
  546. end
  547. addEvent( "refreshItemLoot", true )
  548. addEventHandler( "refreshItemLoot", getRootElement(), refreshItemLoot )
  549.  
  550. function createPickupsOnServerStart()
  551.     iPickup = 0
  552.     for i,pos in ipairs(pickupPositions["residential"]) do
  553.         iPickup = iPickup + 1
  554.         createItemLoot("residential",pos[1],pos[2],pos[3],iPickup)
  555.     end
  556.     setTimer(createPickupsOnServerStart2,5000,1)
  557. end
  558.  
  559. function createPickupsOnServerStart2()
  560.     for i,pos in ipairs(pickupPositions["industrial"]) do
  561.         iPickup = iPickup + 1
  562.         createItemLoot("industrial",pos[1],pos[2],pos[3],iPickup)
  563.     end
  564.     setTimer(createPickupsOnServerStart3,5000,1)
  565. end
  566.  
  567. function createPickupsOnServerStart3()
  568.     for i,pos in ipairs(pickupPositions["farm"]) do
  569.         iPickup = iPickup + 1
  570.         createItemLoot("farm",pos[1],pos[2],pos[3],iPickup)
  571.     end
  572.     setTimer(createPickupsOnServerStart4,5000,1)
  573. end
  574.  
  575. function createPickupsOnServerStart4()
  576.     for i,pos in ipairs(pickupPositions["supermarket"]) do
  577.         iPickup = iPickup + 1
  578.         createItemLoot("supermarket",pos[1],pos[2],pos[3],iPickup)
  579.     end
  580.     setTimer(createPickupsOnServerStart5,5000,1)
  581. end
  582.  
  583. function createPickupsOnServerStart5()
  584.     for i,pos in ipairs(pickupPositions["military"]) do
  585.         iPickup = iPickup + 1
  586.         createItemLoot("military",pos[1],pos[2],pos[3],iPickup)
  587.     end
  588. end
  589.  
  590. createPickupsOnServerStart()
  591.  
  592. ------------------------------------------------------------------------------
  593. --OTHER ITEM STUFF
  594. vehicleFuelTable = {
  595. -- {MODEL ID, MAX. FUEL},
  596. {422,80},
  597. {470,100},
  598. {468,30},
  599. {433,140},
  600. {437,140},
  601. {509,0},
  602. {487,60},
  603. {497,60},
  604. {453,60},
  605. }
  606.  
  607. function getVehicleMaxFuel(loot)
  608.     local modelID = getElementModel(getElementData(loot,"parent"))
  609.     for i,vehicle in ipairs(vehicleFuelTable) do
  610.         if modelID == vehicle[1] then
  611.              return vehicle[2]
  612.         end
  613.     end
  614.     return false
  615. end
  616.  
  617. function onPlayerTakeItemFromGround (itemName,col)
  618.     itemPlus = 1
  619.     if itemName == "M1911 Mag" then
  620.         itemPlus = 7
  621.     elseif itemName == "M9 SD Mag" then
  622.         itemPlus = 15
  623.     elseif itemName == ".45ACP" then
  624.         itemPlus = 7
  625.     elseif itemName == "PDW Mag" then
  626.         itemPlus = 30
  627.     elseif itemName == "MP5A5 Mag" then
  628.         itemPlus = 20
  629.     elseif itemName == "AK" then
  630.         itemPlus = 30
  631.     elseif itemName == "STANAG" then
  632.         itemPlus = 20
  633.     elseif itemName == "1866 Slug" then
  634.         itemPlus = 7
  635.     elseif itemName == "2Rnd. Slug" then
  636.         itemPlus = 2
  637.     elseif itemName == "SPAZ-12 Pellet" then
  638.         itemPlus = 7
  639.     elseif itemName == "CZ550 Mag" then
  640.         itemPlus = 5
  641.     elseif itemName == "Lee Enfield Mag" then
  642.         itemPlus = 10
  643.     elseif itemName == "M136 Rocket" then
  644.         itemPlus = 0
  645.     elseif itemName == "М4А1 CCO" or itemName == "AK-74" or itemName == "CZ550" or itemName == "Винчестер 1866" or itemName == "SPAZ-12 Combat Shotgun" or itemName == "Sawn-Off Shotgun" or itemName == "Heat-Seeking RPG" or itemName == "M136 Rocket Launcher" or itemName == "Lee Enfield" then
  646.         removeBackWeaponOnDrop()   
  647.     end
  648.     local x,y,z = getElementPosition(source)
  649.     local id,ItemType = getItemTablePosition (itemName)
  650.     setElementData(source,itemName,(getElementData(source,itemName) or 0)+itemPlus)
  651.     destroyElement(getElementData(col,"parent"))
  652.     destroyElement(col)
  653. end
  654. addEvent( "onPlayerTakeItemFromGround", true )
  655. addEventHandler( "onPlayerTakeItemFromGround", getRootElement(), onPlayerTakeItemFromGround )
  656.  
  657. function onPlayerChangeLoot(loot)
  658. local players = getElementsWithinColShape (loot,"player")
  659.     for theKey,player in ipairs(players) do
  660.         triggerClientEvent(player,"refreshLootManual",player,loot)
  661.     end
  662. end
  663. addEvent( "onPlayerChangeLoot", true )
  664. addEventHandler( "onPlayerChangeLoot", getRootElement(), onPlayerChangeLoot )
  665.  
  666. function playerDropAItem(itemName)
  667.     local x,y,z = getElementPosition(source)
  668.     local item,itemString = getItemTablePosition(itemName)
  669.     local itemPickup = createItemPickup(item,x+math.random(-1.25,1.25),y+math.random(-1.25,1.25),z,itemString)
  670. end
  671. addEvent( "playerDropAItem", true )
  672. addEventHandler( "playerDropAItem", getRootElement(), playerDropAItem )
  673.  
  674. function getItemTablePosition (itema)
  675.     for id, item in ipairs(itemTable[tostring("other")]) do
  676.         if itema == item[1] then
  677.             return id,"other"
  678.         end
  679.     end
  680.  
  681.     return item,itemString
  682. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement