docs/docs/rage-fw/0.3.0/client.md
2025-02-05 15:56:38 +00:00

151 lines
2.8 KiB
Markdown

---
outline: [2, 4]
---
# Client <Badge type="tip" text="^0.3.0" />
Package used on a client-side of your Rage:MP Server
## Usage
```ts
import { fw } from '@entityseven/rage-fw-client'
```
Only usable in client environment. For usage in [Server](./server) and [Browser](./browser) refer to their docs
## Declaration
```ts
fw = {
event: Client,
player: Player,
system: {
log: Logger
},
rpc: Rpc
}
```
Further documentation will describe the fields included in `fw`
## Client
Client-side interactions
### register
Registers a client event with an associated callback
```ts
fw.event.register("playerDeath", (player, reason, killer) => {
// do something
})
// Registering an event with middlewares
fw.event.register("playerDeath", (player, reason, killer) => {
// do something
}, {
middlewares: [...] // <- your middlewares here
})
// or
fw.event.register("playerDeath", (player, reason, killer) => {
// do something
}, {
middlewares: {
executables: [...], // <- your middlewares here
onError: (msg) => void msg // <- error handling here
}
})
```
### unregister
Unregisters a client event, removing the associated callback
```ts
fw.event.unregister('playerDeath')
```
## Player
Handles event manipulations that require player to be present in context
### browser
Setter. Also shares browser with `rage-fw-rpc`
```ts
fw.player.browser = mp.browsers.new('package://index.html')
```
### trigger
Triggers registered client event with passed arguments. Formerly known as `call` or `emit`
```ts
// without args
fw.player.trigger('clientEventName')
// with args
fw.player.trigger('clientEventName', ['message to me'])
```
### triggerServer
Triggers a server event from the client with arguments from shared types. Formerly known as `callServer` or `emitServer`
```ts
// without args
fw.player.triggerServer('serverEventName')
// with args
fw.player.triggerServer('serverEventName', ['message to server'])
```
### triggerBrowser
Triggers a browser event from the client with arguments from shared types. Formerly known as `callBrowser` or `emitBrowser`
```ts
// without args
fw.player.triggerBrowser('browserEventName')
// with args
fw.player.triggerBrowser('browserEventName', ['message to browser'])
```
## System
Handles functions used to interact with the client environment
### Logger
Used to log to a client in-game console
### info
Informational logs. Colored in white
```ts
fw.system.log.info('some information to be logged')
```
### warn
Warning logs. Colored in yellow
```ts
fw.system.log.warn('warning message')
```
### error
Error logs. Colored in red
```ts
fw.system.log.info('some error information')
```
## Rpc
`rage-fw-rpc` instance used under the hood. It is highly recommended to use this one if you need it instead of creating a new instance