Difference between revisions of "Snoopers Doc"

From Elite Wiki
m (added .Direct and .Anim)
m (insertNews())
Line 49: Line 49:
 
:;Model:String. Role for Model. Starting with v2.3 it can be any NPC role.
 
:;Model:String. Role for Model. Starting with v2.3 it can be any NPC role.
 
:;Pos:Array. 3 valid numbers. Adjusted on screen aspect ratios. If not defined Snoopers bases it on entity.position.z.
 
:;Pos:Array. 3 valid numbers. Adjusted on screen aspect ratios. If not defined Snoopers bases it on entity.position.z.
:;Ori:Number. Defines the orientation of Model. 1-[1,0,0,0], 2-[1,0,0,1], 4-[0,0,1,0], 8-[1,1,0,0]. Default 8.
+
:;Ori:Number/Array. Orientation of Model. If number: 1=[1,0,0,0], 2=[1,0,0,1], 4=[0,0,1,0], 8=[1,1,0,0]. Default 8. Otherwise Array with 4 valid numbers.
:;Recall:Boolean. Resend callback in case other OXPs have overridden Snoopers screen and Replay got activated.
+
:;Recall:Boolean. Resend callback in case other OXPs have overridden Snoopers screen and Replay gets activated.
 
:;Direct:Boolean. Display message directly without storing, CRC or other buffer checks. Requires the player to be docked.
 
:;Direct:Boolean. Display message directly without storing, CRC or other buffer checks. Requires the player to be docked.
 
:;Anim:Array. Uses [[Cabal_Common_Library_Doc_Briefing#startBriefing()|Cabal_Common_Briefing]] capture option. The array must contain only the .briefing part. Ignored if .Direct is not used.
 
:;Anim:Array. Uses [[Cabal_Common_Library_Doc_Briefing#startBriefing()|Cabal_Common_Briefing]] capture option. The array must contain only the .briefing part. Ignored if .Direct is not used.

Revision as of 20:43, 20 June 2012

Overview

snoopers.js is the script for the galactic news network. OXPs (worldScripts) can insert own messages by passing a object to Snoopers.

worldScripts.snoopers.insertNews(obj);

After displaying this message Snoopers tries to callback and passes the first 20 chars of the message.

Callback
worldScripts[obj.ID].newsDisplayed(obj.Message.substr(0,20));


Properties

logging

Boolean. Switches extended logging on/off and can be configured via OXPConfig2. Default is false.

audio

Boolean. Switches audio for internal news on/off and can be configured via OXPConfig2. Default is true.

extraA

Boolean. Switches full mode for internal news on/off and can be configured via OXPConfig2. Default is true.

sliderA

Integer. Chance for newsflashes and can be configured via OXPConfig2. Default is 0x3 (#3).

sliderB

Integer. Max days between newsflashes and can be configured via OXPConfig2. Default is 0x19 (#25).

sliderC

Integer. Brightness for displayed model and can be configured via OXPConfig2. Default is 0x4 (#4). This will only affect shadered models which support it. Uses the fuel property.


Functions

insertNews()

this.insertNews = function(obj)
Profiler
Native 0.000081s
Extension 0.000017s
JS 0.000337s

Handles incoming messages from other OXPs. Snoopers stores up to 10 messages and 20 CRCs if .Direct is not used and all checks are passed.

Parameters

obj
Object.

Returns

n
Number. Errorcode.


The passed object can hold a couple of properties:

ID
String. Required. Name of the calling worldScript. Snoopers stores a checksum (CRC) to scatter the messages on every start and inbetween if .Direct is not used.
Message
String/Key. Required. Message can be a string or keynames (descriptions.plist or missiontext.plist), mixtures allowed, max 700 chars, min 10 chars.
Agency
Number. Defines 1-GNN, 2-Rooters, 3-Snoopers. If used Snoopers disables custom pics and models and uses internal ones.
Priority
Number. 1 highest (and bypasses CRC check), used to sort the inserted news on next docking. Default 3.
Pic
String. Overlay image, use tranparent areas if model should be used. Fileextension is required. If Agency and Pic not declared default setting choosen.
Music
String. Music for Newsflash. Fileextension is required. If not declared, default setting choosen.
Model
String. Role for Model. Starting with v2.3 it can be any NPC role.
Pos
Array. 3 valid numbers. Adjusted on screen aspect ratios. If not defined Snoopers bases it on entity.position.z.
Ori
Number/Array. Orientation of Model. If number: 1=[1,0,0,0], 2=[1,0,0,1], 4=[0,0,1,0], 8=[1,1,0,0]. Default 8. Otherwise Array with 4 valid numbers.
Recall
Boolean. Resend callback in case other OXPs have overridden Snoopers screen and Replay gets activated.
Direct
Boolean. Display message directly without storing, CRC or other buffer checks. Requires the player to be docked.
Anim
Array. Uses Cabal_Common_Briefing capture option. The array must contain only the .briefing part. Ignored if .Direct is not used.


Errorcodes:
Snoopers will check all incoming requests and returns a value to the calling function (always) and logs errors (if necessary or logging enabled)... Usually (with this.logging = false) it will only log real errors, by enabling this switch all returned values are logged.

negative
Snoopers buffers are full, OXP already placed a newsflash or CRC is still stored.
zero
Success.
positive
Error occured, details logged to Latest.log.


A simple example

worldScripts.snoopers.insertNews({ ID: this.name , Message: "Hello world!" });

shipdata.plist

Snoopers usually doesn't do anything on other stations than the main station and stations with NPC traffic (except with .Direct messages). A script_info key can change this behaviour.

Key:

snoopersNews
Boolean. Enables Snoopers for this station.
script_info = { "snoopersNews" = true; };