There are other ways to do, but this is what i use and hope someone would find it useful. The function is great for owner IM notifier etc..
You could also alter the function a bit into get_slurl(vector pos) to obtain a specific position instead.
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
//=================================================
string get_slurl()
{
vector pos = llGetPos();
string result = "http://slurl.com/secondlife/"+llEscapeURL(llGetRegionName())+"/"+(string)((integer)pos.x)+"/"+(string)((integer)pos.y)+"/"+(string)((integer)pos.z);
return result;
}
//=================================================
default
{
state_entry()
{
}
touch_start(integer total_number)
{
llOwnerSay(get_slurl());
}
}
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
-- I marginally prefer...
; 