Difference between revisions of "Snoopers Doc"
From Elite Wiki
m (notes about removed errorcodes for v2.4) |
m |
||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
− | snoopers.js is the script for the galactic news network. OXPs (worldScripts) can insert own messages by passing a object to [[Snoopers]]. | + | <tt>snoopers.js</tt> is the script for the galactic news network. OXPs (worldScripts) can insert own messages by passing a object to [[Snoopers]]. |
{{CodeEx|codeex=worldScripts.snoopers.insertNews(obj);}} | {{CodeEx|codeex=worldScripts.snoopers.insertNews(obj);}} | ||
Line 8: | Line 8: | ||
== Properties == | == Properties == | ||
+ | <sup>OXPC</sup> - Marked properties can be configured via [[OXPConfig]]. | ||
+ | |||
=== logging === | === logging === | ||
− | :Boolean. Switches extended logging on/off | + | :Boolean. Switches extended logging on/off. Default is false. <sup>OXPC</sup> |
=== audio === | === audio === | ||
− | :Boolean. Switches audio for internal news on/off | + | :Boolean. Switches audio for internal news on/off. Default is true. <sup>OXPC</sup> |
=== extraA === | === extraA === | ||
− | :Boolean. Switches full mode for internal news on/off | + | :Boolean. Switches full mode for internal news on/off. Default is true. <sup>OXPC</sup> |
=== sliderA === | === sliderA === | ||
− | :Integer. Chance for newsflashes | + | :Integer. Chance for newsflashes. Default is 0x3 (#3). <sup>OXPC</sup> |
=== sliderB === | === sliderB === | ||
− | :Integer. Max days between newsflashes | + | :Integer. Max days between newsflashes. Default is 0x19 (#25). <sup>OXPC</sup> |
=== sliderC === | === sliderC === | ||
− | :Integer. Brightness for displayed model | + | :Integer. Brightness for displayed model. Default is 0x4 (#4). This will only affect shadered models which support it. Uses the fuel property. <sup>OXPC</sup> |
Line 31: | Line 33: | ||
{{CodeEx|codeex=this.insertNews = function(obj)}} | {{CodeEx|codeex=this.insertNews = function(obj)}} | ||
{{CodeExTime|native=0.000081|extension=0.000017|js=0.000337}} | {{CodeExTime|native=0.000081|extension=0.000017|js=0.000337}} | ||
− | 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. | + | Handles incoming messages from other OXPs. Snoopers stores up to 10 messages and 20 CRCs if <tt>.Direct</tt> is not used and all checks are passed. |
'''Parameters''' | '''Parameters''' | ||
Line 41: | Line 43: | ||
The passed object can hold a couple of properties: | 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. | + | :;ID:String. Required. Name of the calling worldScript. Snoopers stores a checksum (CRC) to scatter the messages on every start and inbetween if <tt>.Direct</tt> 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. | :;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. | :;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. | :;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. | + | :;Pic:String. Overlay image, use tranparent areas if model should be used. Fileextension is required. If <tt>.Agency</tt> and <tt>.Pic</tt> not declared default setting choosen. |
:;Music:String. Music for Newsflash. Fileextension is required. If 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. | :;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 <tt>entity.position.z</tt>. |
− | :;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. | + | :;Ori:Number/Array. Orientation of Model. If number: 1=<tt>[1,0,0,0]</tt>, 2=<tt>[1,0,0,1]</tt>, 4=<tt>[0,0,1,0]</tt>, 8=<tt>[1,1,0,0]</tt>. Default 8. Otherwise Array with 4 valid numbers. |
:;Recall:Boolean. Resend callback in case other OXPs have overridden Snoopers screen and Replay gets 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 <tt>.briefing</tt> part. Ignored if <tt>.Direct</tt> is not used. |
Line 60: | Line 62: | ||
== shipdata.plist == | == 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. | + | Snoopers usually doesn't do anything on other stations than the main station and stations with NPC traffic (except with <tt>.Direct</tt> messages). A script_info key can change this behaviour. |
'''Key:''' | '''Key:''' |
Revision as of 19:29, 19 December 2012
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
OXPC - Marked properties can be configured via OXPConfig.
logging
- Boolean. Switches extended logging on/off. Default is false. OXPC
audio
- Boolean. Switches audio for internal news on/off. Default is true. OXPC
extraA
- Boolean. Switches full mode for internal news on/off. Default is true. OXPC
sliderA
- Integer. Chance for newsflashes. Default is 0x3 (#3). OXPC
sliderB
- Integer. Max days between newsflashes. Default is 0x19 (#25). OXPC
sliderC
- Integer. Brightness for displayed model. Default is 0x4 (#4). This will only affect shadered models which support it. Uses the fuel property. OXPC
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 |