Wednesday, June 30, 2010

Duplicate Remover

Current Version 0.03


With "Duplicate Remover" you can find out any duplicated items of your inventory and remove them. Works with objects, textures, animations, sounds, gestures, landmarks, bodyparts, clothing, notecards & scripts.

Precise vs. Fast


There are two algorithms to remove duplicates:
  • one is precise but need many tests,
  • one is fast, need much less tests but is unprecise and can miss some duplicates

In both cases it only deletes items with same uuid whatever their names are.

If you get a folder with N textures
The precise algorithm needs N*(N-1)/2 test
For a 100 textures folder it means 5050 tests, for 1K folder 500500 tests, for a 5K 12502500 tests.
It detects all duplicates, if two textures have same key but have a very different name then precise algorithm will detect them.

The fastest way is to assume duplicates have same name like "wood thing", "wood thing 1" and "wood thing 2"
The fast algorithm needs only N-1 test, but it will miss textures with same uuid and named very differently like "wood chestnut" and "chestnut wood"
For a 100 textures folder needs 99 tests, for 1K folder 9999 tests, for a 5K needs 4999 tests

For instance If you can test 100 uuid pair in a sec you will need 34 hours for a 5K with precise algorithm but only 50 sec with fast one.

Safe vs. Unsafe


With Safe mode on you will receive a copy of items before they are removed from inventory.

Step to remove duplicates


  • Either drag items from your inventory into the "Duplicate Remover" sphere or drag the "=Duplicate Remover" script into a box filled of items.
  • Click on the box,
  • Enable/Disable the "Safe" mode,
  • Run Fast or Precise process,
  • Wait until all the duplicates are removed.
  • Once done you can get items back to your inventory using Unpack

Tuesday, June 1, 2010

Script Loader

Current Release 0.01


Steps to load a script into a prim sets



  1. Rez the object
  2. Drag the script "=Script Loader" into the root prim objet
  3. Drag the script(s) you would liked to load into the entire set
  4. Click on the objet and select "Load" into the menu
  5. Wait for the script to propage into the entire set
  6. Once you get the message "Script loaded into child prims" Take object back into inventory and rez it again.
  7. Rez the object a second time
  8. Edit Object and select "Set Running into selection" into Second Life Tools menu
  9. Keep the script window open and wait until done.


Samples



You will find three samples into the pack:
  • Remove Scripts
  • Remove Textures
  • Dump Pos/Scale


You may find Script Loader


Shop in world
Second Life Marketplace™

Monday, May 31, 2010

Prims Count

Current Release 0.08



Prims Count is an easy-to-use tool designed to make it really easy for users of group land to see their prim counts. As the land owner, you simply rez (and deed to the group the land is set to) the Prims Count Base.

Prims Count system can be used two ways:
  • Rez Prims Count Board to show prims count of your land users.
  • Give out Prims Counter User to your land users. When they rez it the device will contact the Base Station and obtain their prim count for them.

One Base Station can count the prims on any parcel owned by the same group in the sim. For multiple parcels, just purchase another Prims Count Base.

Setting up Prims Count system



The first step to use Prims Count is to setup the Prims Count Base.

Rezzing the Prims Count Base


Rez the The Prims Count Base on ground, this is a no copy object, it will disappear from your inventory.

Land Options


For the Prims Count Base counts prims on the land only if the owner of the Prims Count Base and the owner of the land are the same person or group. Thus wether the land is owned by an avatar or a group you will need to setup your base differently.

Land parcel is owned by you personally


If you own personally the land you won't need extra configuration for the prims count to work. Once rezzed you will see the following messages over the Prims Count Base.

Checking Permissions (Yellow)
Read Settings (Yellow)
Prims Count Base is ready (Green)

Land parcel is owned by a group


If the Land Parcel is owned by a group the Prims Count Base will need to deed it to the same Group as the Land Parcel for the system to work.

Check your role abilities
First check your role abilities into the group. You need one ability for the process to succes: Deed objects to group.

Select Edit / Groups into the Second Life Viewer menu
Click on Info Button
Select the Members & Roles tab
Search your name into the list
And check this ability into the Allowed Abilities List

In case you don't find them you will need to contact the group owners to fix it.

