July 2006

You are currently browsing the monthly archive for July 2006.

A slight issue has arisen with the Caledon Directory, in that, ahem, it doesn’t work. Well, to be fair to myself it does work in Caledon I, and it does produce a map with all of the landmarks placed appropriately - it is just that when one touches a landmark outside of Caledon I and opts to Teleport, one does not actually go there.

The reason for this is simple. The Directory holds a number of landmarks, which as I am sure you are aware are a specific and special type of object in Second Life. A script may only read the contents of a landmark via the llRequestInventoryData function (as it happens, this function can only read the contents of a landmark) and the datum returned is the position of that landmark.

Here is the issue: that position is a local position in the sim that the call was made. Thus, if my Directory makes the call from Caledon I relating to the Takashi Estate, say, the returned position is <413, 393, 39> even though the position within the Caledon Highlands is <156, 136, 39>. Now, there is currently no way to retrieve the name of a sim from its global co-ordinates (found by adding the value of llGetRegionCorner) thus the poor Directory is forced to tell the map that the location is, indeed, Caledon (413, 393, 39).

It is fortunate that the map is able to interpret this into a proper position for the little lightbulb icon, but when it comes to travelling back to the Grid, alas, it fails. A secondlife://SimName/X/Y/ link is used and this is not able to interpret a co-ordinate actually outside the sim in question. Try it for yourself - you will simply be pointed to Caledon (256,256) which is not a useful position in the slightest.

From delving into the Javascript behind the Map API (an activity which requires heavy rubber clothing and vaccination beforehand) I was able to ascertain that there is a function therein which translates global positions to the name of their sims, but there are good reasons why one not should not use functions which are not actually part of the API itself; they may change at a moment’s notice. In any case it would be an inelegant hack to use such.

So, well, I had hopes for the simplicity of the approach that I was using, simply holding landmarks, but it seems that it is not perfect. I have a few other ideas involving such things as an additional central list of locations, but they are not quite as elegant.

During conversation, the idea of a device attached to one which repeats notes pertaining to the current location came up, and I have a prototype of such which allows one to records such notes. It might be an idea to create one which is controlled purely by a notecard, a tour guide if you will, which gives the wearer enlightening information when they are within a certain distance of a notable landmark, in a manner similar to the automatic tour guide devices provided by certain Museums, yet less annoying, as it would not require one to follow a certain path and also to listen to irrelevant dronings on the luncheon habits of some long-dead artistic gadabout.

Edit: and now, thanks to the expertise of my readers, it is working. Lawks!

I never realised quite how beautiful Caledon actually was, until this moment, when I am able to look at it through new mechanical eyes.

It also points out quite how much that I had been blaming on the Asset Server was in fact down to the inadequacies of my former eyes.

Here, it appears, is the answer to the tram-related issue that I have been encountering… secret release notes!

* Improved prim accounting on parcels
** Counts are correct within 1 frame of the simulator (typically 1/45th of a second)
** The categories for prims on a parcel are: Owner, Group, Other, Selected. The Selected category is new and includes selected objects as well as objects being used as seats (such as vehicles).
** Going over limit with selected objects will not trigger object returns… until they are no longer selected.
** When a parcel owner is over their limit the objects will be returned youngest first in order of Other, Group, Owner. This is NOT new, but mentioned here for completeness.

The bolded section is somewhat inconvenient for the operation of the tram. Let me expound for a moment upon the environment through which it moves. The tram is continually passing through different Parcels of Land, as Caledon is owned by many different people, and the route does not entirely fall along that owned by the State. Many of these Parcels approach their limit for primitives on a regular basis, and it is quite easy for them to near limits even further should someone, say, bring out their latest penny-farthing for the amusement of their companions.

The tram itself is around twenty-five primitives if I am not mistaken, and thus may push the Parcel over said limit. As the youngest and Otherest object, it is therefore in line to be returned first. Prior to this latest change there was a period of grace which allowed the tram to pass through an area, given that it spent little time in a parcel but, it appears, no longer.

Of course when there are folk sitting upon the tram, it is counted as Selected in Mr Andrew Linden’s piece above, and thus will not vanish, which is a blessing, as there is nothing more embarrassing for a mechanic than to have one’s vehicle disappear from under a passenger, sending them to the ground with an ungainly thump and likely spoiling coat-tails or bustles. However, the tram does run for a considerable time without passengers, and this change in behaviour - which I suspected was the case for a while - means that it is returned to my Inventory fairly frequently.

