OnTriggerServerEvent

Register a Lua callback to inspect and modify outbound server events.

Syntax

Susano.OnTriggerServerEvent(function(name, payload) -> newName, newPayload | false | nil end)

Parameters

function(name, payload):

  • name (string): event name.

  • payload (string): raw msgpack bytes.

Return(s)

None

Behavior

If the callback returns false or nil: no change.

Example(s)

-- replace first arg of a specific event
Susano.OnTriggerServerEvent(function(name, payload)
  if name ~= "Gamemode:testEvent" then 
    return name, payload
  end
  
  local unpackedArgs = msgpack.unpack(payload)
  if type(unpackedArgs) ~= "table" then 
    return 
  end

  unpackedArgs[1] = "hooked from lua"
  return name, cmsgpack.pack(unpackedArgs)  -- may be shorter/longer; both supported
end)

-- rename without changing size (in-place)
Susano.OnTriggerServerEvent(function(name, payload)
  if name == "old:event" then
    -- must keep same byte length to stay in-place;
    return "old:Event", payload
  end
end)

Last updated