Database Teleporter BRIGADOON-0009
An Open Simulator Teleporter using a central database.
Loading...
Searching...
No Matches
teleport_heartbeat.osl File Reference

Go to the source code of this file.

Functions

 rdProcessFailureMessage (string FailureMessage)
 Convert error messages into something that is more readable.
integer rdSetAnonType (string ValueObject, integer InfoInteger)
 Set of Reset the Anonymous Flag.
integer rdSetRemoteUpdate (string ValueObject, integer InfoInteger)
integer rdSetExtendedLocal (string ValueObject, integer InfoInteger)
 Set of Reset the Extended Local Telportation Flag.
integer rdGetVersionNumber (string VersionString)
 Convert Version String into an Integer.
integer rdSetLocationType (string ValueString, integer LocationInfo)
 Set the teleporter Location Type.
string rdAdjustPosition (string Line)
 rdSaveNewTeleportNotecard (list teleport_list)
 Save the Teleportation Destinations into a Notecard.
 rdSendHeartbeatMessage ()

Variables

string VERSION_STRING = "2.0.0"
float MINIMUM_HEARTBEAT_PERIOD = 0.1
 The fastest allowable heartbeat.
float DEFAULT_LOCATION_OFFSET = 2.0
 The default offset from the landing teleport position when using a display panel;.
string CONFIG_NOTECARD_NAME = "brigadoon_teleporter.config"
string CONFIG_DESTINATIONS_NAME = "teleport_destinations.config"
string COMMENT_PREAMBLE = "//"
integer COMMENT_PREAMBLE_LENGTH = 2
string DATABASE_INTERFACE = "DATABASE_INTERFACE"
string LOCATION_NAME = "LOCATION_NAME"
string LANDING_OFFSET = "LANDING_OFFSET"
 The Configuration File Identifier for the Landing Offset Distance.
string HEARTBEAT_PERIOD = "HEARTBEAT_PERIOD"
 The Configuration File Identifier for the Heartbeat Period.
string FRONT_OFFSET_ANGLE = "FRONT_OFFSET_ANGLE"
 The Configuration File Identifier for the Look At Angle.
string LOCATION_TYPE = "LOCATION_TYPE"
 The Configuration File Identifier for the Location Type.
string GROUP_LOCATION = "GROUP"
 The Configuration File Identifier for all Goup Locations.
string ANONYMOUS_UNIT = "ANONYMOUS"
 The configuration Identifier for Anonymous Operation.
string REMOTE_UPDATE = "REMOTE_UPDATE"
 Flag to Enable Auto Updating.
string EXTENDED_LOCAL = "EXTENDED_LOCAL"
 The Extended Local indentifier.
string REGION_LOCATION = "REGION"
 The Configuration File Identifier for the Regional Location.
string WORLD_LOCATION = "WORLD"
 The Configuration File Identifier for the World Location.
string METAVERSE_LOCATION = "METAVERSE"
 The Configuration File Identifier for the Metaverse Location.
integer GROUP_FLAG = 1
 Numeric identifier of a Group Location.
integer REGION_FLAG = 2
integer WORLD_FLAG = 4
integer METAVERSE_FLAG = 8
integer ANONYMOUS_FLAG = 16
integer REMOTE_UPDATE_FLAG = 64
integer EXTENDED_LOCAL_FLAG = 32
integer LOCATION_MASK = ~(GROUP_FLAG + REGION_FLAG + WORLD_FLAG + METAVERSE_FLAG)
 A mask to remove locaiton information.
string LOCALITY_GROUP = "LOCALITY_GROUP"
 Configuration File Identifier for the Regional Location.
float TIMER_OFF = 0.0
float MINIMUM_HEARTBEAT_INTERVAL = 600
float MINIMUM_OFFSET = 0.5
 Minimum allowable offset.
float MAXIMUM_OFFSET = 10.0
 Maximum allowable offset.
string location_world
string location_name
string locality_group = "null"
string location_region
float landing_offset = DEFAULT_LOCATION_OFFSET
 The distance offset between the landing and the Teleporter.
key heartbeat_key
 The Heatbeat HTTP Requrest Key.
list destination_data
 A list of the Teleport Destinations from the COnfiguration File.
float front_offset_angle = 0.0
 The LookAt angle after teleportation.
string database_interface
float heartbeat_period
 Interval in seconds between Heartbeat messages.
list teleport_list
 The list of Teleport Destinations.
integer location_info = 0
 Information on the Teleporter Location.
integer version_number
 Version number as integer.
list destination_preamble

Function Documentation

◆ rdAdjustPosition()

string rdAdjustPosition ( string Line)

Definition at line 528 of file teleport_heartbeat.osl.

529{
530 string world;
531 string region;
532 string output_line;
533 vector landing;
534 vector look_at;
535
536 //llSay(0,Line);
537
538 // Split the Entry into components
539 list components = llParseString2List(Line, ["|"], []);
540
541 string name = components[0];
542 vector init_pos = (vector)components[1];
543 rotation initial_rot = (rotation)components[2];
544 vector offset_info = (vector)components[3];
545 string location_group = components[4];
546 integer address_type = (integer)components[5];
547
548 if (address_type == 2)
549 {
550 region = components[6];
551 world = components[7];
552 }
553 else if (address_type == 1)
554 {
555 region = components[6];
556 world = location_world;
557 }
558 else if (address_type == 0)
559 {
560 region = location_region;
561 world = location_world;
562 }
563 else
564 {
565 llSay(DEBUG_CHANNEL, "Format Error");
566 }
567
568 // Because of the Inherent limit of eight(8) elements when parsing a string
569 // three (3) of the numeric items were condensed into a vector to overcome this
570 // problem.
571 float offset_distance = (float)offset_info.x;
572 float look_angle = (float)offset_info.y;
573 integer location_information = (integer)offset_info.z;
574
575 // Determine the Landing Position by adding offset to the Teleporter's Location
576 // The offset is set negative to move to it "back to the front" of the Teleporter Object
577 landing = init_pos + llRot2Fwd(initial_rot) * -offset_distance;
578
579 vector temp = llRot2Euler(initial_rot * llAxisAngle2Rot(<0,0,1>, look_angle));
580 look_at = <llCos(temp.z), llSin(temp.z), 0.0>;
581
582 // Create the String to be stored in the Teleport Destination Notecard.
583
584 output_line = name + "|" + world + "|" + region + "|";
585 output_line += (string)landing + '|' + (string)look_at + '|';
586 output_line += (string)location_information + '|';
587 output_line += location_group + "\n";
588
589 return output_line;
590}
string location_region
Region holding the Teleporter.
string location_world
The Teleporter Location's World.

References location_region, and location_world.

◆ rdGetVersionNumber()

integer rdGetVersionNumber ( string VersionString)

Convert Version String into an Integer.

Parameters
VersionString to be converted
Returns
Integer value of the Version String

Definition at line 482 of file teleport_heartbeat.osl.

483{
484 integer version;
485
486 list versions = llParseString2List(VersionString, ["."], []);
487 version = (integer)llList2String(versions,2) + ((integer)llList2String(versions,1) * 100) + ((integer)llList2String(versions,0) * 10000);
488
489 return version;
490}

◆ rdProcessFailureMessage()

rdProcessFailureMessage ( string FailureMessage)

Convert error messages into something that is more readable.

Parameters
Theerror message string to be decoded

This routine takes the abbreviated error message and expands this to an error message that should be more readable by a user not familar with how the program operates.

Definition at line 387 of file teleport_heartbeat.osl.

388{
389 string failure_message;
390
391 list status = llParseString2List(FailureMessage, [":"], ["\n"]);
392 string failure_type = llList2String(status, 0);
393
394 // Explain why the Teleporter could not be automatically processed
395 if (failure_type == "BANNED")
396 {
397 failure_message = "Teleporters owned by user " + llList2String(status, 1) + " are not permitted to";
398 failure_message += " add teleporters to the database, update teleporter information or update teleporter destinations.";
399 }
400
401 // Explain that the Updating of the Datasbase using the Heartbeat message has failed.
402 else if (failure_type == "UPDATE")
403 {
404 failure_message = "The updating of the Teleporter's information in the database has unexpectedly failure with the error message: ";
405 failure_message += llList2String(status, 1);
406 }
407
408 // Explain that the Insertion into the Database using the Heartbeat message has failed
409 else if (failure_type == "INSERT")
410 {
411 failure_message = "The insertion of a new teleporter's information into the database has failed unexpectedly with the error message: ";
412 failure_message += llList2String(status, 1);
413 }
414
415 // Explain that the Insertion/update failed because the Teleporter name was already in use and duplicate names are not allowed.
416 else if (failure_type == "NAME_MATCH")
417 {
418 failure_message = "Unable to insert the new teleporter's information into the database because the Teleporter's Name is already in use ";
419 failure_message += "by another teleporter located at " + llList2String(status, 1);
420 }
421
422 // Explain that a failure in extracting the destination list for this Teleporter
423 else if (failure_type == "EXTRACT")
424 {
425 failure_message = "The extraction of the list of teleporter destinations has failed unexpectedly with the error message: ";
426 failure_message += llList2String(status, 1);
427 }
428
429 // Explain that Teleporters from world's outside of this one cannot be added automatically added.
430 else if (failure_type == "INVADER")
431 {
432 failure_message = "Teleports from home world '" + llList2String(status, 1) + "' are not permitted to ";
433 failure_message += " add teleporters to the database, update teleporter information or update teleporter destinations.";
434 }
435
436 // Tell the person what to do if there was an error.
437 failure_message += "\n If you wish to report this as an error please send this message to River Drifter with details of what happened and when.\n";
438 llSay(0, failure_message);
439}

◆ rdSaveNewTeleportNotecard()

rdSaveNewTeleportNotecard ( list teleport_list)

Save the Teleportation Destinations into a Notecard.

Parameters
telport_listList of telportation destinations

This routine will remove the Teleportation Notecard and make a new Notecard.

Definition at line 600 of file teleport_heartbeat.osl.

601{
602 // Add the Preamble Text before the List of Destinations
604
605 // Delete the Existing Teleporter Destination Notecard, if it exists
606 integer count = llGetInventoryNumber(INVENTORY_NOTECARD);
607 integer index = 0;
608 for (; index < count; ++index)
609 {
610 if (llGetInventoryName(INVENTORY_NOTECARD, index) == CONFIG_DESTINATIONS_NAME)
611 {
612 llRemoveInventory(CONFIG_DESTINATIONS_NAME);
613 index = count; // Ext Loop
614 }
615 }
616
617 // Write the Teleport List to a New Notecard
619}
string CONFIG_DESTINATIONS_NAME
The automatically generated list of teleporter destinations.
list teleport_list
The list of Teleport Destinations.
list destination_preamble

References CONFIG_DESTINATIONS_NAME, destination_preamble, and teleport_list.

◆ rdSendHeartbeatMessage()

rdSendHeartbeatMessage ( )

\break Send a heartbeat to the database via the webserver

This message sends a heartbeat command to the program controlling the database. The message contains the following information:

This message serves two purposes. First, it confirms that the teleporter still exists and is operational. Secondly, it confirms, and updates if necessary, the information about the Teleporter.

This information allows the database program to automatically delete destinations where the teleporter and by inference, the regions has disappeared.

Definition at line 634 of file teleport_heartbeat.osl.

635{
636 // Do a cursory Check that the configuration has been set up
637 if ((location_name != "") && (database_interface != ""))
638 {
639 // Reset the Data received for the Database
640 teleport_list = [];
641 integer teleport_list_started = FALSE;
642
643 key teleporter_key = llGetKey();
644 list details = llGetObjectDetails(teleporter_key, [OBJECT_POS, OBJECT_ROT, OBJECT_OWNER, OBJECT_GROUP]);
645
646 string heartbeat_message = database_interface + "?command=heartbeat"
647 + "&name=" + llEscapeURL(location_name)
648 + "&key=" + teleporter_key
649 + "&position=" + osReplaceString(llList2String(details, 0), " ", "", -1, 0)
650 + "&rotation=" + osReplaceString(llList2String(details, 1), " ", "", -1, 0)
651 + "&owner=" + llList2String(details, 2)
652 + "&group=" + llList2String(details, 3)
653 + "&world=" + location_world
654 + "&region=" + llGetRegionName()
655 + "&offset=" + (string)landing_offset
656 + "&offsetangle=" + (string)front_offset_angle
657 + "&locationinfo=" + (string)location_info
658 + "&vernum=" + (string)version_number
659 + "&localitygroup=" + locality_group;
660 heartbeat_key = llHTTPRequest(heartbeat_message, [HTTP_BODY_MAXLENGTH,16384], [""]);
661 }
662 else
663 {
664 llSay(DEBUG_CHANNEL, "Either the location_name or database_interface are undefined! Teleporter " + location_name + " has been disabled");
665 llSetScriptState(llGetScriptName(), FALSE);
666 }
667}
string location_name
The display name of the current location.
string database_interface
The HTTP address for invoking the php script to do the scanning & deleting.
float front_offset_angle
The LookAt angle after teleportation.
float landing_offset
The distance offset between the landing and the Teleporter.
key heartbeat_key
The Heatbeat HTTP Requrest Key.
integer version_number
Version number as integer.
string locality_group
integer location_info
Information on the Teleporter Location.

References database_interface, front_offset_angle, heartbeat_key, landing_offset, locality_group, location_info, location_name, location_world, teleport_list, and version_number.

◆ rdSetAnonType()

integer rdSetAnonType ( string ValueObject,
integer InfoInteger )

Set of Reset the Anonymous Flag.

Definition at line 446 of file teleport_heartbeat.osl.

447{
448 if (llToUpper(ValueObject) == "YES") InfoInteger |= ANONYMOUS_FLAG; else InfoInteger &= ~ANONYMOUS_FLAG;
449
450 return InfoInteger;
451}
integer ANONYMOUS_FLAG
This flag designates the teleporter as anonymous.

References ANONYMOUS_FLAG.

◆ rdSetExtendedLocal()

integer rdSetExtendedLocal ( string ValueObject,
integer InfoInteger )

Set of Reset the Extended Local Telportation Flag.

Definition at line 469 of file teleport_heartbeat.osl.

470{
471 if (llToUpper(ValueObject) == "TRUE") InfoInteger |= EXTENDED_LOCAL_FLAG; else InfoInteger &= ~EXTENDED_LOCAL_FLAG;
472 return InfoInteger;
473}
integer EXTENDED_LOCAL_FLAG
Flag for Extended Local teleports.

References EXTENDED_LOCAL_FLAG.

◆ rdSetLocationType()

integer rdSetLocationType ( string ValueString,
integer LocationInfo )

Set the teleporter Location Type.

Parameters
ValueStringThe String holding the Types
LocationInfoCurrent Location Info value
Returns
The Updated LocationInfo

Definition at line 500 of file teleport_heartbeat.osl.

501{
502 integer location_buffer = 0;
503
504 // Cut the Location Types out of the Location Info
505 LocationInfo &= LOCATION_MASK;
506
507 // Break the Value String into Components
508 list type_component = llParseString2List(ValueString, [","], []);
509 integer list_size = llGetListLength(type_component);
510 integer index = 0;
511
512 // Process each LocationType
513 for (; index < list_size; ++index)
514 {
515 string location_type = llStringTrim(llList2String(type_component, index), STRING_TRIM);
516 if (location_type == GROUP_LOCATION) location_buffer += GROUP_FLAG;
517 else if (location_type == REGION_LOCATION) location_buffer += REGION_FLAG;
518 else if (location_type == WORLD_LOCATION) location_buffer += WORLD_FLAG;
519 else if (location_type == METAVERSE_LOCATION) location_buffer += METAVERSE_FLAG;
520 }
521
522 // Put intp the Location Information
523 LocationInfo |= location_buffer;
524
525 return LocationInfo;
526}
integer REGION_FLAG
Number value of REgion Location flag.
integer METAVERSE_FLAG
Number value of Metaverse Location flag.
integer WORLD_FLAG
Number value of World Location flag.
string WORLD_LOCATION
The Configuration File Identifier for the World Location.
string REGION_LOCATION
The Configuration File Identifier for the Regional Location.
string GROUP_LOCATION
The Configuration File Identifier for all Goup Locations.
string METAVERSE_LOCATION
The Configuration File Identifier for the Metaverse Location.
integer GROUP_FLAG
Numeric identifier of a Group Location.
integer LOCATION_MASK
A mask to remove locaiton information.