Deed the Prims Count Base to the group
Right-click on your Prims Count Base and select Edit from the pie menu.
Be sure the Prims Count Base is set to same Group as your Parcel. If not click on "Set..." button and select the correct Group.
Once done check the Share with group checkbox.
The "Deed..." button should immediately turn blue. In case it doesn't you will need to ask the Group Owner to grant you permission to deed object to group.
Click the Deed... button
You will receive the standard Linden L$ warning dialog. This is not an object people will pay thus accept it.

Checking Permissions (Yellow)
Read Settings (Yellow)
Prims Count Base is ready (Green)

Nb: If you make a mistake and deed the Prims Count Base to the wrong group. Just take the Prims Count Base back into your inventory, re-rez it and start over. There is no other way to undo deed.

Prims Count Board


Prims Count system is shiped with seven Prims Count Board:
  • Prims Count Board 1 Counter v0.7 (1 Prim)
  • Prims Count Board 1 Counter v0.7 (2 Prims)
  • Prims Count Board 1 Name (6 Prims)
  • Prims Count Board 3 Names (16 Prims)
  • Prims Count Board 5 Names (26 Prims)
  • Prims Count Board 10 Names (51 Prims)
  • Prims Count Board 10 Names+Pic (61 Prims)

Names Boards will show name + prims count, Counter Boards will show prims count.
Rez the Prims Count Board that will fit your needs. Once the board is rezzed it will directly query the base.

There are several options to customize how the board are working whith editing the ".ini" notecard into the board contents.

Limits Bord to a restricted list of avatars


To limit the board to a restricted list you will need to use avadd commands.

avadd <avatar-first-name> <avatar-last-name>

For example:
avadd Lalwende Leakey
avadd Flandria Connolly
avadd Nabrej Aabye
showall false


Only avatars Lalwende Leakey, Flandria Connolly & Nabrej Aabye wil be shown.

Excluding some avatars from beeing shown


To exclude an avatar from being show use the command avrem.

avrem <avatar-first-name> <avatar-last-name>

For example:
avrem Lalwende Leakey

All avatars except Lalwende Leakey will be shown.

Using threshold to customize counter color


You can use threshold to change the color of prims counter depending from a threshold. Threshold can be global to all avatars or defined individually for each avatars.

threeshold <threshold> <color-ok> <color-over>

For Example:
threshold 100 00FF00 FF0000

Defines a global threshold of 100 every avatars using less prims than threshold will have a green counter, every avatar using more prims thant threshold will have a red counter.

Using indivual threshold

avadd <avatar-first-name> <avatar-last-name> [threshold]

For Example:
threshold 100 00FF00 FF0000
avadd Lalwende Leakey 200
avadd Flandria Connolly 200


Lalwende Leakey & Flandria Connolly will have 200 prims, all others avatars will use 100.

User Prims Counter


You can also give User Prims Counter to your users. User Prims Counter works like any Prims Count Board except it will count only prims of owner.

User Prims Counter is modidy+copy+transfer.

If you want to use a threshold simply edit the .ini notecard and use threshold command. Change the .ini permission to no mod before giving out the User Prims Counter.

You may find Prim Count


Shop in world
Second Life Marketplace™

Tuesday, March 23, 2010

Deezer Media Player

Current release 0.04
Aide en Français



The "Deezer Media Player lets you listen to Web radio, playlist and SmartRadio from Deezer directly into Second Life, using new features of the Second Life viewer 2.0.

However the system is very different from the radios currently used in Second Life, the parcel media is not used at all. What you hear is not played on the parcel and is strictly personal.

To listen rez the panel in the world.
To enable media player click on the central panel.
For showing the menu click on the left vertical bar.

Webradios


In the menu select Radio to choose one of webradio of Deezer.

Blues, Chanson Française , Charts, Classic Rock , Classique Instrumental , Classique Vocal , Dance Floor , Disco, Electro, Evene, Festival Chorus , Festival Garorock , Film TV , Funk, Hard, Hip Hop , Hits, House, Jazz Vocal , Les Inrockuptibles , Metal, Nouvelle Scene , One Shot Not, Pop, Pop Folk , Pop Indé , R&B, Rap, Rap Français , Reggae, Reprises, Rock, Showcase, Soul, Trip Hop , TV, Urban Style , Variété Française , Winter X ,

SmartRadio


The SmartRadio are radios that are built automatically from analogy of an artist. To access a SmartRadio type in the chat room / 9 followed by the name of the artist.

