Prim counter scripts – L$50 each

Not new products, but ones I’m seeing a lot of interest in, recently; prim counters for rental parcels.

First of all, we have the fairly standard multi-renter single parcel counter. This is intended to give avatars sharing a single lump of land, an idea of their prim usage compared to their prim quota. Produces output such as:

Single parcel multi-avatar prim counter 1.2: You are using 309 out of a quota of 1000 prims for this parcel.

Prim quotas are defined in an included notecard. Requires that the prim’s owner has “owner-like” access to the land; that means either be parcel owner, or be an officer in the group the land is deeded to (apparently; have to admit I’m trusting the documentation on that one).

Secondly, there’s the multi-parcel prim counter. Designed to sit in a rental office or similar on arented out sim, it takes in one or more landmarks (for parcels on the same sim). When clicked by its owner, it tells them the total prim allowance and usage for the parcel each landmark points to. Output example:

Demo prim counter: “Chess set at 400m” contains 35 out of a maximum of 351 prims.

Both scripts are L$50 each, and available from XStreetSL or directly from my in-world store.

No Comments

Basic modifiable vendor script – L$50

Starting my new range of “core” scripts at value prices, we have a modifiable vendor. Nothing exciting; sits in a prim, takes money, hands out objects. Perfect if you’re just getting started, or have ever wanted to see what a vendor script looks like on the inside. Currently this is an XStreetSL only item, but it will be going into rotation through my shops over the next few days.

Configuration is done entirely by chat commands. All you have to do is drop the script and object (or objects to sell as a set) into a prim together, tell it the price (in chat), and it does the rest. A sample vendor is provided, if you get stuck. Full instructions included in the package. As always, free updates for life are just part of the standard customer service.

XStreetSL: https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1478419

No Comments

Second Life® DRM: A failed technological solution to a societal issue

I see a lot of rants about in-world copy tools, copy bots, and why Linden Labs® aren’t doing anything about it. I see a lot of people (quite rightly) upset to see products they’ve poured hours/days of work into being copied and resold. I’m here to tell you it’s all backwards. I see LSL functions held back by absurd claims that they’ll remove some sort of security that never existed in the first place.

Lets get something straight; if I can perceive it, I can copy it. DRM does nothing except slow this down. Blu-Ray came closest to succeeding in stopping copying, with controlled hardware sold by licensed vendors and running custom DRM schemes in a virtual machine. It didn’t last.

So what can content creators do about unlicensed copying? Well, first of all, answer the following question:

“Why is unlicensed copying bad?”

Intuitively, any copy of a product someone has, for which the owner did not get their slice, is a lost sale. Given the insanely low prices on everything in SL (by my estimations, it will take me two years to make back the time invested in any product I sell, for example), that’s money that merchants can ill afford to lose.

Except, would these people really buy your stuff anyway? To me, there are people who understand the intrinsic value of digital content, and there are people who want everything for free. The latter will fight every step of the way, while the former will happily pay for good quality work. The problem then becomes how do we convert the non-payers into customers.

Oh, and we’re back to DRM (or C/M/T if you prefer). Except, it’s a technical solution. It restricts customers and copies alike. If I buy something no-trans, and want to transfer it to alt, why can’t I? If I want to backup content I’ve legitimately paid for (I’ll do a post about ownership in SL another time), why can’t I?

To me, I think the best thing to do is encourage everyone to build, script, animate, or generally spend time making stuff in SL. Not until they produce something and realise they too want money for it, will it sink in that others deserve money for their creations. The problem is society’s lack of perception of copying digital media as involving someone losing something (earned income). This covers not just SL, but music, video, computer games, and anything else you can stick on a CD/DVD.

Personally, everything I sell (apart from demos) in my shop is scripts with mod-enabled, which makes them trivially copiable. Many of the scripts are shipped full perms.  My experiences so far are increased sales over time, and recurring custom. I’m particularly seeing a lot of people who want to have all the scripts from me, because they know they don’t have to worry about passing it to alts, or modifying it to taste.

DRM free; give it a go, you might just like it.

1 Comment

Window texture cycler – L$250

XStreetSL: https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1476281

This is a texture cycling script, intended for use in building houses or similar. It changes the textures on one or more sides of some prims it  is linked to, cycling sequentially through a set of textures in prim inventory. Can be configured to only respond to prim owner, anyone whose ACTIVE group is the same as the prim, or everyone.

IMPORTANT:

1. The textures MUST be full perms, due to SL’s permission model.
2. This can only change linked prims.

Configuration (taken from included docs)

The prims which are changed, which sides are changed, and who the script responds to are configured by setting the description on the prim the script is in. This description should be of the form: Change “<prim name>” sides <sides> on <access> click

Prim name is the name of the prims that the script will change. For example, if you set it to “Window pane”, the script will affect all LINKED prims called “Window pane”.

Sides is a comma-separated list of sides of the prim. If you’re not sure what you’re doing, “2,4″ is a safe bet for this, and changes two opposites sides of a cube (rotate the prim if it’s not changing the sides you expect).

