Advertisement
Guest User

Untitled

a guest
May 20th, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.59 KB | None | 0 0
  1. local rob = false
  2. local robbers = {}
  3. ESX = nil
  4.  
  5. TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
  6.  
  7. function get3DDistance(x1, y1, z1, x2, y2, z2)
  8. return math.sqrt(math.pow(x1 - x2, 2) + math.pow(y1 - y2, 2) + math.pow(z1 - z2, 2))
  9. end
  10.  
  11. RegisterServerEvent('esx_holdupatm:toofar')
  12. AddEventHandler('esx_holdupatm:toofar', function(robb)
  13. local source = source
  14. local xPlayers = ESX.GetPlayers()
  15. rob = false
  16. for i=1, #xPlayers, 1 do
  17. local xPlayer = ESX.GetPlayerFromId(xPlayers[i])
  18. if xPlayer.job.name == 'police' then
  19. TriggerClientEvent('esx:showNotification', xPlayers[i], _U('robbery_cancelled_at') .. Banks[robb].nameofbank)
  20. TriggerClientEvent('esx_holdupatm:killblip', xPlayers[i])
  21. end
  22. end
  23. if(robbers[source])then
  24. TriggerClientEvent('esx_holdupatm:toofarlocal', source)
  25. robbers[source] = nil
  26. TriggerClientEvent('esx:showNotification', source, _U('robbery_has_cancelled') .. Banks[robb].nameofbank)
  27. end
  28. end)
  29.  
  30. RegisterServerEvent('esx_holdupatm:rob')
  31. AddEventHandler('esx_holdupatm:rob', function(robb)
  32.  
  33. local source = source
  34. local xPlayer = ESX.GetPlayerFromId(source)
  35. local skruvmejsel = xPlayer.getInventoryItem('skruvmejsel')
  36. local xPlayers = ESX.GetPlayers()
  37.  
  38. if Banks[robb] then
  39.  
  40. local bank = Banks[robb]
  41.  
  42. if (os.time() - bank.lastrobbed) < 43200 and bank.lastrobbed ~= 0 then
  43.  
  44. TriggerClientEvent('esx:showNotification', source, _U('already_robbed') .. (2 - (os.time() - bank.lastrobbed)) .. _U('seconds'))
  45. return
  46. end
  47.  
  48.  
  49. local cops = 0
  50. for i=1, #xPlayers, 1 do
  51. local xPlayer = ESX.GetPlayerFromId(xPlayers[i])
  52. if xPlayer.job.name == 'police' then
  53. cops = cops + 1
  54. end
  55. end
  56.  
  57.  
  58. if rob == false then
  59.  
  60. if xPlayer.getInventoryItem('skruvmejsel').count >= 1 then
  61. xPlayer.removeInventoryItem('skruvmejsel', 1)
  62.  
  63. if(cops >= Config.NumberOfCopsRequired)then
  64.  
  65. rob = true
  66. for i=1, #xPlayers, 1 do
  67. local xPlayer = ESX.GetPlayerFromId(xPlayers[i])
  68. if xPlayer.job.name == 'police' then
  69. TriggerClientEvent('esx:showNotification', xPlayers[i], _U('rob_in_prog') .. bank.nameofbank)
  70. TriggerClientEvent('esx_holdupatm:setblip', xPlayers[i], Banks[robb].position)
  71. end
  72. end
  73.  
  74. TriggerClientEvent('esx:showNotification', source, _U('started_to_rob') .. bank.nameofbank .. _U('do_not_move'))
  75. TriggerClientEvent('esx:showNotification', source, _U('alarm_triggered'))
  76. TriggerClientEvent('esx:showNotification', source, _U('hold_pos'))
  77. TriggerClientEvent('esx_skruvmejsel:startDrill', source)
  78. TriggerClientEvent('esx_holdupatm:currentlyrobbing', source, robb)
  79. Banks[robb].lastrobbed = os.time()
  80. robbers[source] = robb
  81. local savedSource = source
  82. SetTimeout(600000, function()
  83.  
  84. if(robbers[savedSource])then
  85.  
  86. rob = false
  87. TriggerClientEvent('esx_holdupatm:robberycomplete', savedSource, job)
  88. if(xPlayer)then
  89.  
  90. xPlayer.addAccountMoney('black_money', bank.reward)
  91. local xPlayers = ESX.GetPlayers()
  92. for i=1, #xPlayers, 1 do
  93. local xPlayer = ESX.GetPlayerFromId(xPlayers[i])
  94. if xPlayer.job.name == 'police' then
  95. TriggerClientEvent('esx:showNotification', xPlayers[i], _U('robbery_complete_at') .. bank.nameofbank)
  96. TriggerClientEvent('esx_holdupatm:killblip', xPlayers[i])
  97. end
  98. end
  99. end
  100. end
  101. end)
  102. else
  103. TriggerClientEvent('esx:showNotification', source, _U('min_two_police') .. Config.NumberOfCopsRequired)
  104. end
  105. end
  106. else
  107. TriggerClientEvent('esx:showNotification', source, _U('robbery_already'))
  108. end
  109. end
  110. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement