Skip to content
On this page

Parameters Commands


Set initial level

  • Property: player.initialLevel
  • Type: number
  • Optional: false
  • Default: 1
  • Usage:
ts
player.initialLevel = 5

Set final level

  • Property: player.finalLevel
  • Type: number
  • Optional: false
  • Default: 99
  • Usage:
ts
player.finalLevel = 50

Change Experience Curve

  • Property: player.expCurve
  • Type: object
  • Optional: false
  • Default: ``
  • Usage:

With Object-based syntax, you can use following options:

  • basis: number
  • extra: number
  • accelerationA: number
  • accelerationB: number

Change HP

  • Property: player.hp
  • Type: number
  • Optional: false
  • Default: MaxHPValue
  • Usage:

Changes the health points

  • Cannot exceed the MaxHP parameter
  • Cannot have a negative value
  • If the value is 0, a hook named onDead() is called in the RpgPlayer class.
ts
player.hp = 100

Change SP

  • Property: player.sp
  • Type: number
  • Optional: false
  • Default: MaxSPValue
  • Usage:

Changes the skill points

  • Cannot exceed the MaxSP parameter
  • Cannot have a negative value
ts
player.sp = 200

Change Experience

  • Property: player.exp
  • Type: number
  • Optional: false
  • Default: 0
  • Usage:

Changing the player's experience.

ts
player.exp += 100

Levels are based on the experience curve.

ts
console.log(player.level) // 1
console.log(player.expForNextlevel) // 150
player.exp += 160
console.log(player.level) // 2

Change Level

  • Property: player.level
  • Type: number
  • Optional: false
  • Default: 1
  • Usage:

Changing the player's level.

ts
player.level += 1

The level will be between the initial level given by the initialLevel and final level given by finalLevel

ts
player.finalLevel = 50
player.level = 60 
console.log(player.level) // 50

Experience for next level ?

  • Property: player.expForNextlevel
  • Type: number
  • Optional: false
  • Read Only
  • Usage:
ts
console.log(player.expForNextlevel) // 150

Get Param Value

  • Property: player.param
  • Type: object
  • Optional: false
  • Read Only
  • Usage:

Read the value of a parameter. Put the name of the parameter.

ts
import { Presets } from '@rpgjs/server'

const { MAXHP } = Presets 

console.log(player.param[MAXHP])

Possible to use the player.getParamValue(name) method instead


Set Parameters Modifier

  • Property: paramsModifier
  • Type: Object
  • Optional: true
  • Example:
ts
import { Presets } from '@rpgjs/server'

const { MAXHP } = Presets

player.paramsModifier = {
     [MAXHP]: {
         value: 100
     }
}
  1. Player has 741 MaxHp
  2. After changing the parameter, he will have 841 MaxHp
  • Usage:

Changes the values of some parameters

It is important that these parameters have been created beforehand with the addParameter() method. By default, the following settings have been created:

  • maxhp
  • maxsp
  • str
  • int
  • dex
  • agi

Object Key

The key of the object is the name of the parameter

The good practice is to retrieve the name coming from a constant

Object Value

The value of the key is an object containing:

{
  value: number,
  rate: number
}
  • value: Adds a number to the parameter
  • rate: Adds a rate to the parameter

Note that you can put both (value and rate)

In the case of a state or the equipment of a weapon or armor, the parameters will be changed but if the state disappears or the armor/weapon is de-equipped, then the parameters will return to the initial state.


Add custom parameters

  • Method: player.addParameter(name,curve)
  • Arguments:
    • {name} name. (Optional: false)
    • {object} curve. Scheme of the object: { start: number, end: number } (Optional: false)
  • Return: void
  • Usage:

Give a new parameter. Give a start value and an end value. The start value will be set to the level set at player.initialLevel and the end value will be linked to the level set at player.finalLevel.

ts
const SPEED = 'speed'

player.addParameter(SPEED, {
    start: 10,
    end: 100
})

player.param[SPEED] // 10
player.level += 5
player.param[SPEED] // 14

Recovery HP and/or SP

  • Method: player.recovery(params)
  • Arguments:
    • {object} params. Scheme of the object: { hp: number, sp: number }. The values of the numbers must be in 0 and 1 (Optional: false)
  • Return: void
  • Usage:

Gives back in percentage of health points to skill points

ts
import { Presets } from '@rpgjs/server'

const { MAXHP } = Presets 

console.log(player.param[MAXHP]) // 800
player.hp = 100
player.recovery({ hp: 0.5 }) // = 800 * 0.5
console.log(player.hp) // 400

All Recovery

  • Method: player.allRecovery()
  • Return: void
  • Usage:

restores all HP and SP

ts
import { Presets } from '@rpgjs/server'

const { MAXHP, MAXSP } = Presets 

console.log(player.param[MAXHP], player.param[MAXSP]) // 800, 230
player.hp = 100
player.sp = 0
player.allRecovery()
console.log(player.hp, player.sp) // 800, 230