Introduction
Client events are essential for handling player-specific actions, UI updates, and local game state changes in RSG Framework. They run on each playerโs machine and allow for responsive, individualized gameplay experiences.Client events run locally on each playerโs machine and can be triggered by the server using
TriggerClientEvent or by other client-side code using TriggerEvent.How It Works
Event Flow
Registering Events
Client events are registered usingRegisterNetEvent:
Client events are not synchronized between players. Each playerโs client runs independently!
Core Lifecycle Events
RSGCore:Client:OnPlayerLoaded
Triggered when a player successfully loads into the server after character selection. This is the most important event for initializing player-specific client-side features.- Initialize HUD elements
- Start player status monitors
- Load player-specific blips/markers
- Set up keybinds
- Initialize job-specific UI
- Restore player settings
RSGCore:Client:OnPlayerUnload
Triggered when a player logs out or returns to character selection. Use this to clean up client-side data and stop threads.- Stop running threads
- Clear temporary blips/markers
- Reset UI to default state
- Save client-side settings
- Clean up job-specific features
Player Data Events
RSGCore:Player:SetPlayerData
Triggered whenever player data changes (job update, money change, metadata update, etc.). Essential for keeping UI synchronized with server data.- Update HUD when money changes
- Refresh job display when job updates
- Update status bars when metadata changes
- Sync inventory UI
- Update player name displays
Job & Duty Events
RSGCore:Client:OnJobUpdate
Triggered when a playerโs job changes.RSGCore:Client:SetDuty
Triggered when a playerโs duty status changes.Vehicle Events
RSGCore:Command:SpawnVehicle
Spawns a vehicle near the player.RSGCore:Command:DeleteVehicle
Deletes the vehicle the player is in or near.Item & Inventory Events
RSGCore:Client:UseItem
Triggered when a player uses an item. Often called by the server after validation.System Events
RSGCore:Client:PvpHasToggled
Triggered when PVP mode is enabled or disabled for the player.RSGCore:Client:UpdateObject
Used to refresh the RSGCore object when using shared exports. Important for hot-reloading.This event is automatically triggered when rsg-core restarts. Include it in your resources to support hot-reloading!
Notification Events
Common Notification Pattern
Best Practices
1. Always Get Fresh PlayerData
2. Clean Up on Player Unload
3. Use Progress Bars for Actions
4. Validate Before Processing
Common Patterns
Pattern 1: Animation with Callback
Pattern 2: Proximity Activation
Pattern 3: Status Monitor
Troubleshooting
Event Not Triggering
Check if player is loaded
Check if player is loaded
Some events only work after
RSGCore:Client:OnPlayerLoadedVerify event name
Verify event name
Event names are case-sensitive and must match exactly
Check console for errors
Check console for errors
Press F8 to open client console and look for error messages
PlayerData is Nil
UI Not Updating
Summary
Next Steps
- Server Events - Server-side event reference
- Client Functions - Client function reference
- Threads & Loops - Learn about CreateThread
Need more help? Join the RSG Framework Discord!