For example if you type /9 pink you will get 5 results:
  • P!ink
  • Legendery Pink Dots
  • Pink Martini
  • Dark Pink Moon
  • Pink Satelite


Once you select a SmartRadio you will receive a message:
To add this SmarRadio as preset add this command to your .ini settings:
smart 1074;Pink Martini


Add smart 1074;Pink Martini into your .ini notecard and you will get a the "Pink Martini" into your SmartRadio preset.

Playlists


When you make a search you canaccess to public playlist.



If you click on the link you will open page whose URL is like
http://www.deezer.com/fr/index.php#music/playlist/[playlist-nom]-[playlist-id]

For example Imitation Of Life playlist is:
http://www.deezer.com/fr/music/playlist/imitation-of-life-dmp-40762233

Just note the ID of the playlist in the example 40762233 and add the following line into the .ini notecard in your media player deezer contents :
smart 40762233; Imitation Of Life

You can listen directly to your playlist using the command /9 pl [playlist-id]. For example :
/9 pl 40762233

Sunday, February 7, 2010

Incomplete Inventory with Emerald

If you use the viewer Emerald, it is possible you experiences missing parts. You probably have not lost anything. Something with the loading of the inventory in your viewer has done wrong, but in most cases your inventory is still there on the Linden Lab servers. This is a bug of inconsistency between the cache management of several viewers.

The default location of the cache, depending on your operating system is as follows:
  • Windows XP
    C:\Documents and Settings\<username>\Application Data\SecondLife\cache
  • Windows Vista
    C:\Users\<username>\AppData\Roaming\SecondLife\cache
  • Windows 7
    C:\Users\<username>\AppData\Roaming\SecondLife\browser_profile\Cache
  • Mac
    /Users/<username>/Library/Application Support/SecondLife/cache
  • Linux
    ~/.secondlife/cache

When You use several different viewers, make sure you use a different location cache for each application.

Select the Preferences into the Edit menu
Select the Network tab
Location Cache

Change the default location and create as many subdirectories as viewers
.. SecondLife \ cache \ Official
.. SecondLife \ cache \ Snowgloble
.. SecondLife \ cache \ Emerald

Clear your cache and then reconnect, you should find your inventory.

You can also read this post on the forum for Emerald
Missing inventory? Look here!

Thursday, January 7, 2010

Resizer Script

Current Release 0.14
Aide en Français
These scripts will allow you to sell no modify items to your customers and still let them change the size of their product.
Key Features
  • Mono compiled
  • Easy Setup: Simply drag the setup script and read the instructions in world,
  • One script only needed: Be ready for the upcoming scripts limits,
  • Scale the resizer speed using several resizer working in parallel within the same object,
  • Menu Driven: Lets end user easily resize a no mod object,
  • Scale: +1% +5% +10% +20%, -1% -5% -10% -20%,
  • Spread the scale between several objects at same time, customer can disable the spread feature,
  • Freeze: Deletes all Resizer scripts installed into the object.
  • Pose: Stops all animations and starts you in a Editing Appearance state, Click this button to turn it off and on,
  • Custom animation can be used for Pose,
  • API to control Resizer from external scripts,
  • Free Update for Life.

Simple steps to setup your product

  1. Rez the object
  2. Drag the "=IOL Resizer Setup" into the root prim objet
  3. Wait for the script to propage into the entire set
  4. Once you get the message "Script loaded into child prims" Take object back into inventory and rez it again.
  5. Rez the object a second time
  6. Edit Object and select "Set Running into selection" into Second Life Tools menu
  7. Keep the script window open and wait until done.
  8. Drag the "=IOL Resizer:0" into each object

Tips

Speed the resizing


You can speed up the resizing process for the customer with adding multiple "=IOL Resizer" scripts. If you add "=IOL Resizer:1" script into the object, well the resizing process with be done in parallel by the two scripts ":0" an ":1" speeding up the resizing process around two. With three scripts speed will be three times more, 4 four, etc..

Spread scale: Synchronize the scale between different objects


Dragon Resizer script can be used to synchronize the scale of different objects at same time, for example you sell boots and wants your customer to resize right and left boot in same time. You can do this using the same description for both object before running the Dragon Resizer Setup.

Minimal and maximal size


When resizing the smallest dimension will remains 0.01 and the largest will be 10.0. Dragon Resizer will still remember the scale between original dimensions for any prims. Thus if the object is scale up or down again to normal size, proportion between prims will remains correct.

