Persistent, server-authoritative community service for Qbox.
- qbx_core
- ox_lib
- ox_target
- oxmysql
- Put
qbx-communityservicein your resources folder. - Import
install.sqlinto your database. - Add these lines after the dependencies in
server.cfg:
ensure oxmysql
ensure ox_lib
ensure ox_target
ensure qbx_core
ensure qbx-communityservice
add_ace group.admin communityservice.manage allow- Adjust locations and behavior in
config.lua.
/comserv [playerId] [actions]/endcomserv [playerId]/comservcheck [playerId]
Commands require the communityservice.manage ACE. Console is always permitted.
exports['qbx-communityservice']:AssignService(playerId, actions, assignedBySource)
exports['qbx-communityservice']:ReleaseService(playerId)
local remaining = exports['qbx-communityservice']:GetRemainingActions(playerId)- The server stores the authoritative action count.
- The server selects the active task.
- Completion is accepted only for that task, near its configured coordinates, after the configured duration/cooldown.
- Leaving the service radius can add actions and teleport the player back.
- Progress persists by citizen ID across reconnects and restarts.
The script uses its own table and does not modify Qbox-owned database tables. Change Config.UseTarget to false to use marker + E-key interaction instead of ox_target.