Bedican Compass - Help
User contributed commands
User contributed commands available within the Bedican Compass are listed below, and should be typed on their own line.
If you would like to contribute your own set, please see the section below and contact me.
Thank you to all contributors !
_Jonty (v1):
/utime | Display time in London |
/utime {location} | Display time in {location} |
/ignoring | Display how many ignores you have |
/ignoring {avname} | Display how many ignores for {avname} (Only if profile public) |
/online {avname} | Display if {avname} is online |
/weather | Display weather in London |
/weather {location} | Display weather in {location} |
Riot_Girl_1 (v1):
/rg or /riot | Opens Riot_Girl_1 sales |
/guidelines or /dg | Opens developer guidelines |
/submit or /sub | Opens developer submissions |
/undotele | Undo teleport |
/schedule | Open MySchedule |
/decor | View decor |
Flattering (v4):
/schedule or /sch or /sc | Open MySchedule |
/devprice | Opens developer prices |
/tagcolor or /tagcolour | Opens nametag colour chooser |
/spa | Opens list of spa locations |
/fr | Opens pending friend requests |
/history | Opens transaction history (same as /thist) |
/messagebar or /mb | Opens the message bar |
/scbar | Opens the shortcut bar |
/buy | Opens page to buy more tbux |
/pop | Opens population chart |
Creating your own commands
The types of user defined commands available are shown below.
echo | Used to send text to the main window. |
var | Used to set an EnvironmentVarible within the There Client. Similar to predefined command /var. This type allows upto 1 parameter. |
web | Used to launch a web browser. Similar to predefined command /web. This type allows upto 2 parameters. |
tel | Used to teleport to doid. Similar to predefined command /goto #{doid}. |
telName | Used to teleport to a place name. Similar to predefined command /goto {place name}. |
alias | Used to redefine the trigger of a predefined command. Any parameters are carried through the conversion. |
invokeScriptHook | Used to invoke a script hook. This type does not allow parameters. |
perfKnob | Used to set a performance setting. |
targetedReturn | Allow another user to invoke return text by specifying you as a target. e.g. /hello {username} would cause {username} to trigger the hello command. |
xmlRequest | Performs an xml request, and displays /result/echo from the xml of that request (if present) to the main window. |
Parameters should be marked with $1 and $2 for parameters 1 and 2 respectively.
A command can be created to perform multiple actions, This can be achieved by simply creating multiple commands with the same trigger.
Please note: User defined commands are limited to 8 characters per trigger, 2 default parameters, 80 characters for the return value, and only the first return value encountered being used with regards to multiple actions. Anything beyond these limits will be ignored. This is due to There Client restrictions and/or abuse potential.
Examples can be seen included within the file "bedican.xml" and the sample config file below:
<bedican>
<!-- Used to config the global app -->
<config>
<browser>1</browser>
<panel>0</panel>
</config>
<listener>
<!-- Used to config the listener -->
<config>
<startup>1</startup>
<ping>1</ping>
<log>1</log>
<user_prefix>/</user_prefix>
</config>
<!-- Call the user defined commands upon starting the compass -->
<autoexec>
<com>talk</com>
<com>sndzones</com>
</autoexec>
<!-- User defined commands -->
<user_defined>
<!--
A sample command of type var, also demonstrating the use of a
default parameter from the trigger "zones":
Typing "/zones 1" will set showOtherZones to 1
Typing "/zones 0" will set showOtherZones to 0
Typing "/zones" will set showOtherZones to 1, this is due to
the default parameter being included and being 1
-->
<com>
<type>var</type>
<trigger>zones</trigger>
<do>
<var>showOtherZones</var>
<value>$1</value>
<default>
<param id="1">1</param>
</default>
</do>
</com>
<!--
A sample command of type var, also demonstrating a no parameter
command from the trigger "sndzones":
Typing "/sndzones" will set showSoundZones to 1
-->
<com>
<type>var</type>
<trigger>sndzones</trigger>
<do>
<var>showSoundZones</var>
<value>1</value>
</do>
</com>
<!--
A sample command of type web, also demonstrating the overriding
of a predefined command with the trigger "web"
and the use of a default parameter:
This command will only override the predefined command of the
same trigger due to the user defined command prefix being the
same as the predefined command prefix
Typing "/web {url}" will open a browser with the given {url}
Typing "/web" will open a browser with the location of http://info.there.com
-->
<com>
<type>web</type>
<trigger>web</trigger>
<return>brb, I have a browser over my face. Ouch !</return>
<do>
<url>$1$2</url>
<default>
<param id="1">http://info.there.com</param>
</default>
</do>
</com>
<!--
A sample command of type echo from the trigger "talk":
Typing "/talk" results in the return text being sent to the main window
-->
<com>
<trigger>talk</trigger>
<return>Hey, Im just logging in, I may not see your text yet !!</return>
</com>
<!--
A sample command of type tel, also demonstrating return text
from the trigger "home":
Typing "/home" results in the teleportation to the given doid
and return text being sent to the main window
-->
<com>
<type>tel</type>
<trigger>home</trigger>
<return>Teleporting ...</return>
<do>
<doid>123456789</doid>
</do>
</com>
<!--
Two sample commands of type var, demonstrating multiple commands
of the same trigger and the use of default parameters,
using the trigger "smap":
Typing "/smap 1" will set both hostHud and trendSec to 1
Typing "/smap 0" will set both hostHud and trendSec to 0
Typing "/smap" will set both hostHud and trendSec to 1,
this is due to the default parameter being included
and being 1 (the default params can be different if desired)
-->
<com>
<type>var</type>
<trigger>smap</trigger>
<do>
<var>hostHud</var>
<value>$1</value>
<default>
<param id="1">1</param>
</default>
</do>
</com>
<com>
<type>var</type>
<trigger>smap</trigger>
<do>
<var>trendSec</var>
<value>$1</value>
<default>
<param id="1">1</param>
</default>
</do>
</com>
<!--
A sample command of type invokeScriptHook. Script hook paths
can be determined from http://localhost:9999
-->
<com>
<type>invokeScriptHook</type>
<trigger>spoon</trigger>
<do>
<path>/mainMenu/My%20Things/Handheld%20Spoon/Hold/activate</path>
</do>
</com>
<!--
A sample command of type alias. The command is converted
to the inbuilt command and any parameters are carried through.
-->
<com>
<type>alias</type>
<trigger>f</trigger>
<do>
<convert>ff</convert>
</do>
</com>
<!--
A sample command of type telName. Use the case sensitive name
listed under places, (see /places for a list).
-->
<com>
<type>telName</type>
<trigger>zeph</trigger>
<do>
<name>Zephyr</name>
</do>
</com>
<!--
A sample command of type alias to allow the user bedicus
to trigger it to display your current time. Care should be taken
when allowing other users to trigger commands.
This is a permissive process (by the need to configure it) for this reason.
-->
<com>
<type>alias</type>
<trigger>xtime</trigger>
<who>bedicus</who>
<do>
<convert>time</convert>
</do>
</com>
<!--
A sample command of type alias to allow anyone (excluding yourself)
to trigger it to display your current time. Care should be taken
when allowing other users to trigger commands.
This is a permissive process (by the need to configure it) for this reason.
-->
<com>
<type>alias</type>
<trigger>ytime</trigger>
<who>%%</who>
<do>
<convert>time</convert>
</do>
</com>
<!--
A sample command of type alias to allow anyone (including yourself)
to trigger it to display your current time. Care should be taken
when allowing other users to trigger commands.
This is a permissive process (by the need to configure it) for this reason.
-->
<com>
<type>alias</type>
<trigger>ztime</trigger>
<who>%</who>
<do>
<convert>time</convert>
</do>
</com>
<!--
A sample command of type targetedReturn to allow a specific user
to trigger some text, the user must use the format /{trigger} {target}
to trigger this command.
The return value may include the token $who which is substituted
for the username of the user triggering this command.
As above, a specific user, % (anyone) or %% (anyone but you) may be used
to trigger this command.
The target can be anything, however if you wish to allow a user
to be able to type /hello {your username} to trigger this command
then you can either explicitly specify your username as the target,
or use the placeholder $me, (this is useful when using multiple accounts
and not needing to define a command per account).
Care should be taken when allowing other users to trigger commands.
This is a permissive process (by the need to configure it) for this reason.
-->
<com>
<type>targetedReturn</type>
<trigger>hello</trigger>
<who>%</who>
<return>'hi' Hello $who</return>
<do>
<target>$me</target>
<!--
Allow default target, i.e. will still be actioned if no target
is specified, e.g. "/hello"
-->
<allow-default>true</allow-default>
</do>
</com>
<!--
A sample command to make the return text be sent to the main window,
however with the option to allow a specific user to trigger it.
Since it is not targeted (as like with the type targetedReturn)
this means anyone with this command configured would perform this action
as a target is not specified as part of the command.
As above, a specific user, % (anyone) or %% (anyone but you) may be used
to trigger this command.
Care should be taken when allowing other users to trigger commands.
This is a permissive process (by the need to configure it) for this reason.
-->
<com>
<trigger>bow</trigger>
<who>%</who>
<return>'bow'</return>
</com>
<!--
A sample command to set a performance setting with using 2 parameters,
including defaults.
Setting will be parameter 1, while the value parameter 2.
e.g. /pkvs {name} {value} will set the {name} setting to {value}.
Since this command has two default parameters defined,
using /pkvs without any parameters, will set the viewScale to 2.0.
-->
<com>
<type>perfKnob</type>
<trigger>pkvs</trigger>
<return>Setting perfKnob $1 to $2</return>
<do>
<setting>$1</setting>
<value>$2</value>
<default>
<param id="1">viewScale</param>
<param id="2">2.0</param>
</default>
</do>
</com>
<!--
A sample command to set a performance setting directly.
i.e. /pkvs2 will set the viewScale setting to 2.0.
-->
<com>
<type>perfKnob</type>
<trigger>pkvs2</trigger>
<return>Setting perfKnob viewScale to 2.0</return>
<do>
<setting>viewScale</setting>
<value>2.0</value>
</do>
</com>
<!--
A sample command to request an xml document on the web.
$time maybe used within the url parameter to give the current
timestamp for use as a cache buster.
The domain used, must hold a valid crossdomain.xml policy allowing
access from all domains (being as we are requesting from a local machine).
If single-param option is present and true, the text after the command
will be treated as a single parameter maintaining spaces, and not
munged in to two where appropriate (this is a there client feature).
This means, when using this option, the script serving the xml document
will need to handle the spaces that the there client injects.
-->
<com>
<type>xmlRequest</type>
<trigger>xmlreq</trigger>
<return>Calling an xml service somewhere on the web</return>
<do>
<single-param>true</single-param>
<url>http://domain.tld/path/to/file.xml?t=$time&p1=$1&p2=$2</url>
<default>
<param id="1">default1</param>
<param id="2">default2</param>
</default>
</do>
</com>
<!--
Two sample commands, showing how two users may use the same
command to trigger an outfit change on both avatars. The
commands must be present in both installs of the compass, each
with the other avatar name.
The first command only actions if the the user bedicus types the
command /twins {outfit}, the second if you do, but both have the
same effect of being an alias for /outfit {outfit}.
-->
<com>
<type>alias</type>
<trigger>twins</trigger>
<who>bedicus</who>
<do>
<convert>outfit</convert>
</do>
</com>
<com>
<type>alias</type>
<trigger>twins</trigger>
<do>
<convert>outfit</convert>
</do>
</com>
</user_defined>
</listener>
<msgbar>
<config>
<startup>0</startup>
</config>
</msgbar>
</bedican>