OpenSimWorld @opensimworld

Offline

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


SFPoser Animation Controller

<img src="https://opensimworld.com/data/p/87/87/62087.jpg" style="width: 325px; height: 325px; display: block; margin-left: auto; margin-right: auto;"><br><p><br></p>
<br><br>
<b>WHAT IS SF POSER</b><br><br>

SF Poser is a General-Purpose Animation Controller for up to <strong>99</strong> avatars. It can be used to create furniture from scratch and quickly without editing notecards at all. It allows on-the-fly adjustments of poses and change of animations, automatic timers, prop rezzing, NPC rezzing, RLV, expressions, and other built-in powerful utilities.<br>
It uses the same notecard format of the wonderful PMAC system, which means that it works right away with existing PMAC furniture. <br><p><br></p><p><br>
<strong>QUICKSTART WITH SF POSER</strong><br><br>

You can get the SFposer package from the opensimworld region: <a href="https://opensimworld.com/hop/74730">https://opensimworld.com/hop/74730&lt;/a&gt;&lt;br&gt;
The package contains an empty SFposer Template. <br><br>

- Rez the template and add your animations in its contents <br>
- Click on it and select OPTIONS->New Menu to create a new poses menu. A new empty pose (Pose1) will automatically be added to the new menu<br>
- Click OPTIONS -> EDIT POSE to adjust the pose. The positioning handles will appear. <br>- Touch each handle to select an animation from inventory<br>
- Move the handles to position the avatars<br>
- When done, click Save Pose, and then Save Menu<br><strong>Congratulations, you just created your first menu card and pose!</strong></p><p>- To add more poses, click Options -> Edit Pose -> New Pose and repeat</p><br><br>
<strong>SF POSER FEATURE SET</strong><br><p><br></p><ul><li><strong>Fully Automated</strong> editing. SF Poser allows you to create new notecards and poses on the fly, and save them without ever creating or editing notecards and without the need to stand up/reset the script</li><li>Animation <strong>switching</strong>: Clicking the positioning handle allows to experiment with different sets of animations</li><li><strong>Adjust </strong>menu: Users can make temporary finetuning to their position on-the-fly in order to perfectly match the pose</li><li><strong>Expressions</strong>: emote using a facial expression at any time</li><li>Built in support for <strong>LockGuard </strong>chains</li><li>Built-in support for <strong>RLV</strong></li><li>Built-in support for Rezzing <strong>NPCs
</strong></li><li>Built-in Object <strong>Giver</strong></li><li>Built-in <strong>Props </strong>rezzer with ability to rez/derez/move objects</li><li>Built-in utilities such as sending chat channel <strong>messages</strong>, OSSL messages, attachment messages and more </li><li>Configurable via the '.<strong>SFconfig</strong>' notecard</li><li>Create custom Button commands with a single line in the .SFconfig notecard using powerful <strong>Shortcodes </strong>(see below) </li><li><strong>OSSL-native </strong>script, meaning that you can control up to <strong>99</strong> avatars with a single script. It requires that the owner has enabled OSSL permissions.</li><li>Small footprint: A <strong>single </strong>script for everything. The script uses as little resources as possible, and resets when unused, minimizing memory usage. Loading time is instantaneous</li><li>Link-message and dataserver-<strong>API </strong>for fully remote operation. SFposer can become the animation-controlling part of another object such as a vehicle or a game</li><li><strong>Permission </strong>system for limiting access to menus.</li><li><strong>Snappy </strong>operation and uncluttered menu dialogs</li></ul><p><br></p><strong>HOW TO CONVERT AN EXISTING PMAC OBJECT</strong><br><br>
- Remove all the existing scripts from the object<br>
- Drop the ~positioner, the ~baseAnim and the ..SFposer script in the contents of the PMAC object. You will find those inside the SFposer Template object<br>
- That's all!  If you need to convert existing PMAC plugin options to SFposer, <a href="https://opensimworld.com/tools/pmac">use this converter</a><br><br><br>
<strong>HOW TO CONVERT FROM OTHER SYSTEMS (AvSitter/MLP)<p><br></p></strong>There is an online converter system that you can use to convert MLP and AVsitter cards to the SFposer/PMAC format: <a href="https://opensimworld.com/tools">https://opensimworld.com/tools&lt;/a&gt;&lt;br&gt;&lt;p&gt... AND POSES</strong></p><p>A POSE is a set of avatars playing animations in specific positions. SFposer organizes the poses in MENUS (groups of poses), and each of  the menus is saved in a separate notecard inside the object. Each menu notecard line describes one POSE, and all the poses in the menu support the same maximum number of avatars. The notecards are automatically created and saved by SFposer, but you will need to edit the notecards to add Shortcodes, which provide additional functionality.</p><p><br></p><br><br>
<strong>USING SHORTCODES{}<p><br></p></strong>Shortcodes are strings of the form <strong>SHORTCODE{argument1; argument2} </strong>which are added to notecards to instruct SFposer to do something while playing an animation. They can also be invoked through add-on buttons in the OPTIONS  menu, from other scripts via llMessageLinked() and remotely from other objects using the SFposer dataserver-API. <p><br></p><p>To add a shortcode to a pose, insert it in the specially reserved second column of the .menu notecards, right after the pose name. The column is usually occupied with "NO COM" or "NOCODE".  Replace those with your shortcode(s):</p><code>Dance Together2|<strong>NO COM</strong>|danceLeft2|...<br>Dance Together|<strong>EXPR{smile;3;smile;4} SAY{Hello!} SAY{Hello again}</strong>|danceLeft|...<br>Dance Together3|<strong>SHORTCODE_GOES_HERE</strong>|danceLeft3|...</code><br><p><br></p><p>You can add multiple shortcodes{} simply separating them with spaces</p><p>There is additionally a configuration notecard for SFposer named '.SFconfig' where you can also add shortcodes, one per line (more on this later)</p><p>A shortcode{} can be executed via a button in the OPTIONS  menu. To create a button, add a <strong>Button </strong>line in the .SFconfig notecard as follows:</p><p><em><strong><span style="font-family: monospace;">Button=ButtonLabel=SHORTCODE{arg1;arg2;arg3}</span></strong></em></p><p>After editing notecards, you need to stand up and sit again, to force the script to reset and reload them.</p><br>
<br><br>
<strong>ADDING EXPRESSIONS<p><br></p></strong>For each avatar participating in the pose, you can specify an expression animation to play and the time it takes to repeat the expression (in seconds -- if you dont want repeats , enter 0). The Expressions Shortcode is:<br><br>
<code><strong>EXPR</strong>{expression1;repeatTime1;expression2;repeatTime2;expression3;repeatTime3 ... and so on for every avatar of the pose}</code> <br><br>

