Kartik Scripts

Gang Registration

Players can start their own gang. They fill in a short form, pay a fee, and an admin approves or declines the request. Approved gangs are created with the player as leader.

Admins can still create gangs in the admin panel as before. Registration only adds a way for players to ask for one.


🧑 Applying for a gang

  1. Type /creategang (the player must not be in a gang).
  2. Fill in the gang name, pick a gang colour and, if you like, write a few lines about your gang for the admins.
  3. Confirm. The fee (and the item, if one is needed) is taken now.
  4. Wait for an admin. You get a message when they decide.
  • Approved: the gang is created with you as leader. Open the gang tablet to set it up.
  • Declined: the fee and the item are given back, with the admin's reason if they gave one. If you were offline, you get them back the next time you log in.
  • Type /creategang again while you wait to see your request or cancel it. Cancelling gives back the fee and the item.

Gang names are 3 to 24 characters: letters, numbers, spaces and - . ' & _. A name can't be used if a gang or another waiting request already has it.


🛠️ Reviewing requests (admins)

Online admins get a message when a new request comes in (and it is posted to the admin Discord webhook if set).

  1. Type /gangrequests to see every waiting request: gang name, player, cost and whether the player is online.
  2. Open a request to read the player's note, then choose:
    • Approve: creates the gang with the player as leader. Works while the player is offline.
    • Decline: enter a reason (optional, shown to the player). The fee and item are given back.

After approving, set the gang's hideout entrance and other details in Admin → Gangs, the same as for a gang you create yourself.

Every approval and decline is saved in the admin logs.

A request can't be approved if the player joined another gang in the meantime. Decline it instead.


⚙️ Settings

In shared/core.lua under Registration:

Registration = {
    Enabled = true,
    Approval = true,              -- false = the gang is created straight away
    Fee = 50000,                  -- taken when applying, given back if declined or cancelled (0 = free)
    Account = 'bank',             -- 'cash' | 'bank'
    Item = false,                 -- item needed to apply, e.g. 'gang_papers' (taken and given back like the fee)
    MaxPending = 20,              -- open requests on the whole server
    CooldownMinutes = 60,         -- wait after a declined request
    NameLength = { 3, 24 },
    NoteLength = 200,             -- "about your gang" text for the admins
},
SettingDefaultWhat it does
EnabledtrueTurns registration on or off. Without the block it is off
Approvaltruetrue: an admin approves every request. false: the gang is created as soon as the player applies
Fee50000Price to apply. 0 makes it free
Account'bank'Where the fee is paid from: 'cash' or 'bank'
ItemfalseItem the player needs to apply, one is taken. false = no item
MaxPending20Most requests waiting at the same time on the server
CooldownMinutes60How long a player waits after a declined request before applying again
NameLength{ 3, 24 }Shortest and longest gang name (at most 32)
NoteLength200Longest "about your gang" text

The commands are set under Commands:

CreateGang = 'creategang',        -- players: apply for a new gang
GangRequests = 'gangrequests',    -- admins: approve or decline gang requests

If you use an item, add it to your inventory's item list, for example in ox_inventory data/items.lua:

['gang_papers'] = { label = 'Gang Papers', weight = 50, stack = true, close = true, description = 'Papers to register a new gang' },

🔌 Opening the form from your own script

Open the registration form (or the player's waiting request) from a client script, for example from your own NPC:

exports['kartik-gangs']:OpenGangRegistration()

See Client Exports.

On this page