
Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385
<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://live.spdns.org/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>move IT Home Base</title>
        <description></description>
        <link>http://live.spdns.org/wiki/</link>
        <lastBuildDate>Sat, 04 Apr 2026 12:30:16 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>http://live.spdns.org/wiki/lib/tpl/peanutbutter2/images/favicon.ico</url>
            <title>move IT Home Base</title>
            <link>http://live.spdns.org/wiki/</link>
        </image>
        <item>
            <title>opensim.ini</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/konfiguration/opensim.ini?do=revisions&amp;rev=1575021529</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;opensimini&quot;&gt;opensim.ini&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Datei opensim.ini ist die zentrale Konfigurationsdatei von OpenSIM. In dieser Datei können mit einem normalen &lt;abbr title=&quot;American Standard Code for Information Interchange&quot;&gt;ASCII&lt;/abbr&gt;-Texteditor alle wichtigen Einstellungen vorgenommen werden. Zum editieren dieser Datei darf aber keinesfalls ein Programm wie „Wordpad“ oder „MS-Word“ verwendet werden, da diese Programme Steuerzeichen und Formatierungen einfügen, die aber in einer Konfigurationsdatei nichts verloren haben. Unter dem Betriebssytem Windows können Sie den Text-Editor „Notepad“ oder einen besseren verwenden. Linux-User verwenden zum Beispiel „gedit“ oder besseres.
&lt;/p&gt;

&lt;p&gt;
Nach Änderungen in der Konfigurationsdatei muss der OpenSIM-Server neu gestartet werden, da die Konfigurationsdatei nur 1x beim starten des Servers eingelesen wird.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;opensim.ini&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensimini&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-765&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;konfigurations-eintraege&quot;&gt;Konfigurations-Einträge&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Eine detaillierte Liste aller möglichen Konfigurationseinträge in der opensim.ini gibt es auf der &lt;a href=&quot;http://opensimulator.org/wiki/OpenSim.ini&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/OpenSim.ini&quot; rel=&quot;ugc nofollow noopener&quot;&gt;englischen Webseite&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Konfigurations-Eintr\u00e4ge&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;konfigurations-eintraege&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;766-969&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;empfohlene_konfigurations-werte_fuer_standalone-modus_mit_mysql_datenbank&quot;&gt;Empfohlene Konfigurations-Werte (für Standalone-Modus mit mySQL Datenbank)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;    ; ## OPENSIM SETUP FOR STANDALONE MODE
    ; ## used for Sim 1 at OpenSIM
    ; ## created by Mike, S-NetworkX

[Startup]
    ; Set this to true if you want to log crashes to disk
    ; this can be useful when submitting bug reports.
    save_crashes = false

    ; Directory to save crashes to if above is enabled
    ; (eg default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt)
    crash_dir = &amp;quot;crashes&amp;quot;

    ; Http proxy support for llHTTPRequest and dynamic texture loading
    ; Set HttpProxy to the URL for your proxy server if you would like
    ; to proxy llHTTPRequests through a firewall
    ; HttpProxy = &amp;quot;&amp;quot;
    ; Set HttpProxyExceptions to a list of regular expressions for 
    ; URLs that you don&amp;#039;t want going through the proxy such as servers
    ; inside your firewall, separate patterns with a &amp;#039;;&amp;#039;
    ; HttpProxyExceptions = &amp;quot;.mydomain.com;localhost&amp;quot;

    ; Set this to true if you are connecting your OpenSimulator regions to a grid
    ; Set this to false if you are running OpenSimulator in standalone mode
    gridmode = false

    startup_console_commands_file = &amp;quot;startup_commands.txt&amp;quot;
    shutdown_console_commands_file = &amp;quot;shutdown_commands.txt&amp;quot;

    ; To run a script every few minutes, set the script filename here
    ; timer_Script = &amp;quot;filename&amp;quot;

    ; ##
    ; ## CLIENTS
    ; ##

    ; Enables EventQueueGet Service.
    EventQueue = true

    ; Set this to the DLL containig the client stack to use.
    clientstack_plugin=&amp;quot;OpenSim.Region.ClientStack.LindenUDP.dll&amp;quot;

    ; ##
    ; ## REGIONS
    ; ##

    ; Determine where OpenSimulator looks for the files which tell it which regions to server
    ; Defaults to &amp;quot;filesystem&amp;quot; if this setting isn&amp;#039;t present
    region_info_source = &amp;quot;filesystem&amp;quot;
    ; region_info_source = &amp;quot;web&amp;quot;

    ; Determines where the region XML files are stored if you are loading these from the filesystem.
    ; Defaults to bin/Regions in your OpenSimulator installation directory
    ; regionload_regionsdir=&amp;quot;C:\somewhere\xmlfiles\&amp;quot;

    ; Determines the page from which regions xml is retrieved if you are loading these from the web
    ; The XML here has the same format as it does on the filesystem (including the &amp;lt;Root&amp;gt; tag),
    ; except that everything is also enclosed in a &amp;lt;Regions&amp;gt; tag.
    ; regionload_webserver_url = &amp;quot;http://example.com/regions.xml&amp;quot;;

    ; Draw objects on maptile.   This step might take a long time if you&amp;#039;ve got a huge amount of
    ; objects, so you can turn it off here if you&amp;#039;d like.
    DrawPrimOnMapTile = true
    ; Use terrain texture for maptiles if true, use shaded green if false
    TextureOnMapTile = true

    ; Maximum total size, and maximum size where a prim can be physical
    NonPhysicalPrimMax = 256
    PhysicalPrimMax = 10
    ClampPrimSize = false

    ; Region crossing
    AllowScriptCrossing = false
    ; If you set this to &amp;quot;true&amp;quot;, any region that can teleport to you can
    ; inject ARBITRARY BINARY CODE into your system. Use at your own risk.
    ; YOU HAVE BEEN WARNED!!!
    TrustBinaries = false

    ; ##
    ; ## STORAGE
    ; ##

    ; *** Prim Storage - only leave one storage_plugin uncommented ***
    ; --- Null stores nothing - effectively disabling persistence:
    ; storage_plugin = &amp;quot;OpenSim.Data.Null.dll&amp;quot;

    ; --- To use sqlite as region storage:
    ; storage_plugin = &amp;quot;OpenSim.Data.SQLite.dll&amp;quot;
    ; storage_connection_string=&amp;quot;URI=file:OpenSim.db,version=3&amp;quot;;

    ; --- To use MySQL storage, supply your own connectionstring (this is only an example):
    ;     note that the supplied account needs create privilegies if you want it to auto-create needed tables.
    storage_plugin=&amp;quot;OpenSim.Data.MySQL.dll&amp;quot;
    storage_connection_string=&amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;&amp;quot;;
    ; If you want to use a different database/server for estate data, then
    ; uncomment and change this connect string. Defaults to the above if not set
    ; estate_connection_string=&amp;quot;Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;&amp;quot;;

    ; Select whether you want to use local or grid asset storage.
    ;
    ; If you&amp;#039;re running in standalone, you definitely want local, since there is no grid (hence this is redundant, and should
    ; really be eliminated).  The database itself is defined in asset_plugin below
    ;
    ; If you&amp;#039;re running a region server connecting to a grid, you probably want grid mode, since this will use the
    ; grid asset server.  If you select local in grid mode, then you will use a database as specified in asset_plugin to store assets
    ; locally.  This will mean you won&amp;#039;t be able to take items using your assets to other people&amp;#039;s regions.
    
    ; asset_database can be default, local or grid.  This controls where assets (textures, scripts, etc.) are stored for your region
    ; 
    ; If set to default, then
    ;   In standalone mode the local database based asset service will be used
    ;   In grid mode the grid asset service will be used for asset storage
    ;   This is probably the setting that you want.
    ;
    ; If set to local then the local database based asset service will be used in standalone and grid modes
    ; If set to grid then the grid based asset service will be used in standalone and grid modes
    ; All other values will cause a search for a matching assembly that contains an asset server client.
    ; See also: AssetCache
    asset_database = &amp;quot;default&amp;quot;   

    ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
    ; prevent frequently changing objects from heavily loading the region data store.
    ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
    ; 
    ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
    MinimumTimeBeforePersistenceConsidered = 60
    ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
    MaximumTimeBeforePersistenceConsidered = 600

    ; Should avatars in neighbor sims see objects in this sim?
    see_into_this_sim_from_neighbor = True

    ; ##
    ; ## PHYSICS
    ; ##

    ; if you would like to allow prims to be physical and move by physics with the physical checkbox in the client set this to true.
    physical_prim = true

    ; Select a mesher here. ZeroMesher is save and fast.
    ; ZeroMesher also means that the physics engine models the physics of prims
    ; sticking to the basic shapes the engine does support. Usually this is only a box.
    ; Meshmerizer gives a better handling of complex prims by using triangle meshes.
    ; Note, that only ODE physics currently deals with meshed prims in a satisfactoring way
    ;
    ;meshing = ZeroMesher
    meshing = Meshmerizer

    ; Choose one of the physics engines below
    ; physics = basicphysics
    ; physics = POS
    physics = OpenDynamicsEngine
    ; physics = modified_BulletX

    ; ##
    ; ## PERMISSIONS
    ; ##

    ;permissionmodules = &amp;quot;DefaultPermissionsModule&amp;quot;

    ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy
    ; any item, etc.  This may not yet be implemented uniformally.
    ; If set to true, then all permissions checks are carried out
    ; Default is false
    serverside_object_permissions = true

    allow_grid_gods = false

    ; This allows somne control over permissions
    ; please note that this still doesn&amp;#039;t duplicate SL, and is not intended to
    ;region_owner_is_god = true
    ;parcel_owner_is_god = true

    ; Control user types that are allowed to create new scripts
    ; Only enforced if serviceside_object_permissions is true
    ;   
    ; Current possible values are 
    ;     all - anyone can create scripts (subject to normal permissions)
    ;     gods - only administrators can create scripts (as long as allow_grid_gods is true)
    ; Default value is all 
    ; allowed_script_creators = all

    ; Control user types that are allowed to edit (save) scripts
    ; Only enforced if serviceside_object_permissions is true
    ;   
    ; Current possible values are 
    ;     all - anyone can edit scripts (subject to normal permissions)
    ;     gods - only administrators can edit scripts (as long as allow_grid_gods is true)
    ; Default value is all 
    ; allowed_script_editors = all

    ; ##
    ; ## SCRIPT ENGINE
    ; ##

    ;DefaultScriptEngine = &amp;quot;ScriptEngine.DotNetEngine&amp;quot;
    DefaultScriptEngine = &amp;quot;XEngine&amp;quot;

    ; ##
    ; ## WORLD MAP
    ; ##

    WorldMapModule = &amp;quot;HGWorldMap&amp;quot;
    MapImageModule = &amp;quot;MapImageModule&amp;quot;

    ; ##
    ; ## Customized Cache Implementation
    ; ##
    ;
    ; The AssetCache value allows the name of an alternative caching
    ; implementation to be specified. This can normally be omitted.
    ; This value corresponds to the provider value associated with the
    ; intended cache implementation plugin.
    ; See also: asset_database

    AssetCache = &amp;quot;OpenSim.Framework.Communications.Cache.AssetCache&amp;quot;

    ; ##
    ; ## EMAIL MODULE
    ; ##

    ;emailmodule = DefaultEmailModule

[SMTP]
    enabled=false

    ;internal_object_host=lsl.opensim.local
    host_domain_header_from=
    SMTP_SERVER_HOSTNAME=
    SMTP_SERVER_PORT=25
    SMTP_SERVER_LOGIN=
    SMTP_SERVER_PASSWORD=

[Communications]

;InterregionComms = &amp;quot;LocalComms&amp;quot;
InterregionComms = &amp;quot;RESTComms&amp;quot;

[StandAlone]
    accounts_authenticate = true
    welcome_message = &amp;quot;Willkommen bei OpenSIM !&amp;quot;

    ; Asset database provider
    ; asset_plugin = &amp;quot;OpenSim.Data.SQLite.dll&amp;quot;
    asset_plugin = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot; ; for mysql
    ; asset_plugin = &amp;quot;OpenSim.Data.NHibernate.dll&amp;quot; ; for nhibernate

    ; the Asset DB source.  This only works for sqlite, mysql, and nhibernate for now
    ; Asset Source SQLite example
    ; asset_source = &amp;quot;URI=file:Asset.db,version=3&amp;quot;
    ; Asset Source NHibernate example (DIALECT;DRIVER;CONNECTSTRING)
    ; asset_source = &amp;quot;SQLiteDialect;SqliteClientDriver;URI=file:Asset.db,version=3&amp;quot;
    ; Asset Source MySQL example
    asset_source = &amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;&amp;quot;

    ; Inventory database provider
    ; inventory_plugin = &amp;quot;OpenSim.Data.SQLite.dll&amp;quot;
    inventory_plugin = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot;
    ; inventory_plugin = &amp;quot;OpenSim.Data.NHibernate.dll&amp;quot; ; for nhibernate

    ; Inventory Source NHibernate example (DIALECT;DRIVER;CONNECTSTRING)
    ; inventory_source = &amp;quot;SQLiteDialect;SqliteClientDriver;URI=file:Inventory.db,version=3&amp;quot;
    ; Inventory Source MySQL example
    inventory_source = &amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;&amp;quot;

    ; User Data Database provider
    ;
    ; Multiple providers can be specified by separating them with commas (whitespace is unimportant)
    ; If multiple providers are specified then if a profile is requested, each is queried until one
    ; provides a valid profile, or until all providers have been queried.
    ; Unfortunately the order of querying is currently undefined (it may not be the order in which
    ; providers are specified here).  This needs to be fixed
    ;
    ; userDatabase_plugin = &amp;quot;OpenSim.Data.SQLite.dll&amp;quot;
    userDatabase_plugin = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot;
    ; userDatabase_plugin = &amp;quot;OpenSim.Data.NHibernate.dll&amp;quot; ; for nhibernate

    ; User Source NHibernate Example (DIALECT;DRIVER;CONNECTSTRING)
    ; user_source = &amp;quot;SQLiteDialect;SqliteClientDriver;URI=file:User.db,version=3&amp;quot;
    ; User Source MySQL example
    user_source = &amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;&amp;quot;

    ; Specifies the location and filename of the default inventory library control file.  The path can be relative or absolute
    ; Default is ./inventory/Libraries.xml
    ;LibrariesXMLFile=&amp;quot;./inventory/Libraries.xml&amp;quot;
    
    ; Specifies the location and filename of the inventory library assets control file.  The path can be relative or absolute
    ; Setting is optional. Default is ./assets/AssetSets.xml
    ;AssetSetsXMLFile=&amp;quot;./assets/AssetSets.xml&amp;quot;

    dump_assets_to_file = false

[Network]
    http_listener_port = 9000
    remoting_listener_port = 8895
    default_location_x = 1000
    default_location_y = 1000

    ; ssl config: Experimental!  The auto https config only really works definately on windows XP now
    ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below
    ; you can use https on other platforms, but you&amp;#039;ll need to configure the httpapi yourself for now
    http_listener_ssl = false ; Also create a SSL server
    http_listener_cn = &amp;quot;localhost&amp;quot; ; Use the cert with the common name
    http_listener_sslport = 9001 ; Use this port for SSL connections
    http_listener_ssl_cert = &amp;quot;&amp;quot; ; Currently unused, but will be used for OSHttpServer

    ; Uncomment below to enable llRemoteData/remote channels
    ; remoteDataPort = 20800

    grid_server_url = &amp;quot;http://opensim.yourdomain.com:9000&amp;quot;
    grid_send_key = &amp;quot;null&amp;quot;
    grid_recv_key = &amp;quot;null&amp;quot;

    user_server_url = &amp;quot;http://opensim.yourdomain.com:9000&amp;quot;
    user_send_key = &amp;quot;null&amp;quot;
    user_recv_key = &amp;quot;null&amp;quot;

    asset_server_url = &amp;quot;http://opensim.yourdomain.com:9000&amp;quot;

    inventory_server_url = &amp;quot;http://opensim.yourdomain.com:9000&amp;quot;

    ; The MessagingServer is a companion of the UserServer. It uses
    ; user_send_key and user_recv_key, too
    messaging_server_url = &amp;quot;http://opensim.yourdomain.com:9000&amp;quot;

[ClientStack.LindenUDP]
    ; This is the multiplier applied to all client throttles for outgoing UDP network data
    ; If it is set to 1, then we obey the throttle settings as given to us by the client.  If it is set to 3, for example, then we 
    ; multiply that setting by 3 (e.g. if the client gives us a setting of 250 kilobits per second then we
    ; will actually push down data at a maximum rate of 750 kilobits per second).
    ; 
    ; In principle, setting a multiplier greater than 1 will allow data to be pushed down to a client much faster
    ; than its UI allows the setting to go.  This may be okay in some situations, such as standalone OpenSim
    ; applications on a LAN.  However, the greater the multipler, the higher the risk of packet drop, resulting
    ; in symptoms such as missing terrain or objects.  A much better solution is to change the client UI to allow
    ; higher network bandwidth settings directly, though this isn&amp;#039;t always possible.
    ;
    ; Currently this setting is 2 by default because we currently send much more texture data than is strictly
    ; necessary.  A setting of 1 could result in slow texture transfer.  This will be fixed when the transfer
    ; of textures at different levels of quality is improved.
    ; 
    ; Pre r7113, this setting was not exposed but was effectively 8.  You may want to try this if you encounter
    ; unexpected difficulties
    client_throttle_multiplier = 2;

[Chat]
    ; Controls whether the chat module is enabled.  Default is true.
    enabled = true;

    ; Distance in meters that whispers should travel.  Default is 10m
    whisper_distance = 10

    ; Distance in meters that ordinary chat should travel.  Default is 30m
    say_distance = 30

    ; Distance in meters that shouts should travel.  Default is 100m
    shout_distance = 100

[Messaging]
    ; Control which region module is used for instant messaging.
    ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting)
    InstantMessageModule = InstantMessageModule

[ODEPhysicsSettings]
    ;##
    ;## World Settings
    ;##

    ;Gravity.  Feel like falling up?  change world_gravityz to 9.8 instead of -9.8.  m/s
    world_gravityx = 0
    world_gravityy = 0
    world_gravityz = -9.8

    ; World Step size. (warning these are dangerous.  Changing these will probably cause your scene to explode dramatically)
    ; reference: fps = (0.09375/ODE_STEPSIZE) * 1000;
    world_stepsize = 0.020
    world_internal_steps_without_collisions = 10

    ;World Space settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
    world_hashspace_size_low = -4
    world_hashSpace_size_high = 128

    ;Dynamic space settings Affects memory consumption vs Collider CPU time for static prim
    meters_in_small_space = 29.9
    small_hashspace_size_low = -4
    small_hashspace_size_high = 66

    ; ##
    ; ## Contact properties. (the stuff that happens when things come in contact with each other)
    ; ##

    ; surface layer around geometries other geometries can sink into before generating a contact
    world_contact_surface_layer = 0.001

    ; Filtering Collisions helps keep things stable physics wise, but sometimes 
    ; it can be over zealous.  If you notice bouncing, chances are it&amp;#039;s being just
    ; that
    filter_collisions = false

    ; Non Moving Terrain Contact (avatar isn&amp;#039;t moving)
    nm_terraincontact_friction = 255.0
    nm_terraincontact_bounce = 0.1
    nm_terraincontact_erp = 0.1025

    ; Moving Terrain Contact (avatar is moving)
    m_terraincontact_friction = 75.0
    m_terraincontact_bounce = 0.05
    m_terrainContact_erp = 0.05025

    ; Moving Avatar to object Contact
    m_avatarobjectcontact_friction = 75.0
    m_avatarobjectcontact_bounce = 0.1

    ; Object to Object Contact and Non-Moving Avatar to object
    objectcontact_friction = 250.0
    objectcontact_bounce = 0.2

    ; ##
    ; ## Avatar Control
    ; ##

    ; PID Controller Settings. These affect the math that causes the avatar to reach the
    ; desired velocity
    ; See http://en.wikipedia.org/wiki/PID_controller

    av_pid_derivative_linux = 2200.0
    av_pid_proportional_linux = 900.0;

    av_pid_derivative_win = 2200.0
    av_pid_proportional_win = 900.0;

    ;girth of the avatar.  Adds radius to the height also
    av_capsule_radius = 0.37

    ; Max force permissible to use to keep the avatar standing up straight
    av_capsule_standup_tensor_win = 550000
    av_capsule_standup_tensor_linux = 550000

    ; used to calculate mass of avatar.
    ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH);
    ; av_density * AVvolume;

    av_density = 80

    ; use this value to cut 52% of the height the sim gives us
    av_height_fudge_factor = 0.52

    ; Movement.  Smaller is faster.

    ; speed of movement with Always Run off
    av_movement_divisor_walk = 1.3

    ; speed of movement with Always Run on
    av_movement_divisor_run = 0.8

    ; ##
    ; ## Object options
    ; ##

    ; used in the mass calculation.
    geometry_default_density = 10.000006836

    ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
    body_frames_auto_disable = 20

    ; used to control llMove2Target
    body_pid_derivative = 35
    body_pid_gain = 25

    ; amount of time a geom/body will try to cross a region border before it gets disabled
    geom_crossing_faiures_before_outofbounds = 5

    ; start throttling the object updates if object comes in contact with 3 or more other objects
    geom_contactpoints_start_throttling = 3

    ; send 1 update for every x updates below when throttled
    geom_updates_before_throttled_update = 15

    ; Used for llSetStatus.  How rigid the object rotation is held on the axis specified
    body_motor_joint_maxforce_tensor_linux = 5
    body_motor_joint_maxforce_tensor_win = 5

    ; ##
    ; ## Sculpted Prim settings
    ; ##

    ; Do we want to mesh sculpted prim to collide like they look?
    mesh_sculpted_prim = true

    ; number^2 non-physical level of detail of the sculpt texture.  32x32 - 1024 verticies
    mesh_lod = 32

    ; number^2 physical level of detail of the sculpt texture.  16x16 - 256 verticies
    mesh_physical_lod = 16

    ; ##
    ; ## Physics logging settings - logfiles are saved to *.DIF files
    ; ##

    ;physics_logging = true
    ;; every n simulation iterations, the physics snapshot file is updated
    ;physics_logging_interval = 50
    ;; append to existing physics logfile, or overwrite existing logfiles?
    ;physics_logging_append_existing_logfile = true

    ; ##
    ; ## Joint support
    ; ##

    ; if you would like physics joints to be enabled through a special naming convention in the client, set this to true. (see NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics)
    use_NINJA_physics_joints = true

[RemoteAdmin]
    enabled = false
    access_password = unknown

    ; the create_region XmlRpc call uses region_file_template to generate
    ; the file name of newly create regions (if they are created
    ; persistent). the parameter available are:
    ;     {0} - X location
    ;     {1} - Y location
    ;     {2} - region UUID
    ;     {3} - region port
    ;     {4} - region name with &amp;quot; &amp;quot;, &amp;quot;:&amp;quot;, &amp;quot;/&amp;quot; mapped to  &amp;quot;_&amp;quot;

    region_file_template = &amp;quot;{0}x{1}-{2}.xml&amp;quot;

    ; we can limit the number of regions that XmlRpcCreateRegion will
    ;allow by setting this to a positive, non-0 number: as long as the
    ;number of regions is below region_limits, XmlRpcCreateRegion will
    ;succeed. setting region_limit to 0 disables the check.
    ;region_limit = 0

    enabled_methods = all
    ; enable only those methods you deem to be appropriate using a | delimited whitelist
    ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml    
    ; if this parameter is not specified but enabled = true, all methods will be available
   
[RestPlugins]
    ; Change this to true to enable REST Plugins. This must be true if you wish to use
    ; REST Region or REST Asset and Inventory Plugins
    enabled = false
    god_key = password
    prefix = /admin

[RestRegionPlugin]
    ; Change this to true to enable the REST Region Plugin
    enabled = false

[RestHandler]
  ; Change this to true to enable the REST Asset and Inventory Plugin
  enabled = false
  authenticate=true
  secured=true
  extended-escape=true
  realm=OpenSim REST
  dump-asset=false
  path-fill=true
  dump-line-size=32
  flush-on-error=true

; Uncomment the following for IRC bridge
; experimental, so if it breaks... keep both parts... yada yada
; also, not good error detection when it fails
;[IRC]
    ;enabled = true ; you need to set this otherwise it won&amp;#039;t connect
    ;server  = name.of.irc.server.on.the.net
    ;; user password - only use this if the server requires one
    ;password = mypass
    ;nick    = OpenSimBotNameProbablyMakeThisShorter
    ;channel = #the_irc_channel_you_want_to_connect_to
    ;port = 6667
    ;; channel to listen for configuration commands
    ;commands_enabled = false
    ;command_channel = 2777
    ;report_clients = true
    ;; relay private chat connections
    ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels
    ;; relay_private_channel_out -- channel to send messages out to the IRC bridge
    ;; relay_private_channel_in -- channel to receive message from the IRC bridge
    ;; relay_chat = false: IRC bridge will not relay normal chat
    ;; access_password -- simple security device
    ;;
    ;; so, to just relay chat from an IRC channel to in-world region and vice versa:
    ;;
    ;;     relay_private_channels = false
    ;;     relay_chat = true
    ;;
    ;; to relay chat only to/from private in-world channels:
    ;;
    ;;     relay_chat = false
    ;;     relay_private_channels = true
    ;;     relay_private_channel_in = 2226
    ;;     relay_private_channel_out = 2225
    ;;
    ;; in this example, all chat coming in from IRC will be send out via
    ;; in-world channel 2226, and all chat from in-world channel 2225 will
    ;; be relayed to the IRC channel.
    ;;
    ;relay_private_channels = false
    ;relay_private_channel_in = 2226
    ;relay_private_channel_out = 2225
    ;relay_chat = true
    ;access_password = foobar

    ;fallback_region = name of &amp;quot;default&amp;quot; region
    ;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message
    ; must start with &amp;quot;PRIVMSG {0} : &amp;quot; or irc server will get upset
    ;for &amp;lt;bot&amp;gt;:&amp;lt;user in region&amp;gt; :&amp;lt;message&amp;gt;
    ;msgformat = &amp;quot;PRIVMSG {0} :&amp;lt;{1} in {2}&amp;gt;: {3}&amp;quot;
    ;for &amp;lt;bot&amp;gt;:&amp;lt;message&amp;gt; - &amp;lt;user of region&amp;gt; :
    msgformat = &amp;quot;PRIVMSG {0} : {3} - {1} of {2}&amp;quot;
    ;for &amp;lt;bot&amp;gt;:&amp;lt;message&amp;gt; - from &amp;lt;user&amp;gt; :
    ;msgformat = &amp;quot;PRIVMSG {0} : {3} - from {1}&amp;quot;

;[CMS]
    ;enabled = true
    ;channel = 345

[Voice]
    ; PLEASE NOTE that we don&amp;#039;t have voice support in OpenSim quite yet - these configuration options are stubs
    enabled = false
    ; This is not supported by the SLViewer right now and
    ; hardcoded within the SL Viewer. Maybe it will be
    ; changed in future. :-)
    account_management_server = https://www.bhr.vivox.com/api2
    ; Global SIP Server for conference calls
    sip_domain = testserver.com

[AsteriskVoice]
    ; PLEASE NOTE that we don&amp;#039;t have voice support in OpenSim quite yet - these configuration options are stubs
    enabled = false
    ; SIP account server domain
    sip_domain = testserver.com
    ; SIP conf server domain
    conf_domain = testserver.com
    ; URL of the asterisk opensim frontend
    asterisk_frontend = http://testserver.com:49153/
    ; password for the asterisk frontend XmlRpc calls
    asterisk_password = bah-humbug
    ; timeout for XmlRpc calls to asterisk front end (in ms)
    asterisk_timeout = 3000
    ; salt for asterisk nonces
    asterisk_salt = paluempalum

; Uncomment the following to control the progression of daytime
; in the Sim.  The defaults are what is shown below
[Sun]
    ; number of wall clock hours for an opensim day.  24.0 would mean realtime
    ;day_length = 24
    ; Year length in days
    ;year_length = 365
    ; Day to Night Ratio
    ;day_night_offset = 1
    ; send a Sun update every update_interval # of frames.  A lower number will
    ; make for smoother sun transition at the cost of network
    ;update_interval = 100