References GROUP_FLAG, GROUP_LOCATION, LOCATION_MASK, METAVERSE_FLAG, METAVERSE_LOCATION, REGION_FLAG, REGION_LOCATION, WORLD_FLAG, and WORLD_LOCATION.

◆ rdSetRemoteUpdate()

integer rdSetRemoteUpdate ( string ValueObject,
integer InfoInteger )

Definition at line 458 of file teleport_heartbeat.osl.

459{
460 if (llToUpper(ValueObject) == "YES") InfoInteger |= REMOTE_UPDATE_FLAG; else InfoInteger &= ~REMOTE_UPDATE_FLAG;
461 return InfoInteger;
462}
integer REMOTE_UPDATE_FLAG

References REMOTE_UPDATE_FLAG.

Variable Documentation

◆ ANONYMOUS_FLAG

integer ANONYMOUS_FLAG = 16

Definition at line 199 of file teleport_heartbeat.osl.

◆ ANONYMOUS_UNIT

string ANONYMOUS_UNIT = "ANONYMOUS"

The configuration Identifier for Anonymous Operation.

Definition at line 122 of file teleport_heartbeat.osl.

◆ COMMENT_PREAMBLE

string COMMENT_PREAMBLE = "//"

Definition at line 64 of file teleport_heartbeat.osl.

◆ COMMENT_PREAMBLE_LENGTH

integer COMMENT_PREAMBLE_LENGTH = 2

Definition at line 71 of file teleport_heartbeat.osl.

◆ CONFIG_DESTINATIONS_NAME

string CONFIG_DESTINATIONS_NAME = "teleport_destinations.config"

Definition at line 56 of file teleport_heartbeat.osl.

◆ CONFIG_NOTECARD_NAME

string CONFIG_NOTECARD_NAME = "brigadoon_teleporter.config"

Definition at line 46 of file teleport_heartbeat.osl.

◆ DATABASE_INTERFACE

string DATABASE_INTERFACE = "DATABASE_INTERFACE"

Definition at line 77 of file teleport_heartbeat.osl.

◆ database_interface

string database_interface

Definition at line 322 of file teleport_heartbeat.osl.

◆ DEFAULT_LOCATION_OFFSET

float DEFAULT_LOCATION_OFFSET = 2.0

The default offset from the landing teleport position when using a display panel;.

This value can be altered in the "teleporter.config" notecard.

NOTE: This value MUST be in the range of 0.5 to 10 metres. If it is outside of this range it will be clamped to the closest valid value.

Definition at line 38 of file teleport_heartbeat.osl.

◆ destination_data

list destination_data

A list of the Teleport Destinations from the COnfiguration File.

Definition at line 307 of file teleport_heartbeat.osl.

◆ destination_preamble

list destination_preamble
Initial value:
= [
"// Filename: teleport_destinations.config",
"// Version: " + VERSION_STRING,
"// Date: " + llGetDate() + " UTC",
"// Author: River Drifter ( river-drifter@aussiebroadband.com.au )",
"// Email: river-drifter@aussiebroadband.com.au",
"// Licence: Creative Commons Attribution Share Alike 4.0 International or better",
"//",
"// This destination file is created specifically for this teleporter in the region where",
"// it was located. If the teleporter is moved to another region, it must be reset to",
"// generate a new version of this file.",
"//",
"// *NOTE*: This file is periodically recreated by the Teleporter Heartbeat script.",
"// All entries place here manually will be lost when the file is recreated. If you",
"// wish do testing with manual entries, disable the heartbeat script for the duration.",
"//=========================================================="
]
string VERSION_STRING
The Current version of the software.

