Config

FRKN Boosting — Configuration Documentation (EN)

This guide explains every key in your FRKN configuration for the FRKN Boosting script. It’s written to be copy-paste friendly and practical for server owners.


0) Quick Start

  1. Pick interaction system: Target = 'ox_target' | 'qb-target' | 'interact'.

  2. Set language: language = 'en' | 'fr'.

  3. Choose phone app: Phone = 'qb' | 'qs' | 'lb' and ensure the chosen phone is installed.

  4. Hook your dispatch: set dispatchName and update sendAlert.

  5. Check items: make sure boosting_tablet, gps_hacking_device and all reward/loot item names exist in your inventory (QB/OX).

  6. Place locations: verify spawn, drop-off, chop shop, and crusher coordinates match your map.

  7. Vehicles: tune the boostingVehicles list to your economy and progression.


1) Core

Target

  • Type: string — 'ox_target' | 'qb-target' | 'interact'

  • Purpose: Selects your interaction framework.

language

  • Type: string — 'en' | 'fr'

  • Purpose: Localization key.

debug

  • Type: boolean

  • Purpose: Enables debug prints/logging.


2) Gameplay & Timers

gpsHack

  • Type: number

  • Default: 3

  • Meaning: Number of successful minigames required to remove the GPS tracker device from a vehicle.

policeNeedToStart

  • Type: number

  • Default: 1

  • Meaning: Minimum on-duty police count required to start a boosting contract.

cooldown

  • Type: number (minutes)

  • Meaning: Global cooldown between starting new contracts for a player.

contractTimer

  • Type: table of minutes

  • Meaning: Maximum time limit to complete each contract class.


3) Security NPCs

  • Per class overrides for guards:

    • weapons: array of weapon names (hash keys).

    • guardAmount: number of guards to spawn.

  • If a class is omitted, no guards are spawned for that class.


4) Dispatch Integration

dispatchName

  • Type: string — "ps" or "other"

  • Meaning: Which dispatch to use.

sendAlert(vehicle)

  • Type: function

  • Default behavior:

    • If dispatchName == "ps" → calls exports['ps-dispatch']:CarBoosting(vehicle)

    • Else → no-op (add your custom dispatch trigger here)

  • How to extend: Replace the else block with your dispatch export/event.


5) Car Crusher Mapping

  • Purpose: World placement for the crusher and its door.

  • Note: Keep models consistent with your map resource.


6) In-Game Shop

  • Fields:

    • id: unique integer

    • name: display title

    • itemName: inventory item key (must exist)

    • price: Script-defined semantics (token/currency).

      • In your config, Boosting Tablet comment indicates this price may represent “races” tokens to be removed/consumed.

      • For the GPS device, it likely represents money. Keep it consistent with your economy logic.


7) Crusher Stash Rewards

  • Meaning: Items granted after using the car crusher.

  • Format: { [itemName] = quantity }

  • Ensure: All item names exist in your inventory system.


8) Chop Shop

  • chopShopProgressBarTime = 5

    • Type: seconds

    • Meaning: Duration of chop-shop progress bar.

  • chopShopCoords = vector3(2342.2974, 3052.9194, 48.1518)

    • Meaning: Main chop shop location.

  • chopShopProcess = vector3(2336.9192, 3050.2510, 48.1517)

    • Meaning: Interaction/processing spot.

  • chopShopReward = { "metalscrap","plastic","copper","iron","aluminum","steel","glass" }

    • Meaning: Reward pool for chop actions (actual drops/amounts handled by script logic).


9) Spawn & Delivery Points

Trailer Spawn

  • Type: vector4(x,y,z,heading)

  • Meaning: Where trailers may appear.

Drop-Off Points

Vehicle Spawn Points

  • Tip: Keep these points free of props and with clear road access.


10) Progression & Generation

eachLevelMaxReputation

  • Type: number

  • Meaning: Reputation required per level (script-specific leveling uses this as a threshold).

contractGenerator

  • Type: number (minutes)

  • Meaning: Interval to delete old and generate new contracts for the player.

  • Note: Your sample value 60 implies 60 minutes. Keep comments aligned with actual units you use in code.


11) Phone Integration

Phone

  • Type: string — 'qb' | 'qs' | 'lb'

  • Meaning: Which phone resource to use for notifications/mail.

sendMail(message)

  • Type: function

  • Behavior:

    • 'qb': triggers qb-phone:server:sendNewMail

    • 'qs': triggers qs-smartphone:server:sendNewMail

    • 'lb': calls a custom server event to send via lb-phone

    • Else: no-op (add your phone integration)

  • Action: If you use a different phone, implement its mail export/event in the else branch.

12) Vehicle Catalog (Contracts)

  • Fields:

    • class: Contract class (A, B, C, D).

    • car: spawn name (GTA model key).

    • model: Display label for UI/logs.

    • reputation: Rep requirement or value tied to progression (script-specific).

    • races: Token cost/weight used by the economy (higher class ⇒ higher value).

  • Add new vehicle: Append a new table with the same fields. Ensure the car spawn name exists in your game build.


13) Minigames

  • Signature: Each function receives a callback (cb) and calls the respective exported minigame.

  • Common params:

    • 25: Duration/timeout (seconds).

    • Text parameters: UI headers/prompts.

    • Last numbers: difficulty/rounds/speed depending on the game.

  • Swap a minigame: Replace the export call with your own minigame resource and keep the same callback contract.


14) Economy & Balance Tips

  • Tokens vs. Money: If your server uses “races” as a token economy (as your comments imply), keep:

    • Higher-class vehicles with higher races.

    • Shop prices consistent, e.g. Boosting Tablet costs token(s), GPS device costs money.

  • Reputation curve:

    • Use eachLevelMaxReputation to control level pacing.

    • Keep reputation of A-class entries above lower classes to enforce progression.

  • Timers:

    • contractTimer too short ⇒ more fails; too long ⇒ trivializes risk.

    • cooldown controls contract spam—tune with your player count.


15) Extending the Config

Add a new shop item

Add guards for a class not covered

Add a new vehicle

Plug in a different dispatch

Plug in a different phone

16) Dependencies Checklist

  • Target system chosen in Target is installed and started.

  • Inventory contains all item names used in:

    • shopItems, carCrusherStashReward, chopShopReward.

  • Phone app (qb-phone, qs-smartphone, or lb-phone) matches Phone.

  • Minigame resources:

    • frkn-riddlegame, frkn-sosgame, frkn-stickgame (or your replacements).

  • Mapping/models for the car crusher are present and streamed.

  • Dispatch resource if using ps-dispatch or your custom one.


17) Troubleshooting

  • No interaction prompts: Check Target value and the resource is running.

  • No mail sent: Verify Phone setting and that the chosen phone’s server events/exports exist.

  • No guards spawning: Ensure class key exists under guardNpc and weapon names are correct.

  • Items not awarded: Confirm item names exist in your inventory system exactly (case-sensitive).

  • Contracts not refreshing: Verify contractGenerator unit (minutes) matches how the server code consumes it.

Last updated