Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

OpenSimWorld @opensimworld

Offline

Visit OpenSimWorld to get the latest versions of the OpenSimWorld beacon, the SatyrFarm, SFposer and SFsail


ActiveNPCs: An interactive-NPC controller

<h1>ActiveNPCs NPC Controller</h1>
<p>This is a full-featured controller for creating interactive NPCs , scripting them (through notecards) and creating waypoints of your region so that the NPCs can walk around your region. The controller is extremely lightweight (a single script manages all the NPCs) and the NPCs are interactive (i.e. you can give them commands through the local chat).</p>
<p>You can get the latest package from the OpenSimWorld region:</p>
<p><a href="http://opensimworld.com/hop/74730-OpenSimWorld">http://opensimworld.com/hop/74730-OpenSimWorld&lt;/a&gt;&l...
<p>Hypergrid: hg.osgrid.org:80:OpenSimWorld</p>
<h1>Quickstart</h1>
<p>The controller requires OSSL functions to work. You need to have permission to use the osNpc*() functions and, additionally: , osGetNotecard(), osGetNotecardLines(), osMessageAttachments(), osSetSpeed(). The controller uses the channel 68 to communicate.</p>
<p>To start using the controller:</p>
<ul>
<li>Rez the OSW NPC Controller object somewhere in your region. Make sure your avatar is within distance of 20m or less from the controller</li>
<li>Wear the OSW NPC Listener object (it should attach automatically to your Right Pec!)</li>
<li>Edit the <code>__npc_names</code> notecard, and place first name and last names of each of your NPCs in a line by itself. Example:
<pre><code>Bob TheRobot
Alice TheNPC
</code></pre>
</li>
<li>Touch the controller -> ReConfig</li>
<li>Touch the controller, SaveNPC -> Bob (You should see a message "Saved appearance xxx-xxx -> APP_bob"</li>
<li>Touch the controller -> LoadNPC -> Bob</li>
</ul>
<p>Your npc should now be responding to commands , e.g. "Bob come"</p>
<h1>Controller object Contents</h1>
<ul>
<li>The controller script (..Controller). This is the single script that runs everything.</li>
<li>An example extension script (..Extension). This can be used to add commands to the system (explained below).</li>
<li>The Listener object. All our NPCs must wear this invisible object on their Right Pec. This object listens for commands from the local chat and forwards them to the controller script for processing.</li>
<li>The __npc_names notecard. This notecard contains the names of the NPCs, one in each line . After making changes to this notecard, select "Reconfig" from the controller menu.</li>
<li>The __initcommands notecard. This is a notecard with the commands that are executed when you click "InitCmds" on the controller menu.</li>
<li>The <strong>waypoints notecard. This contains a list of points in your region. The NPCs can walk from one point to the other, if they are connected (via the </strong>links notecard) . <em>You do not need to edit this by hand. There is an HUD for editing the map</em></li>
<li>The __links notecard. This contains a list of pairs of connected points. I.e. if you want to link point 1 to point 2, there will be a line "1,2" in the notecard. <em>You do not need to edit this by hand. There is an HUD for editing the map</em></li>
<li>The __config notecard. This contains configuration ootions.</li>
<li>Command notecards. You can put any list of commands for NPCs a notecard named [command-name].scr. You can then order your NPCs to execute the notecards from the local chat. E.g. if you create a notecard "dance.scr", you can say "Bob dance" to execute it.</li>
<li>Waypoint notecards. Notecards named _1.scr , _2.scr etc are executed automatically when the NPCs reach the waypoint number 1, number 2 etc.</li>
<li>The appearance notecards are stored as APP_[firstname] for each NPC. You can also have multiple appearances per NPC (see below).</li>
<li>The Waypoint HUD is used to edit the map and create/update the <strong>waypoints and </strong>links notecards</li>
</ul>
<h1>Overview of commands</h1>
<p>The NPCs respond to commands that you give to them through the local chat.</p>
<p>Assuming your NPC is named "Bob", you can say the following in the local chat:</p>
<pre><code> Bob come
Bob leave
Bob stop
Bob follow me
Bob fly with me
Bob say hi
...
etc.
</code></pre>
<p>You can put these commands in notecards in order to create complex scenarios.</p>
<p>For more complex behavior, the following control commands are supported in notecards: if, if-not, jump</p>
<p>Example of a scenario notecard:</p>
<pre><code> if name-is Bob Alice
say hi
say I am either Bob or Alice
jump outofhere
end-if
say i am not bob or alice
@outofhere
if-not name-is Bob
say I am definitely not Bob
end-if
say ... and i 'm now leaving
leave
</code></pre>
<p>You can add these commands to a notecard named "test.scr" inside the controller object, and then ask the Bob to execute them by saying "Bob test" in the local chat.</p>
<h1>List of NPC commands</h1>
<p>When giving commands through the local chat, commands must be preceded by the first name of the NPC. Here we assume our NPC is called "Bob"</p>
<pre><code> Bob come : "Come here ". Bob will move close to you
Bob moveto 23 : Walk towards waypoint #23
Bob movetov <23,24,25> : walk towards point with coordinates <23,24,25> (Note, no spaces between vector coordinates)
Bob runtov <23,24,25> : run towards point with coordinates <23,24,25>
Bob flytov <23,24,25> : fly towards point <23,24,25> in region
Bob movetovr <23,24,25> <33,34,25> : walk to a random point between the points <23,24,25> <33,34,25>
Bob runtovr <23,24,25> <33,34,25> : same as above, but run
</code></pre>
<ul>
<li>
<ul>
<li>Note: never leave spaces in coordinate vectors, i.e. <23,24,25> NOT <23, 24, 25> **</li>
</ul>
</li>
</ul>
<pre><code>Bob say hi : Says "hi" on public channel
Bob saych 90 blablah : say "blablah" on channel 90
Bob shout Blah bleh
Bob teleport <23,30,40> : Teleports to a point. REMEMBER: no spaces inside the vector brackets
Bob lookat me : attempts to look at you
Bob lookat <x,y,z> : look towards point x,y,z
Bob anim dance : play animation "dance" . the animation must be in the inventory of the controller object
Bob sound 1c8a3af2-6e5a-4807-a7a3-a42e5744217c 1.0 : The NPC will trigger the sound with the given UUID at the volume specified by the second parameter (1.0 is max volume)
Bob light : turn on/off a light the NPCs have on them
Bob give Apple : Give the object "Apple" from the controller's inventory to the user. For security, only Objects can be given.
Bob follow me
Bob follow Alice : follow the avatar whose first name is 'Alice'
Bob fly with me
Bob fly with alice : fly with another user
Bob stop : Stops his animation and his movement, and stops following you
</code></pre>
<h3>Waypoint and Pathfinding commands</h3>
<p>You need to have set up the map of your region for these commands. That is described elsewhere. The NPC can automatically try to find how to walk from waypoint A to B. Because this is computationally intensive, only paths with less than 15 connections between them are supported.</p>
<pre><code>Bob leave : Start walking randomly between connected waypoints
Bob teleport Bar : Teleports bob to the waypoint named "Bar"
Bob lookat Bar : look towards the waypoint named "Bar"
Bob moveto 1 : Walk to waypoint #1
Bob nearest : Tell me which is the nearest waypoint
Bob setpath 0:1:3:5:1:0 : Walk through the given waypoints, i.e. walk to waypoint 0 , then to 1, then to 3, then to 5 etc.
Bob goto 13 : Will walk between connected waypoints to waypoint #13
Bob go to Bar : Will walk between connected waypoints to the waypoint named "Bar"
: BEWARE! "goto" and "go to" (with space) are different commands
Bob go to : without a destination, Bob will print the names of waypoints he knows
</code></pre>
<h2>Command Notecards</h2>
<p>Multiple commands can be appended to a notecard, and then the NPC can execute them.</p>
<pre><code>Bob run-notecard my_script.scr : Execute the contents of the notecard my_script.scr (the notecard must be in the controller inventory
Bob my_script : Simpler syntax. Same as run-notecard: Starts executing the notecard "my_script.scr"
Bob batch say hi ; wait 10; say bye : Executes multiple commands one after the other. Commands are separated by ";" The commands will be executed as if they were in a notecard
Bob stop-script : Stop executing the notecard script
</code></pre>
<h2>Multiple appearances</h2>
<p>You can have multiple appearance notecards for an NPC by renaming them. The default notecard for NPC Bob is stored in the APP_bob notecard. You can rename the notecard to, e.g. APP_bob_swimming, and then ask bob to load that notecard:</p>
<pre><code>Bob dress swimming : load the appearance from notecard "APP_bob_swimming"
Bob dress : load the NPC's default appearance from notecard "APP_bob"
</code></pre>
<h2>Sitting on objects</h2>
<p>The NPCs can sit on objects with the "use" command.</p>
<pre><code>Bob use chair
</code></pre>
<p>Bob will attempt to find a SCRIPTED object (e.g. a poseball) named "chair" (You can change the Object Name from the properties box when editing it) near him and try to sit on it if its transparency (alpha) is less than 100%. Since by convention poseballs change their transparency to 100% when users sit on them, this ensures that Bob will not sit on an already-occupied poseball. If you just say "Bob use", the NPC will sit on the nearest scripted object.</p>
<pre><code>Bob stand : Bob will stand up if he is sitting
</code></pre>
<h2>Variables</h2>
<p>Variables can be used with IF commands in notecards for more complex behavior.Variables are global and shared between notecards and NPCs.</p>
<pre><code>Bob setvar foo 13 : set variable foo to be "13". Only string variables are supported. Variables can be used with IF blocks
Bob setvar foo : set variable foo to the empty string. (The empty string is the default value if a variable does not exist)
Bob say $foo : Bob says "13"
if var-is foo 13
say foo is thirteen
end-if
if var-is foo
say foo is empty string or not set
end-if
waitvar foo 13 : wait (and do nothing) until the variable foo becomes 13
</code></pre>
<p>The following commands increase and decrease a variable by 1. They are useful in cases where you want 2 or more avatars to be present to proceed:</p>
<pre><code>increase totalAvatarsHere : Increase the variable "totalAvatarsHere" by 1
decrease totalAvatarsHere : Decrease the variable "totalAvatarsHere" by 1
zero totalAvatarsHere : Set variable totalAvatarsHere to 0 (same as setvar totalAvatarsHere 0)
</code></pre>
<p>Example usage in a notecard:</p>
<pre><code>increase totalAvatarsHere
waitvar totalAvatasHere 2
say Now there are 2 of us
anim dance
wait 10
stop
...
say Time to depart
decrease totalAvatarsHere
</code></pre>
<h2>IF commands</h2>
<p>There is support for multiple levels of IF blocks. Blocks must end with "end-if". There is no "else" command, but you can achieve the same effect with "jump" commands</p>
<pre><code>if name-is bob alice : if the npc's name is Bob or alice
say I am either Bob or Alice
if-not name-is Bob
say I must be Alice
end-if
end-if : always end IF blocks with end-if. You can nest if blocks
if-not name-is Bob : Example of negative if
say I am not Bob
end-if
if-prob 0.3 : IF block will be executed with probabilty 0.3 (the if block will be executed 30% of the time)
say This will be heard 30% of the times
end-if
if var-is party 1 : Will execute the IF block if the variable party is "1"
say We are having a party already!
end-if
if var-is party : Will execute the IF block if the variable party is empty or not set
say No party yet, let's start one!
setvar party 1
end-if
</code></pre>
<p>Jump command. You can use the syntax @label to create labels in your notecards. The syntax is:</p>
<pre><code>@myLabel : a label
say This will loop forever
jump myLabel : like "jump" in LSL or "goto" in other languages. the label should be on a line by itself prefixed with '@'
</code></pre>
<h2>WAIT commands</h2>
<pre><code>wait 200 : wait (don't do anything) for 200 seconds
wait 200 300 : wait between 200 and 300 second before executing the next command
waitvar foo 13 : wait until the variable foo gets the value 13
waitvar foo : wait until the variable foo is empty.
</code></pre>
<h2>Other commands</h2>
<pre><code>Bob msgatt attachment_command 12 13 14 15
</code></pre>
<p>Uses osMessageAttachments to send the message "attachment_command" to attachments at attach points 12 13 14 15. This can be useful for scripting NPC attachments. Read the OSSL docs of osMessageAttachments() for more.</p>
<h2>Custom command notecards</h2>
<p>You can extend the list of commands with notecards. To create a command notecard, enter the commands for the NPC to execute in a notecard, and save it into the controller's inventory with the name [command-name].scr</p>
<p>E.g. a dance command notecard would be named "dance.scr" and contain the following</p>
<pre><code>say I love to dance!
anim RockDance
wait 600 800
say oops, I am tired...
stop
</code></pre>
<p>You can then say "Bob dance" to have bob execute the notecard</p>
<h2>Interactive menus</h2>
<p>With interactive menus, your NPCs can ask your visitors to make a choice from a menu in the local chat. The following notecard asks the user if they want apple or an orange and gives an object to them:</p>
<pre><code>say Welcome to the shop!
@prompt
prompt Do you want an [apple] or an [orange]?
say I didn't catch that. Starting over.
jump prompt
@apple
say Here is an apple
give Apple
jump end
@orange
say Here is your orange
give Orange
jump end
@end
say Goodbye
</code></pre>
<p>Here is how it works:</p>
<ul>
<li>The options of the menu are specified in the prompt string itself, in square brackets:
<pre><code>prompt Do you want an [apple] or an [orange]?
</code></pre>
</li>
<li>Bob will say "Do you want an [apple] or an [orange]?" to the local chat, and it will expect to read the words "apple" or "orange" in the local chat from your visitor.</li>
<li>If he hears "apple", he will jump to the label "@apple" in the notecard.</li>
<li>If he hears "orange", he will jump to label "@orange" in the notecard.</li>
<li>If he hears something else, he will not jump, but continue normally to the next notecard line after the "prompt" line. (In our case, he asks again).</li>
<li>The menu options can only be single words (e.g. "orange", or "apple"). They are case-insensitive, and the menu will work even if the word is said in a phrase (I.e. "I want an apple" will still jump to @apple)</li>
</ul>
<h2>Waypoints and Pathfinding</h2>
<p>You can use the controller to create waypoints and links between them in your region. Bob can then walk between the connected points when you say 'Bob leave'</p>
<p>Each waypoint has a number (starting from 0) and optionally a name. Waypoints can be connected to other waypoints, thus creating a map (graph) between them. Bob can then wander between the waypoints (Say "Bob leave" to start walking), and you can also ask him to find his way from point A to point B (say Bob go to [destination]).</p>
<p>The waypoint data are stored in the <strong>waypoints notecard, one in each line, and the links data is stored in the </strong>links notecard. You do not need to edit these notecards by hand however, as you can use the included Waypoint Editor HUD.</p>
<p>To create a map, first wear the WaypointEditor HUD. If you already have created a map before, click RezPegs from the HUD menu. This will rez a peg in each waypoint you have already created. If you are starting with an empty map, you do not need to do this.</p>
<p>To add a waypoint, move your avatar to the desired position, and select "AddPeg" from the HUD menu. A peg should appear in front of you. To create a second waypoint, move to another position, and repeat.</p>
<p>To link the two waypoints X and Y, click on the first one (X), then click on the second one (Y). The pop up dialog should say "Current peg: Y, previous: X". To link them, select "LinkPegs" from the popup dialog. To unlink two waypoints, again, click on the first one, then click on the second one and select "UnlinkPegs" from the popup. Be careful to disregard all other dialogs that have popped up.</p>
<p>You can give a name to waypoints. Click the peg, select "SetName", and enter the name (E.g. "Bar"). You can use this name to give commands to your NPCs later (e.g. "Bob go to bar").</p>
<p>You can move the waypoints around to correct their positions. Important: After you move pegs to new positions click "ScanPegs" from the editor HUD. If you don't do this your changes will be lost.</p>
<p>After you have created/edited your waypoints, click the WaypointEditor HUD and select "SaveCards". This will update/create the <strong>waypoints and the </strong>links notecards inside the controller to match your new map. To test that all went well, clear the pegs and rez them again.</p>
<p>Note! Removing waypoints is not supported, as it would break the numbering and would mess up the notecard naming scheme. Although deleting is not supported, you can unlink a waypoint from all other waypoints, in which case the NPCs will never go there when wandering. If you want to start over with an empty map, edit the <strong>waypoints and </strong>links notecards, remove all their contents, and then select "Reconflg" from the controller.</p>
<h2>Configuration</h2>
<p>Configurable options for the controller are added in the __config notecard:</p>
<pre><code>AutoLoadOnReset=0
</code></pre>
<p>Change AutoLoadOnReset=0 to AutoLoadOnReset=1 to make the controller rez the NPCs automatically on region restart or script reset. Please note that autoloading NPCs may not always work well with some opensim versions.</p>
<h2>Permissions</h2>
<p>Permissions allow you to limit access to NPCs , and to specific commands to certain users or to all users. An access control list is specified in the __permissions notecard which is inside the controller object.</p>
<p>Each line in the __permissions notecard has the format</p>
<pre><code><npc-name> <command-name> = <RULE> <avatar name>
</code></pre>
<p>Where RULE is ALLOW, DENY, ALLOWID, DENYID or ALLOWSAMEGROUP (read below for usage).</p>
<p>The following line blocks (denies) avatar "Bad Hombre" from issuing the "bob come" command:</p>
<pre><code>bob come = DENY Bad Hombre
</code></pre>
<p>You can substitute the name of the NPC or the name of the command or the name of the avatar with the wildcard character '*'. for example, this blocks any avatar from using the command:</p>
<pre><code>bob come = DENY *
</code></pre>
<p>you can block any avatar from issuing the "come" command to any NPC:</p>
<pre><code>* come = DENY *
</code></pre>
<p>you can block any avatar from issuing any command to Bob:</p>
<pre><code>Bob * = DENY *
</code></pre>
<p>you can block a specific avatar from using any command on any npc:</p>
<pre><code>* * = DENY Bad Hombre
</code></pre>
<p>you can also use the DENYID command to block an avatar by UUID</p>
<pre><code>* * = DENYID d37a3f5b-562a-4bfd-b780-68c0b9b940b1
</code></pre>
<p>and you can block any avatar from using any command with any NPC!</p>
<pre><code>* * = DENY *
</code></pre>
<p>The rules specified in the notecard are executed from top to bottom, therefore you can add exceptions for specific users with the ALLOW and ALLOWID commands at the end of the list:</p>
<pre><code>* come = ALLOW Good User
* come = ALLOWID d37a3f5b-562a-4bfd-b780-68c0b9b940b1
</code></pre>
<p>You can also use the keyword ALLOWSAMEGROUP, which allows any avatar that is in the same group as the controller object.</p>
<pre><code>* come = ALLOWSAMEGROUP
</code></pre>
<p>You can use the wildcard '*' with the ALLOW commands as well</p>
<pre><code>Bob come = ALLOW *
* come = ALLOW *
Bob * = ALLOW *
</code></pre>
<p>An example __permissions notecard is given below which blocks any avatar from controlling the NPC "Alice" and disallows the "exec" command, but allows exceptions to certain users. It also blocks "evil user" from any command:</p>
<pre><code>Alice * = DENY *
* exec = DENY *
Alice * = ALLOW Good User
Alice * = ALLOWSAMEGROUP
* exec = ALLOW Good User
* exec = Allow Another Gooduser
* * = DENY Evil User
</code></pre>
<ul>
<li>Note that the ALLOW, DENY, ALLOWID etc. rules need to be in CAPITALS. Also, There must always be a space before and after the '=' character.</li>
<li>The owner of the controller is always able to use all commands with all NPCs regardless of access list.</li>
<li>If you make changes to the __permissions notecard, please click on the controller ->ReConfig to reload the permissions list.</li>
</ul>
<h2>Initialization commands</h2>
<p>The notecard <strong>initcommands contains initial commands to give to the NPCs. If AutoLoadOnReset is enabled, the notecard contents are executed automatically after loading. You can also manually execute the notecard by clicking "InitCmds" from the controller menu. You can use the </strong>initcommands to add any command that sets your NPCs in motion. Typically you would tell them to "leave" so that they start walking between waypoints. An example of __initcommands is :</p>
<pre><code>Bob say I am rezzed!
Bob teleport <64,64,22>
Alice teleport <128,64,22>
Bob leave
Alice leave : Start walking!
</code></pre>
<h2>Extension scripts</h2>
<p>You can extend the functionality of the controller with extension scripts. Extensions are LSL scripts that you create and add inside the controller object. If a command given to an NPCs is not understood by the NPC controller, the NPC controller will send a link_message to the extension scripts to process it. The extensions can also use link_message to send back commands to the NPC controller (the "number" parameter must be greater than 0) . The OSW NPC Controller object already contains an extension that implements the "help" command (look at the "..Extension" script). The script in it shows how extensions parse the data sent from the controller (sent through link_message) and how they can respond back.</p>
<p>The number parameter of the link_message is -1 if it comes from the controller script. The key parameter of the link_message is the UUID of the NPC. The string parameter of the link_message (or through channel 68) is of the format:</p>
<pre><code>! [uuid] Bob Bob help
</code></pre>
<p>Where:</p>
<ul>
<li>[uuid] is the UUID of the user who gave the command</li>
<li>Bob is the name of the NPC. The name is repeated once again.</li>
<li>What follows is the rest of the command that the NPC heard (e.g. "help")</li>
</ul>
<p>You can easily split the string with llParseString2List. Look into the ..Extension script for an example.</p>
<h2>Sending commands from other objects</h2>
<p>You can send commands directly to the NPC controller from any object. The NPC controller listens on channel 68. You have to remember to send the command using llRegionSay region-wide, so that the controller can hear it. The syntax is the same as the one used in link_message:</p>
<pre><code>llRegionSay(68, "! 0000-0000-0000-0000 Bob Bob say hello");
</code></pre>
<p>The UUID can be zero, and the name of the NPC must be repeated twice, as shown above</p>
<ul>
<li>ONLY scripts owned by the owner of the controller can send commands this way *</li>
</ul>
<h2>Setting controller variables from other objects</h2>
<p>Another way to interact with the controller is by setting variables from other objects by sending SETVAR [variable name] [value] from other objects to channel 68. This is the syntax:</p>
<pre><code>llRegionSay(68, "SETVAR foo 1");
</code></pre>
<p>(SETVAR must be in capitals. This example will set the variable "foo" to "1").</p>
<p>The variables can be used normally in notecards. In this example notecard, the NPC will waits for the variable "foo" to become '1' before starting to dance:</p>
<pre><code>@start
say Waiting for variable foo to become 1...
waitvar foo 1
say Variable foo is now 1! Let's dance!
anim dance1
wait 10
stop
setvar foo 0 : Reset var foo to 0 before waiting again
jump start
</code></pre>
<h2>Technical Notes</h2>
<p>The controller runs a single timer, that updates the states of all the NPCs every 5 seconds. This allows it to be extremely lightweight, as it does not block any script processing, but it may also cause delays when executing commands.</p>
<p>The controller checks the number of visitors in your region every 2 minutes. If there are no visitors in the region for 2 minutes, it will stop executing commands to avoid creating unnecessary load to the region.</p>
<h1>Bugs</h1>
<p>The controller was tested with version 0.8.2.1 . There may be multiple issues with other versions. Please add an issue, or get in touch with Satyr Aeon @ hypergrid.org:8002</p>
<h1>Thanks</h1>
<p>Thanks goes to Spax Orion for testing out lots of features and giving feedback</p>

👍 8 like

Milestones

Hide Feed  
Welcome to MAGABAGA INTERNATIONAL SPACEPORT- All species are welcome, even humans... SIMs at WTG are connected so fly your ship and use our facilities.. Enjoy the performance of our alien artists... And avoid being nearby Aracno Airlines store... they are not much keen of people...

Joe Builder: Is this place the revamp on Lani Global lol I'm only kidding looks great I have a few similar regions with the same feel :) 19 hours ago

These are three of my avatars just dancing' the night away on my Magical Fairies Pass 2 Fantasy region! ;)
So much fun adding to these OAR builds ;)

Neue Kleider eingetroffen.

New clothes arrived.

Lunaria Emporium is my main store located on Wolf Territories Grid, where you'll find unique products related to architecture and decor in multiple themes.

The central store is large, with multiple rooms that include themes such as Christmas, Gothic, Vampire, Arcane Magic, Castles, Steampunk Airships, Medieval, Japanese/Asian, Greek and Roman, Statuary, Decor, freebies, large architecture in multiple styles, and large Venues.

Surrounding the central rotunda are large viewing parcels at ground level where you can walk through all of the structures available for purchase and experience the builds firsthand. They can be accessed by teleport boards, bridges, flying, or taking a boat ride.

There are freebies scattered throughout the central store with several items free to anyone. Also available for free are the Ruth 2.0 and Roth 2.0 mesh avatars and huds.

Important Note: Use Shared Environment and higher graphics to see the region properly. As you explore the various parcels, the sky settings will change to fit the theme.

Many of my products can also be found on the Kitely Market here: https://www.kitely.com/market?store=13957705&wt=os, but all items at the store are 20% off Kitely Market Prices, since Wolf territories is not taking 20% off the top of every sale. I pass on those savings to you.

The castle is a new area to explore, it is still under construction, you can already find beautiful places to shop and get lost in magical corners

Indigo Blue Realm Welcome Center especially built with newbies in mind. Video & Walk through tutorials. Now have to translate them to other languages. Always something to add or tweak in virtual life. There is a learning house and learning store to practice rezzing items, buying items and decorating rooms etc.

Jamie Wright: This is so cool! Thank you for offering this @IndigoQueenKing 2 months ago
Pictured is a panoramic view of the entire Emporium region which is all at ground level, with Luxor visible beyond the Castles area. The central store is large, with multiple rooms that include themes such as Christmas, Gothic, Vampire, Arcane Magic, Castles, Steampunk Airships, Medieval, Japanese/Asian, Greek and Roman, Statuary, Decor, freebies, large architecture in multiple styles, and large Venues.

Surrounding the central rotunda are large viewing parcels where you can walk through all of the structures available for purchase. They can be accessed by teleport boards, bridges, flying, or taking a boat ride. There is a freebies section inside the central store with several items free to anyone. Also available for free are the Ruth 2.0 and Roth 2.0 mesh avatars along with the current huds and accessories.

Important Note: Use Shared Environment and higher graphics to see the region properly. As you explore the various parcels, the sky settings will change to fit the theme.

Many of my products can also be found on the Kitely Market here: https://www.kitely.com/market?store=13957705&wt=os and can be delivered directly to your inventory on your grid, but if you don't mind hypergridding, those same items are 20% off Kitely Market prices if you get them directly from my main store.
At Lunaria Emporium on Wolf Territories Grid you can walk through and interact with all my structures, including the Victorian Club, a large entertainment venue / bar done in the late 19th century Gilded Age style, rich with texture and lighting. The venue is perfect for live performers, DJs, and any other large celebration or gathering, such as grid parties, birthdays, weddings, and anniversaries. Step inside to luxurious elegance and extravagant detail, from dark wood paneling and chevron wood floors, to gold chandeliers and paneled ceiling. A full bar greets you after you enter, complete with leather and wood stools, granite and leather countertops, brass taps, registers, glasses, and a variety of spirits. At the far end is a turn-of-the-century stage with Edison lighting. Along both sides by ornate carved columns you'll find plush leather chairs and cozy lighting. The entire build truly comes to life when paired with Shared Environment and higher graphics settings to bring out the material textures.

The Club began life 3 years ago on Utopia Skye Grid as the Fetish Fire Club where it is still used for fantastic music and light shows to this day. A slightly modified and larger version sits on Wolf Territories Grid as the Wolf Pack Club which is also in continuous use for various events.

The Club comes with a variety of extra accessories: a beautiful mesh vase with flowers, a variety of mesh glassware, a copy of the Victorian Seating group, and a copy of the Victorian Street Lamp.

There are 3 gold light switches inside the club that control 3 lighting areas. Two are located near the back of the club to the right of the stage on a wall: the top one turns on the chandeliers and the bottom one turns on the wall sconces. The third switch is on the middle of the bar and turns on the 4 bar lamps and undercounter lights near the stools. The scripts for the switches are NO MODIFY, due to a licensing agreement with the script creator. All other scripts and parts of the club ARE modifiable. This will cause the copy of the club in your inventory to show as NO MODIFY, but it's really only these 3 scripts that cannot be changed or looked at.

All chairs and stools use the AVSitter seating system and must remain linked to the build to ensure they remain working properly. While the AVSitter poses can be adjusted, no more can be added, but you can remove AVSitter and add your own seating system and animations if you like.

The Victorian Club is available on the Kitely Market here: https://www.kitely.com/market/product/68334068/Victorian-C... and can be delivered directly to your inventory on your grid.

If you don't mind hypergridding, the Club is 20% off Kitely Market prices if you get it directly from my main store.

Joe Builder: Very nice :) nice textures I'm not one for the use of spec map to much but nice never the less. 3 months ago
This is the Castle display area at Lunaria Emporium where you can walk through them all. My first attempt at building in SecondLife 15 years ago was a castle and I never looked back. There three available for purchase in different styles and they all have multiple hidden chambers and passages to discover:

The Ceridwen castle, done in a fantasy/fairytale style in a silver and amethyst color palette with a special hidden room below

The Caerwyn Fortress complex, which is a massive, detailed fortress in the Norman / Celtic tradition with realistic 13th century textures. The fortress was inspired by the remains of Harlech Castle located in Harlech, Gwynedd, Wales

The Caerwyn Keep, designed with a smaller footprint in mind

A medieval covered stone bridge to match

There's also a partially finished Camelot Keep that I hope to get back to someday, but it is not currently available. All the castles are available on the Kitely Market here: https://www.kitely.com/market?cat=50600&store=13957705 and can be delivered directly to your inventory on your grid.

If you don't mind hypergridding, all venues are 20% off Kitely Market prices if you get them directly from my main store.

Gabriel_Solstician: Highly detailed buildings - Luna’s right, well worth visiting first, you won’t be disappointed! ☺️ 3 months ago
This is the Entertainment Venues area at Lunaria Emporium, where you can walk through all my main ballrooms, clubs, and lounges. All of them include the decor and furniture that you will see inside each one, or you can find the decor separately in the main store building. These structures tend to be large and complex with a mixture of mesh and prims, and they make heavy use of materials textures which can only be seen with higher graphics settings enabled. Remember to use Shared Environment to see the sky setting shown above.

All of these venues can be found on the Kitely Market here: https://www.kitely.com/market?cat=50600&store=13957705, and can be delivered directly to your inventory on your grid.

If you don't mind hypergridding, all venues are 20% off Kitely Market prices if you get them directly from my main store.

Come take a look at the remodeled store.
Uber: hop://playground.darkheartsos.com:8002/Darkhearts%20Boutiq...
Other TP options: https://opensimworld.com/hop/91802

This is the main Roman display area, and you can walk through all the Roman structures here. This is one of several display areas at Lunaria Emporium at ground level surrounding the main store. Each area has a theme and has its own EEP sky setting to accentuate it. Make sure you have Shared Environment selected as well as higher graphics to see the shadows and materials.

You can reach this area by clicking the Roman sign in the lobby on the left side, or by taking the bridge, hopping a boat, or flying.

Safinemahoe2: Beautiful work my friend! 3 months ago
This is the Statues/Roman room on the second floor of the main store building at Lunaria Emporium. Here you can find multiple high detail statues sourced from complex stl scans of the real world versions, then optimized for Opensim and fitted with multiple textures available through touch menu. All statues carry a commercial license embedded inside noting where you can source your own stl version if you like. Additionally, there are wall vendors displaying various Roman structures with a teleport tab to walk through them all. You can find this room by clicking the Roman sign in the main lobby. Don't miss the free angel statue in the adjacent room.

These items are 20% off Kitely Market prices, many of which can be found on the Market here: https://www.kitely.com/market?cat=50900&store=13957705

LE TERRACE- THE only Alien places where one can play greedy, sip an alien coffee and have a view from Jupiter.

360 degrees PIC of MAGABAGA MEGA MALL in Europa. All SCI-Fi stuffs and related can be found here for FREE and FULL PERM. Enjoy :)


