Difference between revisions of "GNN Doc"

From Elite Wiki
Line 3: Line 3:
 
The recommended way in [[GNN]] is passing news through <code>_insertNews()</code>. The user has to check for messages on the ship and system interfaces screen (F4).
 
The recommended way in [[GNN]] is passing news through <code>_insertNews()</code>. The user has to check for messages on the ship and system interfaces screen (F4).
   
If you need to force a message onto the user as soon as he docks use <code>_showScreen()</code> from your OXP's shipDockedWithStation() method.
+
If you need to force a message onto the user as soon as he docks use <code>_showScreen()</code> from your OXP's [[Oolite_JavaScript_Reference:_World_script_event_handlers#shipDockedWithStation | shipDockedWithStation()]] method.
   
 
== Console usage ==
 
== Console usage ==

Revision as of 23:49, 1 January 2022

The recommended way in GNN is passing news through _insertNews(). The user has to check for messages on the ship and system interfaces screen (F4).

If you need to force a message onto the user as soon as he docks use _showScreen() from your OXP's shipDockedWithStation() method.

Console usage

worldScripts.GNN._Help();


Functions

_insertNews(obj)

Puts the passed object in a queue of messages to be shown (the display pools). The object must contain at least .ID and .Message. Use at startUpComplete or later. Pooled messages are shown when the user checks the Galactic News Network on ship and system interfaces screen (F4).

ID
String. worldScript name.
Message
String. Text to be displayed. GNN will try to expand it via expandMissionText.
DKey
Bool. If set expandDescription will be used on Message.
Priority
Number (1..5), Default: 3. Used to sort messages.
Agency
Number. 1=GNN, 2=Rooters, 3=Snoopers, 4=Chronicle.
Pic
String. Overlay, Default:{name:'GNN_clean.png',height:512}. Needs alpha channel for Model.
PicExt
String. worldScript name which expanded the picture pool.
Music
Music for Newsflash. Default:'GNN.ogg'.
Model
String. Role of the model. Default:'lib_ms_helper'.
Pos
Array. Position for Model.
Ori
Array. Orientation for Model.
Spin
Bool. Sets spinModel. Default:false.
AutoPos
Bool. Automagically sets the position and orientation.
Tex
String. Sets the texture.
Mat
Object. Sets the material.
Delay
Number. Number of days until the newsflash will be available.
CB
String. Path of callback function. Passes the expanded message.
CBID
String. Callback returns CBID instead of message. Added in v1.1

Return: On success this method returns 0. On failure this method throws an exception.

A simple example:

worldScripts.GNN._insertNews({ID:'BGS',Message:'Hello'});

GNN applies some rules in the following order:

Agency disables Pic
Model disables Tex
!Model disables Ori and Pos.
!Pos enables AutoPos.

_showScreen(obj)

Displays the passed GNN object immediately. Requires to be docked and !system.isInterstellarSpace. Callbacks are disabled. Use at startUpComplete or later. The obj is constructed the same as for the above call. Use this message from your OXP's shipDockedWithStation() method.

Return: This method returns true if the message was shown, false otherwise.

_addExtImages(arr,ws)

Expands the pool of overlay images. Use at startUpComplete or later. Added in v1.1

arr
Array. Must hold Arrays for all 4 Agencies, e.g [[],[],[],[]] (order GNN, Rooters, Snoopers and Chronicle) containing filenames. The arrays can be empty. The images should be 1024px * 512px with the cutout in the upper right corner for displaying models.
ws
String. worldScript name to relate news to expansion images (see PicExt).


shipdata.plist

GNN uses a script_info key in shipdata.plist to decide if the interface should be shown. Set 'GNN' to true for stations. By default only main stations and stations with hasNPCTraffic set will get an interface. Stations in interstellar space are excluded.

script_info = {GNN = true;};