Framework Events API
C7 Framework V3 provides server and client events that fire whenever a player loads or unloads a character.
These events allow developers to integrate jobs, inventories, HUDs, and other systems that depend on character data.
All events below are triggered automatically by the framework.
Player Load Events
C7FW:PLAYER_LOADED
Triggered when a player finishes selecting a character and has fully loaded into the game world.
What this event can be used for:
This is the main entry point for loading:
jobs
inventories
HUD systems
duty systems
character-based data
Server Event:
Event Name
C7FW:PLAYER_LOADED
Arguments
src
number
Player server ID
character
table
Character data table
Example
AddEventHandler("C7FW:PLAYER_LOADED", function(src, character)
print(("[C7FW] Player %s loaded character %s %s"):format(
src,
character.char_first_name,
character.char_last_name
))
-- Load job systems
-- Give duty items
-- Initialize inventory
end)C7FW:PLAYER_UNLOADED
What this event can be used for:
Triggered whenever a character is unloaded, including:
Player disconnect
Character switch
Character deletion
Resource restart
Forced cleanup
This ensures all external systems can safely shut down.
Server Event:
Event Name
C7FW:PLAYER_UNLOADEDArguments
src
number
Player server ID
character
table
Character data table
Example
AddEventHandler("C7FW:PLAYER_UNLOADED", function(src, character)
print(("[C7FW] Player %s unloaded %s %s"):format(
src,
character.char_first_name,
character.char_last_name
))
-- Stop duty timers
-- Save custom data
-- Cleanup inventory
end)Character Read Database Events
These events fire when characters are created, modified, or removed. They are intended for logging, syncing external systems, or backend integrations.
All events below are server-side only.
C7FW:CharacterCreated
This fires when a character has been successfully created.
C7FW:CharacterModified
Fires whenever a character is updated.
Server Event:
Event
c7fw:CharacterModifiedExample
AddEventHandler("c7fw:CharacterModified", function(src, payload)
local char = payload.character
local old = payload.old
print("Character updated:", char.char_id)
if old and old.char_callsign ~= char.char_callsign then
print("Callsign changed:", old.char_callsign, "→", char.char_callsign)
end
end)Character Force Database Events
These events allow administrators or backend systems to force create, edit, or remove characters directly in the database.
They bypass normal UI flows and are intended for:
admin panels
staff tools
migrations
external integrations
All events below are server-side only.
C7FW:ForceCreateCharacter
This forces a new character to be created in the database.
What this event can be used for:
Admin character creation tools
Discord bot integrations
CAD sync
Data imports
Staff recovery tools
Server Event:
Event
Arguments
target
number | string
Player server ID OR license
data
table
Character data
cb
function
Callback (success, result)
Data Table Fields
All fields are optional unless stated.
first / char_first_name
First name
last / char_last_name
Last name
dob / char_dob
Date of birth
gender / char_gender
Gender
ethnicity / char_ethnicity
Ethnicity
department / char_department
Department
callsign / char_callsign
Callsign
image_url / char_image_url
Image URL
height / char_height
Height
weight / char_weight
Weight
license / char_steamid
License override
discord / char_discord
Discord ID override
char_id
Optional custom character ID
Callback Returns
success
boolean
result
charID or error string
Example
Event Flow Overview
On Join
On Switch / Disconnect
On Database Changes
Best Practices
Use
PLAYER_LOADEDfor gameplay systemsUse
CharacterCreatedfor logging/backendsNever assume client order of execution
Events are case-sensitive
All character tables are safe copies
Last updated