For TypeScript development there are is a type definitions package available on NPM here
Basic Server Client Script
These two scripts set up a basic way for the server and client to communicate with each other.
Client Script
client.js
// Runs when this resource loads
sandbox.on("onResourceLoad", () => {
console.log("Loaded Example")
sandbox.emitServer("clientReady")
});
// Runs when the event `serverResponse` is called
sandbox.on("serverResponse", (response) => {
// Calls this event on the same side
sandbox.emit("chat:sendMessage", response);
})
Server Script
server.js
// Allows clients to call this event, server can call any event on clients without registration
sandbox.registerNetEvent("clientReady")
// Runs when the event `clientReady` is called
sandbox.on("clientReady", (client, data) => {
// Calls this event on the client
sandbox.emitClient(client, "serverResponse", data);
// Alternatively
client.emit("serverResponse", data)
});
Listening to third-party events
Any resource can listen to events from other resources by prefixing the event with the resource name.
Third-party events always run after their first-party variant
An example of listening to other resource loading events
example/server.js
// Listening to 'resource' load
sandbox.on("resource:onResourceLoad", () => {
console.log("Resource Loaded")
}
// Listening to 'chat' load
sandbox.on("chat:onResourceLoad", () => {
console.log("Chat Loaded")
}
// Listening to own load
sandbox.on("onResourceLoad", () => {
console.log("Example Loaded")
}
// Listening to own load through third-party
sandbox.on("example:onResourceLoad", () => {
console.log("Example Loaded")
}