Talk:LlInstantMessage

From Second Life Wiki
Revision as of 22:13, 5 January 2013 by Void Singer (talk | contribs) (explanation)
Jump to navigation Jump to search

Can anyone explain what is the point behind this sentence in the caveats?:-

For cross-region applications, the call to llInstantMessage can be placed in a child script, with information passed to that script via llMessageLinked.

What is the advantage in using a child script. Omei Qunhua 07:27, 4 January 2013 (PST)

That's the workaround for the 2 second delay, when region chat won't work. --ObviousAltIsObvious Resident 08:27, 4 January 2013 (PST)
Thanks. I hope I correctly clarified the reasoning. Omei Qunhua 09:17, 4 January 2013 (PST)

Back in the fray. Now I'm worried that the edit of December 5th 17:39 GMT is just adding confusion, and probably is misleading. Examples on these function pages should concentrate on how the function under question works. Using touch_end with a loop in place of touch_start looks as if it's intended to imply a higher rate of detection. However it will exceedingly rarely detect more touches than the simple touch_start example that was replaced. Multiple touchers would have to release their mouse buttons during the same server frame (22 mS). If one holds the mouse while another clicks on and off, two touch_ends will fire, with num_detected being 1 in each case.

And using constructs like --num_detected is surely not going to help anyone understand the workings of llInstantMessage.

And in example 1 I had intentionally added the word "simultaneously" to highlight the significance of simultaneity when reporting number of touchers. Omei Qunhua 12:35, 5 January 2013 (PST)

The changes were made because of the nature of delays. "simultaneous" touches or releases are equally rare, and are usually the result of queuing, time dilation, or delays where the script is actually accumulating results. I tweaked the example so that it wasn't giving the mistaken impression that detections were actually simultaneous, and weren't possibly giving out seeming failures due to the nature of delays. touch_end was used because not only is it preferable if new users build on it (thanks to state change issues), but touch start has been know to be flaky on accumulation, sometimes queuing two events for multiple touchers, the first a single toucher, and the second accumulated additional touchers... and not always consistently. so long as all touches are handled, not an issue, but a headache to explain properly to the inexperienced, so easier to just avoid while teaching best practice. on a side note, while --num_detected doesn't help anyone understand the workings of llInstantMessage, neither does "0"... 6 of one, half dozen of the other.
-- Void (talk|contribs) 22:13, 5 January 2013 (PST)