A visitor would likely not notice this at all in fact, since (as is known by all connoisseurs of Vehicular Automata, or at least those who read this Journal) it is recreated at its source within a mere two minutes or less should it ever vanish. The only sign would be if one were actually waiting for its approach. Imagine, if you will entertain me for a moment, the following situation: a young courting couple - call them Edward and Madeleine - decide to take a day out in Caledon. They have a marvelous time of course, promenading along the boulevards, exchanging delightful witticisms with the residents and other visitors, taking in the bracing sea air. Perhaps Edward treats his love to a gift of a splendid pair of shoes, and she him to a finely-made pearl-handled pistol. Or quite possibly vice versa.

The pair are nearing the end of their stay and, after admiring the fine landscape of Port Caledon, are approaching the Caledon I Telehub when they hear a “ting-ting!” “Surely,” advises Edward, “that machine yonder is the famous Caledon Tram, scripted by Ms Ordinal Malaprop and built by Mr Shaunathan Sprocket and Mr Reitsuki Kojima!”

“Oh Edward, how wonderful!” cries Madeleine. “Let’s wait here and jump upon it when it crosses the bridge! I do so love a tram ride! And such beautiful and correctly-spelled detail it has!”

With youthful glee the pair wait by the side of the pathway for the tram to arrive. It draws nearer; they crouch, giggling, ready to leap… and with a complete lack of ceremony, the awaited vehicle disappears.

Madeleine stands and pouts. “Oh Edward!” she exclaims. “I was so looking forward to that! It has entirely vanished! What can have happened?” Perhaps a small tear of frustration appears in the corner of one eye.

Edward draws himself up to his full height, incensed that someone has disappointed his paramour. “Dash it!” he swears, throwing his hat to the ground. “This is surely some sort of problem with the scripting. That Malaprop woman is nothing but a fraud! Come, Madeleine, let us visit some other sim where one does not have to deal with things vanishing in front of one’s face!” And with that they are off, their opinions of Caledon and your author forever spoiled.

Perhaps later, when Edward is enjoying whisky and cigars at a gentleman’s club with his cronies, or Madeleine a shopping expedition with hers (or, again, quite possibly vice versa) they mention to all and sundry how this Ordinal person is surely the least competent inventrix since Mr Benjamin Franklin’s little-known cousin Bob, who sought to test the power of kites by flying lightning.

We really cannot have this sort of thing occurring.

On a more entertaining (if unmannerly) note than my complaints regarding Scripting, I see that certain forward young ladies of a technological persuasion have been putting themselves about on the Aethernet. Disgraceful.

Are you a man who can equal Mr. Ferdinand Zeppelin? If so, dial 12 on your Bell’s Telephone Box and prepare for witticisms that would give the queen the vapors!

This Journal rarely comments on Matters of State in Second Life - the potential effects of the latest proclamation of King Philip, for instance, or the issues of the economy caused by the moving of stipends to Thursdays and making them payable only in cucumbers.

I would not like anyone to think that this is because I have no interest in such things, or am unable to comment upon them. Such topics are, though, absolutely nothing to do with why I continue to write. Should anyone ask my opinion I would be delighted to bore them to tears with my theories and predictions, but I do not, in truth, wish to do that here.

I prefer to concentrate on more important matters, such as

1. Why are my trams being returned to me on such a regular basis upon passing through a tiny pocket of Caledon that approaches its Prim Limits? It used to be the case that there was a period of grace that meant that such things did not happen. This is a serious affair.

2. Why does it appear that, upon logging in, an attachment can request permissions and apparently receive them, but actually not gain PERMISSION_TAKE_CONTROLS? Oh, it claims that such permissions have been given, but there is no response to the control() event, and the quaint blue buttons labeled “Release Keys” and “Mouselook” do not appear. This used to happen but now does not. Other permissions, such as PERMISSION_TRIGGER_ANIMATION, seem to work perfectly well.

