Appearance
Save the player's progress 
It is necessary to know 
- The goal is to save the player's status and put the data in the database of your choice (SQL, NoSQL, LocalStorage (for browser), etc.).
Example 
Two methods will be necessary:
Example (with axios request)
Add a file in main/server/events/npc.ts
ts
import { RpgEvent, EventData, RpgPlayer } from '@rpgjs/server'
@EventData({
    name: 'EV-1'
})
export default class CharaEvent extends RpgEvent {
    onInit() {
        this.setGraphic('chara')
    }
    async onAction(player: RpgPlayer) {
        const choice = await player.showChoices('Do you whant save your progress?', [
            { text: 'Yes', value: true },
            { text: 'No', value: false }
        ])
        if (choice.value) {
            const json = player.save()
            try {
                await axios.post('https://my-backend-game/save', {
                    data: json,
                    playerId: 123 // An identifier that you must have defined when the player was loaded in the game (be careful, do not use player.id which changes every time you log in)
                })
                player.showNotification('Your progress has been saved')
            }
            catch (err) {
                console.log(err)
                player.showNotification('Save failed')
            }
        }
    }
}See Create Event to add event in map
Screens 
You decide when you want to save the player's game.
If you want screens to save or load a game, use the following plugins: