Friday 24 August 2012

LSL tutorial: Communication between parent and child


Back when I started to write complex scripts, one of the first puzzles I needed to solve was this: Object A rezzes object B out of its inventory, and needs to send some startup information to B. How can it do this?

When A rezzes B, the only information it can pass to it in the call to llRezObject is a single integer. When object B wakes up, its on_rez event receives that integer as the start_param. But suppose you need to send more information than that? Then A has to send it by encoding it into a string and speaking it. The channel it is going to speak on can be sent as the start parameter.

This won’t work:

In A:
llRezObject( channelNumber, ... );
llSay( channelNumber, ... );

In B:
on_rez( integer channelNumber ) {
   llListen( channelNumber, ... );
}

The reason is that A cannot assume that B is listening, or even exists, by the time that A speaks. Spoken messages are never queued: if no-one is listening, they are not heard. How can A make sure that when it speaks to B, B is already rezzed and listening?

Saturday 18 August 2012

My entry this week for Crap Mariner’s 100 Word Story Challenge. The topic was ”sparkle”, and I also used ”turquoise” from the Writers' Dash, but it wasn’t written at dash pace.

"Waiting for Twilight Sparkle"
A play in one act
by Tura Brezoianu

Friday 17 August 2012

"The sun does not shine above us, but within us."

My entry for this week’s Single Frame Story Challenge on the theme ”Illumination”.

Wednesday 8 August 2012

Whiskey Day and Botgirl Questi have started a new challenge, to create a single picture that tells a whole story, based on a word or phrase.

The first challenge is ”Last Words”, entries due by this Friday night, 10 August.


This is my entry. (Also on Flickr.) It's best viewed at full size.

Monday 6 August 2012

Tura has written a story about an elf.

The Writers’ Dash is held every day at 6am and 6pm Pacific Time in Second Life, which works out to 2am and 2pm in my timezone. Which means I can only participate in real time at 2pm on Sundays. But I can have a go any time for practice. This is my first attempt. The subject is ”Elf”. It took 40 minutes, not the prescribed 15.