Jump to content

Why Doesn't This 'Online for Others' Script Work?


Prokofy Neva
 Share

You are about to reply to a thread that has been inactive for 2225 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

key uuid= "";
string name="";



key request;

default
{  on_rez(integer times)
    {
        llResetScript();
    }
    
    state_entry()
    {
         llSetTimerEvent(10);

    }
  

    timer()
    {

        request =  llRequestAgentData(uuid, DATA_ONLINE);
    }
    

    dataserver(key requested, string data)
    {
        if (requested == request) {
            
            if (data == "1") {llSetText(name+" is now online.",<1,1,1>,1.0);}       
            else {llSetText(name+" is now offline.",<1,1,1>,1.0);}        
        }
    }
}

Perhaps someone can tell me what is wrong with this script, it doesn't work.

It cost $600 on the MP but was actually made by a different scripter than the seller and is all perms.

What I was looking for was a script that showed my online status NOT JUST FOR ME IN MY OBJECT, but for ANYONE who got an object I made and transferred to them.

There are a ton of "status online" scripts out there and I have a ton and that is NOT what I need. I have that.

I need a transferable script that can go in my prim I made and distribute to others so that when they rez it out, they can see my online status.

What's wrong with this script is that it says "Prokofy Neva is offline" not only to me, but to anyone else I give the object to, even if I am online.

Yes, I put my avatar key in it and reset the script.

 The maker promises this:

"For ANY avatar indicator-text and color change
Just set their name&key at top of script

But something is wrong if it shows offline for me (which is perhaps how such scripts work even when working) but for anybody getting the object.

And is that the issue? It shouldn't be, if it is all perms.

Link to comment
Share on other sites


... it shows offline for me (which is perhaps how such scripts work even when working)

That's not a good sign. I wonder if the "Running" checkbox is still checked at the bottom of the script editor. A passing typo can cause that to clear, which is easy to overlook, and this script doesn't provide much hint that it's running until it switches state.

In passing, the delay for a script to receive updated online status is generally minutes rather than seconds, and quite unpredictable even compared to the corresponding change in the viewer's Friends List.

 

Link to comment
Share on other sites

Yes, I know how to put my key in between quotation marks.

I know how to put my name in between quotation marks, too.

Yes, reset is clicked -- and even the edit menu reset is used.

Yes, I waited five minutes because of what Qi said about how it could be slow in scanning.

And...it still says "Prokofy Neva is offline" although I'm online.

key uuid= "8bfe96db-7e41-871e-0d8d-c79017aea063";string name="Prokofy Neva";key request;default{  on_rez(integer times)    {        llResetScript();    }        state_entry()    {         llSetTimerEvent(10);    }      timer()    {        request =  llRequestAgentData(uuid, DATA_ONLINE);    }        dataserver(key requested, string data)    {        if (requested == request) {                        if (data == "1") {llSetText(name+" is now online.",<1,1,1>,1.0);}                   else {llSetText(name+" is now offline.",<1,1,1>,1.0);}                }    }}
Link to comment
Share on other sites

Agent keys are not even remotely secret, so for whatever it's worth, Prokofy Neva's UUID is [EDIT to elide a different UUID from the one in the above-posted script]; the one in that script -- perhaps just a sample? -- doesn't seem to belong to any agent.

Regarding the update delay, five minutes is usually more than enough, but the jira (I know, I know) from 2011 claims it can sometimes be over ten minutes.

Link to comment
Share on other sites

OK. This works for me too and tested with a friend and works for them.

 

Also made a version with the UUID posted and your name and sent to you full perm just in case. It says you are offline but so does your profile (7:26 AM). 

 

So if IT doesn't work for you then there seems like there must be something going on with your account. At least you can tell them you TESTED :D.

 

And thanks for your purchase == that showed up when I sent the sample off to you.

 

Good luck.

Link to comment
Share on other sites

Yes I wondered about the jira too but testing it between two accounts located on different sims showed nowhere near that level of delay. And this was on a 5 second timer (no patience for a whole 10 =^^= ).

Tried all the privacy combos I could think of too but made no diff. Even the bit where someone on list chooses to not show as on to you. Possibly a viewer related glitch? Tested on sing and kokua.

Link to comment
Share on other sites

I am actually looking for the script that you already have... a script that shows who is online; like a HUD displaying list of people i am tracking if they are online. I have tons of friends and a few of them are family and I would like to know if they are online instead of them being burried in the hundreds of names. If you can kindly share that with me, that will be awesome, and thanks! Kiki

Link to comment
Share on other sites

instead of putting the uuid of the avatar; I wonder if there is a way to input the login name of the avatars, and the tool will store it in a notecard; and you can add as many as you wish to the list to be tracked? editing the uuid every time can be annoying and not user friendly Thanks,

Link to comment
Share on other sites

Actually, no, Chic, it didn't work when all I pasted was my own avatar key, which I got from an old "name2key" script.

You presumably got my avatar key from the descendent of the Emerald browser which scrapes data : )

Yes I know that the avatar key is "available" and "can be gotten" and that I publicized my own avatar key : ) I have a different view about this (actually, the same view most people have about RL but shed in SL).

In any event, there's an important thing you've added to my key, these letters: 02da

And you have a DIFFERENT key!

A copy of your script is attached so you can see how they are added in the script.

Did I drop something when pasting in my key? Yes, *here* on the forums I dropped a number, but inworld I had faithfully pasted it.

Did I somehow not paste my entire avatar key? No, because this is the answer I get from the "touch for key" script:

 9e89e99c-2106-e811-e105-4c45e4d66cfb

 It's different than the avatar key you got.