Access can be “owner”, “group” or “everyone”. Please note that group access requires the avatar’s ACTIVE group matches the prim’s group (not just that they are part of the group).

Examples:

Change “Window pane” sides 2,4 on owner click
Change “Window” sides 2 on everyone click

No Comments

Re-texture/re-color HUD scripts for eyes, hair, etc. – L$1,500

XStreetSL: https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1471933

XStreetSL demo: https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1474518

Second Life: http://slurl.com/secondlife/Sunweaver%20Air/203/45/141

Ever wanted to ship a HUD with your hair, eyes or fairly much anything else, so it can be re-textured or re-colored by the end user? This is the product for you. Full perms on all scripts, a complete HUD for setting textures, colors and glow on unlinked prims.  Comes with all the scripts you need to set up the HUD, plus a sample HUD. Script for putting in the target prims is also provided. Textures can be loaded from prim inventory or stored within the HUD script itself. Colors and glow can be configured by changing the button they’re on to the right values and using the included scripts to handle the HUD configuration for you.

Instructions

While a sample HUD is provided, you are strongly encouraged to make your own HUD to hold the scripts (particularly as mine is really ugly).

There are 3 scripts for the HUD, 1 script (change receiver) for the target prims, and 2 supporting tools (texture UUID dumper and face identifier).

HUD Setup

The HUD scripts are:

  • Color reporting script
  • Glow reporting script
  • Texture changing HUD script

“Texture changing HUD script” goes in the ROOT of your HUD’s link set, and handles all clicks on the HUD. It identifies which button is being pressed by the prim’s name, which is where the two reporting scripts come in. While textures are managed by the HUD script, color and glow buttons must have pre-configured, and the two reporting scripts set name of the prim they are put in according to its color/glow.

There are 5 buttons supported by the HUD script (specified by name):

  • “Texture preview” – these prims have textures set across their faces by the HUD script, to show the user textures they can choose.
  • “Color <color>” – these prims trigger a color change when clicked. For example, a prim named “Color <0.00000, 0.00000, 0.00000>” would set the target to black when clicked.
  • “Glow <glow>” – these prims trigger a glow (and optionally fullbright) change when clicked. For example a prim named “Glow 0.25″ would set a prim to quarter-glow when clicked.
  • “Left arrow button” and “Right arrow button” – these allow paging through the texture preview.
  • “Minimise button” – minimises the HUD by rotating it 90 degrees, and also de-minimises (but do make sure there’s a button on the face the user can see when the HUD is minimised!).

Any button is optional, and any button except left/right arrow can be duplicated across the HUD as many times as you can get to link.

Textures are loaded from two places; firstly, from a list stored inside the script, and secondly from prim inventory. While the first requires more work, it is required if you do not wish to ship full permission textures with your HUD due to SL’s security model. This is where the first supporting tool, “Texture UUID dumper” helps; if you put your textures (which MUST be full permission) into the Texture UUID dumper, then click it, it will produce a list or lists ready for insertion into the script.