Mystic Moonlight: great build jimmy and ty for sharing~S~ 3 months ago

Bri's Rock'n Roll Diner

This is the Magic and Mysteries room inside the main store on the second floor. There are several different arcane circles - Red, Blue, Wiccan, Norse, Sacred, Egyptian, Celtic - each with multiple textures accessible by menu. The Seven Chakras circle comes with a meditative pose, seven textures, and seven stations corresponding to the chakras. There are also vendors for all my Goth / Vampire / Halloween / Cemetery items along with teleports to walk through the full cemetery. Most of these items are available on the Kitely Market, but they are 20% less if you get them directly from the store. Click the magic and Mysteries sign in the lobby to get to this room.
This is the Asian Heritage room at Lunaria Emporium inside the main store building, primarily consisting of Japanese / Chinese inspired items. None of the pieces are intended to be historically accurate, just my personal take on the styles. The buildings displayed on the vendors can be walked through by clicking the teleport link under each one. Some of the items in the room are free, such as the golden Buddha and the lizard garden lamp. You can get to this room by clicking the Asian sign in the main lobby.

Mistressdalgato: I have a few of those pieces and can say its worth the money. 4 months ago

Havana is located at OMG Twiztid Timez grid. Come along and explore the wonder of Havana where color explodes into a vibrant and bustling reproduction of the Cuba Havana.

