Skip to content

Config

K9 Config Settings

General Structure#

lua
FRKN = {
  ServerCallbacks = {},
  OpenPetCommand = "mypet",
  Interaction = { Target = "qb-target" },

  Shops = { Coords = vector3(564.9654, 2745.9912, 42.8771) },

  Job = {'police' , 'sheriff'},

  K9Search = { "joint", "cokebaggy", "crack_baggy", ... },

  Training = { ... },

  Item = { reviveItems = {...}, foodItems = {...}, waterItems = {...},
           energyItems = {...}, leashItems = {...}, connectItems = {...}, tennisItems = {...} },

  DieMode = true,
  AgeControlTime = 600000,

  PetDecay = { health=0.5, notEating=5, hunger=1.0, thirst=1.0, energy=0.8, updateInterval=60000 },

  Cages = { [1] = { coords=vector3(...), heading=... }, ... },

  FeatureList = { {name='15% More Damage', price=1500, type='damage', multiple=15}, ... },

  PetList = { { name="Rex", model="a_c_k9", ... }, ... },

  PartConfigByModel = { ["a_c_k9"] = { vest={...}, ... }, ... },

  Currency = "$",
  ItemShopCoords = vector4(561.2651, 2745.0737, 42.8771, 96.7979),

  Categories = { {id="catfood", label="Cat Food", order=1}, ... },

  Items = { { id="dogrevive", name="Revive", category="health", ... }, ... }
}

Commands & Interaction#

OpenPetCommand#

  • Type: string
  • Default: "mypet"
  • Description: The command used by players to open their personal pet menu.

Interaction.Target#

  • Type: string (qb-target / ox_target)
  • Description: Defines the target system used for shop and interaction zones.

Shop & Job Restrictions#

Shops.Coords#

  • Type: vector3
  • Description: The location of the pet shop.

Job#

  • Type: string[]
  • Description: Which jobs are allowed to use the K9 system.
  • Example: { 'police', 'sheriff' }

K9Search#

  • Type: string[]
  • Description: List of items that the K9 can detect during a search.

Training Area#

lua
Training = {
  requiredLevel = { {name="Side Walk", level=10}, ... },

  MarkerType = 2,
  MarkerScale = vec3(0.6, 0.6, 0.6),
  MarkerColor = { r=0, g=180, b=255, a=180 },
  ReachRadius = 1.2,

  MarkerCoords = vector3(...),
  MarkerHeading = 343.3976,

  Checkpoints = {
    {pos=vec3(...), msg=Lang:t("general.checkpoint_msg_1")},
    ...
  },

  DummyPedModel = "a_m_m_tramp_01",
  DummyPeds = { {pos=vec3(...), heading=70.5}, ... },

  TargetFindRadius = 6.0,
  KOTimeoutMs = 5000,

  TrashModels = { joaat("prop_bin_07c") },
  TrashRadius = 3.0
}
  • requiredLevel: Defines which skills/actions require a minimum training level.
  • MarkerType / Scale / Color: Visual configuration for training checkpoints.
  • ReachRadius: The distance at which a checkpoint is considered reached.
  • MarkerCoords / Heading: Starting location of the training route.
  • Checkpoints: Training path points and displayed messages.
  • DummyPedModel / DummyPeds: Peds placed in the training zone (used for target practice).
  • TargetFindRadius: Detection radius for training scenarios.
  • KOTimeoutMs: Duration of knockout/stun in milliseconds.
  • TrashModels / TrashRadius: Defines searchable objects (e.g., trash bins).

Items (Usage Config)#

lua
Item = {
  reviveItems = { {name="dogrevive", event="useReviveItem", value=100, prop=nil}, ... },
  foodItems   = { {name="dogfood", event="useFoodItem", value=20, prop="prop_cs_bowl_01b"}, ... },
  waterItems  = { {name="dogwater", event="useWaterItem", value=20, prop="prop_cs_paper_cup"}, ... },
  energyItems = { {name="dogenergy", event="useEnergyItem", value=20, prop="prop_turkey_leg_01"}, ... },
  leashItems  = { {name="dogleash", event="useLeashItem", prop=nil}, ... },
  connectItems= { {name="dogconnect", event="useConnectItem", prop=nil} },
  tennisItems = { {name="dogtennis", event="useTennisBall", prop="prop_tennis_ball"} }
}
  • name: The item’s internal ID in your framework.
  • event: Triggered when the item is used.
  • value: Amount restored/affected (health, hunger, thirst, energy).
  • prop: Object shown when the item is used.

Life Cycle & Difficulty#

DieMode#

  • Type: boolean
  • Description: If true, once a pet’s health reaches 0, it can no longer be used and must be replaced.

AgeControlTime#

  • Type: number (ms)
  • Default: 600000 (10 minutes)
  • Description: Interval at which pet age is checked/updated.

PetDecay#

  • Type: table
  • Description: Defines stat decrease over time.
  • Fields:
    • health: Health loss per hour.
    • notEating: Extra health loss if not fed/watered.
    • hunger, thirst, energy: Hourly decrease values.
    • updateInterval: How often stats update (ms).

Cages (Shop Display)#

Cages#

  • Type: table
  • Description: Coordinates and headings for pet cages in the shop.
  • Usage: Pets for sale are placed at these coordinates.

Features (Buffs)#

FeatureList#

  • Type: table
  • Description: Purchaseable pet upgrades.
  • Fields:
    • name: Display name.
    • price: Cost.
    • type: Identifier key used internally.
    • multiple: Effect percentage or multiplier.

Pet Catalog#

PetList#

Each pet entry includes:

  • name, breed, price, image, description, status
  • model: Ped model (_c_k9, a_c_chop...)
  • coords, heading: Display position in the shop
  • Growth values:
    • currentHeight, currentWeight
    • maxHeight, maxWeight
    • heightDivision: Adjust if the pet’s feet do not align correctly with the ground.

Model-Based Parts#

PartConfigByModel#

  • Type: table
  • Description: Defines which wearable parts/accessories exist per model.
  • Fields:
    • comp: Component index
    • max: Maximum available variations
    • allowOff: Whether the part can be removed
    • label: Display name in the UI

Shop & Items#

Currency#

  • Type: string
  • Description: The currency symbol displayed in the shop (e.g., $, €, ₺).

ItemShopCoords#

  • Type: vector4
  • Description: Coordinates where the shop UI can be accessed.

Categories#

  • Type: table
  • Description: Shop item categories and their display order.

Items#

  • Type: table
  • Description: All purchasable items in the shop.
  • Fields:
    • id: Unique shop identifier
    • name: Item name shown in UI
    • category: Category ID from Categories
    • price: Price in Currency
    • image: Path to item image
    • desc: Short description
    • itemName: Actual framework item ID
    • stack: How many fit in one inventory slot
    • maxPerCart: Max allowed per purchase