<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://opensimulator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=User%3AAllen_Kerensky%2FMyriad_Lite_Preview_5%2FRegion_Settings_Server</id>
		<title>User:Allen Kerensky/Myriad Lite Preview 5/Region Settings Server - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/index.php?action=history&amp;feed=atom&amp;title=User%3AAllen_Kerensky%2FMyriad_Lite_Preview_5%2FRegion_Settings_Server"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=User:Allen_Kerensky/Myriad_Lite_Preview_5/Region_Settings_Server&amp;action=history"/>
		<updated>2026-05-15T15:47:37Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/index.php?title=User:Allen_Kerensky/Myriad_Lite_Preview_5/Region_Settings_Server&amp;diff=27364&amp;oldid=prev</id>
		<title>Allen Kerensky: moved User:Allen Kerensky:Myriad Lite Preview 5:Region Settings Server to User:Allen Kerensky/Myriad Lite Preview 5/Region Settings Server: move into subsite</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=User:Allen_Kerensky/Myriad_Lite_Preview_5/Region_Settings_Server&amp;diff=27364&amp;oldid=prev"/>
				<updated>2012-02-06T22:48:36Z</updated>
		
		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/wiki/User:Allen_Kerensky:Myriad_Lite_Preview_5:Region_Settings_Server&quot; class=&quot;mw-redirect&quot; title=&quot;User:Allen Kerensky:Myriad Lite Preview 5:Region Settings Server&quot;&gt;User:Allen Kerensky:Myriad Lite Preview 5:Region Settings Server&lt;/a&gt; to &lt;a href=&quot;/wiki/User:Allen_Kerensky/Myriad_Lite_Preview_5/Region_Settings_Server&quot; title=&quot;User:Allen Kerensky/Myriad Lite Preview 5/Region Settings Server&quot;&gt;User:Allen Kerensky/Myriad Lite Preview 5/Region Settings Server&lt;/a&gt;: move into subsite&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 22:48, 6 February 2012&lt;/td&gt;
			&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Allen Kerensky</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=User:Allen_Kerensky/Myriad_Lite_Preview_5/Region_Settings_Server&amp;diff=27245&amp;oldid=prev</id>
		<title>Allen Kerensky: fixed caps</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=User:Allen_Kerensky/Myriad_Lite_Preview_5/Region_Settings_Server&amp;diff=27245&amp;oldid=prev"/>
				<updated>2012-02-06T19:40:06Z</updated>
		
		<summary type="html">&lt;p&gt;fixed caps&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:40, 6 February 2012&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Myriad Lite Region Settings Server =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;= Myriad Lite Region Settings Server =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Myriad_Lite_Region_Settings_server&lt;/del&gt;-v0.0.1-20111114.lsl ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Myriad_Lite_Region_Settings_Server&lt;/ins&gt;-v0.0.1-20111114.lsl ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;lt;nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; &amp;lt;nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// Myriad_Lite_Region_Settings_Server-v0.0.1-20111114.lsl&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;// Myriad_Lite_Region_Settings_Server-v0.0.1-20111114.lsl&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Allen Kerensky</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/index.php?title=User:Allen_Kerensky/Myriad_Lite_Preview_5/Region_Settings_Server&amp;diff=27244&amp;oldid=prev</id>
		<title>Allen Kerensky: created</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/index.php?title=User:Allen_Kerensky/Myriad_Lite_Preview_5/Region_Settings_Server&amp;diff=27244&amp;oldid=prev"/>
				<updated>2012-02-06T19:39:44Z</updated>
		
		<summary type="html">&lt;p&gt;created&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Myriad Lite Region Settings Server =&lt;br /&gt;
