[sldev] New viewer released with logging of the owners of speaking objects and their location

John Hurliman jhurliman at wsu.edu
Fri Aug 31 01:22:23 PDT 2007


Dale Glass wrote:
> On Friday 31 August 2007 04:52:47 Harold Brown wrote:
>   
>> The Map API has a CAPS URL to query the region name from co-ordinate. 
>> Would you be able to use that?
>>     
>
> Jim sent me another email with the same question (I assume both were 
> mistakenly not forwarded to the list), so I'll reply to both here:
>
> No, the data I have is a region key and local coordinates, from the 
> ImprovedInstantMessage message:
>                 {   RegionID            LLUUID  }
>                 {       Position                LLVector3       }
>
> I don't know the global coordinate, so I can't use that. Also MapBlockReply 
> has no region LLUUUID.
>   

Why don't you use RegionHandleRequest? You can find esoteric stuff like 
this by searching through 
http://www.libsecondlife.org/template/release/1.18.2.0.txt, in this case 
I just searched for RegionID since it has been a while since I did what 
you are working on now.

> So far the only message that seems to contain the required info is 
> RegionHandshake. Which is why I had to build a bot that hops like mad between 
> sims gathering keys.
>
>
> In my understanding, regions can be identified by:
>
> * Name. Easy to gather by map block request.
>   

Is this true? I wasn't sure if names were unique identifiers for regions

> * Handle. This is an U64 which at least from looking at the libsecondlife 
> source seems to encode its position in the map. Also obtainable by map block 
> request. This one sounds like it can change if the sim moves around.
>   

It does contain the global X/Y position on the map, look in Helpers.cs 
at LongToUInts() for an example of how to do the conversion. And if the 
sim moves, it is my understanding that the handle will change (and 
possibly the UUID as well, not sure).

> * RegionID. This is a LLUUID which seems to be the key assigned to the sim, 
> and I assume it's not going to vary even if the sim is renamed or moved.
>   

I wouldn't make assumptions too quickly. A notecard gets a new UUID if 
it is modified, why wouldn't a simulator get a new one if it moved?

> Handle to Name, Name to Handle, position to Name/Handle are all easy. RegionID 
> is the tricky one to convert to anything else.
>   
>   

RegionHandleRequest. It is a lot easier than teleporting across the 
entire grid building a database! Believe me, been there done that ;-).

John Hurliman



More information about the SLDev mailing list