Definition at line 361 of file teleport_heartbeat.osl.

Referenced by rdSaveNewTeleportNotecard().

◆ EXTENDED_LOCAL

string EXTENDED_LOCAL = "EXTENDED_LOCAL"

The Extended Local indentifier.

Definition at line 136 of file teleport_heartbeat.osl.

◆ EXTENDED_LOCAL_FLAG

integer EXTENDED_LOCAL_FLAG = 32

Definition at line 217 of file teleport_heartbeat.osl.

◆ FRONT_OFFSET_ANGLE

string FRONT_OFFSET_ANGLE = "FRONT_OFFSET_ANGLE"

The Configuration File Identifier for the Look At Angle.

Definition at line 101 of file teleport_heartbeat.osl.

◆ front_offset_angle

float front_offset_angle = 0.0

The LookAt angle after teleportation.

This value defaults to 0 if an angle isn't supplied in the configuration notecard.

Definition at line 316 of file teleport_heartbeat.osl.

Referenced by rdSendHeartbeatMessage().

◆ GROUP_FLAG

integer GROUP_FLAG = 1

Numeric identifier of a Group Location.

Definition at line 169 of file teleport_heartbeat.osl.

Referenced by rdSetLocationType().

◆ GROUP_LOCATION

string GROUP_LOCATION = "GROUP"

The Configuration File Identifier for all Goup Locations.

Show all instantances of a Group location, even it is isn't associated with the Group location identification of this Teleporter.

Definition at line 116 of file teleport_heartbeat.osl.

Referenced by rdSetLocationType().

◆ heartbeat_key

key heartbeat_key

The Heatbeat HTTP Requrest Key.

Definition at line 301 of file teleport_heartbeat.osl.

Referenced by rdSendHeartbeatMessage().

◆ HEARTBEAT_PERIOD

string HEARTBEAT_PERIOD = "HEARTBEAT_PERIOD"

The Configuration File Identifier for the Heartbeat Period.

Definition at line 95 of file teleport_heartbeat.osl.

◆ heartbeat_period

float heartbeat_period

Interval in seconds between Heartbeat messages.

Definition at line 329 of file teleport_heartbeat.osl.

◆ LANDING_OFFSET

string LANDING_OFFSET = "LANDING_OFFSET"

The Configuration File Identifier for the Landing Offset Distance.

Definition at line 89 of file teleport_heartbeat.osl.

◆ landing_offset

float landing_offset = DEFAULT_LOCATION_OFFSET

The distance offset between the landing and the Teleporter.

Definition at line 295 of file teleport_heartbeat.osl.

Referenced by rdSendHeartbeatMessage().

◆ LOCALITY_GROUP

string LOCALITY_GROUP = "LOCALITY_GROUP"

Configuration File Identifier for the Regional Location.

Definition at line 232 of file teleport_heartbeat.osl.

◆ locality_group

string locality_group = "null"

Definition at line 282 of file teleport_heartbeat.osl.

Referenced by rdSendHeartbeatMessage().

◆ location_info

integer location_info = 0

Information on the Teleporter Location.

Definition at line 343 of file teleport_heartbeat.osl.

Referenced by rdSendHeartbeatMessage().

◆ LOCATION_MASK

integer LOCATION_MASK = ~(GROUP_FLAG + REGION_FLAG + WORLD_FLAG + METAVERSE_FLAG)

A mask to remove locaiton information.

If the location_info is ANDed with this mask, all of the location types are removed.

Definition at line 225 of file teleport_heartbeat.osl.

Referenced by rdSetLocationType().

◆ LOCATION_NAME

string LOCATION_NAME = "LOCATION_NAME"

Definition at line 83 of file teleport_heartbeat.osl.

◆ location_name

string location_name