The expressions and repeatTimes can be left empty, but be sure to include the required ';' separators for all avatars in the pose. <br>
For example, the following notecard line defines expressions for the pose "WatchMovie" which is for 3 avatars:<br><br>
<code>WatchMovie|<strong>EXPR{laugh_emote;4;open_mouth;3;frown;0}</strong>|chair_sit|<0.2112.... [the rest of the pose line]</code><br><br>
In this case, avatar1 will play the animation express_laugh_emote every 4 seconds; avatar2 will play express_open_mouth every 3 seconds and avatar3 will play express_frown only once.<br>
For brevity, the "express_" part of the animation name is omitted (so you only enter "frown" for animation "express_frown") . The full list of available expressions is: <br><br>
<span style="font-family: monospace;">open_mouth, surprise_emote, tongue_out,smile, toothsmile, wink_emote, cry_emote,kiss, laugh_emote,disdain, repulsed_emote, anger_emote, bored_emote,sad_emote, embarrassed_emote, frown,shrug_emote, afraid_emote, worry_emote</span><br><p><br></p><p>If you wish to use a custom expression animation (e.g. a bento animation called bentoanim), you need to add the animation inside the SFposer object and rename it to "express_bentoanim". You can then use it as: EXPR{bento_anim;3}  </p><br>
<br><br>
<strong>REZZING PROPS <p><br></p></strong>

