Jump to content
You are about to reply to a thread that has been inactive for 130 days.

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

Recommended Posts

Posted (edited)

Hello! I was wondering if there's a better way to issue RLV commands to another user's relay via script?

For context, I'm making a little mini-game thing for a couple friends, I've made a script that detects the user's username via sensor and then tries to issue a force sit to their relay to a spectator's bench when they're taken out of the game.

The command issued is:

 llSay(1, uS + " sit " + (string)keyT);

Further context: uS is the first two letters of the user's username, keyT is the UUID of the bench that I want to force the players to sit on when they're taken out of the game.

So for example, it would say "pi sit [UUID]" to channel 1 if it were my username.

The aforementioned sensor works. I have no doubt about that as I always use llOwnerSay in places to make sure it's working.
 

Edited by Pieguymystery
Posted

If your example works, then the only "better" way might be to use llRegionSayTo, so the chat message is only head by the target avatar's attachments.

The reason why that'd be better is because it reduces cross-talk and doesn't trigger listen events in every listening script on channel 1 within 20 meters.

Posted (edited)
14 hours ago, Pieguymystery said:
 llSay(1, uS + " sit " + (string)keyT);

That might work for OpenCollar wearers who are using their default prefix, but it's not really the standard or correct way of interfacing with someone's relay. See https://wiki.secondlife.com/wiki/LSL_Protocol/Restrained_Love_Relay/Specification

or in other words

key target = llDetectedKey(0); // or whatever results in the avatar to force sit.
key seat = llGetKey(); // or whatever results in the key of the object to sit on.
llRegionSayTo(target,-1812221819,"ForceSit,"+(string)target+",@sit:"+(string)seat+"=force");

 

Edited by Quistess Alpha
minor type conversion omission.
Posted

Oh, sweet!
This was exactly the type of thing I was looking for.

 

Quote

If your example works, then the only "better" way might be to use llRegionSayTo, so the chat message is only head by the target avatar's attachments.

And yeah, I used llRegionSayTo on other parts of the script, but I don't know why I didn't think to use it here.

Then again it was around 1 am, so maybe my brain just wasn't working.

 

Either way, thanks for the help!

Posted

You can do that without RLV, using an experience script and LLSitOnLink.

I have a demo in-world. If  you go to my workshop at the southeast corner of Vallone, behind the large building you can find a a park bench next to a flower bed. A sign explains it. If you stand near the park bench, don't talk, and don't move for about 30 seconds, the experience script will seat you on the bench, with the message "Please have a seat". You're not trapped; you can stand and walk away. (You have to accept the experience, of course. So this is most useful for places where you have to accept an experience to get in.  Linden locations with pre-accepted experiences could do this.)

forcedsit.thumb.png.67d468964e055826fceee6fc3c0e3b78.png

The idea was to place such furniture where unwanted AFKs and bots accumulate. Set the timer from 10 minutes to an hour. Avatars that do nothing are then seated on benches or waiting room type furniture to get them out of the way.

When I wrote this script, over a hundred lost bots were piled up at the Zindra and Horizons safe hubs, causing jams so bad that avatars were pushed through walls and regions slowed down. The LL crackdown on bots has helped. Now the adult safe hubs have around 10 avatars each, which doesn't cause problems. So the need for this is much less.

  • Thanks 2
Posted
8 minutes ago, animats said:

The idea was to place such furniture where unwanted AFKs and bots accumulate. Set the timer from 10 minutes to an hour. Avatars that do nothing are then seated on benches or waiting room type furniture to get them out of the way.

When I wrote this script, over a hundred lost bots were piled up at the Zindra and Horizons safe hubs, causing jams so bad that avatars were pushed through walls and regions slowed down. The LL crackdown on bots has helped. Now the adult safe hubs have around 10 avatars each, which doesn't cause problems. So the need for this is much less.

How do you get the bots to accept the Experience?

Posted
19 minutes ago, Love Zhaoying said:

How do you get the bots to accept the Experience?

There are some Linden experiences into which everyone is opted. So LL could do this at safe hubs. But that problem is past.

There are also some RP areas where you have to accept an experience or you will be ejected, to prevent cheating.

  • Thanks 1
Posted (edited)

@animats, that's an awesome way to deal with that situation! So much better than having some thing shove them off to the side, or auto-ejecting them or anything crude like that.

Nobody can even say it was impolite; you gave them a comfy seat to rest on, which is a very polite gesture. Good thinking!

Edited by PheebyKatz
You are about to reply to a thread that has been inactive for 130 days.

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...