Definition at line 280 of file teleport_heartbeat.osl.

◆ location_region

string location_region

Definition at line 289 of file teleport_heartbeat.osl.

◆ LOCATION_TYPE

string LOCATION_TYPE = "LOCATION_TYPE"

The Configuration File Identifier for the Location Type.

Definition at line 107 of file teleport_heartbeat.osl.

◆ location_world

string location_world

Definition at line 271 of file teleport_heartbeat.osl.

◆ MAXIMUM_OFFSET

float MAXIMUM_OFFSET = 10.0

Maximum allowable offset.

Definition at line 258 of file teleport_heartbeat.osl.

◆ METAVERSE_FLAG

integer METAVERSE_FLAG = 8

Definition at line 187 of file teleport_heartbeat.osl.

◆ METAVERSE_LOCATION

string METAVERSE_LOCATION = "METAVERSE"

The Configuration File Identifier for the Metaverse Location.

A Metaverse location is a location that is listed in the deestination list if it is not in the same world as the teleporter.

Definition at line 163 of file teleport_heartbeat.osl.

Referenced by rdSetLocationType().

◆ MINIMUM_HEARTBEAT_INTERVAL

float MINIMUM_HEARTBEAT_INTERVAL = 600

Definition at line 246 of file teleport_heartbeat.osl.

◆ MINIMUM_HEARTBEAT_PERIOD

float MINIMUM_HEARTBEAT_PERIOD = 0.1

The fastest allowable heartbeat.

This is the minimum interval allowed between heartbeats. This is set to prevent the script from flooding the databse webserver with heartbeat messages, in what would essentially be a denial of service attack.

Definition at line 27 of file teleport_heartbeat.osl.

◆ MINIMUM_OFFSET

float MINIMUM_OFFSET = 0.5

Minimum allowable offset.

Definition at line 252 of file teleport_heartbeat.osl.

◆ REGION_FLAG

integer REGION_FLAG = 2

Definition at line 175 of file teleport_heartbeat.osl.

◆ REGION_LOCATION

string REGION_LOCATION = "REGION"

The Configuration File Identifier for the Regional Location.

A region location is a location that is only included in the destination list if it is in the same region as the teleporter.

Definition at line 145 of file teleport_heartbeat.osl.

Referenced by rdSetLocationType().

◆ REMOTE_UPDATE

string REMOTE_UPDATE = "REMOTE_UPDATE"

Flag to Enable Auto Updating.

The Configuration File Identifier for REmote Updates.

This flag indicates whether auto updating is authorised. If this bit is set to zero, auto updating is disable, otherwise, it is will enable auto updating.

Definition at line 129 of file teleport_heartbeat.osl.

◆ REMOTE_UPDATE_FLAG

integer REMOTE_UPDATE_FLAG = 64

Definition at line 209 of file teleport_heartbeat.osl.

◆ teleport_list

list teleport_list

The list of Teleport Destinations.

Definition at line 336 of file teleport_heartbeat.osl.

Referenced by rdSaveNewTeleportNotecard(), and rdSendHeartbeatMessage().

◆ TIMER_OFF

float TIMER_OFF = 0.0

Definition at line 238 of file teleport_heartbeat.osl.

◆ version_number

integer version_number

Version number as integer.

This integer takes the version string like "1.2.3" into a single integer. The integer is calculated using:

(1 * 10000) + (2 * 100) + 3 => 10023

Definition at line 354 of file teleport_heartbeat.osl.

Referenced by rdSendHeartbeatMessage().

◆ VERSION_STRING

string VERSION_STRING = "2.0.0"

Definition at line 17 of file teleport_heartbeat.osl.

◆ WORLD_FLAG

integer WORLD_FLAG = 4

Definition at line 181 of file teleport_heartbeat.osl.

◆ WORLD_LOCATION

string WORLD_LOCATION = "WORLD"

The Configuration File Identifier for the World Location.

A world location is a location that is only included if the destination is in the same world as the teleporter.

Definition at line 154 of file teleport_heartbeat.osl.

Referenced by rdSetLocationType().