Config File

-- ==================================================
--                 Notary System Config
-- ==================================================

Config = {}
---@class ConfigTable

-- ===================== Core Framework & Resources Settings =====================
Config.Core = 'qb-core' -- Core framework resource (e.g., "qb-core")

Config.inventory = 'qb-inventory' -- Inventory resource (e.g., "ps-inventory", "qb-inventory")

Config.bossmenu = "qb-management" -- Bossmenu resource (e.g., "qb-management", "qb-banking", "okokBanking")

Config.target = 'qb-target' -- Target resource (e.g., "qb-target", "ox_target")

Config.fuel = 'LegacyFuel' -- Fuel resource (e.g., "LegacyFuel", "cdn-fuel")

Config.usefixedplaces = false  -- if this is true keybind and opentablet command will not work , you must use target in targted places you chosed in cl_utils.lua

Config.UseTarget = GetConvar('UseTarget', 'false') == 'true' -- Use target for opening the tablet if Config.usefixedplaces = true

Config.FixedPlaces = {
    {
        coords = vector3(-67.47, 74.66, 71.61),
        radius = 2.0,
        heading = 0,
        name = "notary_system",
        label = "Open Notary System",
        job = "notary"
    },
    -- Add more if needed
}

-- ===================== Tax & Commissions Configuration =====================
Config.HouseTaxRate = 2 -- Tax rate for house sales (percentage)

Config.VehicleTaxRate = 10 -- Tax rate for vehicle sales (percentage)

Config.percentage = 25 -- Percentage of rental price that goes to bossmenu

Config.sellvehcommission = 0.1 -- Commission for selling vehicles (percentage)

Config.sellhousecommission = 0.1 -- Commission for selling houses (percentage)

-- ===================== Job & Tablet Settings =====================
Config.Job = "notary" -- Job name for the notary system

Config.Jobgrade = 1 -- Job grade for the notary system

Config.OpenTabletCommand = "notarytablet" -- Command to open the tablet

Config.tabletkey = 'F10' -- Key to open the tablet

Config.requireditem = true -- If true, the player must have the required item to open the tablet

-- ===================== Vehicle Rental Configuration =====================
Config.rentalcheckcommand = "myrents"  -- Command to check rented vehicles

Config.rentalchecktext = 'Check your rented vehicles'  -- Text Command to check rented vehicles

Config.hiderenalui = "hiderentalinfo"  -- Command to hide rental UI

Config.closenotarycommand = "closenotary" -- Command to close the tablet

Config.SafeRent = 5 -- Safe rental time in seconds

Config.rentcheckinvterval = 90 -- Interval for checking rental time in seconds

Config.MaxRentHours = 128 -- Maximum rental hours

Config.Rentmaxvalue = 7000000 -- Maximum rental value

Config.blocksellrentedvehicle = true -- Prevent selling rented vehicles

Config.spawnrentals = true -- Spawn rented vehicles at the rental location

Config.garageName = 'apartments' -- Garage name for rented vehicles if spawnrentals = false

Config.VehicleSpawnLocation = vector3(-84.05, 78.46, 71.57) -- Spawn location for rented vehicles

Config.Shops = {
    {
        ShowroomVehicles = {
            { model = "t20", coords = vector4(-76.0, 75.42, 71.37, 208.7) },
            { model = "sultan", coords = vector4(-57.84, 65.08, 71.52, 120.89) }
        }
    }
}
Config.kick = false

Config.MaxOwnedVehicles = 20 -- Maximum number of vehicles a player can own

Config.Maxsellvalue = 20000000 -- Maximum sell value

Config.maxsellvehicleincome = 20000000 -- Maximum sell income for sellers

Config.MaxBankMoney = 9999999999999999999 -- Maximum bank money for players

Config.MaxCashMoney = 9999999999999999999 -- Maximum cash money for players

Config.MaxDuplicatedVehicles = 5

