SALESup to -59%Sales are live in the shop: see the deals
← All scripts

NC Party — Parties, Friends & Loot

Parties up to 5 players (configurable), with a /party panel, invites, friends, party finder, chat and private messages, mate boxes on the side of the screen, minimap blips, a symbol over the head, no friendly fire and loot split. The server decides everything: players only send requests, with anti-spam limits.

  • Works with Qbox, QBCore, ESX or without a framework (detected automatically at start).
  • 9 languages: Italian, English, German, French, Spanish, Portuguese, Chinese, Japanese, Korean.
  • 5 graphic styles for panel, boxes, invites, notices and symbol: fantasy, scifi, horror, steampunk, dieselpunk (can follow the NC Rift style by itself).
  • No database: friends are saved on the server (resource KVP).
  • Lightweight: about 0.00 ms on the client and the server (resmon with a party of 3 nearby, symbols drawn, panel open and fighting).
  • Runs alone or together with NC Rift (level in the boxes, EXP and rewards of mobs, bosses and rifts split in the party).

Full config guide (every option): CONFIG_GUIDE.md.

Requirements

  • FiveM server with OneSync on.
  • The nc_bridge resource (shared library of the NC resources) in resources/.
  • The nc_assets resource (icons over the mates' heads) in resources/.
  • Optional: a framework (character name, loot money), ox_inventory / qb-inventory (loot items), a notification resource (Config.Integrations). Without them the resource uses its own functions.

Installation

  1. Copy the nc_bridge, nc_assets and nc_party folders into resources/.
  2. In server.cfg, after the framework and the inventory (and before nc_rift, if you use it):
ensure nc_bridge
ensure nc_assets
ensure nc_party
  1. Restart the server and join: /party opens the panel.

Dependencies and start order

  • nc_bridge: shared library of the NC resources, required. If you own several NC packs bought at different times keep only one nc_bridge folder, the newest.
  • nc_assets: peds, weapons, animations, effects, interiors and sounds of nc_party, nc_rift and nc_dungeon in one pack, with no duplicate files. Every pack holds the part it needs: if you own more than one, copy all the nc_assets folders into the same folder. Start it only with the server: never ensure/restart it with players inside, the clients crash.
  • The old asset resources of the 1.x versions must never run together with nc_assets (same file names): if one is still running, nc_assets prints a red warning in the console. Updating from 1.x: the MIGRATION.md guide inside nc_bridge.

Order in server.cfg, after the framework and the inventory (keep only the resources you have):

ensure nc_bridge
ensure nc_assets
ensure nc_party
ensure nc_rift
ensure nc_dungeon

What's inside

PartWhat it does
PartyCreate, leave, invite by ID or the nearest player, accept / refuse, kick a member, pass the lead. The party is disbanded when one person is left; if the leader leaves, a new one takes over.
/party panelParty, Find, Friends, Chat tabs. Also opens with a key (Config.PanelKey, each player can change it in the FiveM settings). Esc or × close it.
Party finderThe leader sets the party to "looking for members" with a note, a solo player sets "looking for a party"; "Ask to join" sends the leader a request to accept.
FriendsAdd an online player by ID, incoming and sent requests, who is online, notice when a friend joins the server.
Chat & PMParty chat in the panel and private messages (/pm <id> <text>) to mates (or to online friends, if enabled). Short on-screen notice when the panel is closed.
BoxesOne box per member: photo, name, level, health, armour, mana; leader with the crown and always on top; "Far", "Down", "Disconnected" states. /partyhud hides / shows them.
MinimapA blip with the name for every mate, even far away or in another dimension.
SymbolIcon over the head of nearby mates (gem, crown, star, arrow), different for the leader, hidden behind walls.
No friendly fireWeapons, melee and explosions between mates cancelled by the server; the leader can turn it off for their party.
LootThe leader picks how to split the loot that other resources pass to nc_party: whoever takes it, in turn, random, split, all to the leader. Only nearby members get loot. Given to ox_inventory, qb-inventory or the framework inventory.

Commands

CommandWhoWhat it does
/partyeveryoneopens the panel (name in Config.Command)
/partyhudeveryonehides / shows the boxes (choice saved on the player's PC; Config.Hud.toggleCommand)
/pm <id> <text>everyoneprivate message to a mate (Config.Chat.pmCommand)

To limit the party to a group: Config.AcePermission (e.g. 'group.vip'). The /pt_* commands exist only with Config.Debug = true (test tools, off on a live server).

For other resources (server side)

  • exports.nc_party:IsInParty(src) → true / false.
  • exports.nc_party:GetParty(src) → copy of the party (id, leader, members, max, loot, noff, lfg) or nil.
  • exports.nc_party:ArePartyMates(a, b) → true if a and b are two players of the same party.
  • exports.nc_party:GetPartyMembers(src) → { server ids... } of src's party (src included, leader first) or nil.
  • exports.nc_party:CreateParty(leaderSrc) → partyId of the new party led by leaderSrc, or nil, code (target_offline bad or offline id, denied without Config.AcePermission, already_in_party). For matchmaking.
  • exports.nc_party:AddMember(partyId, src) → true, or false, code (party_gone no such party, target_offline, denied, already_in_party, party_full). Every member gets the updated party. The codes are the notify_<code> keys of the locales: the calling resource decides what to tell the players.
  • Event nc_party:onPartyChanged (partyId, members): after every change; members = nil = party disbanded.
  • exports.nc_party:Distribute(src, items, ctx) → splits the loot among src's nearby mates (party mode) and gives it through Config.Bridge.Inventory; returns who got what, with ok on every entry. Same with TriggerEvent('nc_party:distributeLoot', src, items, ctx) (server side only).
    • items = { { name = 'bread', count = 3 }, { name = 'money', count = 900, kind = 'money' } } (at most 100 entries; kind = 'money' = money with name = account: money/cash, bank...; optional metadata).
    • ctx (optional) = { coords = vector3(x, y, z) }: where the loot is (for the distance), otherwise src's position.
    • An entry with ok ~= true was not given: the calling resource gives it itself.

With NC Rift there is nothing to do: if nc_party is started, nc_rift splits EXP and rewards in the party by itself.

Open and editable files

The core of the resource is protected (Cfx escrow). These stay readable and editable:

FileWhat you change there
config.luaall the options (see the guide)
locales/*.luathe texts in the 9 languages
nc_bridge (separate resource)framework, player name, notices, graphic style and loot giving (lib/inventory.lua, for other inventories): Config.Bridge.* in the nc_bridge configuration guide
open/client/mana.luawhere to read the mana from (OpenClient.GetMana)
nc_bridge/web/themes/*.csscolours and fonts of the 5 styles

Languages

Texts are in locales/*.lua. For a new language copy locales/en.lua, translate the texts (keys and the %s / %d placeholders stay the same) and set Config.Locale. Chinese, Japanese and Korean show in the panel, the boxes and the themed notices (Config.UI.Notify = 'nui'), not in the GTA notification.

The full guide in 9 languages is also in the resource's docs/ folder.