Skip to main content

Getting Started

On this page: How to install, configure & edit script

Requirements

To install that script, you need to have:

  • Framework: ESX 1.2, ESX Legacy or QBCore
  • Database: MySQL Async or oxmysql

Installation

  1. Download script here or clone it from GitHub repo
git clone https://github.com/KPGTB/KFines.git
  1. If you downloaded the script from the button above, you need to extract it from archive

  2. Move script into resources folder

  3. Rename script to KFines (optional, but recommended)

  4. Go to KFines/fxmanifest.lua and configure your framework and database

    • ESX 1.2

      local framework = 'esx'
      local mysql = "mysql-async"
    • ESX Legacy

      local framework = 'esx'
      local mysql = "oxmysql"
    • QB Core

      local framework = 'qb'
      local mysql = "oxmysql"
info

After making changes in KFines/fxmanifest.lua you need to refresh your scripts by using command /refresh. After that, you can restart script

  1. Go to KFines/shared/config.lua and configure script like you want
Config = {}

Config.Locale = 'en'
Config.TimeToPay = 3 * 24 * 60 * 60 * 1000 -- Milliseconds
Config.NotPaidModifier = 1.25
Config.AllowFakePlayers = false -- Allow cops to create ticket for player that doesn't exist in database (support for Fake ID)
Config.ShowDistance = 20 -- Distance for ticket. At least 1 player (excluding cop) needs to be in that distance to create ticket.
Config.TimeZone = "+02:00" -- It will convert default UTC into your timezone (required by MySQL)
Config.WebhookURL = "" -- Discord webhook with logs
Config.Jobs = {
lspd = { -- Unique name of category
name = "Los Santos Police Department", -- Name displayed in ticket
location = "City of Los Santos", -- City name in ticket
logo = "lspd.png", -- Logo from /web/assets folder
society = "society_police", -- Society account to give money from tickets
allowedJobs = {{ -- table of allowed jobs
job = "police", -- job name
grade = "boss" -- job grade
},{
job = "offpolice",
grade = "boss"
}},
npcs = {{ -- table of npcs where player can pay for ticket from this category
pos = vector3(440.6174, -978.9453, 30.68958),
heading = 180.0,
ped = "s_m_y_cop_01",
distance = 3, -- distance to show message
}}
},
bcso = {
name = "Blaine County Sheriff's Office",
location = "Blaine County",
logo = "bcso.png",
society = "society_sheriff",
allowedJobs = {{
job = "sheriff",
grade = "boss",
},{
job = "offsheriff",
grade = "boss"
}},
npcs = {{
pos = vector3(1852.4,3688.6,34.26),
heading = 210.0,
ped = "s_m_y_sheriff_01",
distance = 3,
}}
}
}
  1. If you want, you can translate your script into your language. (optional)
    1. Go to KFines/locales folder
    2. Make copy of en.lua and rename it to your language code
    3. Open renamed file
    4. Change variable fileLocale to your language code
    5. Translate messages
    6. Go to KFines/config.luaand change Config.Locale to your language code
  2. Register item traffic_tickets_block in your framework
    • ESX - In database, in table items
    • QBCore - In file qb-core/shared/items.lua
  3. Start the server (or script after using /refresh command)

Editing script

The script is fully open source, and it's under Apache 2.0 license. You can edit it like you want. To edit UI, please look at Fivem + ReactJS Tempalte that is used in this script.

danger

I won't fix issues that happened after editing the script!