System Data Config

From Elite Wiki
Revision as of 05:02, 1 August 2017 by Phkb (talk | contribs) (Created page with "System Data Config ==Overview== This OXP is designed to help OXP authors make use of the upper part of the F7 screen, where the statistics about the currently selected system...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

System Data Config


This OXP is designed to help OXP authors make use of the upper part of the F7 screen, where the statistics about the currently selected system are displayed.

A new feature added in Oolite v1.85/6 allows the layout of the F7 screen to be completely customised. However, given the number of OXP's that will want to make use of this extra space, there was a need to make the process of adding information to the screen a little more democratic. This OXP aims to provide an centralised interface OXP's can use to make the most of this new feature.

Note: This OXP will only work with Oolite v1.85ff.


This OXP offers the following interfaces to OXP's:


worldScripts.SystemDataConfig.systemDataLineOwner(linenumber : int);

Returns the current owner of a particular data line.


worldScripts.SystemDataConfig.systemDataLineText(lineNumber : int);

Returns the current text of a particular data line.


worldScripts.SystemDataControl.setSystemDataLine(linenumber : int, text : string [, owner : string]);

Sets the text, and optionally the owner, of a particular data line


worldScripts.SystemDataControl.resetSystemDataLine(linenumber : int);

Resets the text and owner of a particular data line to be blank.


worldScripts.SystemDataControl.addChangeCallback(worldScriptName : string, callbackFunctionName : string);

In order for an OXP to make changes to the F7 screen before it's displayed, two events must be used: guiScreenWillChange (monitoring for when the guiScreen is about to be GUI_SCREEN_SYSTEM_DATA), and infoSystemWillChange. However, because the order in which these events are fired for each OXP is hard to determine, it's quite possible for an OXP's events to be fired after the events within this OXP, which means that updated data might not be displayed.

To work around this issue, OXP's can register a callback function using this call. Then, when those events are triggered for this OXP's, all the callbacks will be executed before the data is displayed, ensuring that the correct data is shown on the screen.


worldScripts.SystemDataControl.removeChangeCallback(worldScriptName : string, callbackFunctionName : string);

This function removes a worldscript/callback function name from the list of callbacks.


Download SystemDataConfig.oxz v0.5 (downloaded 244 times).
Download v0.5 (extract OXP folder to AddOns)


This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 4.0 Unported License. To view a copy of this license, visit

Version History


  • Added some documentation and a readme.txt file.


  • Initial public release

Quick Facts

Version Released License Features Category Author(s) Feedback
0.5 2017-08-01 CC BY-NC-SA 4.0 Utilities Misc OXPs‏‎ phkb Oolite BB

Gameplay and Balance indicator