Customize the Pose animation for customer


Into the Options Menu of customer there is a Pose that will trigger Edit Appearance Animation, you can change the default animation putting an animation of your own into the object contents. It should be named ".resizer-pose".

Resizer API

IOL Resizer is shiped with an API thus one can control the script behaviour from external script.
All parameters are separated with ¤ character
LM_RZR_SETPARAMS <parameter-flags>
Set the resizer parameters. Actually there is only one parameters RZR_SHOWMENU.
To disable the resizer menu use llMessageLinked(LINK_SET, LM_RZR_SETPARAMS, "0", "");
LM_RZR_SCALE <propage> <scale>
Scale object to scale ratio.
If you use a multiple set object set propage to 1.
Scale 1.0 is original size.
LM_RZR_REMOVESCRIPT
Remove scripts from current object.
LM_RZR_RESET
Reset scripts from current object.
LM_RZR_EVTREADY <resizer-number>
Raises when resizer script is ready.
Can be used to set resizer params.
LM_RZR_EVTSCALE <scale>
Raises when scale is send to child resizer
LM_RZR_EVTDONE <resizer-number>
Raises when scale has been done
Here is a little silly example how you can controle Resizer Script from an external script.
//------------------------------------------------------------------------------
// IOL Resizer v 0.010
// Lalwende Leakey
// 12/02/2010
//------------------------------------------------------------------------------
// Resize API Sample
//------------------------------------------------------------------------------
// Resizer API Declarations
// Commands
integer LM_RZR_SETPARAMS = 24001; // Set resizer parameters <parameters-flags>
integer LM_RZR_SCALE = 24002; // Scale objetcts set <propage> <scale>
integer LM_RZR_REMOVESCRIPT = 24003; // Remove Scripts
integer LM_RZR_RESET = 24004; // Reset Scripts
// Events
integer LM_RZR_EVTREADY = 24010; // Raises when resizer script is ready <resizer-number>
integer LM_RZR_EVTSCALE = 24011; // Raises when several resizer script are used <scale>
integer LM_RZR_EVTDONE = 24012; // Raises when scale has been done <resizer-number>
// Parameters
integer RZR_SHOWMENU = 0x01; // Enable / Disable
//-------------------------------------------------------------------
// Global Variables
integer mDebug = FALSE; // Debug Flag
integer mIsReady; // Resize is ready
float mScale = 1.0; // Scale ratio
integer mTest; // Silly test counter
//------------------------------------------------------------------------------
default {
state_entry() {
// force reset of scripts
llMessageLinked(LINK_THIS, LM_RZR_RESET, "","");
}
// linked messages from other scripts
link_message(integer sender, integer lm, string params, key id) {
list lparam = llParseStringKeepNulls(params,["¤"],[]);
integer nparam = llGetListLength(lparam);
if (mDebug) llOwnerSay("DEBUG: " + (string)lm + " " + params);
// resizer is ready <resizer-number>
if (lm == LM_RZR_EVTREADY) {
// desactivate resizer menu once the resizer is ready
if (llList2String(lparam, 0) == "0") {
llMessageLinked(LINK_THIS, LM_RZR_SETPARAMS, "0", "");
mIsReady = TRUE;
}
}
}
// object has been touch
touch_start(integer num_detected) {
if (!mIsReady) return;
// perform a silly example (+10% during 10 touch then reset)
mTest++;
if (mTest < 10) mScale = mScale * 1.1;
else {mTest = 0; mScale = 1.0; }
llMessageLinked(LINK_THIS, LM_RZR_SCALE, "1¤" + (string)mScale, "");
}
}

You may Prim Resizer Script

Shop in world
Second Life Marketplace™

Friday, January 1, 2010

Second Life Bookmarks

To import the bookmaks of InSL Bookmars into your internet explorer, read the following instructions.

Start to download the file sl-bookmarks.en.zip
Unpack this file on your PC.

FireFox


Into menu "Bookmarks" select the command "Organize Bookmarks"
Into the menu "Import and Backup" select command "Import HTML"
Into dialog select "from an HTML File"
Select the file "sl-bookmarks.en.html"

Internet Explorer



Into the File menu, select the command Import Export...
Select the option "Import from a file"
Select command Next
Check Bookmark
Select command Next
Select the file sl-bookmarks.en.html