- Docs
- Gameplay Camera
- Roles and permissions
M2Line M2 · Gameplay CameraView in store →
Roles and permissions
Everyone can use the camera. Roles give more room to people who film for a living on your server.
| Role | Meant for | How to give it |
|---|---|---|
| Player | Everyone | Nothing to do |
| Press crew | Journalists, camera operators | ACE mlr-gameplaycam.press or a job in Config.Roles.press.jobs |
| Director | Server owners, admins making trailers | ACE mlr-gameplaycam.director or a job in Config.Roles.director.jobs |
A player gets the highest role they qualify for (Config.Roles.Order).
#Limits per role
| Player | Press crew | Director | |
|---|---|---|---|
| Points in one path | 16 | 64 | 200 |
| Longest path | 60 s | 600 s | 1800 s |
| Saved paths | 10 | 50 | 200 |
| Distance from the character | 15 m | 60 m | 250 m |
| Flying speed | 1 | 3 | 8 |
| Distance a followed target can go from the character | No follow tool | No limit | No limit |
#Limit the follow distance
Press crews and directors can follow a target as far as it goes by default. To set a limit, change followMaxDistance for the role in Config.Roles. The value is in metres, and 0 means no limit.
press = {
-- ...
followMaxDistance = 300.0, -- the shot ends when the target is 300 m from the character
},Give the setting to a role only if that role has the follow feature. If a role has follow but no followMaxDistance, the limit is twice its maxDistance.
#Tools per role
The tools are listed in features of each role in Config.Roles:
| Feature | What it unlocks |
|---|---|
frame |
Film ratio and camera shake |
record |
Record take |
follow |
Follow a moving target |
multicam |
Live cameras |
scene |
Time, weather, clean streets, hide other players |
sequence |
Shot sequences |
You can give a feature to another role or take it away: add or remove it in that role's features table.
#How it works
When a player joins, and every time the camera opens, the client asks the server for the player's role. The server checks the ACE permissions and the job (QBCore: only while on duty) and answers with the role name. A job change is sent at once.
The client never sends a role, so a player cannot give themselves one. The limits themselves (points, duration, distance) are applied by the camera on the player's computer. A modified client could widen its own camera, but this affects nobody else.
#Check a role
- In game:
/camrole - From another resource (server side):
exports['mlr-gameplaycam']:GetRole(source)returns'player','press'or'director'.