Config.Developers = {
    "license:xxxxxxxxxxxxxxxxxxxxxxxxxx", -- Replace with your developer licenses 
}
Config.RentalPrices = {
    ["t20"] = 2000,
    ["blista"] = 3500,
    ["stafford"] = 6000,
    ["cog55"] = 1000,
    ["kanjosj"] = 5000,
    ["brioso"] = 2800,
    ["drafter"] = 4000,
    ["primo"] = 4000
}
Config.Rental = {
    RentalCheckpoints = {
        {
            coords = vector3(-215.85, -1015.47, 29.27),
            heading = 0.0,
            radius = 1.5,
            name = "Rental Checkpoint",
            blip = {
                coords = vector3(-215.85, -1015.47, 29.27),
                scale = 0.7,
                color = 3,
                id = 669
            },
            vehicleSpawn = { 
                coords = vector4(-218.91, -1013.44, 29.19, 338.52) 
            }
        }
    }
}
Config.Vehicles = {
    { model = "blista", price = 2000 },
    { model = "drafter", price = 5000 }
}

-- ===================== Whitelisted & Admin Permissions =====================
Config.Stockcommand = "managevehicles"

Config.Commandtext = 'Open the vehicle stock management menu (Only Admin!)'

Config.WhitelistedManagers = {

    "license:xxxxxxxxxxxxxxxxxxxxxx", -- Replace with your whitelisted manager licenses
}

-- ===================== Vehicle Selling Restrictions =====================
Config.checkvehicleownershipcommand = "checkvehowner"  -- Command to check vehicle ownership

Config.mingadetocheck = 1

Config.maxDistance = 20 -- Maximum distance to check between the players (seller ,buyer, notary)

Config.Vehiclepresent = {

    enabled = false, -- Check if the vehicle is present

    distance = 30.0  -- Distance to check for vehicle ownership is nearby notary

}
Config.changePlatepenalty = 1000000  -- this amount of money will be removed from bossmenu when make change plate

Config.ExhangeVehiclespenalty = 120000  -- this amount of money will be removed from bossmenu when exchangevehicles

Config.MinSellPrice = {

    DefaultPrice = false,  -- If true, the minimum sell price will be set to 0, you can set the price in the Prices table

    Prices = {

        ["zentorno"] = 0

    }
}
Config.MaxSellPrice = {

    enabled = false,  -- If true, the maximum sell price will be set to 0,  you can set the price in the Prices table

    Prices = {

        ["t20"] = 0

    }
}
Config.enabledPercensys = true  -- If true, the minimum and maximum sell percentages will be used according to the prices in QBCore.Shared.Vehicles

Config.MinSellPercent = 50 * 0.01 -- Minimum percentage of the vehicle price that can be sold

Config.MaxSellPercent = 200 * 0.01 -- Maximum percentage of the vehicle price that can be sold

Config.ExceptedVehicles = {   
    ["police"] = true
}
Config.ExceptedClasses = {
    ["emergency"] = true
}
Config.Blacklisted_vehicles = {
    ["t20"] = false
}
Config.usezones = true
Config.Zones = {
    {
        name = "office 01",
        points = {
            vector2(-46.751182556152, 74.931823730469),
            vector2(-84.219169616699, 96.051307678223),
            vector2(-93.257522583008, 74.542335510254),
            vector2(-53.364002227783, 55.160705566406)
        },
        minZ = 71.0,
        maxZ = 73.0,
        blip = {
            coords = vector3(-69.0, 75.0, 72.0),
            scale = 1.0,
            color = 3,
            id = 525
        }
    }
}
-- ===================== House Selling Settings =====================
Config.WipeHouseStash = true

Config.maxsellhouseincome = 99999999999 -- Maximum sell income for sellers

Config.blaclistedhouses = {

    ["alta st1"] = true
}
-- ===================== Camera Settings =====================
Config.MaxFOV = 90

Config.MinFOV = 10

Config.ZoomSpeed = 5

Config.LRspeed = 10