This is the first of a set of 360° snapshots of my Emporium. This is the new lobby and everything you see is for sale (except for infrastructure stuff like joiners, etc). There's some new Art Deco pieces displayed for sale such as the Deco tall lamps, The Deco seating group, the Art Deco ceiling lights, and the Deco bar, which comes with AVSitter in the stools. The Art Deco pieces are currently only at the Main Store since I haven't added them to the Kitely Market yet. The pool in the center is free, and there are teleport boards on either side to quickly get to specific product areas.
Have a look at the recently opened Starchild Shoppe. Mainly quality, adult, furniture at the moment - adding some landscaping items too. Do leave a notecard at the mailbox for anything you might want to see there!
Uber: hop://playground.darkheartsos.com:8002/Darkhearts Boutiques/378/349/23
Snowy candy beaches and sparkling surf... for a limited time. Also: Brand new surf kit in the shop! Along with some crazy cute Athena dresses with original created textures and legit mesh models included in the dress kit. Design something! Or just wear the hot little Christmas outfits I included. Happy Holidays!

Lillysparks: Let's be honest- this is a very funny 360 FAIL . LOL I am not so talented with the steady hand of a 360 pan zoom. Hahaha But this was 5 coins so I am letting it stay. Cheers. 5 months ago
Greetings, my SHOUTcast server has two(2) streams now. See them here: http://grid.toallchurches.net:7778

