1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2024-12-26 18:50:38 +01:00
server-nalc/mods/pclasses/README.md
LeMagnesium 743507564f Updated pclasses
- Moved the holographic item's name as a field in switch_params (pclasses.api.register_class)
 - Added wizard class' skeleton for later
 - Fixed a few bugs in nodes, inventory and api
 - Splitted tick function to bury items in two
 - Items from 3d_armor's armor inventory are also affected by inventory vacuuming (from tick function).
   The player's static armor inventory is first cleared, then copied to the detached one, then armor updates everything else (rendering, model, etc)
 - Fixed itemname of admin shield to reserve it properly
 - Return graveyard inventory if it already exists. Do not create it every two seconds
2015-08-20 17:18:57 +02:00

3.1 KiB
Executable File

Player Classes

Yet another class mod for Minetest.

TODO

  • Flush and read system for pclasses.datas.players

Namespaces

pclasses

  • All our stuff

pclasses.api

  • All functions used to declare, get, set classes

pclasses.api.util

  • Some utility functions

pclasses.conf

  • Some configuration values

pclasses.classes

  • All classes and their specs

pclasses.data

  • Miscellaneous data

pclasses.data.players

  • List of all players' class. Index is player's name and value is the class's name

pclasses.data.hud_ids

  • Surely useful in the future with a hypothetical hud to show current class

Functions

pclasses.api.register_class

  • Arguments : cname, def
  • Registers a class and its specifications
  • Def is a definition table that can contain many functions/values :
    • on_assigned which is a function, receiving as argument the player name
    • on_unassigned which is a function, receiving as argument the player name
    • switch_params, which is a table, containing parameters for the switch pedestal :
      • holo_item is mandatory. It's the itemstring of the item to be put over the pedestal
      • color is optional. Default is white. It's a RGB table.
      • tile is optional. Default is none. It's a string of the texture to be applied over the pedestal

pclasses.register_class_switch

  • Arguments : cname, params
  • Used internally to create switch pedestals
  • params is the def table given to pclasses.api.register_class, documented above

pclasses.api.get_class_by_name

  • Argument : cname
  • Return the class' specs (table) corresponding a class name or nil if not found

pclasses.api.get_player_class

  • Argument : pname (player's name)
  • Return the player's current class' name

pclasses.api.get_class_players

  • Argument : cname
  • Return a list (table) of all players with class cname

pclasses.api.set_player_class

  • Arguments : pname, cname
  • Assign a player the cname class
  • Returns true if achieved, false if not

pclasses.api.util.does_wear_full_armor

  • Arguments : pname, material, noshield
  • Returns true if player pname is wearing the full armor made out of material
  • noshield must be true when the full armor has no shield

pclasses.api.util.can_have_item

  • Arguments : pname, itemname
  • Returns true if player pname can have items itemstring in his main inventory, according to his class

pclasses.api.reserve_item

  • Arguments : cname, itemstring
  • Adds an entry in the reserved items' table. Players will need to belong to class cname in order to have items itemstring in their main inventory
  • Note : You can reserve the same item for two classes, any player of either of both can then have the item

pclasses.api.create_graveyard_inventory

  • Argument : player
  • Creates a detached inventory dedicated to 'dead' items (confiscated reserved items)
  • Used internally, should not be used outside of pclasses

pclasses.api.vacuum_graveyard

  • Argument : player
  • Check all of player's graveyard inventory to get them back items they obtained to right to have