ESX.StartPayCheck = function() function payCheck() local xPlayers = ESX.GetPlayers() for i=1, #xPlayers, 1 do local xPlayer = ESX.GetPlayerFromId(xPlayers[i]) local job = xPlayer.job.grade_name local salary = xPlayer.job.grade_salary if salary > 0 then if job == 'unemployed' then -- unemployed xPlayer.addAccountMoney('bank', salary) TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, _U('bank'), _U('recived_money'), _U('recived_help', salary), 'CHAR_BANK_MAZE', 9) elseif job == 'employee' then -- generic job, not a society xPlayer.addAccountMoney('bank', salary) TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, _U('bank'), _U('recived_money'), _U('recived_salary', salary), 'CHAR_BANK_MAZE', 9) else -- possibly a society TriggerEvent('esx_society:getSociety', xPlayer.job.name, function (society) if society ~= nil then -- verified society TriggerEvent('esx_addonaccount:getSharedAccount', society.account, function (account) if account.money >= salary then -- does the society money to pay its employees? xPlayer.addAccountMoney('bank', salary) account.removeMoney(salary) TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, _U('bank'), _U('recived_money'), _U('recived_salary', salary), 'CHAR_BANK_MAZE', 9) else TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, _U('bank'), '', _U('company_nomoney'), 'CHAR_BANK_MAZE', 1) end end) else -- not a society, use 'employee' as grade name! xPlayer.addAccountMoney('bank', salary) TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, _U('bank'), _U('recived_money'), _U('recived_salary', salary), 'CHAR_BANK_MAZE', 9) end end) end end end SetTimeout(Config.PaycheckInterval, payCheck) end SetTimeout(Config.PaycheckInterval, payCheck) end