mirror of
https://github.com/jimathy/jim-payments.git
synced 2026-08-16 22:06:02 +01:00
Update README.md
This commit is contained in:
233
README.md
233
README.md
@@ -1,213 +1,28 @@
|
|||||||
# jim-payments
|
# jim-payments
|
||||||
- QBCore based payment system
|
|
||||||
- Enchanced QB-Input payment system from my other scripts now free on its own
|
## FiveM MuliFramework based payment system
|
||||||
|
|
||||||
|
- Highly customisable via config.lua
|
||||||
|
- Locations are easily changeable/removable
|
||||||
|
|
||||||
|
- Features:
|
||||||
|
- Payment Tickets for successful payments over a specific amount player can cash in for extra bonus
|
||||||
|
- ATM's become usable, with options to show them on your map when nearby
|
||||||
|
- Adds Ped bank targets where players can manage their bank account balances
|
||||||
|
- Supports police charges
|
||||||
|
- Supports
|
||||||
|
- QB-Core
|
||||||
|
- ESX
|
||||||
|
- QBOX
|
||||||
|
- OX_Core
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Installation and Usage:
|
||||||
|
## [JixelPatterns GitBook Documentation](https://jixelpatterns.gitbook.io/docs)
|
||||||
|
|
||||||
### If you need support I have a discord server available, it helps me keep track of issues and give better support.
|
### If you need support I have a discord server available, it helps me keep track of issues and give better support.
|
||||||
## https://discord.gg/xKgQZ6wZvS
|
## [JixelPatterns Discord](https://discord.gg/9pCDHmjYwd)
|
||||||
|
|
||||||
### We also have Documentation over on Gitbook, feel free to check it out
|
### If you think I did a good job here, consider donating as it keeps by lights on and my cat round:
|
||||||
## https://jixelpatterns.gitbook.io/jixelpatterns-script-guide/overview/who-we-are
|
## [JixelPatterns Kofi](https://ko-fi.com/jixelpatterns)
|
||||||
|
|
||||||
### If you think I did a good job here, consider donating as it keeps by lights on and my cat fat/floofy:
|
|
||||||
## https://ko-fi.com/jixelpatterns
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
- If you use a different phone/invoice system let me know and I will add support for it as best I can!
|
|
||||||
- Currently supported are:
|
|
||||||
- qb-phone
|
|
||||||
- gks-phone
|
|
||||||
- qs-smartphone - Leave the setting as "qb"
|
|
||||||
|
|
||||||
---
|
|
||||||
# Installation
|
|
||||||
---
|
|
||||||
- I always recommend starting my scripts AFTER `[qb]` not inside it as it can mess with any dependancies on server load
|
|
||||||
- I have a separate folder called `[jim]` (that is also in the resources folder) that starts WAY after everything else.
|
|
||||||
- This ensure's it has everything it requires before trying to load
|
|
||||||
- Example of my load order:
|
|
||||||
```CSS
|
|
||||||
# QBCore & Extra stuff
|
|
||||||
ensure qb-core
|
|
||||||
ensure [qb]
|
|
||||||
ensure [standalone]
|
|
||||||
ensure [voice]
|
|
||||||
ensure [defaultmaps]
|
|
||||||
ensure [vehicles]
|
|
||||||
#Extra Jim Stuff
|
|
||||||
ensure [jim]
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
## BZZ Terminal Instructions
|
|
||||||
|
|
||||||
If you enable Config.General.Usebzzz then the script will use `bzzz_terminal` to automatically create a prop and animation when using the commands:
|
|
||||||
- `/cashregister`
|
|
||||||
- `/terminal`
|
|
||||||
|
|
||||||
This is also available as an item users can use by adding this to your shared items
|
|
||||||
```lua
|
|
||||||
terminal = { name = 'terminal', label = 'Wireless Terminal', weight = 5000, ["type"] = "item", ["image"] = 'terminal.png', unique = true, useable = true, ["shouldClose"] = true, ["combinable"] = nil, description = '' },
|
|
||||||
```
|
|
||||||
|
|
||||||
This payment terminal prop is available as a Free Package from https://bzzz.tebex.io/package/5551076
|
|
||||||
|
|
||||||
---
|
|
||||||
## Item installation
|
|
||||||
- To make use of the ticket reward system for workers you need to add the ticket item to your shared items lua
|
|
||||||
- Naviage to `[qb] > qb-core / shared / items.lua` and add this line
|
|
||||||
```lua
|
|
||||||
payticket = { name = "payticket", label = "Receipt", weight = 10, type = "item", image = "ticket.png", unique = false, useable = false, shouldClose = false, description = "Cash these in at the bank!" },
|
|
||||||
```
|
|
||||||
|
|
||||||
- Add the ticket image to your inventory script:
|
|
||||||
- Naviage to `[qb] > qb-inventory > html > images` and add this line
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
---
|
|
||||||
## Phone Setup
|
|
||||||
- There are two modes in the script, one that uses the phone for invoices/bank charges
|
|
||||||
- The script supports many features like pay tickets, commission payments etc.
|
|
||||||
- If you want to use phone systems for these then you need to add the event for when a payment is accepted:
|
|
||||||
- REMINDER: IF using phone invoices, the money being added to the society accounts is handled `BY THE PHONE`, not by my script. If money isn't going to the account its the phone system or bossmenu script.
|
|
||||||
|
|
||||||
#### QB-Phone:
|
|
||||||
- Go to `[qb] > qb-phone > client > main.lua`
|
|
||||||
- Search for the event `RegisterNUICallback('PayInvoice', function(data, cb)` and look for the line:
|
|
||||||
```lua
|
|
||||||
TriggerServerEvent('qb-phone:server:BillingEmail', data, true)
|
|
||||||
```
|
|
||||||
|
|
||||||
- Directly *above* this line add:
|
|
||||||
```lua
|
|
||||||
TriggerServerEvent('jim-payments:Tickets:Give', data)
|
|
||||||
```
|
|
||||||
- The phone should now be integrated with jim-payments
|
|
||||||
|
|
||||||
#### GKS-Phone:
|
|
||||||
- Go to `gks-phone > server > serverapi.lua`
|
|
||||||
- Search for the event: `gksphone:faturapayBill` and search for this line:
|
|
||||||
```lua
|
|
||||||
Ply.Functions.RemoveMoney('bank', data[1].amount, "paid-invoice")
|
|
||||||
```
|
|
||||||
|
|
||||||
- Directly under this line add this event:
|
|
||||||
```lua
|
|
||||||
TriggerEvent('jim-payments:Tickets:Give', { sender = Ply.PlayerData.charinfo.firstname, senderCitizenId = data[1].sendercitizenid, society = data[1].society, amount = data[1].amount })
|
|
||||||
```
|
|
||||||
- The phone should now be integrated with jim-payments
|
|
||||||
|
|
||||||
#### Renewed QB-Phone:
|
|
||||||
- Go to `qb-phone > server > invoices.lua`
|
|
||||||
- Search for the event: `qb-phone:server:PayMyInvoice` and search for this line:
|
|
||||||
```lua
|
|
||||||
TriggerEvent("qb-phone:server:InvoiceHandler", true, amount, src, resource)
|
|
||||||
```
|
|
||||||
|
|
||||||
- Directly under this line add this event:
|
|
||||||
```lua
|
|
||||||
TriggerEvent('jim-payments:Tickets:Give', { amount = amount, senderCitizenId = sendercitizenid, sender = SenderPly.PlayerData.charinfo.firstname, society = society }, SenderPly)
|
|
||||||
```
|
|
||||||
- When invoices are paid, they should now be integrated with jim-payments
|
|
||||||
|
|
||||||
# Setup/Config
|
|
||||||
|
|
||||||
## Custom Locations
|
|
||||||
|
|
||||||
- You can make of this payment system for a job script that wasn't created by me
|
|
||||||
- All you need to do is add the job, grab a `vector4` (vector3 + heading) and set if you need a to spawn prop or not
|
|
||||||
- For example:
|
|
||||||
```lua
|
|
||||||
CustomCashRegisters = { -- Located in the config.lua
|
|
||||||
["burgershot"] = { -- Player job role restriction
|
|
||||||
{ coords = vector4(-1185.5, -878.54, 13.91, 305.53), prop = true, }, -- vector4 to place the till and the way it faces
|
|
||||||
{ coords = vector4(-1184.34, -880.51, 13.93, 302.04), prop = true, }, -- "prop = true" spawns a prop at the coords
|
|
||||||
},
|
|
||||||
},
|
|
||||||
```
|
|
||||||
### This does not need to be done for MY job scripts, they already have built in support
|
|
||||||
---
|
|
||||||
## PayTickets
|
|
||||||

|
|
||||||
- This script has a built in ticket reward system
|
|
||||||
- On successful sale, the employees will be handed a ticket if they are clocked in
|
|
||||||
- This can then be handed in to the bank to receive payment
|
|
||||||
- Works as a reward and incentive for turning up to do work
|
|
||||||
- The values are set per job in `Config.Jobs`
|
|
||||||
- `TicketSystem` Enable this if you want to use the ticket system false
|
|
||||||
- `TicketSystemAll` Enable this to give tickets to all workers clocked in
|
|
||||||
---
|
|
||||||
## Commission System
|
|
||||||
- Support for commission to be paid as a reward for each successful payment
|
|
||||||
- Very customisable with the config.lua
|
|
||||||
- `Commission` Choose wether people get commission from every sale
|
|
||||||
- `CommissionAll` Choose if **EVERY** worker gets Commission that is on duty
|
|
||||||
- `CommissionDouble` Choose if Commission is limited by `MinAmountForTicket`
|
|
||||||
- `CommissionLimit` Choose if the worker charging the customer gets double commission
|
|
||||||
|
|
||||||
---
|
|
||||||
## Multiple Job and Gang Role support
|
|
||||||
- The script supports adding job roles to the config so they can get rewards for successful payments
|
|
||||||
- This includes Gang roles for stores/bars owned by a gang allowing them to get ticket rewards and commission
|
|
||||||
- Examples of adding jobs / gangs to config.lua:
|
|
||||||
```lua
|
|
||||||
Jobs = {
|
|
||||||
['mechanic'] = { MinAmountforTicket = 1000, PayPerTicket = 500, Commission = 0.10, },
|
|
||||||
['lostmc'] = { MinAmountforTicket = 50, PayPerTicket = 50, Commission = 0.10, gang = true, },
|
|
||||||
},
|
|
||||||
```
|
|
||||||
- `MinAmountforTicket` is the amount required in a charge before they can get a ticket
|
|
||||||
- `PayPerTicket` is the amount paid per ticket at the bank for the job role
|
|
||||||
- I personally recommend this being lower than `MinAmountforTicket`, being too high makes it exploitable
|
|
||||||
- `Commission` is the amount of commission given to players on successful payments (0.10 = 10%)
|
|
||||||
- `gang = true` add this if the added role is a gang role
|
|
||||||
---
|
|
||||||
## /cashgive
|
|
||||||

|
|
||||||
- Alternative to /givecash
|
|
||||||
- A simple command built in to send cash to a `nearby player`
|
|
||||||
- Shows a list of names and id's of people nearby to select from rather
|
|
||||||
- Better experience than trying to figure out their ID and entering it manually
|
|
||||||
---
|
|
||||||
## /cashregister
|
|
||||||

|
|
||||||
- This command is mean't as a portable cash register alternative
|
|
||||||
- For example:
|
|
||||||
- When a person is devliering food they can do `/cashregister` and the payment will still be sent to the society account
|
|
||||||
- Doesn't utilize the ticket reward system unfortunately
|
|
||||||
---
|
|
||||||
## /polcharge
|
|
||||||
- This script supports a customisable "police billing"
|
|
||||||
- This is the ability for selected jobroles to charge a nearby player
|
|
||||||
- Depending on how you've set it up, this can take money directly from the players bank to the job's society account
|
|
||||||
- This is by default enabled for `police` and `ambulance`
|
|
||||||
- This also supports giving the player a cut of the payment as `commission`
|
|
||||||
- Default Config:
|
|
||||||
```lua
|
|
||||||
FineJobs = {
|
|
||||||
['police'] = { Commission = 0.25, },
|
|
||||||
['ambulance'] = { Commission = 0.25, },
|
|
||||||
},
|
|
||||||
FineJobConfirmation = false, -- "true" makes it so fines need confirmation, "false" skips this ands just removes the money
|
|
||||||
FineJobList = true, -- "true" to use nearby player list feature in the cash registers, "false" for manual id entry
|
|
||||||
```
|
|
||||||
---
|
|
||||||
## Banking
|
|
||||||

|
|
||||||
- This script has simple banking systems built in
|
|
||||||
- Works as a basic replacement for qb-banking and qb-atms
|
|
||||||
- Adjust the options in config.lua:
|
|
||||||
- `useATM` Choose wether to make atm's usable
|
|
||||||
- `useBanks` Choose wether to make bank desks/teller's usable
|
|
||||||
- `BankBlips` Enable this if you disabled qb-banking and need bank locations
|
|
||||||
- `ATMBlips` Enable this if you are a pyscho and need every ATM to be on the map too
|
|
||||||
- `Gabz` Enable to change to Gabz Bank locations, this corrects the ATM/Bank Cashier + Ticket Cash in
|
|
||||||
---
|
|
||||||
|
|
||||||
### Renewed's qb-phone
|
|
||||||
- Simply leave the Config.PhoneType as `"qb"`
|
|
||||||
|
|
||||||
### AP-Goverment
|
|
||||||
- Support for AP-Goverment Tax on payments
|
|
||||||
- Toggle `ApGov` in the config.lua to enable this
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
-- If you need support I now have a discord available, it helps me keep track of issues and give better support.
|
-- If you need support I now have a discord available, it helps me keep track of issues and give better support.
|
||||||
|
|
||||||
-- https://discord.gg/xKgQZ6wZvS
|
-- https://discord.gg/9pCDHmjYwd
|
||||||
|
|
||||||
Config = {
|
Config = {
|
||||||
Lan = "en",
|
Lan = "en",
|
||||||
|
|||||||
Reference in New Issue
Block a user