If the texture UUID dumper produces more than one message (message length from LSL is limited, which makes this necessary), you’ll need to remove the “];” from the end, and “[" from the start, of between messages to create a single list for the LSL script.

The list should then be put into the script at the line (in place of "[]“:

list STORED_TEXTURES = [];

If you then ship the scripts (both HUD and change receiver) without modify permissions, the customer won’t be able to read the UUIDs out of the script. If you’re doing this, I’d recommend changing g_Channel in the HUD script and change receiving script, so they can’t listen for messages between the two scripts and extract the UUID that way. Remember that the channels MUST agree for the script to work.

Target Prim Setup

In each prim you wish to change you should put the script “Change receiver” into prim inventory. This script will attempt to load a configuration notecard and then listen for commands from the HUD. It can be configured to change only some sides of a prim, and to change full bright settings along with glow, by putting values into a notecard called “Configuration”, with the notecard placed in the same prim as the change script.

The configuration should look like:

sides=1,2,5
glow bright=false

In this case, that would change only sides 1, 2 and 5 of the prim, and would not change full bright settings. By default (if there is no sides entry in the configuration notecard), the script changes all sides of a prim at once.

For full bright settings; depending on use case, it can be beneficial to set full bright on prims when a prim is set glowing, in order to provide a glow boost, and also to disable full bright when glow is set to 0. This is where the “glow bright” option comes in; disabled by default, it sets a prim’s faces to full bright if glow is set to non-0 values, and sets full bright off if glow is set to 0. It can be configured with lines such as:

glow bright=true
or
glow bright=false

in the configuration notecard.

For identifying sides of a prim, a simple “Prim face identifier” script is provided which will say the number of the side clicked, when it is placed in a prim. Please note that the script is shipped not running; once you have added it to a prim, use Tools -> Set Scripts to Running in Selection to start the script.

Samples

A sample HUD, with a selection of random textures from a freebie box, is provided. Feel free to use it as a base for your own HUD (or ship it as is, if you like it, your choice).

A sample change receiving prim, “Change receiver”, is also supplied. It may provide particularly useful as it contains a sample configuration.

No Comments

Color/texture painting and replacement tool – L$500

The first of my major releases this month is a tool for setting texture/color on prims in a link set. You can grab it from XStreetSL at https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1471045.

Has three basic modes of operation:

  • Bucket – sets all prim faces to one texture/color.
  • Paint – sets an individual prim face on click.
  • Replace – substitutes one texture/color with another.

Usage

There are three scripts, in two parts; a HUD which controls the texture tool, and the texture tool which performs the actual changes. The texture tool works by being linked to the target prim(s). For texture replacement to work, it needs to inject a script into every prim in the link set, and those scripts then need to be set running. Once finished, de-linking the texture tool from the link set will cause its client scripts to self-delete.

So, the procedure is, step by step (the texture tool will walk you through this, too):

  1. Rez texture tool and target prim(s).
  2. Link texture tool at root of target prim(s) linkset.
  3. Click texture tool to start script injection.
  4. Take link set to inventory.
  5. Rezz link set from inventory.
  6. While in build mode, select link set, then from the Tools menu pick “Set Scripts to
    Running in Selection”
  7. Wear the HUD to control the texture tool.
  8. Make changes.
  9. De-link the texture tool from the target prims, to cause its supporting scripts to self-delete.
    You can do this by selecting the link set, then enabling “Edit Linked Parts” (from the Tools
    menu), click the tool prim to select only it, and then click “Unlink” in the Tools menu.

The HUD, when attached, contains 3 basic parts:

  1. Mode buttons (far right); Bucket, Paint and Replace.
  2. Texture preview buttons (centre).
  3. Color buttons (bottom) – supplied in just black and white, but you can add more by
    duplicating the existing button and attaching them to the HUD.

Textures are loaded from prim inventory, and MUST be full perms for the HUD to operate correctly.

To set all prims to one color/texture, select Bucket (it should turn yellow), then click on a texture preview button, or color button.
To set individual prims, select Paint, then click a texture/color, then click prims in the target link set. The clicked face will change to match the selected texture/color.
To replace textures/colors, select Replace, then click the texture/color to be replaced, followed by the texture/color to replace it with. Clicking a texture after a color, or a color after a texture, will cause the initial choice to be cleared.

No Comments

Shop officially opening, 22nd May 2009, 9pm SLT

Finally my store in Second Life will be officially opening, this coming Friday 22nd May, at 9pm SL time. Madame Maracas from RadioRadio will be DJing through the night until midnight, at which point those of us in Europe time can keel over in an exhausted heap.

Event listing: https://secure-web18.secondlife.com/events/event.php?id=2708063&date=1242975600

SLURL: http://slurl.com/secondlife/Sunweaver%20Air/216/39/141

No Comments

Rezz-day present giver – L$50

Somewhat in the theme of raffle balls or magic chairs, this is a rezz-day present giver. If an avatar clicks on the prim on the same day as the created their account (were “rezzed”), it gives them a random item from inventory. Otherwise, it tells them how many days until their rezz-day. Handles leap-birthdays (Feb 29) by handing out presents on March 1st instead (if the current year isn’t a leap year).

This script will only hand out objects (prims and prim sets), never notecards, landmarks, scripts or any other type of inventory.

XStreetSL: https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1469303

Second Life: http://slurl.com/secondlife/Sunweaver%20Air/211/43/141

No Comments

Freebie: Avatar age & height detector

Looks up the age and height of any avatar that clicks it. Nothing more than a cute toy. Produces output such as:

Avatar age & height detector 1.0: Xugu Madison is 1791 days old, and 1.22 metres tall (without shoes).

XStreetSL: https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1468356

No Comments

Howto: Texture UUIDs in Second Life

Driven by some of the searches bringing people to my blog, and the fact that I just put out a wildly popular freebie texture UUID extractor, I thought I’d write a howto on texture UUIDs in Second Life.

First of all, what do I mean a texture UUID? A UUID is a Universally Unique Identifier , so a texture UUID is a unique identifier for a texture. It can be used, via LSL, to set the texture on a prim without having the texture in prim inventory. I see the main legitimate use of this as allowing scripts to set textures on unlinked prims without having to pass the texture around (instead passing “by reference”). It does, unfortunately, also see a lot of use as part of Copybot and similar tools; if you can get a texture’s UUID, you can use it anywhere you like.

So how do you get a texture UUID? Well, LSL provides two methods for doing this; either get the key from a texture in prim inventory, or from a texture on the side of a prim. Both require full perms; on the texture if it’s in inventory, or on the prim if it’s got the texture on one side.

This is where my pet freebie comes in. Drop it, and full perm textures, into a prim together. Click your prim, and it will write out a list of the texture UUIDs, preformatted for inclusion in a script.

XStreetSL: https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1447132

SL: http://slurl.com/secondlife/Sunweaver%20Air/195/25/141

No Comments