Server
Task groups (server). Membership and party helpers. Local queries and menu toggle live on client.
Task groups (server)
Membership and party helpers. Local queries and menu toggle live on client.
Prefer bridge.taskGroups after @Newb_Bridge/import.lua. Matching exports also exist (CreateTaskGroup, AddToTaskGroup, …).
Create / membership
| Method | Signature | Returns |
|---|---|---|
create | (groupId: string, leaderSrc?: number) | boolean |
add | (groupId: string, src: number) | boolean |
remove | (groupId: string, src: number) | boolean |
clear | (groupId: string) | boolean |
delete | (groupId: string) | boolean |
local groupId = ('delivery_%s'):format(src)
bridge.taskGroups.create(groupId, src)Queries
| Method | Signature | Returns |
|---|---|---|
has | (groupId: string, src: number) | boolean |
isLeader | (groupId: string, src: number) | boolean |
getLeader | (groupId: string) | number | false |
setLeader | (groupId: string, src: number) | boolean |
getMembers | (groupId: string) | number[] |
getPlayerGroups | (src: number) | string[] |
getMemberCount | (groupId: string) | number |
getPrimaryGroupId | (src: number) | string? |
if not bridge.taskGroups.has(groupId, src) then return end
local members = bridge.taskGroups.getMembers(groupId)
for i = 1, #members do
TriggerClientEvent('MyJob:Client:SyncCrew', members[i], payload)
endParty helpers
| Method | Signature | Returns |
|---|---|---|
createWithOptions | (src: number, options: table) | string? group id |
leaveAllGroups | (src: number) | void |
joinByCode | (src: number, code: string) | boolean, string?, string? |
kickMember | (groupId: string, actor: number, target: number) | boolean |
disband | (groupId: string, actor: number) | boolean |
getBrowsableGroups | () | table[] |
buildClientGroup | (groupId: string) | menu-ready group table or nil |
createWithOptions options: { id?, name?, image?, maxPlayers?, public? }.
local groupId = bridge.taskGroups.createWithOptions(src, {
name = 'Moonshine Run',
maxPlayers = 4,
public = true,
})
if not groupId then return endMenu
exports.Newb_Bridge:OpenTaskGroupMenu(src)Server only has OpenTaskGroupMenu. CloseTaskGroupMenu / IsTaskGroupMenuOpen are client exports.
Events
Emitted by Newb_Bridge:
| Event | When |
|---|---|
Newb_Bridge:server:taskGroupCreated | Group created |
Newb_Bridge:server:taskGroupMemberAdded | Member joined |
Newb_Bridge:server:taskGroupMemberRemoved | Member left / kicked |
Newb_Bridge:server:taskGroupLeaderChanged | Leader changed |
Newb_Bridge:server:taskGroupCleared | Members cleared |
Newb_Bridge:server:taskGroupDeleted | Group deleted |
AddEventHandler('Newb_Bridge:server:taskGroupMemberAdded', function(groupId, memberSrc)
print(memberSrc, 'joined', groupId)
end)End-to-end example
RegisterNetEvent('MyHeist:Server:StartCrew', function()
local src = source
local ped = GetPlayerPed(src)
if ped == 0 or not DoesEntityExist(ped) then return end
local groupId = bridge.taskGroups.createWithOptions(src, {
name = 'Vault Crew',
maxPlayers = 4,
public = false,
})
if not groupId then return end
TriggerClientEvent('MyHeist:Client:CrewReady', src, groupId)
end)