diff --git a/atms.lua b/atms.lua index 4de767f..a78805b 100644 --- a/atms.lua +++ b/atms.lua @@ -176,7 +176,7 @@ Citizen.CreateThread(function() { options = { { event = "jim-payments:Client:ATM:use", icon = "fas fa-piggy-bank", label = "Use Bank", id = "bank" }, { event = "jim-payments:Client:ATM:use", icon = "fas fa-arrow-right-arrow-left", label = "Transfer Money", id = "transfer" }, { event = "jim-payments:Client:ATM:use", icon = "fas fa-money-check-dollar", label = "Access Savings", id = "savings" }, - + { event = "jim-payments:Client:ATM:use", icon = "fas fa-building", label = "Access Society Account", id = "society", job = bossroles }, { event = "jim-payments:Client:ATM:use", icon = "fas fa-arrow-right-arrow-left", label = "Society Money Transfer", id = "societytransfer", job = bossroles }, diff --git a/atmserver.lua b/atmserver.lua index e27d5d7..7a51313 100644 --- a/atmserver.lua +++ b/atmserver.lua @@ -26,7 +26,7 @@ RegisterServerEvent('jim-payments:server:ATM:use', function(amount, billtype, ba local cashB = Player.Functions.GetMoney("cash") local bankB = Player.Functions.GetMoney("bank") local amount = tonumber(amount) - --TriggerClientEvent("QBCore:Notify", src, tostring(account), "error") + --TriggerClientEvent("QBCore:Notify", src, tostring(account), "error") --Simple transfers from bank to wallet -- if account == "bank" or account == "atm" then @@ -79,14 +79,14 @@ RegisterServerEvent('jim-payments:server:ATM:use', function(amount, billtype, ba elseif tonumber(society) >= amount then TriggerClientEvent("QBCore:Notify", src, "Withdrew $"..cv(amount).." from the "..Player.PlayerData.job.label.." account", "success") Player.Functions.AddMoney('bank', amount) - exports["qb-management"]:RemoveMoney(tostring(Player.PlayerData.job.name), amount) - --TriggerEvent("qb-bossmenu:server:removeAccountMoney", tostring(Player.PlayerData.job.name), amount) + if Config.Manage then exports["qb-management"]:RemoveMoney(tostring(Player.PlayerData.job.name), amount) + else TriggerEvent("qb-bossmenu:server:removeAccountMoney", tostring(Player.PlayerData.job.name), amount) end end elseif billtype == "deposit" then if bankB < amount then TriggerClientEvent("QBCore:Notify", src, "Not enough money in your bank", "error") elseif bankB >= amount then - exports["qb-management"]:AddMoney(tostring(Player.PlayerData.job.name), amount) - --TriggerEvent("qb-bossmenu:server:addAccountMoney", tostring(Player.PlayerData.job.name), amount) + if Config.Manage then exports["qb-management"]:AddMoney(tostring(Player.PlayerData.job.name), amount) + else TriggerEvent("qb-bossmenu:server:addAccountMoney", tostring(Player.PlayerData.job.name), amount) end Player.Functions.RemoveMoney('bank', amount) Wait(1500) TriggerClientEvent("QBCore:Notify", src, "Deposited $"..cv(amount).." into the "..Player.PlayerData.job.label.." account", "success") end @@ -109,8 +109,8 @@ RegisterServerEvent('jim-payments:server:ATM:use', function(amount, billtype, ba local result = MySQL.Sync.fetchAll('SELECT * FROM players WHERE charinfo LIKE ?', {query}) if result[1] ~= nil then local Reciever = QBCore.Functions.GetPlayerByCitizenId(result[1].citizenid) - exports["qb-management"]:RemoveMoney(tostring(Player.PlayerData.job.name), amount) - --TriggerEvent("qb-bossmenu:server:removeAccountMoney", tostring(Player.PlayerData.job.name), amount) + if Config.Manage then exports["qb-management"]:RemoveMoney(tostring(Player.PlayerData.job.name), amount) + else TriggerEvent("qb-bossmenu:server:removeAccountMoney", tostring(Player.PlayerData.job.name), amount) end if Reciever ~= nil then Reciever.Functions.AddMoney('bank', amount) TriggerClientEvent("QBCore:Notify", src, "Sent $"..amount.." to "..Reciever.PlayerData.charinfo.firstname.." "..Reciever.PlayerData.charinfo.lastname, "success") @@ -131,14 +131,14 @@ RegisterServerEvent('jim-payments:server:ATM:use', function(amount, billtype, ba elseif tonumber(gsociety) >= amount then TriggerClientEvent("QBCore:Notify", src, "Withdrew $"..cv(amount).." from the "..Player.PlayerData.gang.label.." account", "success") Player.Functions.AddMoney('bank', amount) - exports["qb-management"]:RemoveGangMoney(tostring(Player.PlayerData.gang.name), amount) - --TriggerEvent("qb-gangmenu:server:removeAccountMoney", tostring(Player.PlayerData.gang.name), amount) + if Config.Manage then exports["qb-management"]:RemoveGangMoney(tostring(Player.PlayerData.gang.name), amount) + else TriggerEvent("qb-gangmenu:server:removeAccountMoney", tostring(Player.PlayerData.gang.name), amount) end end elseif billtype == "deposit" then if bankB < amount then TriggerClientEvent("QBCore:Notify", src, "Not enough money in your bank", "error") elseif bankB >= amount then - exports["qb-management"]:AddGangMoney(tostring(Player.PlayerData.gang.name), amount) - --TriggerEvent("qb-gangmenu:server:addAccountMoney", tostring(Player.PlayerData.gang.name), amount) + if Config.Manage then exports["qb-management"]:AddGangMoney(tostring(Player.PlayerData.gang.name), amount) + else TriggerEvent("qb-gangmenu:server:addAccountMoney", tostring(Player.PlayerData.gang.name), amount) end Player.Functions.RemoveMoney('bank', amount) Wait(1500) TriggerClientEvent("QBCore:Notify", src, "Deposited $"..cv(amount).." into the "..Player.PlayerData.gang.label.." account", "success") end @@ -161,8 +161,8 @@ RegisterServerEvent('jim-payments:server:ATM:use', function(amount, billtype, ba local result = MySQL.Sync.fetchAll('SELECT * FROM players WHERE charinfo LIKE ?', {query}) if result[1] ~= nil then local Reciever = QBCore.Functions.GetPlayerByCitizenId(result[1].citizenid) - exports["qb-management"]:RemoveGangMoney(tostring(Player.PlayerData.gang.name), amount) - --TriggerEvent("qb-bossmenu:server:removeAccountMoney", tostring(Player.PlayerData.gang.name), amount) + if Config.Manage then exports["qb-management"]:RemoveGangMoney(tostring(Player.PlayerData.gang.name), amount) + else TriggerEvent("qb-bossmenu:server:removeAccountMoney", tostring(Player.PlayerData.gang.name), amount) end if Reciever ~= nil then Reciever.Functions.AddMoney('bank', amount) TriggerClientEvent("QBCore:Notify", src, "Sent $"..amount.." to "..Reciever.PlayerData.charinfo.firstname.." "..Reciever.PlayerData.charinfo.lastname, "success") diff --git a/client.lua b/client.lua index f14ee95..9963a01 100644 --- a/client.lua +++ b/client.lua @@ -36,12 +36,12 @@ RegisterNetEvent('jim-payments:client:Charge', function(data) end if data.img == nil then img = "" else img = data.img end if nearbyList[#nearbyList] == nil then TriggerEvent("QBCore:Notify", "No one near by to charge", "error") return end - local dialog = exports['qb-input']:ShowInput({ header = img..PlayerJob.label.." Cash Register", submitText = "Send", - inputs = { - { text = " ", name = "citizen", type = "select", options = nearbyList }, - { type = 'radio', name = 'billtype', text = 'Payment Type', options = { { value = "cash", text = "Cash" }, { value = "bank", text = "Card" } } }, - { type = 'number', isRequired = true, name = 'price', text = '💵 Amount to Charge' },} - }) + local newinputs = {} + if Config.List then newinputs[#newinputs+1] = { text = " ", name = "citizen", type = "select", options = nearbyList } end + if not Config.List then newinputs[#newinputs+1] = { type = 'text', isRequired = true, name = 'citizen', text = '# Customer ID #' } end + newinputs[#newinputs+1] = { type = 'radio', name = 'billtype', text = 'Payment Type', options = { { value = "cash", text = "Cash" }, { value = "bank", text = "Card" } } } + newinputs[#newinputs+1] = { type = 'number', isRequired = true, name = 'price', text = '💵 Amount to Charge' } + local dialog = exports['qb-input']:ShowInput({ header = img..PlayerJob.label.." Cash Register", submitText = "Send", inputs = newinputs}) if dialog then if not dialog.citizen or not dialog.price then return end TriggerServerEvent('jim-payments:server:Charge', dialog.citizen, dialog.price, dialog.billtype, data.img) @@ -72,4 +72,4 @@ RegisterNetEvent("jim-payments:client:PayPopup", function(amount, biller, billty end) RegisterNetEvent('jim-payments:Tickets:Sell:yes', function() TriggerServerEvent('jim-payments:Tickets:Sell') end) -RegisterNetEvent('jim-payments:Tickets:Sell:no', function() exports['qb-menu']:closeMenu() end) +RegisterNetEvent('jim-payments:Tickets:Sell:no', function() exports['qb-menu']:closeMenu() end) \ No newline at end of file diff --git a/config.lua b/config.lua index e441582..21f2cc5 100644 --- a/config.lua +++ b/config.lua @@ -1,4 +1,4 @@ -print("Jim-Payments v2.2 - Payments Script by Jimathy") +print("Jim-Payments v2.3 - Payments Script by Jimathy") -- If you need support I now have a discord available, it helps me keep track of issues and give better support. @@ -6,8 +6,12 @@ print("Jim-Payments v2.2 - Payments Script by Jimathy") Config = {} -Config.TicketSystem = true -- Enable this if you want to use the ticket system +Config.Manage = true -- "true" if using qb-management + -- "false" if using qb-bossmenu + +Config.TicketSystem = true -- Enable this if you want to use the ticket system false +Config.List = true -- "true" to use nearby player list feature in the cash registers, "false" for manual id entry Config.PaymentRadius = 30 -- This is how far the playerlist will check for nearby players (based on the person charging) Config.useATM = true -- Enable this to use my ATM's diff --git a/fxmanifest.lua b/fxmanifest.lua index 1a17d05..b7446cc 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -1,6 +1,6 @@ name "Jim-Payments" author "Jimathy" -version "v2.2" +version "v2.3" description "Payment Script By Jimathy" fx_version "cerulean" game "gta5" @@ -8,7 +8,6 @@ game "gta5" dependencies { 'qb-input', 'qb-target', - 'qb-management' } client_scripts { diff --git a/server.lua b/server.lua index 5fc2ca5..edf93be 100644 --- a/server.lua +++ b/server.lua @@ -21,6 +21,7 @@ RegisterServerEvent('jim-payments:Tickets:Give', function(data, biller) if Player.PlayerData.citizenid == data.senderCitizenId then biller = Player end end end + -- If ticket system enabled, do this if Config.TicketSystem then if data.amount >= Config.Jobs[data.society].MinAmountforTicket then for k, v in pairs(QBCore.Functions.GetPlayers()) do @@ -113,9 +114,9 @@ RegisterServerEvent("jim-payments:server:PayPopup", function(data) local biller = QBCore.Functions.GetPlayer(tonumber(data.biller)) local newdata = { senderCitizenId = biller.PlayerData.citizenid, society = biller.PlayerData.job.name, amount = data.amount } if data.accept == true then - billed.Functions.RemoveMoney(tostring(data.billtype), data.amount) - exports["qb-management"]:AddMoney(tostring(biller.PlayerData.job.name), data.amount) - --TriggerEvent("qb-bossmenu:server:addAccountMoney", tostring(biller.PlayerData.job.name), data.amount) + billed.Functions.RemoveMoney(tostring(data.billtype), data.amount) + if Config.Manage then exports["qb-management"]:AddMoney(tostring(biller.PlayerData.job.name), data.amount) + else TriggerEvent("qb-bossmenu:server:addAccountMoney", tostring(biller.PlayerData.job.name), data.amount) end TriggerEvent('jim-payments:Tickets:Give', newdata, biller) TriggerClientEvent("QBCore:Notify", data.biller, billed.PlayerData.charinfo.firstname.." accepted the payment", "success") elseif data.accept == false then @@ -131,4 +132,4 @@ QBCore.Functions.CreateCallback('jim-payments:MakePlayerList', function(source, onlineList[#onlineList+1] = { value = tonumber(v), text = "["..v.."] - "..P.PlayerData.charinfo.firstname..' '..P.PlayerData.charinfo.lastname } end cb(onlineList) -end) +end) \ No newline at end of file