Exports
Register and trigger events, create RPC listeners and call them between server, client and browser environments.
Server and client
Adding events
Register individual or grouped local and global events.
exports["fivem-rpc"]:on(eventName, cb)Adds a single local event.
eventNamestringcbEventCallback—exports["fivem-rpc"]:onGlobal(eventName, cb)Adds a single global event.
eventNamestringcbEventCallback—exports["fivem-rpc"]:onMany(e)Adds multiple local events from a key-value table.
eRecord<string, EventCallback>—exports["fivem-rpc"]:onGlobalMany(e)Adds multiple global events from a key-value table.
eRecord<string, EventCallback>—Examples
- on
- onGlobal
- onMany
- onGlobalMany
on
Local event example.
exports['fivem-rpc']:on('onPlayerLogin', function(playerSource)
print(playerSource)
end)
onGlobal
Global event example.
exports['fivem-rpc']:onGlobal('onPlayerLogin', function(playerSource)
print(playerSource)
end)
onMany
Multiple local events example.
exports['fivem-rpc']:onMany({
['onPlayerLogin'] = function(playerSource)
print(playerSource)
end,
['onPlayerLogout'] = function(playerSource)
print(playerSource)
end
})
onGlobalMany
Multiple global events example.
exports['fivem-rpc']:onGlobalMany({
['onPlayerLogin'] = function(playerSource)
print(playerSource)
end,
['onPlayerLogout'] = function(playerSource)
print(playerSource)
end
})
Triggering events
Trigger a local or global event with optional arguments.
exports["fivem-rpc"]:trigger(eventName, args?)Triggers a local event.
eventNamestringargs?any—exports["fivem-rpc"]:triggerGlobal(eventName, args?)Triggers a global event.
eventNamestringargs?any—Examples
- trigger
- triggerGlobal
trigger
Local event trigger example.
exports["fivem-rpc"]:trigger("onPlayerLogin", 2)
triggerGlobal
Global event trigger example.
exports["fivem-rpc"]:triggerGlobal("onPlayerLogin", 2)
Creating listeners
Register local or global RPC listeners.
exports["fivem-rpc"]:register(eventName, cb)Registers a local RPC listener.
eventNamestringcbRemoteCallback—exports["fivem-rpc"]:registerGlobal(eventName, cb)Registers a global RPC listener.
eventNamestringcbRemoteCallback—Examples
- register
- registerGlobal
Register the listener
Register the listener on the client.
exports["fivem-rpc"]:register("isPlayerSwimming", function()
return IsPedSwimming(PlayerPedId())
end)
Call the listener
Call the event from the server.
local isSwimming = exports["fivem-rpc"]:callClient(source, "isPlayerSwimming")
print(isSwimming)
Register the global listener
Register the listener on the client.
exports["fivem-rpc"]:registerGlobal("isPlayerSwimming", function()
return IsPedSwimming(PlayerPedId())
end)
Call the global listener
Call the event from the server.
local isSwimming = exports["fivem-rpc"]:callGlobalClient(source, "isPlayerSwimming")
print(isSwimming)
Calling listeners
Call registered listeners from the server, client or either shared environment.
callClient(source, eventName, args)Server only.
source—eventName—args——callGlobalClient(source, eventName, args)Server only.
source—eventName—args——callServer(eventName, args)Client only.
eventName—args——callGlobalServer(eventName, args)Client only.
eventName—args——call(eventName, args)Shared.
eventName—args——callGlobal(eventName, args)Shared.
eventName—args——Browser / NUI / CEF
Import the browser.js or browser.ts file into your frontend.
Browser RPC functions
Global event and listener functions available in the browser environment.
- triggerGlobalServer(eventName: string, args?: any)
- triggerGlobalClient(eventName: string, args?: any)
- callGlobalServer<T>(eventName: string, args?:any): Promise<T>
- callGlobalClient<T>(eventName: string, args?:any): Promise<T>