Add Framework for Managing different Kind of experience, e.g. farming experience for getting faster crops as more farming you have done.

ademant 3090d2e9ee mod.conf 5 роки тому
locale d752d27df0 prepared for translations 5 роки тому
textures 1839396c82 some textures; errors 6 роки тому
README.md 1e04f0e4c2 explained mod name 5 роки тому
api.lua 861d2810be error in substraction function 5 роки тому
chat_commands.lua 916fecb451 code cleaning 6 роки тому
cmi.lua 238e017d70 change readme 5 роки тому
config.lua c456bf1d29 add new element playtime 5 роки тому
depends.txt ee61d22102 compat for mt 0.4.17 5 роки тому
init.lua d752d27df0 prepared for translations 5 роки тому
intllib.lua d752d27df0 prepared for translations 5 роки тому
license.txt a5fb2c1a19 update readme 5 роки тому
mod.conf 3090d2e9ee mod.conf 5 роки тому
register.lua 91bf0b847e Documentation 5 роки тому
settingtypes.txt 1ab7334099 adjust light mean level 5 роки тому

README.md

Minetest Game mod: XPFW (eXPerience FrameWork)

See license.txt for license information.

Main repository:

https://notabug.org/ademant/minetest_xpfw.git

Mirrors:

https://gitlab.com/ademant/minetest_xpfw.git

https://github.com/ademant/minetest_xpfw.git

Works only with Minetest >= 5.0

Minetest <= 0.4.17 does not support the mechanism for handling player related meta data.

Short description

XPFW provide an API for storing values relevant for experience mechanism into player metadata (Identified with prefix "XPFW_"). It also stores several statistic values during playtime:

  • Walked distances calculated out of velocity (important: teleporting does not influence this value)
  • accumulated distance out of comparing with last known position (important: teleporting is included in this value)
  • whole playtime on the server
  • amount of dug nodes
  • amount of build nodes
  • amount of crafted items
  • amount of occured deahts
  • amount of text messages
  • amount of logins

For several amounts also a kind of speed is calculated, like walking speed or crafting speed.

Chat Commands

Following chat commands are available:

/xpfw

prints stored values of XPFW in the chat window

/xphud

toggle the visible statistics in players hud on/off

/xpreset

set all values to default

/xpset

need xpfwset privilege
Set variable of user to new value

Usage

Usage (roughly), for Details see api.lua:

  • xpfw.register_attribute(name,data) to register new attribute
  • xpfw.player_get_attribute(player,name) Get stored value of attribute for ObjectRef player
  • xpfw.player_set_attribute(player,name, value) Set attribute for ObjectRef player to
  • xpfw.player_ping_attribute(player,name) "Ping" attribute: Get max value which is defined for attribute and add to attribute. For an attribute, which is defined as moving average attribute this pinging increase the value. High frequency of pinging lead to faster increase, e.g. by pinging a digging attribute you get kind of digging speed, which can be used for an exhaustion mechanism.
  • xpfw.player_add/sub_attribute(player,name,diff) Adds or substract to attribute of for ObjectRef player

    Authors of source code

    ademant (MIT)

    Authors of media (textures)

    Created by ademant (CC BY 3.0):