Snoopers Doc
From Elite Wiki
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.
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; }; |
Errorcodes
Code | Meaning |
---|---|
-5 | Snoopers buffer is full (max 10 news) |
-4 | No free storing slot available |
-3 | CRC buffer is full |
-2 | CRC is still active |
-1 | Caller already sent a message (1 news per worldScript) |
0 | Success |
1 | Required properties not found (ID and Message) |
2 | Unknown properties passed |
3 | To few or too much passed properties (at least 2) |
4 | Request from invalid caller (no worldScript) |
5 | Property 'Message' not a string (wrong type) |
6 | Property 'Message' too short or too long (expected >10 and <700 chars) |
7 | Property 'Message' starts with whitespace (\\f \\t \\r \\n or space). Removed in v2.4. Snoopers will trim the string. |
8 | Property 'Message' - Sent message not expandable. |
9 | Property 'Message' - Number of opening brackets doesn't match number of closing brackets. Removed in v2.4. |
10 | Property 'Message' - Expanded key (descriptions.plist) too long (limit 700 chars). Removed in v2.4. |
11 | Property 'Message' - Expanded key (missiontext.plist) too long (limit 700 chars). Removed in v2.4. |
12 | Property 'Message' - Expanded Message too long |
13 | Property 'Message' - Word with overlength detected (limit 79 chars) |
14 | Property 'Message' - To many linebreaks (limit 10) |
15 | Property 'Agency' - not valid (expected number in range 1 - 3) |
16 | Property 'Priority' - not valid (expected number in range 1 - 3) |
17 | Property 'Pic' - wrong type (expected string) |
18 | Property 'Pic' - not a valid fileextension |
19 | Property 'Music' - wrong type (expected string) |
20 | Property 'Music' not a valid fileextension |
21 | Property 'Model' - wrong type (expected string) |
22 | Property 'Pos' - wrong type (expected array) |
23 | Property 'Pos' - wrong number of arguments (expected 3 numbers) |
24 | Property 'Pos' - contains NaN |
25 | Property 'Ori' - wrong type (expected number or array) |
26 | Property 'Ori' - not valid (expected 1, 2, 4 or 8) |
27 | Snoopers was shutdown. Requirements not fullfilled |
28 | Player not valid anymore |
29 | Player not docked while trying to display a direct mission screen |
30 | Attempt to override a missionscreen blocked |