&lt;br /&gt;
== Myriad_Lite_Region_Settings_server-v0.0.1-20111114.lsl ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
// Myriad_Lite_Region_Settings_Server-v0.0.1-20111114.lsl&lt;br /&gt;
// The Myriad RPG System was designed, written, and illustrated by Ashok Desai&lt;br /&gt;
// Myriad RPG licensed under the Creative Commons Attribution 2.0 UK: England and Wales&lt;br /&gt;
// http://creativecommons.org/licenses/by/2.0/uk/&lt;br /&gt;
// Myriad Lite software Copyright (c) 2011 by Allen Kerensky (OSG/SL)&lt;br /&gt;
// Myriad Lite licensed under the&lt;br /&gt;
// Creative Commons Attribution-Share Alike-Non-Commercial 3.0 Unported&lt;br /&gt;
// http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
&lt;br /&gt;
// CONSTANTS - DO NOT CHANGE DURING RUN&lt;br /&gt;
string VERSION = &amp;quot;0.0.1&amp;quot;; // Allen Kerensky's script version&lt;br /&gt;
string VERSIONDATE = &amp;quot;20111114&amp;quot;; // Allen Kerensky's script yyyymmdd&lt;br /&gt;
integer CHAN_MYRIAD = -999; // regionwide channel for Myriad events&lt;br /&gt;
string CARD = &amp;quot;Myriad_Lite_Region_Settings-v0.0.0-20111114.txt&amp;quot;; // notecard data table&lt;br /&gt;
&lt;br /&gt;
// RUNTIME GLOBALS - CAN CHANGE DURING RUN&lt;br /&gt;
integer HAND_MYRIAD;&lt;br /&gt;
&lt;br /&gt;
list REGION_SETTINGS; // list of setting categories&lt;br /&gt;
list REGION_GENERATORS; // character generation methods&lt;br /&gt;
list REGION_POINT_POOLS; // campaign power levels and point pool basis&lt;br /&gt;
list REGION_STATISTICS; // list of statistics for characters in this region&lt;br /&gt;
list REGION_RESILIENCES; // list of healths for various combats used&lt;br /&gt;
list REGION_SKILLS; // list of available skills&lt;br /&gt;
list REGION_GENRES; // list of available skill and item genres to allow&lt;br /&gt;
list REGION_BOONS; // list of available boons&lt;br /&gt;
list REGION_FLAWS; // list of available flaws&lt;br /&gt;
list REGION_MORTAL_EFFECTS; // list of available mortal combat special effects&lt;br /&gt;
list REGION_SOCIAL_EFFECTS; // list of available social combat special effects&lt;br /&gt;
list REGION_MAGIC_EFFECTS; // list of available magical special effects&lt;br /&gt;
list REGION_VEHICLE_EFFECTS; // list of available vehicle special effects&lt;br /&gt;
list REGION_SPECIES; // list of available species templates&lt;br /&gt;
list REGION_BACKGROUNDS; // list of available background templates&lt;br /&gt;
list REGION_CAREERS; // list of available career templates&lt;br /&gt;
list REGION_EQUIPMENT; // list of available starting items&lt;br /&gt;
&lt;br /&gt;
integer LINE = 0; // reading line number&lt;br /&gt;
key QUERY = NULL_KEY; // track notecard queries&lt;br /&gt;
&lt;br /&gt;
// DEBUG - show debug messages&lt;br /&gt;
DEBUG(string dmessage) {&lt;br /&gt;
    llOwnerSay(&amp;quot;DEBUG: &amp;quot;+dmessage);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// SETUP - begin&lt;br /&gt;
SETUP() {&lt;br /&gt;
    llSetText(&amp;quot;Server: Region&amp;quot;,&amp;lt;1,1,1&amp;gt;,1);&lt;br /&gt;
    if ( HAND_MYRIAD != 0 ) llListenRemove(HAND_MYRIAD); // is there already a listener? clear it  &lt;br /&gt;
    HAND_MYRIAD = llListen(CHAN_MYRIAD,&amp;quot;&amp;quot;,NULL_KEY,&amp;quot;&amp;quot;); // start region channel listener&lt;br /&gt;
    DEBUG(&amp;quot;Region setting server &amp;quot;+VERSION+&amp;quot; &amp;quot;+VERSIONDATE+&amp;quot; loading region configuration. Please wait...&amp;quot;); // tell player we're waiting for data server&lt;br /&gt;
    QUERY = llGetNotecardLine(CARD,LINE++); // ask for line from notecard and advance to next line&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// RESET - reload&lt;br /&gt;
RESET() {&lt;br /&gt;
    llResetScript(); // now reset&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
LIST_REGION_SETTINGS(key id) {&lt;br /&gt;
    integer replyto = (integer)(&amp;quot;0x&amp;quot;+llGetSubString((string)id,0,6)); // calculate requestor-specific chat channel to reply to&lt;br /&gt;
    llRegionSay(replyto,&amp;quot;REGION_SETTINGS|SETTINGS=&amp;quot;+llList2CSV(REGION_SETTINGS)); // send list of settings categories&lt;br /&gt;
    integer numsettings = llGetListLength(REGION_SETTINGS); // how long is list of categories&lt;br /&gt;
    integer count; // temporary place to store our count of lists we've sent&lt;br /&gt;
    for ( count = 0; count &amp;lt; numsettings; count++) { // step through all settings lists&lt;br /&gt;
        string index = llList2String(REGION_SETTINGS,count); // find position of current category to send in list&lt;br /&gt;
        string reply = &amp;quot;REGION_SETTING|&amp;quot;+llToUpper(index)+&amp;quot;=&amp;quot;; // start our output string&lt;br /&gt;
        if ( index == &amp;quot;GENERATORS&amp;quot; ) { reply += llList2CSV(REGION_GENERATORS); } // if sending generators, add the generator methods&lt;br /&gt;
        if ( index == &amp;quot;POINT_POOLS&amp;quot; ) { reply += llList2CSV(REGION_POINT_POOLS); } // if sending point pools, add the pool configuration&lt;br /&gt;
        if ( index == &amp;quot;STATISTICS&amp;quot; ) { reply += llList2CSV(REGION_STATISTICS); } // if sending stats, add the statistics list&lt;br /&gt;
        if ( index == &amp;quot;RESILIENCES&amp;quot; ) { reply += llList2CSV(REGION_RESILIENCES); } // if sending resiliences, add the resilience list&lt;br /&gt;
        if ( index == &amp;quot;SKILLS&amp;quot; ) { reply += llList2CSV(REGION_SKILLS); } // if sending skills, add the skill list&lt;br /&gt;
        if ( index == &amp;quot;GENRES&amp;quot; ) { reply += llList2CSV(REGION_GENRES); } // if sending genres, add the genre list&lt;br /&gt;
        if ( index == &amp;quot;BOONS&amp;quot; ) { reply += llList2CSV(REGION_BOONS); } // if sending boons, add the boon list&lt;br /&gt;
        if ( index == &amp;quot;FLAWS&amp;quot; ) { reply += llList2CSV(REGION_FLAWS); } // if sending flaws, add the flaw list&lt;br /&gt;
        if ( index == &amp;quot;MORTAL_EFFECTS&amp;quot; ) { reply += llList2CSV(REGION_MORTAL_EFFECTS); } // if sending mortal sfx, add the sfx list&lt;br /&gt;
        if ( index == &amp;quot;SOCIAL_EFFECTS&amp;quot; ) { reply += llList2CSV(REGION_SOCIAL_EFFECTS); } // if sending social sfx, add the sfx list&lt;br /&gt;
        if ( index == &amp;quot;MAGIC_EFFECTS&amp;quot; ) { reply += llList2CSV(REGION_MAGIC_EFFECTS); } // if sending magic sfx, add the sfx list&lt;br /&gt;
        if ( index == &amp;quot;VEHICLE_EFFECTS&amp;quot; ) { reply += llList2CSV(REGION_VEHICLE_EFFECTS); } // if sending vehicle sfx, add the sfx list&lt;br /&gt;
        if ( index == &amp;quot;SPECIES&amp;quot; ) { reply += llList2CSV(REGION_SPECIES); } // if sending species templates, add the template list&lt;br /&gt;
        if ( index == &amp;quot;BACKGROUNDS&amp;quot; ) { reply += llList2CSV(REGION_BACKGROUNDS); } // if sending background templates, add the template list&lt;br /&gt;
        if ( index == &amp;quot;CAREERS&amp;quot; ) { reply += llList2CSV(REGION_CAREERS); } // if sending career templates, add the template list&lt;br /&gt;
        if ( index == &amp;quot;EQUIPMENT&amp;quot; ) { reply += llList2CSV(REGION_EQUIPMENT);} // if sending equipment, add the equipment list&lt;br /&gt;
        llRegionSay(replyto,reply); // send current setting and list FIXME what if output &amp;gt; 1016 characters?&lt;br /&gt;
    }&lt;br /&gt;
    llRegionSay(replyto,&amp;quot;REGION_SETTING|LIST_COMPLETE&amp;quot;); // send a final marker to tell character creator all config has been sent&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
GET_REGION_SETTING(key id,string msg) {&lt;br /&gt;
    integer replyto = (integer)(&amp;quot;0x&amp;quot;+llGetSubString((string)id,0,6)); // calculate requestor-specific chat channel to reply to&lt;br /&gt;
    list tokens = llParseString2List(msg,[&amp;quot;|&amp;quot;],[]); // split msg into list around pipe symbols&lt;br /&gt;
    string index = llList2String(tokens,1); // the name of the item to get&lt;br /&gt;
    integer regionindex = llListFindList(REGION_SETTINGS,[index]); // get the position of that item in the list&lt;br /&gt;
    if ( regionindex != -1 ) { // was item name in the list?&lt;br /&gt;
        string reply = &amp;quot;REGION_SETTING|&amp;quot;+llToUpper(index)+&amp;quot;=&amp;quot;; // start output item data NO PLURAL here - we're sending 1 setting list&lt;br /&gt;
        if ( index == &amp;quot;SETTINGS&amp;quot; ) { reply += llList2CSV(REGION_SETTINGS); } // if settings requested, add settings list to output&lt;br /&gt;
        if ( index == &amp;quot;GENERATORS&amp;quot; ) { reply += llList2CSV(REGION_GENERATORS); } // if generators requested, add generator to output&lt;br /&gt;
        if ( index == &amp;quot;POINT_POOLS&amp;quot; ) { reply += llList2CSV(REGION_POINT_POOLS); } // if point pools requested, add point pools to output&lt;br /&gt;
        if ( index == &amp;quot;STATISTICS&amp;quot; ) { reply += llList2CSV(REGION_STATISTICS); } // if statistics requested, add statistics to output&lt;br /&gt;
        if ( index == &amp;quot;RESILIENCES&amp;quot; ) { reply += llList2CSV(REGION_RESILIENCES); } // if resiliences requested, add resiliences to output&lt;br /&gt;
        if ( index == &amp;quot;SKILLS&amp;quot; ) { reply += llList2CSV(REGION_SKILLS); } // if skills requested, add skills to output&lt;br /&gt;
        if ( index == &amp;quot;GENRES&amp;quot; ) { reply += llList2CSV(REGION_GENRES); } // if genres requested, add genres to output&lt;br /&gt;
        if ( index == &amp;quot;BOONS&amp;quot; ) { reply += llList2CSV(REGION_BOONS); } // if boons requested, add boons to output&lt;br /&gt;
        if ( index == &amp;quot;FLAWS&amp;quot; ) { reply += llList2CSV(REGION_FLAWS); } // if flaws requested, add flaws to output&lt;br /&gt;
        if ( index == &amp;quot;MORTAL_EFFECTS&amp;quot; ) { reply += llList2CSV(REGION_MORTAL_EFFECTS); } // if mortal sfx requested, add sfx to output&lt;br /&gt;
        if ( index == &amp;quot;SOCIAL_EFFECTS&amp;quot; ) { reply += llList2CSV(REGION_SOCIAL_EFFECTS); } // if social sfx requested, add sfx to output&lt;br /&gt;
        if ( index == &amp;quot;MAGIC_EFFECTS&amp;quot; ) { reply += llList2CSV(REGION_MAGIC_EFFECTS); } // if magic sfx requested, add sfx to output&lt;br /&gt;
        if ( index == &amp;quot;VEHICLE_EFFECTS&amp;quot; ) { reply += llList2CSV(REGION_VEHICLE_EFFECTS); } // if vehicle sfx requested, add sfx to output&lt;br /&gt;
        if ( index == &amp;quot;SPECIES&amp;quot; ) { reply += llList2CSV(REGION_SPECIES); } // if species templates requested, add templates to output&lt;br /&gt;
        if ( index == &amp;quot;BACKGROUNDS&amp;quot; ) { reply += llList2CSV(REGION_BACKGROUNDS); } // if background templates requested, add templates to output&lt;br /&gt;
        if ( index == &amp;quot;CAREERS&amp;quot; ) { reply += llList2CSV(REGION_CAREERS); } // if career templates requested, add templates to output&lt;br /&gt;
        if ( index == &amp;quot;EQUIPMENT&amp;quot; ) { reply += llList2CSV(REGION_EQUIPMENT); } // if equipment requested, add equipment to output&lt;br /&gt;
        llRegionSay(replyto,reply); // send current output line FIXME what if output line &amp;gt; 1016 characters?&lt;br /&gt;
    } else {&lt;br /&gt;
        llRegionSay(replyto,&amp;quot;REGION_SETTING|ERROR=Requested Region Setting (&amp;quot;+index+&amp;quot;) not found&amp;quot;); // item requested does not exist, return an error&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
SET_REGION_SETTING() {&lt;br /&gt;
    // FIXME - do we need this?    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// DEFAULT STATE&lt;br /&gt;
default {&lt;br /&gt;
&lt;br /&gt;
    // STATE ENTRY - called on Reset&lt;br /&gt;
    state_entry() {&lt;br /&gt;
        SETUP(); // show credits and start character sheet load&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // on_rez - when rezzed to ground or from inventory as attachment during login&lt;br /&gt;
    on_rez(integer params) {&lt;br /&gt;
        params = 0; // LSLINT&lt;br /&gt;
        RESET(); // force to go through state entry&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // attach - when attached or detached from inventory or during login&lt;br /&gt;
    attach(key id) {&lt;br /&gt;
        id = NULL_KEY; // LSLINT&lt;br /&gt;
        RESET(); // force to go through state entry&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // dataserver called for each line of notecard requested&lt;br /&gt;
    dataserver(key queryid,string data) {&lt;br /&gt;
        if ( queryid == QUERY ) { // ataserver gave us line we asked for?&lt;br /&gt;
            if ( data != EOF ) { // we're not at end of notecard file?&lt;br /&gt;
                if ( llGetSubString(data,0,0) == &amp;quot;#&amp;quot; ) { // does this line start with comment mark?&lt;br /&gt;
                    QUERY = llGetNotecardLine(CARD,LINE++); // ignore comment and ask for the next line&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
                // Parse non-comment lines in keyword = value[,value,...] format&lt;br /&gt;
                list FIELDS = llParseString2List(data,[&amp;quot;=&amp;quot;],[]); // break line of text into = delimited fields&lt;br /&gt;
                string CMD = llStringTrim(llList2String(FIELDS,0),STRING_TRIM); // field zero is the &amp;quot;command&amp;quot;&lt;br /&gt;
                string DATA = llStringTrim(llList2String(FIELDS,1),STRING_TRIM); // field one is the data&lt;br /&gt;
                // we're appending to lists to handle long lists that use multiple config lines per keyword see EQUIPMENT for example&lt;br /&gt;
                if ( CMD == &amp;quot;SETTINGS&amp;quot; ) { REGION_SETTINGS = REGION_SETTINGS + llCSV2List(DATA);} // add setting list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;GENERATORS&amp;quot; ) { REGION_GENERATORS = REGION_GENERATORS + llCSV2List(DATA); } // add generator list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;POINT_POOLS&amp;quot;) { REGION_POINT_POOLS = REGION_POINT_POOLS + llCSV2List(DATA);} // add point pool list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;STATISTICS&amp;quot;) { REGION_STATISTICS = REGION_STATISTICS + llCSV2List(DATA); } // add stat list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;RESILIENCES&amp;quot; ) { REGION_RESILIENCES = REGION_RESILIENCES + llCSV2List(DATA); } // add health list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;SKILLS&amp;quot; ) { REGION_SKILLS = REGION_SKILLS + llCSV2List(DATA); } // add skill list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;GENRES&amp;quot; ) { REGION_GENRES = REGION_GENRES + llCSV2List(DATA); } // add genre list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;BOONS&amp;quot; ) { REGION_BOONS = REGION_BOONS + llCSV2List(DATA); } // add boon list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;FLAWS&amp;quot; ) { REGION_FLAWS = REGION_FLAWS + llCSV2List(DATA); } // add flaw list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;MORTAL_EFFECTS&amp;quot; ) { REGION_MORTAL_EFFECTS = REGION_MORTAL_EFFECTS + llCSV2List(DATA); } // add sfx list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;SOCIAL_EFFECTS&amp;quot; ) { REGION_SOCIAL_EFFECTS = REGION_SOCIAL_EFFECTS + llCSV2List(DATA); } // add sfx list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;MAGIC_EFFECTS&amp;quot; ) { REGION_MAGIC_EFFECTS = REGION_MAGIC_EFFECTS + llCSV2List(DATA); } // add sfx list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;VEHICLE_EFFECTS&amp;quot; ) { REGION_VEHICLE_EFFECTS = REGION_VEHICLE_EFFECTS + llCSV2List(DATA);} // add sfx list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;SPECIES&amp;quot; ) { REGION_SPECIES = REGION_SPECIES + llCSV2List(DATA); } // add template list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;BACKGROUNDS&amp;quot; ) { REGION_BACKGROUNDS = REGION_BACKGROUNDS + llCSV2List(DATA); } // add template list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;CAREERS&amp;quot; ) { REGION_CAREERS = REGION_CAREERS + llCSV2List(DATA); } // add career list to memory&lt;br /&gt;
                if ( CMD == &amp;quot;EQUIPMENT&amp;quot; ) { REGION_EQUIPMENT = REGION_EQUIPMENT + llCSV2List(DATA); } // add equipment list to memory&lt;br /&gt;
                QUERY = llGetNotecardLine(CARD,LINE++); // finished with known keywords, get next line&lt;br /&gt;
            } else { // end of notecard&lt;br /&gt;
                DEBUG(&amp;quot;Region settings loaded. Server ready. Free Memory: &amp;quot;+(string)llGetFreeMemory()); // done, ready to serve      &lt;br /&gt;
            } // end if data not equal eof&lt;br /&gt;
        } // end if query id equal&lt;br /&gt;
    } // end if data server event&lt;br /&gt;
    &lt;br /&gt;
    listen(integer channel,string name,key id,string msg) {&lt;br /&gt;
        channel = 0; // LSLINT&lt;br /&gt;
        name = &amp;quot;&amp;quot;; // LSLINT&lt;br /&gt;
        list tokens = llParseString2List(msg,[&amp;quot;|&amp;quot;],[ ]); // split msg into list around pipe symbols&lt;br /&gt;
        string command = llList2String(tokens,0); // first field is some sort of command&lt;br /&gt;
        if ( command == &amp;quot;LIST_REGION_SETTINGS&amp;quot; ) { // is this a list all region settings request?&lt;br /&gt;
            LIST_REGION_SETTINGS(id); // call it&lt;br /&gt;
            return; // return early instead of processing more&lt;br /&gt;
        }&lt;br /&gt;
        if ( command == &amp;quot;GET_REGION_SETTING&amp;quot; ) { // GET_REGION_SETTING|string settingname&lt;br /&gt;
            GET_REGION_SETTING(id,msg); // call it&lt;br /&gt;
            return; // return early instead of processing more&lt;br /&gt;
        }&lt;br /&gt;
        if ( command == &amp;quot;SET_REGION_SETTING&amp;quot; ) { // is this a set-region-setting request?&lt;br /&gt;
            SET_REGION_SETTING(); // call it&lt;br /&gt;
            return; // return early in case we add more later&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
} // end default state&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Allen Kerensky</name></author>	</entry>

	</feed>