Snoopers Doc
Contents
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; }; |