Difference between revisions of "Nexus Radio Scanner/Documentation"
Line 96: | Line 96: | ||
=== Is it possible for my scripts to listen to scanners? === | === Is it possible for my scripts to listen to scanners? === | ||
Yes, of course! Have a look at the example script below to learn how to listen to the radio networks. | Yes, of course! Have a look at the example script below to learn how to listen to the radio networks. | ||
+ | |||
+ | Whenever a message is received by the scanner, it will send all the data received on channel ''-911011''. | ||
+ | |||
+ | All data that comes from the receiver will come in JSON format, if you do not know what JSON is, then simply have a look here at the [http://www.json.org/ JSON Webpage]. | ||
+ | |||
+ | == Simple Listener == | ||
+ | This script will simply listen on the for messages and send them back out for the owner to hear. | ||
+ | |||
+ | <pre> | ||
+ | integer listener; | ||
+ | integer channel = -911011; | ||
+ | |||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | llSetObjectName(":"); | ||
+ | listener = llListen(channel,"","",""); | ||
+ | } | ||
+ | |||
+ | listen(integer chan, string name, key id, string msg) | ||
+ | { | ||
+ | if(listener) | ||
+ | { | ||
+ | string message_received = llJsonGetValue(msg, ["message"]); | ||
+ | string channel = llJsonGetValue(msg, ["channel"]); | ||
+ | string sender = llJsonGetValue(msg, ["sender"]); | ||
+ | llOwnerSay("[" + channel + "] " + sender + ": " + message_received); | ||
+ | } | ||
+ | } | ||
+ | }</pre> | ||
+ | |||
+ | == Simple Door Opener == | ||
+ | This script will listen for the message OPEN and CLOSE, then will use it with a door. | ||
+ | |||
+ | <pre> | ||
+ | integer listener; | ||
+ | integer channel = -911011; | ||
+ | |||
+ | integer door_open = FALSE; | ||
+ | |||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | llSetPrimitiveParams([PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]); | ||
+ | llSetObjectName(":"); | ||
+ | listener = llListen(channel,"","",""); | ||
+ | } | ||
+ | |||
+ | listen(integer chan, string name, key id, string msg) | ||
+ | { | ||
+ | if(listener) | ||
+ | { | ||
+ | string message_received = llJsonGetValue(msg, ["message"]); | ||
+ | string channel = llJsonGetValue(msg, ["channel"]); | ||
+ | string sender = llJsonGetValue(msg, ["sender"]); | ||
+ | |||
+ | message_received = llToLower(message_received); | ||
+ | |||
+ | if(message_received == "open" && !door_open) { | ||
+ | door_open = TRUE; | ||
+ | llSetKeyframedMotion([llEuler2Rot(<0,0,90>*DEG_TO_RAD), 1],[KFM_DATA, KFM_ROTATION, KFM_MODE, KFM_FORWARD]); | ||
+ | } else if(message_received == "close" && door_open) { | ||
+ | door_open = FALSE; | ||
+ | llSetKeyframedMotion([llEuler2Rot(<0,0,90>*DEG_TO_RAD), 1],[KFM_DATA, KFM_ROTATION, KFM_MODE, KFM_REVERSE]); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | }</pre> |
Latest revision as of 13:27, 17 March 2016
Nexus Radio Scanner Documentation
This documentation is to better help you with the product to help you efficiently work with the product and make use of all of it's features properly. Having trouble using a feature? Consult the documentation below.
Need help navigating this manual better? Please use the table of contents to the right of this page.
Getting Started
Before we get started on setting up the scanner, i would like to thank you on using our system. If you have any questions please ask our group. If your questions are not answered there they will be logged by our group bot and sent to our group managers.
- !!! WARNING !!! To respect the privacy of some network owners, they have the option to block network scanners on their network servers. You will still get the messages, however; it will look like jumbled up text. It is highly recommended to ask a network owner to use a scanner on their network.
Configuring A Scanner
Before you will start receiving messages, you need to understand how to find networks.
There are two ways to find a network, you can either search for the network's name, or search for the network owner's name.
Lets start off using an example.
Searching Network By Network Name
This method may not be the best, as most users don't always name their networks.
If they don't name their network, then it will be named Private Network.(It's not recommended to search 'Private Network' in your scanner....)
- Touch your scanner and select Net Name.
- Enter Random into your scanner. This will search for networks with the word Random in the name.
- Look in your chat log, it will display the network key for this network.
- Copy the network key from chat. Then touch the scanner again.
- Select Enter Key from the menu and paste the Network's Key. This will connect your scanner to the network.
Searching Network By Network Owner Name
This method is the easiest if you already know who owns the network. All you will have to do is search the Network Owner's name and all the radio networks they own will show up on the scanner.
This method works similar to search for a network name, except you enter the user's name.
- Touch your scanner and select Net Owner.
- Enter Shymus.Roffo into your scanner. This will search for all the networks that are owned by Shymus Roffo
- Look in your chat log, it will display the network key for the networks owned by this person.
- Copy the network key from chat. Then touch the scanner again.
- Select Enter Key from the menu and paste the Network's Key. This will connect your scanner to the network.
Scanner Operation
Working with the scanner is very simple, you can either leave it sitting there to receive messages, or you can also configure one of the handheld scanners to your base scanner, then proceed to distribute the handheld scanners.
- !!! INFO !!! Remember, you won't be able to send messages, you are only able to receive them with this scanner. Also, don't forget to set your set your handheld devices to No-Transfer.
Configuring Handheld Devices
To allow for you to receive messages while you're not standing next to your scanner, you will need to configure a handheld scanner.
Configuring a handheld device is just like configuring a normal radio with the main system.
- Rez out Nexus Radio Scanner - Belt Receiver next to the scanner from your inventory.
- Touch the receiver to configure it.
- Right Click -> Edit and change the permissions to No-Transfer. This will prevent distribution.
Congratulations, you have just finished configuring the Handheld device!
Scanner Menu & Options
The scanner has few options that make it easy to use.
Sound On/Off/
When a scanner receives a message, you have the option of getting sounds played.
To turn them on and off, simply press the button in the menu.
Messages
There are multiple ways to receive messages, selecting this will give you the option of the way messages are sent out.
- Whisper This will send messages to any person within 10 meters of the scanner.
- Say This will send messages to any person within 20 meters of the scanner.
- Owner Say This will send messages to the owner within 20 meters of the scanner.
Power On/Off
This will disable the scanner. It will prevent messages from being received on the scanner.
However, messages will still be received by the handheld devices.
Frequently Asked Questions
These questions have been asked a lot by people using the system.
Why is my belt receiver not getting any messages?
The handheld belt receiver only receives messages when the scanner is rezzed in world.
If the scanner that this device is connect too is no longer in world, then you will not get any messages on the device.
Why does the text received look unreadable?
Every Radio Network has the right to Block Scanners, if the network owner decided to turn this on, then all the text received by the scanners will show up as a pile of letters in random order.
Is it possible for my scripts to listen to scanners?
Yes, of course! Have a look at the example script below to learn how to listen to the radio networks.
Whenever a message is received by the scanner, it will send all the data received on channel -911011.
All data that comes from the receiver will come in JSON format, if you do not know what JSON is, then simply have a look here at the JSON Webpage.
Simple Listener
This script will simply listen on the for messages and send them back out for the owner to hear.
integer listener; integer channel = -911011; default { state_entry() { llSetObjectName(":"); listener = llListen(channel,"","",""); } listen(integer chan, string name, key id, string msg) { if(listener) { string message_received = llJsonGetValue(msg, ["message"]); string channel = llJsonGetValue(msg, ["channel"]); string sender = llJsonGetValue(msg, ["sender"]); llOwnerSay("[" + channel + "] " + sender + ": " + message_received); } } }
Simple Door Opener
This script will listen for the message OPEN and CLOSE, then will use it with a door.
integer listener; integer channel = -911011; integer door_open = FALSE; default { state_entry() { llSetPrimitiveParams([PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]); llSetObjectName(":"); listener = llListen(channel,"","",""); } listen(integer chan, string name, key id, string msg) { if(listener) { string message_received = llJsonGetValue(msg, ["message"]); string channel = llJsonGetValue(msg, ["channel"]); string sender = llJsonGetValue(msg, ["sender"]); message_received = llToLower(message_received); if(message_received == "open" && !door_open) { door_open = TRUE; llSetKeyframedMotion([llEuler2Rot(<0,0,90>*DEG_TO_RAD), 1],[KFM_DATA, KFM_ROTATION, KFM_MODE, KFM_FORWARD]); } else if(message_received == "close" && door_open) { door_open = FALSE; llSetKeyframedMotion([llEuler2Rot(<0,0,90>*DEG_TO_RAD), 1],[KFM_DATA, KFM_ROTATION, KFM_MODE, KFM_REVERSE]); } } } }