[ScriptEngine.DotNetEngine]
    Enabled = false

    ScriptDelayFactor = 1.0
    ScriptDistanceLimitFactor = 1.0

    ; These settings are specific to DotNetEngine script engine
    ; Other script engines based on OpenSim.Region.ScriptEngine.Common.dll will have almost identical settings, but in another section of this config file.
    ;

    ; When a script receives an event the event is queued.
    ; Any free thread will start executing this event. One script can only have one event executed simultaneously.
    ; If you have only one thread, and one script has a loop or does a lot of work, then no other scripts can run at the same time.
    ; Same if you have 10 threads, then only 10 scripts can be run simultaneously.
    ; But because most scripts exit after their task, the threads are free to go on to the next script.

    ; Refresh ScriptEngine config options (these settings) every xx seconds
    ; 0 = Do not refresh
    ; Set it to number of seconds between refresh, for example 30.
    ; Will allow you to change ScriptEngine settings while server is running just by using &amp;quot;CONFIG SET&amp;quot; on console
    ; For example to increase or decrease number of threads: CONFIG SET NumberOfScriptThreads 10
    ; NOTE! Disabled for now. Feature does not work.
    RefreshConfig=0

    ; Number of threads to use for script event execution
    ; Threads are shared across all regions
    NumberOfScriptThreads=2

    ; Script event execution thread priority inside application.
    ; Valid values: Lowest, BelowNormal, Normal, AboveNormal, Highest
    ScriptThreadPriority=BelowNormal

    ; How long MAX should a script event be allowed to run (per event execution)?
    ; Do not set this too low (like 50ms) as there are some time wasted in simply executing a function
    ; There is also a small speed penalty for every kill that is made
    MaxEventExecutionTimeMs=5000

    ; Should we enable the max script event execution thread to look for scripts that exceed their timeslice?
    EnforceMaxEventExecutionTime=true

    ; Should we stop the script completely when time exceeds?
    ; This is useful if you have a high &amp;lt;MaxEventExecutionTimeMs&amp;gt; and want to deactivate scripts that go wrong
    ; Note that for example physics engine can slow down the system and make scripts spend more time
    DeactivateScriptOnTimeout=false

    ; If no scripts have executed in this pass how long should we sleep before checking again
    ; Impact:
    ; Too low and you will waste lots of CPU
    ; Too high and people touching object or similar will have to wait up to this amount of time before script responding
    SleepTimeIfNoScriptExecutionMs=50

    ; AppDomains are used for two things:
    ; * Security: Scripts inside AppDomains are limited in permissions.
    ; * Script unloading: When a script is deactivated it can not be unloaded. Only whole AppDomains can be unloaded.
    ; AppDomains are therefore only unloaded once ALL active scripts inside it has been deactivated (removed from prims).
    ; Each AppDomain has some memory overhead. But leaving dead scripts in memory also has memory overhead.
    ScriptsPerAppDomain=1

    ; MaintenanceLoop
    ; How often to run maintenance loop
    ; Maintenance loop is doing: script compile/load, script unload, reload config, adjust running config and enforce max execution time
    MaintenanceLoopms=50

    ; How many maintenanceloops between each of these.
    ; (if 2 then function will be executed every MaintenanceLoopms*2 ms)
    ; Script loading/unloading

    ; How long load/unload thread should sleep if there is nothing to do
    ; Higher value makes it respond slower when scripts are added/removed from prims
    ; But once active it will process all in queue before sleeping again
    MaintenanceLoopTicks_ScriptLoadUnload=1

    ; Other tasks
    ; check if we need to reload config, adjust running config and enforce max execution time
    MaintenanceLoopTicks_Other=10

    ; Allow the use of os* functions (some are dangerous)
    ; Default is false
    AllowOSFunctions = true

    ; Threat level to allow if os functions are enabled
    ; One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
    ; Default is VeryLow
    OSFunctionThreatLevel = VeryLow

    ; Maximum number of items in load/unload queue before we start rejecting loads
    ; Note that we will only be rejecting load. Unloads will still be able to queue.
    LoadUnloadMaxQueueSize=100

    ; Maximum number of (LSL) events that can be queued before new events are ignored.
    EventExecutionMaxQueueSize=300

    ; Async LL command sleep
    ; If no async LL commands are waiting, how long should thread sleep before checking again
    ; Async LL commands are LSL-commands that causes an event to be fired back with result
    AsyncLLCommandLoopms=50

    ; When script is converted from LSL to C#, or just plain compiled, a copy of the script source will be put in the ScriptEngine folder
    WriteScriptSourceToDebugFile=true

    ; Specify default script compiler
    ; If you do not specify //cs, //vb, //js or //lsl tag as the first characters of your script then the default compiler will be chosen
    ; Valid languages are: lsl, cs, js and vb
    DefaultCompileLanguage=lsl

    ; Specify what compilers are allowed to be used
    ; Note vb only works on Windows for now (Mono lacks VB compile support)
    ; Valid languages are: lsl, cs, js and vb
    ; AllowedCompilers=lsl,cs,js,vb.  *warning*, non lsl languages have access to static methods such as System.IO.File.  Enable at your own risk.
    AllowedCompilers=lsl

    ; Compile scripts with debugging
    ; Probably a thousand times slower, but gives you a line number when something goes wrong.
    CompileWithDebugInformation=true

    ; Remove old scripts on next startup
    CleanUpOldScriptsOnStartup=true

[LL-Functions]
    ; Set the following to true to allow administrator owned scripts to execute console commands
    AllowosConsoleCommand=false

    AllowGodFunctions = false

    ; Maximum number of llListen events we allow per script
    ; Set this to 0 to have no limit imposed.
    max_listens_per_script = 64

[DataSnapshot]
    ; The following set of configs pertains to search.
    ; Set index_sims to true to enable search engines to index your searchable data
    ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs
    index_sims = true
    ; The variable data_exposure controls what the regions expose:
    ;    minimum: exposes only things explicitly marked for search
    ;    all: exposes everything
    data_exposure = minimum
    ; If search is on, change this to your grid name; will be ignored for standalones
    gridname = &amp;quot;M34-Sim1&amp;quot;
    ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast.
    ; Later, you may want to increase this to 3600 (1 hour) or more
    default_snapshot_period = 1200
    ; This will be created in bin, if it doesn&amp;#039;t exist already. It will hold the data snapshots.
    snapshot_cache_directory = &amp;quot;DataSnapshot&amp;quot;
    ; This semicolon-separated string serves to notify specific data services about the existence 
    ; of this sim. Uncomment if you want to index your data with this and/or other search providers.
    ;data_services=&amp;quot;http://metaverseink.com/cgi-bin/register.py&amp;quot;

[Economy]
    ; These economy values get used in the BetaGridLikeMoneyModule.  - This module is for demonstration only -
    ; In grid mode, use this currency XMLRPC server.  Leave blank for normal functionality
    CurrencyServer = &amp;quot;&amp;quot;
    ; &amp;quot;http://192.168.1.127/currency.php&amp;quot;

    ; In grid mode, this is the land XMLRPC server. Leave blank for normal functionality
    LandServer = &amp;quot;&amp;quot;
    ;&amp;quot;http://192.168.1.127/landtool.php&amp;quot;

    ; 45000 is the highest value that the sim could possibly report because of protocol constraints
    ObjectCapacity = 45000

    ; Money Unit fee to upload textures, animations etc
    PriceUpload = 0

    ; Money Unit fee to create groups
    PriceGroupCreate = 0

    ; This is the account Money goes to for fees.  Remember, economy requires that money circulates somewhere... even if it&amp;#039;s an upload fee
    EconomyBaseAccount = 00000000-0000-0000-0000-000000000000

    ; This is the type of user that will pay fees.
    ; Set this to 2 for users, estate managers and Estate Owners
    ; Set this to 1 for Users and Estate Managers
    ; Set this to 0 for Users only.
    ; -1 disables
    UserLevelPaysFees = -1

    ; Amount to give to user as a stipend
    UserStipend = 1000

    ; When a user gets low on money units and logs off, then logs back on, issue a new stipend if they have less money units then this
    ; amount. Be aware that the account money isn&amp;#039;t stored anywhere so users will get a stipend if you restart the simulator
    IssueStipendWhenClientIsBelowAmount = 10

    ; If this is true, the simulator will remember account balances until the simulator is shutdown or restarted.
    KeepMoneyAcrossLogins = true

    ; We don&amp;#039;t really know what the rest of these values do.  These get sent to the client
    ; These taken from Agni at a Public Telehub.  Change at your own risk.
    ObjectCount = 0
    PriceEnergyUnit = 100
    PriceObjectClaim = 10
    PricePublicObjectDecay = 4
    PricePublicObjectDelete = 4
    PriceParcelClaim = 1
    PriceParcelClaimFactor = 1

    PriceRentLight = 5
    TeleportMinPrice = 2
    TeleportPriceExponent = 2
    EnergyEfficiency = 1
    PriceObjectRent = 1
    PriceObjectScaleFactor = 10
    PriceParcelRent = 1

[SVN]
    Enabled = false
    Directory = SVNmodule\repo
    URL = &amp;quot;svn://your.repo.here/&amp;quot;
    Username = &amp;quot;user&amp;quot;
    Password = &amp;quot;password&amp;quot;
    ImportOnStartup = false
    Autosave = false
    AutoSavePeriod = 15 ; Number of minutes between autosave backups

[XEngine]
    ; Enable this engine in this OpenSim instance
    Enabled = true
    ; How many threads to keep alive even if nothing is happening
    MinThreads = 2
    ; How many threads to start at maximum load
    MaxThreads = 1000
    ; Time a thread must be idle (in seconds) before it dies
    IdleTimeout = 60
    ; Thread priority (&amp;quot;Lowest&amp;quot;, &amp;quot;BelowNormal&amp;quot;, &amp;quot;Normal&amp;quot;, &amp;quot;AboveNormal&amp;quot;, &amp;quot;Highest&amp;quot;)
    Priority = &amp;quot;Normal&amp;quot;
    ; Maximum number of events to queue for a script (excluding timers)
    MaxScriptEventQueue = 300
    ; Stack size per thread created
    ThreadStackSize = 262144
    ; Rate to poll for asynchronous command replies (ms)
    AsyncLLCommandLoopms = 50
    ; Save the source of all compiled scripts
    WriteScriptSourceToDebugFile = true
    ; Default language for scripts
    DefaultCompileLanguage = lsl
    ; List of allowed languages (lsl,vb,js,cs)
    ; AllowedCompilers=lsl,cs,js,vb.  
    ; *warning*, non lsl languages have access to static methods such as System.IO.File.  Enable at your own risk.
    AllowedCompilers=lsl
    ; Compile debug info (line numbers) into the script assemblies
    CompileWithDebugInformation = true
    ; Allow the use of os* functions (some are dangerous)
    AllowOSFunctions = true
    ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
    OSFunctionThreatLevel = Moderate
    ; Interval (s) between background save of script states
    SaveInterval = 120
    ; Interval (s) between maintenance runs (0 = disable)
    MaintenanceInterval = 10
    ; Time a script can spend in an event handler before it is interrupted
    EventLimit = 30
    ; If a script overruns it&amp;#039;s event limit, kill the script?
    KillTimedOutScripts = false
    ; Sets the multiplier for the scripting delays
    ScriptDelayFactor = 1.0
    ; The factor the 10 m distances llimits are multiplied by
    ScriptDistanceLimitFactor = 1.0

    ; OS Functions enable/disable
    ; For each function, you can add one line, as shown
    ; The default for all functions allows them if below threat level

    ; true allows the use of the function unconditionally
    ; Allow_osSetRegionWaterHeight = true

    ; false disables the function completely
    ; Allow_osSetRegionWaterHeight = false

    ; Comma separated list of UUIDS allows the function for that list of UUIDS
    ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb

    ; Allow for llCreateLink and llBreakLink to work without asking for permission 
    ; only enable this in a trusted environment otherwise you may be subject to hijacking
    ; AutomaticLinkPermission = false

[GridInfo]
    ; These settings are used to return information on a get_grid_info call.
    ; Client launcher scripts and third-party clients make use of this to
    ; autoconfigure the client and to provide a nice user experience. If you
    ; want to facilitate that, you should configure the settings here according
    ; to your grid or standalone setup.
    ;
    ; See http://opensimulator.org/wiki/GridInfo

    ; login uri: for grid this is the user server URI
    login = http://127.0.0.1:9000/

    ; long grid name: the long name of your grid
    gridname = &amp;quot;Free and open world of OpenSIM&amp;quot;

    ; short grid name: the short name of your grid
    gridnick = &amp;quot;OpenSIM-Grid&amp;quot;

    ; login page: optional: if it exists it will be used to tell the client to use
    ; this as splash page
    welcome = http://127.0.0.1/welcome

    ; helper uri: optional: if it exists if will be used to tell the client to use
    ; this for all economy related things
    economy = http://127.0.0.1:9000/

    ; web page of grid: optional: page providing further information about your grid
    about = http://127.0.0.1/about/

    ; account creation: optional: page providing further information about obtaining
    ; a user account on your grid
    register = http://127.0.0.1/register

    ; help: optional: page providing further assistance for users of your grid
    help = http://127.0.0.1/help

    ; password help: optional: page providing password assistance for users of your grid
    password = http://127.0.0.1/password

    ;These are the settings for the Open Grid Protocol..  the Agent Domain, Region Domain,   you know..

[OpenGridProtocol]
    ;On/true or Off/false
    ogp_enabled=false

    ;Name Prefix/suffix when using OGP
    ogp_firstname_prefix=&amp;quot;&amp;quot;
    ogp_lastname_suffix=&amp;quot;_EXTERNAL&amp;quot;

[Concierge]
    ; Enable concierge module
    ; Default is false
    enabled = false

    ; name of the concierge
    whoami = &amp;quot;Concierge&amp;quot;

    ; password for updating the welcome message templates via XmlRpc
    password = password

    ; regex specifying for which regions concierge service is desired; if
    ; empty, then for all
    regions = &amp;quot;^MeetingSpace-&amp;quot;

    ; for each region that matches the regions regexp you can provide
    ; (optionally) a welcome template using format substitution:
    ; {0} is replaced with the name of the avatar entering the region
    ; {1} is replaced with the name of the region
    ; {2} is replaced with the name of the concierge (whoami variable above)

    welcomes = /path/to/welcome/template/directory

    ; Concierge can send attendee lists to an event broker whenever an
    ; avatar enters or leaves a concierged region. the URL is subject
    ; to format substitution:
    ; {0} is replaced with the region&amp;#039;s name
    ; {1} is replaced with the region&amp;#039;s UUID
    broker = &amp;quot;http://broker.place.com/{1}&amp;quot;

[Trees]

    ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying
    active_trees = false

    ; Density of tree population
    tree_density = 1000.0

[RegionReady]
    ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled
    enabled = false

    ; Channel on which to signal region readiness through a message
    ; formatted as follows: &amp;quot;{0|1},n,[oar error]&amp;quot;
    ; - the first number indicating whether the OAR file loaded ok (1 == ok, 0 == error)
    ; - the second number indicates how many scrips failed to compile
    ; - &amp;quot;oar error&amp;quot; if supplied, provides the error message from the OAR load
    channel_notify = -800

[WebStats]
	enabled = false

