126 string failure_message;
128 list status = llParseString2List(FailureMessage, [
":"], [
"\n"]);
129 string failure_type = llList2String(status, 0);
132 if (failure_type ==
"BANNED")
134 failure_message =
"Teleporters owned by user " + llList2String(status, 1) +
" are not permitted to";
135 failure_message +=
" add teleporters to the database, update teleporter information or update teleporter destinations.";
139 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";
140 llSay(0, failure_message);
154 list versions = llParseString2List(VersionString, [
"."], []);
155 version = (integer)llList2String(versions,2) + ((integer)llList2String(versions,1) * 100) + ((integer)llList2String(versions,0) * 10000);
171 teleport_list = destination_preamble + teleport_list;
174 integer count = llGetInventoryNumber(INVENTORY_NOTECARD);
176 for (; index < count; ++index)
178 if (llGetInventoryName(INVENTORY_NOTECARD, index) == CONFIG_DESTINATIONS_NAME)
180 llRemoveInventory(CONFIG_DESTINATIONS_NAME);
186 osMakeNotecard(CONFIG_DESTINATIONS_NAME, teleport_list);
207 key messageboard_key = llGetKey();
208 list details = llGetObjectDetails(teleporter_key, [OBJECT_OWNER, OBJECT_GROUP]);
211 +
"&key=" + messageboard_key
212 +
"&owner=" + llList2String(details, 0)
213 +
"&group=" + llList2String(details, 1)
214 heartbeat_key = llHTTPRequest(heartbeat_message, [HTTP_BODY_MAXLENGTH,16384], [
""]);
218 llSay(DEBUG_CHANNEL,
"The database_interface are undefined! Teleporter " + location_name +
" has been disabled");
219 llSetScriptState(llGetScriptName(), FALSE);
239 list config_data = llParseString2List(config, [
"\n"], []);
243 integer list_length = llGetListLength(config_data);
244 for (; index < list_length; ++index)
247 string trimmed_line = llStringTrim(llList2String(config_data, index), STRING_TRIM);
253 list key_value = llParseString2List(trimmed_line, [
"="], []);
256 string key_object = llToUpper(llStringTrim(llList2String(key_value, 0), STRING_TRIM));
259 string value_object = llStringTrim(llList2String(key_value, 1), STRING_TRIM);
292 http_response(key RequestId, integer Status, list Metadata,
string Body)
302 llSay(DEBUG_CHANNEL,
"Heartbeat Request Failed with error " + (
string)Status);
307 list input_list = llParseString2List(Body, [
"\n"], []);
311 integer input_list_started = FALSE;
312 integer list_count = llGetListLength(input_list);
317 line = llList2String(input_list, index);
320 list line_list = llString2List(llParseString2List(Body, [
"="], []);
321 string key_string = llList2String(line_list, 0);
322 string value_string = llList2String(line_list, 1);
325 if (key_string ==
"")
328 else if (key_string ==
"")
331 else if (key_string ==
"")
334 else if (key_string ==
"")
338 while ( ++index < list_count);
integer COMMENT_PREAMBLE_LENGTH
THe number of characters in the comment preamble Menu Item = [17:16] Nothing Found!
string database_interface
The address of the database interface.
float MINIMUM_OFFSET
Minimum allowable offset.
string CONFIG_NOTECARD_NAME
Script(s) Configuration Notecard.
rdProcessFailureMessage(string FailureMessage)
Convert error messages into something that is more readable.
float heartbeat_period
Interval in seconds between Heartbeat messages.
float TIMER_OFF
Set the Timer delay to 0.0 which turns off the timer events.
rdSaveNewTeleportNotecard(list teleport_list)
Save the Teleportation Destinations into a Notecard.
key heartbeat_key
The Heatbeat HTTP Requrest Key.
string HEARTBEAT_PERIOD
The Configuration File Identifier for the Heartbeat Period.
float MINIMUM_HEARTBEAT_INTERVAL
string DATABASE_INTERFACE
The Configuration File Identifier for the Database Interface URL.
string COMMENT_PREAMBLE
Preamble for a comment line in the configuration file.
integer version_number
Version number as integer.
integer rdGetVersionNumber(string VersionString)
Convert Version String into an Integer.
float MINIMUM_HEARTBEAT_PERIOD
The fastest allowable heartbeat.