psiTEC Module Development
01/05/08 02:15
The First thing you're going to need is the psiTEC Developer Kit, which is freely available at any major aubreTEC location.
KIT CONTENTS:
The kit contains everything you need to create your own psiTEC module:
- psitec_comm script (NM/C/T) - This script goes in your module
- example module script (M/C/T) - A quick example showing you how to use the two commands from psitec_comm
- .example object (M/C/T) - A quick example module containing copies of the previous two scripts
- Example Module User Manual notecard (M/C/T) - Contains the necessary text for user manuals
- psiTEC Module Developer Guide notecard (M/C/T) - Contains brief instructions
CREATING A NEW MODULE
Place psitec_comm and example module script into a new object. It is better if this object is invisible, as psiTEC rezzes all modules in the same location (above the head) and then sends them after a target, turning on effects once they've reached the target's location. It's also better if this object is (eventually) made temp-on-rez.
Using the example module script as a template, script your attack. Add effects, damage, push, a trap, whatever you want.
When you're confident your module is ready, try it out by dropping it in your psiTEC's inventory. The module should be named appropriately (see NAMING CONVENTIONS below)
CONVERTING AN EXISTING ATTACK TO WORK WITH PSITEC
It's very simple, really. All you have to do is make slight adjustments to your object to allow psiTEC to
- determine where it goes in the menu and what the name is
- send it information once it is launched
Drop the "psitec-comm" script in your object, and make the following adjustments:
- name your object using our naming conventions (see NAMING CONVENTIONS).
- script your object to start its attack upon receiving a link_message with key information (see USING MESSAGES).
NAMING CONVENTIONS
The psiTEC system will automatically add your module to the menu based on the object name. All module objects should be lowercase and begin with the symbol ".", "*", or ">", in accordance with the following guideline:
- AGENT-TARGETED modules (modules which track avatars) should begin with a "." (like .example).
- ACTIVE-TARGETED modules (modules which track active objects) should begin with a "*" (like *example).
- UNTARGETED modules (modules which do not begin tracking anything on rez) should begin with a ">" (like >example).
If you wish to add your module as an inventory item instead, to be accessed through the inventory menu, name it normally.
USING MESSAGES:
The psitec-comm script will send one of two messages to your own scripts.
1. The first is right after launch:
llMessageLinked(LINK_SET,-696969,"PSITEC_GO",id);
The key ('id') is the key of the target that was selected in the menu when launching the module. You can use
it to start your sensors.
2. The second message is sent when the psiTEC user issues the "end" command:
llMessageLinked(LINK_SET,-696969,"PSITEC_END",NULL_KEY);
You should program your module to die upon receiving this command. For consistency sake, most psiTEC modules
also use an llOwnerSay function to confirm to the psiTEC user that the module has ended.
USING THE INSTALLER:
Your module can be installed into a psiTEC by simply adding it to the psiTEC inventory. However, we have included an installer that you can set-up and distribute. Simply follow these steps:
- Rez the installer. Open it.
- Replace the text and title of the notecard. DO NOT remove the bottom section (it's marked).
- Place your module object in the installer.
Then re-rez the installer and test it on your psiTEC. Make sure you have the proper permissions set on your module object, or it will not install.
THE LICENSE AGREEMENT:
By using this kit, you agree to the licensing agreement. The full text of the agreement is available on this page.
Here is the basic run-down, however, in layman's terms.
- You may sell your own psiTEC modules in your own venue without profit sharing or express permission from us.
- If you wish to make your module available in aubreTEC locations, you may contact aubreTEC Labs for arrangements.
- Do not attempt to sell your module in an aubreTEC location without prior consent from aubreTEC Labs.
- We reserve the right to block your module from installation in aubreTEC products at any time and for any reason.
- We won't block it... if you follow the rules.
- We are not responsible for supporting your modules. Please do not tell your customers to contact us. If there are problems with installation, you may request help on our webpage. Please do not IM us about your help request.
- Your sales materials should not indicate, in any way, that we endorse your product or are responsible for it. We will make appropriate sales graphics available on this website.
- We will maintain, whenever possible, continued support for your module. If, however, we should ever need to change the system in a way that requires changes to your module, we will provide instructions for updating your module. It is your responsibility to maintain compatibility.
- aubreTEC Labs cannot be held responsible for any damages or losses, financial or otherwise, resulting from the creation and/or sale of your own modules.
Basically, this is your gig. You get the money, you take the responsibility. We'll keep providing a quality system and strive to help you improve our product with your modules.
SUPPORT
If your kit does not seem to be working the way it's supposed to, you may file a help request.
We will only provide support for the installer; the functionality of your product is up for you to take care of. Please do not ask us for advice on scripting or to script your module for you. It's not that we wouldn't love to help, it's just that we don't have the time. Our support guys have a pretty busy job of it, and we prioritize our customer support requests.