Difference between revisions of "Snoopers Doc"

From Elite Wiki
m
m (New property 'Recall' added)
Line 51: Line 51:
 
:;Pos:Array. 3 valid numbers, ignored if Model not declared.
 
:;Pos:Array. 3 valid numbers, ignored if Model not declared.
 
:;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. (New in 2.1.1)
 
:;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. (New in 2.1.1)
 
+
:;Recall:Boolean. Resend callback in case other OXPs have overridden Snoopers screen and Replay got activated. (New in 2.1.2)
  
 
'''Errorcodes:'''<br>
 
'''Errorcodes:'''<br>
Line 62: Line 62:
 
A simple example
 
A simple example
 
{{CodeEx|codeex=worldScripts.snoopers.insertNews({ ID: this.name , Message: "Hello world!" });}}
 
{{CodeEx|codeex=worldScripts.snoopers.insertNews({ ID: this.name , Message: "Hello world!" });}}
 
  
 
== shipdata.plist ==
 
== shipdata.plist ==

Revision as of 21:55, 5 October 2011

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 message from other OXPs and stores it if all checks are passed. Snoopers stores up to 10 messages and 20 CRCs.

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.
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.
Priority
Number. 1 highest (and bypasses CRC check and storing), 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, if used Pos must be passed to, else disabled. shipdata.plist must use the same name and roles must contain snoopers_model(0).
Pos
Array. 3 valid numbers, ignored if Model not declared.
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. (New in 2.1.1)
Recall
Boolean. Resend callback in case other OXPs have overridden Snoopers screen and Replay got activated. (New in 2.1.2)

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. A script_info key can change this behaviour.

Key:

snoopersNews
Boolean. Enables Snoopers for this station. (New in 2.1.1)
script_info = { "snoopersNews" = true; };