forked from Simnation/Main
Update server.lua
This commit is contained in:
parent
6415d58612
commit
7b2fab60e1
1 changed files with 38 additions and 294 deletions
|
@ -616,68 +616,6 @@ AddEventHandler("okokBanking:DepositMoneyToSociety", function(amount, society, s
|
|||
end
|
||||
end)
|
||||
|
||||
RegisterServerEvent("okokBanking:DepositMoneyToSociety")
|
||||
AddEventHandler("okokBanking:DepositMoneyToSociety", function(amount, society, societyName)
|
||||
local _source = source
|
||||
local xPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
local playerMoney = xPlayer.PlayerData.money.cash
|
||||
local itemCash = xPlayer.Functions.GetItemByName("cash")
|
||||
local playerMoneyCash = 0
|
||||
if itemCash ~= nil then
|
||||
playerMoneyCash = itemCash.amount
|
||||
end
|
||||
|
||||
if amount <= playerMoney and not Config.UseCashAsItem or amount <= playerMoneyCash and Config.UseCashAsItem then
|
||||
if Config.UseQBManagement then
|
||||
exports['qb-management']:AddMoney(society, amount)
|
||||
elseif Config.UseQBBanking then
|
||||
-- Direct database update for qb-banking since export isn't available
|
||||
MySQL.query('UPDATE bank_accounts SET account_balance = account_balance + @amount WHERE account_name = @society', {
|
||||
['@amount'] = amount,
|
||||
['@society'] = society,
|
||||
}, function(changed)
|
||||
print("Updated bank account for " .. society .. " with amount " .. amount)
|
||||
end)
|
||||
else
|
||||
MySQL.query('UPDATE okokbanking_societies SET value = value + @value WHERE society = @society AND society_name = @society_name', {
|
||||
['@value'] = amount,
|
||||
['@society'] = society,
|
||||
['@society_name'] = societyName,
|
||||
}, function(changed)
|
||||
end)
|
||||
end
|
||||
|
||||
if Config.UseCashAsItem then
|
||||
xPlayer.Functions.RemoveItem('cash', amount)
|
||||
else
|
||||
xPlayer.Functions.RemoveMoney('cash', amount)
|
||||
end
|
||||
xPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
local itemCashUpdated = xPlayer.Functions.GetItemByName("cash")
|
||||
local playerMoneyCashUpdated = 0
|
||||
if itemCashUpdated ~= nil then
|
||||
playerMoneyCashUpdated = itemCashUpdated.amount
|
||||
end
|
||||
TriggerEvent('okokBanking:AddDepositTransactionToSociety', amount, _source, society, societyName)
|
||||
if Config.UseCashAsItem then
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, playerMoneyCashUpdated)
|
||||
else
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, xPlayer.PlayerData.money.cash)
|
||||
end
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('deposited_to').title, interp(_L('deposited_to').text, {s1 = amount, s2 = societyName}), _L('deposited_to').time, _L('deposited_to').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', _source, interp(_L('deposited_to').text, {s1 = amount, s2 = societyName}), _L('deposited_to').type)
|
||||
end
|
||||
TransferMoneyWebhook({sender_name = xPlayer.PlayerData.charinfo.firstname..' '..xPlayer.PlayerData.charinfo.lastname, receiver_name = societyName..' ('..society..')', value = amount})
|
||||
else
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('no_money_pocket').title, _L('no_money_pocket').text, _L('no_money_pocket').time, _L('no_money_pocket').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', _source, _L('no_money_pocket').text, _L('no_money_pocket').type)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterServerEvent("okokBanking:WithdrawMoneyToSociety")
|
||||
AddEventHandler("okokBanking:WithdrawMoneyToSociety", function(amount, society, societyName, societyMoney)
|
||||
|
@ -794,119 +732,6 @@ AddEventHandler("okokBanking:WithdrawMoneyToSociety", function(amount, society,
|
|||
end)
|
||||
|
||||
|
||||
RegisterServerEvent("okokBanking:WithdrawMoneyToSociety")
|
||||
AddEventHandler("okokBanking:WithdrawMoneyToSociety", function(amount, society, societyName, societyMoney)
|
||||
local _source = source
|
||||
local xPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
local db
|
||||
local hasChecked = false
|
||||
|
||||
if Config.UseQBManagement then
|
||||
MySQL.Async.fetchAll('SELECT * FROM management_funds WHERE job_name = @job_name', {
|
||||
['@job_name'] = society,
|
||||
}, function(result)
|
||||
db = result[1]
|
||||
hasChecked = true
|
||||
db.value = db.amount
|
||||
end)
|
||||
elseif Config.UseQBBanking then
|
||||
MySQL.Async.fetchAll('SELECT * FROM bank_accounts WHERE account_name = @account_name', {
|
||||
['@account_name'] = society,
|
||||
}, function(result)
|
||||
db = result[1]
|
||||
hasChecked = true
|
||||
db.value = db.account_balance
|
||||
end)
|
||||
else
|
||||
MySQL.query('SELECT * FROM okokbanking_societies WHERE society = @society', {
|
||||
['@society'] = society
|
||||
}, function(result)
|
||||
db = result[1]
|
||||
hasChecked = true
|
||||
end)
|
||||
end
|
||||
|
||||
if not Config.UseQBManagement then
|
||||
MySQL.query('UPDATE okokbanking_societies SET is_withdrawing = 1 WHERE society = @society AND society_name = @society_name', {
|
||||
['@value'] = amount,
|
||||
['@society'] = society,
|
||||
['@society_name'] = societyName,
|
||||
}, function(changed)
|
||||
end)
|
||||
end
|
||||
|
||||
while not hasChecked do
|
||||
Citizen.Wait(100)
|
||||
end
|
||||
|
||||
if amount <= db.value then
|
||||
if db.is_withdrawing == 1 then
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('someone_withdrawing').title, _L('someone_withdrawing').text, _L('someone_withdrawing').time, _L('someone_withdrawing').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', _source, _L('someone_withdrawing').text, _L('someone_withdrawing').type)
|
||||
end
|
||||
else
|
||||
if Config.UseQBManagement then
|
||||
exports['qb-management']:RemoveMoney(society, amount)
|
||||
elseif Config.UseQBBanking then
|
||||
-- Direct database update for qb-banking since export isn't available
|
||||
MySQL.query('UPDATE bank_accounts SET account_balance = account_balance - @amount WHERE account_name = @society', {
|
||||
['@amount'] = amount,
|
||||
['@society'] = society,
|
||||
}, function(changed)
|
||||
print("Updated bank account for " .. society .. " with withdrawal of " .. amount)
|
||||
end)
|
||||
else
|
||||
MySQL.query('UPDATE okokbanking_societies SET value = value - @value WHERE society = @society AND society_name = @society_name', {
|
||||
['@value'] = amount,
|
||||
['@society'] = society,
|
||||
['@society_name'] = societyName,
|
||||
}, function(changed)
|
||||
end)
|
||||
end
|
||||
|
||||
if Config.UseCashAsItem then
|
||||
xPlayer.Functions.AddItem('cash', amount)
|
||||
else
|
||||
xPlayer.Functions.AddMoney('cash', amount)
|
||||
end
|
||||
xPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
local itemCash = xPlayer.Functions.GetItemByName("cash")
|
||||
local PlayerCashMoney = 0
|
||||
if itemCash ~= nil then
|
||||
PlayerCashMoney = itemCash.amount
|
||||
end
|
||||
TriggerEvent('okokBanking:AddWithdrawTransactionToSociety', amount, _source, society, societyName)
|
||||
if Config.UseCashAsItem then
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, PlayerCashMoney)
|
||||
else
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, xPlayer.PlayerData.money.cash)
|
||||
end
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('you_have_withdrawn').title, interp(_L('you_have_withdrawn').text, {s1 = amount, s2 = societyName}), _L('you_have_withdrawn').time, _L('you_have_withdrawn').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', _source, interp(_L('you_have_withdrawn').text, {s1 = amount, s2 = societyName}), _L('you_have_withdrawn').type)
|
||||
end
|
||||
TransferMoneyWebhook({sender_name = societyName..' ('..society..')', receiver_name = xPlayer.PlayerData.charinfo.firstname..' '..xPlayer.PlayerData.charinfo.lastname, value = amount})
|
||||
end
|
||||
else
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('society_no_money').title, _L('society_no_money').text, _L('society_no_money').time, _L('society_no_money').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', _source, _L('society_no_money').text, _L('society_no_money').type)
|
||||
end
|
||||
end
|
||||
|
||||
if not Config.UseQBManagement then
|
||||
MySQL.query('UPDATE okokbanking_societies SET is_withdrawing = 0 WHERE society = @society AND society_name = @society_name', {
|
||||
['@value'] = amount,
|
||||
['@society'] = society,
|
||||
['@society_name'] = societyName,
|
||||
}, function(changed)
|
||||
end)
|
||||
end
|
||||
end)
|
||||
|
||||
RegisterServerEvent("okokBanking:TransferMoneyToSociety")
|
||||
AddEventHandler("okokBanking:TransferMoneyToSociety", function(amount, ibanNumber, societyName, society)
|
||||
|
@ -1054,91 +879,46 @@ function getSocietyInfo(society, iban)
|
|||
return societyInfo
|
||||
end
|
||||
|
||||
RegisterServerEvent("okokBanking:TransferMoneyToSociety")
|
||||
AddEventHandler("okokBanking:TransferMoneyToSociety", function(amount, ibanNumber, societyName, society)
|
||||
|
||||
|
||||
RegisterServerEvent("okokBanking:TransferMoneyToSocietyFromSociety")
|
||||
AddEventHandler("okokBanking:TransferMoneyToSocietyFromSociety", function(amount, ibanNumber, societyNameTarget, societyTarget, society, societyName, societyMoney)
|
||||
local _source = source
|
||||
local xPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
local playerMoney = xPlayer.PlayerData.money.bank
|
||||
local playerJob = xPlayer.PlayerData.job.name
|
||||
|
||||
if amount <= playerMoney then
|
||||
if Config.UseQBManagement then
|
||||
exports['qb-management']:AddMoney(society, amount)
|
||||
elseif Config.UseQBBanking then
|
||||
-- Direct database update for qb-banking since export isn't available
|
||||
MySQL.query('UPDATE bank_accounts SET account_balance = account_balance + @amount WHERE account_name = @society', {
|
||||
['@amount'] = amount,
|
||||
['@society'] = society,
|
||||
}, function(changed)
|
||||
print("Updated bank account for " .. society .. " with transfer of " .. amount)
|
||||
end)
|
||||
else
|
||||
MySQL.query('UPDATE okokbanking_societies SET value = value + @value WHERE iban = @iban', {
|
||||
['@value'] = amount,
|
||||
['@iban'] = ibanNumber
|
||||
}, function(changed)
|
||||
end)
|
||||
end
|
||||
|
||||
xPlayer.Functions.RemoveMoney('bank', amount)
|
||||
xPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
local itemCash = xPlayer.Functions.GetItemByName("cash")
|
||||
local playerCashMoney = 0
|
||||
if itemCash ~= nil then
|
||||
playerCashMoney = itemCash.amount
|
||||
end
|
||||
TriggerEvent('okokBanking:AddTransferTransactionToSociety', amount, _source, society, societyName)
|
||||
if Config.UseCashAsItem then
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, playerCashMoney)
|
||||
TriggerClientEvent('okokBanking:updateTransactions', _source, xPlayer.PlayerData.money.bank, playerCashMoney)
|
||||
TriggerClientEvent('okokBanking:updateMoney', _source, xPlayer.PlayerData.money.bank, playerCashMoney)
|
||||
else
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, xPlayer.PlayerData.money.cash)
|
||||
TriggerClientEvent('okokBanking:updateTransactions', _source, xPlayer.PlayerData.money.bank, xPlayer.PlayerData.money.cash)
|
||||
TriggerClientEvent('okokBanking:updateMoney', _source, xPlayer.PlayerData.money.bank, xPlayer.PlayerData.money.cash)
|
||||
end
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('transferred_to').title, interp(_L('transferred_to').text, {s1 = amount, s2 = societyName}), _L('transferred_to').time, _L('transferred_to').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', _source, interp(_L('transferred_to').text, {s1 = amount, s2 = societyName}), _L('transferred_to').type)
|
||||
end
|
||||
TransferMoneyWebhook({sender_name = xPlayer.PlayerData.charinfo.firstname..' '..xPlayer.PlayerData.charinfo.lastname, receiver_name = societyName..' ('..society..')', value = amount})
|
||||
else
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('no_money_bank').title, _L('no_money_bank').text, _L('no_money_bank').time, _L('no_money_bank').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', _source, _L('no_money_bank').text, _L('no_money_bank').type)
|
||||
end
|
||||
if society ~= playerJob then
|
||||
return
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
RegisterServerEvent("okokBanking:TransferMoneyToPlayerFromSociety")
|
||||
AddEventHandler("okokBanking:TransferMoneyToPlayerFromSociety", function(amount, ibanNumber, targetIdentifier, acc, targetName, society, societyName, societyMoney, toMyself)
|
||||
local _source = source
|
||||
local xPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
local itemCash = xPlayer.Functions.GetItemByName("cash")
|
||||
local playerCashMoney = 0
|
||||
if itemCash ~= nil then
|
||||
playerCashMoney = itemCash.amount
|
||||
end
|
||||
local xTarget = QBCore.Functions.GetPlayerByCitizenId(targetIdentifier)
|
||||
local itemCashTarget = xTarget and xTarget.Functions.GetItemByName("cash")
|
||||
local playerCashMoneyTarget = 0
|
||||
if itemCashTarget ~= nil then
|
||||
playerCashMoneyTarget = itemCashTarget.amount
|
||||
end
|
||||
local xPlayers = QBCore.Functions.GetPlayers()
|
||||
|
||||
if amount <= societyMoney then
|
||||
local societyInfo = getSocietyInfo(society, ibanNumber)
|
||||
|
||||
if amount <= societyInfo.value then
|
||||
if Config.UseQBManagement then
|
||||
exports['qb-management']:RemoveMoney(society, amount)
|
||||
exports['qb-management']:AddMoney(societyTarget, amount)
|
||||
elseif Config.UseQBBanking then
|
||||
-- Direct database update for qb-banking since export isn't available
|
||||
MySQL.query('UPDATE bank_accounts SET account_balance = account_balance - @amount WHERE account_name = @society', {
|
||||
['@amount'] = amount,
|
||||
['@society'] = society,
|
||||
}, function(changed)
|
||||
print("Updated bank account for " .. society .. " with withdrawal of " .. amount)
|
||||
print("Updated source bank account for " .. society .. " with transfer of " .. amount)
|
||||
|
||||
MySQL.query('UPDATE bank_accounts SET account_balance = account_balance + @amount WHERE account_name = @society', {
|
||||
['@amount'] = amount,
|
||||
['@society'] = societyTarget,
|
||||
}, function(changed)
|
||||
print("Updated target bank account for " .. societyTarget .. " with transfer of " .. amount)
|
||||
end)
|
||||
end)
|
||||
else
|
||||
MySQL.query('UPDATE okokbanking_societies SET value = value - @value WHERE society = @society AND society_name = @society_name', {
|
||||
|
@ -1146,64 +926,27 @@ AddEventHandler("okokBanking:TransferMoneyToPlayerFromSociety", function(amount,
|
|||
['@society'] = society,
|
||||
['@society_name'] = societyName,
|
||||
}, function(changed)
|
||||
MySQL.query('UPDATE okokbanking_societies SET value = value + @value WHERE society = @society AND society_name = @society_name', {
|
||||
['@value'] = amount,
|
||||
['@society'] = societyTarget,
|
||||
['@society_name'] = societyNameTarget,
|
||||
}, function(changed)
|
||||
end)
|
||||
end)
|
||||
end
|
||||
if xTarget ~= nil then
|
||||
xTarget.Functions.AddMoney('bank', amount)
|
||||
if not toMyself then
|
||||
for i=1, #xPlayers, 1 do
|
||||
local xForPlayer = QBCore.Functions.GetPlayer(xPlayers[i])
|
||||
if xForPlayer.PlayerData.citizenid == targetIdentifier then
|
||||
if Config.UseCashAsItem then
|
||||
TriggerClientEvent('okokBanking:updateTransactions', xPlayers[i], xTarget.PlayerData.money.bank, playerCashMoneyTarget)
|
||||
else
|
||||
TriggerClientEvent('okokBanking:updateTransactions', xPlayers[i], xTarget.PlayerData.money.bank, xTarget.PlayerData.money.cash)
|
||||
end
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', xPlayers[i], _L('received_from').title, interp(_L('received_from').text, {s1 = amount, s2 = xPlayer.PlayerData.charinfo.firstname..' '..xPlayer.PlayerData.charinfo.lastname}), _L('received_from').time, _L('received_from').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', xPlayers[i], interp(_L('received_from').text, {s1 = amount, s2 = xPlayer.PlayerData.charinfo.firstname..' '..xPlayer.PlayerData.charinfo.lastname}), _L('received_from').type)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
TriggerEvent('okokBanking:AddTransferTransactionFromSocietyToP', amount, society, societyName, targetIdentifier, targetName)
|
||||
if Config.UseCashAsItem then
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, playerCashMoney)
|
||||
else
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, xPlayer.PlayerData.money.cash)
|
||||
end
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('transferred_to').title, interp(_L('transferred_to').text, {s1 = amount, s2 = xPlayer.PlayerData.charinfo.firstname..' '..xPlayer.PlayerData.charinfo.lastname}), _L('transferred_to').time, _L('transferred_to').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', _source, interp(_L('transferred_to').text, {s1 = amount, s2 = xPlayer.PlayerData.charinfo.firstname..' '..xPlayer.PlayerData.charinfo.lastname}), _L('transferred_to').type)
|
||||
end
|
||||
TransferMoneyWebhook({sender_name = societyName..' ('..society..')', receiver_name = xTarget.PlayerData.charinfo.firstname..' '..xTarget.PlayerData.charinfo.lastname, value = amount})
|
||||
elseif xTarget == nil then
|
||||
local playerAccount = json.decode(acc)
|
||||
playerAccount.bank = playerAccount.bank + amount
|
||||
playerAccount = json.encode(playerAccount)
|
||||
|
||||
TriggerEvent('okokBanking:AddTransferTransactionFromSocietyToP', amount, society, societyName, targetIdentifier, targetName)
|
||||
if Config.UseCashAsItem then
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, playerCashMoney)
|
||||
else
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, xPlayer.PlayerData.money.cash)
|
||||
end
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('transferred_to').title, interp(_L('transferred_to').text, {s1 = amount, s2 = targetName }), _L('transferred_to').time, _L('transferred_to').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', _source, interp(_L('transferred_to').text, {s1 = amount, s2 = targetName }), _L('transferred_to').type)
|
||||
end
|
||||
TransferMoneyWebhook({sender_name = societyName..' ('..society..')', receiver_name = targetName..' (Offline User)', value = amount})
|
||||
|
||||
MySQL.query('UPDATE players SET money = @playerAccount WHERE citizenid = @target', {
|
||||
['@playerAccount'] = playerAccount,
|
||||
['@target'] = targetIdentifier
|
||||
}, function(changed)
|
||||
|
||||
end)
|
||||
TriggerEvent('okokBanking:AddTransferTransactionFromSociety', amount, society, societyName, societyTarget, societyNameTarget)
|
||||
if Config.UseCashAsItem then
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, playerCashMoney)
|
||||
else
|
||||
TriggerClientEvent('okokBanking:updateTransactionsSociety', _source, xPlayer.PlayerData.money.cash)
|
||||
end
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('transferred_to').title, interp(_L('transferred_to').text, {s1 = amount, s2 = societyNameTarget}), _L('transferred_to').time, _L('transferred_to').type)
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', _source, interp(_L('transferred_to').text, {s1 = amount, s2 = societyNameTarget}), _L('transferred_to').type)
|
||||
end
|
||||
TransferMoneyWebhook({sender_name = societyName..' ('..society..')', receiver_name = societyNameTarget..' ('..societyTarget..')', value = amount})
|
||||
else
|
||||
if Config.okokNotify then
|
||||
TriggerClientEvent('okokNotify:Alert', _source, _L('society_no_money').title, _L('society_no_money').text, _L('society_no_money').time, _L('society_no_money').type)
|
||||
|
@ -1216,6 +959,7 @@ end)
|
|||
|
||||
|
||||
|
||||
|
||||
RegisterServerEvent("okokBanking:TransferMoneyToPlayerFromSociety")
|
||||
AddEventHandler("okokBanking:TransferMoneyToPlayerFromSociety", function(amount, ibanNumber, targetIdentifier, acc, targetName, society, societyName, societyMoney, toMyself)
|
||||
local _source = source
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue