forked from Simnation/Main
73 lines
1.9 KiB
Lua
73 lines
1.9 KiB
Lua
![]() |
--[[ Main Server File]]
|
||
|
|
||
|
server = {
|
||
|
framework = shared.GetFrameworkObject(),
|
||
|
load = false,
|
||
|
}
|
||
|
|
||
|
local HackedAtms = {}
|
||
|
|
||
|
-- Loads module.bridge manage server-side functionality.
|
||
|
require 'modules.bridge.server'
|
||
|
|
||
|
local Utils = require 'modules.utils.server'
|
||
|
local Inventory = require 'modules.inventory.server'
|
||
|
|
||
|
--[[ functions ]]
|
||
|
|
||
|
function server.IsAtmHacked(model, coords)
|
||
|
for _, value in pairs(HackedAtms) do
|
||
|
if value.model == model and #(coords - value.coords) <= 0.1 then
|
||
|
return true
|
||
|
end
|
||
|
end
|
||
|
return false
|
||
|
end
|
||
|
|
||
|
function server.SetAtmHacked(model, coords, hacker)
|
||
|
if server.IsAtmHacked(model, coords) then return end
|
||
|
table.insert(HackedAtms, { model = model, coords = coords, hacker = hacker, time = os.time() })
|
||
|
end
|
||
|
|
||
|
--[[ events ]]
|
||
|
|
||
|
lib.callback.register(_e('server:IsAtmHacked'), function(source, model, coords)
|
||
|
print(model, coords, server.IsAtmHacked(model, coords))
|
||
|
return server.IsAtmHacked(model, coords)
|
||
|
end)
|
||
|
|
||
|
lib.callback.register(_e('server:HasItem'), function(source, itemName)
|
||
|
return Inventory.HasItem(source, itemName, 1)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent(_e('server:RemoveItem'), function(itemName)
|
||
|
local source = source
|
||
|
Inventory.RemoveItem(source, itemName, 1)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent(_e('server:GiveItem'), function(itemName, itemCount)
|
||
|
local source = source
|
||
|
Inventory.GiveItem(source, itemName, itemCount)
|
||
|
end)
|
||
|
|
||
|
--[[ threads ]]
|
||
|
|
||
|
Citizen.CreateThread(function()
|
||
|
while true do
|
||
|
local wait = 60000
|
||
|
local newHackedAtms = {}
|
||
|
|
||
|
for key, value in pairs(HackedAtms) do
|
||
|
local hackTime = value.time
|
||
|
local remainingTime = os.time() - hackTime
|
||
|
if remainingTime < Config.AtmCooldown then
|
||
|
table.insert(newHackedAtms, value)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
HackedAtms = newHackedAtms
|
||
|
|
||
|
Citizen.Wait(wait)
|
||
|
end
|
||
|
end)
|