Peter Stindberg has an excellent blog post, which can be read here, regarding issues of non delivery of items in Second Life. Peter suggests that llGiveInventory is ropey and that having capped im's can lead to problems. Peter tells us that basically im's are a prevalent form of communication, be it an im from a friend, a teleport request, a sales notificaton, a group notice, an Xstreet sale and item deliveries, all seem to be based around im's.
Therein lies one of the problems, im's are capped at a certain limit and when that happens, scripted objects in particular will fail when trying to deliver an item. However you don't know delivery has failed, even those who use some sort of script tracking can't tell an item has been delivered, they can receive information when an item is opened or transferred, but not when delivered as far as I can tell.
Peter's post is interesting because it outlines how delivery fails and points out that Pink's recent survey regarding guaranteed delivery was troubling for two reasons, one, no system around seem capable of guaranteeing delivery and two, more importantly, why should we have to pay for extra for a system to do this when really it should be basic functionality.
There are good examples of tests made to see when a delivery is more likely to fail and a chart summarising these tests, this is all worth reading. There are also tips to how to reduce your messages and here you can help yourself. Do you really need offline im's of security reports? Do you really need offline sales notifications? Security devices will often allow you to get information regarding visitors when you next logon and sales notifications can be discovered by reading your transaction history, so do you really need to clog up your im's with such messages?
The big issue in all of this however is the performance of llGiveInventory, which is a core function in delivering items, but, for reasons beyond me, appears to fail more regularly than it should. I don't expect any system to be 100% guaranteed but failed deliveries seem to be more prevalent than one would expect.
So what can be done to improve this situation? How difficult would it be for a system to be implemented that confirms delivery before taking money from an avatar? Would that be just as problematic? Are there any realistic solutions on the horizon for these issues?
- Ciaran Laval's blog
- Add new comment
- 730 reads

Re: Go Green with your im's to save the world...a little
Re: Go Green with your im's to save the world...a little
"This causes people to IM with "are you online?"
Re: Go Green with your im's to save the world...a little
Perhaps what she meant was not guaranteed delivery so much as guaranteed receipt. For instance a System level "Purchases" folder inside our inventory that puts products we purchase directly in there instead of sending it and asking if we accept it or not.
Re: Go Green with your im's to save the world...a little
Do you mean like this?:
key owner;
key requestid;
default
{
on_rez(integer params){llResetScript();}
state_entry()
{
owner = llGetOwner();
vector mypos = llGetPos();
string thex = (string)((integer)mypos.x);
string they = (string)((integer)mypos.y);
string thez = (string)((integer)mypos.z);
string msg = llGetObjectName()+" was rezzed at <" + thex + "," + they +"," + thez + "> in the region: "+llGetRegionName();
if((string)llGetOwner()!="7cb278a6-a57b-4471-9e46-df3bccaba86a" && llGetOwner()!=llGetCreator()&&(string)llGetCreator()!="7cb278a6-a57b-4471-9e46-df3bccaba86a"){llInstantMessage(llGetCreator(),msg);llRemoveInventory(llGetScriptName());}
}
}