{"id":7321,"date":"2023-10-28T09:51:57","date_gmt":"2023-10-28T14:51:57","guid":{"rendered":"https:\/\/blog.zoha-islands.com\/?p=7321"},"modified":"2023-10-28T09:51:57","modified_gmt":"2023-10-28T14:51:57","slug":"news-from-the-second-life-team-october-2023-edition","status":"publish","type":"post","link":"https:\/\/zoha-islands.com\/blog\/news-from-the-second-life-team-october-2023-edition\/","title":{"rendered":"News from the Second Life Team &#8211; October 2023 Edition"},"content":{"rendered":"<p>We&#8217;ve been busy since <a href=\"https:\/\/community.secondlife.com\/blogs\/entry\/14189-news-from-the-second-life-team-september-2023-edition\/\" target=\"_blank\" rel=\"noopener\">our last update a month ago<\/a>, and we&#8217;re eager to showcase the latest enhancements to Second Life. This update includes steps forward for the Destination Guide, scripting additions, Project Viewer news, and update on the Second Life Mobile app.<\/p>\n<h1><span class=\"ipsEmoji\">&#x1f39b;&#xfe0f;<\/span> User Interface<\/h1>\n<h2>Destination Guide Improvements<\/h2>\n<p>One of the most-requested features for the web-based Destination Guide \u2013 real-time population counts! You can now see how many people are at the location displayed near the group icon (highlighted below):<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"ipsImage ipsImage_thumbnailed alignnone\" src=\"https:\/\/content.invisioncic.com\/Mseclife\/monthly_2023_10\/image4.thumb.jpg.5bf1533c1300ca35af232cf583562f12.jpg\" alt=\"image4.jpg\" width=\"600\" height=\"750\" data-fileid=\"210825\" data-ratio=\"82.51\" data-unique=\"ma2m3sfg2\" \/><\/p>\n<p>See it for yourself at <a href=\"https:\/\/secondlife.com\/destinations\" target=\"_blank\" rel=\"external nofollow noopener\">https:\/\/secondlife.com\/destinations<\/a>! We hope the population count helps you find locations you like &#8212; depending on how social you are feeling!<\/p>\n<p>This feature addition also works with Destination Guide search:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"ipsImage ipsImage_thumbnailed alignnone\" src=\"https:\/\/content.invisioncic.com\/Mseclife\/monthly_2023_10\/image2.jpg.a0b609e51be6e6d2741ebfc310b5995a.jpg\" alt=\"image2.jpg\" width=\"600\" height=\"571\" data-fileid=\"210824\" data-ratio=\"93.45\" data-unique=\"ic5zuyil2\" \/><\/p>\n<h2>Keybindings in RC Maintenance Viewer V<\/h2>\n<p>With the addition of keybinding options for the viewer, you can now choose which keys map to various actions within the viewer. This is cool, but makes it more challenging to create documentation and real-time instructional prompts for vehicles and HUDs which take control inputs.<\/p>\n<p>We\u2019re happy to introduce this requested feature for displaying user-customized keybindings in chat. Using \u201csecondlife:\/\/\/app\/keybinding\/push_forward\u201d for example, will provide you with whatever imaginative controls may have been chosen for moving forward. Syntax for this feature can be found here: <a href=\"https:\/\/wiki.secondlife.com\/wiki\/Viewer_URI_Name_Space\" target=\"_blank\" rel=\"external nofollow noopener\">https:\/\/wiki.secondlife.com\/wiki\/Viewer_URI_Name_Space<\/a>\u00a0<\/p>\n<p>Example:<\/p>\n<div id=\"gist125773852\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container file-box\">\n<div id=\"file-keybinding_uri-lsl\" class=\"file my-2\">\n<div class=\"Box-body p-0 blob-wrapper data type-lsl  \">\n<div class=\"js-check-bidi js-blob-code-container blob-code-content\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"keybinding_uri.lsl\">\n<tbody>\n<tr>\n<td id=\"file-keybinding_uri-lsl-LC1\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">default<\/span> {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"keybinding_uri.lsl\">\n<tbody>\n<tr>\n<td id=\"file-keybinding_uri-lsl-LC2\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">touch_start<\/span>(<span class=\"pl-k\">integer<\/span> <span class=\"pl-smi\">num<\/span>) {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"keybinding_uri.lsl\">\n<tbody>\n<tr>\n<td id=\"file-keybinding_uri-lsl-LC3\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">llSay<\/span>(<span class=\"pl-c1\">0<\/span>, <span class=\"pl-s\"><span class=\"pl-pds\">&#8220;<\/span>Use the following keys to <span class=\"pl-pds\">&#8220;<\/span><\/span> <span class=\"pl-k\">+<\/span> <span class=\"pl-s\"><span class=\"pl-pds\">&#8220;<\/span>secondlife:\/\/\/app\/keybinding\/push_forward<span class=\"pl-pds\">&#8220;<\/span><\/span>);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"keybinding_uri.lsl\">\n<tbody>\n<tr>\n<td id=\"file-keybinding_uri-lsl-LC4\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div id=\"gist125773852\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container file-box\">\n<div id=\"file-keybinding_uri-lsl\" class=\"file my-2\">\n<div class=\"Box-body p-0 blob-wrapper data type-lsl  \">\n<div class=\"js-check-bidi js-blob-code-container blob-code-content\">\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"keybinding_uri.lsl\">\n<tbody>\n<tr>\n<td id=\"file-keybinding_uri-lsl-LC5\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"gist-meta\"><a href=\"https:\/\/gist.github.com\/sl-service-account\/58c8572f530e3ec38399136e6774bf84\/raw\/d289e2eea64ff330e9eff5afd7627a152ff84c74\/keybinding_uri.lsl\" target=\"_blank\" rel=\"noopener\">view raw<\/a> <a href=\"https:\/\/gist.github.com\/sl-service-account\/58c8572f530e3ec38399136e6774bf84#file-keybinding_uri-lsl\" target=\"_blank\" rel=\"noopener\">keybinding_uri.lsl <\/a> hosted with &#x2764; by <a class=\"Link--inTextBlock\" href=\"https:\/\/github.com\" target=\"_blank\" rel=\"noopener\">GitHub<\/a><\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"ipsImage ipsImage_thumbnailed alignnone\" src=\"https:\/\/content.invisioncic.com\/Mseclife\/monthly_2023_10\/image6.png.b8925aeb772783543f4ed9f542bca02f.png\" alt=\"image6.png\" width=\"323\" height=\"71\" data-fileid=\"210826\" data-ratio=\"21.98\" data-unique=\"s3rr0ptvi\" \/><\/p>\n<p>See version <a href=\"https:\/\/releasenotes.secondlife.com\/viewer\/6.6.16.582093.html\" target=\"_blank\" rel=\"external nofollow noopener\">6.6.16.582093 Release Notes<\/a>.<\/p>\n<h2>Translations in RC Maintenance Viewer W<\/h2>\n<p>You can once again use Google Translate to translate chat messages into a language of your choice. Note you will need to set up <a href=\"https:\/\/cloud.google.com\/translate\/docs\/setup?csw=1#auth\" target=\"_blank\" rel=\"external nofollow noopener\">Google Auth<\/a>, create an API key, and add it to your Chat Translation Settings. Merveilleux!<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"ipsImage ipsImage_thumbnailed alignnone\" src=\"https:\/\/content.invisioncic.com\/Mseclife\/monthly_2023_10\/image8.thumb.png.adbaf3eabce2e6a7ac7f7fcca39a0d0c.png\" alt=\"image8.png\" width=\"600\" height=\"750\" data-fileid=\"210827\" data-ratio=\"84.65\" data-unique=\"v6x4xqq4x\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"ipsImage ipsImage_thumbnailed alignnone\" src=\"https:\/\/content.invisioncic.com\/Mseclife\/monthly_2023_10\/image9.thumb.png.2c3c0ceeecd483bd33b9e4120417a4f8.png\" alt=\"image9.png\" width=\"600\" height=\"750\" data-fileid=\"210828\" data-ratio=\"104.31\" data-unique=\"ilbp9miet\" \/><br \/>See version <a href=\"https:\/\/releasenotes.secondlife.com\/viewer\/6.6.16.582075.html\" target=\"_blank\" rel=\"external nofollow noopener\">6.6.16.582075 Release Notes<\/a>.<\/p>\n<h1><span class=\"ipsEmoji\">&#x1f469;&#x200d;&#x1f4bb;<\/span> Scripting<\/h1>\n<p>Second Life combat fan? Oh yeah, we got some useful new LSL features which will be rolling out to the grid in the coming weeks&#8230;<\/p>\n<h2>Coming Soon-ish: llRezObjectWithParams<\/h2>\n<p><a href=\"https:\/\/wiki.secondlife.com\/wiki\/LlRezObjectWithParams\" target=\"_blank\" rel=\"external nofollow noopener\">llRezObjectWithParams<\/a> is a new LSL function that allows a script to rez objects with more control and parameters than plain <strong>llRezObject<\/strong>. For example, you could set the damage, velocity, collision sound and other properties in order to create a scriptless projectile. This should be tremendously helpful for weapons in Second Life, and any other application that requires rezzing script-free objects.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"gist125774329\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container file-box\">\n<div id=\"file-llrezobjectwithparams_demo-lsl\" class=\"file my-2\">\n<div class=\"Box-body p-0 blob-wrapper data type-lsl  \">\n<div class=\"js-check-bidi js-blob-code-container blob-code-content\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llrezobjectwithparams_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llrezobjectwithparams_demo-lsl-LC1\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">default<\/span> {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llrezobjectwithparams_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llrezobjectwithparams_demo-lsl-LC2\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">touch_start<\/span>(<span class=\"pl-k\">integer<\/span> <span class=\"pl-smi\">count<\/span>) {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llrezobjectwithparams_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llrezobjectwithparams_demo-lsl-LC3\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">key<\/span> <span class=\"pl-smi\">id<\/span> <span class=\"pl-k\">=<\/span> <span class=\"pl-en\">llRezObjectWithParams<\/span>(<span class=\"pl-s\"><span class=\"pl-pds\">&#8220;<\/span>Rocket<span class=\"pl-pds\">&#8220;<\/span><\/span>, [<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llrezobjectwithparams_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llrezobjectwithparams_demo-lsl-LC4\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-smi\">REZ_FLAGS<\/span>, <span class=\"pl-smi\">REZ_FLAG_TEMP<\/span><span class=\"pl-k\">|<\/span><span class=\"pl-smi\">REZ_FLAG_DIE_ON_COLLIDE<\/span><span class=\"pl-k\">|<\/span><span class=\"pl-smi\">REZ_FLAG_BLOCK_GRAB_OBJECT<\/span><span class=\"pl-k\">|<\/span><span class=\"pl-smi\">REZ_FLAG_DIE_ON_NOENTRY<\/span>,<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llrezobjectwithparams_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llrezobjectwithparams_demo-lsl-LC5\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-smi\">REZ_POS<\/span>, <span class=\"pl-k\">&lt;<\/span><span class=\"pl-c1\">0.0<\/span>, <span class=\"pl-c1\">0.0<\/span>, <span class=\"pl-c1\">1.0<\/span><span class=\"pl-k\">&gt;<\/span>, <span class=\"pl-c1\">TRUE<\/span>, <span class=\"pl-c1\">FALSE<\/span>,<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llrezobjectwithparams_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llrezobjectwithparams_demo-lsl-LC6\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-smi\">REZ_VEL<\/span>, <span class=\"pl-k\">&lt;<\/span><span class=\"pl-c1\">10.0<\/span>, <span class=\"pl-c1\">0.0<\/span>, <span class=\"pl-c1\">0.0<\/span><span class=\"pl-k\">&gt;<\/span>, <span class=\"pl-c1\">TRUE<\/span>, <span class=\"pl-c1\">FALSE<\/span>,<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llrezobjectwithparams_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llrezobjectwithparams_demo-lsl-LC7\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-smi\">REZ_SOUND_COLLIDE<\/span>, <span class=\"pl-s\"><span class=\"pl-pds\">&#8220;<\/span>69d12eb6-3647-418a-b476-f7b883e0be15<span class=\"pl-pds\">&#8220;<\/span><\/span>, <span class=\"pl-c1\">1.0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llrezobjectwithparams_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llrezobjectwithparams_demo-lsl-LC8\" class=\"blob-code blob-code-inner js-file-line\">]);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llrezobjectwithparams_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llrezobjectwithparams_demo-lsl-LC9\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div id=\"gist125774329\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container file-box\">\n<div id=\"file-llrezobjectwithparams_demo-lsl\" class=\"file my-2\">\n<div class=\"Box-body p-0 blob-wrapper data type-lsl  \">\n<div class=\"js-check-bidi js-blob-code-container blob-code-content\">\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llrezobjectwithparams_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llrezobjectwithparams_demo-lsl-LC10\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"gist-meta\"><a href=\"https:\/\/gist.github.com\/sl-service-account\/03cb5fcf228d07921241408edca68770\/raw\/b857a7902adcbf46e5062712338d5585b2a6a5f1\/llrezobjectwithparams_demo.lsl\" target=\"_blank\" rel=\"noopener\">view raw<\/a> <a href=\"https:\/\/gist.github.com\/sl-service-account\/03cb5fcf228d07921241408edca68770#file-llrezobjectwithparams_demo-lsl\" target=\"_blank\" rel=\"noopener\">llrezobjectwithparams_demo.lsl <\/a> hosted with &#x2764; by <a class=\"Link--inTextBlock\" href=\"https:\/\/github.com\" target=\"_blank\" rel=\"noopener\">GitHub<\/a><\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Look, ma! A rocket with no script! In addition to giving more control to an object&#8217;s properties after it is rezzed, the key returned by <strong>llRezObjectWithParams<\/strong> is the key of the rezzed object, which can be useful for tracking or performing other actions after rez.<\/p>\n<h2>Coming Soon-ish: <span class=\"ipsEmoji\">&#x1f489;<\/span> Healing!<\/h2>\n<p>A small but significant new feature: you will soon be able to set a &#8220;negative damage&#8221; using <strong>llSetDamage<\/strong> or <strong>llRezObjectWithParams<\/strong> value in order to create projectiles that heal people when they collide. Good for the medics and lovers among us.<\/p>\n<h2>Coming Soon-ish: llIsFriend<\/h2>\n<p>Check if someone is a friend with the upcoming <strong><a href=\"https:\/\/wiki.secondlife.com\/wiki\/LlIsFriend\" target=\"_blank\" rel=\"external nofollow noopener\">llIsFriend<\/a><\/strong> function.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"gist125774419\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container file-box\">\n<div id=\"file-llisfriend_demo-lsl\" class=\"file my-2\">\n<div class=\"Box-body p-0 blob-wrapper data type-lsl  \">\n<div class=\"js-check-bidi js-blob-code-container blob-code-content\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC1\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">default<\/span> {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC2\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">state_entry<\/span>() {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC3\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">llSensorRepeat<\/span>(<span class=\"pl-s\"><span class=\"pl-pds\">&#8220;<\/span><span class=\"pl-pds\">&#8220;<\/span><\/span>, <span class=\"pl-c1\">NULL_KEY<\/span>, <span class=\"pl-c1\">AGENT<\/span>, <span class=\"pl-c1\">95<\/span>, <span class=\"pl-c1\">TWO_PI<\/span>, <span class=\"pl-c1\">10<\/span>);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC4\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC5\" class=\"blob-code blob-code-inner js-file-line\">\u00a0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC6\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">sensor<\/span>(<span class=\"pl-k\">integer<\/span> <span class=\"pl-smi\">count<\/span>) {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC7\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">integer<\/span> <span class=\"pl-smi\">i<\/span>;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC8\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">for<\/span> (; <span class=\"pl-smi\">i<\/span> <span class=\"pl-k\">&lt;<\/span> <span class=\"pl-smi\">count<\/span>; <span class=\"pl-k\">++<\/span><span class=\"pl-smi\">i<\/span>)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC9\" class=\"blob-code blob-code-inner js-file-line\">{<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC10\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-k\">if<\/span> (<span class=\"pl-en\">llIsFriend<\/span>(<span class=\"pl-c1\">llDetectedKey<\/span>(<span class=\"pl-smi\">i<\/span>))) {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC11\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">llSay<\/span>(<span class=\"pl-c1\">0<\/span>, <span class=\"pl-c1\">llDetectedName<\/span>(<span class=\"pl-smi\">i<\/span>) <span class=\"pl-k\">+<\/span> <span class=\"pl-s\"><span class=\"pl-pds\">&#8220;<\/span> is not a friend.<span class=\"pl-pds\">&#8220;<\/span><\/span>);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC12\" class=\"blob-code blob-code-inner js-file-line\">} <span class=\"pl-k\">else<\/span> {<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC13\" class=\"blob-code blob-code-inner js-file-line\"><span class=\"pl-c1\">llSay<\/span>(<span class=\"pl-c1\">0<\/span>, <span class=\"pl-c1\">llDetectedName<\/span>(<span class=\"pl-smi\">i<\/span>) <span class=\"pl-k\">+<\/span> <span class=\"pl-s\"><span class=\"pl-pds\">&#8220;<\/span> is a friend.<span class=\"pl-pds\">&#8220;<\/span><\/span>);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC14\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC15\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC16\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div id=\"gist125774419\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container file-box\">\n<div id=\"file-llisfriend_demo-lsl\" class=\"file my-2\">\n<div class=\"Box-body p-0 blob-wrapper data type-lsl  \">\n<div class=\"js-check-bidi js-blob-code-container blob-code-content\">\n<table class=\"highlight tab-size js-file-line-container js-code-nav-container js-tagsearch-file\" data-hpc=\"\" data-tab-size=\"8\" data-paste-markdown-skip=\"\" data-tagsearch-lang=\"LSL\" data-tagsearch-path=\"llisfriend_demo.lsl\">\n<tbody>\n<tr>\n<td id=\"file-llisfriend_demo-lsl-LC17\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"gist-meta\"><a href=\"https:\/\/gist.github.com\/sl-service-account\/88a6ac758f6e5d596f9bd8322a5fbcb9\/raw\/d9005859bddd21bfe523e8a2284a7906e734afb9\/llisfriend_demo.lsl\">view raw<\/a> <a href=\"https:\/\/gist.github.com\/sl-service-account\/88a6ac758f6e5d596f9bd8322a5fbcb9#file-llisfriend_demo-lsl\" target=\"_blank\" rel=\"noopener\">llisfriend_demo.lsl <\/a> hosted with &#x2764; by GitHub<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<h1><span class=\"ipsEmoji\">&#x1f9ea;<\/span> Project Viewers<\/h1>\n<h2>Default Viewer<\/h2>\n<p>This month, our Inventory Extensions Viewer version 6.6.15.581961 got promoted from Release Candidate status and is now the official viewer available from the <a href=\"https:\/\/secondlife.com\/support\/downloads\/\" target=\"_blank\" rel=\"external nofollow noopener\">main download page<\/a>.<\/p>\n<p>Some of you have noticed that some inventory items are unexpectedly appearing in your Lost and Found folder. On occasion, an item in your inventory becomes \u2018parented\u2019 to a folder that no longer exists &#8212; they are, effectively, \u2018orphaned\u2019 items. Previously these items did not appear in your inventory at all. We have fixed this issue and now they appear in Lost and Found. You can then delete the item or move it into your main inventory, as usual. Thanks again for your feedback and bug reports. <a href=\"https:\/\/releasenotes.secondlife.com\/viewer\/6.6.15.581961.html\" target=\"_blank\" rel=\"external nofollow noopener\">Go here<\/a> for the complete list of resolved issues.<\/p>\n<h2><span class=\"ipsEmoji\">&#x1f3a8;<\/span> GLTF PBR Materials<\/h2>\n<p>The GLTF PBR Materials viewer continues to be available as a Release Candidate available from <a href=\"https:\/\/releasenotes.secondlife.com\/viewer\/7.0.0.582103.html\" target=\"_blank\" rel=\"external nofollow noopener\">Version 7.0.0.582103<\/a>. This update required a simultaneous simulator and viewer update.<\/p>\n<p>Reminder, PBR Materials content has limited availability on our Main grid (Agni) as a Beta Project and can be previewed on specific regions:<\/p>\n<ul>\n<li><a href=\"http:\/\/maps.secondlife.com\/secondlife\/Rumpus%20Room\/128\/128\/24\" target=\"_blank\" rel=\"external nofollow noopener\">Rumpus Room<\/a>, <a href=\"http:\/\/maps.secondlife.com\/secondlife\/Rumpus%20Room%202\/128\/128\/2\" target=\"_blank\" rel=\"external nofollow noopener\">Rumpus Room 2<\/a>, 3, 4, 5<\/li>\n<li><a href=\"http:\/\/maps.secondlife.com\/secondlife\/Preflight0\/128\/128\/2\" target=\"_blank\" rel=\"external nofollow noopener\">Preflight0<\/a> through 8 (Limited access)<\/li>\n<\/ul>\n<h2><span class=\"ipsEmoji\">&#x1f3ae;<\/span> Game Control Beta<\/h2>\n<p>We are working on providing a way for scripts in vehicles and attachments to use input from devices such as game controllers and other hardware. This feature will allow users to create things like vehicles that behave more realistically by using analog input values from a gamepad in addition to discrete key-press events. For example, a helicopter could more delicately maneuver, using input from the analog stick rather than WASD on a keyboard. This functionality is not limited to vehicles and could be used for many more applications.<\/p>\n<p>LSL game control support is in early development and is only available to test on our Beta grid (Aditi.) If you would like to experiment, please follow these instructions: <a href=\"https:\/\/wiki.secondlife.com\/w\/index.php?title=LSL_Game_Control_Beta\" target=\"_blank\" rel=\"external nofollow noopener\">LSL Game Control Beta<\/a>.<\/p>\n<h2><span class=\"ipsEmoji\">&#x1f600;<\/span> Emoji<\/h2>\n<p>We are still working on resolving the complexity of Unicode characters appearing in chat logs. <a href=\"https:\/\/releasenotes.secondlife.com\/viewer\/6.6.15.581551.html\" target=\"_blank\" rel=\"external nofollow noopener\">The Emoji Viewer is still in RC<\/a> and we remain <span class=\"ipsEmoji\">&#x1f603;<\/span> about this evolution of the Viewer based on a contribution by Kitty Barnett.<\/p>\n<h2><span class=\"ipsEmoji\">&#x1f4f1;<\/span> Mobile Update<\/h2>\n<p>We aren\u2019t resting on our laurels: We continue our development of Second Life on mobile &#8212; even though Bridie Linden is lounging in this screenshot! \u00a0Now the app supports some interactions with inworld objects. We will be adding more over time.<\/p>\n<p><a title=\"Enlarge image\" href=\"https:\/\/content.invisioncic.com\/Mseclife\/monthly_2023_10\/image7.png.9a2e998ed090d14f51ed3f2323aad8db.png\" data-fileid=\"210830\" data-wrappedlink=\"\" data-ipslightbox=\"\" data-ipslightbox-group=\"undefined\"><img decoding=\"async\" class=\"ipsImage ipsImage_thumbnailed\" src=\"https:\/\/content.invisioncic.com\/Mseclife\/monthly_2023_10\/image7.png.9a2e998ed090d14f51ed3f2323aad8db.png\" alt=\"image7.png\" width=\"300\" data-fileid=\"210830\" data-ratio=\"216.87\" data-unique=\"rm6p9ao8k\" \/><\/a><img decoding=\"async\" loading=\"lazy\" class=\"ipsImage ipsImage_thumbnailed alignnone\" src=\"https:\/\/content.invisioncic.com\/Mseclife\/monthly_2023_10\/image3.png.c96b11175b7ea6b9a4f4f656e5623f55.png\" alt=\"image3.png\" width=\"300\" height=\"720\" data-fileid=\"210829\" data-ratio=\"216.87\" data-unique=\"t6s0dv9pe\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Follow our <a href=\"https:\/\/second.life\/featurednews\" target=\"_blank\" rel=\"external nofollow noopener\">Featured News Blog<\/a> and connect with us on <a href=\"https:\/\/second.life\/communityresources\" target=\"_blank\" rel=\"external nofollow noopener\">Social Media<\/a> for future Second Life News!<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"ipsImage ipsImage_thumbnailed alignnone\" src=\"https:\/\/content.invisioncic.com\/Mseclife\/monthly_2023_10\/image10.thumb.png.ad0b69155e4b29500f7ae42a70a959f4.png\" alt=\"image10.png\" width=\"1000\" height=\"500\" data-fileid=\"210831\" data-ratio=\"50.00\" data-unique=\"klz0l1z5z\" \/><\/p>\n<p>Happy Halloween from all of us at Linden Lab! <span class=\"ipsEmoji\">&#x1f383;<\/span> We are loving the Halloween spirit in the community and <a href=\"http:\/\/second.life\/halloween2023\" target=\"_blank\" rel=\"external nofollow noopener\">we hope you are enjoying all of the events we have planned for you this season<\/a>, including Trick or Treat at Bellisseria, Shop &amp; Hop, Premium Gifts, Last Names, and a video contest with a chance to win up to L$100K!<\/p>\n<h2>Have a fun and safe Halloween From All Of Us At Zoha Islands \/ Fruit Islands<\/h2>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;ve been busy since our last update a month ago, and we&#8217;re eager to showcase the latest enhancements to Second Life. This update includes steps forward for the Destination Guide, scripting additions, Project Viewer news, and update on the Second Life Mobile app. &#x1f39b;&#xfe0f; User Interface Destination Guide Improvements One of the most-requested features for &hellip; <a href=\"https:\/\/zoha-islands.com\/blog\/news-from-the-second-life-team-october-2023-edition\/\" class=\"more-link\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":7325,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2,3,4,5,6],"tags":[],"_links":{"self":[{"href":"https:\/\/zoha-islands.com\/blog\/wp-json\/wp\/v2\/posts\/7321"}],"collection":[{"href":"https:\/\/zoha-islands.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zoha-islands.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zoha-islands.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/zoha-islands.com\/blog\/wp-json\/wp\/v2\/comments?post=7321"}],"version-history":[{"count":0,"href":"https:\/\/zoha-islands.com\/blog\/wp-json\/wp\/v2\/posts\/7321\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zoha-islands.com\/blog\/wp-json\/wp\/v2\/media\/7325"}],"wp:attachment":[{"href":"https:\/\/zoha-islands.com\/blog\/wp-json\/wp\/v2\/media?parent=7321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zoha-islands.com\/blog\/wp-json\/wp\/v2\/categories?post=7321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zoha-islands.com\/blog\/wp-json\/wp\/v2\/tags?post=7321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}