"Props" are objects to be rezzed with specific poses or via a button. All props objects must contain the <em>SFposer Prop script</em> so that they can be deleted after use. <a href="https://opensimworld.com/library?viewcode=104&amp;raw=1&am...">Click here to get the script</a><br><br>After adding the script to the prop, drop it in the contens of the object and rename it to "MyProp".<p>
Add the following Shortcode to a pose to rez the prop:<br><br>
<code><strong>PROP</strong>{MyProp;<1,1,1>;<0,0,0,1>}</code>  </p><p><br>This will rez MyProp at position <1,1,1> and rotation <0,0,0,1> relative to the object. You do not need to edit the position and rotation manually instead you can position the props correctly by editing the pose (read below).</p><p>If you need to rez multiple props, add multiple PROP{} shortcodes, separating them by space: <em>PROP{Prop1... } PROP{Prop2...} PROP{Prop3...} ....</em></p><p>Sit and re-sit on the SFposer to reload the notecards, and then select the pose again. The prop should rez in the position <1,1,1>, as instructed. </p><p>Now, edit the prop to position it to its final position, and then select <em> Options -> Edit Pose -> Save Pose</em>. The system will save the new PROP{} positions and also print them out in local chat.</p><p><br></p><p>Additional shortcodes for props are supported. You can use them to create Buttons that rez/derez props:</p><p><code><strong>TOGGLEPROP</strong>{MyProp;<1,1,1>;<0,0,0,1>}</code>   </p><p>When the button is pressed, it rezzes the prop, when pressed again, it deletes it. <br><br>
<code><strong>DELPROP</strong>{MyProp}</code>  </p><p>Deletes the prop
</p><p>For example, you can  define a rez/unrez button in the .SFconfig notecard as follows:</p><p><code>Button=Rez/Unrez=<strong>TOGGLEPROP</strong>{MyProp;<1,1,1>;<0,0,0,1>}</code></p><p>(remember to re-sit in order to reload the card)</p><p><br></p><p><strong>Attachment Props: </strong>You can use the "SFposer attachment prop script" (<a href="https://opensimworld.com/library?viewcode=106&amp;raw=1&am...">get it here</a>) to create props that auto-attach to a user (for example, a gym bench could use them to attach dumbbells to the sitter's hands). Use the following procedure to create attachment prop shortcodes:</p><p>- Wear the attachment, adjust it to its final position and add the "SFposer Attachment Prop script" inside it. <br>- RESET THE SCRIPTS in the attachment to record its position
<br>- Detach the attachment,  add it in the contents of the SFposer object, make it full permissions, and give it a name (e.g. MyProp)</p><p>Add the following shortcode to a pose to rez the prop and requests to attach to avatar sitting at position 0 (first avatar)</p><p><code><strong>PROPATT</strong>{MyProp;0}</code> </p><p>When you select that pose, the attachment prop will be rezzed and will request to attach to avatar at position 0 (the first avatar).</p><p>If instead you wish to attach the prop to the avatar that is currently using the menu, use the PROP{} shortcode: </p><p><code><strong>PROP</strong>{MyProp;<0,0,0>;<0,0,0,1>}</code> </p><p>Attachment props are not detached when switching positions, they will detach when you stand up. </p><p><strong>Note that Attachment props are temporary and cannot be detached by right clicking, instead the user will have to click on them to detach.</strong></p><p><br></p><p><br></p>

<p><strong>RLV SUPPORT </strong></p><p>SFPoser has built-in support for RLV and uses shortcodes to implement it. </p><p>Add the following lines to your .SFconfig notecard to create an "RLV Capture" and  an "RLV Release" button:</p><code> Button=RLV Capture=<strong>RLVCAPTURE</strong>{20}<br> Button=RLV Release=<strong>RLVRELEASE</strong>{}</code><p><br></p><p>RLVCAPTURE{20} indicates that 20 is the maximum distance  (in meters) within which to search for avatars to capture. </p><p>RLVRELEASE{} does not have any arguments </p><p>You can send RLV commands at specific poses with the RLV{} shortcode: </p><p><br></p><p><code><strong>RLV</strong>{avatarNumber; @rlvCommand1 ; @rlvCommand2; @rlvCommand3 ... }</code></p><p>avatarNumber is the position of the avatar (0 is the first avatar). You can send multiple RLV commands with a single RLV{} shortcode, but remember to separate them with ';'</p><p><em>RLV support works with osCollar 7. You can <a href="http://wiki.secondlife.com/wiki/LSL_Protocol/RestrainedLov...">read more about the RLV protocol here</a>.</em></p><p><br></p><br><p><br></p>
<strong>BUILT-IN GIVER<p><br></p></strong>

To give an object from inventory to the user who is currently using the system, create a Button in the .SFconfig notecard with the GIVE{} shortcode as shown below:<br>
<br>
<code>Button=Get Popcorn=<strong>GIVE</strong>{Popcorn}</code><br><br>
The button "Get Popcorn" will be added to the Main menu's OPTIONS  screen. Make sure the Popcorn object is inside the contents of the SFposer object and that it has copy permissions or else the command will fail silently<br><br><br>
<strong>NPC REZZING SUPPORT<p><br></p></strong>
You can add NPCs to SFposer by adding NPC appearance notecards inside the object. Each NPC appearance notecard must be renamed as follows (same as PMAC):<span style="font-family: monospace;"> <p><br></p><strong>.NPC00A Firstname Lastname<p><br></p></strong></span>Appearance Notecards that have been created for PMAC should work right away. <p><br></p>Add the NPC notecards and reset the object by re-sitting. The NPCs submenu should appear in the OPTIONS menu<p><br></p><p>You can use the shortcode<strong> ADDNPC{firstname lastname}</strong> in .SFconfig to rez NPCs during startup or after region restart. </p><p>You can also use the shortcodes <strong>ADDNPC{..} </strong>and <strong>DELNPC{..</strong>} in poses. </p><p><br></p><br>
<strong>LOCKGUARD V2 SUPPORT</strong><br>
SFposer supports LockGuard V2 cuffs for chains and ropes. In order to add lockguard to a pose, use the LG{} Shortcode:<br><br>
<code><strong>LG</strong>{0;rightwrist;rightHook}</code><br>
<br>
This sends a lockguard command to the cuffs worn by the avatar sitting at position <strong>0 </strong>(the first position) to link to the child prim named "<strong>rightHook</strong>". It sends the lockguard command "<strong>rightwrist</strong>" which is understood by the wrist cuff. You can add more lockguard options to the same "rightwrist" command , such as "rightwrist gravity 4 life 1.5 color 1 0 0", but DO NOT INCLUDE the "link" and "unlink" commands. These are added automatically by the system. You can <a href="http://wiki.secondlife.com/wiki/LSL_Protocol/LockGuard#Loc...">read more about the LockGuard protocol options here</a>.<br><p><br></p>You can add multiple LG{} Shortcodes for multiple cuffs. An example notecard line is:<br><br>
<code>UseCableMachine| <strong>LG{0;rightwrist life 1;righthook} LG{0;leftwrist life 1;lefthook}</strong> |cables|<1.3282,1.8789,0.8556>|<0.0001,-0.0002,0,1.></code><br><br>
Chains are unlinked automatically when someone stands.<br>
<p><br></p><p><br></p><br><strong>RUNNING EXTRA ANIMATIONS<p><br></p></strong>
You can use the ANIM{} and STOPANIM{} shortcodes to create Buttons that run animations ON TOP OF the currently playing animations of the pose. <p><br></p>For example, the following line can be added to the .SFconfig notecard to create a Button that plays the 'express_laugh' animation on the first 3 avatars of the pose:<br><br>

<code>Button=All Laugh=<strong>ANIM</strong>{express_laugh;express_laugh;express_laugh}</code><br><br>to stop those animations, use the STOPANIM Shortcode: <br><br>

<code>Button=Stop Laugh=<strong>STOPANIM</strong>{express_laugh;express_laugh;express_laugh}</code><br><br>
Note that, unlike the EXPR{} shortcode, you have to give the full name of the animation here, and there is no repeat-time <br>
<br><strong>ANIMATION SWITCHING WITH A TIMER</strong><br><br>
SFposer supports an auto-timer that switches to the next pose every X seconds. The menu TIMER is under OPTIONS. <br>
You can specify the default auto timer duration (in seconds) for all menus in the .SFconfig notecard<p><br></p><br><code>autoTimer=60 </code><br><br><p>You can change the auto-timer for individual poses with the shortcode <strong>TIMER{50}</strong>, which will set the animation timer every 50 seconds.Use <strong>TIMER{0}  </strong>to stop the auto-timer.</p><p><br></p><br>
<strong>ADVANCED SHORTCODE USAGE</strong><br><br>
Shortcodes like GIVE{... }, can be added to pose lines in the .menu notecards, and they can also be invoked from "Button" lines in .SFconfig (Buttons are added to the OPTIONS  menu).<p><br></p>Multiple shortcodes can be added to a pose in the .menu notecard . Just separate the shortcodes with a space.<p><br></p>For example, the following shortcode commands will rez the prop MyProp, and run the animation 'clap' when added to a pose line:<br><br>
<code><strong>PROP</strong>{MyProp;<1,0,0>;<0,0,0,1>} ANIM{clap;clap;clap;clap}</code><br><br>

The same Shortcodes can be invoked via a Button. The button is added via a line in .SFconfig notecard as follows:<br><br>

<code>Button=MyButtonLabel=PROP{MyProp;<1,0,0>;<0,0,0,1>} ANIM{clap;clap;clap;clap}</code><br><br><p><br></p><p><strong>ADDITIONAL SHORTCODES</strong></p><br>

In addition to the Shortcodes described so far, the following Shortcodes are supported:<br><br>

<code></code><code><strong>MSGPROP</strong>{MyProp;Hello, prop}</code> Sends the dataserver message "Hello, prop" to the already-rezzed prop MyProp using osMessageObject()<br><br>
<code><strong>MSGATT</strong>{0;Hello, avatar1 attachment;19,4}</code> Sends the dataserver message "Hello, avatar1 attachment" to the attachments attached on attach points 19 or 4 of the avatar sitting on position 0 of the pose (first position) using osMessageAttachments(). You can read more on <a href="http://opensimulator.org/wiki/OsMessageAttachments">the documentation of osMessageAttachment online </a>. You have to use the numeric codes for the attachment points. <a href="http://wiki.secondlife.com/wiki/ATTACH_HEAD">Click here to view the full list of attachment point numbers</a>.<p><br></p><p><code><strong>MSGOBJ</strong>{<object-uuid>;Hello object}</code> Sends the dataserver message "Hello object" to the object with UUID <object-uuid> using osMessageObject(). This can be used to send shortcodes to another SFposer, <strong>however </strong>you will have to replace the <strong>'{'</strong> and '<strong>}</strong>' characters with '<strong>[</strong>' and '<strong>]</strong>' in the shortcodes for this to work. For example, to change the pose in another sfposer object:</p><p><em>MSGOBJ{<target-object-uuid>; SAY[Changing pose] SWITCHTOPOSE[MyPose]}</em></p><br>

<code><strong>MSGLINK</strong>{4;Hello link number 4}</code> Uses osMessageObject to send the dataserver message "Hello link number 4" to the linked prim at link number 4<br><br>

<code><strong>SAYCH</strong>{21;Hello, channel 21}</code> Uses llSay() to say the string "Hello, channel 21" to the local chat channel 21. The string can contain the special codes %<strong>USER00, %USER01, %USER02</strong> etc which are replaced witht the name of the avatar sitting at position 1, position 2 etc. An example:<span style="font-family: monospace;"> <strong>SAYCH{0; The user %USER00 is sitting with %USER01} </strong></span><br>
<p><br></p><p><code><strong>SAY</strong>{Hello public channel}</code> Same as SAYCH, but for the local chat (channel 0)</p><p><code><strong>REGIONSAY</strong>{21; Hello channel 21 in the whole region}</code> Like SAYCH, but region-wide</p><p><code><strong>USAY</strong>{Hello dialog user}</code> Say something to the user currently using the dialog</p><br>
<code><strong>LINKMSG</strong>{-1;99;Hello, all prims}</code> Invokes llMessageLinked(-1,99, "Hello, all prims" , <list-of-avatarIds> ) to send a link message. Note that LINK_SET = -1, LINK_THIS=-4<p><br></p><p><code><strong>TRIGGERSND</strong>{My sound}</code> Play the sound "My sound" using llTriggerSound</p><p><code><strong>PLAYSND</strong>{My sound}</code> Play the sound "My sound" with llPlaySound </p><p><code><strong>LOOPSND</strong>{My sound}</code> Start playing a sound loop with sound "my sound"</p><p><code><strong>STOPSND</strong>{}</code> Stop playing sounds</p><p><code><strong>SLEEP</strong>{0.5}</code> Add a delay (sleep) for 0.5 seconds</p><p><br></p><p><br></p><p><strong>Changing linked prim  properties on the fly</strong></p><p><br></p><p><code><strong>SHOW</strong>{MyChildPrim; <1 or 0>}</code> Show or hide the child prim named MyChildPrim (1 = show). This changes the child prim's opacity</p><p><br></p><code><strong>SETPRIM</strong>{MyPrimName; <specially-encoded-list> }</code><p><br></p><p>This shortcode can be used to change the properties of the linked prim(s) named "MyPrimName"  using the list of prim properties as in llSetPrimitiveParams(). It is essentially a way to call llSetLinkPrimitiveParams() without adding another script in the object. To use this shortcode, you must encode the list of parameters to llSetLinkPrimitiveParams() in a special format that can be pasted into the notecard. Use the script "SFposer encoder for SETPRIM" (<a href="https://opensimworld.com/library?viewcode=107&amp;raw=1&am...">link at the end of this page</a>) to generate the shortcode. </p><p>Example: Changing the color of a child prim named MyPrim and making it transparent</p><p> The LSL list for llSetPrimitiveParams() would be <em><strong>[PRIM_COLOR, ALL_SIDES, <1,1,1>, 0.0]</strong>. </em>Using the shortcode encoder script, it prints out in local chat the SETPRIM shortcode containing the encoded version of this list:</p><p><span style="font-family: monospace;"><strong>SETPRIM{MyPrim; I;18;I;-1;V;<1,1,1>;F;0.0}</strong></span></p><p><br></p><p> </p><p><strong>Creating particle effects</strong></p><p>Similar to SETPRIM, SETPARTICLES{} is used to set the particle system in any named prim in the link set. </p><p><code><strong>SETPARTICLES</strong>{MyPrimName; <specially-encoded-list> }</code></p><p>The parameters list to be passed to llLinkParticleSystem() must be a specially-encoded encoded with the <a href="https://opensimworld.com/library?viewcode=107&amp;raw=1&am...">same script as above</a>, but remember to replace SETPRIM with SETPARTICLES in the output of the script.</p>
<p><br></p><p><br></p><p><strong>Presets of  shortcodes</strong></p><p>Presets are shortcodes that are shortcuts (macros) to execute multiple other shortcodes. Presets are defined in .SFconfig. The syntax for defining a Preset is:</p><p><br></p><p><code><strong>Preset = MyPreset = SHOW{myPriml;1} TRIGGERSND{bang}</strong></code>  This defines the preset  "MyCommand"  as the series of shortcodes SHOW and TRIGGERSND</p><p>To use a Preset, invoke the PRESET{} shortcode in a pose line or a Button line:</p><p><code><strong>PRESET</strong>{MyPreset}</code> </p><p><br></p><p>Presets can be used to group together shortcodes that are shared by multiple poses. For example, a Shower object may contain poses that with water running and and others that don't. The two preset states (WaterOn and WaterOff) could be defined in .SFconfig as follows:</p><p><span style="font-family: monospace;"><strong>Preset = WaterOn = LOOPSND{watersound} SETPARTICLES{ShowerHead; <encoded list>}</strong></span></p><p><span style="font-family: monospace;"><strong>Preset = WaterOff = STOPSND{} SETPARTICLES{ShowerHead;;}</strong></span></p><p>Individual poses could be configured to use the presets as follows:</p><p><span style="font-family: monospace;">Pre Shower| PRESET{WaterOff} |<1,2,3>.... <br>Shower| PRESET{WaterOn} |<1,2,3>.... <br>AfterShower| PRESET{WaterOff} |<1,2,3>.... </span></p><p><br></p><p>When switching between poses that use the same preset, the preset will not be restarted, instead it will continue running. If you explicitly want a preset to be restarted, add another, empty PRESET{} code before:</p><p><span style="font-family: monospace;">PRESET{} PRESET{WaterOn} </span></p><p><br></p><p><strong>Creating Sequences</strong></p><p>Using shortcodes and timers, it is possible to play animations in a menu as a sequence of poses. Use the TIMER{} code to set  the duration of each pose, and use Shortcodes or Presets to add effects such as props, sounds etc. to each pose. To prevent looping the whole sequence, use TIMER{0} at the last pose. </p><p>This example menu notecard contains a sequence for a boxing match:</p><p><br></p><p><span style="font-family: monospace; color: rgb(17, 85, 204);">Warmup| <strong>TIMER{30} SAY{%USER00 is preparing to fight %USER01}</strong> | prepare1| <0.012....<br>Fight | <strong>TIMER{30} PRESET{Fighting}</strong> <strong>SAY{Fight!}</strong> | fight1 | <0.012....<br>Victory| <strong>TIMER{0} TRIGGERSND{victory} SAY{%USER00 won! } </strong> | victory1 | <0.012....</span></p><p><br></p><p><br></p><strong>Creating OPTIONS Buttons with shortcodes</strong><p><br></p><p>Any shortcode can be added to an add-on button in the OPTIONS menu with the <strong>Button </strong>option in .SFconfig: </p><p><code><strong>Button</strong>=My Button=SAYCH{0; Hello,world}</code></p><p><br></p><p><strong>Running shortcodes on every script reset in .SFconfig</strong></p><p>You can execute shortcodes in .SFconfig which will be executed every time SFposer is reset (whenever everyone stands up). Add the shortcode on a single line by itself . This can be used for example to change the properties of prims when the system is reset using SETPRIM{}, to rez NPCs etc.</p><p><br></p><p><br></p><br>
<strong>API COMMANDS & REMOTE OPERATION</strong><br><br>
The <strong>API </strong>allows you to trigger most of the Shortcodes described above in the SFposer object through <strong>link messages </strong>and through <strong>dataserver </strong>messages.  <p><br></p>To send commands from another script through link_messages use :<p><br></p><p><strong><span style="font-family: monospace;">llMessageLinked(LINK_THIS, -1, "SHORTCODE{...}", NULL_KEY);</span></strong></p><p><br></p><p>To send through dataserver messages, use: </p><p><br></p><p><strong><span style="font-family: monospace;">osMessageObject("<SFposer object UUID>", "SHORTCODE{...}");</span></strong></p><p><br></p>In order to enable dataserver messages, the <strong>allowRemote </strong>option needs to be set in the .SFconfig notecard. This option determines how the SFposer can be accessed by avatars and dataserver messages, and takes the following values: <br><p><br></p><p><strong>allowRemote=0  </strong>Only <strong>sitting </strong>avatars can use the menus, the object does <strong>not  </strong>accept dataserver commands</p><p><strong>allowRemote=1  </strong><strong>All </strong>avatars, sitting or not, can touch the object to use the menus, the object does <strong>not  </strong>accept dataserver commands</p><p><strong>allowRemote=2  </strong>Only <strong>sitting </strong>avatars can use the menus, and the object <strong>accepts </strong>dataserver commands</p><p><strong>allowRemote=3  </strong><strong>All </strong>avatars, sitting or not, can use the menus, and the object <strong>accepts </strong>dataserver commands</p><p><strong>allowRemote=4  </strong><strong>Disable all menu dialogs</strong>, and the object <strong>accepts </strong>dataserver commands. Use this in case you want to control SFposer remotely-only, in which case SFposer will not generate any dialog when touched. This is useful if you want to host SFposer and another menu-driven script in the same root prim. </p><p><br></p><p>In order to allow changing poses and animation menus remotely, the following shortcodes are available for remote operation:</p><p><strong><span style="font-family: monospace;">SWITCHTOMENU{My Menu} </span></strong>Switches to the animation menu "My Menu"</p><p><strong><span style="font-family: monospace;">SWITCHTOPOSE{My Posename} </span></strong>Switches to the pose "My Posename" which must be in the currently selected animation menu.</p><p><strong><span style="font-family: monospace;">UNSIT{<avatarNumber>}</span> </strong>Unsits the avatar in position <avatarNumber> (first position is 0)</p><p><strong><span style="font-family: monospace;">ADDNPC</span></strong><strong><span style="font-family: monospace;">{firstname lastname} </span></strong>Adds an NPC from the inventory</p><p><strong><span style="font-family: monospace;">DELNPC</span></strong><strong><span style="font-family: monospace;">{firstname lastname}</span> </strong>Deletes the NPC</p><p><strong><span style="font-family: monospace;">SWAP</span></strong><strong><span style="font-family: monospace;">{pos1; pos2} </span></strong>Swaps the users in pos1 and pos2 (first position is 0)</p><p><br></p><p>It is possible to use the API to add Buttons  to the OPTIONS menu. In this case, instead of a shortcode, the message sent to SFposer has the same format as the .SFconfig configuration line for creating a button:</p><p><span style="font-family: monospace;">osMessageObject("<object-uuid>",</span><strong><span style="font-family: monospace;"> "Button=Say Hi=SAY{Hello, world}" </span></strong><span style="font-family: monospace;">);</span></p><p><br></p><p>For deleting a button from the OPTIONS menu, there is the shortcode DELBUTTON{}:</p><p><strong><span style="font-family: monospace;">DELBUTTON{Help me}</span></strong></p><p>e.g. <span style="font-family: monospace;">osMessageObject("<object-uuid>",</span><strong><span style="font-family: monospace;"> "DELBUTTON{Say Hi}" </span></strong><span style="font-family: monospace;">);</span></p><p><br></p><p>Buttons with <strong>arbitrary</strong>-string codes can also be created. This is meant to be used for sending messages to other scripts. The syntax is: </p><p><strong><span style="font-family: monospace;">Button = Send code = MyCodeIsHere</span></strong></p><p><br></p><p>When pressed, the button will send a link_message as follows:</p><p><span style="font-family: monospace;">llMessageLinked(LINK_THIS, 0,</span><strong><span style="font-family: monospace;"> "MyCodeIsHere|<current-user-uuid>", "<uuid1>|<uuid2>|...");</span></strong></p><p><br></p><p>The API command  <strong>GETSTATUS</strong> can be used to retrieve the current state of the SFposer object. Send the string GETSTATUS through dataserver or link_message to retrieve the status (Note this is not a shortcode so {}  are not added): <em> </em></p><p><em>llMessageLinked(LINK_ROOT, -1, "GETSTATUS", "");  </em> or  <em>osMessageObject("<sfposer-uuid>" , "GETSTATUS");</em></p><p>SFposer will respond a link_message or dataserver message respectively, with a string containing the current state of sfposer:</p><p><em>osMessageObject("<sender-uuid>", "SFSTATUS|<current-menu-user-uuid>|<current-menu-name>|<current-pose-name>|<auto-timer>|<internal status>|<current-pose-shortcodes>|<user1-uuid>,<user2-uuid>,<user3-uuid>...");</em></p><p><br></p><p><br></p><p><strong>EVENTS</strong></p><p>SFposer sends <strong>link_message </strong>notifications to the root prim for any significant event. You can listen to those events by creating addon scripts. The names of the link_message events are the same as the ones used by PMAC. </p><p>This is the list of events that are sent:<strong> </strong></p><p><span style="font-family: monospace;"><strong>GLOBAL_ANIMATION_SYNCH_CALLED <br>GLOBAL_NEXT_AN <br>GLOBAL_NEW_USER_ASSUMED_CONTROL <br>GLOBAL_SYSTEM_RESET <br>GLOBAL_START_USING <br>GLOBAL_USER_SAT <br>GLOBAL_USER_STOOD <br>GLOBAL_SYSTEM_GOING_DORMANT <br>GLOBAL_NOTICE_ENTERING_EDIT_MODE <br>GLOBAL_NOTICE_LEAVING_EDIT_MODE  <br>GLOBAL_STORE_ADDON_NOTICE <br>GLOBAL_EDIT_STORE_TO_CARD</strong></span></p><p>Look into the source code to see the arguments sent with each event. The events are sent via llMessageLinked() to LINK_THIS (the root object), with numeric Value=0. The 'key' argument is replaced with a concatenated list of the currently sitting avatar uuids (Just like PMAC). An example of the event messages sent out is: </p><p><span style="font-family: monospace;">llMessageLinked( LINK_THIS, 0,</span><strong><span style="font-family: monospace;"> "GLOBAL_USER_SAT|0|1111-111-111", "111-111-111|000-000-000|000-000-000"</span></strong><span style="font-family: monospace;"> );</span></p><p><br></p><p><br></p><p><strong>Triggering Shortcodes with Event Filters</strong></p><p>You can define Shortcodes that will be triggered automatically when an event matches a pattern using OnEvent configuration lines. </p><p>The Event filters are defined in the .SFconfig notecard as follows:</p><p><strong><span style="font-family: monospace;">OnEvent = <Event filter> = SHORTCODE{} SHORTCODE2{} ...</span></strong></p><p><Event filter> is replaced with the part of the of the event string that is to be matched.</p><p><br></p><p>Example: When the first user sits on the object , SFposer emits the event "GLOBAL_USER_SAT|0|<user-uuid>" </p><p>The following OnEvent filter matches the substring "GLOBAL_USER_SAT|0", and triggers the shortcode SAYCH:</p><p><strong><span style="font-family: monospace;">OnEvent = GLOBAL_USER_SAT|0 = SAYCH{0; Hello, first user}</span></strong></p><p><br></p><p>The different events contain different kinds of information in their event strings. It is possible for example, to use the the event string to trigger a shortcode when a specific avatar position is being filled or emptied. It is also possible to trigger a shortcode when a specific user-id sits on the object. Examples:</p><p><span style="font-family: monospace;"><strong>OnEvent</strong> <strong>= GLOBAL_USER_STOOD|3 = </strong>SAYCH{0; Goodbye, user 3}</span></p><p><span style="font-family: monospace;"><strong>OnEvent </strong><strong>= GLOBAL_USER_SAT|0|2ae39a9c-13  = </strong>SAY{Hello, %USER00, i recognized you sitting in first position}</span></p><p><span style="font-family: monospace;"><strong>OnEvent </strong><strong>= GLOBAL_SYSTEM_GOING_DORMANT =</strong> SAY{Thanks for using me}</span></p><p><br></p><p><br></p><p><br></p><p><strong>LIST OF .SFconfig NOTECARD OPTIONS</strong></p><p>The following configuration options are supported in the .SFconfig notecard:</p><p><strong>allowRemote= 0  </strong>or 1, 2,3,4 . Controls who can access the menus. See above for details</p><p><strong>autoTimer=90   </strong>Set the auto-timer (seconds)</p><p><strong>defaultGroup=Sit  </strong>Name of the default menu when a user first sits in the object</p><p><strong>adjusterStep=0.03  </strong> Set the adjustment step (in meters) for the ADJUST menu (X-, X+ etc)</p><p><strong>mainMenuTitle=Hello users  </strong>  Set a custom message to show in the MENUS dialog instead of the default</p><p><strong>autoSwitchGroup=1   </strong>Automagically switch to a bigger or smaller size animation menu  when more people sit on the object or when they stand up. The system will switch to the first available animation menu that can accomodate the number of sitters</p><p><strong>showDialogOnSit=1</strong>  Automatically show the menu dialog as soon as the first user sits</p><p><strong>showMenusOnStart=1  </strong>When first showing the dialog, show the list of Menus first, rather than the list of poses</p><p><strong>showOptionsAgain=1</strong>  Show the Options dialog again after selecting an option from the Options menu instead of dismissing it. The user will have to click ignore to dismiss</p><p><strong>allowSoloNpc=0  </strong>This forces the system to remove the rezzed NPCs when all humans have stood up (default is 1)</p><p><strong>offsetPos = <x,y,z></strong>  Move all poses by the vector <x,y,z> , i.e. add a global position offset to all positions</p><p><strong>offsetRot = <x,y,z></strong>  Rotate all the poses by the euler vector <x,y,z> (in *degrees*), i.e. add a global rotation to all positions</p><p><br></p><p><strong>lockMenus=A </strong>Unlocked menus to all users (the default). Other options:</p><p>lockMenus=O Lock all menus to owner  only</p><p>lockMenus=G Lock all menus to users who have activated the same group as the object</p><p>lockMenus=S Lock all menus until the owner has seated</p><p><br></p><p><strong>lockSit=A </strong>Everyone can sit (the default). Other options:</p><p>lockSit=O Only the owner can sit</p><p>lockSit=G Only members of the same group can sit</p><p>lockSit=S The owner must sit first before other users can sit</p><p><br></p><p><strong>Preset=Dumbbell=PROP{dumbbell;<0,0,0>;<0,0,0,1>}   </strong>Creates a preset (shortcut to a series of shortcodes) that can be used in poses (See above)</p><p><strong>Button=Hello=SAY{Hello} SAY{Hello again}   </strong>Creates a button in the OPTIONS menu that executes shortcodes (See above)</p><p><strong>OnEvent=GLOBAL_SYSTEM_GOING_DORMANT=SAY{Bye} </strong> Creates an event filter (See above)</p><p>In addition any number of shortcodes can be added to the .SFconfig notecard , one at a line. They will be executed every time the script is reset</p><p><br></p><p><br></p><p><br></p>
<strong>OSSL PERMISSIONS</strong><br><br>

If you already have PMAC in your region, then you have already enabled all the functions that SFposer requires to operate<br><br>
In case you need to update your .ini files here are some recommended settings. Depending on the opensim version, these need to be added either in <span style="font-family: monospace;">config-include/osslEnable.ini or config-include/osslDefaultEnable.ini . </span><p><br></p><code>Allow_osGetNotecard = true<br>
Allow_osMessageObject = true<br>
Allow_osMessageAttachments = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER<br>
Allow_osAvatarPlayAnimation = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER<br>
Allow_osAvatarStopAnimation = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER<br>
Allow_osMakeNotecard = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER<br>
Allow_osNpcCreate = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER<br>
Allow_osNpcRemove = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER<br>
Allow_osNpcSit = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER<br>
Allow_osSetPrimitiveParams = ESTATE_OWNER,ESTATE_MANAGER,PARCEL_OWNER<br>
</code><br><br><p><br></p><br>
<b>SF POSER SYSTEM PARTS:</b><br><br>
- The .SFposer script<br>
- The ~positioner handle object <br>
- The ~baseAnim hip-fix animation<br>
- The .SFconfig configuration notecard (optional)<br><br>
<br><p><br></p><br>
<strong>MENU NOTECARDS FORMAT</strong><br><br>

SFposer uses the same notecard format as PMAC. Each set of animations (menu) goes in its own notecard which is named with the following convention:<p><br></p><p><strong>.menu0005A Dance Together</strong></p><p>where</p><code>.menu : All pose notecards must begin with .menu<br>
00: Used for ordering of menus. Can be between 00-99<br>05: Means this menu notecard contains poses for 5 avatars<br>
A: Menu is for use by (A)ll. Can also be (G)roup or (O)owner, or (S) in which case the owner must sit first before the menu can be accessed by other users<br>
Dance Together: The label shown in the button is "Dance Together"</code><br>
<p><br></p>You do not need to create your own notecards , as they are created for you automatically via the menus. <br><br><p><br></p><br>
<strong>NOTES</strong><br>- Despite the name, SF poser is a generic animation controller and is not specific to SatyrFarm, i.e. it can be used for anything.<p>- Thanks to Aaack Aardvark @ osgrid for beta testing</p><br><br>
<strong>LICENSE</strong><br>
(c) 2020 Satyr Aeon<p><br></p>Licensed under<strong> GPL-3.0-or-later <a href="https://www.gnu.org/licenses/gpl-3.0-standalone.html"></a></strong><a href="https://www.gnu.org/licenses/gpl-3.0-standalone.html">https://www.gnu.org/licenses/gpl-3.0-standalone.html&lt;/a... href="https://www.gnu.org/licenses/gpl-3.0-standalone.html"></a><p><br></p><p><br></p><br><br>
<p><strong><br></strong></p><br>
<p><br></p>

👍 8 like

Milestones

Hide Feed  

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

Ineptitude Aisle: (skill-less games) and other demusements.


Spax Orion: Peril lurks where you least expect it. If one of the attractions depletes all of your health, you are welcome to come back and find all of the other dangers and demusements we have in store for all of... 1 years ago

Comments

No comments yet

Loading...