There is a very little known feature of Second Life to do with showing video in world, this is the ability to show different videos to individual avatars on the same land parcel. I’ve mentioned this to a quite a few people now and all have been in disbelief, even some of the Lindens seem to be unaware of this feature.
The method to do this however is not a hack and has in fact been documented in the LSL API for as long as I know.
The method in question can be discovered by looking at the documentation for llParcelMediaCommandList if you have a close look at the parameters there is one called
PARCEL_MEDIA_COMMAND_AGENT
the description for which is “Applies the media command to the specified agent only.”
So lets look at a quick simple example.
We need a screen that can listen for urls over chat and then set the url for the person speaking. ( The screen must be owned by someone who has media permission on the land )
The script for the screen is …
integer listen_handle;
default
{
state_entry()
{
listen_handle = llListen(10, “”, “”, “”);
}touch_start(integer total_number)
{
llSay(0, “talk on channel 10 to set your personal video for this land”);
}listen( integer channel, string name, key id, string message )
{
llSay(0, “Setting Video play back to ” + message);
llParcelMediaCommandList( [
PARCEL_MEDIA_COMMAND_URL, message,
PARCEL_MEDIA_COMMAND_AGENT, id,
PARCEL_MEDIA_COMMAND_TEXTURE, (key) llGetTexture(0) ] );
}}
Here’s a quick side by side screenshot of two AVs watching a different movie at the same time on the same parcel of land.
Extra points for guessing what movie trailers they are watching