Nelsonnn

Untitled

Nov 10th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 18.20 KB | None | 0 0
  1. local spawnPositions = {
  2. {-278.6669921875,-2882.1572265625,32.104232788086},
  3. {-958.5595703125,-2887.9912109375,64.82421875},
  4. {-1816.9375,-2748.18359375,1.7327127456665},
  5. {-2816.166015625,-2439.0546875,2.4004096984863},
  6. {-2941.5673828125,-1206.2373046875,2.7848854064941},
  7. {-2911.51171875,-895.22265625,2.4013109207153},
  8. {-2185.6669921875,2957.380859375,11.474840164185},
  9. {272.2265625,2928.505859375,1.3713493347168},
  10. {2803.943359375,595.9365234375,7.7612648010254},
  11. {2883.7509765625,-178.4658203125,3.2714653015137},
  12. {-233.46484375,-1735.8173828125,1.5520644187927},
  13. {-1056.8720703125,2939.068359375,42.311294555664},
  14. }
  15.  
  16. local playerDataTable = {
  17. {"alivetime"},
  18. {"skin"},
  19. {"MAX_Slots"},
  20. {"bandit"},
  21. {"blood"},
  22. {"food"},
  23. {"thirst"},
  24. {"temperature"},
  25. {"currentweapon_1"},
  26. {"currentweapon_2"},
  27. {"currentweapon_3"},
  28. {"bleeding"},
  29. {"brokenbone"},
  30. {"pain"},
  31. {"cold"},
  32. {"infection"},
  33. {"humanity"},
  34. {"zombieskilled"},
  35. {"headshots"},
  36. {"murders"},
  37. {"banditskilled"},
  38. {"Wood Pile"},
  39. {"Bandage"},
  40. {"Water Bottle"},
  41. {"Pasta Can"},
  42. {"Beans Can"},
  43. {"Burger"},
  44. {"Box of Matches"},
  45. {"M1911 Mag"},
  46. {"M9 SD Mag"},
  47. {"Desert Eagle Mag"},
  48. {"M1911"},
  49. {"M9 SD"},
  50. {"Winchester 1866"},
  51. {"PDW"},
  52. {"Hunting Knife"},
  53. {"Hatchet"},
  54. {"Pizza"},
  55. {"Morphine"},
  56. {"Soda Bottle"},
  57. {"Empty Gas Canister"},
  58. {"Full Gas Canister"},
  59. {"Roadflare"},
  60. {"Milk"},
  61. {"PDW Mag"},
  62. {"MP5A5 Mag"},
  63. {"AK Mag"},
  64. {"M4 Mag"},
  65. {"Tear Gas"},
  66. {"Grenade"},
  67. {"Desert Eagle"},
  68. {"Sawn-Off Shotgun"},
  69. {"SPAZ-12 Combat Shotgun"},
  70. {"MP5A5"},
  71. {"Watch"},
  72. {"Medic Kit"},
  73. {"Heat Pack"},
  74. {"Lee Enfield"},
  75. {"PDW"},
  76. --{"TEC-9"},
  77. {"AK-47"},
  78. --{"M136 Rocket Launcher"},
  79. {"Blood Bag"},
  80. {"GPS"},
  81. {"Map"},
  82. {"Toolbox"},
  83. {"Wire Fence"},
  84. {"Tire"},
  85. {"Engine"},
  86. {"Tank Parts"},
  87. {"M136 Rocket"},
  88. {"CZ 550 Mag"},
  89. {"Lee Enfield Mag"},
  90. {"M4"},
  91. {"CZ 550"},
  92. --{"Heat-Seeking RPG"},
  93. {"Satchel"},
  94. {"Infrared Goggles"},
  95. {"Night Vision Goggles"},
  96. {"Tent"},
  97. {"Raw Meat"},
  98. {"Cooked Meat"},
  99. {"Camouflage Clothing"},
  100. {"Ghillie Suit"},
  101. {"Civilian Clothing"},
  102. {"Survivor Clothing"},
  103. {"Painkiller"},
  104. {"Binoculars"},
  105. {"Empty Water Bottle"},
  106. {"Empty Soda Cans"},
  107. {"Scruffy Burgers"},
  108. {"1866 Slug"},
  109. {"2Rnd. Slug"},
  110. {"SPAZ-12 Pellet"},
  111. {"Radio Device"},
  112. {"Baseball Bat"},
  113. {"Shovel"},
  114. {"Golf Club"},
  115. {"Radio Device"},
  116. {"Parachute"},
  117. {"Assault Pack (ACU)"},
  118. {"Alice Pack"},
  119. {"Czech Backpack"},
  120. {"Coyote Backpack"},
  121. --[[
  122. {"Diary, Page 1"},
  123. {"Diary, Page 2"},
  124. {"Diary, Page 3"},
  125. {"Diary, Page 4"},
  126. {"Diary, Page 5"},
  127. {"Diary, Page 6"},
  128. {"Diary, Page 7"},
  129. {"Diary, Page 8"},
  130. {"Small Note 1"},
  131. {"Small Note 2"},
  132. {"Small Note 3"},
  133. {"Research Report 1"},
  134. {"Research Report 2"},
  135. {"Letter to Mum"},
  136. ]]
  137. }
  138.  
  139.  
  140. function playerLogin(username, pass, player)
  141.     local playerID = getAccountData(getPlayerAccount(player),"playerID")
  142.     account = getPlayerAccount(player)
  143.                 local x,y,z =  getAccountData(account,"last_x"),getAccountData(account,"last_y"),getAccountData(account,"last_z")
  144.                 local skin = getAccountData(account,"skin")
  145.                 createZombieTable (player)
  146.                 if getAccountData(account,"isDead") then
  147.                     spawnDayZPlayer(player)
  148.                     return
  149.                 end
  150.                 spawnPlayer (player, x,y,z, math.random(0,360), skin, 0, 0)
  151.                 fadeCamera (player, true)
  152.                 setCameraTarget (player, player)
  153.                 playerCol = createColSphere(x,y,z,1.5)
  154.                 setElementData(player,"playerCol",playerCol)
  155.                 attachElements ( playerCol, player, 0, 0, 0 )
  156.                 setElementData(playerCol,"parent",player)
  157.                 setElementData(playerCol,"player",true)
  158.                 for i,data in ipairs(playerDataTable) do
  159.                     local elementData = getAccountData(account,data[1])
  160.                     setElementData(player,data[1],elementData)
  161.                 end
  162.                 setElementData(player,"logedin",true)
  163.     --Weapons
  164. --Old Weapons
  165. local weapon = getElementData(player,"currentweapon_1")
  166. if weapon then
  167. local ammoData,weapID = getWeaponAmmoType (weapon)
  168. giveWeapon(player,weapID,getElementData(player,ammoData), true )
  169. end
  170. local weapon = getElementData(player,"currentweapon_2")
  171. if weapon then
  172. local ammoData,weapID = getWeaponAmmoType (weapon)
  173. giveWeapon(player,weapID,getElementData(player,ammoData), false )
  174. end
  175. local weapon = getElementData(player,"currentweapon_3")
  176. if weapon then
  177. local ammoData,weapID = getWeaponAmmoType (weapon)
  178. giveWeapon(player,weapID,getElementData(player,ammoData), false )
  179. end
  180. setPedSkin(getElementData(player,"skin"))
  181.  
  182. setElementData(player,"admin",getAccountData(account,"admin") or false)
  183. setElementData(player,"supporter",getAccountData(account,"supporter") or false)
  184.  
  185. end
  186. addEvent("onPlayerDayZLogin", true)
  187. addEventHandler("onPlayerDayZLogin", getRootElement(), playerLogin)
  188.  
  189. function playerRegister(username, pass, player)
  190.     local number = math.random(table.size(spawnPositions))
  191.     local x,y,z = spawnPositions[number][1],spawnPositions[number][2],spawnPositions[number][3]
  192.     spawnPlayer (player, x,y,z, math.random(0,360), 73, 0, 0)
  193.     fadeCamera (player, true)
  194.     setCameraTarget (player, player)
  195.         playerCol = createColSphere(x,y,z,1.5)
  196.         attachElements ( playerCol, player, 0, 0, 0 )
  197.         setElementData(playerCol,"parent",player)
  198.         setElementData(playerCol,"player",true)
  199.     ----------------------------------
  200.     --Player Items on Start
  201.     for i,data in ipairs(playerDataTable) do
  202.         if data[1] =="Bandage" then
  203.             setElementData(player,data[1],2)
  204.         elseif data[1] =="Painkiller" then
  205.             setElementData(player,data[1],1)
  206.         elseif data[1] =="MAX_Slots" then
  207.             setElementData(player,data[1],8)
  208.         elseif data[1] =="skin" then
  209.             setElementData(player,data[1],73)
  210.         elseif data[1] =="blood" then
  211.             setElementData(player,data[1],12000)
  212.         elseif data[1] =="temperature" then
  213.             setElementData(player,data[1],37)
  214.         elseif data[1] =="brokenbone" then
  215.             setElementData(player,data[1],false)    
  216.         elseif data[1] =="pain" then
  217.             setElementData(player,data[1],false)
  218.         elseif data[1] =="cold" then
  219.             setElementData(player,data[1],false)
  220.         elseif data[1] =="infection" then
  221.             setElementData(player,data[1],false)
  222.         elseif data[1] =="food" then
  223.             setElementData(player,data[1],100)
  224.         elseif data[1] =="thirst" then
  225.             setElementData(player,data[1],100)
  226.         elseif data[1] =="currentweapon_1" then
  227.             setElementData(player,data[1],false)
  228.         elseif data[1] =="currentweapon_2" then
  229.             setElementData(player,data[1],false)    
  230.         elseif data[1] =="currentweapon_3" then
  231.             setElementData(player,data[1],false)    
  232.         elseif data[1] =="bandit" then
  233.             setElementData(player,data[1],false)    
  234.         elseif data[1] =="humanity" then
  235.             setElementData(player,data[1],2500)    
  236.         else
  237.             setElementData(player,data[1],0)
  238.         end
  239.     end
  240.         account = getAccount(username)
  241.         local value = getAccounts()
  242.         local value = #value
  243.         setElementData(player,"playerID",value+1)
  244.         setAccountData(account,"playerID",value+1)
  245.         setElementData(player,"logedin",true)
  246.         createZombieTable (player)
  247. end
  248. addEvent("onPlayerDayZRegister", true)
  249. addEventHandler("onPlayerDayZRegister", getRootElement(), playerRegister)
  250.  
  251.  
  252. function saveAccounts () -- Save in the database
  253.     local account = getPlayerAccount(source)
  254.     if account then
  255.     for i,data in ipairs(playerDataTable) do
  256.         setAccountData(account,data[1],getElementData(source,data[1]))
  257.     end
  258.         local x,y,z =  getElementPosition(source)
  259.         setAccountData(account,"last_x",x)
  260.         setAccountData(account,"last_y",y)
  261.         setAccountData(account,"last_z",z)
  262.         destroyElement(getElementData(source,"playerCol"))
  263.     end
  264.     setElementData(source,"logedin",false)
  265. end
  266. addEventHandler ( "onPlayerQuit", getRootElement(), saveAccounts )
  267.  
  268. function saveAccounts2 () -- Save in the database
  269. for i, player in ipairs(getElementsByType("player")) do
  270.     local account = getPlayerAccount(player)
  271.     if account then
  272.     for i,data in ipairs(playerDataTable) do
  273.         setAccountData(account,data[1],getElementData(player,data[1]))
  274.     end
  275.         local x,y,z =  getElementPosition(player)
  276.         setAccountData(account,"last_x",x)
  277.         setAccountData(account,"last_y",y)
  278.         setAccountData(account,"last_z",z)
  279.     end
  280.     --setElementData(player,"logedin",false)
  281. end
  282. end
  283. addEventHandler ( "onResourceStop", getRootElement(), saveAccounts2 )
  284.  
  285. --------------------------------------------------------------------------------------------------------------
  286. --------------------------------------------------------------------------------------------------------------
  287. local vehicleDataTable = {
  288. {"MAX_Slots"},
  289. {"Tire_inVehicle"},
  290. {"Engine_inVehicle"},
  291. {"Parts_inVehicle"},
  292. {"fuel"},
  293. {"Wood Pile"},
  294. {"Bandage"},
  295. {"Water Bottle"},
  296. {"Pasta Can"},
  297. {"Beans Can"},
  298. {"Burger"},
  299. {"Box of Matches"},
  300. {"M1911 Mag"},
  301. {"M1911"},
  302. {"M9 SD"},
  303. {"Desert Eagle Mag"},
  304. {"Winchester 1866"},
  305. {"PDW"},
  306. {"Hunting Knife"},
  307. {"Morphine"},
  308. {"Hatchet"},
  309. {"Pizza"},
  310. {"Soda Bottle"},
  311. {"Empty Gas Canister"},
  312. {"Full Gas Canister"},
  313. {"Roadflare"},
  314. {"Milk"},
  315. {"PDW Mag"},
  316. {"MP5A5 Mag"},
  317. {"AK Mag"},
  318. {"M4 Mag"},
  319. {"Tear Gas"},
  320. {"Grenade"},
  321. {"Desert Eagle"},
  322. {"Sawn-Off Shotgun"},
  323. {"SPAZ-12 Combat Shotgun"},
  324. {"MP5A5"},
  325. {"Watch"},
  326. {"Medic Kit"},
  327. {"Heat Pack"},
  328. {"Lee Enfield"},
  329. --{"TEC-9"},
  330. {"AK-47"},
  331. --{"M136 Rocket Launcher"},
  332. {"Blood Bag"},
  333. {"GPS"},
  334. {"Map"},
  335. {"Toolbox"},
  336. {"Wire Fence"},
  337. {"Tire"},
  338. {"Engine"},
  339. {"Tank Parts"},
  340. {"M136 Rocket"},
  341. {"CZ 550 Mag"},
  342. {"Lee Enfield Mag"},
  343. {"M4"},
  344. {"CZ 550"},
  345. --{"Heat-Seeking RPG"},
  346. {"Satchel"},
  347. {"Infrared Goggles"},
  348. {"Night Vision Goggles"},
  349. {"Tent"},
  350. {"Raw Meat"},
  351. {"Cooked Meat"},
  352. {"Camouflage Clothing"},
  353. {"Ghillie Suit"},
  354. {"Civilian Clothing"},
  355. {"Survivor Clothing"},
  356. {"Painkiller"},
  357. {"Binoculars"},
  358. {"Empty Water Bottle"},
  359. {"Empty Soda Cans"},
  360. {"Scruffy Burgers"},
  361. {"1866 Slug"},
  362. {"2Rnd. Slug"},
  363. {"SPAZ-12 Pellet"},
  364. {"Assault Pack (ACU)"},
  365. {"Alice Pack"},
  366. {"Czech Backpack"},
  367. {"Coyote Backpack"},
  368. {"Radio Device"},
  369. {"Baseball Bat"},
  370. {"Shovel"},
  371. {"Golf Club"},
  372. {"Parachute"},
  373. }
  374.  
  375. --local vehicleManager = getAccount("vehicleManager","ds4f9$")
  376.     --if not vehicleManager then
  377.     --addAccount("vehicleManager","ds4f9$")
  378.     --end
  379.  
  380. function saveallvehicles(ps,command)
  381.     counter = 0
  382.     counterTent = 0
  383.     --delete Accounts
  384.     local vehicleManager = getAccount("vehicleManager","ds4f9$")
  385.     --for i = 1, (getAccountData(vehicleManager,"vehicleamount") or 0) do
  386.         --local account = getAccount("vehicle_number_"..i,"ds4f9$")
  387.         --if not account then break end
  388.         --removeAccount (account)
  389.     --end
  390.     --new Accounts + set
  391.     for i, col in ipairs (getElementsByType("colshape")) do
  392.         local veh = getElementData(col,"vehicle")
  393.         local helicrash = getElementData(col,"helicrash")
  394.         local hospitalbox = getElementData(col,"hospitalbox")
  395.         local tent = getElementData(col,"tent")
  396.         if veh and not helicrash or veh and not hospitalbox then
  397.         if tent then
  398.             counterTent = counterTent +1
  399.             account = getAccount("tent_number_"..counterTent,"ds4f9$") or false
  400.             if not account then
  401.                 account = addAccount("tent_number_"..counterTent,"ds4f9$")
  402.             end
  403.             local tent = getElementData(col,"parent")
  404.             local x,y,z = getElementPosition(tent)
  405.             local rx,ry,rz = getElementRotation(tent)
  406.             setAccountData(account,"last_x",x)
  407.             setAccountData(account,"last_y",y)
  408.             setAccountData(account,"last_z",z)
  409.             setAccountData(account,"last_rx",rx)
  410.             setAccountData(account,"last_ry",ry)
  411.             setAccountData(account,"last_rz",rz)
  412.             for i, data in ipairs(vehicleDataTable) do
  413.                 setAccountData(account,data[1],getElementData(col,data[1]))
  414.             end
  415.         else
  416.         counter = counter +1
  417.         account = getAccount("vehicle_number_"..counter,"ds4f9$") or false
  418.         if not account then
  419.             account = addAccount("vehicle_number_"..counter,"ds4f9$")
  420.         end
  421.             setAccountData(account,"spawn_x",getElementData(col,"spawn")[2])
  422.             setAccountData(account,"spawn_y",getElementData(col,"spawn")[3])
  423.             setAccountData(account,"spawn_z",getElementData(col,"spawn")[4])
  424.                 for i, data in ipairs(vehicleDataTable) do
  425.                     setAccountData(account,data[1],getElementData(col,data[1]))
  426.                 end
  427.         local vehicle = getElementData(col,"parent")
  428.         local model = getElementModel(vehicle)
  429.         local x,y,z = getElementPosition(vehicle)
  430.         local rx,ry,rz = getElementRotation(vehicle)
  431.         local health = getElementHealth(vehicle)
  432.         setAccountData(account,"last_x",x)
  433.         setAccountData(account,"last_y",y)
  434.         setAccountData(account,"last_z",z)
  435.         setAccountData(account,"last_rx",rx)
  436.         setAccountData(account,"last_ry",ry)
  437.         setAccountData(account,"last_rz",rz)
  438.         setAccountData(account,"health",health)
  439.         setAccountData(account,"model",model)
  440.         setAccountData(account,"isExploded",getElementData(vehicle,"isExploded") or false)
  441.         end
  442.         end
  443.         setAccountData(vehicleManager,"vehicleamount",counter)
  444.         setAccountData(vehicleManager,"tentamount",counterTent)
  445.     end
  446. end
  447. addEventHandler("onResourceStop", getResourceRootElement(getThisResource()), saveallvehicles)
  448.  
  449. function doBackup ()
  450.         outputChatBox ("Server Backup...",getRootElement(),27, 89, 224,true)
  451.         saveallvehicles()
  452.         outputChatBox ("Done!",getRootElement(),27, 89, 224,true)
  453. end
  454. function checkDoBackup ()
  455.     if gameplayVariables["backupenabled"] then
  456.         setTimer(doBackup,7200000,0)
  457.     end
  458. end
  459. checkDoBackup()
  460.  
  461. function createVehicleOnServerStart()
  462.     local vehicleManager = getAccount("vehicleManager","ds4f9$")
  463.     for i = 1, (getAccountData(vehicleManager,"vehicleamount") or 0) do
  464.         wastedVehicle = false
  465.         vehicle = getAccount("vehicle_number_"..i,"ds4f9$")
  466.         if not vehicle then break end
  467.         if getAccountData(vehicle,"isExploded") == true then
  468.             setAccountData(vehicle,"health",1000)
  469.             wastedVehicle = true
  470.         end
  471.             local veh = createVehicle(getAccountData(vehicle,"model"),getAccountData(vehicle,"last_x"),getAccountData(vehicle,"last_y"),getAccountData(vehicle,"last_z"),getAccountData(vehicle,"last_rx"),getAccountData(vehicle,"last_ry"),getAccountData(vehicle,"last_rz"))
  472.             vehCol = createColSphere(getAccountData(vehicle,"last_x"),getAccountData(vehicle,"last_y"),getAccountData(vehicle,"last_z"),4)
  473.             attachElements ( vehCol, veh, 0, 0, 0 )
  474.             setElementData(vehCol,"parent",veh)
  475.             setElementData(veh,"parent",vehCol)
  476.             setElementData(vehCol,"vehicle",true)
  477.             setElementData(vehCol,"MAX_Slots",getAccountData(vehicle,"MAX_Slots"))
  478.             setElementHealth(veh,getAccountData(vehicle,"health"))
  479.         --vehicle_indentifikation
  480.             xxx,yyy,zzz = getAccountData(vehicle,"spawn_x"),getAccountData(vehicle,"spawn_y"),getAccountData(vehicle,"spawn_z")
  481.             setElementData(vehCol,"spawn",{getAccountData(vehicle,"model"),xxx,yyy,zzz})
  482.             if wastedVehicle then
  483.                 if getAccountData(vehicle,"model") == 401 then
  484.                     item_id = math.random(table.size(hunterSpawns))
  485.                     xxx,yyy,zzz = hunterSpawns[item_id][1],hunterSpawns[item_id][2],hunterSpawns[item_id][3]
  486.                 end
  487.                 if getAccountData(vehicle,"model") == 602 then
  488.                     local item_id = math.random(table.size(maverikSpawns))
  489.                     x,y,z = maverikSpawns[item_id][1],maverikSpawns[item_id][2],maverikSpawns[item_id][3]
  490.                 end
  491.                 setElementPosition(veh,xxx,yyy,zzz+1)
  492.                 setElementRotation(veh,0,0,0)
  493.                 --Engine + Tires
  494.                 local tires,engine = getVehicleAddonInfos (getElementModel(veh))
  495.                 setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
  496.                 setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
  497.             end
  498.         --others
  499.             setElementData(vehCol,"fuel",getAccountData(vehicle,"fuel"))
  500.     if not wastedVehicle then
  501.         for i, data in ipairs(vehicleDataTable) do
  502.             setElementData(vehCol,data[1],getAccountData(vehicle,data[1]))
  503.         end
  504.     else
  505.         if getElementModel(veh) == 433 or getElementModel(veh) == 470 then
  506.             for i,items in ipairs(lootItems["helicrashsides"]) do
  507.                 local randomNumber = math.random(1,10)
  508.                 if randomNumber == 5 then
  509.                     setElementData(vehCol,items[1],math.random(1,2))
  510.                 end
  511.             end
  512.         end
  513.         setElementData(vehCol,"fuel",10)
  514.     end
  515.     end
  516.     for i = 1, (getAccountData(vehicleManager,"tentamount") or 0) do
  517.         tentData = getAccount("tent_number_"..i,"ds4f9$")
  518.         if not tentData then break end
  519.         tent = createObject(3243,getAccountData(tentData,"last_x"),getAccountData(tentData,"last_y"),getAccountData(tentData,"last_z"),0,0,(getAccountData(tentData,"last_rz") or 0))
  520.         setObjectScale(tent,1.3)
  521.         tentCol = createColSphere(getAccountData(tentData,"last_x"),getAccountData(tentData,"last_y"),getAccountData(tentData,"last_z"),4)
  522.         attachElements ( tentCol, tent, 0, 0, 0 )
  523.         setElementData(tentCol,"parent",tent)
  524.         setElementData(tent,"parent",tentCol)
  525.         setElementData(tentCol,"tent",true)
  526.         setElementData(tentCol,"vehicle",true)
  527.         setElementData(tentCol,"MAX_Slots",100)
  528.         for i, data in ipairs(vehicleDataTable) do
  529.             setElementData(tentCol,data[1],getAccountData(tentData,data[1]))
  530.         end
  531.     end
  532. end
  533. addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), createVehicleOnServerStart)
Add Comment
Please, Sign In to add comment