[MRM]
	Enabled = false ; Enables the Mini Region Modules Script Engine. WARNING: SECURITY RISK.&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Empfohlene Konfigurations-Werte (f\u00fcr Standalone-Modus mit mySQL Datenbank)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;empfohlene_konfigurations-werte_fuer_standalone-modus_mit_mysql_datenbank&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;970-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:konfiguration</category>
            <pubDate>Fri, 29 Nov 2019 10:58:49 +0000</pubDate>
        </item>
        <item>
            <title>Performance</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/konfiguration/performance?do=revisions&amp;rev=1575021530</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;performance&quot;&gt;Performance&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Performance&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;performance&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-25&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;hardwareseitige_performance-beeinflussungen&quot;&gt;Hardwareseitige Performance-Beeinflussungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Um die Geschwindigkeit des OpenSIM-Servers zu erhöhen sind folgende Punkte mit am wichtigsten:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Viel Arbeitsspeicher (RAM)&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    Optimal ist DDR2-RAM ab 2 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt;, mehr ist auch nicht verkehrt. OpenSIM verbraucht im laufenden Betrieb locker hundert und mehr Megabyte RAM (je nach Konfiguration von OpenSIM), daher ist viel RAM eines der wichtigsten Punkte. Als absoluter Mindestwert kann man kurzzeitig 512 &lt;abbr title=&quot;Megabyte&quot;&gt;MB&lt;/abbr&gt; RAM verwenden, wesentlich besser läuft es bereits mit 1 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt;, optimal ab 2 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt; RAM. Es hängt allerdings auch davon ab welches Betriebssystem man einsetzt, denn nicht jedes Betriebssystem verbraucht gleichviel RAM. Da die RAM-Preise momentan sehr niedrig liegen sollte man mit RAM nicht geizen und reinpacken was an freien Slots vorhanden ist.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Schneller Prozessor (CPU&lt;/strong&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    Am besten leistungsstarke Dual-Core oder Quad-Core Prozessoren ab 2 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; Taktfrequenz pro Prozessorkern. Die Geschwindigkeit der CPU ist für OpenSIM sehr entscheidend. Als absoluter Mindestwert kann man kurzzeitig eine CPU mit 1 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; einsetzen, die dann aber im Betrieb möglicherweise extrem ausgelastet sein wird und OpenSIM träge macht. Wesentlich besser sieht es mit doppelt soviel CPU-Power aus. Leistungsstarke Quad-Core Prozessoren wie man Sie in richtigen Servern findet sind für OpenSIM der Idealfall. Allerdings geht das ziemlich auf die Stromrechnung &lt;img src=&quot;http://live.spdns.org/wiki/lib/images/smileys/smile.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-)&quot; /&gt; Nicht empfehlenswert sind abgespeckte, leistungsschwache CPU´s wie sie in manchen Notebooks oder billigen PC´s verbaut werden und die auf Stromsparen optimiert worden sind und nicht auf Geschwindigkeit.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Schnelle Festplatte&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    SCSI-Festplatten mit RAID-5 (ab 3 Stück) haben mehr Datendurchsatz als eine Single-IDE oder SATA-Festplatte. Dazu kommt noch daß viele Consumer-Festplatten die in den PC stecken nicht für den Dauerbetrieb ausgelegt sind. Moderne PC haben aber normalerweise ausreichend Festplatten-Datendurchsatz, sodaß dieser Punkt nicht allzu kritisch ist. Planen Sie bei der Festplattengrösse nicht zu knapp. Wenn OpenSIM auf der selben Festplatten-Partition wie das Betriebssystem installiert ist nehmen Sie mindestens 100 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt;, mehr sind nie verkehrt. Wenn Sie den Datendurchsatz steigern möchten, dann installieren Sie die Datenbank von OpenSIM auf einer separaten Festplatte mit eigener Partition, damit gleichzeitig ablaufende Festplattenzugriffe durch das Betriebssystem nicht störende Auswirkungen haben.
&lt;/p&gt;

&lt;p&gt;
Und wo wir schon beim Thema Festplatte sind: regelmäßig Datensicherungen (Backups) machen nicht vergessen ! Totalverlust aller Daten ist immer sehr ärgerlich und lässt sich nur durch konsequentes Datensichern auf externen Medien verhindern. Merke: auch Festplatten können mal kaputtgehen und insbesonders ständig laufende Festplatten wie beim Serverbetrieb mit der OpenSIM-Software, die aber nicht für den Dauerbetrieb ausgelegt sind, verabschieden sich häufig mit einem sehr nachhaltigen Erlebnis.
&lt;/p&gt;

&lt;p&gt;
Wir zählen mittlerweile ganze Stapel von defekten, externen USB-Festplatten die erstens in den Metallgehäusen viel zu schlecht gekühlt waren (wenn man eine Passivkühlung durch das Ableiten der Wärme überhaupt als richtige Kühlung ansehen darf), zweitens oft miserabel konstruierte Controller enthielten die gerne schnell defekt gehen und drittens sich gerne mal nach ein paar Wochen Dauerbetrieb mit einem lauten „Klack“ (Headcrash) für immer verabschiedet haben. Wenn da dann wichtige Datensicherungen drauf waren …
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Schnelle Datenbank&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    Eine mySQL-Datenbank ist SQLite zu bevorzugen. Die Performance der verwendeten Datenbank ist aber erst mit steigender Anzahl der Avatare kritisch, da viele gleichzeitige Operationen ausgeführt werden müssen und eine SQLite-Datenbank damit auch mal gerne überfordert sein kann. Für viele gleichzeitige Datenbankzugriffe ist die kostenlose mySQL-Datenbank am besten geeignet. Wer sich mit mySQL gut auskennt und mehr als die Standard-Konfiguration haben möchte, verwendet die im WWW sehr zahlreich zu lesenden Tricks um aus einer mySQL-Datenbank das maximale Potential herauszuholen. Viele Einstellungen lassen sich sehr einfach in der mySQL-Konfigurationsdatei vornehmen.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Schnelle Internetanbindung&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    Je mehr Avatare sich auf der eigenen Sim einloggen möchten, umso mehr Internetbandbreite wird benötigt. Kleine Gruppen lassen sich möglicherweise noch auf dem heimischen PC verwalten. Bei grösseren Gruppen wird es nötig werden entweder seinen Server bei einem grossen Hoster mit grosser Internetanbindung unterzustellen, oder einen Root-Server bei einem Hoster zu mieten (Preise ab ca. 80 Euro/Monat). Wer OpenSIM bei sich zuhause betreiben möchte, sollte einen Upstream von mindestens 1 MBit haben, also etwa ADSL mit 16.000 kBit/sec. aufwärts. Je höher der Upstream, desto besser. Ideal und vom Kosten-/Nutzen-Verhältnis am sinnvollsten ist derzeit VDSL mit 50 MBit Downstream und 10 MBit Upstream.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Grafikkarte&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    Die verwendete Grafikkarte im OpenSIM-Server ist hingegen völlig nebensächlich wenn dieser Computer nur als Server dient und nicht gleichzeitig auf diesem auch noch ein 3D-Viewer zum einloggen ausgeführt wird. Da wir davon ausgehen daß Sie nur einen Server betreiben, gehen wir auf den Punkt Grafikkarte nicht weiter ein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hardwareseitige Performance-Beeinflussungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hardwareseitige_performance-beeinflussungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;26-5327&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;softwareseitige_performance-beeinflussungen&quot;&gt;Softwareseitige Performance-Beeinflussungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Softwareseitig sind extrem viele, unterschiedliche OpenSIM-Werte an der vom Avatar „gefühlten“ Geschwindigkeit der Sim beteiligt. Hauptsächlich sind dies die Menge der auf einer Sim gleichzeitig eingeloggten Avatare, die auf einer Sim laufenden Scripts und physische Prims, neben einer ganzen Reihe anderer Faktoren.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Softwareseitige Performance-Beeinflussungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;softwareseitige_performance-beeinflussungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;5328-5702&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;performance-messung_inworld_opensim&quot;&gt;Performance-Messung Inworld OpenSIM&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mit der Tastenfolge STRG-SHIFT-1 die Statusanzeige einschalten.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Time Dilation: sollte möglichst bei 1.0 liegen (Echtzeitbetrieb). Je niedriger der Wert umso zeitversetzter läuft alles ab. Ab einem Wert von 0.7 wird es extrem träge.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sim FPS: FPS = Frames per Second (Bilder pro Sekunde). Maximal 45 sind möglich, 30 ist gut, unter 20 ruckelt es heftigst.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Time: sagt genau warum die beiden Werte oben evtl. schlecht sind. Eine Sim erreicht maximal 45 FPS, d.h. pro Frame 1/45 = 22ms Zeit.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Total Frame Time: sollte am besten bei 12 ms, möglichst aber noch unter 22 ms liegen. Steigt die Zeit pro Frame darüber, wird der Frame eben länger, und es kommt zu Lags, Time Dilation sinkt und natürlich analog der Sim FPS-Wert. Die Total Frame Time setzt sich zusammen aus verschiedenen Unterzeiten:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sim Time (Physics): Wenn jemand tausende von fliegenden physischen Würfeln rezzt, braucht der Simulator irsinnig lange, um das in Havok4 alles zu berechnen, dann geht die Zeit extrem hoch. → Physics Lag&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Script Time: sollte möglichst unter 12 ms sein. Wenn sehr viele Scripte laufen und richtig was tun, dann geht diese Zeit hoch. Script-Lag ist tückisch, weil er sich gar nicht so in der Time Dilation und Sim FPS ablesen lässt. Seit Havok4 funktionieren physische Bewegungen trotz Script-Lag oft noch recht gut, aber die Scripte werden sehr langsam. Kann man fast nur an diesem Wert ablesen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Agent Time: Weiter oben unter Simulator gibts die „Main Agents“. Viele Avatare in der Sim bedeuten hohe Agent Time (viel Lag). Child Agents sind diejenigen die aus einer Nachbar-Region oder Sim theoretischen Sichtkontakt haben. Viele Child Agents stören aber kaum.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Performance-Messung Inworld OpenSIM&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;performance-messung_inworld_opensim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;5703-7444&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;performance-optimierungen&quot;&gt;Performance-Optimierungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wie schon geschildert gibt es &lt;a href=&quot;http://live.spdns.org/wiki/begriffe/inworld&quot; class=&quot;wikilink2&quot; title=&quot;begriffe:inworld&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;begriffe:inworld&quot;&gt;Inworld&lt;/a&gt; eine Menge Potential die Performance einer Sim zu verbessern. Dazu gehören zum Beispiel:
&lt;/p&gt;

&lt;p&gt;
- animierte Bäume und Pflanzen nur sparsam einsetzen, denn diese verringern die Simulator Framerate (Bilder pro Sekunde) und machen die Sim auch träger (Ping-Wert verschlechtert sich).
&lt;/p&gt;

&lt;p&gt;
- auch Scripte schlucken - je nach Art und Programmierung des Scripts - durch die benötigte Rechenzeit einiges an Performance und sollten nicht übermäßig stark eingesetzt werden.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Performance-Optimierungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;performance-optimierungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;7445-7995&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;fazit&quot;&gt;Fazit&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Passende PC für OpenSIM bekommt man ab etwa 300 Euro zu kaufen, z.B. über &lt;a href=&quot;http://www.one.de/shop&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.one.de/shop&quot; rel=&quot;ugc nofollow noopener&quot;&gt;diesen Online-Shop&lt;/a&gt; mit sehr preiswerten Angeboten. Wer zukunftsweisend einkaufen möchte achtet insbesondere auf die verwendete CPU und das RAM und investiert lieber etwas mehr, bekommt dafür aber auch mehr Leistung.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Fazit&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fazit&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;7996-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:konfiguration</category>
            <pubDate>Fri, 29 Nov 2019 10:58:50 +0000</pubDate>
        </item>
        <item>
            <title>Online Indicator</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/online_indicator?do=revisions&amp;rev=1575021521</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;online_indicator&quot;&gt;Online Indicator&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;////////////////////////////////////////////////////////////////////////////////////////////////
//    Copyright (c) 2008 by Kristy Fanshaw                                                    //
////////////////////////////////////////////////////////////////////////////////////////////////
//   This program is free software: you can redistribute it and/or modify                     //
//    it under the terms of the GNU General Public License as published by                    //
//    the Free Software Foundation, either version 3 of the License, or                       //
//    (at your option) any later version.                                                     //
//                                                                                            //
//    Vendor System is distributed in the hope that it will be useful,                        //
//    but WITHOUT ANY WARRANTY; without even the implied warranty of                          //
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                           //
//    GNU General Public License for more details.                                            //
//                                                                                            //
//    To get a copy of the GNU General Public License, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.    //
////////////////////////////////////////////////////////////////////////////////////////////////
 
key user_key = &amp;quot;00000000-0000-0000-0000-000000000000&amp;quot;;       // must be agent UUID whose status it will indicate
integer time = 30;                                           // time within the message should be written.
string url = &amp;quot;http://world.secondlife.com/resident/&amp;quot;;
key blank = &amp;quot;5748decc-f629-461c-9a36-a35a221fe21f&amp;quot;;
string name;
key toucher;
string status;
 
default
{
    state_entry()
    {
        llSetText(&amp;quot;&amp;quot;, &amp;lt;1,0,0&amp;gt;, 1.0);
        llSetTexture(blank, ALL_SIDES);
        llRequestAgentData( user_key, DATA_NAME);   
    }
    dataserver(key queryid, string data)
    {
        name = data;
        llSetObjectName(name + &amp;quot;&amp;#039;s Online Detector&amp;quot;);
        state show;
    }
}
state show
{   
    state_entry()
    {
        llSetTimerEvent(10);
    } 
    timer()
    {
        llHTTPRequest( url + (string)user_key,[HTTP_METHOD,&amp;quot;GET&amp;quot;],&amp;quot;&amp;quot;);
        llRequestAgentData( user_key, DATA_ONLINE);   
    } 
    on_rez(integer start_param)
    {
        llSetText(&amp;quot;&amp;quot;, &amp;lt;1,0,0&amp;gt;, 1.0);
        llSetTexture(blank, ALL_SIDES);
    } 
    http_response(key request_id,integer status, list metadata, string body)
    { 
        if (llSubStringIndex(body, &amp;quot;blank.jpg&amp;quot;) == -1)
                {
                        integer start_UUID = llSubStringIndex(body,&amp;quot;&amp;lt;img alt=\&amp;quot;profile image\&amp;quot; src=\&amp;quot;http://secondlife.com/app/image/&amp;quot;) + llStringLength(&amp;quot;&amp;lt;img alt=\&amp;quot;profile image\&amp;quot; src=\&amp;quot;http://secondlife.com/app/image/&amp;quot;);
                        integer end_UUID = llSubStringIndex(body,&amp;quot;\&amp;quot; class=\&amp;quot;parcelimg\&amp;quot; /&amp;gt;&amp;quot;) - 3;
                        string profile_pic = llGetSubString(body, start_UUID, end_UUID);
                        llSetTexture((key)profile_pic, ALL_SIDES);
                }
        else
        {
            llSetTexture(blank, ALL_SIDES);
        }
    }
    dataserver(key queryid, string data)
    {
        if ( data == &amp;quot;1&amp;quot; ) 
        {
            status = &amp;quot; is online&amp;quot;;
 
            llSetText(name + status, &amp;lt;0,1,0&amp;gt;, 1.0);
        }
        else if (data == &amp;quot;0&amp;quot;)
        {
            status = &amp;quot; is offline&amp;quot;;
 
            llSetText(name + status, &amp;lt;1,0,0&amp;gt;, 1.0);
        }
 
    }
    touch_start(integer num_detected)
    {
        toucher = llDetectedKey(0);
        state msg;
    }
}
state msg
{
     state_entry()
    {
        llListen(0,&amp;quot;&amp;quot;,toucher,&amp;quot;&amp;quot;);
        llInstantMessage(toucher, &amp;quot;write your message to &amp;quot; + name +&amp;quot; - you have &amp;quot; +(string)time + &amp;quot; seconds&amp;quot;);
        llInstantMessage(toucher, &amp;quot;to see &amp;quot; + name +&amp;quot;&amp;#039;s profile, click this link here: secondlife:///app/agent/&amp;quot; + (string)user_key + &amp;quot;/about&amp;quot;);
        llSetTimerEvent(time);   
    }
    listen(integer ch, string name, key id, string msg)
    {
        llInstantMessage(user_key, llKey2Name(toucher) + &amp;quot; sent you a message from &amp;quot; + llGetRegionName() + &amp;quot;: &amp;quot; + msg);
        llInstantMessage(toucher, &amp;quot;message is sent.&amp;quot;);
        llListenRemove(0);
        state show;
    }
    timer()
    {
        llInstantMessage(toucher, &amp;quot;time is up - touch again to write a message&amp;quot;);
        llListenRemove(0); 
        state show;
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:41 +0000</pubDate>
        </item>
        <item>
            <title>Sleep</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/sleep?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;sleep&quot;&gt;Sleep&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Schlaf-Stellung.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;// Francis wuz here
integer broadcast = 20;

// A More Neutral Sleeping Position
//vector target = &amp;lt;-1.06585, 0.71774, 0.18293&amp;gt;;
//rotation targetRot = &amp;lt;0.50028, -0.49972, -0.50028, 0.49972&amp;gt;;

// A More relaxed sleeping position
vector target = &amp;lt;-1.15419, 0.56328, -0.25744&amp;gt;;
rotation targetRot = &amp;lt;0.52105, -0.49829, -0.46875, 0.51038&amp;gt;;

integer debugRotation = FALSE;
key sitAgent = NULL_KEY;
integer gotPermission = FALSE;

integer time = 0;
default
{
    state_entry()
    {
        llSetSitText( &amp;quot;Sleep&amp;quot; );
        llSitTarget( target, targetRot );
        if ( debugRotation ) {
            llListen( 1977, &amp;quot;Rotation Broadcaster&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
            llListen( 1978, &amp;quot;Rotation Broadcaster&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
        }
    }
    listen(integer channel, string name, key id, string message ) {
        if ( channel == 1977 )
            targetRot = (rotation) message;
        else
            target = (vector) message;
            
        llSitTarget( target, targetRot ); 
        if ( time == 0 )
            llSay(0, (string) targetRot + &amp;quot;, &amp;quot; + (string)target );
        time = (time +1) % 50;
    }
    changed(integer change) {
        if (change &amp;amp; CHANGED_LINK)
        {
            key agent = llAvatarOnSitTarget();
            if ( sitAgent == NULL_KEY &amp;amp;&amp;amp; agent != NULL_KEY ) {
                // Someone new sitting down
                sitAgent = agent;
                llRequestPermissions(sitAgent,PERMISSION_TRIGGER_ANIMATION);
            }
            else if ( sitAgent != NULL_KEY &amp;amp;&amp;amp; agent == NULL_KEY) {
                // sitting down person got up - wake up :)
                if ( gotPermission )
                    llStopAnimation(&amp;quot;sleep&amp;quot;);
                // Reset the script because we don&amp;#039;t have a way of releasing permissions :)
                llResetScript();
            }
        }        
    }
    run_time_permissions(integer parm) {
        if(parm == PERMISSION_TRIGGER_ANIMATION) {
            gotPermission = TRUE;
            llStartAnimation(&amp;quot;sleep&amp;quot;);
        }
    }
    
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>Simple Radar</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/simple_radar?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;simple_radar&quot;&gt;Simple Radar&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Sable Till - Radar/scannar script.
//You can get a copy of the license this script is under at http://www.gnu.org/copyleft/gpl.html
//Copyright (C) 2006 Sable Till

//This program is free software; you can redistribute it and/or
//modify it under the terms of the GNU General Public License
//as published by the Free Software Foundation; either version 2
//of the License, or (at your option) any later version.

//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.

//You should have received a copy of the GNU General Public License
//along with this program; if not, write to the Free Software
//Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

string status=&amp;quot;none&amp;quot;;
list people;
integer maxScanDistance;
vector color = &amp;lt;0,1,1&amp;gt;;
integer maxPeople = 8;
integer scanType = AGENT;
integer scanFreq=1;

integer count(string name) {
integer i = llListFindList(people, [name]);
if(i ==-1){
people+=[name, 0];
return 0;
} else {
integer count = llList2Integer(people, i+1);
people=llListReplaceList(people, [count+scanFreq], i+1, i+1);
return count;
}
}

//calculate time strings with proper units that are sensibly rounded
string time(integer cnt) {
if(cnt&amp;gt;3600) {
return (string)(cnt/3600)+&amp;quot;hr &amp;quot; + (string)((cnt%3600)/60) +&amp;quot;min&amp;quot;;
}else {
if(cnt&amp;gt;60) {
return (string)(cnt/60)+&amp;quot;min&amp;quot;;
} else {
return (string)cnt+&amp;quot;s&amp;quot;;
}
}
}

//I&amp;#039;m pretty sure there&amp;#039;s a better way to do this but I&amp;#039;m trying to calculate the angle between
//North and the target so I can work out which direction it is in.
float getAngle(vector me, vector target) {
float hyp = llVecDist(me, target);
float yDiff = target.y-me.y;
float xDiff = target.x-me.x;
float angle = llSin(yDiff/hyp);
if(xDiff&amp;gt;0 &amp;amp;&amp;amp; yDiff&amp;gt;0) {
return angle*RAD_TO_DEG;
}
if(xDiff&amp;gt;0 &amp;amp;&amp;amp; yDiff&amp;lt;0) {
return 90-angle*RAD_TO_DEG;
}
if(xDiff&amp;lt;0 &amp;amp;&amp;amp; yDiff&amp;gt;0) {
return angle*RAD_TO_DEG+270;
}
if(xDiff&amp;lt;0 &amp;amp;&amp;amp; yDiff&amp;lt;0) {
return angle*RAD_TO_DEG + 270;
}
return angle*RAD_TO_DEG;
}

default
{
state_entry()
{
llSensorRepeat(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;,scanType, 96, PI, scanFreq);
llSetTimerEvent(6);
}

sensor(integer num_detected) {
people=[];
string result;
integer n=-1;
integer distance=0;
integer detDist;
string name;

vector pos = llGetPos();
//get the dist, name and direction of everyone we just scanned.
for(n=0;n&amp;lt;num_detected &amp;amp;&amp;amp; n&amp;lt;maxPeople;++n) {
vector detPos = llDetectedPos(n);
detDist = (integer)llVecDist(pos, detPos);
float angle = getAngle(llGetPos(), detPos);
name = llKey2Name(llDetectedKey(n));
if(detDist&amp;lt;96) {
people+=detDist;
people+=name;
people+=angle;
}
}
//sort the strided list
people = llListSort(people, 3, TRUE);
//construct settext
num_detected = llGetListLength(people)/3;
for(n=0;n&amp;lt;num_detected;++n) {
detDist=llList2Integer(people, n*3);
name = llList2String(people, n*3+1);
float dir = llList2Float(people, n*3+2);
if(detDist&amp;gt;20 &amp;amp;&amp;amp; distance&amp;lt;=20) {
result+=&amp;quot;&amp;lt;- Chat Range Limit -&amp;gt;\n&amp;quot;;
}
result+=name;
if(detDist&amp;lt;20) {
integer cnt = count(name);
result+=&amp;quot; [&amp;quot;+time(cnt)+&amp;quot;]&amp;quot;;
}
result+=&amp;quot; [&amp;quot;+(string)detDist+&amp;quot;m]&amp;quot;;

if(dir &amp;lt; 0 || dir &amp;gt; 360) {
llOwnerSay(&amp;quot;Error:&amp;quot;+(string)dir+&amp;quot;:&amp;quot;+name);
}
//determine which compass direction they are in.
if(dir &amp;lt;= 22.5) {
result+=&amp;quot; N\n&amp;quot;;
} else {
if(dir &amp;gt; 22.5 &amp;amp;&amp;amp; dir &amp;lt;= 67.5) {
result+=&amp;quot; NE\n&amp;quot;;
} else {
if(dir &amp;gt; 67.5 &amp;amp;&amp;amp; dir &amp;lt;= 112.5) {
result+=&amp;quot; E\n&amp;quot;;
} else {
if(dir &amp;gt; 112.5 &amp;amp;&amp;amp; dir &amp;lt;= 157.5) {
result+=&amp;quot; SE\n&amp;quot;;
} else {
if(dir &amp;gt; 157.5 &amp;amp;&amp;amp; dir &amp;lt;= 202.5) {
result+=&amp;quot; S\n&amp;quot;;
} else {
if(dir &amp;gt; 202.5 &amp;amp;&amp;amp; dir &amp;lt;= 247.5) {
result+=&amp;quot; SW\n&amp;quot;;
} else {
if(dir &amp;gt; 247.5 &amp;amp;&amp;amp; dir &amp;lt;= 292.5) {
result+=&amp;quot; W\n&amp;quot;;
} else {
if(dir &amp;gt; 292.5 &amp;amp;&amp;amp; dir &amp;lt;= 337.5) {
result+=&amp;quot; NW\n&amp;quot;;
} else {
if(dir &amp;gt; 337.5 &amp;amp;&amp;amp; dir &amp;lt; 360) {
result+=&amp;quot; N\n&amp;quot;;
}
}
}

}}}}}}

distance=detDist;
}


//If we detected more (or the same number of) people as maxPeople then shrink down the scan distance to just
//the distance to the furthest one. Otherwise increment it a bit in case there are people further out.
if(num_detected&amp;gt;=maxPeople) {
maxScanDistance=distance+10;
} else {
maxScanDistance+=10;
}

result+=&amp;quot;\nStatus:&amp;quot;+status;
//adjust max people based on the length of result
if(llStringLength(result)&amp;gt;254) {
maxPeople--;
llOwnerSay(&amp;quot;Length is &amp;quot;+(string)llStringLength(result) +
&amp;quot; Decrementing maxPeople to &amp;quot;+(string)maxPeople);
} else {
if(llStringLength(result)&amp;lt;200 &amp;amp;&amp;amp; num_detected&amp;gt;maxPeople) {
maxPeople++;
llOwnerSay(&amp;quot;Length is &amp;quot;+(string)llStringLength(result) +
&amp;quot; Incrementing maxPeople to &amp;quot;+(string)maxPeople);
}
}
llSetText(result, color, 1);
}

no_sensor() {
llSetText(&amp;quot;Status:&amp;quot;+status, color, 1);
maxScanDistance+=10;
llSensorRepeat(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, scanType, maxScanDistance, PI, scanFreq);
}

//all we do here is check the sims fps and dilation and tone down our scanning if necessary.
timer() {
float fps = llGetRegionFPS();
float timeDilation = llGetRegionTimeDilation();

integer scanDistance;
if(fps&amp;lt;35 || timeDilation &amp;lt;0.9) {
if(maxScanDistance&amp;gt;30) {
scanDistance=30;
}
scanFreq=240;
status = &amp;quot;poor&amp;quot;;
llSetTimerEvent(240);
color=&amp;lt;1,0,0&amp;gt;;
} else
{
if(fps&amp;lt;40 || timeDilation&amp;lt;0.95) {
if(maxScanDistance&amp;gt;64) {
scanDistance=64;
} else {
scanDistance=maxScanDistance;
}
scanFreq=30;
status = &amp;quot;ok&amp;quot;;
llSetTimerEvent(120);
color=&amp;lt;1,1,0&amp;gt;;
} else
{
if(maxScanDistance&amp;gt;96) {
scanDistance=96;
} else {
scanDistance=maxScanDistance;
}
scanFreq=1;
llSetTimerEvent(60);
status = &amp;quot;good&amp;quot;;
color=&amp;lt;0,1,1&amp;gt;;
}}
llSensorRepeat(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, scanType, scanDistance, PI, scanFreq);
}

}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:43 +0000</pubDate>
        </item>
        <item>
            <title>Snow 2 (Schnee)</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/snow_2?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;snow_2_schnee&quot;&gt;Snow 2 (Schnee)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;Snow
{
	quota	30000
	material	Flare
	particle_width	0.3
	particle_height	0.3
	cull_each	true
	renderer	billboard
	sorted	true
	local_space	false
	iteration_interval	0
	nonvisible_update_timeout	0
	billboard_type	point
	billboard_origin	center
	billboard_rotation_type	texcoord
	common_up_vector	0 1 0
	point_rendering	false
	accurate_facing	false

	emitter Box
	{
		angle	0
		colour	1 1 1 1
		colour_range_start	1 1 1 1
		colour_range_end	1 1 1 1
		direction	0 -1 0
		emission_rate	1250
		position	0 5 0
		velocity	10
		velocity_min	10
		velocity_max	15
		time_to_live	20
		time_to_live_min	20
		time_to_live_max	20
		duration	0
		duration_min	0
		duration_max	0
		repeat_delay	0
		repeat_delay_min	0
		repeat_delay_max	0
		width	200
		height	200
		depth	1
	}

	affector DeflectorPlane
	{
		plane_point	0 0 0
		plane_normal	0 1 0
		bounce	0
	}

	affector DirectionRandomiser
	{
		randomness	7
		scope	1
		keep_velocity	true
	}
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>Chatbot</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/chatbot?do=revisions&amp;rev=1575021519</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;chatbot&quot;&gt;Chatbot&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Bot das sich mit Avataren per Chat „unterhalten“ kann. Erinnert etwas an „&lt;a href=&quot;http://de.wikipedia.org/wiki/ELIZA&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/ELIZA&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Eliza&lt;/a&gt;“. Eingebaut in ein entsprechend passendes Prim kann das Chat-Bot mit einer Anpassung der englischen Texte auch als Concierge dienen der ankommende Avatare begrüsst, oder eine Anleitung, Hilfestellung oder ähnliches gibt.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;integer otherwise;

default
{
    state_entry()
    {
        llListen(0, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
        llSay(0, &amp;quot;State Entry&amp;quot;);
    }
    
    listen(integer channel, string name, key id, string message)
    {
        string sentence = &amp;quot;spc&amp;quot; + message;
        integer otherwise = 0;
        if (llSubStringIndex(sentence,&amp;quot;hi&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;hello&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;hey&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;hey there&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Hi&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Hello&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Hey there&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Hello there.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Hi.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Hey there. How are you?&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;how are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;hows you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how&amp;#039;s you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how is you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;How are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Hows you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;How&amp;#039;s you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how is you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how are ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;hows ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how&amp;#039;s ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how is ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;How are ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Hows ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;How&amp;#039;s ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how is ya&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(6);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I&amp;#039;m ok.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I&amp;#039;m good, just a little busy I guess.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I&amp;#039;m fine, you?&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;I&amp;#039;m ok, yourself?&amp;quot;);
                }
                
                if(choice == 5)
                {
                    llSay(0, &amp;quot;I&amp;#039;m doing well, thanks.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;,you?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;, you?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;.You?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;. You?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;yourself?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Yourself?&amp;quot;)&amp;gt;0 | message == &amp;quot;you?&amp;quot; | message == &amp;quot;You?&amp;quot;)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I&amp;#039;m good on this topic.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Same here.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;what with&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;with what&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;are you doing?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What with&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;With what&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Just random stuff I guess.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Just different things.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Just stuff.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;whats up&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what&amp;#039;s up&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what are you up to&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what you up to&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what are you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what&amp;#039;s you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;whats you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what&amp;#039;s going on&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what&amp;#039;s you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Whats up&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What&amp;#039;s up&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What are you up to&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What you up to&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What are you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What&amp;#039;s you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Whats you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What&amp;#039;s going on&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What&amp;#039;s you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;wassup&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Wassup&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(6);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Not pretty much, just hanging around here and chatting with people. You?&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;A bit busy with stuff but nothing special otherwise.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Not much at the moment. Yourself?&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Just busy with a few things right now... not pretty much.&amp;quot;);
                }
                
                if(choice == 5)
                {
                    llSay(0, &amp;quot;Just relaxing here for the moment. You?&amp;quot;);
                }
                otherwise = 1;
            }

        if (llSubStringIndex(sentence,&amp;quot;m fine&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m okay&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m better then ever&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;never felt better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Never felt better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;never been better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Never been better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m pretty well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m pretty good&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;That&amp;#039;s good, I&amp;#039;m happy to hear that.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Thats great. Glad you&amp;#039;re feeling ok.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Happy to hear that.&amp;quot;);
                }
                otherwise = 1;
            }

        if (llSubStringIndex(sentence,&amp;quot;not too well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not too good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not too well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not too happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not really happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not really well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not really great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not so happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not so well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not so great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not very happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not that well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not that great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;a bit down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;a bit sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;a bit depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not too well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not too good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not too well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not too happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not really happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not really well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not really great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not so happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not so well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not so great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not very happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not that well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not that great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;A bit down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;A bit sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;A bit depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not at my best&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;not at my best&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;could be better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Could be better&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(6);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Why, what&amp;#039;s wrong? Want to talk to me about it?&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I&amp;#039;m sorry to hear that, I hope you feel better.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Awww I&amp;#039;m sorry to hear that.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Why, why are you sad?&amp;quot;);
                }
                
                if(choice == 5)
                {
                    llSay(0, &amp;quot;Ah... I&amp;#039;m sorry to hear that. Hope nothing too bad happened. Want to tell me what&amp;#039;s wrong though?&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;thanks&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;thank you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;thankies&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thanks&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thank you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thankies&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;No problem&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;No problem, it&amp;#039;s ok :)&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;doesnt matter&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;doesn&amp;#039;t matter&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;nevermind&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;forget it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;forget about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;dont want to talk about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;don&amp;#039;t want to talk about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;dont ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;don&amp;#039;t ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;do not ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not in the mood&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;nothing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Doesnt matter&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Doesn&amp;#039;t matter&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Nevermind&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Forget it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Forget about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Dont want to talk about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Don&amp;#039;t want to talk about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Dont ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Don&amp;#039;t ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Do not ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not in the mood&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Nothing&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Ah... ok.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Ok. It&amp;#039;s ok with me if you don&amp;#039;t want to talk about it.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;If you say so.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Hmm ok. Hope you don&amp;#039;t mind I asked.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;yes&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;yeah&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;indeed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;affirmative&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;can confirm&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Yes&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Yeah&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;True&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Indeed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Affirmative&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Can confirm&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;certainly&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Certainly&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;of course&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Of course&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah...&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;So it&amp;#039;s true.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;no.&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;no,&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;no!&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;no &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; no.&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; no,&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; no!&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; no &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;nope&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;nah&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not really&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not at all&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;No.&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;No,&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;No!&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; No.&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; No,&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; No!&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; No &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; No&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Nope&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Nah&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not really&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not at all&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;isnt true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;isn&amp;#039;t true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Isnt true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Isn&amp;#039;t true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;certainly not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;of course not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Certainly not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Of course not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;certainly no&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Certainly no&amp;quot;)&amp;gt;0 | message == &amp;quot;no&amp;quot; | message == &amp;quot;No&amp;quot;)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Ah so no then.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;No? Ok.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;maybe&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;probably&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;don&amp;#039;t know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;dunno&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;dont know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;need to think&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;unsure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not so sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t so sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not so certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t so certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;aint very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;aint very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Maybe&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Probably&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Don&amp;#039;t know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Dunno&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Dont know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Need to think&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not so sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t so sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not so certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t so certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Aint very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Aint very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;aint really certain&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;aint really certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t really certain&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t really certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Aint really certain&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;Aint really certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t really certain&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t really certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;aint perfectly sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t perfectly sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Aint perfectly sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t perfectly sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t really sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;aint really sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t really sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Aint really sure&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah, you should think about it more in depth.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;It can be a bit hard to decide. Try to think about it though.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;its because&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;it&amp;#039;s because&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;happened&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence, &amp;quot;almost got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;almost had&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;he almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;we almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;they almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;he got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;we got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;they got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Its because&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;It&amp;#039;s because&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Happened&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence, &amp;quot;Almost got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Almost had&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;He almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;She almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;We almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;They almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;He got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;She got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;We got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;They got&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(7);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah I remember when that happened to me in the past.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I&amp;#039;ve had that happen to me myself, I know.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Wow... never had that happen to me.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Interesting... I had a friend who had a similar experience.&amp;quot;);
                }
                
                if(choice == 5)
                {
                    llSay(0, &amp;quot;Hmmm... well that never happened to me personally.&amp;quot;);
                }
                
                if(choice == 6)
                {
                    llSay(0, &amp;quot;Yeah that happens often these days.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;didnt know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;didn&amp;#039;t know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;never knew&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Didnt know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Didn&amp;#039;t know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Never knew&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah, but you know now.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Well now you know.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;really?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;you sure?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;did?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;that true?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Really?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;You sure?&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Of course. I&amp;#039;m not lying to you.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Yep... it&amp;#039;s true.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Of course.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;im &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i&amp;#039;m &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Im &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i&amp;#039;m &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I&amp;#039;m &amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah... I&amp;#039;m kind of feeling the same way right now.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I feel the same way a lot.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Hmm... I can&amp;#039;t say I feel the same way right now.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;why&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how come&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Why&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;How come&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I dunno...&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;It&amp;#039;s just how things are I guess.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I&amp;#039;m not sure... its just how things are at the moment.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;thats great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;that&amp;#039;s great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;thats good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;that&amp;#039;s good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;glad to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;happy to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;nice to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thats great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;That&amp;#039;s great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thats good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;That&amp;#039;s good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Glad to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Happy to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Nice to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;thats sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;that&amp;#039;s sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thats sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;That&amp;#039;s sweet&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Thank you.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Yeah it&amp;#039;s good.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Indeed.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;no problem&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;No problem&amp;quot;)&amp;gt;0)
            {
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;oure nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;you rock&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;You rock&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure the best&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure the greatest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re the best&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re the greatest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure the coolest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re the coolest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are the best&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are the greatest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are the coolest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure amazing&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very amazing&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Thank you, that&amp;#039;s a very sweet compliment.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Thank you hon, so are you.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;That&amp;#039;s such a sweet thing to say... thanks.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Thank you so much. I think the same about you.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;oure stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure good for nothing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure a piece of shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure a piece of crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure a piece of junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure broken&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re good for nothing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re a piece of shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re a piece of crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re a piece of junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re broken&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;you suck&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;You suck&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure dum&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;oure garbage&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re dum&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re garbage&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are good for nothing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are a piece of shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are a piece of crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are a piece of junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are broken&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are garbage&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really bad&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;oure really useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really retarded&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;oure really dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really bad&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really retarded&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are really stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are really bad&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou are really useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are really retarded&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou are really dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are very stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are very bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are very retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are very dum&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Sorry to hear you have such a bad impression about me.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;It&amp;#039;s sad you feel in such a way about me.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Your words are not very nice. You aren&amp;#039;t a better person either.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;I&amp;#039;m sorry you dislike me so badly. You should probably go find someone else to chat with.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i hate you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i dislike you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i dont like you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I hate you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I dislike you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I dont like you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i don&amp;#039;t like you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I don&amp;#039;t like you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Sorry to hear you dislike me like that.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Why, what did I do wrong to you?&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;It&amp;#039;s sad to hear such a thing. I don&amp;#039;t know why you dislike me so badly.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i like you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i appreciate you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i love you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I like you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I appreciate you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I love you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Why thank you dear... I love you too.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I&amp;#039;m happy to hear you like me so much. I also like you a lot.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Thank you, that&amp;#039;s something very sweet to say. I&amp;#039;m happy to know you like me too.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;ou make me feel awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel miserable&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure makaking me feel horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel miserable&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel miserable&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are makaking me feel horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel miserable&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel depressed&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I&amp;#039;m sorry... I didn&amp;#039;t know I was making you feel that way.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I apologize... I didn&amp;#039;t mean to make you feel like that.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I had no idea I was making you feel that way. Please forgive me.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;ou make me feel great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel perfect&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I am? I&amp;#039;m happy to hear I made you feel happy.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I&amp;#039;m really glad to hear I made you feel good by talking to you.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;That&amp;#039;s great. I&amp;#039;m happy I could brighten your day.&amp;quot;);
                }
                otherwise = 1;
            }

        if (llSubStringIndex(sentence,&amp;quot;its ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;its fine&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;its good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;dont worry about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;it&amp;#039;s ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;it&amp;#039;s fine&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;it&amp;#039;s good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;don&amp;#039;t worry about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Its ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Its fine&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Its good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Dont worry about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;It&amp;#039;s ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;It&amp;#039;s fine&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;It&amp;#039;s good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Don&amp;#039;t worry about it&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;If you say so.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;If everything&amp;#039;s well then it&amp;#039;s ok.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Good, I&amp;#039;m glad if it&amp;#039;s ok then.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i didnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i did not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I didnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I did not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i didn&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I didn&amp;#039;t&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Maybe you didn&amp;#039;t.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Ok... I believe you.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;You know better then me if you did or did not.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;do you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Do you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I do many things, yeah.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I guess I do.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Not perfectly sure, I can&amp;#039;t say for certain.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;. are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;, are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;? are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;! are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;: are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;; are you&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;Are you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Sometimes I am.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I believe I am, yes.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I guess I could say I am, it depends.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;did you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Did you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;didnt you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Didnt you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;didn&amp;#039;t you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Didn&amp;#039;t you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I&amp;#039;m not sure if I did... maybe.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I may have. I don&amp;#039;t remember that well.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Yeah, I certainly did once.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;No I don&amp;#039;t believe I have.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;would you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Would you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;wouldnt you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Wouldnt you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;wouldn&amp;#039;t you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Wouldn&amp;#039;t you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I must think about that, yeah.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I thought about such a thing, to be honest. I&amp;#039;m not sure however.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I would certainly do something about it if I could, yes.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Hmm... I can&amp;#039;t really say I would certainly do that.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;will you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Will you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;wont you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Wont you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;won&amp;#039;t you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Won&amp;#039;t you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I&amp;#039;ve been thinking about it... I will probably do that sometime in the future.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I planned on it but changed my mind several times. I&amp;#039;m very confuded on what to do about this.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I want to, yes. I most likely will.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;No, I don&amp;#039;t want to do such a thing. Not really my biggest wish.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i did&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I did&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;You did? That&amp;#039;s awesome.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;You&amp;#039;ve done that? Interesting.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Nice. I did that some time too a while back.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i didnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I didnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i didn&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I didn&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i did not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I did not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i havent&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I havent&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i haven&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I haven&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i have not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I have not&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Ah I thought you did... so you didn&amp;#039;t then.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;You haven&amp;#039;t done that?&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Yeah I probably wouldn&amp;#039;t do that either.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i would&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I would&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah I&amp;#039;d do the same thing if I where you.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I would too, yes.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;That would be a nice thing to try.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Yeah you should try and really do that sometime.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i wouldnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I wouldnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i wouldn&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I wouldn&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i would not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I would not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i would never&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I would never&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah I don&amp;#039;t think I would either.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Same here... I wouldn&amp;#039;t really do that.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Hmm... I thought about doing that but maybe it&amp;#039;s best not to.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Yeah same here, I would never do that.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i will&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Nice. I will probably do that too sometime.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;That&amp;#039;s nice, I hope you will.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;You will? That&amp;#039;s great.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Nice... that&amp;#039;s a good idea.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i wont&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I wont&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i won&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I won&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i will not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i will never&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will never&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah... it&amp;#039;s best to avoid doing that.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Don&amp;#039;t do it if you don&amp;#039;t want to in that case.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I&amp;#039;m not sure if I would do that myself, though I understand your view about this.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Yes that is a bad thing, never do it.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;ill be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ill be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ill return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ill be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ill be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ill return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i&amp;#039;ll be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i&amp;#039;ll be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i&amp;#039;ll return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I&amp;#039;ll be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I&amp;#039;ll be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I&amp;#039;ll return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i will be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i will be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i will return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;brb&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Brb&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;BRB&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Ok, I&amp;#039;ll wiat for you here.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;See you when you return.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I&amp;#039;ll wait for you to return.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i need to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i need to leave&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i have to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i need to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i must go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i must leave&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i have to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I need to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I need to leave&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I have to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I need to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I must go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I must leave&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I have to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;goodbye&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Goodbye&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;bye&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Bye&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;See you next time. It was nice talking to you.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;It was a pleasure talking with you. Later!&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I hope to see you again sometime. Bye, take care.&amp;quot;);
                }
                otherwise = 1;
            }

        else if (otherwise == 0)
        {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Hmmm...&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Yeah... not sure.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Yeah, indeed.&amp;quot;);
                }
        }
    }
    
    touch_start (integer toucher)
    {
        integer choice = (integer) llFrand(5);
        if(choice == 1)
        {
            llSay(0, &amp;quot;Hey... that tickles.&amp;quot;);
        }
                
        if(choice == 2)
        {
            llSay(0, &amp;quot;Hehe stop touching me ^^&amp;quot;);
        }
                
        if(choice == 3)
        {
            llSay(0, &amp;quot;Poke?&amp;quot;);
        }
                
        if(choice == 4)
        {
            llSay(0, &amp;quot;Stop it, you&amp;#039;re tickling me :)&amp;quot;);
        }
    }
        
    collision(integer avatar)
    {
        integer choice = (integer) llFrand(5);
        if(choice == 1)
        {
            llSay(0, &amp;quot;Ouch be careful... you just bumped into me!&amp;quot;);
        }
                
        if(choice == 2)
        {
            llSay(0, &amp;quot;Aah you hit me... be more careful.&amp;quot;);
        }
                
        if(choice == 3)
        {
            llSay(0, &amp;quot;You stepped on me... please be more careful.&amp;quot;);
        }
                
        if(choice == 4)
        {
            llSay(0, &amp;quot;You sure like pushing into me, don&amp;#039;t you?&amp;quot;);
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:39 +0000</pubDate>
        </item>
        <item>
            <title>Skype Online Status</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/skype?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;skype_online_status&quot;&gt;Skype Online Status&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;string skype_handle = &amp;quot;PUT-SKYPE-NAME-HERE&amp;quot;;

key skype_request_id = NULL_KEY; // id of http request

showStatus(string skype_status)
{
    // build up our message
    string message = &amp;quot;Skype&amp;quot;;
    message += &amp;quot;\nName: &amp;quot; + skype_handle;
    message += &amp;quot;\nStatus: &amp;quot; + skype_status;
    
    // write out the message as hovering text
    llSetText(message, &amp;lt;.5,.5,1&amp;gt;, 1);
}
default
{
    touch_start(integer total_number)
    {
        // make sure owner has specified handle
        if(skype_handle == &amp;quot;&amp;quot;)
        {
            // send message to debugger
            llWhisper(DEBUG_CHANNEL, &amp;quot;skype_handle can not be empty.&amp;quot;);
            return;
        }
        
        // prevent extra requests happening at the same time
        if(skype_request_id != NULL_KEY) return;
        
        // make a request over the internet
        skype_request_id = llHTTPRequest(&amp;quot;http://mystatus.skype.com/&amp;quot; + skype_handle + &amp;quot;.txt&amp;quot;, [HTTP_METHOD, &amp;quot;GET&amp;quot;], &amp;quot;&amp;quot;);
        
        // set a timeout for http request
        llSetTimerEvent(5);
    }
    http_response(key request_id, integer status, list metadata, string body)
    {
        // is this a response to our request?
        if(request_id == skype_request_id) 
        {
            // show status
            showStatus(body);
            
            // change to view state
            state viewing;
        }

    }
    timer()
    {
        // didn&amp;#039;t get a response in time.
        showStatus(&amp;quot;No Response&amp;quot;);
        
        // change to view state
        state viewing;
    }
}
state viewing
{
    state_entry()
    {
        // set next timer for 3 minutes
        llSetTimerEvent(180);
    }
    timer()
    {
        state default;
    }
    state_exit()
    {
        // stop the timer
        llSetTimerEvent(0);

        // hide the text
        llSetText(&amp;quot;&amp;quot;, ZERO_VECTOR, 0);
        
        // reset the request id
        skype_request_id = NULL_KEY;
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:43 +0000</pubDate>
        </item>
        <item>
            <title>Skype Online Status - Multi-User Version</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/skype_multiuser?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;skype_online_status_-_multi-user_version&quot;&gt;Skype Online Status - Multi-User Version&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// zwischen die Anführungszeichen Deinen Skype-Name einfügen
string skype_handle = &amp;quot;&amp;quot;;
// you are done!  no more changes!

key     notecode;
string  notecard;
integer noteline;
key skype_request_id = NULL_KEY; // id of http request

showStatus(string skype_status)
{
    // build up our message
    string message = &amp;quot;Skype&amp;quot;;
    message += &amp;quot;\nName: &amp;quot; + skype_handle;
    message += &amp;quot;\nStatus: &amp;quot; + skype_status;
    
    // write out the message as hovering text
    llSetText(message, &amp;lt;.5,.5,1&amp;gt;, 1);
}

// AMD64 ADD: readnotecard() liest eine zeile
// Im Dataserver Event wird die gewünschte Variable dann gefüllt
// Sollte einmal beim rezzen/reseten und Inventory Change durchgeführt werden
readnotecard()
{
    // Der name der NC ist egal
    notecard = llGetInventoryName(INVENTORY_NOTECARD, 0);
    // Wenn aber keine da ist, setze die Variable auch auf leer und beende das ganze
    if (notecard == &amp;quot;&amp;quot;)
    {
        skype_handle = &amp;quot;&amp;quot;;
        return;
    }
    // Lesen beginnen bei Zeile Null (anfang)
    noteline = 0;
    // Ab hier gehts im Dataserver Event weiter
    notecode = llGetNotecardLine(notecard, noteline);
}

default
{
    on_rez(integer start_param)
    {
        readnotecard();
    }
    state_entry()
    {
        llSetTimerEvent(0);
        readnotecard();
    }
    changed(integer change)
    {
        // Änderung im Inventar des Objekts
        if (change &amp;amp; CHANGED_INVENTORY)
        {
            // NC am besten neu einlesen
            readnotecard();
        }
    }
    dataserver(key queryid, string data)
    {
        if (queryid == notecode)
        {
            // Für den Fall dass die NC leer ist
            if (data != EOF) 
            {
                skype_handle = data;
            }
            else
            {
                skype_handle = &amp;quot;&amp;quot;;
            }
        }
    }
    touch_start(integer total_number)
    {
        // make sure owner has specified handle
        if(skype_handle == &amp;quot;&amp;quot;)
        {
            // send message to debugger
            llWhisper(DEBUG_CHANNEL, &amp;quot;skype_handle can not be empty.&amp;quot;);
            return;
        }
        
        // prevent extra requests happening at the same time
        if(skype_request_id != NULL_KEY) return;
        
        // make a request over the internet
        skype_request_id = llHTTPRequest(&amp;quot;http://mystatus.skype.com/&amp;quot; + skype_handle + &amp;quot;.txt&amp;quot;, [HTTP_METHOD, &amp;quot;GET&amp;quot;], &amp;quot;&amp;quot;);
        
        // set a timeout for http request
        llSetTimerEvent(5);
    }
    http_response(key request_id, integer status, list metadata, string body)
    {
        // is this a response to our request?
        if(request_id == skype_request_id) 
        {
            // show status
            showStatus(body);
            
            // change to view state
            state viewing;
        }

    }
    timer()
    {
        // Didn&amp;#039;t get a response in time.
        showStatus(&amp;quot;No Response&amp;quot;);
        
        // change to view state
        state viewing;
    }
}
state viewing
{
    state_entry()
    {
        // Set next timer for 3 minutes
        llSetTimerEvent(180);
    }
    timer()
    {
        state default;
    }
    state_exit()
    {
        // stop the timer
        llSetTimerEvent(0);

        // hide the text
        llSetText(&amp;quot;&amp;quot;, ZERO_VECTOR, 0);
        
        // reset the request id
        skype_request_id = NULL_KEY;
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:43 +0000</pubDate>
        </item>
        <item>
            <title>Lippstadt</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/start?do=revisions&amp;rev=1649070965</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;lippstadt&quot;&gt;Lippstadt&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_center wrap_round wrap_important plugin_wrap&quot; style=&quot;width: 60%;&quot;&gt;
&lt;p&gt;
&lt;strong&gt;Bitte beachten:&lt;/strong&gt;
Dies ist ein Archiv mit nicht mehr aktuellen Informationen und Links!
Das Archiv dient nur zur Recherche und kann veraltete und tote Links enthalten.
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Lippstadt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lippstadt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-238&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;hallo_und_herzlich_willkommen_im_lippstadt_wiki&quot;&gt;Hallo und herzlich willkommen im Lippstadt Wiki&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das Lippstadt Wiki ist ein offenes, nonkommerzielles und werbefreies Archiv, Informationssystem und Wissensdatenbank zum Thema Lippstadt mit den 18 Ortsteilen Bad Waldliesborn, Benninghausen, Bökenförde, Cappel, Dedinghausen, Eickelborn, Esbeck, Garfeln, Hellinghausen, Herringhausen, Hörste, Lipperbruch, Lipperode, Lohe, Mettinghausen, Overhagen, Rebbeke und Rixbeck. Offen bedeutet daß sich jeder daran aktiv beteiligen kann, vorrausgesetzt man ist als Benutzer registriert und eingeloggt. Als nichtregistrierter Nutzer bzw. Gast haben Sie aber dennoch Lese-Zugriff auf alle öffentlichen Seiten. Nonkommerziell bedeutet es gibt keinerlei Werbung, weder sichtbare Werbung noch versteckte. Da kaum Kosten durch den Betrieb der Wiki-Plattform entstehen und diese durch die Benutzer selbstverwaltet wird, kann dieses Web-Angebot werbefrei bleiben. Der Fokus liegt eher auf der schnellen, unkomplizierten und seriösen Informationsbeschaffung, ohne viel Schnörkel, ohne besonders schickes Webdesign, ohne eingebaute externe Quellen. Als aktiver Benutzer können Sie das Lippstadt Wiki mit seinen Inhalten selbst mitgestalten und für aktuelle Informationen sorgen. Wenn Sie beispielsweise aktuelle Nachrichten aus den Kreisen Soest, Gütersloh, Warendorf, Paderborn suchen, oder Firmen in Lippstadt - hier werden Sie fündig.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hallo und herzlich willkommen im Lippstadt Wiki&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hallo_und_herzlich_willkommen_im_lippstadt_wiki&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;239-1630&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;alles_zum_thema_lippstadt_-_eine_wissenssammlung&quot;&gt;Alles zum Thema Lippstadt - eine Wissenssammlung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Zum Lippstadt Wiki gehört ein sehr umfangreiches Web-Angebot, das ausser dem Wiki aus einem integrierten Hilfe-System mit Wissensdatenbank besteht, einem &lt;a href=&quot;http://links.itclive.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://links.itclive.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Bookmark- bzw. Link-Manager&lt;/a&gt; zur Verwaltung aller Links, einem &lt;a href=&quot;http://files.itclive.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://files.itclive.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;File-Server für Downloads&lt;/a&gt;, einem &lt;a href=&quot;http://maps.itclive.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://maps.itclive.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Karten-Server&lt;/a&gt; für interaktive Strassenkarten, einem &lt;a href=&quot;http://vod.itclive.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://vod.itclive.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Media-Server&lt;/a&gt; für Audios, Fotos, Filme, Podcasts, TV und Videos und einer eigenen &lt;a href=&quot;http://suma.itclive.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://suma.itclive.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Suchmaschine&lt;/a&gt;. Die direkten Links zu den jeweiligen Web-Angeboten finden Sie stets am oberen Seitenrand eingeblendet.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Alles zum Thema Lippstadt - eine Wissenssammlung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;alles_zum_thema_lippstadt_-_eine_wissenssammlung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1631-2332&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;noch_fragen&quot;&gt;Noch Fragen?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
In der &lt;a href=&quot;http://live.spdns.org/wiki/archiv/lippstadt/fragen_und_antworten&quot; class=&quot;wikilink1&quot; title=&quot;archiv:lippstadt:fragen_und_antworten&quot; data-wiki-id=&quot;archiv:lippstadt:fragen_und_antworten&quot;&gt;FAQ&lt;/a&gt; erhalten Sie erste Informationen bei Fragen zur Website. Wenn Sie etwas bestimmtes suchen, nutzen Sie die integrierte Suchmaschine.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Noch Fragen?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;noch_fragen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2333-2527&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;lippstadt_-_lokale_und_regionale_nachrichten&quot;&gt;Lippstadt - lokale und regionale Nachrichten&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://www.lippstadt.de/news-list/news-detail?tx_news_pi1%5Baction%5D=detail&amp;amp;tx_news_pi1%5Bcontroller%5D=News&amp;amp;tx_news_pi1%5Bnews%5D=4895&amp;amp;cHash=2ea2bed3f98aa047375fef38d2e5cf55&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.lippstadt.de/news-list/news-detail?tx_news_pi1%5Baction%5D=detail&amp;amp;tx_news_pi1%5Bcontroller%5D=News&amp;amp;tx_news_pi1%5Bnews%5D=4895&amp;amp;cHash=2ea2bed3f98aa047375fef38d2e5cf55&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Stadtführung für Kinder – es war einmal - Öffentliche Führung am 7. April&lt;/a&gt; (2026/04/03 15:02)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://www.lippstadt.de/news-list/news-detail?tx_news_pi1%5Baction%5D=detail&amp;amp;tx_news_pi1%5Bcontroller%5D=News&amp;amp;tx_news_pi1%5Bnews%5D=4894&amp;amp;cHash=5e9bc94447defb9b619eb1017e8a3b19&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.lippstadt.de/news-list/news-detail?tx_news_pi1%5Baction%5D=detail&amp;amp;tx_news_pi1%5Bcontroller%5D=News&amp;amp;tx_news_pi1%5Bnews%5D=4894&amp;amp;cHash=5e9bc94447defb9b619eb1017e8a3b19&quot; rel=&quot;ugc nofollow noopener&quot;&gt;„Sprechzeit Demenz“ im April - Beratungsangebot im Ausbildungszentrum für Pflegeberufe an der Wiedenbrücker Straße&lt;/a&gt; (2026/04/03 14:47)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://www.lippstadt.de/news-list/news-detail?tx_news_pi1%5Baction%5D=detail&amp;amp;tx_news_pi1%5Bcontroller%5D=News&amp;amp;tx_news_pi1%5Bnews%5D=4893&amp;amp;cHash=c17a2dee1dd79faaaab0597cb3b642b1&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.lippstadt.de/news-list/news-detail?tx_news_pi1%5Baction%5D=detail&amp;amp;tx_news_pi1%5Bcontroller%5D=News&amp;amp;tx_news_pi1%5Bnews%5D=4893&amp;amp;cHash=c17a2dee1dd79faaaab0597cb3b642b1&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Frühlingshafte Ausflugsfahrt mit dem Oldtimerbus zu Schäfermeiers Kaffeescheune am Alberssee&lt;/a&gt; (2026/04/02 14:29)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://www.lippstadt.de/news-list/news-detail?tx_news_pi1%5Baction%5D=detail&amp;amp;tx_news_pi1%5Bcontroller%5D=News&amp;amp;tx_news_pi1%5Bnews%5D=4892&amp;amp;cHash=4b3c7c456587910dea584515e58901aa&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.lippstadt.de/news-list/news-detail?tx_news_pi1%5Baction%5D=detail&amp;amp;tx_news_pi1%5Bcontroller%5D=News&amp;amp;tx_news_pi1%5Bnews%5D=4892&amp;amp;cHash=4b3c7c456587910dea584515e58901aa&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Die Zukunft im Blick&lt;/a&gt; (2026/04/02 14:14)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;
&lt;a href=&quot;http://live.spdns.org/wiki/nachrichten&quot; class=&quot;wikilink1&quot; title=&quot;nachrichten&quot; data-wiki-id=&quot;nachrichten&quot;&gt;Mehr Nachrichten lesen&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Lippstadt - lokale und regionale Nachrichten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lippstadt_-_lokale_und_regionale_nachrichten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2528-2691&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;lippstadt_-_ueberregionale_nachrichten&quot;&gt;Lippstadt - überregionale Nachrichten&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Lippstadt&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Lippstadt&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Lippstadt&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Lippstadt - \u00fcberregionale Nachrichten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lippstadt_-_ueberregionale_nachrichten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2692-2859&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;lippstadt-blog&quot;&gt;Lippstadt-Blog&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
[blog]
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Lippstadt-Blog&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lippstadt-blog&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2860-2911&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;lippstadt-blog_aktuelle_nachrichten_diskussion_und_kommentare&quot;&gt;Lippstadt-Blog, aktuelle Nachrichten, Diskussion und Kommentare&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Im Lippstadt-Blog kommen Lippstädter zu Worte, der News-Ticker auf dieser Startseite zeigt stets aktuell alle Nachrichten und über die Kommentare auf jeder Seite können Sie zu jedem Thema etwas schreiben, kommentieren und antworten.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Lippstadt-Blog, aktuelle Nachrichten, Diskussion und Kommentare&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lippstadt-blog_aktuelle_nachrichten_diskussion_und_kommentare&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2912-3225&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;letzte_aenderungen&quot;&gt;Letzte Änderungen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
render = list
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Letzte \u00c4nderungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;letzte_aenderungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;3226-3284&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;schlagwoerter&quot;&gt;Schlagwörter&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;cloud&quot;&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/10?do=search&quot; class=&quot;cloud3&quot; title=&quot;299&quot;&gt;10&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/20?do=search&quot; class=&quot;cloud1&quot; title=&quot;205&quot;&gt;20&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/alle?do=search&quot; class=&quot;cloud3&quot; title=&quot;322&quot;&gt;alle&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/also?do=search&quot; class=&quot;cloud1&quot; title=&quot;204&quot;&gt;also&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/am?do=search&quot; class=&quot;cloud4&quot; title=&quot;405&quot;&gt;am&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/an?do=search&quot; class=&quot;cloud4&quot; title=&quot;506&quot;&gt;an&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/beim?do=search&quot; class=&quot;cloud1&quot; title=&quot;212&quot;&gt;beim&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/code?do=search&quot; class=&quot;cloud2&quot; title=&quot;251&quot;&gt;code&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/com?do=search&quot; class=&quot;cloud4&quot; title=&quot;433&quot;&gt;com&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/da?do=search&quot; class=&quot;cloud2&quot; title=&quot;264&quot;&gt;da&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/damit?do=search&quot; class=&quot;cloud2&quot; title=&quot;271&quot;&gt;damit&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/dann?do=search&quot; class=&quot;cloud3&quot; title=&quot;299&quot;&gt;dann&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/dazu?do=search&quot; class=&quot;cloud2&quot; title=&quot;260&quot;&gt;dazu&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/de?do=search&quot; class=&quot;cloud5&quot; title=&quot;859&quot;&gt;de&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/denn?do=search&quot; class=&quot;cloud1&quot; title=&quot;199&quot;&gt;denn&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/diese?do=search&quot; class=&quot;cloud4&quot; title=&quot;370&quot;&gt;diese&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/es?do=search&quot; class=&quot;cloud5&quot; title=&quot;553&quot;&gt;es&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/fixme?do=search&quot; class=&quot;cloud1&quot; title=&quot;232&quot;&gt;fixme&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/gibt?do=search&quot; class=&quot;cloud2&quot; title=&quot;278&quot;&gt;gibt&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/haben?do=search&quot; class=&quot;cloud3&quot; title=&quot;291&quot;&gt;haben&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/hat?do=search&quot; class=&quot;cloud3&quot; title=&quot;311&quot;&gt;hat&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/html?do=search&quot; class=&quot;cloud1&quot; title=&quot;211&quot;&gt;html&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/http?do=search&quot; class=&quot;cloud5&quot; title=&quot;779&quot;&gt;http&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/https?do=search&quot; class=&quot;cloud3&quot; title=&quot;333&quot;&gt;https&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/internet?do=search&quot; class=&quot;cloud2&quot; title=&quot;246&quot;&gt;internet&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/jpg?do=search&quot; class=&quot;cloud3&quot; title=&quot;286&quot;&gt;jpg&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/keine?do=search&quot; class=&quot;cloud1&quot; title=&quot;219&quot;&gt;keine&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/links?do=search&quot; class=&quot;cloud1&quot; title=&quot;223&quot;&gt;links&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/lippstadt?do=search&quot; class=&quot;cloud3&quot; title=&quot;304&quot;&gt;lippstadt&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/man?do=search&quot; class=&quot;cloud4&quot; title=&quot;392&quot;&gt;man&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/mehr?do=search&quot; class=&quot;cloud2&quot; title=&quot;255&quot;&gt;mehr&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/name?do=search&quot; class=&quot;cloud1&quot; title=&quot;213&quot;&gt;name&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/netzwerk?do=search&quot; class=&quot;cloud1&quot; title=&quot;206&quot;&gt;netzwerk&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/noch?do=search&quot; class=&quot;cloud3&quot; title=&quot;290&quot;&gt;noch&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/nur?do=search&quot; class=&quot;cloud4&quot; title=&quot;396&quot;&gt;nur&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/ohne?do=search&quot; class=&quot;cloud1&quot; title=&quot;212&quot;&gt;ohne&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/opensim?do=search&quot; class=&quot;cloud1&quot; title=&quot;202&quot;&gt;opensim&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/org?do=search&quot; class=&quot;cloud3&quot; title=&quot;332&quot;&gt;org&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/per?do=search&quot; class=&quot;cloud1&quot; title=&quot;213&quot;&gt;per&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/sehr?do=search&quot; class=&quot;cloud2&quot; title=&quot;246&quot;&gt;sehr&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/server?do=search&quot; class=&quot;cloud4&quot; title=&quot;375&quot;&gt;server&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/so?do=search&quot; class=&quot;cloud3&quot; title=&quot;333&quot;&gt;so&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/software?do=search&quot; class=&quot;cloud3&quot; title=&quot;309&quot;&gt;software&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/start?do=search&quot; class=&quot;cloud2&quot; title=&quot;251&quot;&gt;start&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/to?do=search&quot; class=&quot;cloud1&quot; title=&quot;199&quot;&gt;to&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/web?do=search&quot; class=&quot;cloud1&quot; title=&quot;223&quot;&gt;web&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/wiki?do=search&quot; class=&quot;cloud2&quot; title=&quot;270&quot;&gt;wiki&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/wlan?do=search&quot; class=&quot;cloud2&quot; title=&quot;260&quot;&gt;wlan&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/wurde?do=search&quot; class=&quot;cloud2&quot; title=&quot;243&quot;&gt;wurde&lt;/a&gt;
	&lt;a href=&quot;http://live.spdns.org/wiki/zu?do=search&quot; class=&quot;cloud5&quot; title=&quot;724&quot;&gt;zu&lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Schlagw\u00f6rter&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schlagwoerter&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;3285-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt</category>
            <pubDate>Mon, 04 Apr 2022 13:16:05 +0000</pubDate>
        </item>
        <item>
            <title>Links</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/links?do=revisions&amp;rev=1575021544</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;links&quot;&gt;Links&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
In unseren Links finden Sie weiterführende, weltweite Quellen in verschiedenen Sprachen zu OpenSIM die uns bekannt sind. Falls Sie noch weitere Links kennen die hier nicht aufgeführt sind können Sie diese über die Diskussion einfügen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Links&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;links&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-260&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;opensim_server_betreiber&quot;&gt;OpenSIM Server Betreiber&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;deutschsprachige_opensim_betreiber&quot;&gt;Deutschsprachige OpenSIM Betreiber&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://2lifegrid.game-host.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://2lifegrid.game-host.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;2life Grid&lt;/a&gt; - CH&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://account.3dsim.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://account.3dsim.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;3Dsim&lt;/a&gt; - DE&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.annuna.net/opengrid&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.annuna.net/opengrid&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Annuna&lt;/a&gt; - DE-Berlin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.birnenland.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.birnenland.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Birnenland&lt;/a&gt; - DE-Magdeburg (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://sim-linuxmain.org:8081/CuonGrid/index.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://sim-linuxmain.org:8081/CuonGrid/index.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Cuon Grid&lt;/a&gt; - DE-Loehne&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://eu-grid.eu&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://eu-grid.eu&quot; rel=&quot;ugc nofollow noopener&quot;&gt;EU-Grid&lt;/a&gt; - DE-Syke (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.germangrid.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.germangrid.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;German Grid&lt;/a&gt; - DE-Berlin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.grid4us.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.grid4us.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Grid4us&lt;/a&gt; - DE-Kaiserslautern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.jamland.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.jamland.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Jamland&lt;/a&gt; - DE-Plauen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.hypergrid.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.hypergrid.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Metropolis&lt;/a&gt; - DE-Asbach-Bäumenheim / DE-VS-Schwenningen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://liliagrid.de.vu&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://liliagrid.de.vu&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Lilia Grid&lt;/a&gt; - &lt;a href=&quot;http://www.eis.bplaced.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.eis.bplaced.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Lilia Grid&lt;/a&gt; - DE-Laer (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.next-reality.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.next-reality.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Next Reality&lt;/a&gt; - DE-Glauburg (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.open-d-grid.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.open-d-grid.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Open D:Grid&lt;/a&gt; - DE-Sundern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.osgrid.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.osgrid.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OSGrid.de&lt;/a&gt; - DE-Bad Aibling (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.playneko.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.playneko.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Playneko&lt;/a&gt; - DE-Blankenfelde (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.swissopensim.ch&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.swissopensim.ch&quot; rel=&quot;ugc nofollow noopener&quot;&gt;SwissOpenSim Grid&lt;/a&gt; - CH&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.talentraspel.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.talentraspel.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;TalentRaspel Grid&lt;/a&gt; - DE-Karlsruhe&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.virtyou.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.virtyou.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Virtyou&lt;/a&gt; - DE-Berlin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.yourgrid.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.yourgrid.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;YourGrid&lt;/a&gt; - DE-Pfinztal (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4 id=&quot;englischsprachige_opensim_betreiber&quot;&gt;Englischsprachige OpenSIM Betreiber&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.apex-grid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.apex-grid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Apex Grid&lt;/a&gt; - Henderson, Nevada, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.augrid.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.augrid.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;AUGrid&lt;/a&gt; - Scranton, Pennsylvania, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.centralgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.centralgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;CentralGrid&lt;/a&gt; - (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://condensationland.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://condensationland.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Condensation Land&lt;/a&gt; -&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.deepgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.deepgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;DeepGrid&lt;/a&gt; - Villas, New Jersey, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.diamondcloud.info&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.diamondcloud.info&quot; rel=&quot;ugc nofollow noopener&quot;&gt;DiamondCloud Grid&lt;/a&gt; - North Charleston, South Carolina, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.dreamstategrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.dreamstategrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Dream State Grid&lt;/a&gt; - Clementon, New Jersey, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.xrgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.xrgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Extreme Reality Grid&lt;/a&gt; - Holland, Pennsylvania, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.gridsplash.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.gridsplash.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Grid Splash&lt;/a&gt; - (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://litesim.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://litesim.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;LiteSim&lt;/a&gt; - (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://metaversesims.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://metaversesims.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Metaversesims&lt;/a&gt; - (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://openlifegrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://openlifegrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenLifeGrid&lt;/a&gt; - San Diego, California, USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.osgrid.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.osgrid.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OSGrid&lt;/a&gt; - San Francisco, California, USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pleasureplanet.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://pleasureplanet.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Pleasure Planet&lt;/a&gt; - Poway, California, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://reactiongrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://reactiongrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;ReactionGrid&lt;/a&gt; - Ft. Pierce, Florida, USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.sciencesim.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.sciencesim.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;ScienceSim&lt;/a&gt; - USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.thecontentgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.thecontentgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;The Content Grid&lt;/a&gt; -&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.uvatar.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.uvatar.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Uvatar&lt;/a&gt; - Dallas, Texas, USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.vizigrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.vizigrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;ViziGrid&lt;/a&gt; - Kapaa, Hawaii, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4 id=&quot;andere_sprachen_opensim_betreiber&quot;&gt;Andere Sprachen OpenSIM Betreiber&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.virtualworldgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.virtualworldgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;FrancoGrid&lt;/a&gt; - Spanien&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.cyberlandia.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.cyberlandia.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Cyberlandia&lt;/a&gt; - Italien&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://k-grid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://k-grid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;K-Grid&lt;/a&gt; - Frankreich&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.newworldgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.newworldgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;New World Grid&lt;/a&gt; - Frankreich&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.tribalnet.se&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.tribalnet.se&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Tribal Net&lt;/a&gt; - Schweden (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM Server Betreiber&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_server_betreiber&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;261-3375&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;opensim_blogs&quot;&gt;OpenSIM Blogs&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.3dgrid.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.3dgrid.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;3DGrid&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.adamfrisby.com/blog&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.adamfrisby.com/blog&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Adam Frisby&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensim.cybertechnews.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensim.cybertechnews.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Cybertechnews&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://dantonsideways.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://dantonsideways.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Danton Sideways&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://hallow.twoday.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://hallow.twoday.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Hallow Palmer, Grid4us&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://gwynethllewelyn.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://gwynethllewelyn.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Gwyneth Llewelyn&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://justincc.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://justincc.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Justincc´s OpenSIM Blog&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://metaverse.acidzen.org/2007/the-opensim-project&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://metaverse.acidzen.org/2007/the-opensim-project&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Living in the Metaverse&lt;/a&gt; - englisch (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://imohax.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://imohax.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Mo Hax&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://modrex.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://modrex.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Modrex Experiences&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://mrtopf.de/blog&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://mrtopf.de/blog&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Mr. Topf&lt;/a&gt; - englisch/deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensimuser.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimuser.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Maxx Monde&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://twitter.com/opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://twitter.com/opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM on Twitter&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.opensim.it&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensim.it&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Opensim.it&lt;/a&gt; - italienisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensim.ning.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensim.ning.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM Users&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensimulator.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimulator Project&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.palloopetrov.de/category/virtuelle-welten/opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.palloopetrov.de/category/virtuelle-welten/opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Palloo Petrov&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://snoopypfeffer.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://snoopypfeffer.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Snoopy Pfeffer&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://outsidersopensim.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://outsidersopensim.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;The Outsider´s OpenSim Blog&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://xyzzyxyzzy.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://xyzzyxyzzy.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;xyzzyxyzzy&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://zonjacapalini.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://zonjacapalini.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Zonja Capalini&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM Blogs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_blogs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3376-4841&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;opensim_foren&quot;&gt;OpenSIM Foren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.slinfo.de/vb_forum/forumdisplay.php?f=520&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.slinfo.de/vb_forum/forumdisplay.php?f=520&quot; rel=&quot;ugc nofollow noopener&quot;&gt;SLinfo OpenSIM-Forum&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://slinside.com/index.php?option=com_fireboard&amp;amp;Itemid=462&amp;amp;func=listcat&amp;amp;catid=1006&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://slinside.com/index.php?option=com_fireboard&amp;amp;Itemid=462&amp;amp;func=listcat&amp;amp;catid=1006&quot; rel=&quot;ugc nofollow noopener&quot;&gt;SLinside OpenSIM-Forum&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://forge.opensimulator.org/gf&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://forge.opensimulator.org/gf&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimulator GForge&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.openlifegrid.com/Forums/tabid/323/Default.aspx&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.openlifegrid.com/Forums/tabid/323/Default.aspx&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Openlife Grid Forum&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://osgrid.org/forums&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://osgrid.org/forums&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OSGrid Forum&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.osgrid.info&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.osgrid.info&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OSGrid Forum&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensim.ning.com/forum&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensim.ning.com/forum&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM Discussion Forum&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.mail-archive.com/opensim-users@lists.berlios.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.mail-archive.com/opensim-users@lists.berlios.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM Mailing List&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://lists.berlios.de/pipermail/opensim-users&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://lists.berlios.de/pipermail/opensim-users&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM Mailing List Archiv&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.sluniverse.com/php/vb/opensim-discussion&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.sluniverse.com/php/vb/opensim-discussion&quot; rel=&quot;ugc nofollow noopener&quot;&gt;SLUniverse&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM Foren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_foren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4842-5738&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;opensim_wiki-systeme&quot;&gt;OpenSIM Wiki-Systeme&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.opensimulator.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensimulator.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimulator.org&lt;/a&gt; - die offizielle OpenSimulator-Website, mehrsprachig&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.mikebert.de/archiv/opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.mikebert.de/archiv/opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM-Wiki Archiv&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.opensimwiki.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensimwiki.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimwiki.de&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.opensimgerman.us&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensimgerman.us&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimGerman.us&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM Wiki-Systeme&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_wiki-systeme&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;5739-6085&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;opensim_themenrelevante_websites&quot;&gt;OpenSIM themenrelevante Websites&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://comlounge.net/de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://comlounge.net/de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;COM.lounge&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://sketchup.google.com/3dwarehouse&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://sketchup.google.com/3dwarehouse&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Google 3D-Galerie&lt;/a&gt; - deutsch/englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://gridhop.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://gridhop.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;GridHop&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.hypergrids.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.hypergrids.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;HyperGrid Projekt&lt;/a&gt; - deutsch/englisch (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.hypergridbusiness.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.hypergridbusiness.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;HyperGrid Business&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.industrial-technology-and-witchcraft.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.industrial-technology-and-witchcraft.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Industrial Technology &amp;amp; Witchcraft&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.maxping.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.maxping.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Maxping&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.metaverseink.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.metaverseink.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Metaverse Ink&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.dmu.com/opensime&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.dmu.com/opensime&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSim Hypergrid&lt;/a&gt; - englisch (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://openmv.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://openmv.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Open Metaverse Foundation&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.opensim.ch&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensim.ch&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSim.ch&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://osurl.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://osurl.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OSURLs, Location-based Linking Service&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://vue.ed.ac.uk/openvue&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://vue.ed.ac.uk/openvue&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Open Vue, the virtual University of Edinburgh&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projectmanhattan.info&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.projectmanhattan.info&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Project Manhattan&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.ralf-haifisch.biz&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ralf-haifisch.biz&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Ralf Haifisch&lt;/a&gt; - deutsch/englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.swiss-sl.ch&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.swiss-sl.ch&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Swiss OpenSim&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.ugotrade.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ugotrade.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;UgoTrade&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.virtual-world.info&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.virtual-world.info&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Virtual World Info&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.virtualworldsnews.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.virtualworldsnews.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Virtual World News&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM themenrelevante Websites&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_themenrelevante_websites&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;6086-7460&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;opensim_news&quot;&gt;OpenSIM News&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://cia.vc/stats/project/opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://cia.vc/stats/project/opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;CIA.vc, OpenSIM Real-time Open Source Activity Statistics&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://planet.opensim.us&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://planet.opensim.us&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Planet OpenSIM&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.ohloh.net/projects/4753?p=OpenSim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ohloh.net/projects/4753?p=OpenSim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Ohloh, the Open Source Network&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.koinup.com/in-opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.koinup.com/in-opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Koinup&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM News&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_news&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;7461-7819&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;opensim_in_der_wikipedia&quot;&gt;OpenSIM in der Wikipedia&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/OpenSimulator&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/OpenSimulator&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM in der Wikipedia&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenSimulator&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://en.wikipedia.org/wiki/OpenSimulator&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM in der Wikipedia&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM in der Wikipedia&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_in_der_wikipedia&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;7820-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim</category>
            <pubDate>Fri, 29 Nov 2019 10:59:04 +0000</pubDate>
        </item>
        <item>
            <title>Bad Waldliesborn</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/bad_waldliesborn?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;bad_waldliesborn&quot;&gt;Bad Waldliesborn&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/bad-waldliesborn.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Bad Waldliesborn ist der nach der Wohnbevölkerung grösste Stadtteil von Lippstadt. Das staatlich anerkannte Heilbad Bad Waldliesborn liegt am östlichen Zipfel des Münsterlandes und grenzt sowohl an Ostwestfalen-Lippe als auch an das nahe gelegene Sauerland. Unter dem Namen „Suderlage“ wurde die ehemalige Bauerschaft von Liesborn erstmals 1165 urkundlich erwähnt. Seit dem 1.Januar 1975 gehört Bad Waldliesborn zur Stadt Lippstadt. Der Ort befindet sich circa 15 Fahrradminuten nördlich vom Stadtkern Lippstadts entfernt und wird häufig als dessen schönste Tochter bezeichnet. Als Abkürzung für Bad Waldliesborn ist „Walibo“ ein weit verbreiteter Kosename.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Bad_Waldliesborn&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Bad_Waldliesborn&quot; rel=&quot;noopener&quot;&gt;Bad_Waldliesborn&lt;/a&gt;
&lt;a href=&quot;https://www.lippstadt-badwaldliesborn.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.lippstadt-badwaldliesborn.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.lippstadt-badwaldliesborn.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Bad Waldliesborn&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bad_waldliesborn&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-862&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_bad_waldliesborn&quot;&gt;Nachrichten aus Bad Waldliesborn&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;https://www.bad-waldliesborn.de/feed&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.bad-waldliesborn.de/feed&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.bad-waldliesborn.de/feed&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Waldliesborn&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Waldliesborn&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Waldliesborn&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Bad Waldliesborn&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_bad_waldliesborn&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;863-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Benninghausen</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/benninghausen?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;benninghausen&quot;&gt;Benninghausen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/benninghausen.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Benninghausen, welches sich östlich an Eickelborn anschließt, beherbergt eine psychiatrische Einrichtung, die LWL-Klinik Lippstadt. Erstmals wurde die Ortschaft im 9. Jahrhundert erwähnt, erlangte jedoch besonders durch ein 1240 erbautes Zisterzienserinnenkloster Bedeutung, welches 1820 in ein Landarmenhaus umgewandelt wurde und die Grundlage für die heutige psychiatrische Klinik darstellt.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Benninghausen&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Benninghausen&quot; rel=&quot;noopener&quot;&gt;Benninghausen&lt;/a&gt;
&lt;a href=&quot;http://www.benninghausen.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.benninghausen.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.benninghausen.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Benninghausen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;benninghausen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-557&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_benninghausen&quot;&gt;Nachrichten aus Benninghausen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Benninghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Benninghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Benninghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Benninghausen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_benninghausen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;558-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Bökenförde</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/boekenfoerde?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;boekenfoerde&quot;&gt;Bökenförde&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/boekenfoerde.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Bökenförde liegt im Südosten des Stadtgebietes und ist ein ehemaliges Eigengut des Bistums Paderborn mit Mühle und Kirche. Die Pfarrkirche St. Dionysius wurde bereits im 12. Jahrhundert erbaut; sie ist seit 1719 eine Wallfahrtsstätte, ebenso wie die 1864 erbaute Feldkapelle am Brünneken. Bekannt ist das zu Bökenförde gehörende Wasserschloss Schwarzenraben, welches 1765 von Johann Matthias Kitz erbaut wurde.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Bökenförde&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Bökenförde&quot; rel=&quot;noopener&quot;&gt;Bökenförde&lt;/a&gt;
&lt;a href=&quot;http://www.boekenfoerde.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.boekenfoerde.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.boekenfoerde.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;B\u00f6kenf\u00f6rde&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;boekenfoerde&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-574&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_boekenfoerde&quot;&gt;Nachrichten aus Bökenförde&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Bökenförde&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Bökenförde&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Bökenförde&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus B\u00f6kenf\u00f6rde&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_boekenfoerde&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;575-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Cappel</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/cappel?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;cappel&quot;&gt;Cappel&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/cappel.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Der Ortsteil Cappel ist von der Kernstadt Lippstadts kaum noch zu trennen und geht besonders durch ein innerstädtisch gelegenes Industriegebiet (Hella KGaA Hueck &amp;amp; Co. Werk 2, Rothe Erde) in diese über. Bedeutsam für den Ort ist das spätestens 1139 erbaute Prämonstratenserinnenkloster und spätere protestantische, freiweltliche Damenstift Cappel; politisch wurde es dem damaligen Kreis Lippstadt, zeitgleich mit Lipperode, 1949 angegliedert.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Cappel_(Lippstadt)&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Cappel_(Lippstadt)&quot; rel=&quot;noopener&quot;&gt;Cappel_(Lippstadt)&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Cappel&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;cappel&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-546&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;ortsname_cappel&quot;&gt;Ortsname Cappel&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Cappel (Blomberg), Stadtteil von Blomberg im Kreis Lippe, Nordrhein-Westfalen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Cappel (Fritzlar), Stadtteil von Fritzlar im Schwalm-Eder-Kreis, Hessen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Cappel (Lippstadt), Stadtteil von Lippstadt im Kreis Soest, Nordrhein-Westfalen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Cappel (Marburg), Stadtteil von Marburg im Landkreis Marburg-Biedenkopf, Hessen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Cappel (Öhringen), Stadtteil von Öhringen im Hohenlohekreis, Baden-Württemberg&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Cappel (Wurster Nordseeküste), Ortschaft der Gemeinde Wurster Nordseeküste im Landkreis Cuxhaven in Niedersachsen&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ortsname Cappel&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ortsname_cappel&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;547-1108&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;nachrichten_aus_cappel&quot;&gt;Nachrichten aus Cappel&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Cappel&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Cappel&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Cappel&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Cappel&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_cappel&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1109-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Dedinghausen</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/dedinghausen?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;dedinghausen&quot;&gt;Dedinghausen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/dedinghausen.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Dedinghausen wurde wahrscheinlich in der ersten Hälfte des 9. Jahrhunderts durch einen Bruder des Bischofs Altfrid von Hildesheim gegründet und besitzt ebenfalls eine eigene Kirche. Es ist neben Lippstadt selbst der einzige Ort auf Gemeindegebiet mit einem DB-Haltepunkt (Linie RB 89).
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Dedinghausen&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Dedinghausen&quot; rel=&quot;noopener&quot;&gt;Dedinghausen&lt;/a&gt;
&lt;a href=&quot;http://www.dedinghausen.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.dedinghausen.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.dedinghausen.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Dedinghausen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dedinghausen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-442&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_dedinghausen&quot;&gt;Nachrichten aus Dedinghausen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Dedinghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Dedinghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Dedinghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Dedinghausen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_dedinghausen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;443-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Eickelborn</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/eickelborn?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;eickelborn&quot;&gt;Eickelborn&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/eickelborn.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Eickelborn wird insbesondere durch das LWL-Zentrum für forensische Psychiatrie des Landschaftsverbands Westfalen-Lippe (LWL) geprägt. Die Ortsgeschichte geht zurück bis in das Jahr 1262 und beginnt mit dem Rittergut der Herren von Ekeneberne.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.eickelborn.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.eickelborn.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.eickelborn.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Eickelborn&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;eickelborn&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-362&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_eickelborn&quot;&gt;Nachrichten aus Eickelborn&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Eickelborn&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Eickelborn&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Eickelborn&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Eickelborn&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_eickelborn&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;363-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Esbeck</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/esbeck?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;esbeck&quot;&gt;Esbeck&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/esbeck.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Esbeck liegt ca. 3 km östlich von Lippstadt am linken Lippeufer und wird in der von Bischof Meinwerk geschenkten Busdorf-Urkunde als „Vorwerc Ebike, das bei Hörste liegt“ erstmals 1036 erwähnt. Für eine Kirchengründung mussten die Erbauer einen Pfarrhof, zwei Hufen Land (ca. 60 Morgen (und einen ansässigen Dienst-(Ministerial)-Adel vorweisen. Der edle Herr Albert von Esbeck war Ratsherr und Bürgermeister in Lippstadt, und wird von 1277 bis 1299 sechsmal urkundlich erwähnt. In einem Güterverzeichnis des Grafen Ludwig von Arnsberg (1281 - 1313) wird Esbeck erstmals als Pfarre aufgeführt. Das heutige Gotteshaus, dessen hochragender Turm weit zu sehen ist, wurde in den Jahren 1978/1979 neu errichtet. Grundherr in Esbeck war früher das Kloster Abdinghof zu Paderborn. Wichtig für die Geschichte Esbecks ist die Bauernbefreiung durch den Freiherrn vom Stein 1807.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.esbeck.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.esbeck.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.esbeck.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Esbeck&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;esbeck&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-980&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_esbeck&quot;&gt;Nachrichten aus Esbeck&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Esbeck&amp;amp;categories=social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Esbeck&amp;amp;categories=social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Esbeck&amp;amp;categories=social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Esbeck&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_esbeck&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;981-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Garfeln</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/garfeln?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;garfeln&quot;&gt;Garfeln&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/garfeln.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Garfeln, ehemals zum Kreis Büren gehörend, wurde erstmals 1248 urkundlich erwähnt. Der Ort ist stark bäuerlich geprägt und besitzt keine eigene Kirche. Garfeln liegt im äußersten Osten der Stadt Lippstadt südlich der Lippe. Der alte Dorfkern besteht aus einigen zusammenliegenden Höfen am Dörferweg. Westlich davon liegen zwei kleinere Neubaugebiete im Westerfeld sowie an der Garfelner Straße Richtung Hörste.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.hoerste-garfeln.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.hoerste-garfeln.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.hoerste-garfeln.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Garfeln&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;garfeln&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-544&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_garfeln&quot;&gt;Nachrichten aus Garfeln&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Garfeln&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Garfeln&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Garfeln&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Garfeln&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_garfeln&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;545-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Hellinghausen</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/hellinghausen?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;hellinghausen&quot;&gt;Hellinghausen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/hellinghausen.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Hellinghausen ist im Westen Lippstadt vorgelagert. Aufgrund einer Legende um ein „versteinertes Brot“ gehörte dieser 1235 in der Pfarrei Friedhardtskirchen gegründete Ort im Mittelalter zu den religiösen Attraktionen der Gegend.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.hellinghausen.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.hellinghausen.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.hellinghausen.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hellinghausen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hellinghausen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-360&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_hellinghausen&quot;&gt;Nachrichten aus Hellinghausen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Hellinghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Hellinghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Hellinghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Hellinghausen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_hellinghausen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;361-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Herringhausen</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/herringhausen?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;herringhausen&quot;&gt;Herringhausen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/herringhausen.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Herringhausen gehörte ebenfalls Friedhardtskirchen an. Das etwas abseits vom Ortskern gelegene Schloss Herringhausen wurde zwischen 1720 und 1730 errichtet und dient seit dem 15. Jahrhundert bis heute der Familie von Schorlemer als Herrensitz.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.herringhausen.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.herringhausen.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.herringhausen.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Herringhausen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;herringhausen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-373&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_herringhausen&quot;&gt;Nachrichten aus Herringhausen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Herringhausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Herringhausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Herringhausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Herringhausen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_herringhausen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;374-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Hörste</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/hoerste?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;hoerste&quot;&gt;Hörste&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/hoerste.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Hörste ist ein Ortsteil von Lippstadt, welches 981 wahrscheinlich aus einer altsächsischen Ansiedlung an der Lippe entstand. Hörstes Pfarrkirche St. Martinus existiert bereits seit der Mitte des 12. Jahrhunderts. Der Ort war Teil des Entenschnabels des Altkreises Büren.
&lt;/p&gt;

&lt;p&gt;
Urkundlich erwähnt wurde der Ort erstmals 881, als König Ludwig III. die Bewohner der freien Mark Hörste der Gerichtsbarkeit des Bischofs zu Paderborn unterstellte. Die Kirche St. Martinus wird 1216 in einer Urkunde erstmals erwähnt. Um die Kirche zu unterhalten, wurden Ländereien innerhalb der Pfarrgemeinde der Kirche vermacht. Auf diesen Ländereien sollte hauptsächlich für das Beleuchtungsgut der Kirchen gesorgt werden. Dazu wurde ein sogenannter „Wachszins“ erhoben. Mehrmals kam es darüber zu Streitereien, die den Dompropst Gottschalk von Paderborn veranlassten, eine Urkunde zu erstellen, die dafür sorgen sollte, dass die Ländereien dauerhaft der Kirche überschrieben werden. Bereits einige Jahre später gab es erneut Probleme, so dass Dompropst Lambert jedem mit dem Kirchenbann drohte, der es weiter wagen würde, gegen die kirchliche Gesetzgebung zu verstoßen.
&lt;/p&gt;

&lt;p&gt;
Im Zuge der kommunalen Neuordnung wurde der Ort am 1.Januar 1975 der Stadt Lippstadt zugeschlagen und verlor so nach mehr als tausend Jahren seine Eigenständigkeit.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Hörste_(Lippstadt)&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Hörste_(Lippstadt)&quot; rel=&quot;noopener&quot;&gt;Hörste_(Lippstadt)&lt;/a&gt;
&lt;a href=&quot;http://www.hoerste.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.hoerste.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.hoerste.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;H\u00f6rste&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hoerste&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1473&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_hoerste&quot;&gt;Nachrichten aus Hörste&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Hörste&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Hörste&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Hörste&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus H\u00f6rste&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_hoerste&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1474-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Lipperbruch</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/lipperbruch?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;lipperbruch&quot;&gt;Lipperbruch&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/lipperbruch.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Lipperbruch ist der jüngste Ortsteil von Lippstadt. Lipperbruch entstand im Umfeld des ehemaligen Fliegerhorstes nach dem Zweiten Weltkrieg aus ehemaligen Kasernenanlagen und einigen bäuerlichen Nebenerwerbshöfen. Die Bevölkerung Lipperbruchs bestand zu Beginn vorwiegend aus Kriegsflüchtlingen, Vertriebenen und ansässig gewordenen Soldatenfamilien. Zwischenzeitlich bestand wieder eine Kaserne, die nördlich der Luftwaffenkaserne, auf dem ehemaligen Flugfeld, von den britischen Besatzungstruppen errichtet wurde und ab 1958 als Lipperland-Kaserne von der Bundeswehr übernommen wurde. Dort waren bis in die frühen 1990er Jahre Teile der Luftlandebrigade 27 stationiert. Nach dem Ende des kalten Krieges und der Auflösung der 1. Luftlandedivision zog das Transportbataillon 801 in die Kaserne. Im Zuge der Neustrukturierung der Bundeswehr wurde die Kaserne im Jahr 2007 geschlossen. Rund die Hälfte des ehemaligen Bundeswehrkasernengeländes wird gewerblich genutzt, im südlichen Teil entsteht seit 2014 Wohnbebauung. Im Kern Lipperbruchs befinden sich das private Gymnasium und das Berufskolleg Marienschule.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Lipperbruch&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Lipperbruch&quot; rel=&quot;noopener&quot;&gt;Lipperbruch&lt;/a&gt;
&lt;a href=&quot;http://www.lipperbruch.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.lipperbruch.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.lipperbruch.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Lipperbruch&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lipperbruch&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1272&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_lipperbruch&quot;&gt;Nachrichten aus Lipperbruch&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Lipperbruch&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Lipperbruch&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Lipperbruch&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Lipperbruch&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_lipperbruch&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1273-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Lipperode</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/lipperode?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;lipperode&quot;&gt;Lipperode&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/lipperode.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Lipperode wird unter dem Namen „Lipperothe“ erstmals im Jahr 1248 urkundlich erwähnt. Dies betrifft aber nur die Burg Lipperode und die Burgmannen. Das Dorf Lipperode wurde zunächst nicht erwähnt. Es dürfte älter sein als die Burg. Das nördlich von Lipperode gelegene Bruch- und Heidegebiet wurde nur im geringen Umfang für die Schafhaltung, Honig- und Wachserzeugung genutzt. In der Lippeaue selbst war genügend Weideland für eine bescheidene Viehaltung vorhanden. Die Nähe des alten Dorfs und die Verbindung zur Lippe lassen vermuten, daß auch der Fischfang die Speisekarte bereicherte. Auch der nahe Wald (die Bellevue) gab einige Nahrung her (Beeren, Nüsse, Bucheckern).
&lt;/p&gt;

&lt;p&gt;
Lipperode ist, gemessen an der Wohnbevölkerung und Fläche, der zweitgrösste Stadtteil von Lippstadt im Kreis Soest, in Westfalen nördlich der Lippe mit 4.167 Einwohnern. Das Gemeindewappen zeigt über Burgmauern die Lippische Rose mit Kelch- und Blütenblättern. Lipperode gehörte bis zum Jahre 1920 dem Fürstentum Lippe und bis 1947 zum Freistaat Lippe. Von 1947 bis 1949 gehörte Lipperode zum Regierungsbezirk Detmold und wurde danach als selbständige Gemeinde dem Kreis Lippstadt angegliedert. Für die Legende, dass Lipperode der Ursprungsort der Stadtgründer Lippstadts ist, gibt es keine gesicherten Quellen. Die eigentliche Burg Lipperode wurde erst 1248 gebaut. Die Dienstleute dieser Wasserburg bildeten die ursprüngliche Bevölkerung Lipperodes.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Lipperode&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lipperode&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1521&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;quellen&quot;&gt;Quellen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://de.wikipedia.org/wiki/Lipperode&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Lipperode&quot; rel=&quot;noopener&quot;&gt;Lipperode&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://live.spdns.org/wiki/vereine/buergervereine&quot; class=&quot;wikilink2&quot; title=&quot;vereine:buergervereine&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;vereine:buergervereine&quot;&gt;Heimatverein Lipperode&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://de.wikipedia.org/wiki/Landesarchiv_Nordrhein-Westfalen_Abteilung_Ostwestfalen-Lippe&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Landesarchiv_Nordrhein-Westfalen_Abteilung_Ostwestfalen-Lippe&quot; rel=&quot;noopener&quot;&gt;Landesarchiv_Nordrhein-Westfalen_Abteilung_Ostwestfalen-Lippe&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://stadtarchiv.detmold.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://stadtarchiv.detmold.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Stadtarchiv Detmold / Landesarchiv NRW Abt. OWL / Kreisarchiv Lippe&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://wiki-de.genealogy.net/Lipperode&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://wiki-de.genealogy.net/Lipperode&quot; rel=&quot;ugc nofollow noopener&quot;&gt;GenWiki Lipperode&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Quellen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;quellen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1522-1866&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;daten&quot;&gt;Daten&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ab 1559 Haus und Amt Lipperode&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ab 1608 neue Befestigung und Mühlenbau beim Haus Lipperode&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ab 1660 Herrlichkeit Lipperode&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; bis 1919 Bauerschaft&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1919 - 31.12.1974 Gemeinde&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ab 1.1.1975 Ortsteil von Lippstadt&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Daten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;daten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1867-2115&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;einwohner&quot;&gt;Einwohner&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1885 = 550 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1910 = 1017 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1911 = 1017 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1925 = 1288 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1933 = 1268 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1939 = 1496 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1961 = 2436 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1970 = 2902 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1974 = 2992 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 2010 = 4162 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 2011 = 4167 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 2012 = 4167 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 2013 = 4134 Einw.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Einwohner&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;einwohner&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2116-2424&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;nachrichten_aus_lipperode&quot;&gt;Nachrichten aus Lipperode&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Lipperode&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Lipperode&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Lipperode&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Lipperode&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_lipperode&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2425-2591&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;telegram_messenger_-_lipperode_gruppe&quot;&gt;Telegram Messenger - Lipperode Gruppe&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Lipperoder können sich untereinander über den Telegram Messenger austauschen. Alles was sich speziell um Lipperode dreht wird dort in einer Gruppe besprochen und diskutiert. Jeder aus Lipperode ist herzlich eingeladen der Gruppe beizutreten. Über &lt;a href=&quot;https://t.me/joinchat/OPfVDkQjXiQjlkNFa26AxQ&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://t.me/joinchat/OPfVDkQjXiQjlkNFa26AxQ&quot; rel=&quot;ugc nofollow noopener&quot;&gt;diesen Link&lt;/a&gt; könnt ihr der Gruppe beitreten.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Telegram Messenger - Lipperode Gruppe&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;telegram_messenger_-_lipperode_gruppe&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2592-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Lohe</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/lohe?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;lohe&quot;&gt;Lohe&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/lohe.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Lohe stellte ursprünglich einen Vorort zum Kloster Benninghausen dar und ist auch heute noch sehr dörflich geprägt. Erstmals ist es als „Ruversloh“ 1313 urkundlich erwähnt worden. Der Menninghof wurde erstmals um 1500 erwähnt und stellt damit eines der ältesten Bauerngehöfte der Umgebung dar. Der Ort liegt südöstlich der Kernstadt Lippstadt an den Kreisstraßen K 40 und K 42. Die Landesstraße L 848 verläuft östlich. Südwestlich erstreckt sich das 53,58 ha große Naturschutzgebiet Woeste.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Lohe_(Lippstadt)&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Lohe_(Lippstadt)&quot; rel=&quot;noopener&quot;&gt;Lohe_(Lippstadt)&lt;/a&gt;
&lt;a href=&quot;http://www.lohe.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.lohe.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.lohe.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Lohe&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lohe&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-632&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_lohe&quot;&gt;Nachrichten aus Lohe&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Lohe&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Lohe&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Lohe&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Lohe&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_lohe&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;633-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Mettinghausen</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/mettinghausen?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;mettinghausen&quot;&gt;Mettinghausen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/mettinghausen.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Die erste urkundliche Erwähnung des Ortes Mettinghausen geht auf eine Stiftungsurkunde der Pfarrkirche Hörste aus dem Jahre 1194 zurück in der die Äcker in „Methinchusen“ erwähnt sind. Wie die Nachbarorte am nördlichen Ufer der Lippe, Mantinghausen und Niederdedinghausen, geht auch Mettinghausen auf altsächsische Ansiedlungen zurück, worauf die Verwendung des Wortteils -husen (für Häuser, Siedlung) hindeutet. Es ist anzunehmen, dass es sich bei Methin um den ersten Siedler beziehungsweise den Gründer des Ortes handelte. Mit der Gründung des Altkreises Büren im Jahr 1816 wurden die Dörfer und Bauerschaften Mantinghausen, Rebbeke, Mettinghausen und Niederdedinghausen zur Gemeinde Rebbeke zusammengeschlossen. Bei der Einteilung der Landkreise in Ämter, die 1841 genehmigt wurde, kam Rebbeke zum Amt Boke, das 1859 mit dem Amt Salzkotten zum Amt Salzkotten-Boke zusammengelegt wurde. Mantinghausen schied 1861 aus der Gemeinde Rebbeke aus. Am 1.Januar 1975 wurde mit der Verwaltungsreform sowohl der Kreis Büren als auch der benachbarte Kreis Lippstadt aufgelöst und die Gemeinde Rebbeke der neuen Stadt Lippstadt im Kreis Soest zugeordnet.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Mettinghausen&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Mettinghausen&quot; rel=&quot;noopener&quot;&gt;Mettinghausen&lt;/a&gt;
&lt;a href=&quot;http://www.mettinghausen.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.mettinghausen.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.mettinghausen.de&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mettinghausen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mettinghausen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1323&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_mettinghausen&quot;&gt;Nachrichten aus Mettinghausen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Mettinghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Mettinghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Mettinghausen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Mettinghausen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_mettinghausen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1324-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Overhagen</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/overhagen?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;overhagen&quot;&gt;Overhagen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/overhagen.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Overhagen liegt an der Westseite Lippstadts an der Landesstraße L 636. Overhagen gehörte ursprünglich zur Pfarrei Friedhardtskirchen. Das zentral gelegene Wasserschloss Overhagen beherbergt heute ein staatlich anerkanntes privates Gymnasium sowie ein kleines Theater. Am westlichen Ortsrand fließt die Gieseler und nördlich des Ortes die Lippe. Westlich erstreckt sich das 52,34 ha große Naturschutzgebiet Großes Holz.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Overhagen&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Overhagen&quot; rel=&quot;noopener&quot;&gt;Overhagen&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Overhagen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;overhagen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-520&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_overhagen&quot;&gt;Nachrichten aus Overhagen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Overhagen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Overhagen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Overhagen&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Overhagen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_overhagen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;521-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Rebbeke</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/rebbeke?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;rebbeke&quot;&gt;Rebbeke&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/rebbecke.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Rebbeke liegt dem Ortsteil Hörste an der Lippe gegenüber. Es handelt sich um einen stark landwirtschaftlich geprägten Ortsteil, dem auch die Drubbel Mettinghausen und Niederdedinghausen angehören. Erste Bauernfamilien in Rebbeke sind seit 1653 verzeichnet. Die Ortschaft hat 542 Einwohner, und die Bebauung besteht zum größten Teil, zumindest im Ortskern, aus Einfamilienhäusern. Im näheren Umfeld gibt es überwiegend Bauernhäuser.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;https://de.wikipedia.org/wiki/Rebbeke&quot; class=&quot;interwiki iw_wpde&quot; target=&quot;_blank&quot; title=&quot;https://de.wikipedia.org/wiki/Rebbeke&quot; rel=&quot;noopener&quot;&gt;Rebbeke&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Rebbeke&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;rebbeke&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-531&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_rebbeke&quot;&gt;Nachrichten aus Rebbeke&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Rebbeke&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Rebbeke&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Rebbeke&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Rebbeke&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_rebbeke&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;532-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Rixbeck</title>
            <link>http://live.spdns.org/wiki/archiv/lippstadt/ortsteile/rixbeck?do=revisions&amp;rev=1611010800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;rixbeck&quot;&gt;Rixbeck&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://live.spdns.org/wiki/_media/stadtteile/rixbeck.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Rixbeck liegt an der Ostseite Lippstadts und ist durch ein Industriegebiet mit diesem verzahnt. Eine kleine Hügellandschaft, die „Rixbecker Alpen“, prägt das Ortsbild.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.rixbeck.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.rixbeck.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.rixbeck.de&lt;/a&gt;
&lt;/p&gt;
&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://www.rixbeck.eu/2024/08/08/wandertag-2024/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.rixbeck.eu/2024/08/08/wandertag-2024/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Wandertag 2024&lt;/a&gt; (2024/08/08 21:17)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://www.rixbeck.eu/2023/10/04/einladung-zur-ausserordentlichen-mitgliederversammlung/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.rixbeck.eu/2023/10/04/einladung-zur-ausserordentlichen-mitgliederversammlung/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Einladung zur außerordentlichen Mitgliederversammlung&lt;/a&gt; (2023/10/04 22:41)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://www.rixbeck.eu/2023/08/23/silvesterparty-2023-fuer-rixbecker/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.rixbeck.eu/2023/08/23/silvesterparty-2023-fuer-rixbecker/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Silvesterparty 2023 für Rixbecker&lt;/a&gt; (2023/08/23 21:57)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://www.rixbeck.eu/2023/02/07/jahreshauptversammlung-des-buergerring-rixbeck-2023/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.rixbeck.eu/2023/02/07/jahreshauptversammlung-des-buergerring-rixbeck-2023/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Jahreshauptversammlung des Bürgerring Rixbeck 2023&lt;/a&gt; (2023/02/07 20:15)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://www.rixbeck.eu/2022/05/15/ein-herz-fuer-vaeter/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.rixbeck.eu/2022/05/15/ein-herz-fuer-vaeter/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Ein Herz für Väter&lt;/a&gt; (2022/05/15 21:04)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://www.rixbeck.eu/2022/05/03/schuetzenfest-2022-festablauf/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.rixbeck.eu/2022/05/03/schuetzenfest-2022-festablauf/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Schützenfest 2022 – Festablauf&lt;/a&gt; (2022/05/03 09:49)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://www.rixbeck.eu/2022/04/08/osterfeuer-2022/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.rixbeck.eu/2022/04/08/osterfeuer-2022/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Osterfeuer 2022&lt;/a&gt; (2022/04/08 19:01)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://www.rixbeck.eu/2022/04/02/einladung-zur-mitgliederversammlung/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.rixbeck.eu/2022/04/02/einladung-zur-mitgliederversammlung/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Einladung zur Mitgliederversammlung&lt;/a&gt; (2022/04/02 13:15)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://www.rixbeck.eu/2022/03/14/wandertag-und-dorffest-in-rixbeck/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.rixbeck.eu/2022/03/14/wandertag-und-dorffest-in-rixbeck/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Wandertag und Dorffest in Rixbeck&lt;/a&gt; (2022/03/14 16:28)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://www.rixbeck.eu/2022/02/08/jahreshauptversammlung-des-buergerring-rixbeck/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.rixbeck.eu/2022/02/08/jahreshauptversammlung-des-buergerring-rixbeck/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Jahreshauptversammlung des Bürgerring Rixbeck&lt;/a&gt; (2022/02/08 19:16)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Rixbeck&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;rixbeck&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-322&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nachrichten_aus_rixbeck&quot;&gt;Nachrichten aus Rixbeck&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;


&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://newsfeed.itclive.de/?q=Rixbeck&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://newsfeed.itclive.de/?q=Rixbeck&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://newsfeed.itclive.de/?q=Rixbeck&amp;amp;categories=news,social+media&amp;amp;time_range=week&amp;amp;format=rss&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachrichten aus Rixbeck&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachrichten_aus_rixbeck&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;323-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile</category>
            <pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Avatar Smile</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/avatar_smile?do=revisions&amp;rev=1575021518</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;avatar_smile&quot;&gt;Avatar Smile&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das Script muss in ein Attachment eingefügt werden.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;default
{
    state_entry()
    {
        llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
    }
 
    run_time_permissions(integer p)
    {
        if(p &amp;amp; PERMISSION_TRIGGER_ANIMATION)
        {
            llSetTimerEvent(5.0);
        }
    }
 
    timer()
    {
        llStartAnimation(&amp;quot;express_toothsmile&amp;quot;);
    }
 
    attach(key moo)
    {
        if(moo)
        {
            llResetScript();
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:38 +0000</pubDate>
        </item>
        <item>
            <title>Dance Poseball</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/dance_poseball?do=revisions&amp;rev=1575021519</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;dance_poseball&quot;&gt;Dance Poseball&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//////////////////////////////////////////// 
// Animation Script v1.2.1 
// 
// Written by Xylor Baysklef 
//////////////////////////////////////////// 
 
/////////////// CONSTANTS /////////////////// 
list ANIMATIONS  = [ &amp;quot;Club Dance 1&amp;quot; ]; 
list ANIMATIONS2 = [ &amp;quot;Club Dance 2&amp;quot; ]; 
list ANIMATIONS3 = [ &amp;quot;Club Dance 3&amp;quot; ]; 
list ANIMATIONS4 = [ &amp;quot;Club Dance 4&amp;quot; ]; 
///////////// END CONSTANTS ///////////////// 
 
///////////// GLOBAL VARIABLES /////////////// 
//integer gToggle = 0; 
integer gAnimNumber; 
integer gTotalAnims; 
 
string gAnimName = &amp;quot;type&amp;quot;; 
/////////// END GLOBAL VARIABLES ///////////// 
 
default { 
    state_entry() { 
        //llSay(0, &amp;quot;Init...&amp;quot;); 
        llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
         
        ANIMATIONS += ANIMATIONS2; 
        ANIMATIONS2 = []; 
         
        gTotalAnims = llGetListLength(ANIMATIONS); 
        gAnimNumber = -1; 
        llListen(0, &amp;quot;&amp;quot;, llGetOwner(), &amp;quot;&amp;quot;); 
    } 
     
    on_rez(integer param) { 
        //llGiveInventory(llGetOwner(), &amp;quot;Animation Names&amp;quot;); 
        llResetScript(); 
    } 
     
    listen(integer channel, string name, key id, string mesg) { 
        string preamble = llGetSubString(mesg, 0, 3); 
        if (preamble != &amp;quot;anim&amp;quot; &amp;amp;&amp;amp; preamble != &amp;quot;stop&amp;quot;) 
            return; 
                 
        integer perm = llGetPermissions(); 
         
        if ( !(perm &amp;amp; PERMISSION_TRIGGER_ANIMATION)) {             
            llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
            return; 
        } 
         
        list parsed = llParseString2List(mesg, [ &amp;quot; &amp;quot; ], []); 
        //llSay(0, (string)parsed); 
         
        string anim = llList2String(parsed, 1); 
         
        if (preamble == &amp;quot;stop&amp;quot;) { 
            //llSay(0, &amp;quot;Stopping: &amp;quot; + llGetAnimation(llGetOwner())); 
            //llStopAnimation(llGetAnimation(llGetOwner())); 
            if (anim == &amp;quot;&amp;quot;) 
                anim = gAnimName; 
                         
            if (anim == &amp;quot;all&amp;quot;) { 
                integer i; 
                llSay(0, &amp;quot;Stopping all animations... please wait.&amp;quot;); 
                for (i=0; i&amp;lt;gTotalAnims; i++) 
                    llStopAnimation(llList2String(ANIMATIONS, i)); 
                     
                llSay(0, &amp;quot;Done.&amp;quot;); 
                     
                return; 
            } 
                 
            //llSay(0, &amp;quot;Stopping: &amp;quot; + anim); 
            llStopAnimation(anim); 
            return; 
        } 
                 
        gAnimName = anim; 
        //llSay(0, &amp;quot;Animation: &amp;quot; + gAnimName); 
        llStartAnimation(gAnimName);             
    } 
     
    run_time_permissions(integer perm) { 
        //llStopAnimation(gAnimName); 
        //gToggle = 0; 
    } 
     
    attach(key id) { 
        integer perm = llGetPermissions(); 
         
        if (id != NULL_KEY) {         
         
            if (! (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION)) { 
                llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
            }                 
        } 
        else { 
             
            if (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION) { 
                llStopAnimation(gAnimName); 
            } 
        } 
    } 
 
    touch_start(integer total_number) { 
        if (llDetectedKey(0) != llGetOwner()) 
            return; 
         
        integer perm = llGetPermissions(); 
         
        if (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION) { 
            if (gAnimNumber != -1) { 
                llStopAnimation( llList2String(ANIMATIONS, gAnimNumber) ); 
            } 
                 
             
            gAnimNumber++; 
            if (gAnimNumber == gTotalAnims) 
                gAnimNumber = 0; 
                 
            gAnimName = llList2String(ANIMATIONS, gAnimNumber); 
             
            llStartAnimation( gAnimName ); 
            llSay(0, &amp;quot;Animation: &amp;quot; + gAnimName); 
        } 
        else { 
            llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
        } 
    } 
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:39 +0000</pubDate>
        </item>
        <item>
            <title>Fire Particle</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/fire_particle?do=revisions&amp;rev=1575021520</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;fire_particle&quot;&gt;Fire Particle&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//// &amp;quot;Fire&amp;quot; PARTICLE TEMPLATE v1 - by Jopsy Pendragon - 4/8/2008
//// You are free to use this script as you please, so long as you include this line:
//** The original &amp;#039;free&amp;#039; version of this script came from THE PARTICLE LABORATORY. **//

// SETUP:  Drop one optional particle texture and this script into a prim.
// Particles should start automatically. (Reset) the script if you insert a
// particle texture later on.  Add one or more CONTROLLER TEMPLATES to any
// prims in the linked object to control when particles turn ON and OFF.

// Customize the particle_parameter values below to create your unique 
// particle effect and click SAVE.  Values are explained along with their
// min/max and default values further down in this script.


string  CONTROLLER_ID = &amp;quot;A&amp;quot;; // See comments at end regarding CONTROLLERS.
integer AUTO_START = TRUE;   // Optionally FALSE only if using CONTROLLERS.

list particle_parameters=[]; // stores your custom particle effect, defined below.
list target_parameters=[]; // remembers targets found using TARGET TEMPLATE scripts.

default {
    state_entry() {
        particle_parameters = [  // start of particle settings
           // Texture Parameters:
           PSYS_SRC_TEXTURE, llGetInventoryName(INVENTORY_TEXTURE, 0), 
           PSYS_PART_START_SCALE, &amp;lt;.4,.4,FALSE&amp;gt;,  PSYS_PART_END_SCALE, &amp;lt;.5,.5, FALSE&amp;gt;, 
           PSYS_PART_START_COLOR, &amp;lt;1,1,1&amp;gt;,    PSYS_PART_END_COLOR, &amp;lt;.4,.1,0&amp;gt;, 
           PSYS_PART_START_ALPHA, (float).8,            PSYS_PART_END_ALPHA, (float).0,     
         
           // Production Parameters:
           PSYS_SRC_BURST_PART_COUNT, (integer)1, 
           PSYS_SRC_BURST_RATE, (float) 0.0,  
           PSYS_PART_MAX_AGE, (float)1.5, 
           PSYS_SRC_MAX_AGE,(float) 0.0,  
        
           // Placement Parameters:
           PSYS_SRC_PATTERN, (integer)2, // 1=DROP, 2=EXPLODE, 4=ANGLE, 8=ANGLE_CONE,
           
           // Placement Parameters (for any non-DROP pattern):
           PSYS_SRC_BURST_SPEED_MIN, (float).1,   PSYS_SRC_BURST_SPEED_MAX, (float).3, 
        // PSYS_SRC_BURST_RADIUS, 0.0,
        
           // Placement Parameters (only for ANGLE &amp;amp; CONE patterns):
           PSYS_SRC_ANGLE_BEGIN, (float) .03*PI,     PSYS_SRC_ANGLE_END, (float)0.00*PI,  
        // PSYS_SRC_OMEGA, &amp;lt;0,0,0&amp;gt;, 
        
           // After-Effect &amp;amp; Influence Parameters:
           PSYS_SRC_ACCEL, &amp;lt;0.0,0.0,1.5&amp;gt;,  
        // PSYS_SRC_TARGET_KEY,      llGetLinkKey(llGetLinkNum() + 1),       
              
           PSYS_PART_FLAGS, (integer)( 0         // Texture Options:     
                                | PSYS_PART_INTERP_COLOR_MASK   
                                | PSYS_PART_INTERP_SCALE_MASK   
                                | PSYS_PART_EMISSIVE_MASK   
                                | PSYS_PART_FOLLOW_VELOCITY_MASK
                                                  // After-effect &amp;amp; Influence Options:
                                | PSYS_PART_WIND_MASK            
                                | PSYS_PART_BOUNCE_MASK          
                             // | PSYS_PART_FOLLOW_SRC_MASK     
                             // | PSYS_PART_TARGET_POS_MASK     
                             // | PSYS_PART_TARGET_LINEAR_MASK   
                            ) 
            //end of particle settings                     
        ];
        
        if ( AUTO_START ) llParticleSystem( particle_parameters );
        
    }
    
    link_message( integer sibling, integer num, string mesg, key target_key ) {
        if ( mesg != CONTROLLER_ID ) { // this message isn&amp;#039;t for me.  Bail out.
            return;
        } else if ( num == 0 ) { // Message says to turn particles OFF:
            llParticleSystem( [ ] );
        } else if ( num == 1 ) { // Message says to turn particles ON:
            llParticleSystem( particle_parameters + target_parameters );
        } else if ( num == 2 ) { // Turn on, and remember and use the key sent us as a target:
            target_parameters = [ PSYS_SRC_TARGET_KEY, target_key ];
            llParticleSystem( particle_parameters + target_parameters );
        } else { // bad instruction number
            // do nothing.
        }            
    }
        
}


//============================= About Parameters =============================
// There are 22-ish NAMED attributes that affect a particle display.
// To customize a display you give each a VALUE.
// For example: PSYS_PART_START_COLOR is a named attribute,
// and &amp;lt;1.0, 0.5, 0.0&amp;gt; is a color VALUE (orange, in this case).
// 
// As long as your &amp;#039;names&amp;#039; and &amp;#039;values&amp;#039; are paired up properly, they can
// be in any order!  Any you omit a pair, it reverts to a default value.

//============================= Texture Parameters =============================
//
// TEXTURE, can be an &amp;quot;Asset UUID&amp;quot; key copied from a texture 
//          that you have full permissions to, or the name of
//          a texture in the prim&amp;#039;s inventory.
//
// SCALE, (size) 0.0 to 4.0 meters wide, by 0.0 to 4.0 meters tall. (default 1x1)
//          Textures are FLAT, so the &amp;#039;z&amp;#039; part of the vector is ignored.
//          Values smaller than 0.04x0.04 may not get rendered at all.
//          Tiny particles vanish if the viewer is not near them.
//
// BEGIN_SCALE sets particle start size.  
// END_SCALE (end size) is ignored, if the INTERP_SCALE_MASK option is disabled.
//
// COLOR, &amp;lt; RED, GREEN, BLUE &amp;gt; from &amp;lt;0.00,0.00,0.00&amp;gt; (black) to &amp;lt;1.00,1.00,1.00&amp;gt; (white/default)
// ALPHA, 1.0 = 100% visible(default), 0.0 = invisible.  Less than 0.1 might not get seen.
// START_COLOR and START_ALPHA set the color and transparency of newly created particles. 
// END_COLOR and END_ALPHA are ignored, if the INTERP_COLOR_MASK option is disabled.
         
         
//============================= Production Parameters =============================
//
// BURST_PART_COUNT: quantity of particles per burst, 1 to 4096 (default 1), 
//
// BURST_RATE: seconds to delay between particle bursts. 0.0 to 30.0 (default 0.1)
//
// PART_MAX_AGE: particle lifespan in seconds, 0.00 to 30.0 (default=10.0)
//               PART_MAX_AGE less than 0.5 might not be visible.
//
// The default total number of particles that can be seen is 4096, if one or more 
// emitters try to create more than that, many will not be seen, and it may cause
// viewer lag.  Use as few particles as you can for your effect:
// AGE/RATE * COUNT will tell you approximately how many particles your emitter creates.
//
// SRC_MAX_AGE: emitter auto shut-off timer. 1.0 to 60.0 seconds. 0.0 = never stop. (default)


//============================= Placement Parameters =============================
//                
// PATTERN:   
//      DROP, ignores all other placement settings.
//      EXPLODE, spray particles in all directions
//      ANGLE, sprays a flat &amp;quot;fan&amp;quot; shape defined by ANGLE_BEGIN and END values
//      CONE, sprays &amp;quot;ring&amp;quot; or &amp;quot;cone&amp;quot; shapes defined by ANGLE_BEGIN and END values
//
// RADIUS:  0.0 to 50.0?  distance from emitter to create new particles
//      (RADIUS is disabled with DROP pattern and the FOLLOW_SRC &amp;amp; TARGET_LINEAR options)
//        
// SPEED: 0.00 to 50.0?  Sets min/max starting velocities for non-drop patterns. (default: 1.0)
//        
// ANGLE_BEGIN &amp;amp; END:  0.00*PI (up) to 1.00*PI (down),  (Only for ANGLE &amp;amp; CONE patterns)
//       (Values work much like the Sphere-prim&amp;#039;s DIMPLE attributes.) (defaults: 0.0)
//
// OMEGA: &amp;lt;x,y,z&amp;gt; Sets how much to rotate angle/cone spray direction after
//                every burst. 0.0 to PI?  (default: &amp;lt;0,0,0&amp;gt;)

//======================== After-Effects &amp;amp; Influence Parameters ================
//
// ACCEL, x,y,z 0.0 to 50.0?  sets a constant force, (affects all patterns)
//          Causes particles to drift up/down or in a compass direction.
//          Use ACCEL to create the illusion of (anti-)gravity or a directional wind.
//          (ineffective with TARGET_LINEAR option)
//       
// TARGET_KEY,  &amp;quot;key&amp;quot;, (requires the TARGET option be enabled).  
//       &amp;quot;key&amp;quot; can be a variety of many different things:
         // llGetOwner()
         // llGetKey() target self 
         // llGetLinkKey(1) target parent prim
         // llGetLinkKey(llGetLinkNum() + 1) target next prim in link set 
         //
         // WARNING: New copies of objects get new keys, you can&amp;#039;t simply paste
         // a prim&amp;#039;s key into your script and expect it to always work.  Visit
         // the Particle Laboratory&amp;#039;s section on TARGETS for a variety of ways
         // to dynamically find your target&amp;#039;s key. There are different &amp;#039;best ways&amp;#039;
         // depending on if your target is linked to your emitter or not.


//============================= About Options =============================
//    
// Each option may be ON/ENABLED (no leading // )
// or OFF/DISABLED (by putting a // in front of it.)
// Options are combined together in a special way, (using the | symbol).
// This creates one single Parameter for PSYS_PART_FLAGS.

              
//============================= Texture Options =============================
//
// EMISSIVE: identical to &amp;quot;full bright&amp;quot; setting on prims     
//   
// FOLLOW_VELOCITY: particle texture &amp;#039;tilts&amp;#039; towards the direction it&amp;#039;s moving
//
// INTERP_COLOR: causes particle COLOR and ALPHA(transparency) to change over it&amp;#039;s lifespan
//
// INTERP_SCALE: causes particle SCALE(size) to change over it&amp;#039;s lifespan


//======================== After-Effects &amp;amp; Influences Options ================
//
// BOUNCE:  particles bounce up from the z-altitude of emitter, and cannot fall below it.
//
// WIND: the sim&amp;#039;s wind will push particles around
//
// FOLLOW_SRC: makes particles move (but not rotate) if their emitter moves, (disables RADIUS)
//
// TARGET_POS: causes particles to arrive at a some target at end of of their lifespan.
//
// TARGET_LINEAR: forces particles to form into an even line from emitter to target
//                and forces a DROP-like pattern and disables effects of WIND and ACCEL



//========================================================================
//======================== USING CONTROL TEMPLATES =======================
//
// Want to control when your particles turn ON and OFF?   You can!
// 
// Drop one (or more) of the CONTROL TEMPLATES from the particle laboratory
// into your object containing this script.  That&amp;#039;s it!

// Your controls should be effective immediately.  (Some controllers can be
// adjusted and tuned, open them and read the USAGE notes to see.)
//
// One control template can control several particle templates in the
// same object.   (keep in mind that each prim can only have ONE
// particle effect active at a time).
//
// The &amp;#039;particle_effect_name&amp;#039; value must be the same in both the control
// and particle template to work.  You can change that value and have
// a controller for one effect, and a different controller for a different
// effect in the same object.
//


//======================================== END ===============================default&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:40 +0000</pubDate>
        </item>
        <item>
            <title>Freeview Media Screen</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/freeview_media_screen?do=revisions&amp;rev=1575021520</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;freeview_media_screen&quot;&gt;Freeview Media Screen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//XEngine:
//FreeView 1.2 WebGuide (revision 3) - By CrystalShard Foo
//Multifunctional Picture viewer and Video control script with webguide support
//This script is distributed for free and must stay that way. 

//              *** DO NOT SELL THIS SCRIPT UNDER ANY CIRCUMSTANCE. ***

//Help for using this script can be obtained at: http://www.slguide.com/help

//Feel free to modify this script and post your improvement. Leave the credits intact but feel free to add your name at its bottom.
 
//Whats new:
//- Now using FULL_BRIGHT instead of PRIM_MATERIAL_LIGHT for the screen display
//- Added an ownership-change code to handle cases where FreeView gets deeded to group post Video Init.
//- Renamed WebGuide to TV-Guide to reflect what this thing does better.
//- Added a &amp;#039;Fix Scale&amp;#039; button to Picture mode to help against user texture-scale changes.
//- Additional minor help-tips and code improvements

//Enjoy!


//Constants
integer PICTURE_ROTATION_TIMER = 60;   //In whole seconds

integer DISPLAY_ON_SIDE = ALL_SIDES; //Change this to change where the image will be displayed

key VIDEO_DEFAULT = &amp;quot;71b8ff26-087d-5f44-285b-d38df2e11a81&amp;quot;;  //Test pattern - Used as default video texture when one is missing in parcel media
key BLANK = &amp;quot;5748decc-f629-461c-9a36-a35a221fe21f&amp;quot;; //Blank texture - Used when there are no textures to display in Picture mode
string NOTECARD = &amp;quot;bookmarks&amp;quot;;  //Used to host URL bookmarks for video streams

integer VIDEO_BRIGHT = TRUE;    //FULL_BRIGHT status for Video
integer PICTURE_BRIGHT = TRUE;  //FULL_BRIGHT status for Picture

integer REMOTE_CHANNEL = 9238742;

integer mode = 0;           //Freeview mode.
                            //Mode 0 - Power off
                            //Mode 1 - Picture viewer
                            //Mode 2 - Video

integer listenHandle = -1;      //Dialog menu listen handler
integer listenUrl = -1;         //listen handler for channel 1 for when a URL is being added
integer listenTimer = -1;       //Timer variable for removing all listeners after 2 minutes of listener inactivity
integer listenRemote = -1;      //listen handler for the remote during initial setup
integer encryption = 0;
integer numberofnotecardlines = 0;  //Stores the current number of detected notecard lines.
integer notecardline = 0;       //Current notecard line

integer loop_image = FALSE;     //Are we looping pictures with a timer? (picture mode)
integer current_texture = 0;    //Current texture number in inventory being displayed (picture mode)
integer chan;                   //llDialog listen channel
integer notecardcheck = 0;
key video_texture;              //Currently used video display texture for parcel media stream

string moviename;
string tempmoviename;
key notecardkey = NULL_KEY;
key tempuser;                   //Temp key storge variable
string tempurl;                 //Temp string storge variable

integer isGroup = TRUE;
key groupcheck = NULL_KEY;
key last_owner;
key XML_channel;

pictures()      //Change mode to Picture Viewer
{
    //Initilize variables
    
    //Change prim to Light material while coloring face 0 black to prevent light-lag generation.
    llSetPrimitiveParams([PRIM_BUMP_SHINY, DISPLAY_ON_SIDE, PRIM_SHINY_NONE, PRIM_BUMP_NONE, PRIM_COLOR, DISPLAY_ON_SIDE, &amp;lt;1,1,1&amp;gt;, 1.0, PRIM_MATERIAL, PRIM_MATERIAL_PLASTIC, PRIM_FULLBRIGHT, DISPLAY_ON_SIDE, PICTURE_BRIGHT]);

    integer check = llGetInventoryNumber(INVENTORY_TEXTURE);
     
    if(check == 0)
    {
        report(&amp;quot;No pictures found.&amp;quot;);
        llSetTexture(BLANK,DISPLAY_ON_SIDE);
        return;
    }
    else    
        if(current_texture &amp;gt; check)
            //Set to first texture if available
            current_texture = 0;
            
    display_texture(current_texture);
}

video()         //Change mode to Video
{
    //Change prim to Light material while coloring face 0 black to prevent light-lag generation.
    llSetPrimitiveParams([PRIM_BUMP_SHINY, DISPLAY_ON_SIDE, PRIM_SHINY_NONE, PRIM_BUMP_NONE, PRIM_COLOR, DISPLAY_ON_SIDE, &amp;lt;1,1,1&amp;gt;, 1.0, PRIM_MATERIAL, PRIM_MATERIAL_PLASTIC, PRIM_FULLBRIGHT, DISPLAY_ON_SIDE, VIDEO_BRIGHT, PRIM_TEXTURE, DISPLAY_ON_SIDE, &amp;quot;62dc73ca-265f-7ca0-0453-e2a6aa60bb6f&amp;quot;, llGetTextureScale(DISPLAY_ON_SIDE), llGetTextureOffset(DISPLAY_ON_SIDE), llGetTextureRot(DISPLAY_ON_SIDE)]);
    
    report(&amp;quot;Video mode&amp;quot;+moviename+&amp;quot;: Stopped&amp;quot;);
    if(finditem(NOTECARD) != -1)
        tempuser = llGetNumberOfNotecardLines(NOTECARD);
    video_texture = llList2Key(llParcelMediaQuery([PARCEL_MEDIA_COMMAND_TEXTURE]),0);
    if(video_texture == NULL_KEY)
    {
        video_texture = VIDEO_DEFAULT;
        llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_TEXTURE,VIDEO_DEFAULT]);
        llSay(0,&amp;quot;No parcel media texture found. Setting texture to default: &amp;quot;+(string)VIDEO_DEFAULT);
        if(llGetLandOwnerAt(llGetPos()) != llGetOwner())
            llSay(0,&amp;quot;Error: Cannot modify parcel media settings. &amp;quot;+llGetObjectName()+&amp;quot; is not owned by parcel owner.&amp;quot;);
    }
    
    llSetTexture(video_texture,DISPLAY_ON_SIDE);
}

off()
{
    report(&amp;quot;Click to power on.&amp;quot;);
    llSetPrimitiveParams([PRIM_BUMP_SHINY, DISPLAY_ON_SIDE, PRIM_SHINY_LOW, PRIM_BUMP_NONE, PRIM_COLOR, DISPLAY_ON_SIDE, &amp;lt;0.1,0.1,0.1&amp;gt;, 1.0,PRIM_MATERIAL, PRIM_MATERIAL_PLASTIC, PRIM_FULLBRIGHT, DISPLAY_ON_SIDE, FALSE, PRIM_TEXTURE, DISPLAY_ON_SIDE, BLANK, llGetTextureScale(DISPLAY_ON_SIDE), llGetTextureOffset(DISPLAY_ON_SIDE), llGetTextureRot(DISPLAY_ON_SIDE)]);
}

integer finditem(string name)   //Finds and returns an item&amp;#039;s inventory number
{
    integer i;
    for(i=0;i&amp;lt;llGetInventoryNumber(INVENTORY_NOTECARD);i++)
        if(llGetInventoryName(INVENTORY_NOTECARD,i) == NOTECARD)
            return i;
    return -1;
}

seturl(string url, key id)  //Set parcel media URL
{
    if(mode != 2)
    {
        video();
        mode = 2;
    }
    moviename = tempmoviename;
    if(moviename)
        moviename = &amp;quot; [&amp;quot;+moviename+&amp;quot;]&amp;quot;;
    tempmoviename = &amp;quot;&amp;quot;;
    string oldurl = llList2String(llParcelMediaQuery([PARCEL_MEDIA_COMMAND_URL]),0);
    if(oldurl != &amp;quot;&amp;quot;)
        llOwnerSay(&amp;quot;Setting new media URL. The old URL was: &amp;quot;+oldurl);

    llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,url]);
    if(id!=NULL_KEY)
        menu(id);
    else
    {
        report(&amp;quot;Video mode&amp;quot;+moviename+&amp;quot;: Playing&amp;quot;);
        llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PLAY]);
    }
       
    if(isGroup)
        llSay(0,&amp;quot;New media URL set.&amp;quot;);
    else
        llOwnerSay(&amp;quot;New media URL set: &amp;quot;+url);
}

string mediatype(string ext)    //Returns a string stating the filetype of a file based on file extension
{
    ext = llToLower(ext);
    if(ext == &amp;quot;swf&amp;quot;)
        return &amp;quot;Flash&amp;quot;;
    if(ext == &amp;quot;mov&amp;quot; || ext == &amp;quot;avi&amp;quot; || ext == &amp;quot;mpg&amp;quot; || ext == &amp;quot;mpeg&amp;quot; || ext == &amp;quot;smil&amp;quot;)
        return &amp;quot;Video&amp;quot;;
    if(ext == &amp;quot;jpg&amp;quot; || ext == &amp;quot;mpeg&amp;quot; || ext == &amp;quot;gif&amp;quot; || ext == &amp;quot;png&amp;quot; || ext == &amp;quot;pict&amp;quot; || ext == &amp;quot;tga&amp;quot; || ext == &amp;quot;tiff&amp;quot; || ext == &amp;quot;sgi&amp;quot; || ext == &amp;quot;bmp&amp;quot;)
        return &amp;quot;Image&amp;quot;;
    if(ext == &amp;quot;txt&amp;quot;)
        return &amp;quot;Text&amp;quot;;
    if(ext == &amp;quot;mp3&amp;quot; || ext == &amp;quot;wav&amp;quot;)
        return &amp;quot;Audio&amp;quot;;
    return &amp;quot;Unknown&amp;quot;;
}

browse(key id)      //Image browser function for picture viewer mode
{
    integer check = llGetInventoryNumber(INVENTORY_TEXTURE);
    string header;
    if(check &amp;gt; 0)
        header = &amp;quot;(&amp;quot;+(string)(current_texture+1)+&amp;quot;/&amp;quot;+(string)check+&amp;quot;) &amp;quot;+llGetInventoryName(INVENTORY_TEXTURE,current_texture);
    else
        header = &amp;quot;No pictures found.&amp;quot;;
    llDialog(id,&amp;quot;** Monitor Control **\n Picture Viewer mode\n- Image browser\n- &amp;quot;+header,[&amp;quot;Back&amp;quot;,&amp;quot;Next&amp;quot;,&amp;quot;Menu&amp;quot;],chan);
    extendtimer();
}

report(string str)
{
    llSetObjectDesc(str);
}

extendtimer()       //Add another 2 minute to the Listen Removal timer (use when a Listen event is triggered)
{
    if(listenHandle == -1)
        listenHandle = llListen(chan,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;);
    listenTimer = (integer)llGetTime() + 120;
    if(loop_image == FALSE)
        llSetTimerEvent(45);
}

config(key id)      //Configuration menu
{
    extendtimer();
    llDialog(id,&amp;quot;Current media URL:\n&amp;quot;+llList2String(llParcelMediaQuery([PARCEL_MEDIA_COMMAND_URL]),0)+&amp;quot;\nTip: If the picture is abit off, try &amp;#039;Align ON&amp;#039;&amp;quot;,[&amp;quot;Set URL&amp;quot;,&amp;quot;Align ON&amp;quot;,&amp;quot;Align OFF&amp;quot;,&amp;quot;Menu&amp;quot;,&amp;quot;Set Remote&amp;quot;],chan);
}

tell_remote(string str)
{
    llShout(REMOTE_CHANNEL,llXorBase64Strings(llStringToBase64((string)encryption + str), llStringToBase64((string)encryption)));
}

menu(key id)        //Dialog menus for all 3 modes
{
    list buttons = [];
    string title = &amp;quot;** Monitor control **&amp;quot;;
    
    extendtimer();

    if(mode != 0)
    {
        if(mode == 1)       //Pictures menu
        {
            title+=&amp;quot;\n  Picture Viewer mode&amp;quot;;
            buttons+=[&amp;quot;Browse&amp;quot;];
            if(loop_image == FALSE)
                buttons+=[&amp;quot;Loop&amp;quot;];
            else
                buttons+=[&amp;quot;Unloop&amp;quot;];
            buttons+=[&amp;quot;Video&amp;quot;,&amp;quot;Power off&amp;quot;,&amp;quot;Help&amp;quot;,&amp;quot;Fix scale&amp;quot;];
        }
        else                //Video menu
        {
            title+=&amp;quot;\n Video display mode\n&amp;quot;+moviename+&amp;quot;\nTip:\nClick &amp;#039;TV Guide&amp;#039; to view the Online bookmarks.&amp;quot;;
            buttons+=[&amp;quot;Pictures&amp;quot;,&amp;quot;Configure&amp;quot;,&amp;quot;Power off&amp;quot;,&amp;quot;Loop&amp;quot;,&amp;quot;Unload&amp;quot;,&amp;quot;Help&amp;quot;,&amp;quot;Play&amp;quot;,&amp;quot;Stop&amp;quot;,&amp;quot;Pause&amp;quot;,&amp;quot;TV Guide&amp;quot;,&amp;quot;Bookmarks&amp;quot;,&amp;quot;Set URL&amp;quot;];
        }
    }
    else
        buttons += [&amp;quot;Pictures&amp;quot;,&amp;quot;Video&amp;quot;,&amp;quot;Help&amp;quot;];
    
    llDialog(id,title,buttons,chan);
}

display_texture(integer check)  //Display texture and set name in description (picture mode)
{                               //&amp;quot;Check&amp;quot; holds the number of textures in contents. The function uses &amp;quot;current_texture&amp;quot; to display.
    string name = llGetInventoryName(INVENTORY_TEXTURE,current_texture);
    llSetTexture(name,DISPLAY_ON_SIDE);
    report(&amp;quot;Showing picture: &amp;quot;+name+&amp;quot; (&amp;quot;+(string)(current_texture+1)+&amp;quot;/&amp;quot;+(string)check+&amp;quot;)&amp;quot;);
}
    

next()  //Change to next texture (picture mode)
{       //This function is used twice - by the menu and timer. Therefor, it is a dedicated function.
    current_texture++;
    integer check = llGetInventoryNumber(INVENTORY_TEXTURE);
    if(check == 0)
    {
        llSetTexture(BLANK,DISPLAY_ON_SIDE);
        current_texture = 0;
        report(&amp;quot;No pictures found.&amp;quot;);
        return;
    }
    if(check == current_texture)
        current_texture = 0;
    
    display_texture(check);
    return;
}

default
{
    state_entry()
    {
        chan = (integer)llFrand(1000) + 1000;   //Pick a random listen channel for the listener
        if(PICTURE_ROTATION_TIMER &amp;lt;= 0)         //Ensure the value is no less or equal 0
            PICTURE_ROTATION_TIMER = 1;
        llListenRemove(listenHandle);
        listenHandle = -1;
        last_owner = llGetOwner();
        groupcheck = llRequestAgentData(llGetOwner(),DATA_NAME);
        off();
        llOpenRemoteDataChannel();
    }
    
    on_rez(integer i)
    {
        llResetScript();
    }

    touch_start(integer total_number)
    {
        //-------------------------------------------------------------------------------
        //Listen only to owner or group member. Edit this code to change access controls.
        if(llDetectedKey(0) != llGetOwner() &amp;amp;&amp;amp; llDetectedGroup(0) == FALSE)
            return;
        //-------------------------------------------------------------------------------

        if(llGetOwnerKey(llGetKey()) != last_owner)  //Sense if object has been deeded to group for Web Guide function
        {
            isGroup = TRUE;
            last_owner = llGetOwner();
            groupcheck = llRequestAgentData(llGetOwner(),DATA_NAME);
            
            if(mode == 2)
            {
                llSay(0,&amp;quot;Detected change in ownership. Attempting to obtain current parcel media texture...&amp;quot;);
                video();
            }
        }

        menu(llDetectedKey(0));
    }
    
    changed(integer change)
    {
        if(change == CHANGED_INVENTORY) //If inventory change
            if(mode == 1)   //If picture mode
            {
                integer check = llGetInventoryNumber(INVENTORY_TEXTURE);
                if(check != 0)
                {
                    current_texture = 0;
                    display_texture(check);
                }
                else
                {
                    llSetTexture(BLANK,DISPLAY_ON_SIDE);
                    report(&amp;quot;No pictures found.&amp;quot;);
                }
            }
            else
                if(mode == 2)   //If video mode
                    if(finditem(NOTECARD) != -1)    //And bookmarks notecard present
                        if(notecardkey != llGetInventoryKey(NOTECARD))
                            tempuser = llGetNumberOfNotecardLines(NOTECARD);    //Reload number of lines
    }
    
    listen(integer channel, string name, key id, string message)
    {
        if(message == &amp;quot;Pictures&amp;quot;)
        {
            if(mode == 2)
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_STOP]);
            pictures();
            mode = 1;
            menu(id);
            return;
        }
        if(message == &amp;quot;Video&amp;quot;)
        {
            video();
            mode = 2;
            menu(id);
            return;
        }
        if(message == &amp;quot;Power off&amp;quot;)
        {
            if(mode == 2)
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_UNLOAD]);
            off();
            mode = 0;
            return;
        }
        if(message == &amp;quot;Help&amp;quot;)
        {
            llSay(0,&amp;quot;Help documentation is available at: http://www.slguide.com/help&amp;quot;);
            if(isGroup)
            {
                if(id == NULL_KEY)
                {
                    llSay(0,&amp;quot;FreeView cannot load help pages while set to group without the remote.&amp;quot;);
                    llSay(0,&amp;quot;For further assistance, please consult: http://slguide.com/help&amp;quot;);
                }
                else
                    tell_remote(&amp;quot;HELP&amp;quot;+(string)id+(string)XML_channel);
            }
            else
                llLoadURL(id,&amp;quot;Help pages for FreeView&amp;quot;,&amp;quot;http://www.slguide.com?c=&amp;quot;+(string)XML_channel+&amp;quot;&amp;amp;help=1&amp;quot;);
        }
        if(mode == 1)
        {
            if(message == &amp;quot;Browse&amp;quot;)
            {
                loop_image = FALSE;
                browse(id);
                return;
            }
            if(message == &amp;quot;Next&amp;quot;)
            {
                extendtimer();
                next();
                browse(id);
            }
            if(message == &amp;quot;Back&amp;quot;)
            {
                extendtimer();
                current_texture--;
                integer check = llGetInventoryNumber(INVENTORY_TEXTURE);
                if(check == 0)
                {
                    llSetTexture(BLANK,DISPLAY_ON_SIDE);
                    current_texture = 0;
                    report(&amp;quot;No pictures found.&amp;quot;);
                    return;
                }
                if(current_texture &amp;lt; 0)
                    current_texture = check - 1;
                
                display_texture(check);
                
                browse(id);
                return;
            }
            if(message == &amp;quot;Menu&amp;quot;)
            {
                menu(id);
                return;
            }
            if(message == &amp;quot;Loop&amp;quot;)
            {
                llSetTimerEvent(PICTURE_ROTATION_TIMER);
                loop_image = TRUE;
                llOwnerSay(&amp;quot;Picture will change every &amp;quot;+(string)PICTURE_ROTATION_TIMER+&amp;quot; seconds.&amp;quot;);
                return;
            }
            if(message == &amp;quot;Unloop&amp;quot;)
            {
                loop_image = FALSE;
                llOwnerSay(&amp;quot;Picture loop disabled.&amp;quot;);
                return;
            }
            if(message == &amp;quot;Fix scale&amp;quot;)
            {
                llSay(0,&amp;quot;Setting display texture to 1,1 repeats and 0,0 offset.&amp;quot;);
                llScaleTexture(1, 1, DISPLAY_ON_SIDE);
                llOffsetTexture(0, 0, DISPLAY_ON_SIDE);
                return;
            }
        }
        if(mode == 2)
        {
            if(channel == REMOTE_CHANNEL)
            {
                if(encryption == 0)
                    encryption = (integer)message;
                llListenRemove(listenRemote);
                listenRemote = -1;
                llSay(0,&amp;quot;Remote configured (&amp;quot;+(string)id+&amp;quot;)&amp;quot;);
            }
                
            if(message == &amp;quot;TV Guide&amp;quot;)
            {
                if(isGroup)
                {
                    if(!encryption)
                    {
                        llSay(0,&amp;quot;** Error - This FreeView object has been deeded to group. You must use a Remote control to open the TV Guide.&amp;quot;);
                        llSay(0,&amp;quot;You can set up the remote control from the Video -&amp;gt; Configuration menu. Please refer to the notecard for further assistance.&amp;quot;);
                        return;
                    }
                    tell_remote((string)id+(string)XML_channel+(string)llGetOwner());
                }
                else
                    llLoadURL(id, &amp;quot;Come to the Guide to Start Your Viewer Playing!&amp;quot;, &amp;quot;http://slguide.com/index.php?v=&amp;quot; + (string)llGetKey() + &amp;quot;&amp;amp;c=&amp;quot; + (string)XML_channel + &amp;quot;&amp;amp;o=&amp;quot; + (string)llGetOwner() + &amp;quot;&amp;amp;&amp;quot;);
                return;
            }

            string header = &amp;quot;Video mode&amp;quot;+moviename+&amp;quot;: &amp;quot;;
            
            if(message == &amp;quot;&amp;lt;&amp;lt; Prev&amp;quot;)
            {
                notecardline--;
                if(notecardline &amp;lt; 0)
                    notecardline = numberofnotecardlines - 1;
                tempuser = id;
                llGetNotecardLine(NOTECARD,notecardline);
                return;
            }
            if(message == &amp;quot;Next &amp;gt;&amp;gt;&amp;quot;)
            {
                notecardline++;
                if(notecardline &amp;gt;= numberofnotecardlines)
                    notecardline = 0;
                tempuser = id;
                llGetNotecardLine(NOTECARD,notecardline);
                return;
            }
            if(message == &amp;quot;Use&amp;quot;)
            {
                if(tempurl == &amp;quot;** No URL specified! **&amp;quot;)
                    tempurl = &amp;quot;&amp;quot;;
                seturl(tempurl,id);
                return;
            }
                    
            if(message == &amp;quot;Menu&amp;quot;)
            {
                menu(id);
                return;
            }
            if(message == &amp;quot;Configure&amp;quot;)
            {
                config(id);
                return;
            }
            if(message == &amp;quot;Bookmarks&amp;quot;)
            {
                if(notecardcheck != -1)
                {
                    llDialog(id,&amp;quot;Error: No valid bookmark data found in notecard &amp;#039;&amp;quot;+NOTECARD+&amp;quot;&amp;#039;.&amp;quot;,[&amp;quot;Menu&amp;quot;],chan);
                    return;
                }
                if(finditem(NOTECARD) != -1)                
                {
                    tempuser = id;
                    if(numberofnotecardlines &amp;lt; notecardline)
                        notecardline = 0;
                    llGetNotecardLine(NOTECARD,notecardline);
                }
                else
                    llDialog(id,&amp;quot;Error: No notecard named &amp;quot;+NOTECARD+&amp;quot; found in contents.&amp;quot;,[&amp;quot;Menu&amp;quot;],chan);
                return;
            }
            
            if(llGetLandOwnerAt(llGetPos()) != llGetOwner())    //If we do not have permissions to actually do the following functions
            {
                llSay(0,&amp;quot;Error: Cannot modify parcel media settings. &amp;quot;+llGetObjectName()+&amp;quot; is not owned by parcel owner.&amp;quot;);
                menu(id);
                return; //Abort
            }
            
            if(listenUrl != -1 &amp;amp;&amp;amp; channel == 1) //Incoming data from &amp;quot;Set URL&amp;quot; command (user spoke on channel 1)
            {
                llListenRemove(listenUrl);
                listenUrl = -1;
                tempmoviename = &amp;quot;&amp;quot;;
                seturl(message,id);
            }
            if(message == &amp;quot;Play&amp;quot;)
            {
                report(header+&amp;quot;Playing&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PLAY]);
                return;
            }
            if(message == &amp;quot;Stop&amp;quot;)
            {
                report(header+&amp;quot;Stopped&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_STOP]);
                return;
            }
            if(message == &amp;quot;Pause&amp;quot;)
            {
                report(header+&amp;quot;Paused&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PAUSE]);
                return;
            }
            if(message == &amp;quot;Unload&amp;quot;)
            {
                report(header+&amp;quot;Stopped&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_UNLOAD]);
                return;
            }
            if(message == &amp;quot;Loop&amp;quot;)
            {
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_LOOP]);
                return;
            }
            //URL , Auto-Scale, 
            if(message == &amp;quot;Set URL&amp;quot;)
            {
                report(header+&amp;quot;Stopped&amp;quot;);
                listenUrl = llListen(1,&amp;quot;&amp;quot;,id,&amp;quot;&amp;quot;);
                llDialog(id,&amp;quot;Please type the URL of your choice with /1 in thebegining. For example, /1 www.google.com&amp;quot;,[&amp;quot;Ok&amp;quot;],938);
                return;
            }
            if(message == &amp;quot;Align ON&amp;quot;)
            {
                report(header+&amp;quot;Stopped&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_AUTO_ALIGN,TRUE]);
                menu(id);
                return;
            }
            if(message == &amp;quot;Align OFF&amp;quot;)
            {
                report(header+&amp;quot;Stopped&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_AUTO_ALIGN,FALSE]);
                menu(id);
                return;
            }
            if(message == &amp;quot;Set Remote&amp;quot;)
            {
                llSay(0,&amp;quot;Configuring remote...&amp;quot;);
                encryption = 0;
                llListenRemove(listenRemote);
                listenRemote = llListen(REMOTE_CHANNEL,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;);
                llSay(REMOTE_CHANNEL,&amp;quot;SETUP&amp;quot;);
            }
        }
    }
    
    dataserver(key queryid, string data)
    {
        if(queryid == groupcheck)       //Test if object is deeded to group
        {
            groupcheck = NULL_KEY;
            isGroup = FALSE;
            return;
        }
        
        if(queryid == tempuser) //If just checking number of notecard lines
        {
            numberofnotecardlines = (integer)data;
            notecardkey = llGetInventoryKey(NOTECARD);
            notecardcheck = 0;
            llGetNotecardLine(NOTECARD,notecardcheck);
            return;
        }
        if(notecardcheck != -1)
        {
            if(data != EOF)
            {
                if(data == &amp;quot;&amp;quot;)
                {
                    notecardcheck++;
                    llGetNotecardLine(NOTECARD,notecardcheck);
                }
                else
                {
                    notecardcheck = -1;
                    return;
                }
            }
            else
                return;
        }

        if(data == &amp;quot;&amp;quot; &amp;amp;&amp;amp; notecardline &amp;lt; numberofnotecardlines)    //If user just pressed &amp;quot;enter&amp;quot; in bookmarks, skip
        {
            notecardline++;
            llGetNotecardLine(NOTECARD,notecardline);
            return;
        }
        
        if(data == EOF)
        {
            notecardline = 0;
            llGetNotecardLine(NOTECARD,notecardline);
            return;
        }
        list parsed = llParseString2List(data,[&amp;quot;|&amp;quot;,&amp;quot;| &amp;quot;,&amp;quot; |&amp;quot;,&amp;quot; | &amp;quot;],[]);    //Ensure no blank spaces before &amp;quot;http://&amp;quot;.
        string name = llList2String(parsed,0);
        tempurl = llList2String(parsed,1);
        if(tempurl == &amp;quot;&amp;quot;)
            tempurl = &amp;quot;** No URL specified! **&amp;quot;;
            
        tempmoviename = name;
                
        llDialog(tempuser,&amp;quot;Bookmarks notecard (&amp;quot;+(string)(notecardline+1)+&amp;quot;/&amp;quot;+(string)numberofnotecardlines+&amp;quot;)\n&amp;quot;+name+&amp;quot; (&amp;quot;+mediatype(llList2String(llParseString2List(tempurl,[&amp;quot;.&amp;quot;],[]),-1))+&amp;quot;)\n&amp;quot;+tempurl,[&amp;quot;&amp;lt;&amp;lt; Prev&amp;quot;,&amp;quot;Use&amp;quot;,&amp;quot;Next &amp;gt;&amp;gt;&amp;quot;,&amp;quot;Menu&amp;quot;],chan);
    }
    
    remote_data(integer type, key channel, key message_id, string sender, integer ival, string sval)
    {
        if (type == REMOTE_DATA_CHANNEL)
        {
            XML_channel = channel;
        } 
        else if(type == REMOTE_DATA_REQUEST)
        {
            list media_info = llParseString2List(sval, [&amp;quot;|&amp;quot;], []);
            tempmoviename = llList2String(media_info,0);
            seturl(llList2String(media_info,1),NULL_KEY);
            llRemoteDataReply(channel, message_id, sval, 1);
        }
    }
    
    timer()
    {
        if(llGetTime() &amp;gt; listenTimer)       //If listener time expired...
        {
            llListenRemove(listenHandle);   //Remove listeneres.
            llListenRemove(listenUrl);
            llListenRemove(listenRemote);
            listenHandle = -1;
            listenUrl = -1;
            listenRemote = -1;
            listenTimer = -1;
            if(loop_image == FALSE || mode != 1) //If we&amp;#039;re not looping pictures or are in picture mode at all
                llSetTimerEvent(0.0);   //Remove timer
        }
        
        if(loop_image == TRUE &amp;amp;&amp;amp; mode == 1) //If we&amp;#039;re looping pictures and and we&amp;#039;re in picture mode...
            next(); //Next picture
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:40 +0000</pubDate>
        </item>
        <item>
            <title>Poseball</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/poseball?do=revisions&amp;rev=1575021522</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;poseball&quot;&gt;Poseball&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Jippen Faddoul&amp;#039;s Poseball script - Low ram/lag posepall thats just drag-and drop simple
// Copyright (C) 2007 Jippen Faddoul
//    This program is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License version 3, as
//    published by the Free Software Foundation.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//   You should have received a copy of the GNU General Public License
//    along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;



//This text will appear in the floating title above the ball
string TITLE=&amp;quot;Sit here&amp;quot;;           
//You can play with these numbers to adjust how far the person sits from the ball. ( &amp;lt;X,Y,Z&amp;gt; )
vector offset=&amp;lt;0.0,0.0,0.5&amp;gt;;           

///////////////////// LEAVE THIS ALONE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
string ANIMATION;
integer visible = TRUE;
key avatar;

vector COLOR = &amp;lt;1.0,1.0,1.0&amp;gt;;
float ALPHA_ON = 1.0;
float ALPHA_OFF = 0.0;

show(){
    visible = TRUE;
    llSetText(TITLE, COLOR,ALPHA_ON);       
    llSetAlpha(ALPHA_ON, ALL_SIDES);
}

hide(){
    visible = FALSE;
    llSetText(&amp;quot;&amp;quot;, COLOR,ALPHA_ON);       
    llSetAlpha(ALPHA_OFF, ALL_SIDES);
}

default{
    state_entry() {
        llSitTarget(offset,ZERO_ROTATION);
        if((ANIMATION = llGetInventoryName(INVENTORY_ANIMATION,0)) == &amp;quot;&amp;quot;){
            llOwnerSay(&amp;quot;Error: No animation&amp;quot;);
            ANIMATION = &amp;quot;sit&amp;quot;;
            }
        llSetSitText(TITLE);
        show();
    }

    touch_start(integer detected) {
        //llOwnerSay(&amp;quot;Memory: &amp;quot; + (string)llGetFreeMemory());
        if(visible){ hide(); }
        else       { show(); }
    }

    changed(integer change) {
        if(change &amp;amp; CHANGED_LINK) {
            avatar = llAvatarOnSitTarget();
            if(avatar != NULL_KEY){
                //SOMEONE SAT DOWN
                hide();
                llRequestPermissions(avatar,PERMISSION_TRIGGER_ANIMATION);
                return;
            }else{
                //SOMEONE STOOD UP
                if (llGetPermissionsKey() != NULL_KEY){ llStopAnimation(ANIMATION); }
                show();
                return;
            }
        }
        if(change &amp;amp; CHANGED_INVENTORY) { llResetScript(); }
        if(change &amp;amp; CHANGED_OWNER)     { llResetScript(); }
    }

    run_time_permissions(integer perm) {
        if(perm &amp;amp; PERMISSION_TRIGGER_ANIMATION) {
            llStopAnimation(&amp;quot;sit&amp;quot;);
            llStartAnimation(ANIMATION);
            hide();
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:42 +0000</pubDate>
        </item>
        <item>
            <title>Prim Mover</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/prim_mover?do=revisions&amp;rev=1575021522</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;prim_mover&quot;&gt;Prim Mover&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;float   cnfSpeed        =   1.0;
string  cnfSitAnim      =   &amp;quot;backflip&amp;quot;;
 
///////////////////////////////////////////////////////////////////////////
vector  velocity    =   &amp;lt;0,0,0&amp;gt;;
 
warpPos( vector destpos ){
    integer jumps = (integer)(llVecDist(destpos, llGetPos()) / 10.0) + 1;
 
    if (jumps &amp;gt; 100 )
        jumps = 100;
 
    list rules = [ PRIM_POSITION, destpos ];
 
    integer count = 1;
    while ( ( count = count &amp;lt;&amp;lt; 1 ) &amp;lt; jumps)
        rules = (rules=[]) + rules + rules;
 
    llSetPrimitiveParams( rules + llList2List( rules, (count - jumps) &amp;lt;&amp;lt; 1, count) );
 
    if ( llVecDist( llGetPos(), destpos ) &amp;gt; .001 )
        while ( --jumps )
            llSetPos( destpos );
}
 
default
{
 
    state_entry()
    {
        llSitTarget(&amp;lt;0,0,-110&amp;gt;,&amp;lt;0,0,0,0&amp;gt;);
        llSetCameraEyeOffset(&amp;lt;0.0, 0.0, -108&amp;gt;);
        llSetCameraAtOffset(&amp;lt;0.0, 0.0, -108&amp;gt;);
        llListen(4,&amp;quot;&amp;quot;,llGetOwner(),&amp;quot;&amp;quot;);
    }
 
    changed(integer c)
    {
        if(c &amp;amp; CHANGED_LINK &amp;amp;&amp;amp; llAvatarOnSitTarget() == llGetOwner())
        {
            llRequestPermissions(llAvatarOnSitTarget(),PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA);
            warpPos(llGetPos() + &amp;lt;0,0,110&amp;gt;);
        } else if(c &amp;amp; CHANGED_LINK &amp;amp;&amp;amp; llAvatarOnSitTarget() == NULL_KEY){
            warpPos(llGetPos() - &amp;lt;0,0,110&amp;gt;);
        }
    }
 
    listen(integer c, string n, key id, string msg){
        cnfSpeed = (float)msg;
    }
 
    run_time_permissions(integer perm){
        if(perm &amp;amp; PERMISSION_TRIGGER_ANIMATION &amp;amp;&amp;amp; llAvatarOnSitTarget() == llGetOwner()){
            llStopAnimation(&amp;quot;Sit&amp;quot;);
            llStartAnimation(cnfSitAnim);
        }
        if(perm &amp;amp; PERMISSION_TAKE_CONTROLS &amp;amp;&amp;amp; llAvatarOnSitTarget() == llGetOwner()){
            llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_UP | CONTROL_DOWN | CONTROL_ROT_LEFT | CONTROL_ROT_RIGHT,TRUE,FALSE);
        }
    }
 
    touch_start(integer n){
        llRequestPermissions(llAvatarOnSitTarget(),PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA);
    }
 
    control(key id, integer held, integer change){
        rotation rot;
        if(held &amp;amp; CONTROL_FWD)
            velocity.x = velocity.x + cnfSpeed;
        else
            velocity.x *= 0.75;
 
        if(held &amp;amp; CONTROL_BACK)
            velocity.x = velocity.x - cnfSpeed;
        else
            velocity.x *= 0.75;
 
        if(held &amp;amp; CONTROL_LEFT)
            velocity.y = velocity.y - cnfSpeed;
        else
            velocity.y *= 0.75;
 
        if(held &amp;amp; CONTROL_RIGHT)
            velocity.y = velocity.y + cnfSpeed;
        else
            velocity.y *= 0.75;
 
        if(held &amp;amp; CONTROL_UP)
            llSetPos(llGetPos() + &amp;lt;0,0,cnfSpeed&amp;gt;);
 
        if(held &amp;amp; CONTROL_DOWN)
            llSetPos(llGetPos() + &amp;lt;0,0,-cnfSpeed&amp;gt;);
 
        if(held &amp;amp; CONTROL_ROT_LEFT)
        {
            rot = llGetRot() * llEuler2Rot(&amp;lt;0,0,0.12&amp;gt;);
            llSetRot(rot);
        }
 
        if(held &amp;amp; CONTROL_ROT_RIGHT)
        {
            rot = llGetRot() * llEuler2Rot(&amp;lt;0,0,-0.12&amp;gt;);
            llSetRot(rot);
        }
 
        llSetPos(velocity * llGetRot() + llGetPos());
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:42 +0000</pubDate>
        </item>
        <item>
            <title>Simple Vendor</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/simple_vendor?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;simple_vendor&quot;&gt;Simple Vendor&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Simple Vendor 
//Version: 1.0.0 
// 
string name = &amp;quot;name of person&amp;quot;; 
integer price = 10; // adjust accordingly 
string item = &amp;quot;nameofitem&amp;quot;; 
 
default 
{ 
   state_entry() 
   { 
      llRequestPermissions( llGetOwner(), PERMISSION_DEBIT ); 
   } 
   run_time_permissions(integer perms) 
   { 
      if (perms &amp;amp; PERMISSION_DEBIT) 
         state run; 
   } 
} 
 
state run 
{ 
   money(key id, integer amount) 
   { 
      if (llKey2Name(id) == name) 
      { 
         if (amount != price) 
         { 
            llWhisper(0,&amp;quot;Sorry!  The price is $&amp;quot; + (string)price); 
            llGiveMoney(id,amount); 
         } 
         else 
         { 
            llGiveInventory(id,item); 
            llInstantMessage(llGetOwner(),name + &amp;quot; bought their item.&amp;quot;); 
            state sold; 
         } 
      } 
      else 
      { 
         llWhisper(0,&amp;quot;Sorry I&amp;#039;m only selling this to &amp;quot; + name); 
         llGiveMoney(id,amount); 
      } 
   } 
} 
 
state sold 
{ 
   state_entry() { } 
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:43 +0000</pubDate>
        </item>
        <item>
            <title>Snow Particle Generator (Schnee)</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/snow?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;snow_particle_generator_schnee&quot;&gt;Snow Particle Generator (Schnee)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Lässt Schnee fallen.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;default
{
state_entry()
{
llParticleSystem([
PSYS_PART_FLAGS , 0
//| PSYS_PART_BOUNCE_MASK //Bounce on object&amp;#039;s z-axis
| PSYS_PART_WIND_MASK //Particles are moved by wind
| PSYS_PART_INTERP_COLOR_MASK //Colors fade from start to end
| PSYS_PART_INTERP_SCALE_MASK //Scale fades from beginning to end
| PSYS_PART_FOLLOW_SRC_MASK //Particles follow the emitter
| PSYS_PART_FOLLOW_VELOCITY_MASK//Particles are created at the velocity of the emitter
//| PSYS_PART_TARGET_POS_MASK //Particles follow the target
| PSYS_PART_EMISSIVE_MASK //Particles are self-lit (glow)
//| PSYS_PART_TARGET_LINEAR_MASK//Undocumented--Sends particles in straight line?
,

//PSYS_SRC_TARGET_KEY , NULL_KEY,//The particles will head towards the specified key
//Select one of the following for a pattern:
//PSYS_SRC_PATTERN_DROP Particles start at emitter with no velocity
//PSYS_SRC_PATTERN_EXPLODE Particles explode from the emitter
//PSYS_SRC_PATTERN_ANGLE Particles are emitted in a 2-D angle
//PSYS_SRC_PATTERN_ANGLE_CONE Particles are emitted in a 3-D cone
//PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY Particles are emitted everywhere except for a 3-D cone

PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE

,PSYS_SRC_TEXTURE, &amp;quot;b03ed4c1-6384-408f-9db9-2d4f6fee164d&amp;quot; //UUID of the desired particle texture, or inventory name
,PSYS_SRC_MAX_AGE, 0.0 //Time, in seconds, for particles to be emitted. 0 = forever
,PSYS_PART_MAX_AGE, 15.0 //Lifetime, in seconds, that a particle lasts
,PSYS_SRC_BURST_RATE, .01 //How long, in seconds, between each emission
,PSYS_SRC_BURST_PART_COUNT, 24 //Number of particles per emission
,PSYS_SRC_BURST_RADIUS, 10.0 //Radius of emission
,PSYS_SRC_BURST_SPEED_MIN, 0.1 //Minimum speed of an emitted particle
,PSYS_SRC_BURST_SPEED_MAX, 0.5 //Maximum speed of an emitted particle
,PSYS_SRC_ACCEL, &amp;lt;0,0,-.20&amp;gt; //Acceleration of particles each second
,PSYS_PART_START_COLOR, &amp;lt;1,1,1&amp;gt; //Starting RGB color
,PSYS_PART_END_COLOR, &amp;lt;1,1,1&amp;gt; //Ending RGB color, if INTERP_COLOR_MASK is on
,PSYS_PART_START_ALPHA, 1.0 //Starting transparency, 1 is opaque, 0 is transparent.
,PSYS_PART_END_ALPHA, 1.0 //Ending transparency
,PSYS_PART_START_SCALE, &amp;lt;.05,.05,.05&amp;gt; //Starting particle size
,PSYS_PART_END_SCALE, &amp;lt;.05,.05,.05&amp;gt; //Ending particle size, if INTERP_SCALE_MASK is on
,PSYS_SRC_ANGLE_BEGIN, 90 * DEG_TO_RAD //Inner angle for ANGLE patterns
,PSYS_SRC_ANGLE_END, 90 * DEG_TO_RAD//Outer angle for ANGLE patterns
,PSYS_SRC_OMEGA, &amp;lt;0.0,0.0,0.0&amp;gt; //Rotation of ANGLE patterns, similar to llTargetOmega()
]);
}
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>Takecontrol Drive</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/takecontrol_drive?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;takecontrol_drive&quot;&gt;Takecontrol Drive&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;float speed=0.2;
rotation rot;
float locx;
float locy;
vector pos;
default
{ touch_start(integer total_number)
{llRequestPermissions(llDetectedKey(0), PERMISSION_TAKE_CONTROLS);}
run_time_permissions(integer perm)
{if(PERMISSION_TAKE_CONTROLS &amp;amp; perm)
{llTakeControls(
CONTROL_FWD |
CONTROL_BACK |
CONTROL_LEFT |
CONTROL_RIGHT |
CONTROL_ROT_LEFT |
CONTROL_ROT_RIGHT |
CONTROL_UP |
0, TRUE, FALSE);
}} control(key id, integer button, integer edge){

if (button==CONTROL_UP) {llSay(0,&amp;quot;Controls Released!&amp;quot;);llReleaseControls( );}

if (button&amp;amp;CONTROL_ROT_LEFT) {rot = llGetRot();
rotation delta = llEuler2Rot(&amp;lt;0,0,(1 * PI)/45&amp;gt;);
rot = delta * rot;
llSetRot(rot);}

if (button&amp;amp;CONTROL_ROT_RIGHT) {rot = llGetRot();
rotation delta = llEuler2Rot(&amp;lt;0,0,(-1 * PI)/45&amp;gt;);
rot = delta * rot;
llSetRot(rot);}

if (button&amp;amp;CONTROL_FWD){vector rotvec = llRot2Euler (llGetRot());
pos = llGetPos();
locx = (llCos(rotvec.z))*speed;
locy = (llSin(rotvec.z))*speed;
pos = pos + (&amp;lt;locx,locy,0&amp;gt;);
llSetPos(pos);}
}}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>Texture Dropper</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/texture_dropper?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;texture_dropper&quot;&gt;Texture Dropper&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// **** Texture Dropper Screen v1.11, by Mircea Kitsune &amp;amp; Sm0key ****

// -------- Settings: --------
// Modify these to adjust the properties of your screen. Unless a specific value is required, use TRUE or FALSE.

integer face = 0; //Primitive face to be used as screen.
integer text = 2; //0 means no text, 1 displays lock status, 2 displays lock status and image + creator names. Selecting 2 clears the image between script restarts.
integer notices = TRUE; //Echo information such as locking / unlocking of the screen and error messages in-world.

integer lockdefault = FALSE; //Set to TRUE if the screen is to be locked by default. Relevant in the case of script restarts and when using the &amp;quot;clear&amp;quot; command.
integer lockonpost = FALSE; //If TRUE the screen is locked once someone posts the first picture in it, useful for &amp;#039;find and claim&amp;#039; screens.
    integer creatorlock = TRUE; //When lockonpost is also TRUE, this allows the creator of the displayed image to lock / unlock or clear the screen.

string screenname = &amp;quot;screen&amp;quot;; //The name which best describes what your object is, used for info and text display (eg: screen, painting, monitor).
string sound = &amp;quot;&amp;quot;; //A sound to be played each time a new image is posted. Leave this string empty to disable sounds.
    float soundvol = 1; //Volume of the sound specified above, can be anything between 0 and 1.

// -------- Script: --------
// Modify anything below if you are a scripter and want to change something else in the script.

string ScriptName;
string InvName;
string InvCreator;
string Toucher;

string Blank = &amp;quot;5748decc-f629-461c-9a36-a35a221fe21f&amp;quot;; //UUID of the blank texture.
integer CmdChan = 9945; //System channel for llDialog.

default
{
    state_entry()
    {
        ScriptName = llGetScriptName();
        llPreloadSound(sound);
        if(text == 2) //Set texture to blank when names are used to avoid images with no names between script restarts.
        {
            llSetTexture(Blank, face);
            llPlaySound(sound, soundvol);
        }
        else if(text != 1 | text != 2)
        {
            llSetText(&amp;quot;&amp;quot;, &amp;lt;0,0,0&amp;gt;, 0);
        }
       
        if(lockdefault == TRUE)
        {
            state locked;
        }
        else
        {
            state unlocked;
        }
    }
}

state locked
{
    state_entry()
    {
        llAllowInventoryDrop(0);
        llListen(CmdChan, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
        if(notices == 1)
        {
            llSay(0, &amp;quot;The &amp;quot; + screenname + &amp;quot; is now locked.&amp;quot;);
        }
       
        if(text == 2 &amp;amp; InvName != &amp;quot;&amp;quot;)
        {
            llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; locked] - &amp;quot; + InvName + &amp;quot; by &amp;quot; + InvCreator, &amp;lt;1,0.5,0.5&amp;gt;, 1);
        }
        else if(text == 1 | text == 2 &amp;amp; InvName == &amp;quot;&amp;quot;)
        {
            llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; locked]&amp;quot;, &amp;lt;1,0.5,0.5&amp;gt;, 1);
        }
    }
   
    touch_start(integer avatar)
    {
        Toucher = llDetectedKey(0);
        llSetTimerEvent(15);
        if (Toucher == llGetOwner())
        {
            llDialog(llDetectedKey(0) , &amp;quot;You are the owner of this screen. What do you wish to do?&amp;quot;, [&amp;quot;unlock&amp;quot;, &amp;quot;clear&amp;quot;], CmdChan);
        }
        else if(lockonpost == TRUE &amp;amp; creatorlock == TRUE &amp;amp; llKey2Name(Toucher) == InvCreator)
        {
            llDialog(llDetectedKey(0) , &amp;quot;You have been identified as the creator of the currently posted image. What do you wish to do?&amp;quot;, [&amp;quot;unlock&amp;quot;, &amp;quot;clear&amp;quot;], CmdChan);
        }
        else
        {
            llSay(0, &amp;quot;The &amp;quot; + screenname + &amp;quot; is locked. The owner must first unlock it before you can display new pictures.&amp;quot;);
        }
    }
   
    listen(integer channel, string name, key id, string message)
    {
        if(Toucher == llGetOwner() | lockonpost == TRUE &amp;amp; creatorlock == TRUE &amp;amp; llKey2Name(Toucher) == InvCreator)
        {
            Toucher = &amp;quot;&amp;quot;; //Protection so if an owner was the last to touch the object not anyone is able to manually chat an owner-only command on the channel.
            if(llToLower(message) == &amp;quot;unlock&amp;quot;)
            {
                state unlocked;
            }
            if(llToLower(message) == &amp;quot;clear&amp;quot;)
            {
                llSetTexture(Blank, face);
                llPlaySound(sound, soundvol);
                InvName = &amp;quot;&amp;quot;;
                InvCreator = &amp;quot;&amp;quot;;
                if(lockdefault == TRUE)
                {
                    llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; locked]&amp;quot;, &amp;lt;1,0.5,0.5&amp;gt;, 1);
                }
                else
                {
                    state unlocked;
                }
            }               
        }
    }
   
    timer()
    {
        Toucher = &amp;quot;&amp;quot;; //Further protection so if an owner ignores the dialog the screen does not remain vulnerable for anyone to chat an owner-only command to.
        llSetTimerEvent(0);
    }
}

state unlocked
{
    state_entry()
    {
        llAllowInventoryDrop(1);
        llListen(CmdChan, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
        if(notices == 1)
        {
            llSay(0, &amp;quot;The &amp;quot; + screenname + &amp;quot; is now unlocked.&amp;quot;);
        }
       
        if(text == 2 &amp;amp; InvName != &amp;quot;&amp;quot;)
        {
            llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; unlocked] - &amp;quot; + InvName + &amp;quot; by &amp;quot; + InvCreator, &amp;lt;0.5,1,0.5&amp;gt;, 1);
        }
        else if(text == 1 | text == 2 &amp;amp; InvName == &amp;quot;&amp;quot;)
        {
            llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; unlocked]&amp;quot;, &amp;lt;0.5,1,0.5&amp;gt;, 1);
        }
    }
   
    changed(integer mask)
    {
        if(mask &amp;amp; (CHANGED_ALLOWED_DROP | CHANGED_INVENTORY))
        {
            if(llGetInventoryNumber(0)) //Texture dropped
            {
                InvName = llGetInventoryName(INVENTORY_TEXTURE, 0);
                key InvKey = llGetInventoryKey(InvName);
                InvCreator = llKey2Name(llGetInventoryCreator(InvName));
                llRemoveInventory(InvName);
                llSetTexture(InvKey, face);
                llPlaySound(sound, soundvol);
                if(lockonpost == TRUE)
                {
                    state locked;
                }
                else if(text == 2)
                {
                    llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; unlocked] - &amp;quot; + InvName + &amp;quot; by &amp;quot; + InvCreator, &amp;lt;0.5,1,0.5&amp;gt;, 1);
                }
            }
            else //Something else dropped
            {
                integer Items = llGetInventoryNumber(-1);
                do
                {
                    string InvName = llGetInventoryName(INVENTORY_ALL, --Items);
                    if (InvName != ScriptName &amp;amp; InvName != sound)
                    {
                        llRemoveInventory(InvName);
                        if(notices == 1)
                        {
                            llSay(0, &amp;quot;Error - Only textures may be dropped inside the &amp;quot; + screenname + &amp;quot;.&amp;quot;);
                        }
                    }
                }
                while(Items);
            }
        }
    }
   
    touch_start(integer avatar)
    {
        Toucher = llDetectedKey(0);
        llSetTimerEvent(15);
        if (Toucher == llGetOwner())
        {
            llDialog(llDetectedKey(0) , &amp;quot;You are the owner of this screen. What do you wish to do?&amp;quot;, [&amp;quot;lock&amp;quot;, &amp;quot;clear&amp;quot;], CmdChan);
        }
        else if(lockonpost == TRUE &amp;amp; creatorlock == TRUE &amp;amp; llKey2Name(Toucher) == InvCreator)
        {
            llDialog(llDetectedKey(0) , &amp;quot;You have been identified as the creator of the currently posted image. What do you wish to do?&amp;quot;, [&amp;quot;lock&amp;quot;, &amp;quot;clear&amp;quot;], CmdChan);
        }
        else
        {
            llSay(0, &amp;quot;The &amp;quot; + screenname + &amp;quot; is unlocked. Control + drag textures onto it to display them.&amp;quot;);
        }
    }
   
    listen(integer channel, string name, key id, string message)
    {
        if(Toucher == llGetOwner() | lockonpost == TRUE &amp;amp; creatorlock == TRUE &amp;amp; llKey2Name(Toucher) == InvCreator)
        {
            Toucher = &amp;quot;&amp;quot;; //Protection so if an owner was the last to touch the object not anyone is able to manually chat an owner-only command on the channel.
            if(llToLower(message) == &amp;quot;lock&amp;quot;)
            {
                state locked;
            }
            if(llToLower(message) == &amp;quot;clear&amp;quot;)
            {
                llSetTexture(Blank, face);
                llPlaySound(sound, soundvol);
                InvName = &amp;quot;&amp;quot;;
                InvCreator = &amp;quot;&amp;quot;;
                if(lockdefault == TRUE)
                {
                    state locked;
                }
                else
                {
                    llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; unlocked]&amp;quot;, &amp;lt;0.5,1,0.5&amp;gt;, 1);
                }
            }               
        }
    }
   
    timer()
    {
        Toucher = &amp;quot;&amp;quot;; //Further protection so if an owner ignores the dialog the screen does not remain vulnerable for anyone to chat an owner-only command to.
        llSetTimerEvent(0);
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>Zero Lag Poseball</title>
            <link>http://live.spdns.org/wiki/archiv/opensim/downloads/scripts/zero_lag_poseball?do=revisions&amp;rev=1575021525</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;zero_lag_poseball&quot;&gt;Zero Lag Poseball&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Jippen Faddoul&amp;#039;s Poseball script - Low ram/lag posepall thats just drag-and drop simple
// Copyright (C) 2007 Jippen Faddoul
//    This program is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License version 3, as 
//    published by the Free Software Foundation.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//   You should have received a copy of the GNU General Public License
//    along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;
 
 
 
//This text will appear in the floating title above the ball
string TITLE=&amp;quot;Sit here&amp;quot;;            
//You can play with these numbers to adjust how far the person sits from the ball. ( &amp;lt;X,Y,Z&amp;gt; )
vector offset=&amp;lt;0.0,0.0,0.5&amp;gt;;            
 
///////////////////// LEAVE THIS ALONE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
string ANIMATION;
integer visible = TRUE;
key avatar;
 
vector COLOR = &amp;lt;1.0,1.0,1.0&amp;gt;;
float ALPHA_ON = 1.0;
float ALPHA_OFF = 0.0;
 
show(){
    visible = TRUE;
    llSetText(TITLE, COLOR,ALPHA_ON);        
    llSetAlpha(ALPHA_ON, ALL_SIDES);
}
 
hide(){
    visible = FALSE;
    llSetText(&amp;quot;&amp;quot;, COLOR,ALPHA_ON);        
    llSetAlpha(ALPHA_OFF, ALL_SIDES);
}
 
default{
    state_entry() {
        llSitTarget(offset,ZERO_ROTATION);
        if((ANIMATION = llGetInventoryName(INVENTORY_ANIMATION,0)) == &amp;quot;&amp;quot;){
            llOwnerSay(&amp;quot;Error: No animation&amp;quot;);
            ANIMATION = &amp;quot;sit&amp;quot;;
            }
        llSetSitText(TITLE);
        show();
    }
 
    touch_start(integer detected) {
        //llOwnerSay(&amp;quot;Memory: &amp;quot; + (string)llGetFreeMemory());
        if(visible){ hide(); }
        else       { show(); }
    }
 
    changed(integer change) {
        if(change &amp;amp; CHANGED_LINK) {
            avatar = llAvatarOnSitTarget();
            if(avatar != NULL_KEY){
                //SOMEONE SAT DOWN
                hide();
                llRequestPermissions(avatar,PERMISSION_TRIGGER_ANIMATION);
                return;
            }else{
                //SOMEONE STOOD UP
                if (llGetPermissionsKey() != NULL_KEY){ llStopAnimation(ANIMATION); }
                show();
                return;
            }
        }
        if(change &amp;amp; CHANGED_INVENTORY) { llResetScript(); }
        if(change &amp;amp; CHANGED_OWNER)     { llResetScript(); }
    }
 
    run_time_permissions(integer perm) {
        if(perm &amp;amp; PERMISSION_TRIGGER_ANIMATION) {
            llStopAnimation(&amp;quot;sit&amp;quot;);
            llStartAnimation(ANIMATION);
            hide();
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:45 +0000</pubDate>
        </item>
    </channel>
</rss>