A person can either listen to the "No More Sleepless Nights" Audiobook (with a few ALOtones™ in between) or listen to my main stream. To listen to the audio book from a media player, or your Region/Parcel on Firestorm, copy the link above, then paste into your preferred media player or Firestorm. To listen to my main stream, copy this [link](http://grid.toallchurches.net:7778/stream/2/) and then paste into your preferred media player or Firestorm.
Playing the [main URL](http://grid.toallchurches.net:7778) will default to Stream No. 1.

Thank you, Shalom.

hop://login.osgrid.org/Flat%20Earth/128/128/27 | https://opensimworld.com/post/103380

P.S. I fixed that issue of not being able to TP to my regions a few days ago, it's just something that has to be re-done every time Win-Acme renews the Cert, and I had forgotten about it.

Greetings, my SHOUTcast server has two(2) streams now. See them here: http://grid.toallchurches.net:7778

A person can either listen to the "No More Sleepless Nights" Audiobook (with a few ALOtones™ in between) or listen to my main stream. To listen to the audio book from a media player, or your Region/Parcel on Firestorm, copy the link above, then paste into your preferred media player or Firestorm. To listen to my main stream, copy this [link](http://grid.toallchurches.net:7778/stream/2/) and then paste into your preferred media player or Firestorm.
Playing the [main URL](http://grid.toallchurches.net:7778) will default to Stream No. 1.

Thank you, Shalom.

finally finished ... just some odds and ends to tweak.

Have my SHOUTcast stream up all night. Listen at my regions or on your favorite media player at: http://142.44.178.114:7778

hop://hg.osgrid.org:80/Tiki%20Summer/169/153/23

Saved this 360° snapshot a couple days ago, from inside the dome at my region. Plus have my stream up again for anyone who would like to listen either in-world at my region hop://hg.osgrid.org:80/Flat%20Earth/52/52/23 or on your favorite media player that supports stream URLs: http://Grid.ToAllchurches.net:7778

Also follow me on Twitter: https://twitter.com/Edward77Ashford and/or Twitch https://twitch.tv/white00moon

Added the Top Gun Soundtrack to the end of my play-list. Also added a couple other albums that I didn't have on the play-list, so now have just over 38 hours of tracks on my play-list. (Including an audio book titled, "No More Sleepless Nights") http://142.44.178.114:7778 | Thank you.

Flat Earth Dome with Glowing frame, Light Cycles, Tikki Torch Lights, and Firefly lights, as well as the stars of the night season of the Cycle showing through the dome. Which resembles slightly the Real Life Glass Dome that we're all living underneath. Have you ever wondered why there's so many old buildings with domes?

https://rumble.com/v23l6ck--aether-by-marcia-ramalho-.html

https://joomla.wholisticapproaches.net/index.php/10-flat-p...

Also have my Stream Up for anyone who would like to listen: http://Grid.ToAllchurches.net:7778
Greetings, since it was a little bit dark in the dome, I thought it could use some light. Some Tiki Party Lights, a few Light Cycles, and a few Firefly Lights. Although the 360 image saved with FirestormOS didn't pick up the Firefly lights.

hop://hg.osgrid.org:80/Flat%20Earth/50/50/23
Had a few CD's still in the wrappers so I opened them up today and copied them to my computer for my SHOUTcast stream. "The Very Best of "by Daryl Hall & John Oates, "The Man in Black - The Definitive Collection" by Johnny Cash, and "A Love So Beautiful" by Roy Orbison.
SHOUTcast URL: http://grid.toallchurches.net:7778

hop://hg.osgrid.org:80/Flat%20Earth/50/50/23
Have my SHOUTcast stream up with several music albums and a couple soundtracks from two movies. … until WinAmp crashes again, will see if it crashes again. http://142.44.178.114:7778

hop://hg.osgrid.org:80/Flat%20Earth/19/236/25
[ U P D A T E ]

My apologies that Brotown has not been open to the many folks who inquire about it regularly. I took a break from the virtual world, but I'm back part time now and am working diligently whenever I have time to spare. Behind the scenes, I've been working to expand Brotown to a 3x3 var region, as well as adding in a few new commercial venues to check out. I spotted something the other day that I've been in touch with the owner of to see about receiving a copy so I can incorporate it into one of those said venues. Keeping it all hush-hush for the moment, as I don't want to spoil the surprise, but I do hope things will work out well. I'll be sure to let you all know when Brotown is available for visiting and appreciate all of you who keep my interest in it alive!
Greetings, have my SHOUTcast stream up now. You're welcome to visit my region anytime, though you can also listen where ever you are, on your media player, such as WinAmp or VLC, or others that support URL's.

LM: hop://hg.osgrid.org:80/Flat%20Earth/45/45/23

SHOUTcast URL: http://grid.toallchurches.net:7778

Thank you
This took me a little while to make, it's not a new product but the consolidation of the look of the shop and related items.
I re-made the whole shop, with the familiar look it had before but a little bit more steampunkish, modern materials and I got it ready for future technologies like PBR materials.
It features an elevator now instead of the good ol' ramps and while it looks more or less the same size than before it holds a ton more space than before so my perpetual issue with space is over.
The beacon now is inside the shop for whom comes to the sim to choose another destination.
Also I made a new boxand refreshed every single product in the shop.
I'll release a new product soon now that this project that started in 2019 is finally complete.

Happy Sunday!

Lone Wolf: Lone *LOVES* his new hat. 11 months ago
A few years ago I found a small collection of Flat Earth photos, which I placed in an album on SmugMug, and set it to display as a slideshow. Today it loaded in-word for me for the first time in a while. Not sure what the problem was, though maybe the region needed a restart.
hop://hg.osgrid.org:80/Flat%20Earth/140/127/23

SkyRealm Observatory~A dream realized~Thank you, @FerdFrederix

This is where all the Dinkies Hangout on Opensim every Fridays from 8:00am - 10:00am at Funsize Dinkies World Resort
(DINKIES ONLY REGION)
alternatemetaverse.com:8002:Funsize Dinkies

Dismayland - Aquaholic Tours


Comments

No comments yet

Loading...