Skip to content

How to add new attributes

kytoo edited this page Feb 1, 2019 · 10 revisions

How to add new attributes to entities?

The framework uses a data-driven design which allows for such changes outside of the framework code.

The attribute defined in Excel files located in _Out/Server/NFDataCfg/Excel_Ini will be transformed into code by utilizing the NFFileProcess application that will be located in _Out/Server/NFDataCfg/Tool after building the framework.

Besides the property name, also type and attributes can be defined:

  • Public: Whether to inform the client of other players about changes of this attribute. For example, you may want to broadcast changes to the player level, but not to the players experience value, because other players can only see the level but not the experience points. If other players should not know about this property, set the attribute to FALSE.
  • Private: Whether to inform the client about changes to this property. If this property is only meant to be visible to the server but not to the client, this attribute should be set to FALSE.
  • Save: Whether the property should be persisted in the database (i.e. the state should be stored on logout). This attribute should be set to FALSE for transient properties (e.g. a calculated total_hp property that combines character HP and equipment HP).
  • Cache: TODO
  • Ref: TODO
  • Upload: TODO
  • Desc: A small description for the property.

Example: To add the new attribute Test to the Player entity open the Player.xlsx and add a new Property like shown below:

adding new property to the player entity