-
-
Notifications
You must be signed in to change notification settings - Fork 37
JavaScript Events
Neeko edited this page Jun 22, 2026
·
2 revisions
omp-cef supports server <-> browser event communication.
Pawn:
CEF_EmitEvent(playerid, browserid, "hud:update", CEF_INT(100), CEF_FLOAT(42.5), CEF_STR("hello"));JavaScript:
cef.on("hud:update", (health, speed, message) => {
console.log({ health, speed, message });
});Pawn registration:
CEF_RegisterEvent("login:submit", "OnLoginSubmit", Argument_String, Argument_String);Pawn callback:
forward OnLoginSubmit(playerid, browserid, const username[], const password[]);
public OnLoginSubmit(playerid, browserid, const username[], const password[])
{
printf("Login submit: browserid=%d, player=%d username=%s", browserid, playerid, username);
return 1;
}JavaScript:
cef.emit("login:submit", "Neeko", "secret");Pawn helpers:
CEF_STR("text")
CEF_INT(123)
CEF_FLOAT(12.5)
CEF_BOOL(true)Argument enum:
enum E_CEF_ARGUMENT_TYPE
{
Argument_String,
Argument_Integer,
Argument_Float,
Argument_Bool
};Use namespaced event names:
login:submit
login:error
hud:update
phone:open
phone:close
inventory:selectAvoid generic names:
click
submit
updateTreat JavaScript events as client input.
Always validate server-side:
- player state
- permissions
- distance to entity
- item ownership
- cooldowns
- value ranges
- string lengths
- ...
Never trust a CEF event just because it came from your own UI.
CEF Plugin — Client & Server for SA-MP / open.mp
Issues & PRs welcome.