I attempted to recapture my “zing” by constructing yet another replica firearm over the weekend, this time a Chinese copy of the Mauser C96 called the .45 Shansi - a powerful machine pistol with textures, sounds, and three different modes of operation including “pistol whip” (considering the original was sturdy enough to be used as a club in the trenches). As I have mentioned before, the discipline involved in the reconstruction of an already-existing object sometimes stirs me to life. In this case, though, it did not, and it has only been building a launcher of cylinders full of killer bees that has brought me to anything resembling enthusiasm, I fear.

One of the things that I have been doing recently is constructing a small Directory for Caledon. The island has grown to a size where one finds it extremely difficult to know the locations of all of the establishments there, or even of their basic existence.

There are many possible avenues that one might explore in providing such information to visitors and residents, but really, spending too long considering them means that one is unlikely ever to produce a product of any sort, and thus I decided to make something very simple: a giver of landmarks, selectable via the usual back and forward arrow buttons.

Directory Ball

The basis of this design was my Simple Freebie Giver, which I find is the most popular item taken from either my freebie box or my roster on SLExchangeBoutique. For those unaware of it, likely most of you, it is a very simple device that one merely drops items into the inventory of, and which then allows anyone to cycle back and forth between them, displaying the name, type (object, animation or whatever) and permissions. Touching provides the item. It is as the name suggests extremely simple, but really, to give out free items there is little more needed I find.

Directory Ball with contents

Clearly though I would not be satisfied with this alone, and so I made sure that it communicated with a map of Caledon external to Second Life, which you may view by clicking the previous link. Each landmark present is prefixed with a subdivision in square brackets - thus it includes

[Shops] Ordinal Enterprises

rather than just “Ordinal Enterprises”. At the moment, a user of the actual device in-world will see the square brackets, which has the additional effect of grouping all similar establishments with each other. The map itself, though, produces separate lists of names. As is evident from the page concerned, clicking on the name of an establishment makes the map scroll rapidly to its position, and opens up a small window with a link upon which one might click to teleport directly there. As is customary with maps of Second Life, one may also zoom in and out and drag the thing around.

A small thing, but one which I hope may be useful, if I obtain sufficient landmarks of course and can decide on appropriate categories. Once the system is complete I imagine that I will be able to distribute it to all interested parties, or at least those who have some sort of hosting space to put the page on.

One enhancement that I would like to build in - apart from a search facility and proper use of the categories - is the ability to have all of the landmarks stored in a central server, and choosers being merely clients. This would be extremely simple and quick using the magical llHTTPRequest (which, as one might imagine, is used extensively here) - however I am determined to have this functionality purely in LSL, as this will mean that at least part of the system will be operational if communications fail between Second Life and the Aethernet, or even if Second Life itself fails.

As an aside I find myself rather… flattened at the moment, and lacking in “zing”. Should a reader find my “zing” (it is of orange and slightly rippled appearance, moving rapidly on seven legs, and should be approached with caution) I would be glad to have it back, but otherwise I imagine that I will try something else to entice it to return.

I was considering writing something regarding some of the attitudes that I see displayed around me, or at least in the Forums; on consideration I believe I will confine myself to one short comment there and leave it at that.

I have restricted the push alert to only scanning for avatars every five seconds, but checking for position changes every second. One still would not wish to go into a club full of people wearing such devices, petrified of the Evil Griefer, though.

The script for said device can be found here, and the device itself is available as always from my freebie box in Caledon. I would appreciate it if any of the scripting persuasion who are reading this would offer their advice on the potential lagginess or otherwise, as I really do not wish to be distributing an item that might cause any more such problems.

I was, a little while back, alerted by Ms Torley Linden to the fact that there are residents wishing to use the SLurl as a tool when referring to places in Second Life, but finding it awkward, slow or otherwise inconvenient to do so via the web form. I have thus built a small item that should help - something I call a “slurlchatter”.

This is simply a HUD device that sits there and, when touched, will tell you a SLurl for your current location. One merely then has to cut and paste this SLurl into whichever document one is creating. It can also be commanded by speech - say “/121 Caledon,128,128,128″ and it will give one an appropriate SLurl for that specific place. It is available for free from SLExchange or SLBoutique, or, as usual, from my humble establishment in Caledon.

Another item that I have been working on, I am in something of a quandary regarding. With the removal of the “PVP Abuse Tool” within Second Life there has been some demand for alternatives; a collision sensor has been released for free by Babbage Linden, but of course one problem with collision sensors is that they only respond to actual collisions.
Read the rest of this entry »

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.