Nelsonnn

Spawn.lua

Nov 11th, 2018
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.09 KB | None | 0 0
  1. function spawnDayZPlayer(player)
  2.     local number = math.random(table.size(spawnPositions))
  3.     local x,y,z = spawnPositions[number][1],spawnPositions[number][2],spawnPositions[number][3]
  4.     spawnPlayer (player, x,y,z, math.random(0,360), 0, 0, 0)
  5.     setElementFrozen(player, true)
  6.     fadeCamera (player, true)
  7.     setCameraTarget (player, player)
  8.     setTimer( function(player)
  9.         if isElement(player) then
  10.             setElementFrozen(player, false)
  11.         end
  12.     end,500,1,player)
  13.     playerCol = createColSphere(x,y,z,1.5)
  14.     setElementData(player,"playerCol",playerCol)
  15.     attachElements ( playerCol, player, 0, 0, 0 )
  16.     setElementData(playerCol,"parent",player)
  17.     setElementData(playerCol,"player",true)
  18.     local account = getPlayerAccount(player)
  19.     setAccountData(account,"isDead",false)
  20.     setElementData(player,"isDead",false)
  21.     setElementData(player,"logedin",true)
  22.     setElementData(player,"admin",getAccountData(account,"admin") or false)
  23.     setElementData(player,"supporter",getAccountData(account,"supporter") or false)
  24.     for i,data in ipairs(playerDataTable) do
  25.         setElementData(player,data[1],data[2])
  26.     end
  27. end
  28.  
  29. function notifyAboutExplosion2()
  30.     for i,player in pairs(getVehicleOccupants(source)) do
  31.         triggerEvent("kilLDayZPlayer",player)
  32.     end
  33. end
  34. addEventHandler("onVehicleExplode", getRootElement(), notifyAboutExplosion2)
  35.  
  36. function destroyDeadPlayer (ped,pedCol)
  37.     destroyElement(ped)
  38.     destroyElement(pedCol)
  39. end
  40.  
  41. function kilLDayZPlayer (killer,headshot,weapon)
  42.     if getElementData(source,"isDead") then return end
  43.     setElementData(source,"isDead",true)
  44.     setElementData(source,"pain",0)
  45.     if getPedOccupiedVehicle ( source ) then removePedFromVehicle ( source ) end
  46.     pedCol = false
  47.     local account = getPlayerAccount(source)
  48.     if not account then return end
  49.     killPed(source)
  50.     triggerClientEvent(source,"hideInventoryManual",source)
  51.     if getElementData(source,"alivetime") > 1 then
  52.         if not isElementInWater(source) then
  53.             local x,y,z = getElementPosition(source)
  54.             if getDistanceBetweenPoints3D (x,y,z,6000,6000,0) > 200 then
  55.                 local x,y,z = getElementPosition(source)
  56.                 local rotX,rotY,rotZ = getElementRotation(source)
  57.                 local skin = getElementModel(source)
  58.                 local ped = createPed(skin,x,y,z,rotZ)
  59.                 setElementData ( ped, "cloth0", getElementData ( source, "cloth0" ) or 0 )
  60.                 setElementData ( ped, "cloth2", getElementData ( source, "cloth2" ) or 0 )
  61.                 setElementData ( ped, "cloth3", getElementData ( source, "cloth3" ) or 0 )
  62.                 setElementData ( ped, "cloth15", getElementData ( source, "cloth15" ) or 0 )
  63.                 setElementData ( ped, "cloth16", getElementData ( source, "cloth16" ) or 0 )
  64.                 pedCol = createColSphere(x,y,z,1.5)
  65.                 triggerClientEvent ( "updatePlayerClothes", ped, skin )
  66.                 killPed(ped)
  67.                 setTimer(destroyDeadPlayer,3600000*0.75,1,ped,pedCol)
  68.                 attachElements (pedCol,ped,0,0,0)
  69.                 setElementData(pedCol,"parent",ped)
  70.                 setElementData(pedCol,"playername",getPlayerName(source))
  71.                 setElementData(pedCol,"deadman",true)
  72.                 setElementData(pedCol,"MAX_Slots",getElementData(source,"MAX_Slots"))
  73.                 local time = getRealTime()
  74.                 local hours = time.hour
  75.                 local minutes = time.minute
  76.                 setElementData(pedCol,"deadreason",getPlayerName(source).." Dead! DeadReason: "..(weapon or "Other")..". Time Death: "..hours..":"..minutes.." Time.")
  77.             end
  78.         end
  79.     end
  80.     if killer then
  81.         if not getElementData(source,"bandit") then
  82.             addPlayerStats (killer,"humanity",math.random(-2500,-1000))
  83.         else
  84.             addPlayerStats (killer,"humanity",math.random(1000,2500))
  85.         end
  86.         setElementData(killer,"murders",getElementData(killer,"murders")+1)
  87.         setElementData(killer,"murders_total",( getElementData(killer,"murders_total") or getElementData(killer,"murders") )+1)
  88.         if getElementData(killer,"humanity") < 0 then
  89.             setElementData(killer,"bandit",true)
  90.         end
  91.         if getElementData(source,"bandit") == true then
  92.             setElementData(killer,"banditskilled",getElementData(killer,"banditskilled")+1)
  93.         end
  94.         if headshot == true then
  95.             setElementData(killer,"headshots",getElementData(killer,"headshots")+1)
  96.         end
  97.     end
  98.     if pedCol then
  99.         for i,data in ipairs(playerDataTable) do
  100.             local plusData = getElementData(source,data[1])
  101.             if data[1] == "MAG:M1911" then
  102.                 plusData = math.floor(getElementData(source,data[1])/7)
  103.             elseif data[1] == "MAG:M9 SD" then
  104.                 plusData = math.floor(getElementData(source,data[1])/15)
  105.             elseif data[1] == "Revolver MAG" then
  106.                 plusData = math.floor(getElementData(source,data[1])/7)
  107.             elseif data[1] == "PDW MAG:PDW" then
  108.                 plusData = math.floor(getElementData(source,data[1])/30)
  109.             elseif data[1] == "MAG:MP5A5 " then
  110.                 plusData = math.floor(getElementData(source,data[1])/20)
  111.             elseif data[1] == "MAGS:AK" then
  112.                 plusData = math.floor(getElementData(source,data[1])/30)
  113.             elseif data[1] == "MAGS:M4A11" then
  114.                 plusData = math.floor(getElementData(source,data[1])/30)
  115.             elseif data[1] == "Pack:1866 Slug" then
  116.                 plusData = math.floor(getElementData(source,data[1])/7)
  117.             elseif data[1] == "Pack:2Rnd. Slug" then
  118.                 plusData = math.floor(getElementData(source,data[1])/2)
  119.             elseif data[1] == "Pack:SPAZ-12 Pellet" then
  120.                 plusData = math.floor(getElementData(source,data[1])/7)
  121.             elseif data[1] == "MAG:CZ550 " then
  122.                 plusData = math.floor(getElementData(source,data[1])/5)
  123.             elseif data[1] == "MAG:Lee Enfield " then
  124.                 plusData = math.floor(getElementData(source,data[1])/10)
  125.             elseif data[1] == "Магазин MAG:G36 " then
  126.                 plusData = math.floor(getElementData(source,data[1])/30)
  127.             elseif data[1] == "BELT MAG:PKP " then
  128.                 plusData = math.floor(getElementData(source,data[1])/100)
  129.             elseif data[1] == "BELT MAG:PKM " then
  130.                 plusData = math.floor(getElementData(source,data[1])/100)
  131.             elseif data[1] == "MAG:AUG " then
  132.                 plusData = math.floor(getElementData(source,data[1])/30)
  133.             elseif data[1] == "BELT MAG:M240" then
  134.                 plusData = math.floor(getElementData(source,data[1])/200)
  135.             elseif data[1] == "BELT MAG:RPK" then
  136.                 plusData = math.floor(getElementData(source,data[1])/70)
  137.             elseif data[1] == "BELT MAG:MK48 " then
  138.                 plusData = math.floor(getElementData(source,data[1])/100)
  139.             elseif data[1] == "BELT MAG:M249" then
  140.                 plusData = math.floor(getElementData(source,data[1])/100)
  141.             elseif data[1] == "MAG:AS50 " then
  142.                 plusData = math.floor(getElementData(source,data[1])/5)
  143.             elseif data[1] == "MAG:M24 " then
  144.                 plusData = math.floor(getElementData(source,data[1])/5)
  145.             elseif data[1] == "MAG:DMR  " then
  146.                 plusData = math.floor(getElementData(source,data[1])/7)
  147.             elseif data[1] == "MAG:KSVK  " then
  148.                 plusData = math.floor(getElementData(source,data[1])/10)
  149.             elseif data[1] == "MAG:M107  " then
  150.                 plusData = math.floor(getElementData(source,data[1])/5)
  151.             elseif data[1] == "MAG:SVD" then
  152.                 plusData = math.floor(getElementData(source,data[1])/5)
  153.             elseif data[1] == "BELT MAG:MG36" then
  154.                 plusData = math.floor(getElementData(source,data[1])/100)
  155.             elseif data[1] == "BELT MAG:L85A22 " then
  156.                 plusData = math.floor(getElementData(source,data[1])/30)
  157.             elseif data[1] == "MAG:SCAR" then
  158.                 plusData = math.floor(getElementData(source,data[1])/30)
  159.             elseif data[1] == "MAG:M200" then
  160.                 plusData = math.floor(getElementData(source,data[1])/5)
  161.             elseif data[1] == "MAG:VSS"," then
  162.                 plusData = math.floor(getElementData(source,data[1])/5)
  163.             elseif data[1] == "MAG:DSRF" then
  164.                 plusData = math.floor(getElementData(source,data[1])/5)
  165.             elseif data[1] == "BELT MAG:PCA  " then
  166.                 plusData = math.floor(getElementData(source,data[1])/100)
  167.             end
  168.             setElementData(pedCol,data[1],plusData)
  169.         end
  170.     end
  171.     setTimer(setElementPosition,500,1,source,6000,6000,0)
  172.     triggerClientEvent(source,"onClientPlayerDeathInfo",source)
  173.     setAccountData(account,"isDead",true)
  174.     setElementData(source,"isDead",true)
  175.     triggerClientEvent ( "onRollMessageStart", getRootElement(),"#FFFFFF"..getPlayerName(source).." #FF0000был убит",0,22,255, "died")
  176.     if isElement(getElementData(source,"playerCol")) then
  177.         destroyElement(getElementData(source,"playerCol"))
  178.     end
  179.     setTimer(spawnDayZPlayer,5000,1,source)
  180. end
  181. addEvent("kilLDayZPlayer",true)
  182. addEventHandler("kilLDayZPlayer",getRootElement(),kilLDayZPlayer)
Advertisement
Add Comment
Please, Sign In to add comment