Yet in order for the script to have said "Prokofy is offline" it must have had SOME relevance. Did LL change the way keys are generated in the last 10 years?

You can see THAT script below too, pretty basic, and I don't think it has anything wrong with it.

But notice that my avatar key is DIFFERENT.

Or "how did you just know" to add the 02da?

 

default{    touch_start(integer total_number)    {        llOwnerSay( "My key is " + (string)llGetKey() );    }}
key uuid= "02da98ac-3e2e-4e8f-bedc-d0e2a1c670b4";string name="Prokofy Neva";key request;default{  on_rez(integer times)    {        llResetScript();    }        state_entry()    {         llSetTimerEvent(10);    }      timer()    {        request =  llRequestAgentData(uuid, DATA_ONLINE);    }        dataserver(key requested, string data)    {        if (requested == request) {                        if (data == "1") {llSetText(name+" is now online.",<1,1,1>,1.0);}                   else {llSetText(name+" is now offline.",<1,1,1>,1.0);}                }    }}

 

Link to comment
Share on other sites

OK the script that I have called "touch for key" must be for an object key although it seems to generate the same key in every prim which is why I thought it was the avatar key. Who the hell knows.

I found another way more complicated script to get the avatar key here:

 

http://wiki.secondlife.com/wiki/Find_Avatar_Key

 

This script gives me the key that Chic is using:

 

02da98ac-3e2e-4e8f-bedc-d0e2a1c670b4

Note the form seems the same:

9e89e99c-2106-e811-e105-4c45e4d66cf

so nobody caught that.

I also see that if you put the prim with the "touch for key" script back in inventoy, then touch it, you get a new key, with is a property of all networked notecard givers etc. So this must be an object key not avatar key.

 

 

Link to comment
Share on other sites

A reminder that the avatar key is "not public" on the regular SL Viewer despite the fact that sure, you can get it with vendors, scripts etc and it is necessary for financial transactions and such. Again, please read this.

Chic Aeon said "I got your key from your profile up top".

 She must be using the descendant of the Emerald Viewer, Firestorm.

When I click on "Me" and then "Profile" using the SL viewer, I sometims get a Linden backend of test links after I wait for a long while.

If I right click on myself and choose "My Profile" I get the actual "My Profile" page that does not have any avatar key on it, nor does it for other people. To be sure, as you attempt to pull up these names from Google search, part of the avatar key flashes by but ultimately is not displayed.

BTW after I've used right-click/select then the pulldown "me" and "profile" goes back to working properly, then stops when I log on again. Oh well.

I do not see any place on the SL viewer with the immediate menu where the key is displayed as distinct from being obtainable with scripts.

I do not see anything on the advanced menus, no.

Link to comment
Share on other sites

llGetKey() does indeed return the key of the prim. It will be assigned on_rez, and will be different each time you rez it.

Replacing llGetKey() with llGetOwner() in your touch script would return your agent key as long as the prim is belonging to you. llGetCreator() will return your key in a prim you created, but can be owned by someone else etc.. There are plenty of ways to get your key.

http://wiki.secondlife.com/wiki/UUID


Prokofy Neva wrote:


so nobody caught that.


What does that mean, nobody caught that? What should have been caught by anyone with the information you have given?

Link to comment
Share on other sites

Just to be clear, inworld I told you I got your key from this FORUM post (someone put in your key - I have no idea how they got it).

 

I later told you that you could get your key from your profile (that's where I got mine).

 

And yes, I am in FIRESTORM :D, the most popular viewer *wink*.

 

I have never had any need to know anyone's key but mine and have no idea how you "get" that from someone else. Just want to set the record straight.

 

It certainly seems like the issue was that the key was wrong since so many folks got the script to work for themselves.

Link to comment
Share on other sites

In your opening post you claimed that you have put in your avatar key.

Your reply to my post that the script works was, that you know how to put your key between quotation marks. When in fact you did not know!

Why should anyone assume you have no idea, when you claim you do know what you are doing twice already?

You should have ask how to get your avatar key, because you had no idea what it is obvously. Instead of claiming the script doesn't work.

 

Link to comment
Share on other sites


... avatar keys "aren't secret" but as in RL, it's good to ask permission to use them.

Meh. At this late date, it's hardly worth arguing, certainly not here in this forum, so I edited the post where I "disclosed" the key.

Meanwhile, here's a variant of the script that doesn't require entering key or name or anything. Instead it gets the online status of whomever created the script. and displays the results using that agent's Display Name out of cussedness and to punish Unicode abusers.

key agent;string name;key nameRequest;key onlineRequest;requestOnline(){       onlineRequest = llRequestAgentData(agent, DATA_ONLINE);}default{    state_entry()    {        agent = llGetInventoryCreator(llGetScriptName());        nameRequest = llRequestDisplayName(agent);    }    timer()    {        requestOnline();    }    dataserver(key requested, string data)    {        if (requested == onlineRequest)        {            if ((integer)data)                llSetText(name+" is now online.", <1.0, 1.0, 1.0>, 1.0);             else                llSetText(name+" is now offline.", <0.0, 0.0, 0.0>, 1.0);                }        else        if (requested == nameRequest)        {            name = data;            requestOnline();    // or wait for first timer expiry            llSetTimerEvent(10.0);        }    }}
Link to comment
Share on other sites

This thread makes it into the entertainment status.

There was a high probability of a wrong key and a low probability of a system failure from the beginning.

But if someone has a big mouth: "Yes, I know how to put my key in between quotation marks." I never check those things. They find out themselves or not. Doesn't matter to me. :D By using some logic you could easily find that out on your own. Is a good lesson in bug hunting too. Never take something as fact if you didn't check it properly. :D

 

 

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2225 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...