Config.UDspeed = 10
-- ===================== notify texts =========================
Config.Notifications = {
    NoAccess = "You don't have access to this command",
    FillAllFields = "Please fill in all fields",
    VehicleRegistered = "Vehicle registration submitted successfully",
    VehicleNotOwned = "seller don't own this vehicle",
    RentalRegistered = "Rental registered successfully!",
    blocksellrentedvehicle = 'you can\'t sell rented vehicle',
    ErrorOccurred = "An error occurred",
    InvalidInput = "Invalid input provided",
    VehicleNotNearby = "targeted vehicle not near to you",
    InvalidSellPrice = "Invalid sell price",
    VehicleDistance = "The vehicle is not nearby",
    VehicleTooFar = "you are too far from tageted vehicle",
    RentExpiredPlayer = "Your rental has expired",
    RentPlayer = "You have rented a vehicle",
    FarFromVehicle = "You are too far from the vehicle to sell it",
    blacklistedvehicle = "This vehicle is blacklisted and cannot be sold",
    NotInArea = "You are not in the shop area to work",
    TaxAmount = "Tax Amount: $%s",
    VehiclePriceNotSet = "Price for %s is not set in the config",
    NoVehicleFound = "vehicle not found",
    VehiclesLeftInStock = "There are %s vehicles left in stock",
    SellerNotFound = "Seller not found in the database",
    VehicleNotSellable = "This type of vehicle cannot be sold",
    MinSellPrice = "You cannot sell this vehicle for less than $%s",
    TransactionNotFound = "Transaction not found",
    SaleCanceledBySeller = "Sale canceled by the seller",
    SaleCanceledByBuyer = "Sale canceled by the buyer",
    NotContractOwner = "You don't own this contract",
    PurchaseCanceled = "You canceled the purchase",
    BuyerNotFound = "Buyer not found",
    YouCanceledPurchase = "You canceled the purchase",
    VehicleSoldCash = "Vehicle sold, cash payment completed",
    NotEnoughCash = "Not enough cash to complete the purchase",
    VehicleSoldBank = "Vehicle sold, bank payment completed",
    NotEnoughBankFunds = "Not enough funds in the bank",
    VehicleSoldSuccess = "Vehicle with plate %s sold successfully to %s",
    VehicleTransferFailed = "Vehicle transfer failed",
    ContractGenerated = "Contract has been generated and given to both parties",
    NotEnoughMoneyToRent = "Not enough money to rent",
    HouseNotOwned = "You do not own this house",
    RentalUpdateFailed = "Failed to update rental hours Vehicle not found or no change",
    RentNotFound = "Rent record not found",
    RentalHoursDecreased = "Rental hours decreased successfully",
    RentalDecreaseFailed = "Failed to decrease rental hours Vehicle not found or no change",
    HouseSold = 'You sold "%s" to "%s"',
    HouseBought = 'You bought "%s"',
    HouseContractReceived = "You have received the house contract",
    HouseContractGiveFailed = "Failed to give the house contract",
    HouseContractFailed = "Failed to give the house contract",
    VehicleAddFailed = "Failed to add vehicle to player_vehicles Dev issue!",
    RentalHoursUpdated = "Rental hours updated successfully",
    MinSellPrice = "Minimum allowed sell price is $%s.",
    MaxSellPrice = "Maximum allowed sell price is $%s.",
    NotHouseOwner = "You do not own this house",
    RentalExpired = "Vehicle rental expired and returned automatically",
    VehicleStockUpdated = "Vehicle stock updated successfully",
    RentalEndReminder = "Your vehicle rental will end in %s",
    RentalRemovedStock = "Vehicle with plate %s has been automatically removed due to expired rental and returned to stock",
    RentalRemoved = "Vehicle rental removed",
    RentalVehicleExpired = "Your rental vehicle with plate %s has expired and been removed",
    VehicleStockUpdateFailed = "Vehicle stock update failed",
    StockUpdateFailed = "Failed to update stock or player vehicles Please check",
    RentalRemovalFailed = "Failed to remove vehicle rental Deletion unsuccessful",
    RentalVehicleNotFound = "Failed to remove vehicle rental Vehicle not found",
    CannotSellHouses = "You can’t sell houses",
    HouseTransferFailed = "House transfer failed",
    HouseSellingRestricted = "You can’t sell houses",
    InvalidPlayerID = "Invalid player ID",
    PlayerNotFound = "Player not found",
    VehicleRentedDetails = "Vehicle Model: %s\nRent Duration: %d hours\nTotal Cost: $%d",
    RentVehicleFailed = "Failed to rent vehicle",
    VehicleRented = "Vehicle rented successfully",
    RentalNotFound = "Rental not found",
    RentalNotFoundInDatabase = "Rental not found in the database",
    InsufficientFunds = "Insufficient funds",
    InsufficientCash = "Insufficient cash",
    houseNotSellable = "This type of house cannot be sold",
    HouseNotNearby = "House not nearby",
    Zonework = "you must be in working zone",
    InsufficientBankFunds = "Insufficient funds in bank"
}

Last updated