diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/lsl_guide.html | 22078 |
1 files changed, 0 insertions, 22078 deletions
diff --git a/linden/indra/newview/lsl_guide.html b/linden/indra/newview/lsl_guide.html deleted file mode 100644 index aa660b8..0000000 --- a/linden/indra/newview/lsl_guide.html +++ /dev/null | |||
@@ -1,22078 +0,0 @@ | |||
1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> | ||
2 | <HTML | ||
3 | ><HEAD | ||
4 | ><TITLE | ||
5 | >Linden Scripting Language Guide</TITLE | ||
6 | ><META | ||
7 | NAME="GENERATOR" | ||
8 | CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD | ||
9 | ><BODY | ||
10 | CLASS="book" | ||
11 | BGCOLOR="#FFFFFF" | ||
12 | TEXT="#000000" | ||
13 | LINK="#0000FF" | ||
14 | VLINK="#840084" | ||
15 | ALINK="#0000FF" | ||
16 | ><DIV | ||
17 | CLASS="BOOK" | ||
18 | ><A | ||
19 | NAME="AEN1" | ||
20 | ></A | ||
21 | ><DIV | ||
22 | CLASS="TITLEPAGE" | ||
23 | ><H1 | ||
24 | CLASS="title" | ||
25 | ><A | ||
26 | NAME="AEN2" | ||
27 | >Linden Scripting Language Guide</A | ||
28 | ></H1 | ||
29 | ><H3 | ||
30 | CLASS="author" | ||
31 | ><A | ||
32 | NAME="AEN4" | ||
33 | ></A | ||
34 | >Aaron Brashears</H3 | ||
35 | ><H3 | ||
36 | CLASS="author" | ||
37 | ><A | ||
38 | NAME="AEN7" | ||
39 | ></A | ||
40 | >Andrew Meadows</H3 | ||
41 | ><H3 | ||
42 | CLASS="author" | ||
43 | ><A | ||
44 | NAME="AEN10" | ||
45 | ></A | ||
46 | >Cory Ondrejka</H3 | ||
47 | ><H3 | ||
48 | CLASS="author" | ||
49 | ><A | ||
50 | NAME="AEN13" | ||
51 | ></A | ||
52 | >Doug Soo</H3 | ||
53 | ><H3 | ||
54 | CLASS="author" | ||
55 | ><A | ||
56 | NAME="AEN16" | ||
57 | ></A | ||
58 | >Donald Kjer</H3 | ||
59 | ><P | ||
60 | CLASS="copyright" | ||
61 | >Copyright © 2007 Linden Lab</P | ||
62 | ><DIV | ||
63 | CLASS="legalnotice" | ||
64 | ><P | ||
65 | ></P | ||
66 | ><A | ||
67 | NAME="AEN22" | ||
68 | ></A | ||
69 | ><P | ||
70 | ><SPAN | ||
71 | CLASS="trademark" | ||
72 | >Linden Lab</SPAN | ||
73 | >® and | ||
74 | <SPAN | ||
75 | CLASS="trademark" | ||
76 | >Second Life</SPAN | ||
77 | >® are registered | ||
78 | trademarks of Linden Research, Inc.</P | ||
79 | ><P | ||
80 | ></P | ||
81 | ></DIV | ||
82 | ><HR></DIV | ||
83 | ><DIV | ||
84 | CLASS="TOC" | ||
85 | ><DL | ||
86 | ><DT | ||
87 | ><B | ||
88 | >Table of Contents</B | ||
89 | ></DT | ||
90 | ><DT | ||
91 | >1. <A | ||
92 | HREF="#AEN27" | ||
93 | >Introduction</A | ||
94 | ></DT | ||
95 | ><DT | ||
96 | >2. <A | ||
97 | HREF="#AEN33" | ||
98 | >Getting Started</A | ||
99 | ></DT | ||
100 | ><DD | ||
101 | ><DL | ||
102 | ><DT | ||
103 | >2.1. <A | ||
104 | HREF="#AEN36" | ||
105 | >Hello Avatar</A | ||
106 | ></DT | ||
107 | ><DD | ||
108 | ><DL | ||
109 | ><DT | ||
110 | >2.1.1. <A | ||
111 | HREF="#AEN50" | ||
112 | >Creating the Script</A | ||
113 | ></DT | ||
114 | ><DT | ||
115 | >2.1.2. <A | ||
116 | HREF="#AEN56" | ||
117 | >Default State</A | ||
118 | ></DT | ||
119 | ><DT | ||
120 | >2.1.3. <A | ||
121 | HREF="#AEN67" | ||
122 | >Functions</A | ||
123 | ></DT | ||
124 | ><DT | ||
125 | >2.1.4. <A | ||
126 | HREF="#AEN82" | ||
127 | >Touch Event</A | ||
128 | ></DT | ||
129 | ><DT | ||
130 | >2.1.5. <A | ||
131 | HREF="#AEN90" | ||
132 | >Try it Out</A | ||
133 | ></DT | ||
134 | ></DL | ||
135 | ></DD | ||
136 | ><DT | ||
137 | >2.2. <A | ||
138 | HREF="#AEN103" | ||
139 | >Using The Built-In Editor</A | ||
140 | ></DT | ||
141 | ><DT | ||
142 | >2.3. <A | ||
143 | HREF="#AEN106" | ||
144 | >Using Alternative Editors</A | ||
145 | ></DT | ||
146 | ></DL | ||
147 | ></DD | ||
148 | ><DT | ||
149 | >3. <A | ||
150 | HREF="#AEN109" | ||
151 | >Basics</A | ||
152 | ></DT | ||
153 | ><DD | ||
154 | ><DL | ||
155 | ><DT | ||
156 | >3.1. <A | ||
157 | HREF="#AEN112" | ||
158 | >Comments</A | ||
159 | ></DT | ||
160 | ><DT | ||
161 | >3.2. <A | ||
162 | HREF="#AEN129" | ||
163 | >Arithmetic Operations</A | ||
164 | ></DT | ||
165 | ><DD | ||
166 | ><DL | ||
167 | ><DT | ||
168 | >3.2.1. <A | ||
169 | HREF="#AEN132" | ||
170 | >Assignment</A | ||
171 | ></DT | ||
172 | ><DT | ||
173 | >3.2.2. <A | ||
174 | HREF="#AEN139" | ||
175 | >Hexadecimal Entry</A | ||
176 | ></DT | ||
177 | ><DT | ||
178 | >3.2.3. <A | ||
179 | HREF="#AEN145" | ||
180 | >Binary Arithmetic Operators</A | ||
181 | ></DT | ||
182 | ><DT | ||
183 | >3.2.4. <A | ||
184 | HREF="#AEN185" | ||
185 | >Boolean Operators</A | ||
186 | ></DT | ||
187 | ><DT | ||
188 | >3.2.5. <A | ||
189 | HREF="#AEN217" | ||
190 | >Bitwise Operators</A | ||
191 | ></DT | ||
192 | ></DL | ||
193 | ></DD | ||
194 | ><DT | ||
195 | >3.3. <A | ||
196 | HREF="#AEN237" | ||
197 | >Types</A | ||
198 | ></DT | ||
199 | ><DD | ||
200 | ><DL | ||
201 | ><DT | ||
202 | >3.3.1. <A | ||
203 | HREF="#AEN318" | ||
204 | >Type Conversion</A | ||
205 | ></DT | ||
206 | ></DL | ||
207 | ></DD | ||
208 | ><DT | ||
209 | >3.4. <A | ||
210 | HREF="#AEN360" | ||
211 | >Global Functions</A | ||
212 | ></DT | ||
213 | ><DT | ||
214 | >3.5. <A | ||
215 | HREF="#AEN365" | ||
216 | >Global Variables</A | ||
217 | ></DT | ||
218 | ><DT | ||
219 | >3.6. <A | ||
220 | HREF="#AEN373" | ||
221 | >Local Variables</A | ||
222 | ></DT | ||
223 | ></DL | ||
224 | ></DD | ||
225 | ><DT | ||
226 | >4. <A | ||
227 | HREF="#AEN378" | ||
228 | >Flow Control</A | ||
229 | ></DT | ||
230 | ><DD | ||
231 | ><DL | ||
232 | ><DT | ||
233 | >4.1. <A | ||
234 | HREF="#AEN381" | ||
235 | >Conditional Statements</A | ||
236 | ></DT | ||
237 | ><DT | ||
238 | >4.2. <A | ||
239 | HREF="#AEN394" | ||
240 | >Loop Constructs</A | ||
241 | ></DT | ||
242 | ><DD | ||
243 | ><DL | ||
244 | ><DT | ||
245 | >4.2.1. <A | ||
246 | HREF="#AEN397" | ||
247 | >for loop</A | ||
248 | ></DT | ||
249 | ><DT | ||
250 | >4.2.2. <A | ||
251 | HREF="#AEN403" | ||
252 | >do-while loop</A | ||
253 | ></DT | ||
254 | ><DT | ||
255 | >4.2.3. <A | ||
256 | HREF="#AEN409" | ||
257 | >while loop</A | ||
258 | ></DT | ||
259 | ></DL | ||
260 | ></DD | ||
261 | ><DT | ||
262 | >4.3. <A | ||
263 | HREF="#AEN415" | ||
264 | >Jumps</A | ||
265 | ></DT | ||
266 | ><DT | ||
267 | >4.4. <A | ||
268 | HREF="#AEN421" | ||
269 | >State Change</A | ||
270 | ></DT | ||
271 | ></DL | ||
272 | ></DD | ||
273 | ><DT | ||
274 | >5. <A | ||
275 | HREF="#AEN427" | ||
276 | >States</A | ||
277 | ></DT | ||
278 | ><DD | ||
279 | ><DL | ||
280 | ><DT | ||
281 | >5.1. <A | ||
282 | HREF="#AEN431" | ||
283 | >state_entry()</A | ||
284 | ></DT | ||
285 | ><DT | ||
286 | >5.2. <A | ||
287 | HREF="#AEN440" | ||
288 | >state_exit()</A | ||
289 | ></DT | ||
290 | ><DT | ||
291 | >5.3. <A | ||
292 | HREF="#AEN449" | ||
293 | >States vs. Global variables</A | ||
294 | ></DT | ||
295 | ></DL | ||
296 | ></DD | ||
297 | ><DT | ||
298 | >6. <A | ||
299 | HREF="#AEN452" | ||
300 | >Math</A | ||
301 | ></DT | ||
302 | ><DD | ||
303 | ><DL | ||
304 | ><DT | ||
305 | >6.1. <A | ||
306 | HREF="#AEN454" | ||
307 | >Tables of Functions</A | ||
308 | ></DT | ||
309 | ></DL | ||
310 | ></DD | ||
311 | ><DT | ||
312 | >7. <A | ||
313 | HREF="#AEN561" | ||
314 | >Strings</A | ||
315 | ></DT | ||
316 | ><DD | ||
317 | ><DL | ||
318 | ><DT | ||
319 | >7.1. <A | ||
320 | HREF="#AEN563" | ||
321 | >Tables of Functions</A | ||
322 | ></DT | ||
323 | ></DL | ||
324 | ></DD | ||
325 | ><DT | ||
326 | >8. <A | ||
327 | HREF="#AEN605" | ||
328 | >Lists</A | ||
329 | ></DT | ||
330 | ><DD | ||
331 | ><DL | ||
332 | ><DT | ||
333 | >8.1. <A | ||
334 | HREF="#AEN607" | ||
335 | >Tables of Functions</A | ||
336 | ></DT | ||
337 | ></DL | ||
338 | ></DD | ||
339 | ><DT | ||
340 | >9. <A | ||
341 | HREF="#AEN670" | ||
342 | >Communication</A | ||
343 | ></DT | ||
344 | ><DD | ||
345 | ><DL | ||
346 | ><DT | ||
347 | >9.1. <A | ||
348 | HREF="#AEN672" | ||
349 | >Tables of Functions</A | ||
350 | ></DT | ||
351 | ></DL | ||
352 | ></DD | ||
353 | ><DT | ||
354 | >10. <A | ||
355 | HREF="#AEN715" | ||
356 | >Inventory</A | ||
357 | ></DT | ||
358 | ><DD | ||
359 | ><DL | ||
360 | ><DT | ||
361 | >10.1. <A | ||
362 | HREF="#AEN717" | ||
363 | >Tables of Functions</A | ||
364 | ></DT | ||
365 | ></DL | ||
366 | ></DD | ||
367 | ><DT | ||
368 | >11. <A | ||
369 | HREF="#AEN768" | ||
370 | >Vehicles</A | ||
371 | ></DT | ||
372 | ><DD | ||
373 | ><DL | ||
374 | ><DT | ||
375 | >11.1. <A | ||
376 | HREF="#AEN790" | ||
377 | >Overview</A | ||
378 | ></DT | ||
379 | ><DT | ||
380 | >11.2. <A | ||
381 | HREF="#AEN801" | ||
382 | >Warnings</A | ||
383 | ></DT | ||
384 | ><DT | ||
385 | >11.3. <A | ||
386 | HREF="#AEN815" | ||
387 | >Definitions</A | ||
388 | ></DT | ||
389 | ><DT | ||
390 | >11.4. <A | ||
391 | HREF="#AEN826" | ||
392 | >Setting the Vehicle Type</A | ||
393 | ></DT | ||
394 | ><DT | ||
395 | >11.5. <A | ||
396 | HREF="#AEN837" | ||
397 | >Linear and Angular Deflection</A | ||
398 | ></DT | ||
399 | ><DT | ||
400 | >11.6. <A | ||
401 | HREF="#AEN853" | ||
402 | >Moving and Steering the Vehicle</A | ||
403 | ></DT | ||
404 | ><DT | ||
405 | >11.7. <A | ||
406 | HREF="#AEN866" | ||
407 | >The Linear Motor</A | ||
408 | ></DT | ||
409 | ><DT | ||
410 | >11.8. <A | ||
411 | HREF="#AEN898" | ||
412 | >The Angular Motor</A | ||
413 | ></DT | ||
414 | ><DT | ||
415 | >11.9. <A | ||
416 | HREF="#AEN921" | ||
417 | >Using the Camera to Steer</A | ||
418 | ></DT | ||
419 | ><DT | ||
420 | >11.10. <A | ||
421 | HREF="#AEN938" | ||
422 | >The Vertical Attractor</A | ||
423 | ></DT | ||
424 | ><DT | ||
425 | >11.11. <A | ||
426 | HREF="#AEN949" | ||
427 | >Banking</A | ||
428 | ></DT | ||
429 | ><DT | ||
430 | >11.12. <A | ||
431 | HREF="#AEN956" | ||
432 | >Friction Timescales</A | ||
433 | ></DT | ||
434 | ><DT | ||
435 | >11.13. <A | ||
436 | HREF="#AEN972" | ||
437 | >Buoyancy</A | ||
438 | ></DT | ||
439 | ><DT | ||
440 | >11.14. <A | ||
441 | HREF="#AEN979" | ||
442 | >Hover</A | ||
443 | ></DT | ||
444 | ><DT | ||
445 | >11.15. <A | ||
446 | HREF="#AEN990" | ||
447 | >Reference Frame</A | ||
448 | ></DT | ||
449 | ></DL | ||
450 | ></DD | ||
451 | ><DT | ||
452 | >A. <A | ||
453 | HREF="#AEN999" | ||
454 | >Linden Library Functions</A | ||
455 | ></DT | ||
456 | ><DD | ||
457 | ><DL | ||
458 | ><DT | ||
459 | >A.1. <A | ||
460 | HREF="#AEN1002" | ||
461 | >llAbs</A | ||
462 | ></DT | ||
463 | ><DT | ||
464 | >A.2. <A | ||
465 | HREF="#AEN1012" | ||
466 | >llAcos</A | ||
467 | ></DT | ||
468 | ><DT | ||
469 | >A.3. <A | ||
470 | HREF="#AEN1022" | ||
471 | >llAddToLandPassList</A | ||
472 | ></DT | ||
473 | ><DT | ||
474 | >A.4. <A | ||
475 | HREF="#AEN1035" | ||
476 | >llAdjustSoundVolume</A | ||
477 | ></DT | ||
478 | ><DT | ||
479 | >A.5. <A | ||
480 | HREF="#AEN1047" | ||
481 | >llAllowInventoryDrop</A | ||
482 | ></DT | ||
483 | ><DT | ||
484 | >A.6. <A | ||
485 | HREF="#AEN1057" | ||
486 | >llAngleBetween</A | ||
487 | ></DT | ||
488 | ><DT | ||
489 | >A.7. <A | ||
490 | HREF="#AEN1070" | ||
491 | >llApplyImpulse</A | ||
492 | ></DT | ||
493 | ><DT | ||
494 | >A.8. <A | ||
495 | HREF="#AEN1083" | ||
496 | >llApplyRotationalImpulse</A | ||
497 | ></DT | ||
498 | ><DT | ||
499 | >A.9. <A | ||
500 | HREF="#AEN1096" | ||
501 | >llAsin</A | ||
502 | ></DT | ||
503 | ><DT | ||
504 | >A.10. <A | ||
505 | HREF="#AEN1106" | ||
506 | >llAtan2</A | ||
507 | ></DT | ||
508 | ><DT | ||
509 | >A.11. <A | ||
510 | HREF="#AEN1119" | ||
511 | >llAttachToAvatar</A | ||
512 | ></DT | ||
513 | ><DT | ||
514 | >A.12. <A | ||
515 | HREF="#AEN1134" | ||
516 | >llAvatarOnSitTarget</A | ||
517 | ></DT | ||
518 | ><DT | ||
519 | >A.13. <A | ||
520 | HREF="#AEN1144" | ||
521 | >llAxes2Rot</A | ||
522 | ></DT | ||
523 | ><DT | ||
524 | >A.14. <A | ||
525 | HREF="#AEN1160" | ||
526 | >llAxisAngle2Rot</A | ||
527 | ></DT | ||
528 | ><DT | ||
529 | >A.15. <A | ||
530 | HREF="#AEN1173" | ||
531 | >llBase64ToString</A | ||
532 | ></DT | ||
533 | ><DT | ||
534 | >A.16. <A | ||
535 | HREF="#AEN1182" | ||
536 | >llBreakAllLinks</A | ||
537 | ></DT | ||
538 | ><DT | ||
539 | >A.17. <A | ||
540 | HREF="#AEN1191" | ||
541 | >llBreakLink</A | ||
542 | ></DT | ||
543 | ><DT | ||
544 | >A.18. <A | ||
545 | HREF="#AEN1202" | ||
546 | >llCSV2List</A | ||
547 | ></DT | ||
548 | ><DT | ||
549 | >A.19. <A | ||
550 | HREF="#AEN1212" | ||
551 | >llCeil</A | ||
552 | ></DT | ||
553 | ><DT | ||
554 | >A.20. <A | ||
555 | HREF="#AEN1222" | ||
556 | >llCloseRemoteDataChannel</A | ||
557 | ></DT | ||
558 | ><DT | ||
559 | >A.21. <A | ||
560 | HREF="#AEN1231" | ||
561 | >llCloud</A | ||
562 | ></DT | ||
563 | ><DT | ||
564 | >A.22. <A | ||
565 | HREF="#AEN1241" | ||
566 | >llCollisionFilter</A | ||
567 | ></DT | ||
568 | ><DT | ||
569 | >A.23. <A | ||
570 | HREF="#AEN1260" | ||
571 | >llCollisionSound</A | ||
572 | ></DT | ||
573 | ><DT | ||
574 | >A.24. <A | ||
575 | HREF="#AEN1272" | ||
576 | >llCollisionSprite</A | ||
577 | ></DT | ||
578 | ><DT | ||
579 | >A.25. <A | ||
580 | HREF="#AEN1282" | ||
581 | >llCos</A | ||
582 | ></DT | ||
583 | ><DT | ||
584 | >A.26. <A | ||
585 | HREF="#AEN1292" | ||
586 | >llCreateLink</A | ||
587 | ></DT | ||
588 | ><DT | ||
589 | >A.27. <A | ||
590 | HREF="#AEN1306" | ||
591 | >llDeleteSubList</A | ||
592 | ></DT | ||
593 | ><DT | ||
594 | >A.28. <A | ||
595 | HREF="#AEN1326" | ||
596 | >llDeleteSubString</A | ||
597 | ></DT | ||
598 | ><DT | ||
599 | >A.29. <A | ||
600 | HREF="#AEN1345" | ||
601 | >llDetachFromAvatar</A | ||
602 | ></DT | ||
603 | ><DT | ||
604 | >A.30. <A | ||
605 | HREF="#lib_lldetected" | ||
606 | >llDetectedGrab</A | ||
607 | ></DT | ||
608 | ><DT | ||
609 | >A.31. <A | ||
610 | HREF="#AEN1365" | ||
611 | >llDetectedGroup</A | ||
612 | ></DT | ||
613 | ><DT | ||
614 | >A.32. <A | ||
615 | HREF="#AEN1375" | ||
616 | >llDetectedKey</A | ||
617 | ></DT | ||
618 | ><DT | ||
619 | >A.33. <A | ||
620 | HREF="#AEN1386" | ||
621 | >llDetectedLinkNumber</A | ||
622 | ></DT | ||
623 | ><DT | ||
624 | >A.34. <A | ||
625 | HREF="#AEN1395" | ||
626 | >llDetectedName</A | ||
627 | ></DT | ||
628 | ><DT | ||
629 | >A.35. <A | ||
630 | HREF="#AEN1406" | ||
631 | >llDetectedOwner</A | ||
632 | ></DT | ||
633 | ><DT | ||
634 | >A.36. <A | ||
635 | HREF="#AEN1417" | ||
636 | >llDetectedPos</A | ||
637 | ></DT | ||
638 | ><DT | ||
639 | >A.37. <A | ||
640 | HREF="#AEN1428" | ||
641 | >llDetectedRot</A | ||
642 | ></DT | ||
643 | ><DT | ||
644 | >A.38. <A | ||
645 | HREF="#AEN1439" | ||
646 | >llDetectedType</A | ||
647 | ></DT | ||
648 | ><DT | ||
649 | >A.39. <A | ||
650 | HREF="#AEN1453" | ||
651 | >llDetectedVel</A | ||
652 | ></DT | ||
653 | ><DT | ||
654 | >A.40. <A | ||
655 | HREF="#AEN1464" | ||
656 | >llDialog</A | ||
657 | ></DT | ||
658 | ><DT | ||
659 | >A.41. <A | ||
660 | HREF="#AEN1481" | ||
661 | >llDie</A | ||
662 | ></DT | ||
663 | ><DT | ||
664 | >A.42. <A | ||
665 | HREF="#AEN1489" | ||
666 | >llDumpList2String</A | ||
667 | ></DT | ||
668 | ><DT | ||
669 | >A.43. <A | ||
670 | HREF="#AEN1500" | ||
671 | >llEscapeURL</A | ||
672 | ></DT | ||
673 | ><DT | ||
674 | >A.44. <A | ||
675 | HREF="#AEN1510" | ||
676 | >llEdgeOfWorld</A | ||
677 | ></DT | ||
678 | ><DT | ||
679 | >A.45. <A | ||
680 | HREF="#AEN1523" | ||
681 | >llEjectFromLand</A | ||
682 | ></DT | ||
683 | ><DT | ||
684 | >A.46. <A | ||
685 | HREF="#AEN1533" | ||
686 | >llEmail</A | ||
687 | ></DT | ||
688 | ><DT | ||
689 | >A.47. <A | ||
690 | HREF="#AEN1549" | ||
691 | >llEuler2Rot</A | ||
692 | ></DT | ||
693 | ><DT | ||
694 | >A.48. <A | ||
695 | HREF="#AEN1559" | ||
696 | >llFabs</A | ||
697 | ></DT | ||
698 | ><DT | ||
699 | >A.49. <A | ||
700 | HREF="#AEN1569" | ||
701 | >llFloor</A | ||
702 | ></DT | ||
703 | ><DT | ||
704 | >A.50. <A | ||
705 | HREF="#AEN1579" | ||
706 | >llFrand</A | ||
707 | ></DT | ||
708 | ><DT | ||
709 | >A.51. <A | ||
710 | HREF="#AEN1589" | ||
711 | >llGetAccel</A | ||
712 | ></DT | ||
713 | ><DT | ||
714 | >A.52. <A | ||
715 | HREF="#AEN1597" | ||
716 | >llGetAttached</A | ||
717 | ></DT | ||
718 | ><DT | ||
719 | >A.53. <A | ||
720 | HREF="#AEN1605" | ||
721 | >llGetAgentInfo</A | ||
722 | ></DT | ||
723 | ><DT | ||
724 | >A.54. <A | ||
725 | HREF="#AEN1616" | ||
726 | >llGetAgentSize</A | ||
727 | ></DT | ||
728 | ><DT | ||
729 | >A.55. <A | ||
730 | HREF="#AEN1626" | ||
731 | >llGetAlpha</A | ||
732 | ></DT | ||
733 | ><DT | ||
734 | >A.56. <A | ||
735 | HREF="#AEN1638" | ||
736 | >llGetAndResetTime</A | ||
737 | ></DT | ||
738 | ><DT | ||
739 | >A.57. <A | ||
740 | HREF="#AEN1648" | ||
741 | >llGetAnimation</A | ||
742 | ></DT | ||
743 | ><DT | ||
744 | >A.58. <A | ||
745 | HREF="#AEN1658" | ||
746 | >llGetAnimationList</A | ||
747 | ></DT | ||
748 | ><DT | ||
749 | >A.59. <A | ||
750 | HREF="#AEN1668" | ||
751 | >llGetBoundingBox</A | ||
752 | ></DT | ||
753 | ><DT | ||
754 | >A.60. <A | ||
755 | HREF="#AEN1678" | ||
756 | >llGetCenterOfMass</A | ||
757 | ></DT | ||
758 | ><DT | ||
759 | >A.61. <A | ||
760 | HREF="#AEN1686" | ||
761 | >llGetColor</A | ||
762 | ></DT | ||
763 | ><DT | ||
764 | >A.62. <A | ||
765 | HREF="#AEN1698" | ||
766 | >llGetCreator</A | ||
767 | ></DT | ||
768 | ><DT | ||
769 | >A.63. <A | ||
770 | HREF="#AEN1706" | ||
771 | >llGetDate</A | ||
772 | ></DT | ||
773 | ><DT | ||
774 | >A.64. <A | ||
775 | HREF="#AEN1714" | ||
776 | >llGetEnergy</A | ||
777 | ></DT | ||
778 | ><DT | ||
779 | >A.65. <A | ||
780 | HREF="#AEN1722" | ||
781 | >llGetForce</A | ||
782 | ></DT | ||
783 | ><DT | ||
784 | >A.66. <A | ||
785 | HREF="#AEN1730" | ||
786 | >llGetFreeMemory</A | ||
787 | ></DT | ||
788 | ><DT | ||
789 | >A.67. <A | ||
790 | HREF="#AEN1738" | ||
791 | >llGetGeometricCenter</A | ||
792 | ></DT | ||
793 | ><DT | ||
794 | >A.68. <A | ||
795 | HREF="#AEN1746" | ||
796 | >llGetGMTclock</A | ||
797 | ></DT | ||
798 | ><DT | ||
799 | >A.69. <A | ||
800 | HREF="#AEN1754" | ||
801 | >llGetInventoryCreator</A | ||
802 | ></DT | ||
803 | ><DT | ||
804 | >A.70. <A | ||
805 | HREF="#AEN1764" | ||
806 | >llGetInventoryKey</A | ||
807 | ></DT | ||
808 | ><DT | ||
809 | >A.71. <A | ||
810 | HREF="#AEN1774" | ||
811 | >llGetInventoryName</A | ||
812 | ></DT | ||
813 | ><DT | ||
814 | >A.72. <A | ||
815 | HREF="#AEN1789" | ||
816 | >llGetInventoryNumber</A | ||
817 | ></DT | ||
818 | ><DT | ||
819 | >A.73. <A | ||
820 | HREF="#AEN1801" | ||
821 | >llGetInventoryPermMask</A | ||
822 | ></DT | ||
823 | ><DT | ||
824 | >A.74. <A | ||
825 | HREF="#AEN1816" | ||
826 | >llGetInventoryType</A | ||
827 | ></DT | ||
828 | ><DT | ||
829 | >A.75. <A | ||
830 | HREF="#AEN1828" | ||
831 | >llGetKey</A | ||
832 | ></DT | ||
833 | ><DT | ||
834 | >A.76. <A | ||
835 | HREF="#AEN1836" | ||
836 | >llGetLandOwnerAt</A | ||
837 | ></DT | ||
838 | ><DT | ||
839 | >A.77. <A | ||
840 | HREF="#AEN1847" | ||
841 | >llGetLinkKey</A | ||
842 | ></DT | ||
843 | ><DT | ||
844 | >A.78. <A | ||
845 | HREF="#AEN1857" | ||
846 | >llGetLinkName</A | ||
847 | ></DT | ||
848 | ><DT | ||
849 | >A.79. <A | ||
850 | HREF="#AEN1867" | ||
851 | >llGetLinkNumber</A | ||
852 | ></DT | ||
853 | ><DT | ||
854 | >A.80. <A | ||
855 | HREF="#AEN1875" | ||
856 | >llGetListEntryType</A | ||
857 | ></DT | ||
858 | ><DT | ||
859 | >A.81. <A | ||
860 | HREF="#AEN1889" | ||
861 | >llGetListLength</A | ||
862 | ></DT | ||
863 | ><DT | ||
864 | >A.82. <A | ||
865 | HREF="#AEN1899" | ||
866 | >llGetLocalPos</A | ||
867 | ></DT | ||
868 | ><DT | ||
869 | >A.83. <A | ||
870 | HREF="#AEN1907" | ||
871 | >llGetLocalRot</A | ||
872 | ></DT | ||
873 | ><DT | ||
874 | >A.84. <A | ||
875 | HREF="#AEN1915" | ||
876 | >llGetMass</A | ||
877 | ></DT | ||
878 | ><DT | ||
879 | >A.85. <A | ||
880 | HREF="#AEN1923" | ||
881 | >llGetObjectMass</A | ||
882 | ></DT | ||
883 | ><DT | ||
884 | >A.86. <A | ||
885 | HREF="#AEN1933" | ||
886 | >llGetNextEmail</A | ||
887 | ></DT | ||
888 | ><DT | ||
889 | >A.87. <A | ||
890 | HREF="#AEN1946" | ||
891 | >llGetNotecardLine</A | ||
892 | ></DT | ||
893 | ><DT | ||
894 | >A.88. <A | ||
895 | HREF="#AEN1964" | ||
896 | >llGetNumberOfNotecardLines</A | ||
897 | ></DT | ||
898 | ><DT | ||
899 | >A.89. <A | ||
900 | HREF="#AEN1977" | ||
901 | >llGetNumberOfPrims</A | ||
902 | ></DT | ||
903 | ><DT | ||
904 | >A.90. <A | ||
905 | HREF="#AEN1985" | ||
906 | >llGetNumberOfSides</A | ||
907 | ></DT | ||
908 | ><DT | ||
909 | >A.91. <A | ||
910 | HREF="#AEN1993" | ||
911 | >llGetObjectDesc</A | ||
912 | ></DT | ||
913 | ><DT | ||
914 | >A.92. <A | ||
915 | HREF="#AEN2001" | ||
916 | >llGetObjectName</A | ||
917 | ></DT | ||
918 | ><DT | ||
919 | >A.93. <A | ||
920 | HREF="#AEN2009" | ||
921 | >llGetObjectPermMask</A | ||
922 | ></DT | ||
923 | ><DT | ||
924 | >A.94. <A | ||
925 | HREF="#AEN2022" | ||
926 | >llGetOmega</A | ||
927 | ></DT | ||
928 | ><DT | ||
929 | >A.95. <A | ||
930 | HREF="#AEN2030" | ||
931 | >llGetOwner</A | ||
932 | ></DT | ||
933 | ><DT | ||
934 | >A.96. <A | ||
935 | HREF="#AEN2038" | ||
936 | >llGetOwnerKey</A | ||
937 | ></DT | ||
938 | ><DT | ||
939 | >A.97. <A | ||
940 | HREF="#AEN2048" | ||
941 | >llGetPermissions</A | ||
942 | ></DT | ||
943 | ><DT | ||
944 | >A.98. <A | ||
945 | HREF="#AEN2058" | ||
946 | >llGetPermissionsKey</A | ||
947 | ></DT | ||
948 | ><DT | ||
949 | >A.99. <A | ||
950 | HREF="#AEN2067" | ||
951 | >llGetPos</A | ||
952 | ></DT | ||
953 | ><DT | ||
954 | >A.100. <A | ||
955 | HREF="#AEN2075" | ||
956 | >llGetPrimitiveParams</A | ||
957 | ></DT | ||
958 | ><DT | ||
959 | >A.101. <A | ||
960 | HREF="#AEN2092" | ||
961 | >llGetRegionCorner</A | ||
962 | ></DT | ||
963 | ><DT | ||
964 | >A.102. <A | ||
965 | HREF="#AEN2100" | ||
966 | >llGetRegionFPS</A | ||
967 | ></DT | ||
968 | ><DT | ||
969 | >A.103. <A | ||
970 | HREF="#AEN2108" | ||
971 | >llGetRegionName</A | ||
972 | ></DT | ||
973 | ><DT | ||
974 | >A.104. <A | ||
975 | HREF="#AEN2116" | ||
976 | >llGetRegionTimeDilation</A | ||
977 | ></DT | ||
978 | ><DT | ||
979 | >A.105. <A | ||
980 | HREF="#AEN2124" | ||
981 | >llGetRootPosition</A | ||
982 | ></DT | ||
983 | ><DT | ||
984 | >A.106. <A | ||
985 | HREF="#AEN2132" | ||
986 | >llGetRootRotation</A | ||
987 | ></DT | ||
988 | ><DT | ||
989 | >A.107. <A | ||
990 | HREF="#AEN2140" | ||
991 | >llGetRot</A | ||
992 | ></DT | ||
993 | ><DT | ||
994 | >A.108. <A | ||
995 | HREF="#AEN2148" | ||
996 | >llGetScale</A | ||
997 | ></DT | ||
998 | ><DT | ||
999 | >A.109. <A | ||
1000 | HREF="#AEN2156" | ||
1001 | >llGetScriptName</A | ||
1002 | ></DT | ||
1003 | ><DT | ||
1004 | >A.110. <A | ||
1005 | HREF="#AEN2164" | ||
1006 | >llGetStartParameter</A | ||
1007 | ></DT | ||
1008 | ><DT | ||
1009 | >A.111. <A | ||
1010 | HREF="#AEN2174" | ||
1011 | >llGetScriptState</A | ||
1012 | ></DT | ||
1013 | ><DT | ||
1014 | >A.112. <A | ||
1015 | HREF="#AEN2184" | ||
1016 | >llGetStatus</A | ||
1017 | ></DT | ||
1018 | ><DT | ||
1019 | >A.113. <A | ||
1020 | HREF="#AEN2195" | ||
1021 | >llGetSubString</A | ||
1022 | ></DT | ||
1023 | ><DT | ||
1024 | >A.114. <A | ||
1025 | HREF="#AEN2214" | ||
1026 | >llGetSunDirection</A | ||
1027 | ></DT | ||
1028 | ><DT | ||
1029 | >A.115. <A | ||
1030 | HREF="#AEN2222" | ||
1031 | >llGetTexture</A | ||
1032 | ></DT | ||
1033 | ><DT | ||
1034 | >A.116. <A | ||
1035 | HREF="#AEN2232" | ||
1036 | >llGetTextureOffset</A | ||
1037 | ></DT | ||
1038 | ><DT | ||
1039 | >A.117. <A | ||
1040 | HREF="#AEN2242" | ||
1041 | >llGetTextureRot</A | ||
1042 | ></DT | ||
1043 | ><DT | ||
1044 | >A.118. <A | ||
1045 | HREF="#AEN2252" | ||
1046 | >llGetTextureScale</A | ||
1047 | ></DT | ||
1048 | ><DT | ||
1049 | >A.119. <A | ||
1050 | HREF="#AEN2262" | ||
1051 | >llGetTime</A | ||
1052 | ></DT | ||
1053 | ><DT | ||
1054 | >A.120. <A | ||
1055 | HREF="#AEN2273" | ||
1056 | >llGetTimeOfDay</A | ||
1057 | ></DT | ||
1058 | ><DT | ||
1059 | >A.121. <A | ||
1060 | HREF="#AEN2281" | ||
1061 | >llGetTimestamp</A | ||
1062 | ></DT | ||
1063 | ><DT | ||
1064 | >A.122. <A | ||
1065 | HREF="#AEN2289" | ||
1066 | >llGetTorque</A | ||
1067 | ></DT | ||
1068 | ><DT | ||
1069 | >A.123. <A | ||
1070 | HREF="#AEN2297" | ||
1071 | >llGetVel</A | ||
1072 | ></DT | ||
1073 | ><DT | ||
1074 | >A.124. <A | ||
1075 | HREF="#AEN2306" | ||
1076 | >llGetWallclock</A | ||
1077 | ></DT | ||
1078 | ><DT | ||
1079 | >A.125. <A | ||
1080 | HREF="#AEN2314" | ||
1081 | >llGiveInventory</A | ||
1082 | ></DT | ||
1083 | ><DT | ||
1084 | >A.126. <A | ||
1085 | HREF="#AEN2326" | ||
1086 | >llGiveInventoryList</A | ||
1087 | ></DT | ||
1088 | ><DT | ||
1089 | >A.127. <A | ||
1090 | HREF="#AEN2342" | ||
1091 | >llGiveMoney</A | ||
1092 | ></DT | ||
1093 | ><DT | ||
1094 | >A.128. <A | ||
1095 | HREF="#AEN2356" | ||
1096 | >llGround</A | ||
1097 | ></DT | ||
1098 | ><DT | ||
1099 | >A.129. <A | ||
1100 | HREF="#AEN2366" | ||
1101 | >llGroundContour</A | ||
1102 | ></DT | ||
1103 | ><DT | ||
1104 | >A.130. <A | ||
1105 | HREF="#AEN2376" | ||
1106 | >llGroundNormal</A | ||
1107 | ></DT | ||
1108 | ><DT | ||
1109 | >A.131. <A | ||
1110 | HREF="#AEN2386" | ||
1111 | >llGroundRepel</A | ||
1112 | ></DT | ||
1113 | ><DT | ||
1114 | >A.132. <A | ||
1115 | HREF="#AEN2405" | ||
1116 | >llGroundSlope</A | ||
1117 | ></DT | ||
1118 | ><DT | ||
1119 | >A.133. <A | ||
1120 | HREF="#AEN2415" | ||
1121 | >llInsertString</A | ||
1122 | ></DT | ||
1123 | ><DT | ||
1124 | >A.134. <A | ||
1125 | HREF="#AEN2431" | ||
1126 | >llInstantMessage</A | ||
1127 | ></DT | ||
1128 | ><DT | ||
1129 | >A.135. <A | ||
1130 | HREF="#AEN2444" | ||
1131 | >llKey2Name</A | ||
1132 | ></DT | ||
1133 | ><DT | ||
1134 | >A.136. <A | ||
1135 | HREF="#AEN2454" | ||
1136 | >llList2CSV</A | ||
1137 | ></DT | ||
1138 | ><DT | ||
1139 | >A.137. <A | ||
1140 | HREF="#AEN2464" | ||
1141 | >llList2Float</A | ||
1142 | ></DT | ||
1143 | ><DT | ||
1144 | >A.138. <A | ||
1145 | HREF="#AEN2477" | ||
1146 | >llList2Integer</A | ||
1147 | ></DT | ||
1148 | ><DT | ||
1149 | >A.139. <A | ||
1150 | HREF="#AEN2490" | ||
1151 | >llList2Key</A | ||
1152 | ></DT | ||
1153 | ><DT | ||
1154 | >A.140. <A | ||
1155 | HREF="#AEN2503" | ||
1156 | >llList2List</A | ||
1157 | ></DT | ||
1158 | ><DT | ||
1159 | >A.141. <A | ||
1160 | HREF="#AEN2526" | ||
1161 | >llList2ListStrided</A | ||
1162 | ></DT | ||
1163 | ><DT | ||
1164 | >A.142. <A | ||
1165 | HREF="#AEN2544" | ||
1166 | >llList2Rot</A | ||
1167 | ></DT | ||
1168 | ><DT | ||
1169 | >A.143. <A | ||
1170 | HREF="#AEN2557" | ||
1171 | >llList2String</A | ||
1172 | ></DT | ||
1173 | ><DT | ||
1174 | >A.144. <A | ||
1175 | HREF="#AEN2570" | ||
1176 | >llList2Vector</A | ||
1177 | ></DT | ||
1178 | ><DT | ||
1179 | >A.145. <A | ||
1180 | HREF="#AEN2583" | ||
1181 | >llListFindList</A | ||
1182 | ></DT | ||
1183 | ><DT | ||
1184 | >A.146. <A | ||
1185 | HREF="#AEN2598" | ||
1186 | >llListInsertList</A | ||
1187 | ></DT | ||
1188 | ><DT | ||
1189 | >A.147. <A | ||
1190 | HREF="#AEN2614" | ||
1191 | >llListRandomize</A | ||
1192 | ></DT | ||
1193 | ><DT | ||
1194 | >A.148. <A | ||
1195 | HREF="#AEN2629" | ||
1196 | >llListReplaceList</A | ||
1197 | ></DT | ||
1198 | ><DT | ||
1199 | >A.149. <A | ||
1200 | HREF="#AEN2648" | ||
1201 | >llListSort</A | ||
1202 | ></DT | ||
1203 | ><DT | ||
1204 | >A.150. <A | ||
1205 | HREF="#AEN2665" | ||
1206 | >llListen</A | ||
1207 | ></DT | ||
1208 | ><DT | ||
1209 | >A.151. <A | ||
1210 | HREF="#AEN2686" | ||
1211 | >llListenControl</A | ||
1212 | ></DT | ||
1213 | ><DT | ||
1214 | >A.152. <A | ||
1215 | HREF="#AEN2701" | ||
1216 | >llListenRemove</A | ||
1217 | ></DT | ||
1218 | ><DT | ||
1219 | >A.153. <A | ||
1220 | HREF="#AEN2712" | ||
1221 | >llLoadURL</A | ||
1222 | ></DT | ||
1223 | ><DT | ||
1224 | >A.154. <A | ||
1225 | HREF="#AEN2731" | ||
1226 | >llLog</A | ||
1227 | ></DT | ||
1228 | ><DT | ||
1229 | >A.155. <A | ||
1230 | HREF="#AEN2742" | ||
1231 | >llLog10</A | ||
1232 | ></DT | ||
1233 | ><DT | ||
1234 | >A.156. <A | ||
1235 | HREF="#AEN2753" | ||
1236 | >llLookAt</A | ||
1237 | ></DT | ||
1238 | ><DT | ||
1239 | >A.157. <A | ||
1240 | HREF="#AEN2773" | ||
1241 | >llLoopSound</A | ||
1242 | ></DT | ||
1243 | ><DT | ||
1244 | >A.158. <A | ||
1245 | HREF="#AEN2790" | ||
1246 | >llLoopSoundMaster</A | ||
1247 | ></DT | ||
1248 | ><DT | ||
1249 | >A.159. <A | ||
1250 | HREF="#AEN2802" | ||
1251 | >llLoopSoundSlave</A | ||
1252 | ></DT | ||
1253 | ><DT | ||
1254 | >A.160. <A | ||
1255 | HREF="#AEN2814" | ||
1256 | >llMakeExplosion</A | ||
1257 | ></DT | ||
1258 | ><DT | ||
1259 | >A.161. <A | ||
1260 | HREF="#AEN2836" | ||
1261 | >llMakeFire</A | ||
1262 | ></DT | ||
1263 | ><DT | ||
1264 | >A.162. <A | ||
1265 | HREF="#AEN2858" | ||
1266 | >llMakeFountain</A | ||
1267 | ></DT | ||
1268 | ><DT | ||
1269 | >A.163. <A | ||
1270 | HREF="#AEN2880" | ||
1271 | >llMakeSmoke</A | ||
1272 | ></DT | ||
1273 | ><DT | ||
1274 | >A.164. <A | ||
1275 | HREF="#AEN2902" | ||
1276 | >llMD5String</A | ||
1277 | ></DT | ||
1278 | ><DT | ||
1279 | >A.165. <A | ||
1280 | HREF="#AEN2919" | ||
1281 | >llMessageLinked</A | ||
1282 | ></DT | ||
1283 | ><DT | ||
1284 | >A.166. <A | ||
1285 | HREF="#AEN2940" | ||
1286 | >llMinEventDelay</A | ||
1287 | ></DT | ||
1288 | ><DT | ||
1289 | >A.167. <A | ||
1290 | HREF="#AEN2949" | ||
1291 | >llModifyLand</A | ||
1292 | ></DT | ||
1293 | ><DT | ||
1294 | >A.168. <A | ||
1295 | HREF="#AEN2963" | ||
1296 | >llModPow</A | ||
1297 | ></DT | ||
1298 | ><DT | ||
1299 | >A.169. <A | ||
1300 | HREF="#AEN2980" | ||
1301 | >llMoveToTarget</A | ||
1302 | ></DT | ||
1303 | ><DT | ||
1304 | >A.170. <A | ||
1305 | HREF="#AEN2995" | ||
1306 | >llOffsetTexture</A | ||
1307 | ></DT | ||
1308 | ><DT | ||
1309 | >A.171. <A | ||
1310 | HREF="#AEN3011" | ||
1311 | >llOpenRemoteDataChannel</A | ||
1312 | ></DT | ||
1313 | ><DT | ||
1314 | >A.172. <A | ||
1315 | HREF="#AEN3019" | ||
1316 | >llOverMyLand</A | ||
1317 | ></DT | ||
1318 | ><DT | ||
1319 | >A.173. <A | ||
1320 | HREF="#AEN3031" | ||
1321 | >llParcelMediaCommandList</A | ||
1322 | ></DT | ||
1323 | ><DT | ||
1324 | >A.174. <A | ||
1325 | HREF="#AEN3091" | ||
1326 | >llParcelMediaQuery</A | ||
1327 | ></DT | ||
1328 | ><DT | ||
1329 | >A.175. <A | ||
1330 | HREF="#AEN3105" | ||
1331 | >llParseString2List</A | ||
1332 | ></DT | ||
1333 | ><DT | ||
1334 | >A.176. <A | ||
1335 | HREF="#AEN3127" | ||
1336 | >llParseStringKeepNulls</A | ||
1337 | ></DT | ||
1338 | ><DT | ||
1339 | >A.177. <A | ||
1340 | HREF="#AEN3149" | ||
1341 | >llParticleSystem</A | ||
1342 | ></DT | ||
1343 | ><DT | ||
1344 | >A.178. <A | ||
1345 | HREF="#AEN3162" | ||
1346 | >llPassCollisions</A | ||
1347 | ></DT | ||
1348 | ><DT | ||
1349 | >A.179. <A | ||
1350 | HREF="#AEN3173" | ||
1351 | >llPassTouches</A | ||
1352 | ></DT | ||
1353 | ><DT | ||
1354 | >A.180. <A | ||
1355 | HREF="#AEN3184" | ||
1356 | >llPlaySound</A | ||
1357 | ></DT | ||
1358 | ><DT | ||
1359 | >A.181. <A | ||
1360 | HREF="#AEN3198" | ||
1361 | >llPlaySoundSlave</A | ||
1362 | ></DT | ||
1363 | ><DT | ||
1364 | >A.182. <A | ||
1365 | HREF="#AEN3210" | ||
1366 | >llPointAt</A | ||
1367 | ></DT | ||
1368 | ><DT | ||
1369 | >A.183. <A | ||
1370 | HREF="#AEN3220" | ||
1371 | >llPow</A | ||
1372 | ></DT | ||
1373 | ><DT | ||
1374 | >A.184. <A | ||
1375 | HREF="#AEN3233" | ||
1376 | >llPreloadSound</A | ||
1377 | ></DT | ||
1378 | ><DT | ||
1379 | >A.185. <A | ||
1380 | HREF="#AEN3243" | ||
1381 | >llPushObject</A | ||
1382 | ></DT | ||
1383 | ><DT | ||
1384 | >A.186. <A | ||
1385 | HREF="#AEN3261" | ||
1386 | >llReleaseControls</A | ||
1387 | ></DT | ||
1388 | ><DT | ||
1389 | >A.187. <A | ||
1390 | HREF="#AEN3271" | ||
1391 | >llRemoteDataReply</A | ||
1392 | ></DT | ||
1393 | ><DT | ||
1394 | >A.188. <A | ||
1395 | HREF="#AEN3284" | ||
1396 | >llRemoteDataSetRegion</A | ||
1397 | ></DT | ||
1398 | ><DT | ||
1399 | >A.189. <A | ||
1400 | HREF="#AEN3292" | ||
1401 | >llRemoteLoadScript</A | ||
1402 | ></DT | ||
1403 | ><DT | ||
1404 | >A.190. <A | ||
1405 | HREF="#AEN3300" | ||
1406 | >llRemoteLoadScriptPin</A | ||
1407 | ></DT | ||
1408 | ><DT | ||
1409 | >A.191. <A | ||
1410 | HREF="#AEN3325" | ||
1411 | >llRemoveInventory</A | ||
1412 | ></DT | ||
1413 | ><DT | ||
1414 | >A.192. <A | ||
1415 | HREF="#AEN3335" | ||
1416 | >llRemoveVehicleFlags</A | ||
1417 | ></DT | ||
1418 | ><DT | ||
1419 | >A.193. <A | ||
1420 | HREF="#AEN3346" | ||
1421 | >llRequestAgentData</A | ||
1422 | ></DT | ||
1423 | ><DT | ||
1424 | >A.194. <A | ||
1425 | HREF="#AEN3363" | ||
1426 | >llRequestInventoryData</A | ||
1427 | ></DT | ||
1428 | ><DT | ||
1429 | >A.195. <A | ||
1430 | HREF="#AEN3375" | ||
1431 | >llRequestPermissions</A | ||
1432 | ></DT | ||
1433 | ><DT | ||
1434 | >A.196. <A | ||
1435 | HREF="#AEN3391" | ||
1436 | >llRequestSimulatorData</A | ||
1437 | ></DT | ||
1438 | ><DT | ||
1439 | >A.197. <A | ||
1440 | HREF="#AEN3408" | ||
1441 | >llResetScript</A | ||
1442 | ></DT | ||
1443 | ><DT | ||
1444 | >A.198. <A | ||
1445 | HREF="#AEN3416" | ||
1446 | >llResetOtherScript</A | ||
1447 | ></DT | ||
1448 | ><DT | ||
1449 | >A.199. <A | ||
1450 | HREF="#AEN3426" | ||
1451 | >llResetTime</A | ||
1452 | ></DT | ||
1453 | ><DT | ||
1454 | >A.200. <A | ||
1455 | HREF="#AEN3434" | ||
1456 | >llRezAtRoot</A | ||
1457 | ></DT | ||
1458 | ><DT | ||
1459 | >A.201. <A | ||
1460 | HREF="#AEN3461" | ||
1461 | >llRezObject</A | ||
1462 | ></DT | ||
1463 | ><DT | ||
1464 | >A.202. <A | ||
1465 | HREF="#AEN3486" | ||
1466 | >llRot2Angle</A | ||
1467 | ></DT | ||
1468 | ><DT | ||
1469 | >A.203. <A | ||
1470 | HREF="#AEN3496" | ||
1471 | >llRot2Axis</A | ||
1472 | ></DT | ||
1473 | ><DT | ||
1474 | >A.204. <A | ||
1475 | HREF="#AEN3506" | ||
1476 | >llRot2Euler</A | ||
1477 | ></DT | ||
1478 | ><DT | ||
1479 | >A.205. <A | ||
1480 | HREF="#AEN3516" | ||
1481 | >llRot2Fwd</A | ||
1482 | ></DT | ||
1483 | ><DT | ||
1484 | >A.206. <A | ||
1485 | HREF="#AEN3526" | ||
1486 | >llRot2Left</A | ||
1487 | ></DT | ||
1488 | ><DT | ||
1489 | >A.207. <A | ||
1490 | HREF="#AEN3536" | ||
1491 | >llRot2Up</A | ||
1492 | ></DT | ||
1493 | ><DT | ||
1494 | >A.208. <A | ||
1495 | HREF="#AEN3546" | ||
1496 | >llRotBetween</A | ||
1497 | ></DT | ||
1498 | ><DT | ||
1499 | >A.209. <A | ||
1500 | HREF="#AEN3559" | ||
1501 | >llRotLookAt</A | ||
1502 | ></DT | ||
1503 | ><DT | ||
1504 | >A.210. <A | ||
1505 | HREF="#AEN3579" | ||
1506 | >llRotTarget</A | ||
1507 | ></DT | ||
1508 | ><DT | ||
1509 | >A.211. <A | ||
1510 | HREF="#AEN3593" | ||
1511 | >llRotTargetRemove</A | ||
1512 | ></DT | ||
1513 | ><DT | ||
1514 | >A.212. <A | ||
1515 | HREF="#AEN3603" | ||
1516 | >llRotateTexture</A | ||
1517 | ></DT | ||
1518 | ><DT | ||
1519 | >A.213. <A | ||
1520 | HREF="#AEN3618" | ||
1521 | >llRound</A | ||
1522 | ></DT | ||
1523 | ><DT | ||
1524 | >A.214. <A | ||
1525 | HREF="#AEN3628" | ||
1526 | >llSameGroup</A | ||
1527 | ></DT | ||
1528 | ><DT | ||
1529 | >A.215. <A | ||
1530 | HREF="#AEN3640" | ||
1531 | >llSay</A | ||
1532 | ></DT | ||
1533 | ><DT | ||
1534 | >A.216. <A | ||
1535 | HREF="#AEN3654" | ||
1536 | >llScaleTexture</A | ||
1537 | ></DT | ||
1538 | ><DT | ||
1539 | >A.217. <A | ||
1540 | HREF="#AEN3671" | ||
1541 | >llScriptDanger</A | ||
1542 | ></DT | ||
1543 | ><DT | ||
1544 | >A.218. <A | ||
1545 | HREF="#AEN3680" | ||
1546 | >llSendRemoteData</A | ||
1547 | ></DT | ||
1548 | ><DT | ||
1549 | >A.219. <A | ||
1550 | HREF="#AEN3693" | ||
1551 | >llSensor</A | ||
1552 | ></DT | ||
1553 | ><DT | ||
1554 | >A.220. <A | ||
1555 | HREF="#AEN3720" | ||
1556 | >llSensorRemove</A | ||
1557 | ></DT | ||
1558 | ><DT | ||
1559 | >A.221. <A | ||
1560 | HREF="#AEN3728" | ||
1561 | >llSensorRepeat</A | ||
1562 | ></DT | ||
1563 | ><DT | ||
1564 | >A.222. <A | ||
1565 | HREF="#AEN3758" | ||
1566 | >llSetAlpha</A | ||
1567 | ></DT | ||
1568 | ><DT | ||
1569 | >A.223. <A | ||
1570 | HREF="#AEN3773" | ||
1571 | >llSetBuoyancy</A | ||
1572 | ></DT | ||
1573 | ><DT | ||
1574 | >A.224. <A | ||
1575 | HREF="#AEN3782" | ||
1576 | >llSetCameraAtOffset</A | ||
1577 | ></DT | ||
1578 | ><DT | ||
1579 | >A.225. <A | ||
1580 | HREF="#AEN3791" | ||
1581 | >llSetClickAction</A | ||
1582 | ></DT | ||
1583 | ><DT | ||
1584 | >A.226. <A | ||
1585 | HREF="#AEN3800" | ||
1586 | >llForceMouselook</A | ||
1587 | ></DT | ||
1588 | ><DT | ||
1589 | >A.227. <A | ||
1590 | HREF="#AEN3809" | ||
1591 | >llSetCameraEyeOffset</A | ||
1592 | ></DT | ||
1593 | ><DT | ||
1594 | >A.228. <A | ||
1595 | HREF="#AEN3818" | ||
1596 | >llSetColor</A | ||
1597 | ></DT | ||
1598 | ><DT | ||
1599 | >A.229. <A | ||
1600 | HREF="#AEN3832" | ||
1601 | >llSetDamage</A | ||
1602 | ></DT | ||
1603 | ><DT | ||
1604 | >A.230. <A | ||
1605 | HREF="#AEN3841" | ||
1606 | >llSetForce</A | ||
1607 | ></DT | ||
1608 | ><DT | ||
1609 | >A.231. <A | ||
1610 | HREF="#AEN3855" | ||
1611 | >llSetForceAndTorque</A | ||
1612 | ></DT | ||
1613 | ><DT | ||
1614 | >A.232. <A | ||
1615 | HREF="#AEN3872" | ||
1616 | >llSetHoverHeight</A | ||
1617 | ></DT | ||
1618 | ><DT | ||
1619 | >A.233. <A | ||
1620 | HREF="#AEN3887" | ||
1621 | >llSetLinkAlpha</A | ||
1622 | ></DT | ||
1623 | ><DT | ||
1624 | >A.234. <A | ||
1625 | HREF="#AEN3906" | ||
1626 | >llSetLinkColor</A | ||
1627 | ></DT | ||
1628 | ><DT | ||
1629 | >A.235. <A | ||
1630 | HREF="#AEN3925" | ||
1631 | >llSetLinkPrimitiveParams</A | ||
1632 | ></DT | ||
1633 | ><DT | ||
1634 | >A.236. <A | ||
1635 | HREF="#AEN3941" | ||
1636 | >llSetLinkTexture</A | ||
1637 | ></DT | ||
1638 | ><DT | ||
1639 | >A.237. <A | ||
1640 | HREF="#AEN3960" | ||
1641 | >llSetLocalRot</A | ||
1642 | ></DT | ||
1643 | ><DT | ||
1644 | >A.238. <A | ||
1645 | HREF="#AEN3969" | ||
1646 | >llSetObjectDesc</A | ||
1647 | ></DT | ||
1648 | ><DT | ||
1649 | >A.239. <A | ||
1650 | HREF="#AEN3979" | ||
1651 | >llSetObjectName</A | ||
1652 | ></DT | ||
1653 | ><DT | ||
1654 | >A.240. <A | ||
1655 | HREF="#AEN3989" | ||
1656 | >llSetParcelMusicURL</A | ||
1657 | ></DT | ||
1658 | ><DT | ||
1659 | >A.241. <A | ||
1660 | HREF="#AEN3999" | ||
1661 | >llSetPayPrice</A | ||
1662 | ></DT | ||
1663 | ><DT | ||
1664 | >A.242. <A | ||
1665 | HREF="#AEN4011" | ||
1666 | >llSetPos</A | ||
1667 | ></DT | ||
1668 | ><DT | ||
1669 | >A.243. <A | ||
1670 | HREF="#AEN4020" | ||
1671 | >llSetPrimitiveParams</A | ||
1672 | ></DT | ||
1673 | ><DT | ||
1674 | >A.244. <A | ||
1675 | HREF="#AEN4034" | ||
1676 | >llSetRemoteScriptAccessPin</A | ||
1677 | ></DT | ||
1678 | ><DT | ||
1679 | >A.245. <A | ||
1680 | HREF="#AEN4043" | ||
1681 | >llSetRot</A | ||
1682 | ></DT | ||
1683 | ><DT | ||
1684 | >A.246. <A | ||
1685 | HREF="#AEN4052" | ||
1686 | >llSetScale</A | ||
1687 | ></DT | ||
1688 | ><DT | ||
1689 | >A.247. <A | ||
1690 | HREF="#AEN4061" | ||
1691 | >llSetScriptState</A | ||
1692 | ></DT | ||
1693 | ><DT | ||
1694 | >A.248. <A | ||
1695 | HREF="#AEN4072" | ||
1696 | >llSetSitText</A | ||
1697 | ></DT | ||
1698 | ><DT | ||
1699 | >A.249. <A | ||
1700 | HREF="#AEN4082" | ||
1701 | >llSetSoundQueueing</A | ||
1702 | ></DT | ||
1703 | ><DT | ||
1704 | >A.250. <A | ||
1705 | HREF="#AEN4095" | ||
1706 | >llSetStatus</A | ||
1707 | ></DT | ||
1708 | ><DT | ||
1709 | >A.251. <A | ||
1710 | HREF="#AEN4110" | ||
1711 | >llSetText</A | ||
1712 | ></DT | ||
1713 | ><DT | ||
1714 | >A.252. <A | ||
1715 | HREF="#AEN4126" | ||
1716 | >llSetTexture</A | ||
1717 | ></DT | ||
1718 | ><DT | ||
1719 | >A.253. <A | ||
1720 | HREF="#AEN4140" | ||
1721 | >llSetTextureAnim</A | ||
1722 | ></DT | ||
1723 | ><DT | ||
1724 | >A.254. <A | ||
1725 | HREF="#AEN4188" | ||
1726 | >llSetTimerEvent</A | ||
1727 | ></DT | ||
1728 | ><DT | ||
1729 | >A.255. <A | ||
1730 | HREF="#AEN4200" | ||
1731 | >llSetTorque</A | ||
1732 | ></DT | ||
1733 | ><DT | ||
1734 | >A.256. <A | ||
1735 | HREF="#AEN4214" | ||
1736 | >llSetTouchText</A | ||
1737 | ></DT | ||
1738 | ><DT | ||
1739 | >A.257. <A | ||
1740 | HREF="#AEN4224" | ||
1741 | >llSetVehicleFlags</A | ||
1742 | ></DT | ||
1743 | ><DT | ||
1744 | >A.258. <A | ||
1745 | HREF="#AEN4235" | ||
1746 | >llSetVehicleFloatParam</A | ||
1747 | ></DT | ||
1748 | ><DT | ||
1749 | >A.259. <A | ||
1750 | HREF="#AEN4249" | ||
1751 | >llSetVehicleType</A | ||
1752 | ></DT | ||
1753 | ><DT | ||
1754 | >A.260. <A | ||
1755 | HREF="#AEN4260" | ||
1756 | >llSetVehicleRotationParam</A | ||
1757 | ></DT | ||
1758 | ><DT | ||
1759 | >A.261. <A | ||
1760 | HREF="#AEN4274" | ||
1761 | >llSetVehicleVectorParam</A | ||
1762 | ></DT | ||
1763 | ><DT | ||
1764 | >A.262. <A | ||
1765 | HREF="#AEN4288" | ||
1766 | >llShout</A | ||
1767 | ></DT | ||
1768 | ><DT | ||
1769 | >A.263. <A | ||
1770 | HREF="#AEN4302" | ||
1771 | >llSin</A | ||
1772 | ></DT | ||
1773 | ><DT | ||
1774 | >A.264. <A | ||
1775 | HREF="#AEN4312" | ||
1776 | >llSitTarget</A | ||
1777 | ></DT | ||
1778 | ><DT | ||
1779 | >A.265. <A | ||
1780 | HREF="#AEN4325" | ||
1781 | >llSleep</A | ||
1782 | ></DT | ||
1783 | ><DT | ||
1784 | >A.266. <A | ||
1785 | HREF="#AEN4335" | ||
1786 | >llSqrt</A | ||
1787 | ></DT | ||
1788 | ><DT | ||
1789 | >A.267. <A | ||
1790 | HREF="#AEN4346" | ||
1791 | >llStartAnimation</A | ||
1792 | ></DT | ||
1793 | ><DT | ||
1794 | >A.268. <A | ||
1795 | HREF="#AEN4578" | ||
1796 | >llStopAnimation</A | ||
1797 | ></DT | ||
1798 | ><DT | ||
1799 | >A.269. <A | ||
1800 | HREF="#AEN4588" | ||
1801 | >llStopHover</A | ||
1802 | ></DT | ||
1803 | ><DT | ||
1804 | >A.270. <A | ||
1805 | HREF="#AEN4596" | ||
1806 | >llStopLookAt</A | ||
1807 | ></DT | ||
1808 | ><DT | ||
1809 | >A.271. <A | ||
1810 | HREF="#AEN4604" | ||
1811 | >llStopMoveToTarget</A | ||
1812 | ></DT | ||
1813 | ><DT | ||
1814 | >A.272. <A | ||
1815 | HREF="#AEN4612" | ||
1816 | >llStopPointAt</A | ||
1817 | ></DT | ||
1818 | ><DT | ||
1819 | >A.273. <A | ||
1820 | HREF="#AEN4620" | ||
1821 | >llStopSound</A | ||
1822 | ></DT | ||
1823 | ><DT | ||
1824 | >A.274. <A | ||
1825 | HREF="#AEN4631" | ||
1826 | >llStringLength</A | ||
1827 | ></DT | ||
1828 | ><DT | ||
1829 | >A.275. <A | ||
1830 | HREF="#AEN4641" | ||
1831 | >llSubStringIndex</A | ||
1832 | ></DT | ||
1833 | ><DT | ||
1834 | >A.276. <A | ||
1835 | HREF="#AEN4652" | ||
1836 | >llStringToBase64</A | ||
1837 | ></DT | ||
1838 | ><DT | ||
1839 | >A.277. <A | ||
1840 | HREF="#AEN4661" | ||
1841 | >llTakeControls</A | ||
1842 | ></DT | ||
1843 | ><DT | ||
1844 | >A.278. <A | ||
1845 | HREF="#AEN4678" | ||
1846 | >llTan</A | ||
1847 | ></DT | ||
1848 | ><DT | ||
1849 | >A.279. <A | ||
1850 | HREF="#AEN4688" | ||
1851 | >llTarget</A | ||
1852 | ></DT | ||
1853 | ><DT | ||
1854 | >A.280. <A | ||
1855 | HREF="#AEN4701" | ||
1856 | >llTargetOmega</A | ||
1857 | ></DT | ||
1858 | ><DT | ||
1859 | >A.281. <A | ||
1860 | HREF="#AEN4718" | ||
1861 | >llTargetRemove</A | ||
1862 | ></DT | ||
1863 | ><DT | ||
1864 | >A.282. <A | ||
1865 | HREF="#AEN4728" | ||
1866 | >llTeleportAgentHome</A | ||
1867 | ></DT | ||
1868 | ><DT | ||
1869 | >A.283. <A | ||
1870 | HREF="#AEN4737" | ||
1871 | >llToLower</A | ||
1872 | ></DT | ||
1873 | ><DT | ||
1874 | >A.284. <A | ||
1875 | HREF="#AEN4746" | ||
1876 | >llToUpper</A | ||
1877 | ></DT | ||
1878 | ><DT | ||
1879 | >A.285. <A | ||
1880 | HREF="#AEN4756" | ||
1881 | >llTriggerSound</A | ||
1882 | ></DT | ||
1883 | ><DT | ||
1884 | >A.286. <A | ||
1885 | HREF="#AEN4770" | ||
1886 | >llTriggerSoundLimited</A | ||
1887 | ></DT | ||
1888 | ><DT | ||
1889 | >A.287. <A | ||
1890 | HREF="#AEN4790" | ||
1891 | >llUnescapeURL</A | ||
1892 | ></DT | ||
1893 | ><DT | ||
1894 | >A.288. <A | ||
1895 | HREF="#AEN4800" | ||
1896 | >llUnSit</A | ||
1897 | ></DT | ||
1898 | ><DT | ||
1899 | >A.289. <A | ||
1900 | HREF="#AEN4810" | ||
1901 | >llVecDist</A | ||
1902 | ></DT | ||
1903 | ><DT | ||
1904 | >A.290. <A | ||
1905 | HREF="#AEN4823" | ||
1906 | >llVecMag</A | ||
1907 | ></DT | ||
1908 | ><DT | ||
1909 | >A.291. <A | ||
1910 | HREF="#AEN4833" | ||
1911 | >llVecNorm</A | ||
1912 | ></DT | ||
1913 | ><DT | ||
1914 | >A.292. <A | ||
1915 | HREF="#AEN4843" | ||
1916 | >llVolumeDetect</A | ||
1917 | ></DT | ||
1918 | ><DT | ||
1919 | >A.293. <A | ||
1920 | HREF="#AEN4852" | ||
1921 | >llWater</A | ||
1922 | ></DT | ||
1923 | ><DT | ||
1924 | >A.294. <A | ||
1925 | HREF="#AEN4862" | ||
1926 | >llWhisper</A | ||
1927 | ></DT | ||
1928 | ><DT | ||
1929 | >A.295. <A | ||
1930 | HREF="#AEN4876" | ||
1931 | >llWind</A | ||
1932 | ></DT | ||
1933 | ><DT | ||
1934 | >A.296. <A | ||
1935 | HREF="#AEN4886" | ||
1936 | >llXorBase64Strings</A | ||
1937 | ></DT | ||
1938 | ></DL | ||
1939 | ></DD | ||
1940 | ><DT | ||
1941 | >B. <A | ||
1942 | HREF="#AEN4899" | ||
1943 | >Events</A | ||
1944 | ></DT | ||
1945 | ><DD | ||
1946 | ><DL | ||
1947 | ><DT | ||
1948 | >B.1. <A | ||
1949 | HREF="#AEN4902" | ||
1950 | >at_rot_target</A | ||
1951 | ></DT | ||
1952 | ><DT | ||
1953 | >B.2. <A | ||
1954 | HREF="#AEN4916" | ||
1955 | >at_target</A | ||
1956 | ></DT | ||
1957 | ><DT | ||
1958 | >B.3. <A | ||
1959 | HREF="#AEN4930" | ||
1960 | >attach</A | ||
1961 | ></DT | ||
1962 | ><DT | ||
1963 | >B.4. <A | ||
1964 | HREF="#AEN4940" | ||
1965 | >changed</A | ||
1966 | ></DT | ||
1967 | ><DT | ||
1968 | >B.5. <A | ||
1969 | HREF="#AEN4951" | ||
1970 | >collision</A | ||
1971 | ></DT | ||
1972 | ><DT | ||
1973 | >B.6. <A | ||
1974 | HREF="#AEN4961" | ||
1975 | >collision_end</A | ||
1976 | ></DT | ||
1977 | ><DT | ||
1978 | >B.7. <A | ||
1979 | HREF="#AEN4971" | ||
1980 | >collision_start</A | ||
1981 | ></DT | ||
1982 | ><DT | ||
1983 | >B.8. <A | ||
1984 | HREF="#AEN4981" | ||
1985 | >control</A | ||
1986 | ></DT | ||
1987 | ><DT | ||
1988 | >B.9. <A | ||
1989 | HREF="#AEN4997" | ||
1990 | >dataserver</A | ||
1991 | ></DT | ||
1992 | ><DT | ||
1993 | >B.10. <A | ||
1994 | HREF="#AEN5012" | ||
1995 | >email</A | ||
1996 | ></DT | ||
1997 | ><DT | ||
1998 | >B.11. <A | ||
1999 | HREF="#AEN5030" | ||
2000 | >land_collision</A | ||
2001 | ></DT | ||
2002 | ><DT | ||
2003 | >B.12. <A | ||
2004 | HREF="#AEN5039" | ||
2005 | >land_collision_end</A | ||
2006 | ></DT | ||
2007 | ><DT | ||
2008 | >B.13. <A | ||
2009 | HREF="#AEN5048" | ||
2010 | >land_collision_start</A | ||
2011 | ></DT | ||
2012 | ><DT | ||
2013 | >B.14. <A | ||
2014 | HREF="#AEN5057" | ||
2015 | >link_message</A | ||
2016 | ></DT | ||
2017 | ><DT | ||
2018 | >B.15. <A | ||
2019 | HREF="#AEN5073" | ||
2020 | >listen</A | ||
2021 | ></DT | ||
2022 | ><DT | ||
2023 | >B.16. <A | ||
2024 | HREF="#AEN5092" | ||
2025 | >money</A | ||
2026 | ></DT | ||
2027 | ><DT | ||
2028 | >B.17. <A | ||
2029 | HREF="#AEN5105" | ||
2030 | >moving_end</A | ||
2031 | ></DT | ||
2032 | ><DT | ||
2033 | >B.18. <A | ||
2034 | HREF="#AEN5113" | ||
2035 | >moving_start</A | ||
2036 | ></DT | ||
2037 | ><DT | ||
2038 | >B.19. <A | ||
2039 | HREF="#AEN5121" | ||
2040 | >no_sensor</A | ||
2041 | ></DT | ||
2042 | ><DT | ||
2043 | >B.20. <A | ||
2044 | HREF="#AEN5130" | ||
2045 | >not_at_rot_target</A | ||
2046 | ></DT | ||
2047 | ><DT | ||
2048 | >B.21. <A | ||
2049 | HREF="#AEN5139" | ||
2050 | >not_at_target</A | ||
2051 | ></DT | ||
2052 | ><DT | ||
2053 | >B.22. <A | ||
2054 | HREF="#AEN5148" | ||
2055 | >object_rez</A | ||
2056 | ></DT | ||
2057 | ><DT | ||
2058 | >B.23. <A | ||
2059 | HREF="#AEN5159" | ||
2060 | >on_rez</A | ||
2061 | ></DT | ||
2062 | ><DT | ||
2063 | >B.24. <A | ||
2064 | HREF="#AEN5171" | ||
2065 | >run_time_permissions</A | ||
2066 | ></DT | ||
2067 | ><DT | ||
2068 | >B.25. <A | ||
2069 | HREF="#AEN5183" | ||
2070 | >sensor</A | ||
2071 | ></DT | ||
2072 | ><DT | ||
2073 | >B.26. <A | ||
2074 | HREF="#AEN5195" | ||
2075 | >state_entry</A | ||
2076 | ></DT | ||
2077 | ><DT | ||
2078 | >B.27. <A | ||
2079 | HREF="#AEN5203" | ||
2080 | >state_exit</A | ||
2081 | ></DT | ||
2082 | ><DT | ||
2083 | >B.28. <A | ||
2084 | HREF="#AEN5211" | ||
2085 | >timer</A | ||
2086 | ></DT | ||
2087 | ><DT | ||
2088 | >B.29. <A | ||
2089 | HREF="#AEN5220" | ||
2090 | >touch</A | ||
2091 | ></DT | ||
2092 | ><DT | ||
2093 | >B.30. <A | ||
2094 | HREF="#AEN5231" | ||
2095 | >touch_end</A | ||
2096 | ></DT | ||
2097 | ><DT | ||
2098 | >B.31. <A | ||
2099 | HREF="#AEN5242" | ||
2100 | >touch_start</A | ||
2101 | ></DT | ||
2102 | ><DT | ||
2103 | >B.32. <A | ||
2104 | HREF="#AEN5253" | ||
2105 | >remote_data</A | ||
2106 | ></DT | ||
2107 | ></DL | ||
2108 | ></DD | ||
2109 | ><DT | ||
2110 | >C. <A | ||
2111 | HREF="#AEN5292" | ||
2112 | >Constants</A | ||
2113 | ></DT | ||
2114 | ><DD | ||
2115 | ><DL | ||
2116 | ><DT | ||
2117 | >C.1. <A | ||
2118 | HREF="#AEN5295" | ||
2119 | >Boolean Constants</A | ||
2120 | ></DT | ||
2121 | ><DT | ||
2122 | >C.2. <A | ||
2123 | HREF="#AEN5304" | ||
2124 | >Status Constants</A | ||
2125 | ></DT | ||
2126 | ><DT | ||
2127 | >C.3. <A | ||
2128 | HREF="#AEN5338" | ||
2129 | >Object Type Constants</A | ||
2130 | ></DT | ||
2131 | ><DT | ||
2132 | >C.4. <A | ||
2133 | HREF="#AEN5360" | ||
2134 | >Permission Constants</A | ||
2135 | ></DT | ||
2136 | ><DT | ||
2137 | >C.5. <A | ||
2138 | HREF="#AEN5411" | ||
2139 | >Inventory Constants</A | ||
2140 | ></DT | ||
2141 | ><DT | ||
2142 | >C.6. <A | ||
2143 | HREF="#AEN5434" | ||
2144 | >Pay Price Constants</A | ||
2145 | ></DT | ||
2146 | ><DT | ||
2147 | >C.7. <A | ||
2148 | HREF="#AEN5448" | ||
2149 | >Attachment Constants</A | ||
2150 | ></DT | ||
2151 | ><DT | ||
2152 | >C.8. <A | ||
2153 | HREF="#AEN5574" | ||
2154 | >Land Constants</A | ||
2155 | ></DT | ||
2156 | ><DT | ||
2157 | >C.9. <A | ||
2158 | HREF="#AEN5616" | ||
2159 | >Link Constants</A | ||
2160 | ></DT | ||
2161 | ><DT | ||
2162 | >C.10. <A | ||
2163 | HREF="#AEN5643" | ||
2164 | >Control Constants</A | ||
2165 | ></DT | ||
2166 | ><DT | ||
2167 | >C.11. <A | ||
2168 | HREF="#AEN5690" | ||
2169 | >Change Constants</A | ||
2170 | ></DT | ||
2171 | ><DT | ||
2172 | >C.12. <A | ||
2173 | HREF="#AEN5733" | ||
2174 | >Type Constants</A | ||
2175 | ></DT | ||
2176 | ><DT | ||
2177 | >C.13. <A | ||
2178 | HREF="#AEN5767" | ||
2179 | >Agent Info Constants</A | ||
2180 | ></DT | ||
2181 | ><DT | ||
2182 | >C.14. <A | ||
2183 | HREF="#AEN5817" | ||
2184 | >Texture Animation | ||
2185 | Constants</A | ||
2186 | ></DT | ||
2187 | ><DT | ||
2188 | >C.15. <A | ||
2189 | HREF="#AEN5851" | ||
2190 | >Particle System Constants</A | ||
2191 | ></DT | ||
2192 | ><DT | ||
2193 | >C.16. <A | ||
2194 | HREF="#AEN6005" | ||
2195 | >Agent Data Constants</A | ||
2196 | ></DT | ||
2197 | ><DT | ||
2198 | >C.17. <A | ||
2199 | HREF="#AEN6041" | ||
2200 | >Float Constants</A | ||
2201 | ></DT | ||
2202 | ><DT | ||
2203 | >C.18. <A | ||
2204 | HREF="#AEN6070" | ||
2205 | >Key Constant</A | ||
2206 | ></DT | ||
2207 | ><DT | ||
2208 | >C.19. <A | ||
2209 | HREF="#AEN6073" | ||
2210 | >Miscellaneous Integer Constants</A | ||
2211 | ></DT | ||
2212 | ><DT | ||
2213 | >C.20. <A | ||
2214 | HREF="#AEN6076" | ||
2215 | >Miscellaneous String | ||
2216 | Constants</A | ||
2217 | ></DT | ||
2218 | ><DT | ||
2219 | >C.21. <A | ||
2220 | HREF="#AEN6080" | ||
2221 | >Vector Constant</A | ||
2222 | ></DT | ||
2223 | ><DT | ||
2224 | >C.22. <A | ||
2225 | HREF="#AEN6083" | ||
2226 | >Rotation Constant</A | ||
2227 | ></DT | ||
2228 | ><DT | ||
2229 | >C.23. <A | ||
2230 | HREF="#AEN6086" | ||
2231 | >Simulator Data Constants</A | ||
2232 | ></DT | ||
2233 | ><DT | ||
2234 | >C.24. <A | ||
2235 | HREF="#AEN6112" | ||
2236 | >Vehicle Parameters</A | ||
2237 | ></DT | ||
2238 | ><DT | ||
2239 | >C.25. <A | ||
2240 | HREF="#AEN6231" | ||
2241 | >Vehicle Flags</A | ||
2242 | ></DT | ||
2243 | ><DT | ||
2244 | >C.26. <A | ||
2245 | HREF="#AEN6288" | ||
2246 | >Vehicle Types</A | ||
2247 | ></DT | ||
2248 | ><DT | ||
2249 | >C.27. <A | ||
2250 | HREF="#AEN6323" | ||
2251 | >Primitive Constants</A | ||
2252 | ></DT | ||
2253 | ><DT | ||
2254 | >C.28. <A | ||
2255 | HREF="#AEN6409" | ||
2256 | >XML-RPC Constants</A | ||
2257 | ></DT | ||
2258 | ><DT | ||
2259 | >C.29. <A | ||
2260 | HREF="#AEN6412" | ||
2261 | >Permission Mask Constants</A | ||
2262 | ></DT | ||
2263 | ><DT | ||
2264 | >C.30. <A | ||
2265 | HREF="#AEN6459" | ||
2266 | >Parcel Media Constants</A | ||
2267 | ></DT | ||
2268 | ><DT | ||
2269 | >C.31. <A | ||
2270 | HREF="#AEN6521" | ||
2271 | >Click Action Constants</A | ||
2272 | ></DT | ||
2273 | ></DL | ||
2274 | ></DD | ||
2275 | ></DL | ||
2276 | ></DIV | ||
2277 | ><DIV | ||
2278 | CLASS="LOT" | ||
2279 | ><DL | ||
2280 | CLASS="LOT" | ||
2281 | ><DT | ||
2282 | ><B | ||
2283 | >List of Tables</B | ||
2284 | ></DT | ||
2285 | ><DT | ||
2286 | >3-1. <A | ||
2287 | HREF="#AEN148" | ||
2288 | >Binary Arithmetic Operators</A | ||
2289 | ></DT | ||
2290 | ><DT | ||
2291 | >3-2. <A | ||
2292 | HREF="#AEN188" | ||
2293 | >Boolean Operators</A | ||
2294 | ></DT | ||
2295 | ><DT | ||
2296 | >3-3. <A | ||
2297 | HREF="#AEN220" | ||
2298 | >Bitwise Operators</A | ||
2299 | ></DT | ||
2300 | ><DT | ||
2301 | >3-4. <A | ||
2302 | HREF="#AEN258" | ||
2303 | >Vector Arithmetic Operators</A | ||
2304 | ></DT | ||
2305 | ><DT | ||
2306 | >3-5. <A | ||
2307 | HREF="#AEN282" | ||
2308 | >Rotation Arithmetic Operators</A | ||
2309 | ></DT | ||
2310 | ><DT | ||
2311 | >6-1. <A | ||
2312 | HREF="#AEN456" | ||
2313 | >Trigonometry Functions</A | ||
2314 | ></DT | ||
2315 | ><DT | ||
2316 | >6-2. <A | ||
2317 | HREF="#AEN505" | ||
2318 | >Vector Functions</A | ||
2319 | ></DT | ||
2320 | ><DT | ||
2321 | >6-3. <A | ||
2322 | HREF="#AEN521" | ||
2323 | >Rotation Functions</A | ||
2324 | ></DT | ||
2325 | ><DT | ||
2326 | >7-1. <A | ||
2327 | HREF="#AEN565" | ||
2328 | >String Functions</A | ||
2329 | ></DT | ||
2330 | ><DT | ||
2331 | >8-1. <A | ||
2332 | HREF="#AEN609" | ||
2333 | >List Functions</A | ||
2334 | ></DT | ||
2335 | ><DT | ||
2336 | >9-1. <A | ||
2337 | HREF="#AEN674" | ||
2338 | >In World Functions</A | ||
2339 | ></DT | ||
2340 | ><DT | ||
2341 | >9-2. <A | ||
2342 | HREF="#AEN699" | ||
2343 | >Messaging Functions</A | ||
2344 | ></DT | ||
2345 | ><DT | ||
2346 | >10-1. <A | ||
2347 | HREF="#AEN719" | ||
2348 | >Inventory Functions</A | ||
2349 | ></DT | ||
2350 | ></DL | ||
2351 | ></DIV | ||
2352 | ><DIV | ||
2353 | CLASS="chapter" | ||
2354 | ><HR><H1 | ||
2355 | ><A | ||
2356 | NAME="AEN27" | ||
2357 | ></A | ||
2358 | >Chapter 1. Introduction</H1 | ||
2359 | ><P | ||
2360 | >The Linden Scripting Language (LSL) is a simple, powerful | ||
2361 | language used to attach behaviors to the objects found in Second | ||
2362 | Life. It follows the familiar syntax of a c/Java style language, | ||
2363 | with an implicit state machine for every script.</P | ||
2364 | ><P | ||
2365 | >Multiple scripts may also be attached to the same object, | ||
2366 | allowing a style of small, single-function scripts to evolve. This | ||
2367 | leads to scripts that perform specific functions ("hover", "follow", | ||
2368 | etc.) and allows them to be combined to form new behaviors.</P | ||
2369 | ><P | ||
2370 | >The text of the script is compiled into an executable byte | ||
2371 | code, much like Java. This byte code is then run within a virtual | ||
2372 | machine on the simulator. Each script receives a time slice of the | ||
2373 | total simulator time allocated to scripts, so a simulator with many | ||
2374 | scripts would allow each individual script less time rather than | ||
2375 | degrading its own performance. In addition, each script executes | ||
2376 | within its own chunk of memory, preventing scripts from writing into | ||
2377 | protected simulator memory or into other scripts, making it much | ||
2378 | harder for scripts to crash the simulator.</P | ||
2379 | ><P | ||
2380 | >This tutorial introduces the reader to the basic features of | ||
2381 | LSL, how to edit and apply your scripts, and a complete reference | ||
2382 | for standard linden constants, events, and library functions.</P | ||
2383 | ></DIV | ||
2384 | ><DIV | ||
2385 | CLASS="chapter" | ||
2386 | ><HR><H1 | ||
2387 | ><A | ||
2388 | NAME="AEN33" | ||
2389 | ></A | ||
2390 | >Chapter 2. Getting Started</H1 | ||
2391 | ><P | ||
2392 | >You're probably wondering what you can do with LSL, and how | ||
2393 | quickly you can do it. We'll start with some simple examples, dissect | ||
2394 | them, and introduce you the script development process while | ||
2395 | we're at it.</P | ||
2396 | ><DIV | ||
2397 | CLASS="section" | ||
2398 | ><HR><H2 | ||
2399 | CLASS="section" | ||
2400 | ><A | ||
2401 | NAME="AEN36" | ||
2402 | >2.1. Hello Avatar</A | ||
2403 | ></H2 | ||
2404 | ><P | ||
2405 | >Continuing a long tradition of getting started by looking at | ||
2406 | a script that says "Hello", we'll do just that. Though obviously | ||
2407 | not a particularly useful example on it's own, this example will | ||
2408 | introduce us to:</P | ||
2409 | ><P | ||
2410 | ></P | ||
2411 | ><UL | ||
2412 | ><LI | ||
2413 | ><P | ||
2414 | >Creating a basic script</P | ||
2415 | ></LI | ||
2416 | ><LI | ||
2417 | ><P | ||
2418 | >Script states</P | ||
2419 | ></LI | ||
2420 | ><LI | ||
2421 | ><P | ||
2422 | >Calling functions</P | ||
2423 | ></LI | ||
2424 | ><LI | ||
2425 | ><P | ||
2426 | >Script events</P | ||
2427 | ></LI | ||
2428 | ><LI | ||
2429 | ><P | ||
2430 | >Applying a script to an object</P | ||
2431 | ></LI | ||
2432 | ></UL | ||
2433 | ><DIV | ||
2434 | CLASS="section" | ||
2435 | ><HR><H3 | ||
2436 | CLASS="section" | ||
2437 | ><A | ||
2438 | NAME="AEN50" | ||
2439 | >2.1.1. Creating the Script</A | ||
2440 | ></H3 | ||
2441 | ><P | ||
2442 | >Start by opening your inventory and selecting 'Create|New | ||
2443 | Script' from the inventory pull down menu. This will create an | ||
2444 | empty script called 'New Script' in your 'Scripts' | ||
2445 | folder. Double click on the text or icon of the script to open | ||
2446 | the script in the built in editor. When you open the script, the | ||
2447 | viewer will automatically insert a basic skeleton for lsl. It | ||
2448 | should look like:</P | ||
2449 | ><P | ||
2450 | ><PRE | ||
2451 | CLASS="programlisting" | ||
2452 | > default | ||
2453 | { | ||
2454 | state_entry() | ||
2455 | { | ||
2456 | llSay(0, "Hello, Avatar!"); | ||
2457 | } | ||
2458 | |||
2459 | touch_start(integer total_number) | ||
2460 | { | ||
2461 | llSay(0, "Touched."); | ||
2462 | } | ||
2463 | } | ||
2464 | </PRE | ||
2465 | ></P | ||
2466 | ><P | ||
2467 | >A casual inspection of this script reveals that this script | ||
2468 | probably says 'Hello, Avatar!' when it enters some state, and it | ||
2469 | says 'Touched.' when it is touched. But since this is also | ||
2470 | probably the first time you have seen a script we'll dissect this | ||
2471 | short listing, explaining each segment individually.</P | ||
2472 | ></DIV | ||
2473 | ><DIV | ||
2474 | CLASS="section" | ||
2475 | ><HR><H3 | ||
2476 | CLASS="section" | ||
2477 | ><A | ||
2478 | NAME="AEN56" | ||
2479 | >2.1.2. Default State</A | ||
2480 | ></H3 | ||
2481 | ><P | ||
2482 | ><DIV | ||
2483 | CLASS="informalexample" | ||
2484 | ><P | ||
2485 | ></P | ||
2486 | ><A | ||
2487 | NAME="AEN59" | ||
2488 | ></A | ||
2489 | ><PRE | ||
2490 | CLASS="programlisting" | ||
2491 | > default | ||
2492 | { | ||
2493 | ... | ||
2494 | } | ||
2495 | </PRE | ||
2496 | ><P | ||
2497 | ></P | ||
2498 | ></DIV | ||
2499 | ></P | ||
2500 | ><P | ||
2501 | >All LSL scripts have a simple implicit state machine with | ||
2502 | one or more states. All scripts must have a default state, so | ||
2503 | if there is only one state, it will be the 'default' | ||
2504 | state. When a script is first started or reset, it will start | ||
2505 | out in the default state.</P | ||
2506 | ><P | ||
2507 | >The default state is declared by placing the default at | ||
2508 | the root level of the document, and marking the beginning with | ||
2509 | an open brace '{' and ending with a close brace '}'. Because of | ||
2510 | it's privileged status, you do not declare that it is fact a | ||
2511 | state like you normally would with other states.</P | ||
2512 | ><P | ||
2513 | >Every time you enter a state, the script engine will | ||
2514 | automatically call the state_entry() event and execute the code | ||
2515 | found there. On state exit, the script engine will automatically | ||
2516 | call the state_exit() event before calling the next state's | ||
2517 | state_entry handler. In our example, we call the | ||
2518 | <A | ||
2519 | HREF="#AEN3640" | ||
2520 | >llSay()</A | ||
2521 | > | ||
2522 | function in state_entry() and do not bother to define a | ||
2523 | state_exit() handler. the state entry and exit handlers are a | ||
2524 | convenient place to initialize state data and clean up state | ||
2525 | specific data such as listen event callback.</P | ||
2526 | ><P | ||
2527 | >You can read more about the default state, and how to | ||
2528 | create and utilize other states in the <A | ||
2529 | HREF="#AEN427" | ||
2530 | >states chapter</A | ||
2531 | >.</P | ||
2532 | ></DIV | ||
2533 | ><DIV | ||
2534 | CLASS="section" | ||
2535 | ><HR><H3 | ||
2536 | CLASS="section" | ||
2537 | ><A | ||
2538 | NAME="AEN67" | ||
2539 | >2.1.3. Functions</A | ||
2540 | ></H3 | ||
2541 | ><P | ||
2542 | >The language comes with well over 200 <A | ||
2543 | HREF="#AEN999" | ||
2544 | >built in functions</A | ||
2545 | > which allow scripts and | ||
2546 | objects to interact with their environment. All of the built in | ||
2547 | functions start with 'll'.</P | ||
2548 | ><P | ||
2549 | >The example calls the <A | ||
2550 | HREF="#AEN3640" | ||
2551 | >llSay()</A | ||
2552 | > | ||
2553 | function twice, which is used to emit text on the specified channel. | ||
2554 | </P | ||
2555 | ><DIV | ||
2556 | CLASS="funcsynopsis" | ||
2557 | ><P | ||
2558 | ></P | ||
2559 | ><A | ||
2560 | NAME="AEN73" | ||
2561 | ></A | ||
2562 | ><P | ||
2563 | ><CODE | ||
2564 | ><CODE | ||
2565 | CLASS="FUNCDEF" | ||
2566 | >llSay</CODE | ||
2567 | >( | ||
2568 | integer channel | ||
2569 | string text | ||
2570 | );</CODE | ||
2571 | ></P | ||
2572 | ><P | ||
2573 | ></P | ||
2574 | ></DIV | ||
2575 | ><P | ||
2576 | >Say text on channel. Channel 0 is the public chat channel | ||
2577 | that all avatars see as chat text. Channels 1 to 2,147,483,648 | ||
2578 | are private channels that aren't sent to avatars but other | ||
2579 | scripts can listen for.</P | ||
2580 | ><P | ||
2581 | >You can define your own functions as long as the name does | ||
2582 | not conflict with a reserved word, built in constant, or built | ||
2583 | in function.</P | ||
2584 | ></DIV | ||
2585 | ><DIV | ||
2586 | CLASS="section" | ||
2587 | ><HR><H3 | ||
2588 | CLASS="section" | ||
2589 | ><A | ||
2590 | NAME="AEN82" | ||
2591 | >2.1.4. Touch Event</A | ||
2592 | ></H3 | ||
2593 | ><P | ||
2594 | ><DIV | ||
2595 | CLASS="informalexample" | ||
2596 | ><P | ||
2597 | ></P | ||
2598 | ><A | ||
2599 | NAME="AEN85" | ||
2600 | ></A | ||
2601 | ><PRE | ||
2602 | CLASS="programlisting" | ||
2603 | > touch_start(integer total_number) | ||
2604 | { | ||
2605 | llSay(0, "Touched."); | ||
2606 | } | ||
2607 | </PRE | ||
2608 | ><P | ||
2609 | ></P | ||
2610 | ></DIV | ||
2611 | ></P | ||
2612 | ><P | ||
2613 | >There are many <A | ||
2614 | HREF="#AEN4899" | ||
2615 | >events</A | ||
2616 | > that can | ||
2617 | be detected in your scripts by declaring a handler. The | ||
2618 | <A | ||
2619 | HREF="#AEN5242" | ||
2620 | > touch_start()</A | ||
2621 | > | ||
2622 | event is raised when a | ||
2623 | user touches the object through the user interface.</P | ||
2624 | ></DIV | ||
2625 | ><DIV | ||
2626 | CLASS="section" | ||
2627 | ><HR><H3 | ||
2628 | CLASS="section" | ||
2629 | ><A | ||
2630 | NAME="AEN90" | ||
2631 | >2.1.5. Try it Out</A | ||
2632 | ></H3 | ||
2633 | ><P | ||
2634 | >Now that we have seen the default script, and examined it | ||
2635 | in some detail, it is time to see the script in action. Save | ||
2636 | the script by clicking on <SPAN | ||
2637 | CLASS="guibutton" | ||
2638 | >Save</SPAN | ||
2639 | >. During | ||
2640 | the save process, the editor will save the text of the script | ||
2641 | and compile the script into bytecode and then save that. When | ||
2642 | you see message 'Compile successful!' in the preview window, you | ||
2643 | know the compile and save is done.</P | ||
2644 | ><P | ||
2645 | >To test the script you will have to apply it to an object | ||
2646 | in the world. Create a new object in the world by | ||
2647 | <SPAN | ||
2648 | CLASS="mousebutton" | ||
2649 | >context clicking</SPAN | ||
2650 | > in the main world | ||
2651 | view and selecting <SPAN | ||
2652 | CLASS="guimenu" | ||
2653 | >Create</SPAN | ||
2654 | >. When the wand | ||
2655 | appears, you can create a simple primitive by | ||
2656 | <SPAN | ||
2657 | CLASS="mousebutton" | ||
2658 | >clicking</SPAN | ||
2659 | > in the world. Once the | ||
2660 | object appears, you can drag your newly created script onto the | ||
2661 | object to start the script.</P | ||
2662 | ><P | ||
2663 | >Soon after dragging the script onto the object, you will | ||
2664 | see the message <SAMP | ||
2665 | CLASS="computeroutput" | ||
2666 | >Object: Hello | ||
2667 | Avatar!</SAMP | ||
2668 | ></P | ||
2669 | ><P | ||
2670 | >Make sure the touch event is working by | ||
2671 | <SPAN | ||
2672 | CLASS="mousebutton" | ||
2673 | >clicking</SPAN | ||
2674 | > on the object. You should | ||
2675 | see the message <SAMP | ||
2676 | CLASS="computeroutput" | ||
2677 | >Touched printed into the chat | ||
2678 | history.</SAMP | ||
2679 | ></P | ||
2680 | ></DIV | ||
2681 | ></DIV | ||
2682 | ><DIV | ||
2683 | CLASS="section" | ||
2684 | ><HR><H2 | ||
2685 | CLASS="section" | ||
2686 | ><A | ||
2687 | NAME="AEN103" | ||
2688 | >2.2. Using The Built-In Editor</A | ||
2689 | ></H2 | ||
2690 | ><P | ||
2691 | >The built in editor comes with most of the typical features | ||
2692 | you would expect from a basic text editor. Highlight text with the | ||
2693 | mouse, or by holding down the shift key while using the arrow | ||
2694 | keys. You can cut, copy, paste, and delete your selection using | ||
2695 | the 'Edit' pull down menu or by pressing the usual shortcut | ||
2696 | key.</P | ||
2697 | ></DIV | ||
2698 | ><DIV | ||
2699 | CLASS="section" | ||
2700 | ><HR><H2 | ||
2701 | CLASS="section" | ||
2702 | ><A | ||
2703 | NAME="AEN106" | ||
2704 | >2.3. Using Alternative Editors</A | ||
2705 | ></H2 | ||
2706 | ><P | ||
2707 | >Since the built-in editor supports pasting text from the | ||
2708 | clipboard, you can employ a different editor to edit your scripts, | ||
2709 | copying them into Second Life when you're ready to save them.</P | ||
2710 | ></DIV | ||
2711 | ></DIV | ||
2712 | ><DIV | ||
2713 | CLASS="chapter" | ||
2714 | ><HR><H1 | ||
2715 | ><A | ||
2716 | NAME="AEN109" | ||
2717 | ></A | ||
2718 | >Chapter 3. Basics</H1 | ||
2719 | ><P | ||
2720 | >Now that we have seen a very simple script in action, we need | ||
2721 | to look at the our toolchest for writing scripts. The next set of | ||
2722 | tools we will consider are the basic building blocks for programming | ||
2723 | a script, and will be used in every non-trivial script you write.</P | ||
2724 | ><DIV | ||
2725 | CLASS="section" | ||
2726 | ><HR><H2 | ||
2727 | CLASS="section" | ||
2728 | ><A | ||
2729 | NAME="AEN112" | ||
2730 | >3.1. Comments</A | ||
2731 | ></H2 | ||
2732 | ><P | ||
2733 | >Commenting your scripts is a good idea, and will help when | ||
2734 | you update and modify the script, or when you adapt parts of it | ||
2735 | into other scripts. Unless the meaning is obvious, you should add | ||
2736 | comments:</P | ||
2737 | ><P | ||
2738 | ><P | ||
2739 | ></P | ||
2740 | ><UL | ||
2741 | ><LI | ||
2742 | ><P | ||
2743 | >at the start of the script to explain the | ||
2744 | purpose of the script</P | ||
2745 | ></LI | ||
2746 | ><LI | ||
2747 | ><P | ||
2748 | >before every global variable to describe what | ||
2749 | it holds</P | ||
2750 | ></LI | ||
2751 | ><LI | ||
2752 | ><P | ||
2753 | >before every global function to describe what | ||
2754 | it does</P | ||
2755 | ></LI | ||
2756 | ><LI | ||
2757 | ><P | ||
2758 | >sprinkled through your script wherever the code | ||
2759 | solves a problem that took you more than a few minutes to | ||
2760 | figure out.</P | ||
2761 | ></LI | ||
2762 | ></UL | ||
2763 | ></P | ||
2764 | ><P | ||
2765 | >LSL uses Java/C++ style single line comments.</P | ||
2766 | ><P | ||
2767 | ><DIV | ||
2768 | CLASS="informalexample" | ||
2769 | ><P | ||
2770 | ></P | ||
2771 | ><A | ||
2772 | NAME="AEN127" | ||
2773 | ></A | ||
2774 | ><PRE | ||
2775 | CLASS="programlisting" | ||
2776 | > // This script toggles a the rotation of an object | ||
2777 | |||
2778 | // g_is_rotating stores the current state of the rotation. TRUE is | ||
2779 | // rotating, FALSE otherwise. | ||
2780 | integer g_is_rotating = FALSE; | ||
2781 | default | ||
2782 | { | ||
2783 | // toggle state during the touch handler | ||
2784 | touch(integer num) | ||
2785 | { | ||
2786 | if(g_is_rotating) | ||
2787 | { | ||
2788 | // turn off rotation | ||
2789 | llTargetOmega(<0,0,1>, 0, 0); | ||
2790 | g_is_rotating = FALSE; | ||
2791 | } | ||
2792 | else | ||
2793 | { | ||
2794 | // rotate around the positive z axis - up. | ||
2795 | llTargetOmega(<0,0,1>, 4, 1); | ||
2796 | g_is_rotating = TRUE; | ||
2797 | } | ||
2798 | } | ||
2799 | } | ||
2800 | </PRE | ||
2801 | ><P | ||
2802 | ></P | ||
2803 | ></DIV | ||
2804 | ></P | ||
2805 | ></DIV | ||
2806 | ><DIV | ||
2807 | CLASS="section" | ||
2808 | ><HR><H2 | ||
2809 | CLASS="section" | ||
2810 | ><A | ||
2811 | NAME="AEN129" | ||
2812 | >3.2. Arithmetic Operations</A | ||
2813 | ></H2 | ||
2814 | ><P | ||
2815 | >Most of the common arithmetic operations are supported in | ||
2816 | lsl, and follow the C/Java syntax.</P | ||
2817 | ><DIV | ||
2818 | CLASS="section" | ||
2819 | ><HR><H3 | ||
2820 | CLASS="section" | ||
2821 | ><A | ||
2822 | NAME="AEN132" | ||
2823 | >3.2.1. Assignment</A | ||
2824 | ></H3 | ||
2825 | ><P | ||
2826 | >The most common arithmetic operation is assignment, | ||
2827 | denoted with the '=' sign. Loosely translated, it means, take | ||
2828 | what you find on the right hand side of the equal sign and | ||
2829 | assign it to the left hand side. Any expression that evaluates | ||
2830 | to a basic type can be used as the right hand side of an | ||
2831 | assignment, but the left hand side must be a normal | ||
2832 | variable.</P | ||
2833 | ><P | ||
2834 | >All basic types support assignment '=', equality '==' and | ||
2835 | inequality '!=' operators.</P | ||
2836 | ><P | ||
2837 | ><DIV | ||
2838 | CLASS="informalexample" | ||
2839 | ><P | ||
2840 | ></P | ||
2841 | ><A | ||
2842 | NAME="AEN137" | ||
2843 | ></A | ||
2844 | ><PRE | ||
2845 | CLASS="programlisting" | ||
2846 | > // variables to hold a information about the target | ||
2847 | key g_target; | ||
2848 | vector g_target_postion; | ||
2849 | float g_target_distance; | ||
2850 | |||
2851 | // function that demonstrates assignment | ||
2852 | set_globals(key target, vector pos) | ||
2853 | { | ||
2854 | g_target = target; | ||
2855 | g_target_position = pos; | ||
2856 | |||
2857 | // assignment from the return value of a function | ||
2858 | vector my_pos = llGetPos(); | ||
2859 | g_target_distance = llVecDist(g_target_position, my_pos); | ||
2860 | } | ||
2861 | </PRE | ||
2862 | ><P | ||
2863 | ></P | ||
2864 | ></DIV | ||
2865 | ></P | ||
2866 | ></DIV | ||
2867 | ><DIV | ||
2868 | CLASS="section" | ||
2869 | ><HR><H3 | ||
2870 | CLASS="section" | ||
2871 | ><A | ||
2872 | NAME="AEN139" | ||
2873 | >3.2.2. Hexadecimal Entry</A | ||
2874 | ></H3 | ||
2875 | ><P | ||
2876 | >Integers may be entered in hex form (e.g. 0xffff). For example:</P | ||
2877 | ><P | ||
2878 | ><DIV | ||
2879 | CLASS="informalexample" | ||
2880 | ><P | ||
2881 | ></P | ||
2882 | ><A | ||
2883 | NAME="AEN143" | ||
2884 | ></A | ||
2885 | ><PRE | ||
2886 | CLASS="programlisting" | ||
2887 | > integer Mask = 0xff; // Equivalent to integer Mask = 255; | ||
2888 | integer Bit = 0x0100 // Equivalent to integer Mask = 256; | ||
2889 | </PRE | ||
2890 | ><P | ||
2891 | ></P | ||
2892 | ></DIV | ||
2893 | ></P | ||
2894 | ></DIV | ||
2895 | ><DIV | ||
2896 | CLASS="section" | ||
2897 | ><HR><H3 | ||
2898 | CLASS="section" | ||
2899 | ><A | ||
2900 | NAME="AEN145" | ||
2901 | >3.2.3. Binary Arithmetic Operators</A | ||
2902 | ></H3 | ||
2903 | ><P | ||
2904 | >Binary arithmetic operators behave like a function call | ||
2905 | that accepts two parameters of the same type, and then return | ||
2906 | that type; however, the syntax is slightly different.</P | ||
2907 | ><DIV | ||
2908 | CLASS="table" | ||
2909 | ><A | ||
2910 | NAME="AEN148" | ||
2911 | ></A | ||
2912 | ><P | ||
2913 | ><B | ||
2914 | >Table 3-1. Binary Arithmetic Operators</B | ||
2915 | ></P | ||
2916 | ><TABLE | ||
2917 | BORDER="1" | ||
2918 | CLASS="CALSTABLE" | ||
2919 | ><COL><COL><THEAD | ||
2920 | ><TR | ||
2921 | ><TH | ||
2922 | >Operator</TH | ||
2923 | ><TH | ||
2924 | >Meaning</TH | ||
2925 | ></TR | ||
2926 | ></THEAD | ||
2927 | ><TBODY | ||
2928 | ><TR | ||
2929 | ><TD | ||
2930 | >+</TD | ||
2931 | ><TD | ||
2932 | >Addition</TD | ||
2933 | ></TR | ||
2934 | ><TR | ||
2935 | ><TD | ||
2936 | >-</TD | ||
2937 | ><TD | ||
2938 | >Subtraction</TD | ||
2939 | ></TR | ||
2940 | ><TR | ||
2941 | ><TD | ||
2942 | >*</TD | ||
2943 | ><TD | ||
2944 | >Multiplication</TD | ||
2945 | ></TR | ||
2946 | ><TR | ||
2947 | ><TD | ||
2948 | >/</TD | ||
2949 | ><TD | ||
2950 | >Division</TD | ||
2951 | ></TR | ||
2952 | ><TR | ||
2953 | ><TD | ||
2954 | >%</TD | ||
2955 | ><TD | ||
2956 | >Modulo (remainder)</TD | ||
2957 | ></TR | ||
2958 | ><TR | ||
2959 | ><TD | ||
2960 | >^</TD | ||
2961 | ><TD | ||
2962 | >Exclusive OR</TD | ||
2963 | ></TR | ||
2964 | ><TR | ||
2965 | ><TD | ||
2966 | ><<</TD | ||
2967 | ><TD | ||
2968 | >Shift Left</TD | ||
2969 | ></TR | ||
2970 | ><TR | ||
2971 | ><TD | ||
2972 | >>></TD | ||
2973 | ><TD | ||
2974 | >Shift Right</TD | ||
2975 | ></TR | ||
2976 | ></TBODY | ||
2977 | ></TABLE | ||
2978 | ></DIV | ||
2979 | ><P | ||
2980 | >Where noted, each type may have a special interpretation | ||
2981 | of a binary arithmetic operator. See the <A | ||
2982 | HREF="#AEN237" | ||
2983 | >lsl types</A | ||
2984 | > section for more | ||
2985 | details.</P | ||
2986 | ><P | ||
2987 | ><DIV | ||
2988 | CLASS="informalexample" | ||
2989 | ><P | ||
2990 | ></P | ||
2991 | ><A | ||
2992 | NAME="AEN183" | ||
2993 | ></A | ||
2994 | ><PRE | ||
2995 | CLASS="programlisting" | ||
2996 | > </PRE | ||
2997 | ><P | ||
2998 | ></P | ||
2999 | ></DIV | ||
3000 | ></P | ||
3001 | ></DIV | ||
3002 | ><DIV | ||
3003 | CLASS="section" | ||
3004 | ><HR><H3 | ||
3005 | CLASS="section" | ||
3006 | ><A | ||
3007 | NAME="AEN185" | ||
3008 | >3.2.4. Boolean Operators</A | ||
3009 | ></H3 | ||
3010 | ><P | ||
3011 | ></P | ||
3012 | ><DIV | ||
3013 | CLASS="table" | ||
3014 | ><A | ||
3015 | NAME="AEN188" | ||
3016 | ></A | ||
3017 | ><P | ||
3018 | ><B | ||
3019 | >Table 3-2. Boolean Operators</B | ||
3020 | ></P | ||
3021 | ><TABLE | ||
3022 | BORDER="1" | ||
3023 | CLASS="CALSTABLE" | ||
3024 | ><COL><COL><THEAD | ||
3025 | ><TR | ||
3026 | ><TH | ||
3027 | >Operator</TH | ||
3028 | ><TH | ||
3029 | >Meaning</TH | ||
3030 | ></TR | ||
3031 | ></THEAD | ||
3032 | ><TBODY | ||
3033 | ><TR | ||
3034 | ><TD | ||
3035 | ><</TD | ||
3036 | ><TD | ||
3037 | >Operator returns TRUE if the left hand side is less | ||
3038 | than the right hand side.</TD | ||
3039 | ></TR | ||
3040 | ><TR | ||
3041 | ><TD | ||
3042 | >></TD | ||
3043 | ><TD | ||
3044 | >Operator returns TRUE if the left hand side is greater | ||
3045 | than the right hand side.</TD | ||
3046 | ></TR | ||
3047 | ><TR | ||
3048 | ><TD | ||
3049 | ><=</TD | ||
3050 | ><TD | ||
3051 | >Operator returns TRUE if the left hand side is less | ||
3052 | than or equal to the right hand side.</TD | ||
3053 | ></TR | ||
3054 | ><TR | ||
3055 | ><TD | ||
3056 | >>=</TD | ||
3057 | ><TD | ||
3058 | >Operator returns TRUE if the left hand side is greater | ||
3059 | than or equal to the right hand side.</TD | ||
3060 | ></TR | ||
3061 | ><TR | ||
3062 | ><TD | ||
3063 | >&&</TD | ||
3064 | ><TD | ||
3065 | >Operator returns TRUE if the left hand side and right | ||
3066 | hand side are both true.</TD | ||
3067 | ></TR | ||
3068 | ><TR | ||
3069 | ><TD | ||
3070 | >||</TD | ||
3071 | ><TD | ||
3072 | >Operator returns TRUE if either the left hand or right | ||
3073 | hand side are true.</TD | ||
3074 | ></TR | ||
3075 | ><TR | ||
3076 | ><TD | ||
3077 | >!</TD | ||
3078 | ><TD | ||
3079 | >Unary operator returns the logical negation of the | ||
3080 | expression to the right.</TD | ||
3081 | ></TR | ||
3082 | ></TBODY | ||
3083 | ></TABLE | ||
3084 | ></DIV | ||
3085 | ></DIV | ||
3086 | ><DIV | ||
3087 | CLASS="section" | ||
3088 | ><HR><H3 | ||
3089 | CLASS="section" | ||
3090 | ><A | ||
3091 | NAME="AEN217" | ||
3092 | >3.2.5. Bitwise Operators</A | ||
3093 | ></H3 | ||
3094 | ><P | ||
3095 | ></P | ||
3096 | ><DIV | ||
3097 | CLASS="table" | ||
3098 | ><A | ||
3099 | NAME="AEN220" | ||
3100 | ></A | ||
3101 | ><P | ||
3102 | ><B | ||
3103 | >Table 3-3. Bitwise Operators</B | ||
3104 | ></P | ||
3105 | ><TABLE | ||
3106 | BORDER="1" | ||
3107 | CLASS="CALSTABLE" | ||
3108 | ><COL><COL><THEAD | ||
3109 | ><TR | ||
3110 | ><TH | ||
3111 | >Operator</TH | ||
3112 | ><TH | ||
3113 | >Meaning</TH | ||
3114 | ></TR | ||
3115 | ></THEAD | ||
3116 | ><TBODY | ||
3117 | ><TR | ||
3118 | ><TD | ||
3119 | >&</TD | ||
3120 | ><TD | ||
3121 | >Returns the bitwise and of the left and right hand | ||
3122 | side.</TD | ||
3123 | ></TR | ||
3124 | ><TR | ||
3125 | ><TD | ||
3126 | >|</TD | ||
3127 | ><TD | ||
3128 | >Returns the bitwise or of the left and right hand | ||
3129 | side.</TD | ||
3130 | ></TR | ||
3131 | ><TR | ||
3132 | ><TD | ||
3133 | >~</TD | ||
3134 | ><TD | ||
3135 | >Unary operator returns the bitwise complement of the | ||
3136 | expression to the right.</TD | ||
3137 | ></TR | ||
3138 | ></TBODY | ||
3139 | ></TABLE | ||
3140 | ></DIV | ||
3141 | ></DIV | ||
3142 | ></DIV | ||
3143 | ><DIV | ||
3144 | CLASS="section" | ||
3145 | ><HR><H2 | ||
3146 | CLASS="section" | ||
3147 | ><A | ||
3148 | NAME="AEN237" | ||
3149 | >3.3. Types</A | ||
3150 | ></H2 | ||
3151 | ><P | ||
3152 | >Variables, return values, and parameters have type | ||
3153 | information. LSL provides a small set of basic types that are used | ||
3154 | throughout the language.</P | ||
3155 | ><P | ||
3156 | ></P | ||
3157 | ><DIV | ||
3158 | CLASS="variablelist" | ||
3159 | ><P | ||
3160 | ><B | ||
3161 | >LSL Types</B | ||
3162 | ></P | ||
3163 | ><DL | ||
3164 | ><DT | ||
3165 | >integer</DT | ||
3166 | ><DD | ||
3167 | ><P | ||
3168 | >A signed, 32-bit integer value with valid range from | ||
3169 | -2147483648 to 2147483647.</P | ||
3170 | ></DD | ||
3171 | ><DT | ||
3172 | >float</DT | ||
3173 | ><DD | ||
3174 | ><P | ||
3175 | >An IEEE 32-bit floating point value with | ||
3176 | values ranging from 1.175494351E-38 to | ||
3177 | 3.402823466E+38.</P | ||
3178 | ></DD | ||
3179 | ><DT | ||
3180 | >key</DT | ||
3181 | ><DD | ||
3182 | ><P | ||
3183 | >A unique identifier that can be used to | ||
3184 | reference objects and agents in Second Life.</P | ||
3185 | ></DD | ||
3186 | ><DT | ||
3187 | >vector</DT | ||
3188 | ><DD | ||
3189 | ><P | ||
3190 | >3 floats that are used together as a single | ||
3191 | item. A vector can be used to represent a 3 dimensional | ||
3192 | position, direction, velocity, force, impulse, or a | ||
3193 | color. Each component can be accessed via '.x', '.y', and | ||
3194 | '.z'.</P | ||
3195 | ><DIV | ||
3196 | CLASS="table" | ||
3197 | ><A | ||
3198 | NAME="AEN258" | ||
3199 | ></A | ||
3200 | ><P | ||
3201 | ><B | ||
3202 | >Table 3-4. Vector Arithmetic Operators</B | ||
3203 | ></P | ||
3204 | ><TABLE | ||
3205 | BORDER="1" | ||
3206 | CLASS="CALSTABLE" | ||
3207 | ><COL><COL><THEAD | ||
3208 | ><TR | ||
3209 | ><TH | ||
3210 | >Operator</TH | ||
3211 | ><TH | ||
3212 | >Meaning</TH | ||
3213 | ></TR | ||
3214 | ></THEAD | ||
3215 | ><TBODY | ||
3216 | ><TR | ||
3217 | ><TD | ||
3218 | >+</TD | ||
3219 | ><TD | ||
3220 | >Add two vectors together</TD | ||
3221 | ></TR | ||
3222 | ><TR | ||
3223 | ><TD | ||
3224 | >-</TD | ||
3225 | ><TD | ||
3226 | >Subtract one vector from another</TD | ||
3227 | ></TR | ||
3228 | ><TR | ||
3229 | ><TD | ||
3230 | >*</TD | ||
3231 | ><TD | ||
3232 | >Vector dot product</TD | ||
3233 | ></TR | ||
3234 | ><TR | ||
3235 | ><TD | ||
3236 | >%</TD | ||
3237 | ><TD | ||
3238 | >Vector cross product</TD | ||
3239 | ></TR | ||
3240 | ></TBODY | ||
3241 | ></TABLE | ||
3242 | ></DIV | ||
3243 | ></DD | ||
3244 | ><DT | ||
3245 | >rotation</DT | ||
3246 | ><DD | ||
3247 | ><P | ||
3248 | >4 floats that are used together as a single | ||
3249 | item to represent a rotation. This data is interpreted as a | ||
3250 | quaternion. Each component can be accessed via '.x', '.y', | ||
3251 | '.z', and '.s'.</P | ||
3252 | ><DIV | ||
3253 | CLASS="table" | ||
3254 | ><A | ||
3255 | NAME="AEN282" | ||
3256 | ></A | ||
3257 | ><P | ||
3258 | ><B | ||
3259 | >Table 3-5. Rotation Arithmetic Operators</B | ||
3260 | ></P | ||
3261 | ><TABLE | ||
3262 | BORDER="1" | ||
3263 | CLASS="CALSTABLE" | ||
3264 | ><COL><COL><THEAD | ||
3265 | ><TR | ||
3266 | ><TH | ||
3267 | >Operator</TH | ||
3268 | ><TH | ||
3269 | >Meaning</TH | ||
3270 | ></TR | ||
3271 | ></THEAD | ||
3272 | ><TBODY | ||
3273 | ><TR | ||
3274 | ><TD | ||
3275 | >+</TD | ||
3276 | ><TD | ||
3277 | >Add two rotations together</TD | ||
3278 | ></TR | ||
3279 | ><TR | ||
3280 | ><TD | ||
3281 | >-</TD | ||
3282 | ><TD | ||
3283 | >Subtract one rotation from another</TD | ||
3284 | ></TR | ||
3285 | ><TR | ||
3286 | ><TD | ||
3287 | >*</TD | ||
3288 | ><TD | ||
3289 | >Rotate the first rotation by the second</TD | ||
3290 | ></TR | ||
3291 | ><TR | ||
3292 | ><TD | ||
3293 | >/</TD | ||
3294 | ><TD | ||
3295 | >Rotate the first rotation by the inverse of the second</TD | ||
3296 | ></TR | ||
3297 | ></TBODY | ||
3298 | ></TABLE | ||
3299 | ></DIV | ||
3300 | ></DD | ||
3301 | ><DT | ||
3302 | >list</DT | ||
3303 | ><DD | ||
3304 | ><P | ||
3305 | >A heterogeneous list of the other data types. Lists are | ||
3306 | created via comma separated values of the other data types | ||
3307 | enclosed by '[' and ']'.</P | ||
3308 | ><P | ||
3309 | ><DIV | ||
3310 | CLASS="informalexample" | ||
3311 | ><P | ||
3312 | ></P | ||
3313 | ><A | ||
3314 | NAME="AEN307" | ||
3315 | ></A | ||
3316 | ><PRE | ||
3317 | CLASS="programlisting" | ||
3318 | > string StringVar = "Hello, Carbon Unit"; | ||
3319 | list MyList = [ 1234, ZERO_ROTATION, StringVar ]; | ||
3320 | </PRE | ||
3321 | ><P | ||
3322 | ></P | ||
3323 | ></DIV | ||
3324 | > | ||
3325 | Yields the list: <SAMP | ||
3326 | CLASS="computeroutput" | ||
3327 | >[ 1234, <0,0,0,1>, "Hello, | ||
3328 | Carbon Unit" ]</SAMP | ||
3329 | > | ||
3330 | </P | ||
3331 | ><P | ||
3332 | >Lists can be combined with other lists. For example: | ||
3333 | <DIV | ||
3334 | CLASS="informalexample" | ||
3335 | ><P | ||
3336 | ></P | ||
3337 | ><A | ||
3338 | NAME="AEN311" | ||
3339 | ></A | ||
3340 | ><PRE | ||
3341 | CLASS="programlisting" | ||
3342 | > MyList = 3.14159 + MyList; | ||
3343 | </PRE | ||
3344 | ><P | ||
3345 | ></P | ||
3346 | ></DIV | ||
3347 | > | ||
3348 | Yields the list: <SAMP | ||
3349 | CLASS="computeroutput" | ||
3350 | >[ 3.14159, 1234, <0,0,0,1>, | ||
3351 | "Hello, Carbon Unit" ]</SAMP | ||
3352 | > | ||
3353 | And similarly, | ||
3354 | <DIV | ||
3355 | CLASS="informalexample" | ||
3356 | ><P | ||
3357 | ></P | ||
3358 | ><A | ||
3359 | NAME="AEN314" | ||
3360 | ></A | ||
3361 | ><PRE | ||
3362 | CLASS="programlisting" | ||
3363 | > MyList = MyList + MyList; | ||
3364 | </PRE | ||
3365 | ><P | ||
3366 | ></P | ||
3367 | ></DIV | ||
3368 | > | ||
3369 | Yields: <SAMP | ||
3370 | CLASS="computeroutput" | ||
3371 | >[ 3.14159, 1234, <0,0,0,1>, "Hello, | ||
3372 | Carbon Unit", 3.14159, 1234, <0,0,0,1>, "Hello, Carbon Unit" | ||
3373 | ]</SAMP | ||
3374 | > | ||
3375 | </P | ||
3376 | ><P | ||
3377 | >Library functions exist used to copy data from lists, | ||
3378 | sort lists, copy/remove sublists.</P | ||
3379 | ></DD | ||
3380 | ></DL | ||
3381 | ></DIV | ||
3382 | ><DIV | ||
3383 | CLASS="section" | ||
3384 | ><HR><H3 | ||
3385 | CLASS="section" | ||
3386 | ><A | ||
3387 | NAME="AEN318" | ||
3388 | >3.3.1. Type Conversion</A | ||
3389 | ></H3 | ||
3390 | ><P | ||
3391 | >Type conversion can either occur implicitly or explicitly. | ||
3392 | Explicit type casts are accomplished using C syntax: | ||
3393 | <DIV | ||
3394 | CLASS="informalexample" | ||
3395 | ><P | ||
3396 | ></P | ||
3397 | ><A | ||
3398 | NAME="AEN321" | ||
3399 | ></A | ||
3400 | ><PRE | ||
3401 | CLASS="programlisting" | ||
3402 | > float foo_float = 1.0; | ||
3403 | integer foo_int = (integer)foo_float; | ||
3404 | </PRE | ||
3405 | ><P | ||
3406 | ></P | ||
3407 | ></DIV | ||
3408 | > | ||
3409 | </P | ||
3410 | ><DIV | ||
3411 | CLASS="section" | ||
3412 | ><HR><H4 | ||
3413 | CLASS="section" | ||
3414 | ><A | ||
3415 | NAME="AEN323" | ||
3416 | >3.3.1.1. Implicit Casting</A | ||
3417 | ></H4 | ||
3418 | ><P | ||
3419 | >LSL only supports two implicit type casts: integer to | ||
3420 | float and string to key. Thus, any place you see a float | ||
3421 | specified you can supply an integer, and any place you see a | ||
3422 | key specified, you can supply a string.</P | ||
3423 | ></DIV | ||
3424 | ><DIV | ||
3425 | CLASS="section" | ||
3426 | ><HR><H4 | ||
3427 | CLASS="section" | ||
3428 | ><A | ||
3429 | NAME="AEN326" | ||
3430 | >3.3.1.2. Explicit Casting</A | ||
3431 | ></H4 | ||
3432 | ><P | ||
3433 | >LSL supports the following explicit casts: | ||
3434 | <P | ||
3435 | ></P | ||
3436 | ><UL | ||
3437 | ><LI | ||
3438 | STYLE="list-style-type: opencircle" | ||
3439 | ><P | ||
3440 | >Integer to String</P | ||
3441 | ></LI | ||
3442 | ><LI | ||
3443 | STYLE="list-style-type: opencircle" | ||
3444 | ><P | ||
3445 | >Float to Integer</P | ||
3446 | ></LI | ||
3447 | ><LI | ||
3448 | STYLE="list-style-type: opencircle" | ||
3449 | ><P | ||
3450 | >Float to String</P | ||
3451 | ></LI | ||
3452 | ><LI | ||
3453 | STYLE="list-style-type: opencircle" | ||
3454 | ><P | ||
3455 | >Vector to String</P | ||
3456 | ></LI | ||
3457 | ><LI | ||
3458 | STYLE="list-style-type: opencircle" | ||
3459 | ><P | ||
3460 | >Rotation to String</P | ||
3461 | ></LI | ||
3462 | ><LI | ||
3463 | STYLE="list-style-type: opencircle" | ||
3464 | ><P | ||
3465 | >Integer to List</P | ||
3466 | ></LI | ||
3467 | ><LI | ||
3468 | STYLE="list-style-type: opencircle" | ||
3469 | ><P | ||
3470 | >Float to List</P | ||
3471 | ></LI | ||
3472 | ><LI | ||
3473 | STYLE="list-style-type: opencircle" | ||
3474 | ><P | ||
3475 | >Key to List</P | ||
3476 | ></LI | ||
3477 | ><LI | ||
3478 | STYLE="list-style-type: opencircle" | ||
3479 | ><P | ||
3480 | >String to List</P | ||
3481 | ></LI | ||
3482 | ><LI | ||
3483 | STYLE="list-style-type: opencircle" | ||
3484 | ><P | ||
3485 | >Vector to List</P | ||
3486 | ></LI | ||
3487 | ><LI | ||
3488 | STYLE="list-style-type: opencircle" | ||
3489 | ><P | ||
3490 | >Rotation to List</P | ||
3491 | ></LI | ||
3492 | ><LI | ||
3493 | STYLE="list-style-type: opencircle" | ||
3494 | ><P | ||
3495 | >String to Integer</P | ||
3496 | ></LI | ||
3497 | ><LI | ||
3498 | STYLE="list-style-type: opencircle" | ||
3499 | ><P | ||
3500 | >String to Float</P | ||
3501 | ></LI | ||
3502 | ><LI | ||
3503 | STYLE="list-style-type: opencircle" | ||
3504 | ><P | ||
3505 | >String to Vector</P | ||
3506 | ></LI | ||
3507 | ><LI | ||
3508 | STYLE="list-style-type: opencircle" | ||
3509 | ><P | ||
3510 | >String to Rotation</P | ||
3511 | ></LI | ||
3512 | ></UL | ||
3513 | > | ||
3514 | </P | ||
3515 | ></DIV | ||
3516 | ></DIV | ||
3517 | ></DIV | ||
3518 | ><DIV | ||
3519 | CLASS="section" | ||
3520 | ><HR><H2 | ||
3521 | CLASS="section" | ||
3522 | ><A | ||
3523 | NAME="AEN360" | ||
3524 | >3.4. Global Functions</A | ||
3525 | ></H2 | ||
3526 | ><P | ||
3527 | >Global functions are also declared much like Java/C, with | ||
3528 | the exception that no 'void' return value exists. Instead, if no | ||
3529 | return value is needed, just don't specify one: | ||
3530 | |||
3531 | <DIV | ||
3532 | CLASS="informalexample" | ||
3533 | ><P | ||
3534 | ></P | ||
3535 | ><A | ||
3536 | NAME="AEN363" | ||
3537 | ></A | ||
3538 | ><PRE | ||
3539 | CLASS="programlisting" | ||
3540 | > make_physical_and_spin(vector torque) | ||
3541 | { | ||
3542 | // double the torque | ||
3543 | vector double_torque = 2.0*torque; | ||
3544 | llSetStatus(STATUS_PHYSICS, TRUE); | ||
3545 | llApplyTorque(double_torque); | ||
3546 | } | ||
3547 | </PRE | ||
3548 | ><P | ||
3549 | ></P | ||
3550 | ></DIV | ||
3551 | ></P | ||
3552 | ></DIV | ||
3553 | ><DIV | ||
3554 | CLASS="section" | ||
3555 | ><HR><H2 | ||
3556 | CLASS="section" | ||
3557 | ><A | ||
3558 | NAME="AEN365" | ||
3559 | >3.5. Global Variables</A | ||
3560 | ></H2 | ||
3561 | ><P | ||
3562 | >Global variables and functions are accessible from anywhere | ||
3563 | in the file. Global variables are declared much like Java or C, | ||
3564 | although only one declaration may be made per line: | ||
3565 | <DIV | ||
3566 | CLASS="informalexample" | ||
3567 | ><P | ||
3568 | ></P | ||
3569 | ><A | ||
3570 | NAME="AEN368" | ||
3571 | ></A | ||
3572 | ><PRE | ||
3573 | CLASS="programlisting" | ||
3574 | > vector gStartPosition; | ||
3575 | </PRE | ||
3576 | ><P | ||
3577 | ></P | ||
3578 | ></DIV | ||
3579 | ></P | ||
3580 | ><P | ||
3581 | >Global variables may also be initialized if desired, | ||
3582 | although uninitialized global and local variables are initialized | ||
3583 | to legal zero values: | ||
3584 | <DIV | ||
3585 | CLASS="informalexample" | ||
3586 | ><P | ||
3587 | ></P | ||
3588 | ><A | ||
3589 | NAME="AEN371" | ||
3590 | ></A | ||
3591 | ><PRE | ||
3592 | CLASS="programlisting" | ||
3593 | > vector gStartPosition = <10.0,10.0,10.0> | ||
3594 | </PRE | ||
3595 | ><P | ||
3596 | ></P | ||
3597 | ></DIV | ||
3598 | ></P | ||
3599 | ></DIV | ||
3600 | ><DIV | ||
3601 | CLASS="section" | ||
3602 | ><HR><H2 | ||
3603 | CLASS="section" | ||
3604 | ><A | ||
3605 | NAME="AEN373" | ||
3606 | >3.6. Local Variables</A | ||
3607 | ></H2 | ||
3608 | ><P | ||
3609 | >Local variables are scoped below their declaration within | ||
3610 | the block of code they are declared in and may be declared within | ||
3611 | any block of code. Thus the following code is legal and will work | ||
3612 | like C: | ||
3613 | <DIV | ||
3614 | CLASS="informalexample" | ||
3615 | ><P | ||
3616 | ></P | ||
3617 | ><A | ||
3618 | NAME="AEN376" | ||
3619 | ></A | ||
3620 | ><PRE | ||
3621 | CLASS="programlisting" | ||
3622 | > integer test_function() | ||
3623 | { | ||
3624 | // Test vector that we can use anywhere in the function | ||
3625 | vector test = <1,2,3>; | ||
3626 | integer j; | ||
3627 | for (j = 0; j < 10; j++) | ||
3628 | { | ||
3629 | // This vector is a different variable than the one declared above | ||
3630 | // This IS NOT good coding practice | ||
3631 | vector test = <j, j, j>; | ||
3632 | } | ||
3633 | // this test fails | ||
3634 | if (test == <9,9,9>) | ||
3635 | { | ||
3636 | // never reached | ||
3637 | } | ||
3638 | } | ||
3639 | </PRE | ||
3640 | ><P | ||
3641 | ></P | ||
3642 | ></DIV | ||
3643 | ></P | ||
3644 | ></DIV | ||
3645 | ></DIV | ||
3646 | ><DIV | ||
3647 | CLASS="chapter" | ||
3648 | ><HR><H1 | ||
3649 | ><A | ||
3650 | NAME="AEN378" | ||
3651 | ></A | ||
3652 | >Chapter 4. Flow Control</H1 | ||
3653 | ><P | ||
3654 | >LSL comes with a complete complement of constructs meant to | ||
3655 | deal with conditional processing, looping, as well as simply jumping | ||
3656 | to a different point in the script.</P | ||
3657 | ><DIV | ||
3658 | CLASS="section" | ||
3659 | ><HR><H2 | ||
3660 | CLASS="section" | ||
3661 | ><A | ||
3662 | NAME="AEN381" | ||
3663 | >4.1. Conditional Statements</A | ||
3664 | ></H2 | ||
3665 | ><P | ||
3666 | >The 'if' statement operates and has the | ||
3667 | same syntax as the Java/C version.</P | ||
3668 | ><P | ||
3669 | ><DIV | ||
3670 | CLASS="informalexample" | ||
3671 | ><P | ||
3672 | ></P | ||
3673 | ><A | ||
3674 | NAME="AEN385" | ||
3675 | ></A | ||
3676 | ><PRE | ||
3677 | CLASS="programlisting" | ||
3678 | > check_message(string message) | ||
3679 | { | ||
3680 | if(message == "open") | ||
3681 | { | ||
3682 | open(); | ||
3683 | } | ||
3684 | else if(message == "close") | ||
3685 | { | ||
3686 | close(); | ||
3687 | } | ||
3688 | else | ||
3689 | { | ||
3690 | llSay(0, "Unknown command: " + message); | ||
3691 | } | ||
3692 | } | ||
3693 | </PRE | ||
3694 | ><P | ||
3695 | ></P | ||
3696 | ></DIV | ||
3697 | ></P | ||
3698 | ><P | ||
3699 | >The statements between the open and close curly brace are | ||
3700 | performed if the conditional inside the parentheses evaluates to a | ||
3701 | non-zero integer. Once a conditional is determined to be true | ||
3702 | (non-zero), no further processing of 'else' conditionals will be | ||
3703 | considered. The <A | ||
3704 | HREF="#AEN6070" | ||
3705 | >NULL_KEY</A | ||
3706 | > constant | ||
3707 | is counted as FALSE by conditional expressions.</P | ||
3708 | ><P | ||
3709 | >There can be zero or more 'else if' statements, and an | ||
3710 | optional final 'else' to handle the case when none of the if | ||
3711 | statements evaluate to a non-zero integer.</P | ||
3712 | ><P | ||
3713 | >The usual set of integer arithmetic and comparison operators | ||
3714 | are available.</P | ||
3715 | ><P | ||
3716 | ><DIV | ||
3717 | CLASS="informalexample" | ||
3718 | ><P | ||
3719 | ></P | ||
3720 | ><A | ||
3721 | NAME="AEN392" | ||
3722 | ></A | ||
3723 | ><PRE | ||
3724 | CLASS="programlisting" | ||
3725 | > // a function that accepts some information about its environment and | ||
3726 | // determines the 'best' next step. This kind of code might be | ||
3727 | // part of a simple box meant to move close to an agent and attach to | ||
3728 | // them once near. This code sample relies on the standard linden | ||
3729 | // library functions as well as two other methods not defined here. | ||
3730 | assess_next_step(integer perm, integer attached, integer balance, float dist) | ||
3731 | { | ||
3732 | string msg; | ||
3733 | if(!attached) | ||
3734 | { | ||
3735 | if((perm & PERMISSION_ATTACH) && (dist < 10.0)) | ||
3736 | { | ||
3737 | attach(); | ||
3738 | } | ||
3739 | else if((dist > 10.0) || ((dist > 20.0) && (balance > 1000))) | ||
3740 | { | ||
3741 | move_closer(); | ||
3742 | } | ||
3743 | else | ||
3744 | { | ||
3745 | llRequestPermissions(llGetOwner(), PERMISSION_ATTACH); | ||
3746 | } | ||
3747 | } | ||
3748 | } | ||
3749 | </PRE | ||
3750 | ><P | ||
3751 | ></P | ||
3752 | ></DIV | ||
3753 | ></P | ||
3754 | ></DIV | ||
3755 | ><DIV | ||
3756 | CLASS="section" | ||
3757 | ><HR><H2 | ||
3758 | CLASS="section" | ||
3759 | ><A | ||
3760 | NAME="AEN394" | ||
3761 | >4.2. Loop Constructs</A | ||
3762 | ></H2 | ||
3763 | ><P | ||
3764 | >Loops are a basic building block of most useful programming | ||
3765 | languages, and LSL offers the same loop constructs as found in | ||
3766 | Java or C.</P | ||
3767 | ><DIV | ||
3768 | CLASS="section" | ||
3769 | ><HR><H3 | ||
3770 | CLASS="section" | ||
3771 | ><A | ||
3772 | NAME="AEN397" | ||
3773 | >4.2.1. for loop</A | ||
3774 | ></H3 | ||
3775 | ><P | ||
3776 | >A for loop is most useful for when you know how many times | ||
3777 | you need to iterate over an operation. Just like a Java or C for | ||
3778 | loop, the parentheses have three parts, the initializer, the | ||
3779 | continuation condition, and the increment. The loop continues | ||
3780 | while the middle term evaluates to true, and the increment step | ||
3781 | is performed at the end of every loop.</P | ||
3782 | ><P | ||
3783 | ><DIV | ||
3784 | CLASS="informalexample" | ||
3785 | ><P | ||
3786 | ></P | ||
3787 | ><A | ||
3788 | NAME="AEN401" | ||
3789 | ></A | ||
3790 | ><PRE | ||
3791 | CLASS="programlisting" | ||
3792 | > // move a non-physical block smoothly upward (positive z) the total | ||
3793 | // distance specified divided into steps discrete moves. | ||
3794 | move_up(float distance, integer steps) | ||
3795 | { | ||
3796 | float step_distance = distance / (float)steps; | ||
3797 | vector offset = <0.0, 0.0, step_distance>; | ||
3798 | vector base_pos = llGetPos(); | ||
3799 | integer i; | ||
3800 | for(i = 0; i <= steps; ++i) | ||
3801 | { | ||
3802 | llSetPos(base_pos + i * offset); | ||
3803 | llSleep(0.1); | ||
3804 | } | ||
3805 | } | ||
3806 | </PRE | ||
3807 | ><P | ||
3808 | ></P | ||
3809 | ></DIV | ||
3810 | ></P | ||
3811 | ></DIV | ||
3812 | ><DIV | ||
3813 | CLASS="section" | ||
3814 | ><HR><H3 | ||
3815 | CLASS="section" | ||
3816 | ><A | ||
3817 | NAME="AEN403" | ||
3818 | >4.2.2. do-while loop</A | ||
3819 | ></H3 | ||
3820 | ><P | ||
3821 | >The do-while loop construct is most useful when you are | ||
3822 | sure that you want to perform an operation at least once, but | ||
3823 | you are not sure how many times you want to loop. The syntax is | ||
3824 | the same as you would find in a Java or C program. A simple | ||
3825 | English translation would be 'do the code inside the curly braces | ||
3826 | and continue doing it if the statement after the while is | ||
3827 | true.</P | ||
3828 | ><P | ||
3829 | ><DIV | ||
3830 | CLASS="informalexample" | ||
3831 | ><P | ||
3832 | ></P | ||
3833 | ><A | ||
3834 | NAME="AEN407" | ||
3835 | ></A | ||
3836 | ><PRE | ||
3837 | CLASS="programlisting" | ||
3838 | > // output the name of all inventory items attached to this object | ||
3839 | talk_about_inventory(integer type) | ||
3840 | { | ||
3841 | string name; | ||
3842 | integer i = 0; | ||
3843 | integer continue = TRUE; | ||
3844 | do | ||
3845 | { | ||
3846 | name = llGetInventoryName(type, i); | ||
3847 | if(llStringLength(name) > 0) | ||
3848 | { | ||
3849 | llSay(0, "Inventory " + (string)i + ": " + name); | ||
3850 | } | ||
3851 | else | ||
3852 | { | ||
3853 | llSay(0, "No more inventory items"); | ||
3854 | continue = FALSE; | ||
3855 | } | ||
3856 | i++; | ||
3857 | } while(continue); | ||
3858 | } | ||
3859 | </PRE | ||
3860 | ><P | ||
3861 | ></P | ||
3862 | ></DIV | ||
3863 | ></P | ||
3864 | ></DIV | ||
3865 | ><DIV | ||
3866 | CLASS="section" | ||
3867 | ><HR><H3 | ||
3868 | CLASS="section" | ||
3869 | ><A | ||
3870 | NAME="AEN409" | ||
3871 | >4.2.3. while loop</A | ||
3872 | ></H3 | ||
3873 | ><P | ||
3874 | >The while loop behaves similarly to the do-while loop, | ||
3875 | except it allows you to exit the loop without doing a single | ||
3876 | iteration inside.</P | ||
3877 | ><P | ||
3878 | ><DIV | ||
3879 | CLASS="informalexample" | ||
3880 | ><P | ||
3881 | ></P | ||
3882 | ><A | ||
3883 | NAME="AEN413" | ||
3884 | ></A | ||
3885 | ><PRE | ||
3886 | CLASS="programlisting" | ||
3887 | > mention_inventory_type(integer type) | ||
3888 | { | ||
3889 | integer i = llGetInventoryNumber(type); | ||
3890 | while(i--) | ||
3891 | { | ||
3892 | llSay(0, "item: " + llGetInventory(i)); | ||
3893 | } | ||
3894 | } | ||
3895 | </PRE | ||
3896 | ><P | ||
3897 | ></P | ||
3898 | ></DIV | ||
3899 | ></P | ||
3900 | ></DIV | ||
3901 | ></DIV | ||
3902 | ><DIV | ||
3903 | CLASS="section" | ||
3904 | ><HR><H2 | ||
3905 | CLASS="section" | ||
3906 | ><A | ||
3907 | NAME="AEN415" | ||
3908 | >4.3. Jumps</A | ||
3909 | ></H2 | ||
3910 | ><P | ||
3911 | >A jump is used to move the running script to a new point | ||
3912 | inside of a function or event handler. You cannot jump into other | ||
3913 | functions or event handlers. Usually, you will want to use a jump | ||
3914 | for in situations where the if..else statements would become too | ||
3915 | cumbersome. For example, you may want to check several | ||
3916 | preconditions, and exit if any of them are not met.</P | ||
3917 | ><P | ||
3918 | ><DIV | ||
3919 | CLASS="informalexample" | ||
3920 | ><P | ||
3921 | ></P | ||
3922 | ><A | ||
3923 | NAME="AEN419" | ||
3924 | ></A | ||
3925 | ><PRE | ||
3926 | CLASS="programlisting" | ||
3927 | > attach_if_ready(vector target_pos) | ||
3928 | { | ||
3929 | // make sure we have permission | ||
3930 | integer perm = llGetPerm(); | ||
3931 | if(!(perm & PERMISSION_ATTACH)) | ||
3932 | { | ||
3933 | jump early_exit; | ||
3934 | } | ||
3935 | |||
3936 | // make sure we're 10 or less meters away | ||
3937 | vector pos = llGetPos() | ||
3938 | float dist = llVecDist(pos, target_pos); | ||
3939 | if(dist > 10.0) | ||
3940 | { | ||
3941 | jump early_exit; | ||
3942 | } | ||
3943 | |||
3944 | // make sure we're roughly pointed toward the target. | ||
3945 | // the calculation of max_cos_theta could be precomputed | ||
3946 | // as a constant, but is manually computed here to | ||
3947 | // illustrate the math. | ||
3948 | float max_cos_theta = llCos(PI / 4.0); | ||
3949 | vector toward_target = llVecNorm(target_pos - pos); | ||
3950 | rotation rot = llGetRot(); | ||
3951 | vector fwd = llRot2Fwd(rot); | ||
3952 | float cos_theta = toward_target * fwd; | ||
3953 | if(cos_theta > max_cos_theta) | ||
3954 | { | ||
3955 | jump early_exit; | ||
3956 | } | ||
3957 | |||
3958 | // at this point, we've done all the checks. | ||
3959 | attach(); | ||
3960 | |||
3961 | @early_exit; | ||
3962 | } | ||
3963 | </PRE | ||
3964 | ><P | ||
3965 | ></P | ||
3966 | ></DIV | ||
3967 | ></P | ||
3968 | ></DIV | ||
3969 | ><DIV | ||
3970 | CLASS="section" | ||
3971 | ><HR><H2 | ||
3972 | CLASS="section" | ||
3973 | ><A | ||
3974 | NAME="AEN421" | ||
3975 | >4.4. State Change</A | ||
3976 | ></H2 | ||
3977 | ><P | ||
3978 | >State change allow you to move through the lsl virtual | ||
3979 | machine's flexible state machine by transitioning your script to | ||
3980 | and from user defined states and the default state. You can define | ||
3981 | your own script state by placing the keyword 'state' before its | ||
3982 | name and enclosing the event handlers with open and close curly | ||
3983 | braces ('{' and '}'.) You can invoke the transition to a new state | ||
3984 | by calling it with the syntax: 'state <statename>'.</P | ||
3985 | ><P | ||
3986 | ><DIV | ||
3987 | CLASS="informalexample" | ||
3988 | ><P | ||
3989 | ></P | ||
3990 | ><A | ||
3991 | NAME="AEN425" | ||
3992 | ></A | ||
3993 | ><PRE | ||
3994 | CLASS="programlisting" | ||
3995 | > default | ||
3996 | { | ||
3997 | state_entry() | ||
3998 | { | ||
3999 | llSay(0, "I am in the default state"); | ||
4000 | llSetTimer(1.0); | ||
4001 | } | ||
4002 | |||
4003 | timer() | ||
4004 | { | ||
4005 | state SpinState; | ||
4006 | } | ||
4007 | } | ||
4008 | |||
4009 | state SpinState | ||
4010 | { | ||
4011 | state_entry() | ||
4012 | { | ||
4013 | llSay(0, "I am in SpinState!"); | ||
4014 | llTargetOmega(<0,0,1>, 4, 1.0); | ||
4015 | llSetTimer(2.0); | ||
4016 | } | ||
4017 | |||
4018 | timer() | ||
4019 | { | ||
4020 | state default; | ||
4021 | } | ||
4022 | |||
4023 | state_exit() | ||
4024 | { | ||
4025 | llTargetOmega(<0,0,1>, 0, 0.0); | ||
4026 | } | ||
4027 | } | ||
4028 | </PRE | ||
4029 | ><P | ||
4030 | ></P | ||
4031 | ></DIV | ||
4032 | ></P | ||
4033 | ></DIV | ||
4034 | ></DIV | ||
4035 | ><DIV | ||
4036 | CLASS="chapter" | ||
4037 | ><HR><H1 | ||
4038 | ><A | ||
4039 | NAME="AEN427" | ||
4040 | ></A | ||
4041 | >Chapter 5. States</H1 | ||
4042 | ><P | ||
4043 | >All scripts must have a 'default' state, which is the first | ||
4044 | state entered when the script starts. States contain event handlers | ||
4045 | that are triggered by the LSL virtual machine. All states must | ||
4046 | supply at least one event handler - it's not really a state without | ||
4047 | one.</P | ||
4048 | ><P | ||
4049 | >When state changes, all callback settings are retained and all | ||
4050 | pending events are cleared.</P | ||
4051 | ><DIV | ||
4052 | CLASS="section" | ||
4053 | ><HR><H2 | ||
4054 | CLASS="section" | ||
4055 | ><A | ||
4056 | NAME="AEN431" | ||
4057 | >5.1. state_entry()</A | ||
4058 | ></H2 | ||
4059 | ><P | ||
4060 | >The <A | ||
4061 | HREF="#AEN5195" | ||
4062 | >state_entry</A | ||
4063 | > | ||
4064 | event occurs whenever a new state is | ||
4065 | entered, including program start, and is always the first event | ||
4066 | handled. No data is passed to this event handler.</P | ||
4067 | ><P | ||
4068 | >You will usually want to set callbacks for things such as | ||
4069 | timers and sensor in the state_entry() callback of the state to | ||
4070 | put your object into a useful condition for that state.</P | ||
4071 | ><P | ||
4072 | >Warning: It is a common mistake to assume that the state_entry() | ||
4073 | callback is called when you rez an object out of your | ||
4074 | inventory. When you derez an object into your inventory the | ||
4075 | current state of the script is saved, so there will not be a | ||
4076 | call to state_entry() during the rez. If you need to provide | ||
4077 | startup code every time an object is created, you should create | ||
4078 | a global function and call it from both state_entry() and the | ||
4079 | on_rez() callbacks.</P | ||
4080 | ><P | ||
4081 | ><DIV | ||
4082 | CLASS="informalexample" | ||
4083 | ><P | ||
4084 | ></P | ||
4085 | ><A | ||
4086 | NAME="AEN438" | ||
4087 | ></A | ||
4088 | ><PRE | ||
4089 | CLASS="programlisting" | ||
4090 | > // global initialization function. | ||
4091 | init() | ||
4092 | { | ||
4093 | // Set up a listen callback for whoever owns this object. | ||
4094 | key owner = llGetOwner(); | ||
4095 | llListen(0, "", owner, ""); | ||
4096 | } | ||
4097 | |||
4098 | default | ||
4099 | { | ||
4100 | state_entry() | ||
4101 | { | ||
4102 | init(); | ||
4103 | } | ||
4104 | |||
4105 | on_rez(integer start_param) | ||
4106 | { | ||
4107 | init(); | ||
4108 | } | ||
4109 | |||
4110 | listen(integer channel, string name, key id, string message) | ||
4111 | { | ||
4112 | llSay(0, "Hi " + name + "! You own me."); | ||
4113 | } | ||
4114 | } | ||
4115 | </PRE | ||
4116 | ><P | ||
4117 | ></P | ||
4118 | ></DIV | ||
4119 | ></P | ||
4120 | ></DIV | ||
4121 | ><DIV | ||
4122 | CLASS="section" | ||
4123 | ><HR><H2 | ||
4124 | CLASS="section" | ||
4125 | ><A | ||
4126 | NAME="AEN440" | ||
4127 | >5.2. state_exit()</A | ||
4128 | ></H2 | ||
4129 | ><P | ||
4130 | >You will want to provide a <A | ||
4131 | HREF="#AEN5203" | ||
4132 | > state_exit()</A | ||
4133 | > if you need to clean | ||
4134 | up any events that you have requested in the current state, but do | ||
4135 | not expect in the next state.</P | ||
4136 | ><P | ||
4137 | ><DIV | ||
4138 | CLASS="informalexample" | ||
4139 | ><P | ||
4140 | ></P | ||
4141 | ><A | ||
4142 | NAME="AEN445" | ||
4143 | ></A | ||
4144 | ><PRE | ||
4145 | CLASS="programlisting" | ||
4146 | > default | ||
4147 | { | ||
4148 | state_entry() | ||
4149 | { | ||
4150 | state TimerState; | ||
4151 | } | ||
4152 | } | ||
4153 | |||
4154 | state TimerState | ||
4155 | { | ||
4156 | state_entry() | ||
4157 | { | ||
4158 | // set a timer event for 5 seconds in the future. | ||
4159 | llSetTimerEvent(5.0); | ||
4160 | } | ||
4161 | |||
4162 | timer() | ||
4163 | { | ||
4164 | llSay(0, "timer"); | ||
4165 | state ListenState; | ||
4166 | } | ||
4167 | |||
4168 | state_exit() | ||
4169 | { | ||
4170 | // turn off future timer events. | ||
4171 | llSetTimerEvent(0.0); | ||
4172 | } | ||
4173 | } | ||
4174 | |||
4175 | integer g_listen_control; | ||
4176 | |||
4177 | state ListenState | ||
4178 | { | ||
4179 | state_entry() | ||
4180 | { | ||
4181 | // listen for anything on the public channel | ||
4182 | g_listen_control = llListen(0, "", NULL_KEY, ""); | ||
4183 | } | ||
4184 | |||
4185 | listen(integer channel, string name, key id, string message) | ||
4186 | { | ||
4187 | llSay(0, "listen"); | ||
4188 | state TimerState; | ||
4189 | } | ||
4190 | |||
4191 | state_exit() | ||
4192 | { | ||
4193 | // turn off the listener | ||
4194 | llListenRemove(g_listen_control); | ||
4195 | } | ||
4196 | } | ||
4197 | </PRE | ||
4198 | ><P | ||
4199 | ></P | ||
4200 | ></DIV | ||
4201 | ></P | ||
4202 | ><P | ||
4203 | >The <A | ||
4204 | HREF="#AEN5203" | ||
4205 | >state_exit()</A | ||
4206 | > | ||
4207 | handler is not called when an object is | ||
4208 | being deleted - all callbacks, handlers, sounds, etc, will be | ||
4209 | cleaned up automatically for you.</P | ||
4210 | ></DIV | ||
4211 | ><DIV | ||
4212 | CLASS="section" | ||
4213 | ><HR><H2 | ||
4214 | CLASS="section" | ||
4215 | ><A | ||
4216 | NAME="AEN449" | ||
4217 | >5.3. States vs. Global variables</A | ||
4218 | ></H2 | ||
4219 | ><P | ||
4220 | >A state and a set of global variables can serve the same | ||
4221 | purpose, and each can be expressed in terms of the other. In | ||
4222 | general, you should prefer the use of states over global variables | ||
4223 | since states allow you to immediately assume script state without | ||
4224 | making comparisons. The less comparisons a script makes, the more | ||
4225 | regular code statements it can run.</P | ||
4226 | ></DIV | ||
4227 | ></DIV | ||
4228 | ><DIV | ||
4229 | CLASS="chapter" | ||
4230 | ><HR><H1 | ||
4231 | ><A | ||
4232 | NAME="AEN452" | ||
4233 | ></A | ||
4234 | >Chapter 6. Math</H1 | ||
4235 | ><DIV | ||
4236 | CLASS="section" | ||
4237 | ><H2 | ||
4238 | CLASS="section" | ||
4239 | ><A | ||
4240 | NAME="AEN454" | ||
4241 | >6.1. Tables of Functions</A | ||
4242 | ></H2 | ||
4243 | ><DIV | ||
4244 | CLASS="table" | ||
4245 | ><A | ||
4246 | NAME="AEN456" | ||
4247 | ></A | ||
4248 | ><P | ||
4249 | ><B | ||
4250 | >Table 6-1. Trigonometry Functions</B | ||
4251 | ></P | ||
4252 | ><TABLE | ||
4253 | BORDER="1" | ||
4254 | CLASS="CALSTABLE" | ||
4255 | ><COL><THEAD | ||
4256 | ><TR | ||
4257 | ><TH | ||
4258 | >Function</TH | ||
4259 | ></TR | ||
4260 | ></THEAD | ||
4261 | ><TBODY | ||
4262 | ><TR | ||
4263 | ><TD | ||
4264 | ><A | ||
4265 | HREF="#AEN1002" | ||
4266 | >llAbs</A | ||
4267 | ></TD | ||
4268 | ></TR | ||
4269 | ><TR | ||
4270 | ><TD | ||
4271 | ><A | ||
4272 | HREF="#AEN1012" | ||
4273 | >llAcos</A | ||
4274 | ></TD | ||
4275 | ></TR | ||
4276 | ><TR | ||
4277 | ><TD | ||
4278 | ><A | ||
4279 | HREF="#AEN1096" | ||
4280 | >llAsin</A | ||
4281 | ></TD | ||
4282 | ></TR | ||
4283 | ><TR | ||
4284 | ><TD | ||
4285 | ><A | ||
4286 | HREF="#AEN1106" | ||
4287 | >llAtan2</A | ||
4288 | ></TD | ||
4289 | ></TR | ||
4290 | ><TR | ||
4291 | ><TD | ||
4292 | ><A | ||
4293 | HREF="#AEN1212" | ||
4294 | >llCeil</A | ||
4295 | ></TD | ||
4296 | ></TR | ||
4297 | ><TR | ||
4298 | ><TD | ||
4299 | ><A | ||
4300 | HREF="#AEN1282" | ||
4301 | >llCos</A | ||
4302 | ></TD | ||
4303 | ></TR | ||
4304 | ><TR | ||
4305 | ><TD | ||
4306 | ><A | ||
4307 | HREF="#AEN1559" | ||
4308 | >llFabs</A | ||
4309 | ></TD | ||
4310 | ></TR | ||
4311 | ><TR | ||
4312 | ><TD | ||
4313 | ><A | ||
4314 | HREF="#AEN1569" | ||
4315 | >llFloor</A | ||
4316 | ></TD | ||
4317 | ></TR | ||
4318 | ><TR | ||
4319 | ><TD | ||
4320 | ><A | ||
4321 | HREF="#AEN1579" | ||
4322 | >llFrand</A | ||
4323 | ></TD | ||
4324 | ></TR | ||
4325 | ><TR | ||
4326 | ><TD | ||
4327 | ><A | ||
4328 | HREF="#AEN3220" | ||
4329 | >llPow</A | ||
4330 | ></TD | ||
4331 | ></TR | ||
4332 | ><TR | ||
4333 | ><TD | ||
4334 | ><A | ||
4335 | HREF="#AEN3618" | ||
4336 | >llRound</A | ||
4337 | ></TD | ||
4338 | ></TR | ||
4339 | ><TR | ||
4340 | ><TD | ||
4341 | ><A | ||
4342 | HREF="#AEN4302" | ||
4343 | >llSin</A | ||
4344 | ></TD | ||
4345 | ></TR | ||
4346 | ><TR | ||
4347 | ><TD | ||
4348 | ><A | ||
4349 | HREF="#AEN4335" | ||
4350 | >llSqrt</A | ||
4351 | ></TD | ||
4352 | ></TR | ||
4353 | ><TR | ||
4354 | ><TD | ||
4355 | ><A | ||
4356 | HREF="#AEN4678" | ||
4357 | >llTan</A | ||
4358 | ></TD | ||
4359 | ></TR | ||
4360 | ></TBODY | ||
4361 | ></TABLE | ||
4362 | ></DIV | ||
4363 | ><DIV | ||
4364 | CLASS="table" | ||
4365 | ><A | ||
4366 | NAME="AEN505" | ||
4367 | ></A | ||
4368 | ><P | ||
4369 | ><B | ||
4370 | >Table 6-2. Vector Functions</B | ||
4371 | ></P | ||
4372 | ><TABLE | ||
4373 | BORDER="1" | ||
4374 | CLASS="CALSTABLE" | ||
4375 | ><COL><THEAD | ||
4376 | ><TR | ||
4377 | ><TH | ||
4378 | >Function</TH | ||
4379 | ></TR | ||
4380 | ></THEAD | ||
4381 | ><TBODY | ||
4382 | ><TR | ||
4383 | ><TD | ||
4384 | ><A | ||
4385 | HREF="#AEN4810" | ||
4386 | >llVecDist</A | ||
4387 | ></TD | ||
4388 | ></TR | ||
4389 | ><TR | ||
4390 | ><TD | ||
4391 | ><A | ||
4392 | HREF="#AEN4823" | ||
4393 | >llVecMag</A | ||
4394 | ></TD | ||
4395 | ></TR | ||
4396 | ><TR | ||
4397 | ><TD | ||
4398 | ><A | ||
4399 | HREF="#AEN4833" | ||
4400 | >llVecNorm</A | ||
4401 | ></TD | ||
4402 | ></TR | ||
4403 | ></TBODY | ||
4404 | ></TABLE | ||
4405 | ></DIV | ||
4406 | ><DIV | ||
4407 | CLASS="table" | ||
4408 | ><A | ||
4409 | NAME="AEN521" | ||
4410 | ></A | ||
4411 | ><P | ||
4412 | ><B | ||
4413 | >Table 6-3. Rotation Functions</B | ||
4414 | ></P | ||
4415 | ><TABLE | ||
4416 | BORDER="1" | ||
4417 | CLASS="CALSTABLE" | ||
4418 | ><COL><THEAD | ||
4419 | ><TR | ||
4420 | ><TH | ||
4421 | >Function</TH | ||
4422 | ></TR | ||
4423 | ></THEAD | ||
4424 | ><TBODY | ||
4425 | ><TR | ||
4426 | ><TD | ||
4427 | ><A | ||
4428 | HREF="#AEN1057" | ||
4429 | >llAngleBetween</A | ||
4430 | ></TD | ||
4431 | ></TR | ||
4432 | ><TR | ||
4433 | ><TD | ||
4434 | ><A | ||
4435 | HREF="#AEN1144" | ||
4436 | >llAxes2Rot</A | ||
4437 | ></TD | ||
4438 | ></TR | ||
4439 | ><TR | ||
4440 | ><TD | ||
4441 | ><A | ||
4442 | HREF="#AEN1160" | ||
4443 | >llAxisAngle2Rot</A | ||
4444 | ></TD | ||
4445 | ></TR | ||
4446 | ><TR | ||
4447 | ><TD | ||
4448 | ><A | ||
4449 | HREF="#AEN1549" | ||
4450 | >llEuler2Rot</A | ||
4451 | ></TD | ||
4452 | ></TR | ||
4453 | ><TR | ||
4454 | ><TD | ||
4455 | ><A | ||
4456 | HREF="#AEN3486" | ||
4457 | >llRot2Angle</A | ||
4458 | ></TD | ||
4459 | ></TR | ||
4460 | ><TR | ||
4461 | ><TD | ||
4462 | ><A | ||
4463 | HREF="#AEN3496" | ||
4464 | >llRot2Axis</A | ||
4465 | ></TD | ||
4466 | ></TR | ||
4467 | ><TR | ||
4468 | ><TD | ||
4469 | ><A | ||
4470 | HREF="#AEN3506" | ||
4471 | >llRot2Euler</A | ||
4472 | ></TD | ||
4473 | ></TR | ||
4474 | ><TR | ||
4475 | ><TD | ||
4476 | ><A | ||
4477 | HREF="#AEN3516" | ||
4478 | >llRot2Fwd</A | ||
4479 | ></TD | ||
4480 | ></TR | ||
4481 | ><TR | ||
4482 | ><TD | ||
4483 | ><A | ||
4484 | HREF="#AEN3526" | ||
4485 | >llRot2Left</A | ||
4486 | ></TD | ||
4487 | ></TR | ||
4488 | ><TR | ||
4489 | ><TD | ||
4490 | ><A | ||
4491 | HREF="#AEN3536" | ||
4492 | >llRot2Up</A | ||
4493 | ></TD | ||
4494 | ></TR | ||
4495 | ><TR | ||
4496 | ><TD | ||
4497 | ><A | ||
4498 | HREF="#AEN3546" | ||
4499 | >llRotBetween</A | ||
4500 | ></TD | ||
4501 | ></TR | ||
4502 | ></TBODY | ||
4503 | ></TABLE | ||
4504 | ></DIV | ||
4505 | ></DIV | ||
4506 | ></DIV | ||
4507 | ><DIV | ||
4508 | CLASS="chapter" | ||
4509 | ><HR><H1 | ||
4510 | ><A | ||
4511 | NAME="AEN561" | ||
4512 | ></A | ||
4513 | >Chapter 7. Strings</H1 | ||
4514 | ><DIV | ||
4515 | CLASS="section" | ||
4516 | ><H2 | ||
4517 | CLASS="section" | ||
4518 | ><A | ||
4519 | NAME="AEN563" | ||
4520 | >7.1. Tables of Functions</A | ||
4521 | ></H2 | ||
4522 | ><DIV | ||
4523 | CLASS="table" | ||
4524 | ><A | ||
4525 | NAME="AEN565" | ||
4526 | ></A | ||
4527 | ><P | ||
4528 | ><B | ||
4529 | >Table 7-1. String Functions</B | ||
4530 | ></P | ||
4531 | ><TABLE | ||
4532 | BORDER="1" | ||
4533 | CLASS="CALSTABLE" | ||
4534 | ><COL><THEAD | ||
4535 | ><TR | ||
4536 | ><TH | ||
4537 | >Function</TH | ||
4538 | ></TR | ||
4539 | ></THEAD | ||
4540 | ><TBODY | ||
4541 | ><TR | ||
4542 | ><TD | ||
4543 | ><A | ||
4544 | HREF="#AEN1173" | ||
4545 | >llBase64ToString</A | ||
4546 | ></TD | ||
4547 | ></TR | ||
4548 | ><TR | ||
4549 | ><TD | ||
4550 | ><A | ||
4551 | HREF="#AEN1326" | ||
4552 | >llDeleteSubString</A | ||
4553 | ></TD | ||
4554 | ></TR | ||
4555 | ><TR | ||
4556 | ><TD | ||
4557 | ><A | ||
4558 | HREF="#AEN2195" | ||
4559 | >llGetSubString</A | ||
4560 | ></TD | ||
4561 | ></TR | ||
4562 | ><TR | ||
4563 | ><TD | ||
4564 | ><A | ||
4565 | HREF="#AEN2415" | ||
4566 | >llInsertString</A | ||
4567 | ></TD | ||
4568 | ></TR | ||
4569 | ><TR | ||
4570 | ><TD | ||
4571 | ><A | ||
4572 | HREF="#AEN2902" | ||
4573 | >llMD5String</A | ||
4574 | ></TD | ||
4575 | ></TR | ||
4576 | ><TR | ||
4577 | ><TD | ||
4578 | ><A | ||
4579 | HREF="#AEN4631" | ||
4580 | >llStringLength</A | ||
4581 | ></TD | ||
4582 | ></TR | ||
4583 | ><TR | ||
4584 | ><TD | ||
4585 | ><A | ||
4586 | HREF="#AEN4641" | ||
4587 | >llSubStringIndex</A | ||
4588 | ></TD | ||
4589 | ></TR | ||
4590 | ><TR | ||
4591 | ><TD | ||
4592 | ><A | ||
4593 | HREF="#AEN4652" | ||
4594 | >llStringToBase64</A | ||
4595 | ></TD | ||
4596 | ></TR | ||
4597 | ><TR | ||
4598 | ><TD | ||
4599 | ><A | ||
4600 | HREF="#AEN4737" | ||
4601 | >llToLower</A | ||
4602 | ></TD | ||
4603 | ></TR | ||
4604 | ><TR | ||
4605 | ><TD | ||
4606 | ><A | ||
4607 | HREF="#AEN4746" | ||
4608 | >llToUpper</A | ||
4609 | ></TD | ||
4610 | ></TR | ||
4611 | ><TR | ||
4612 | ><TD | ||
4613 | ><A | ||
4614 | HREF="#AEN4886" | ||
4615 | >llXorBase64Strings</A | ||
4616 | ></TD | ||
4617 | ></TR | ||
4618 | ></TBODY | ||
4619 | ></TABLE | ||
4620 | ></DIV | ||
4621 | ></DIV | ||
4622 | ></DIV | ||
4623 | ><DIV | ||
4624 | CLASS="chapter" | ||
4625 | ><HR><H1 | ||
4626 | ><A | ||
4627 | NAME="AEN605" | ||
4628 | ></A | ||
4629 | >Chapter 8. Lists</H1 | ||
4630 | ><DIV | ||
4631 | CLASS="section" | ||
4632 | ><H2 | ||
4633 | CLASS="section" | ||
4634 | ><A | ||
4635 | NAME="AEN607" | ||
4636 | >8.1. Tables of Functions</A | ||
4637 | ></H2 | ||
4638 | ><DIV | ||
4639 | CLASS="table" | ||
4640 | ><A | ||
4641 | NAME="AEN609" | ||
4642 | ></A | ||
4643 | ><P | ||
4644 | ><B | ||
4645 | >Table 8-1. List Functions</B | ||
4646 | ></P | ||
4647 | ><TABLE | ||
4648 | BORDER="1" | ||
4649 | CLASS="CALSTABLE" | ||
4650 | ><COL><THEAD | ||
4651 | ><TR | ||
4652 | ><TH | ||
4653 | >Function</TH | ||
4654 | ></TR | ||
4655 | ></THEAD | ||
4656 | ><TBODY | ||
4657 | ><TR | ||
4658 | ><TD | ||
4659 | ><A | ||
4660 | HREF="#AEN1202" | ||
4661 | >llCSV2List</A | ||
4662 | ></TD | ||
4663 | ></TR | ||
4664 | ><TR | ||
4665 | ><TD | ||
4666 | ><A | ||
4667 | HREF="#AEN1306" | ||
4668 | >llDeleteSubList</A | ||
4669 | ></TD | ||
4670 | ></TR | ||
4671 | ><TR | ||
4672 | ><TD | ||
4673 | ><A | ||
4674 | HREF="#AEN1875" | ||
4675 | >llGetListEntryType</A | ||
4676 | ></TD | ||
4677 | ></TR | ||
4678 | ><TR | ||
4679 | ><TD | ||
4680 | ><A | ||
4681 | HREF="#AEN1889" | ||
4682 | >llGetListLength</A | ||
4683 | ></TD | ||
4684 | ></TR | ||
4685 | ><TR | ||
4686 | ><TD | ||
4687 | ><A | ||
4688 | HREF="#AEN2454" | ||
4689 | >llList2CSV</A | ||
4690 | ></TD | ||
4691 | ></TR | ||
4692 | ><TR | ||
4693 | ><TD | ||
4694 | ><A | ||
4695 | HREF="#AEN2464" | ||
4696 | >llList2Float</A | ||
4697 | ></TD | ||
4698 | ></TR | ||
4699 | ><TR | ||
4700 | ><TD | ||
4701 | ><A | ||
4702 | HREF="#AEN2477" | ||
4703 | >llList2Integer</A | ||
4704 | ></TD | ||
4705 | ></TR | ||
4706 | ><TR | ||
4707 | ><TD | ||
4708 | ><A | ||
4709 | HREF="#AEN2490" | ||
4710 | >llList2Key</A | ||
4711 | ></TD | ||
4712 | ></TR | ||
4713 | ><TR | ||
4714 | ><TD | ||
4715 | ><A | ||
4716 | HREF="#AEN2503" | ||
4717 | >llList2List</A | ||
4718 | ></TD | ||
4719 | ></TR | ||
4720 | ><TR | ||
4721 | ><TD | ||
4722 | ><A | ||
4723 | HREF="#AEN2526" | ||
4724 | >llList2ListStrided</A | ||
4725 | ></TD | ||
4726 | ></TR | ||
4727 | ><TR | ||
4728 | ><TD | ||
4729 | ><A | ||
4730 | HREF="#AEN2544" | ||
4731 | >llList2Rot</A | ||
4732 | ></TD | ||
4733 | ></TR | ||
4734 | ><TR | ||
4735 | ><TD | ||
4736 | ><A | ||
4737 | HREF="#AEN2557" | ||
4738 | >llList2String</A | ||
4739 | ></TD | ||
4740 | ></TR | ||
4741 | ><TR | ||
4742 | ><TD | ||
4743 | ><A | ||
4744 | HREF="#AEN2570" | ||
4745 | >llList2Vector</A | ||
4746 | ></TD | ||
4747 | ></TR | ||
4748 | ><TR | ||
4749 | ><TD | ||
4750 | ><A | ||
4751 | HREF="#AEN2583" | ||
4752 | >llListFindList</A | ||
4753 | ></TD | ||
4754 | ></TR | ||
4755 | ><TR | ||
4756 | ><TD | ||
4757 | ><A | ||
4758 | HREF="#AEN2598" | ||
4759 | >llListInsertList</A | ||
4760 | ></TD | ||
4761 | ></TR | ||
4762 | ><TR | ||
4763 | ><TD | ||
4764 | ><A | ||
4765 | HREF="#AEN2614" | ||
4766 | >llListRandomize</A | ||
4767 | ></TD | ||
4768 | ></TR | ||
4769 | ><TR | ||
4770 | ><TD | ||
4771 | ><A | ||
4772 | HREF="#AEN2648" | ||
4773 | >llListSort</A | ||
4774 | ></TD | ||
4775 | ></TR | ||
4776 | ><TR | ||
4777 | ><TD | ||
4778 | ><A | ||
4779 | HREF="#AEN3105" | ||
4780 | >llParseString2List</A | ||
4781 | ></TD | ||
4782 | ></TR | ||
4783 | ></TBODY | ||
4784 | ></TABLE | ||
4785 | ></DIV | ||
4786 | ></DIV | ||
4787 | ></DIV | ||
4788 | ><DIV | ||
4789 | CLASS="chapter" | ||
4790 | ><HR><H1 | ||
4791 | ><A | ||
4792 | NAME="AEN670" | ||
4793 | ></A | ||
4794 | >Chapter 9. Communication</H1 | ||
4795 | ><DIV | ||
4796 | CLASS="section" | ||
4797 | ><H2 | ||
4798 | CLASS="section" | ||
4799 | ><A | ||
4800 | NAME="AEN672" | ||
4801 | >9.1. Tables of Functions</A | ||
4802 | ></H2 | ||
4803 | ><DIV | ||
4804 | CLASS="table" | ||
4805 | ><A | ||
4806 | NAME="AEN674" | ||
4807 | ></A | ||
4808 | ><P | ||
4809 | ><B | ||
4810 | >Table 9-1. In World Functions</B | ||
4811 | ></P | ||
4812 | ><TABLE | ||
4813 | BORDER="1" | ||
4814 | CLASS="CALSTABLE" | ||
4815 | ><COL><THEAD | ||
4816 | ><TR | ||
4817 | ><TH | ||
4818 | >Function</TH | ||
4819 | ></TR | ||
4820 | ></THEAD | ||
4821 | ><TBODY | ||
4822 | ><TR | ||
4823 | ><TD | ||
4824 | ><A | ||
4825 | HREF="#AEN2665" | ||
4826 | >llListen</A | ||
4827 | ></TD | ||
4828 | ></TR | ||
4829 | ><TR | ||
4830 | ><TD | ||
4831 | ><A | ||
4832 | HREF="#AEN2686" | ||
4833 | >llListenControl</A | ||
4834 | ></TD | ||
4835 | ></TR | ||
4836 | ><TR | ||
4837 | ><TD | ||
4838 | ><A | ||
4839 | HREF="#AEN2701" | ||
4840 | >llListenRemove</A | ||
4841 | ></TD | ||
4842 | ></TR | ||
4843 | ><TR | ||
4844 | ><TD | ||
4845 | ><A | ||
4846 | HREF="#AEN3640" | ||
4847 | >llSay</A | ||
4848 | ></TD | ||
4849 | ></TR | ||
4850 | ><TR | ||
4851 | ><TD | ||
4852 | ><A | ||
4853 | HREF="#AEN4288" | ||
4854 | >llShout</A | ||
4855 | ></TD | ||
4856 | ></TR | ||
4857 | ><TR | ||
4858 | ><TD | ||
4859 | ><A | ||
4860 | HREF="#AEN4862" | ||
4861 | >llWhisper</A | ||
4862 | ></TD | ||
4863 | ></TR | ||
4864 | ></TBODY | ||
4865 | ></TABLE | ||
4866 | ></DIV | ||
4867 | ><DIV | ||
4868 | CLASS="table" | ||
4869 | ><A | ||
4870 | NAME="AEN699" | ||
4871 | ></A | ||
4872 | ><P | ||
4873 | ><B | ||
4874 | >Table 9-2. Messaging Functions</B | ||
4875 | ></P | ||
4876 | ><TABLE | ||
4877 | BORDER="1" | ||
4878 | CLASS="CALSTABLE" | ||
4879 | ><COL><THEAD | ||
4880 | ><TR | ||
4881 | ><TH | ||
4882 | >Function</TH | ||
4883 | ></TR | ||
4884 | ></THEAD | ||
4885 | ><TBODY | ||
4886 | ><TR | ||
4887 | ><TD | ||
4888 | ><A | ||
4889 | HREF="#AEN1533" | ||
4890 | >llEmail</A | ||
4891 | ></TD | ||
4892 | ></TR | ||
4893 | ><TR | ||
4894 | ><TD | ||
4895 | ><A | ||
4896 | HREF="#AEN1933" | ||
4897 | >llGetNextEmail</A | ||
4898 | ></TD | ||
4899 | ></TR | ||
4900 | ><TR | ||
4901 | ><TD | ||
4902 | ><A | ||
4903 | HREF="#AEN2431" | ||
4904 | >llInstantMessage</A | ||
4905 | ></TD | ||
4906 | ></TR | ||
4907 | ></TBODY | ||
4908 | ></TABLE | ||
4909 | ></DIV | ||
4910 | ></DIV | ||
4911 | ></DIV | ||
4912 | ><DIV | ||
4913 | CLASS="chapter" | ||
4914 | ><HR><H1 | ||
4915 | ><A | ||
4916 | NAME="AEN715" | ||
4917 | ></A | ||
4918 | >Chapter 10. Inventory</H1 | ||
4919 | ><DIV | ||
4920 | CLASS="section" | ||
4921 | ><H2 | ||
4922 | CLASS="section" | ||
4923 | ><A | ||
4924 | NAME="AEN717" | ||
4925 | >10.1. Tables of Functions</A | ||
4926 | ></H2 | ||
4927 | ><DIV | ||
4928 | CLASS="table" | ||
4929 | ><A | ||
4930 | NAME="AEN719" | ||
4931 | ></A | ||
4932 | ><P | ||
4933 | ><B | ||
4934 | >Table 10-1. Inventory Functions</B | ||
4935 | ></P | ||
4936 | ><TABLE | ||
4937 | BORDER="1" | ||
4938 | CLASS="CALSTABLE" | ||
4939 | ><COL><THEAD | ||
4940 | ><TR | ||
4941 | ><TH | ||
4942 | >Function</TH | ||
4943 | ></TR | ||
4944 | ></THEAD | ||
4945 | ><TBODY | ||
4946 | ><TR | ||
4947 | ><TD | ||
4948 | ><A | ||
4949 | HREF="#AEN1047" | ||
4950 | >llAllowInventoryDrop</A | ||
4951 | ></TD | ||
4952 | ></TR | ||
4953 | ><TR | ||
4954 | ><TD | ||
4955 | ><A | ||
4956 | HREF="#AEN1754" | ||
4957 | >llGetInventoryCreator</A | ||
4958 | ></TD | ||
4959 | ></TR | ||
4960 | ><TR | ||
4961 | ><TD | ||
4962 | ><A | ||
4963 | HREF="#AEN1764" | ||
4964 | >llGetInventoryKey</A | ||
4965 | ></TD | ||
4966 | ></TR | ||
4967 | ><TR | ||
4968 | ><TD | ||
4969 | ><A | ||
4970 | HREF="#AEN1774" | ||
4971 | >llGetInventoryName</A | ||
4972 | ></TD | ||
4973 | ></TR | ||
4974 | ><TR | ||
4975 | ><TD | ||
4976 | ><A | ||
4977 | HREF="#AEN1816" | ||
4978 | >llGetInventoryType</A | ||
4979 | ></TD | ||
4980 | ></TR | ||
4981 | ><TR | ||
4982 | ><TD | ||
4983 | ><A | ||
4984 | HREF="#AEN1789" | ||
4985 | >llGetInventoryNumber</A | ||
4986 | ></TD | ||
4987 | ></TR | ||
4988 | ><TR | ||
4989 | ><TD | ||
4990 | ><A | ||
4991 | HREF="#AEN1801" | ||
4992 | >llGetInventoryPermMask</A | ||
4993 | ></TD | ||
4994 | ></TR | ||
4995 | ><TR | ||
4996 | ><TD | ||
4997 | ><A | ||
4998 | HREF="#AEN1946" | ||
4999 | >llGetNotecardLine</A | ||
5000 | ></TD | ||
5001 | ></TR | ||
5002 | ><TR | ||
5003 | ><TD | ||
5004 | ><A | ||
5005 | HREF="#AEN2314" | ||
5006 | >llGiveInventory</A | ||
5007 | ></TD | ||
5008 | ></TR | ||
5009 | ><TR | ||
5010 | ><TD | ||
5011 | ><A | ||
5012 | HREF="#AEN2326" | ||
5013 | >llGiveInventoryList</A | ||
5014 | ></TD | ||
5015 | ></TR | ||
5016 | ><TR | ||
5017 | ><TD | ||
5018 | ><A | ||
5019 | HREF="#AEN3325" | ||
5020 | >llRemoveInventory</A | ||
5021 | ></TD | ||
5022 | ></TR | ||
5023 | ><TR | ||
5024 | ><TD | ||
5025 | ><A | ||
5026 | HREF="#AEN3363" | ||
5027 | >llRequestInventoryData</A | ||
5028 | ></TD | ||
5029 | ></TR | ||
5030 | ><TR | ||
5031 | ><TD | ||
5032 | ><A | ||
5033 | HREF="#AEN3461" | ||
5034 | >llRezObject</A | ||
5035 | ></TD | ||
5036 | ></TR | ||
5037 | ><TR | ||
5038 | ><TD | ||
5039 | ><A | ||
5040 | HREF="#AEN3434" | ||
5041 | >llRezAtRoot</A | ||
5042 | ></TD | ||
5043 | ></TR | ||
5044 | ></TBODY | ||
5045 | ></TABLE | ||
5046 | ></DIV | ||
5047 | ></DIV | ||
5048 | ></DIV | ||
5049 | ><DIV | ||
5050 | CLASS="chapter" | ||
5051 | ><HR><H1 | ||
5052 | ><A | ||
5053 | NAME="AEN768" | ||
5054 | ></A | ||
5055 | >Chapter 11. Vehicles</H1 | ||
5056 | ><P | ||
5057 | >Custom Vehicles can be constructed and controlled using the LSL. | ||
5058 | This chapter will cover the basics of how vehicles work, the | ||
5059 | terms used when describing vehicles, and a more thorough examination | ||
5060 | of the api available.</P | ||
5061 | ><P | ||
5062 | >There are several ways to make scripted objects move | ||
5063 | themselves around. One way is to turn the object into a | ||
5064 | "vehicle". This feature is versatile enough to make things | ||
5065 | that slide, hover, fly, and float. Some of the behaviors that can be | ||
5066 | enabled are:</P | ||
5067 | ><P | ||
5068 | ><P | ||
5069 | ></P | ||
5070 | ><UL | ||
5071 | ><LI | ||
5072 | STYLE="list-style-type: opencircle" | ||
5073 | ><P | ||
5074 | >deflection of linear and angular velocity to | ||
5075 | preferred axis of motion</P | ||
5076 | ></LI | ||
5077 | ><LI | ||
5078 | STYLE="list-style-type: opencircle" | ||
5079 | ><P | ||
5080 | > <A | ||
5081 | HREF="#AEN956" | ||
5082 | >asymmetric linear | ||
5083 | and angular friction</A | ||
5084 | ></P | ||
5085 | ></LI | ||
5086 | ><LI | ||
5087 | STYLE="list-style-type: opencircle" | ||
5088 | ><P | ||
5089 | > <A | ||
5090 | HREF="#AEN979" | ||
5091 | >hovering</A | ||
5092 | > over terrain/water or | ||
5093 | at a global height</P | ||
5094 | ></LI | ||
5095 | ><LI | ||
5096 | STYLE="list-style-type: opencircle" | ||
5097 | ><P | ||
5098 | > <A | ||
5099 | HREF="#AEN949" | ||
5100 | >banking</A | ||
5101 | > on turns | ||
5102 | </P | ||
5103 | ></LI | ||
5104 | ><LI | ||
5105 | STYLE="list-style-type: opencircle" | ||
5106 | ><P | ||
5107 | > <A | ||
5108 | HREF="#AEN866" | ||
5109 | >linear</A | ||
5110 | > and | ||
5111 | <A | ||
5112 | HREF="#AEN898" | ||
5113 | >angular</A | ||
5114 | > motor for | ||
5115 | <A | ||
5116 | HREF="#AEN853" | ||
5117 | >push and turning</A | ||
5118 | > | ||
5119 | </P | ||
5120 | ></LI | ||
5121 | ></UL | ||
5122 | ></P | ||
5123 | ><DIV | ||
5124 | CLASS="section" | ||
5125 | ><HR><H2 | ||
5126 | CLASS="section" | ||
5127 | ><A | ||
5128 | NAME="AEN790" | ||
5129 | >11.1. Overview</A | ||
5130 | ></H2 | ||
5131 | ><P | ||
5132 | >Each scripted object can have one vehicle behavior that is | ||
5133 | configurable through the <A | ||
5134 | HREF="#AEN4249" | ||
5135 | >llSetVehicleType</A | ||
5136 | >, <A | ||
5137 | HREF="#AEN4235" | ||
5138 | >llSetVehicleFloatParam</A | ||
5139 | >, | ||
5140 | <A | ||
5141 | HREF="#AEN4274" | ||
5142 | >llSetVehicleVectorParam</A | ||
5143 | >, | ||
5144 | <A | ||
5145 | HREF="#AEN4260" | ||
5146 | >llSetVehicleRotationParam</A | ||
5147 | >, | ||
5148 | <A | ||
5149 | HREF="#AEN4224" | ||
5150 | >llSetVehicleFlags</A | ||
5151 | >, | ||
5152 | and <A | ||
5153 | HREF="#AEN3335" | ||
5154 | >llRemoveVehicleFlags</A | ||
5155 | > | ||
5156 | library calls.</P | ||
5157 | ><P | ||
5158 | >These script calls are described in more detail below, but | ||
5159 | the important thing to notice here is that the vehicle behavior | ||
5160 | has several parameters that can be adjusted to change how the | ||
5161 | vehicle handles. Depending on the values chosen the vehicle can | ||
5162 | veer like a boat in water, or ride like a sled on rails.</P | ||
5163 | ><P | ||
5164 | >Setting the vehicle flags allow you to make exceptions to | ||
5165 | some default behaviors. Some of these flags only have an effect | ||
5166 | when certain behaviors are enabled. For example, the | ||
5167 | VEHICLE_FLAG_HOVER_WATER_ONLY will make the vehicle ignore the | ||
5168 | height of the terrain, however it only makes a difference if the | ||
5169 | vehicle is hovering.</P | ||
5170 | ></DIV | ||
5171 | ><DIV | ||
5172 | CLASS="section" | ||
5173 | ><HR><H2 | ||
5174 | CLASS="section" | ||
5175 | ><A | ||
5176 | NAME="AEN801" | ||
5177 | >11.2. Warnings</A | ||
5178 | ></H2 | ||
5179 | ><P | ||
5180 | >Vehicles are a work in progress and will | ||
5181 | likely experience changes in future versions of Second Life. | ||
5182 | Some of the details of vehicle behavior may be changed | ||
5183 | as necessary to ensure stability | ||
5184 | and user safety. In particular, many of the limits and defaults | ||
5185 | described in the appendices will probably change and should not be | ||
5186 | relied upon in the long term.</P | ||
5187 | ><P | ||
5188 | >It is not recommended that you mix vehicle behavior with | ||
5189 | some of the other script calls that provide impulse and forces to | ||
5190 | the object, especially <A | ||
5191 | HREF="#AEN3773" | ||
5192 | >llSetBuoyancy</A | ||
5193 | >, <A | ||
5194 | HREF="#AEN3841" | ||
5195 | >llSetForce</A | ||
5196 | >, <A | ||
5197 | HREF="#AEN4200" | ||
5198 | >llSetTorque</A | ||
5199 | >, and <A | ||
5200 | HREF="#AEN3872" | ||
5201 | >llSetHoverHeight</A | ||
5202 | >.</P | ||
5203 | ><P | ||
5204 | >While the following methods probably don't cause any | ||
5205 | instabilities, their behavior may conflict with vehicles and cause | ||
5206 | undesired and/or inconsistent results, so use <A | ||
5207 | HREF="#AEN2753" | ||
5208 | >llLookAt</A | ||
5209 | >, <A | ||
5210 | HREF="#AEN3559" | ||
5211 | >llRotLookAt</A | ||
5212 | >, <A | ||
5213 | HREF="#AEN2980" | ||
5214 | >llMoveToTarget</A | ||
5215 | >, and <A | ||
5216 | HREF="#AEN4701" | ||
5217 | >llTargetOmega</A | ||
5218 | > at your own | ||
5219 | risk.</P | ||
5220 | ><P | ||
5221 | >If you think you have found a bug relating to how vehicle's | ||
5222 | work, one way to submit the problem is to give a copy of the | ||
5223 | vehicle and script to Andrew Linden with comments or a notecard | ||
5224 | describing the problem. Please name all submissions "Bugged | ||
5225 | Vehicle XX" where XX are your Second Life initials. The | ||
5226 | vehicle and script will be examined at the earliest | ||
5227 | convenience.</P | ||
5228 | ></DIV | ||
5229 | ><DIV | ||
5230 | CLASS="section" | ||
5231 | ><HR><H2 | ||
5232 | CLASS="section" | ||
5233 | ><A | ||
5234 | NAME="AEN815" | ||
5235 | >11.3. Definitions</A | ||
5236 | ></H2 | ||
5237 | ><P | ||
5238 | > The terms "roll", "pitch", and | ||
5239 | "yaw" are often used to describe the modes of rotations | ||
5240 | that can happen to a airplane or boat. They correspond to | ||
5241 | rotations about the local x-, y-, and z-axis respectively.</P | ||
5242 | ><P | ||
5243 | ><DIV | ||
5244 | CLASS="informalexample" | ||
5245 | ><P | ||
5246 | ></P | ||
5247 | ><A | ||
5248 | NAME="AEN819" | ||
5249 | ></A | ||
5250 | ><PRE | ||
5251 | CLASS="programlisting" | ||
5252 | > z-axis . | ||
5253 | yaw-axis /|\ | ||
5254 | | __. y-axis | ||
5255 | ._ ___| /| pitch-axis | ||
5256 | _||\ \\ |\. / | ||
5257 | \|| \_______\_|__\_/_______ | ||
5258 | | _ _ o o o o o o o |\_ ______\ x-axis | ||
5259 | // ./_______,----,__________) / roll-axis | ||
5260 | /_,/ // ./ | ||
5261 | /__,/ | ||
5262 | </PRE | ||
5263 | ><P | ||
5264 | ></P | ||
5265 | ></DIV | ||
5266 | ></P | ||
5267 | ><P | ||
5268 | > The right-hand-rule, often introduced in beginning physics | ||
5269 | courses, is used to define the direction of positive rotation | ||
5270 | about any axis. As an example of how to use the right hand rule, | ||
5271 | consider a positive rotation about the roll axis. To help | ||
5272 | visualize how such a rotation would move the airplane, place your | ||
5273 | right thumb parallel to the plane's roll-axis such that the thumb | ||
5274 | points in the positive x-direction, then curl the four fingers | ||
5275 | into a fist. Your fingers will be pointing in the direction that | ||
5276 | the plane will spin.</P | ||
5277 | ><P | ||
5278 | ><DIV | ||
5279 | CLASS="informalexample" | ||
5280 | ><P | ||
5281 | ></P | ||
5282 | ><A | ||
5283 | NAME="AEN823" | ||
5284 | ></A | ||
5285 | ><PRE | ||
5286 | CLASS="programlisting" | ||
5287 | > .-.--.--.--. __ | ||
5288 | / / / / _ \ / \ | ||
5289 | (-(- (- (- ( | _________|______\ axis of | ||
5290 | \.\._\._\._) | | / rotation | ||
5291 | | \:__,---. \|/ | ||
5292 | | | + positive | ||
5293 | \ .,_.___.' rotation | ||
5294 | \_ ^ `.__,/ | ||
5295 | | / | ||
5296 | | | | ||
5297 | </PRE | ||
5298 | ><P | ||
5299 | ></P | ||
5300 | ></DIV | ||
5301 | ></P | ||
5302 | ><P | ||
5303 | > Many of the parameters that control a vehicle's behavior are | ||
5304 | of the form: VEHICLE_BEHAVIOR_TIMESCALE. A behavior's | ||
5305 | "timescale" can usually be understood as the time for | ||
5306 | the behavior to push, twist, or otherwise affect the vehicle such | ||
5307 | that the difference between what it is doing, and what it is | ||
5308 | supposed to be doing, has been reduced to 1/e of what it was, | ||
5309 | where "e" is the natural exponent (approximately | ||
5310 | 2.718281828). In other words, it is the timescale for exponential | ||
5311 | decay toward full compliance to the desired behavior. When you | ||
5312 | want the vehicle to be very responsive use a short timescale of | ||
5313 | one second or less, and if you want to disable a behavior then set | ||
5314 | the timescale to a very large number like 300 (5 minutes) or | ||
5315 | more. Note, for stability reasons, there is usually a limit to how | ||
5316 | small a timescale is allowed to be, and is usually on the order of | ||
5317 | a tenth of a second. Setting a timescale to zero is safe and is | ||
5318 | always equivalent to setting it to its minimum. Any feature with a | ||
5319 | timescale can be effectively disabled by setting the timescale so | ||
5320 | large that it would take them all day to have any | ||
5321 | effect.</P | ||
5322 | ></DIV | ||
5323 | ><DIV | ||
5324 | CLASS="section" | ||
5325 | ><HR><H2 | ||
5326 | CLASS="section" | ||
5327 | ><A | ||
5328 | NAME="AEN826" | ||
5329 | >11.4. Setting the Vehicle Type</A | ||
5330 | ></H2 | ||
5331 | ><P | ||
5332 | >Before any vehicle parameters can be set the vehicle | ||
5333 | behavior must first be enabled. It is enabled by calling <A | ||
5334 | HREF="#AEN4249" | ||
5335 | >llSetVehicleType</A | ||
5336 | > with any | ||
5337 | VEHICLE_TYPE_*, except VEHICLE_TYPE_NONE which will disable the | ||
5338 | vehicle. See the <A | ||
5339 | HREF="#AEN6288" | ||
5340 | >vehicle type | ||
5341 | constants</A | ||
5342 | > section for currently available types. More types | ||
5343 | will be available soon.</P | ||
5344 | ><P | ||
5345 | >Setting the vehicle type is necessary for enabling the | ||
5346 | vehicle behavior and sets all of the parameters to its default | ||
5347 | values. For each vehicle type listed we provide the corresponding | ||
5348 | equivalent code in long format. Is is | ||
5349 | <SPAN | ||
5350 | CLASS="emphasis" | ||
5351 | ><I | ||
5352 | CLASS="emphasis" | ||
5353 | >important</I | ||
5354 | ></SPAN | ||
5355 | > to realize that the defaults are | ||
5356 | <SPAN | ||
5357 | CLASS="emphasis" | ||
5358 | ><I | ||
5359 | CLASS="emphasis" | ||
5360 | >not</I | ||
5361 | ></SPAN | ||
5362 | > the optimal settings for any of these | ||
5363 | vehicle types and that they will definitely be changed in the | ||
5364 | future. Do not rely on these values to be constant until | ||
5365 | specified.</P | ||
5366 | ><P | ||
5367 | >Should you want to make a unique or experimental vehicle you | ||
5368 | will still have to enable the vehicle behavior with one of the | ||
5369 | default types first, after which you will be able to change any of | ||
5370 | the parameters or flags within the allowed ranges.</P | ||
5371 | ><P | ||
5372 | >Setting the vehicle type does not automatically take | ||
5373 | controls or otherwise move the object. However should you enable | ||
5374 | the vehicle behavior while the object is free to move and parked | ||
5375 | on a hill then it may start to slide away.</P | ||
5376 | ><P | ||
5377 | >We're looking for new and better default vehicle types. If | ||
5378 | you think you've found a set of parameters that make a better car, | ||
5379 | boat, or any other default type of vehicle then you may submit | ||
5380 | your proposed list of settings to Andrew Linden via a script or | ||
5381 | notecard.</P | ||
5382 | ></DIV | ||
5383 | ><DIV | ||
5384 | CLASS="section" | ||
5385 | ><HR><H2 | ||
5386 | CLASS="section" | ||
5387 | ><A | ||
5388 | NAME="AEN837" | ||
5389 | >11.5. Linear and Angular Deflection</A | ||
5390 | ></H2 | ||
5391 | ><P | ||
5392 | >A common feature of real vehicles is their tendency to move | ||
5393 | along "preferred axes of motion". That is, due to | ||
5394 | their wheels, wings, shape, or method of propulsion they tend to | ||
5395 | push or redirect themselves along axes that are static in the | ||
5396 | vehicle's local frame. This general feature defines a | ||
5397 | class of vehicles and included in this category a common | ||
5398 | dart is a "vehicle": it | ||
5399 | has fins in the back such that if it were to tumble in the air it | ||
5400 | would eventually align itself to move point-forward -- we'll call | ||
5401 | this alignment effect <SPAN | ||
5402 | CLASS="emphasis" | ||
5403 | ><I | ||
5404 | CLASS="emphasis" | ||
5405 | >angular | ||
5406 | deflection</I | ||
5407 | ></SPAN | ||
5408 | >.</P | ||
5409 | ><P | ||
5410 | >A wheeled craft exhibits a | ||
5411 | different effect: when a | ||
5412 | skateboard is pushed in some direction it will tend to redirect | ||
5413 | the resultant motion along that which it is free to roll -- we'll | ||
5414 | call this effect <SPAN | ||
5415 | CLASS="emphasis" | ||
5416 | ><I | ||
5417 | CLASS="emphasis" | ||
5418 | > linear deflection</I | ||
5419 | ></SPAN | ||
5420 | >.</P | ||
5421 | ><P | ||
5422 | >So a typical Second Life vehicle is an object that | ||
5423 | exhibits linear and/or angular deflection along the | ||
5424 | "preferential axes of motion". The default | ||
5425 | preferential axes of motion are the local x- (at), y- (left), and | ||
5426 | z- (up) axes of the <SPAN | ||
5427 | CLASS="emphasis" | ||
5428 | ><I | ||
5429 | CLASS="emphasis" | ||
5430 | >local frame</I | ||
5431 | ></SPAN | ||
5432 | > of the | ||
5433 | vehicle's root primitive. The deflection behaviors relate to the | ||
5434 | x-axis (at): linear deflection will tend to rotate its velocity | ||
5435 | until it points along it's positive local x-axis while the | ||
5436 | angular deflection will tend to reorient the vehicle such that | ||
5437 | it's x-axis points in the direction that it is moving. The other | ||
5438 | axes are relevant to vehicle behaviors that are described later, | ||
5439 | such as the | ||
5440 | <A | ||
5441 | HREF="#AEN938" | ||
5442 | >vertical attractor</A | ||
5443 | > | ||
5444 | which tries to keep a vehicle's | ||
5445 | local z-axis pointed toward the world z-axis (up). The vehicle | ||
5446 | axes can be rotated relative to the object's actual local axes by | ||
5447 | using the | ||
5448 | <A | ||
5449 | HREF="#AEN990" | ||
5450 | >VEHICLE_REFERENCE_FRAME</A | ||
5451 | > | ||
5452 | parameter, however that is an | ||
5453 | advanced feature and is covered in detail in a later section of | ||
5454 | these documents.</P | ||
5455 | ><P | ||
5456 | >Depending on the vehicle it might be desirable to have lots | ||
5457 | of linear and/or angular deflection or not. The speed of the | ||
5458 | deflections are controlled by setting the relevant parameters | ||
5459 | using the <A | ||
5460 | HREF="#AEN4235" | ||
5461 | >llSetVehicleFloatParam</A | ||
5462 | > | ||
5463 | script call. Each variety of deflection has a | ||
5464 | "timescale" parameter that determines how quickly a | ||
5465 | full deflection happens. Basically the timescale it the time | ||
5466 | coefficient for exponential decay toward full deflection. So, a | ||
5467 | vehicle that deflects quickly should have a small timescale. For | ||
5468 | instance, a typical dart might have a angular deflection | ||
5469 | timescale of a couple of seconds but a linear deflection of | ||
5470 | several seconds; it will tend to reorient itself before it | ||
5471 | changes direction. To set the deflection timescales of a dart | ||
5472 | you might use the lines below:</P | ||
5473 | ><P | ||
5474 | ><DIV | ||
5475 | CLASS="informalexample" | ||
5476 | ><P | ||
5477 | ></P | ||
5478 | ><A | ||
5479 | NAME="AEN850" | ||
5480 | ></A | ||
5481 | ><PRE | ||
5482 | CLASS="programlisting" | ||
5483 | > llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 2.0); | ||
5484 | llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 6.0); | ||
5485 | </PRE | ||
5486 | ><P | ||
5487 | ></P | ||
5488 | ></DIV | ||
5489 | ></P | ||
5490 | ><P | ||
5491 | > Each variety of deflection has an "efficiency" | ||
5492 | parameter that is a slider between 0.0 and 1.0. Unlike the other | ||
5493 | efficiency parameters of other vehicle behaviors, the deflection | ||
5494 | efficiencies do not slide between "bouncy" and | ||
5495 | "damped", but instead slide from "no deflection | ||
5496 | whatsoever" (0.0) to "maximum deflection" (1.0). | ||
5497 | That is, they behave much like the deflection timescales, however | ||
5498 | they are normalized to the range between 0.0 and 1.0.</P | ||
5499 | ></DIV | ||
5500 | ><DIV | ||
5501 | CLASS="section" | ||
5502 | ><HR><H2 | ||
5503 | CLASS="section" | ||
5504 | ><A | ||
5505 | NAME="AEN853" | ||
5506 | >11.6. Moving and Steering the Vehicle</A | ||
5507 | ></H2 | ||
5508 | ><P | ||
5509 | >Once enabled, a vehicle can be pushed and rotated by | ||
5510 | external forces and/or from script calls such as | ||
5511 | <A | ||
5512 | HREF="#AEN1070" | ||
5513 | >llApplyImpulse</A | ||
5514 | >, | ||
5515 | however linear and angular motors have been built in | ||
5516 | to make motion smoother and easier to control. | ||
5517 | Their directions can be set using the | ||
5518 | <A | ||
5519 | HREF="#AEN4274" | ||
5520 | >llSetVehicleVectorParam</A | ||
5521 | > | ||
5522 | call. For example, to make the vehicle try to move at 5 | ||
5523 | meters/second along its local x-axis (the default look-at | ||
5524 | direction) you would put the following line in your script:</P | ||
5525 | ><P | ||
5526 | ><DIV | ||
5527 | CLASS="informalexample" | ||
5528 | ><P | ||
5529 | ></P | ||
5530 | ><A | ||
5531 | NAME="AEN859" | ||
5532 | ></A | ||
5533 | ><PRE | ||
5534 | CLASS="programlisting" | ||
5535 | > llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <5, 0, 0>); | ||
5536 | </PRE | ||
5537 | ><P | ||
5538 | ></P | ||
5539 | ></DIV | ||
5540 | ></P | ||
5541 | ><P | ||
5542 | >The motor strength is not the full story, since you can also | ||
5543 | control how fast the motor engages (VEHICLE_LINEAR_MOTOR_TIMESCALE) | ||
5544 | and there is a parameter that causes the motor's effectiveness to | ||
5545 | decay over time (VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE).</P | ||
5546 | ><P | ||
5547 | >Steering the vehicle involves setting the | ||
5548 | VEHICLE_ANGULAR_MOTOR_DIRECTION and related parameters. | ||
5549 | It is also possible to set some flags that allow the angular | ||
5550 | motor slave to your camera view when in mouselook.</P | ||
5551 | ><P | ||
5552 | >For more details about the vehicle motors | ||
5553 | read the sections on the <A | ||
5554 | HREF="#AEN866" | ||
5555 | >linear | ||
5556 | </A | ||
5557 | > and <A | ||
5558 | HREF="#AEN898" | ||
5559 | >angular</A | ||
5560 | > | ||
5561 | motors below.</P | ||
5562 | ></DIV | ||
5563 | ><DIV | ||
5564 | CLASS="section" | ||
5565 | ><HR><H2 | ||
5566 | CLASS="section" | ||
5567 | ><A | ||
5568 | NAME="AEN866" | ||
5569 | >11.7. The Linear Motor</A | ||
5570 | ></H2 | ||
5571 | ><P | ||
5572 | >The parameters that control the linear motor are:</P | ||
5573 | ><P | ||
5574 | ><P | ||
5575 | ></P | ||
5576 | ><UL | ||
5577 | ><LI | ||
5578 | STYLE="list-style-type: opencircle" | ||
5579 | ><P | ||
5580 | > VEHICLE_LINEAR_MOTOR_DIRECTION</P | ||
5581 | ><P | ||
5582 | >A vector. | ||
5583 | It is the velocity (meters/sec) that the vehicle will | ||
5584 | try to attain. It points in the vehicle's local frame, and has a | ||
5585 | maximum length of 40.</P | ||
5586 | ></LI | ||
5587 | ><LI | ||
5588 | STYLE="list-style-type: opencircle" | ||
5589 | ><P | ||
5590 | > VEHICLE_LINEAR_MOTOR_OFFSET</P | ||
5591 | ><P | ||
5592 | >A vector. | ||
5593 | It is the offset point from the vehicle's center of mass at which | ||
5594 | the linear motor's impulse is applied. This allows the linear motor | ||
5595 | to also cause rotational torque. It is in the vehicle's local | ||
5596 | frame and its maximum length is 100 meters! No need to worry | ||
5597 | about stability -- if the vehicle starts to spin too fast | ||
5598 | (greater than about 4*PI radians per second) then angular | ||
5599 | velocity damping will kick in. The reason the offset is allowed | ||
5600 | to be so large is so that it can compete with the other vehicle | ||
5601 | behaviors such as <A | ||
5602 | HREF="#vehicle_angular_deflection" | ||
5603 | >angular deflection</A | ||
5604 | > | ||
5605 | and the <A | ||
5606 | HREF="#AEN938" | ||
5607 | >vertical | ||
5608 | attractor</A | ||
5609 | >. Some of the other vehicle behaviors may | ||
5610 | drastically reduce the effective torque from the linear motor | ||
5611 | offset, in which case a longer leverage arm may help.</P | ||
5612 | ></LI | ||
5613 | ><LI | ||
5614 | STYLE="list-style-type: opencircle" | ||
5615 | ><P | ||
5616 | > VEHICLE_LINEAR_MOTOR_TIMESCALE</P | ||
5617 | ><P | ||
5618 | >A float. Determines how long it takes for the motor to | ||
5619 | push the vehicle to full speed. Its minimum value is approximately | ||
5620 | 0.06 seconds.</P | ||
5621 | ></LI | ||
5622 | ><LI | ||
5623 | STYLE="list-style-type: opencircle" | ||
5624 | ><P | ||
5625 | > VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE</P | ||
5626 | ><P | ||
5627 | >A float. The effectiveness of the motor will exponentially | ||
5628 | decay over this timescale, but the effectiveness will be reset | ||
5629 | whenever the motor's value is explicitly set. The maximum value | ||
5630 | of this decay timescale is 120 seconds, | ||
5631 | and this timescale is always in effect.</P | ||
5632 | ></LI | ||
5633 | ></UL | ||
5634 | ></P | ||
5635 | ><P | ||
5636 | >The flags that affect the linear motor are:</P | ||
5637 | ><P | ||
5638 | ><P | ||
5639 | ></P | ||
5640 | ><UL | ||
5641 | ><LI | ||
5642 | STYLE="list-style-type: opencircle" | ||
5643 | ><P | ||
5644 | >VEHICLE_FLAG_LIMIT_MOTOR_UP</P | ||
5645 | ><P | ||
5646 | >Useful for "ground vehicles". | ||
5647 | Setting this flag will clamp the z-component of the linear | ||
5648 | motor (in world frame) to prevent it from defeating gravity.</P | ||
5649 | ></LI | ||
5650 | ></UL | ||
5651 | ></P | ||
5652 | ><P | ||
5653 | >Setting the motor speed is not enough to enable all | ||
5654 | interesting vehicles. For example, some will want a car that | ||
5655 | immediately gets up to the speed they want, while others will want | ||
5656 | a boat that slowly climbs up to its maximum velocity. To control | ||
5657 | this effect the VEHICLE_LINEAR_MOTOR_TIMESCALE parameter can be | ||
5658 | used. Basically the "timescale" of a motor is the | ||
5659 | time constant for the vehicle to exponentially accelerate toward | ||
5660 | its full speed.</P | ||
5661 | ><P | ||
5662 | >What would happen if you were to accidentally set the | ||
5663 | vehicle's linear velocity to maximum possible speed and then let | ||
5664 | go? It would run away and never stop, right? Not necessarily: an | ||
5665 | automatic "motor decay" has been built in such that all | ||
5666 | motors will gradually decrease their effectiveness after being | ||
5667 | set.</P | ||
5668 | ><P | ||
5669 | >Each time the linear motor's vector is set its | ||
5670 | "grip" | ||
5671 | immediately starts to decay exponentially with a timescale | ||
5672 | determined by the VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, such | ||
5673 | that after enough time the motor ceases to have any effect. | ||
5674 | This decay timescale serves two purposes. First, since it | ||
5675 | <SPAN | ||
5676 | CLASS="emphasis" | ||
5677 | ><I | ||
5678 | CLASS="emphasis" | ||
5679 | >cannot</I | ||
5680 | ></SPAN | ||
5681 | > be set longer than 120 seconds, | ||
5682 | and is <SPAN | ||
5683 | CLASS="emphasis" | ||
5684 | ><I | ||
5685 | CLASS="emphasis" | ||
5686 | >always</I | ||
5687 | ></SPAN | ||
5688 | > enabled it | ||
5689 | guarantees that a vehicle will not push itself about forever | ||
5690 | in the absence | ||
5691 | of active control (from keyboard commands or some logic loop in | ||
5692 | the script). Second, it can be used to push some vehicles around | ||
5693 | using a simple impulse model. That is, rather than setting the | ||
5694 | motor "on" or "off" depending on whether | ||
5695 | a particular key is pressed "down" or "up" | ||
5696 | the decay timescale can be set short and the motor can be set | ||
5697 | "on" whenever the key transitions from "up" | ||
5698 | to "down" and allowed to automatically decay.</P | ||
5699 | ><P | ||
5700 | > Since the motor's effectiveness is reset whenever the | ||
5701 | motor's vector is set, then setting it to a vector of length zero | ||
5702 | is different from allowing it to decay completely. The first case | ||
5703 | will cause the vehicle to try to reach zero velocity, while the | ||
5704 | second will leave the motor impotent.</P | ||
5705 | ><P | ||
5706 | >The two motor timescales have very similar names, but have | ||
5707 | different effects, so try not to get them confused. | ||
5708 | VEHICLE_LINEAR_MOTOR_TIMESCALE is the time for motor to | ||
5709 | "win", and VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE is the | ||
5710 | time for the motor's "effectiveness" to decay toward | ||
5711 | zero. If you set one when you think you are changing the other | ||
5712 | you will have frustrating results. Also, if the motor's decay | ||
5713 | timescale is shorter than the regular timescale, then the | ||
5714 | effective magnitude of the motor vector will be | ||
5715 | diminished.</P | ||
5716 | ></DIV | ||
5717 | ><DIV | ||
5718 | CLASS="section" | ||
5719 | ><HR><H2 | ||
5720 | CLASS="section" | ||
5721 | ><A | ||
5722 | NAME="AEN898" | ||
5723 | >11.8. The Angular Motor</A | ||
5724 | ></H2 | ||
5725 | ><P | ||
5726 | >The parameters that control the angular motor are:</P | ||
5727 | ><P | ||
5728 | ><P | ||
5729 | ></P | ||
5730 | ><UL | ||
5731 | ><LI | ||
5732 | STYLE="list-style-type: opencircle" | ||
5733 | ><P | ||
5734 | > VEHICLE_ANGULAR_MOTOR_DIRECTION</P | ||
5735 | ><P | ||
5736 | >A vector. It is the angular velocity (radians/sec) | ||
5737 | that the vehicle will try to rotate. It points in the vehicle's | ||
5738 | local frame, and has a maximum value of 4*PI (two revolutions | ||
5739 | per second).</P | ||
5740 | ></LI | ||
5741 | ><LI | ||
5742 | STYLE="list-style-type: opencircle" | ||
5743 | ><P | ||
5744 | > VEHICLE_ANGULAR_MOTOR_TIMESCALE</P | ||
5745 | ><P | ||
5746 | >A float. Determines how long it takes for the motor to | ||
5747 | spin the vehicle to full speed. Its minimum value is approximately | ||
5748 | 0.06 seconds.</P | ||
5749 | ></LI | ||
5750 | ><LI | ||
5751 | STYLE="list-style-type: opencircle" | ||
5752 | ><P | ||
5753 | > VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE</P | ||
5754 | ><P | ||
5755 | >A float. The effectiveness of the motor will exponentially | ||
5756 | decay over this timescale, but the effectiveness will be reset | ||
5757 | whenever the motor's value is explicitly set. The maximum value | ||
5758 | of this decay timescale is 120 seconds, | ||
5759 | and this timescale is always in effect.</P | ||
5760 | ></LI | ||
5761 | ></UL | ||
5762 | ></P | ||
5763 | ><P | ||
5764 | >Like the linear motor the angular motor can be set explicitly, | ||
5765 | and has magnitude/direction, a timescale, and a decay timescale. </P | ||
5766 | ><P | ||
5767 | >When it comes to actually steering a vehicle there are | ||
5768 | several ways to do it. One way would be for the script to grab | ||
5769 | keyboard input and to explicitly turn the motor on/off based on | ||
5770 | which keys are pressed. When steering this way you probably | ||
5771 | don't want it to turn very far or for very long. One way to do | ||
5772 | it using the angular motor would be to leave the decay timescale | ||
5773 | long, enable a significant amount of angular friction (to | ||
5774 | quickly slow the vehicle down when the motor is turned off) then | ||
5775 | set the angular motor to a large vector on a key press, and set | ||
5776 | it to zero when the key is released. That has the effect of | ||
5777 | making the vehicle unresponsive to external collisions, due to | ||
5778 | the angular friction.</P | ||
5779 | ><P | ||
5780 | >Another way to do it is to set the | ||
5781 | VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE to a short value and push | ||
5782 | the vehicle about with a more impulsive method that sets the | ||
5783 | motor fast on a key press down (and optionally setting the motor | ||
5784 | to zero on a key up) relying on the automatic exponential decay | ||
5785 | of the motor's effectiveness rather than a constant angular | ||
5786 | friction.</P | ||
5787 | ><P | ||
5788 | >Finally, it may be possible to discard the angular motor | ||
5789 | entirely and use the VEHICLE_LINEAR_MOTOR_OFFSET. Whenever the | ||
5790 | offset has a component that is perpendicular to the direction | ||
5791 | of the linear motor the vehicle will rotate as it travels. | ||
5792 | Note, with the incorrect values for offset and strength the | ||
5793 | linear motor effect can easily cause the vehicle to tumble | ||
5794 | and spin uncontrollably, so experiement with small offsets | ||
5795 | first!.</P | ||
5796 | ><P | ||
5797 | >Setting the angular motor to zero magnitude is different | ||
5798 | from allowing it to decay. When the motor completely decays | ||
5799 | it no longer affects the motion of the vehicle, however setting | ||
5800 | it to zero will reset the "grip" of the vehicle and | ||
5801 | will make the vehicle try to achieve zero angular velocity. | ||
5802 | </P | ||
5803 | ><P | ||
5804 | >Many real vehicles bank (roll about their | ||
5805 | forward axis) to effect a turn, such as motorcycles and airplanes. | ||
5806 | To make it easier to build banking vehicles there is | ||
5807 | <A | ||
5808 | HREF="#AEN949" | ||
5809 | >banking behavior</A | ||
5810 | > | ||
5811 | available which can be controlled by setting other parameters and is | ||
5812 | described in more detail here.</P | ||
5813 | ><P | ||
5814 | >It is also possible to make a | ||
5815 | <A | ||
5816 | HREF="#AEN921" | ||
5817 | >vehicle turn in response | ||
5818 | to changing the camera view</A | ||
5819 | > | ||
5820 | (right now this only works in mouselook).</P | ||
5821 | ></DIV | ||
5822 | ><DIV | ||
5823 | CLASS="section" | ||
5824 | ><HR><H2 | ||
5825 | CLASS="section" | ||
5826 | ><A | ||
5827 | NAME="AEN921" | ||
5828 | >11.9. Using the Camera to Steer</A | ||
5829 | ></H2 | ||
5830 | ><P | ||
5831 | >The vehicle can be instructed to rotate its forward axis | ||
5832 | to point in the same direction as the camera view. This | ||
5833 | is achieved by setting some flags that change how the | ||
5834 | VEHICLE_ANGULAR_MOTOR_DIRECTION is interpreted. When used properly | ||
5835 | this feature has the advantage of being able to provide simple | ||
5836 | and stable steering that is resilient to bad render frame rates | ||
5837 | on the client. </P | ||
5838 | ><P | ||
5839 | >The flags that affect the angular motor are:</P | ||
5840 | ><P | ||
5841 | ><P | ||
5842 | ></P | ||
5843 | ><UL | ||
5844 | ><LI | ||
5845 | STYLE="list-style-type: opencircle" | ||
5846 | ><P | ||
5847 | > VEHICLE_FLAG_MOUSELOOK_STEER</P | ||
5848 | ><P | ||
5849 | >Steer the vehicle using the mouse. Use this flag to make | ||
5850 | the angular motor try to make the vehicle | ||
5851 | turn such that its local x-axis points in the same direction as | ||
5852 | the client-side camera.</P | ||
5853 | ></LI | ||
5854 | ><LI | ||
5855 | STYLE="list-style-type: opencircle" | ||
5856 | ><P | ||
5857 | > VEHICLE_FLAG_MOUSELOOK_BANK</P | ||
5858 | ><P | ||
5859 | >Same as above, but relies on banking. It remaps left-right | ||
5860 | motions of the client camera (also known as "yaw") to rotations about | ||
5861 | the vehicle's local x-axis (also known as "roll"). </P | ||
5862 | ></LI | ||
5863 | ><LI | ||
5864 | STYLE="list-style-type: opencircle" | ||
5865 | ><P | ||
5866 | > VEHICLE_FLAG_CAMERA_DECOUPLED</P | ||
5867 | ><P | ||
5868 | >Makes mouselook camera rotate independently of the vehicle. | ||
5869 | By default the client mouselook camera will rotate about | ||
5870 | with the vehicle, however when this flag is set the camera | ||
5871 | direction is independent of the vehicle's rotation.</P | ||
5872 | ></LI | ||
5873 | ></UL | ||
5874 | ></P | ||
5875 | ><P | ||
5876 | >When using the VEHICLE_FLAG_MOUSELOOK_STEER (or | ||
5877 | VEHICLE_FLAG_MOUSELOOK_BANK) the meaning of the | ||
5878 | VEHICLE_ANGULAR_MOTOR_DIRECTION parameter subtly changes. Instead | ||
5879 | of representing the "angular velocity" of the motor | ||
5880 | the components of the parameter scale the "measured angular | ||
5881 | velocity" (as determined by the rotation between | ||
5882 | the client's camera view direction and the forward-axis of the vehicle) | ||
5883 | to compute the "final angular velocity". That is, | ||
5884 | suppose you set the angular motor to <0, 0, 5>, then moved the | ||
5885 | camera view to be PI/4 radians to the left of the vehicle's forward axis, | ||
5886 | and down PI/8 toward the ground. | ||
5887 | The measured angular velocity would be <0, -PI/8, PI/4> | ||
5888 | radians/second, but the final velocity would be <0, 0, 5*PI/4>... | ||
5889 | the vehicle will turn left, but will not dip its nose down. | ||
5890 | Thus, by setting a component of the VEHICLE_ANGULAR_MOTOR_DIRECTION | ||
5891 | to zero, one can negate the pitch or yaw response of the motor, | ||
5892 | or even scale one to be much more responsive than the other. | ||
5893 | </P | ||
5894 | ><P | ||
5895 | >The VEHICLE_ANGULAR_MOTOR_TIMESCALE still has an effect when | ||
5896 | using mouselook control, and scales the global responsiveness of the | ||
5897 | angular motor. The VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, on the other | ||
5898 | hand, is ignored when using mouselook controls.</P | ||
5899 | ></DIV | ||
5900 | ><DIV | ||
5901 | CLASS="section" | ||
5902 | ><HR><H2 | ||
5903 | CLASS="section" | ||
5904 | ><A | ||
5905 | NAME="AEN938" | ||
5906 | >11.10. The Vertical Attractor</A | ||
5907 | ></H2 | ||
5908 | ><P | ||
5909 | >Some vehicles, like boats, should always keep their up-side | ||
5910 | up. This can be done by enabling the "vertical | ||
5911 | attractor" behavior that springs the vehicle's local z-axis | ||
5912 | to the world z-axis (a.k.a. "up"). To take advantage of | ||
5913 | this feature you would set the VEHICLE_VERTICAL_ATTRACTION_TIMESCALE | ||
5914 | to control the period of the spring frequency, and then set the | ||
5915 | VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY to control the damping. An | ||
5916 | efficiency of 0.0 will cause the spring to wobble around its | ||
5917 | equilibrium, while an efficiency of 1.0 will cause the spring to | ||
5918 | reach it's equilibrium with exponential decay.</P | ||
5919 | ><P | ||
5920 | ><DIV | ||
5921 | CLASS="informalexample" | ||
5922 | ><P | ||
5923 | ></P | ||
5924 | ><A | ||
5925 | NAME="AEN942" | ||
5926 | ></A | ||
5927 | ><PRE | ||
5928 | CLASS="programlisting" | ||
5929 | > llSetVehicleVectorParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 4.0); | ||
5930 | llSetVehicleVectorParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.5); | ||
5931 | </PRE | ||
5932 | ><P | ||
5933 | ></P | ||
5934 | ></DIV | ||
5935 | ></P | ||
5936 | ><P | ||
5937 | >The vertical attractor is disabled by setting its timescale | ||
5938 | to anything larger than 300 seconds.</P | ||
5939 | ><P | ||
5940 | >Note that by default the vertical attractor will prevent the | ||
5941 | vehicle from diving and climbing. So, if you wanted to make a | ||
5942 | airplane you would probably want to unlock the attractor around the | ||
5943 | pitch axis by setting the VEHICLE_FLAG_LIMIT_ROLL_ONLY bit:</P | ||
5944 | ><P | ||
5945 | ><DIV | ||
5946 | CLASS="informalexample" | ||
5947 | ><P | ||
5948 | ></P | ||
5949 | ><A | ||
5950 | NAME="AEN947" | ||
5951 | ></A | ||
5952 | ><PRE | ||
5953 | CLASS="programlisting" | ||
5954 | > llSetVehicleFlags(VEHICLE_FLAG_LIMIT_ROLL_ONLY); | ||
5955 | </PRE | ||
5956 | ><P | ||
5957 | ></P | ||
5958 | ></DIV | ||
5959 | ></P | ||
5960 | ></DIV | ||
5961 | ><DIV | ||
5962 | CLASS="section" | ||
5963 | ><HR><H2 | ||
5964 | CLASS="section" | ||
5965 | ><A | ||
5966 | NAME="AEN949" | ||
5967 | >11.11. Banking</A | ||
5968 | ></H2 | ||
5969 | ><P | ||
5970 | >The <A | ||
5971 | HREF="#AEN938" | ||
5972 | > vertical attractor</A | ||
5973 | > feature must be enabled in order for | ||
5974 | the banking behavior to function. The way banking works is this: a | ||
5975 | rotation around the vehicle's roll-axis will produce a angular | ||
5976 | velocity around the yaw-axis, causing the vehicle to turn. The | ||
5977 | magnitude of the yaw effect will be proportional to the | ||
5978 | VEHICLE_BANKING_EFFICIENCY, the angle of the roll rotation, and | ||
5979 | sometimes the vehicle's velocity along it's preferred axis of | ||
5980 | motion.</P | ||
5981 | ><P | ||
5982 | >The VEHICLE_BANKING_EFFICIENCY can vary between -1 and +1. When | ||
5983 | it's positive then any positive rotation (by the right-hand rule) | ||
5984 | about the roll-axis will effect a (negative) torque around the | ||
5985 | yaw-axis, making it turn to the right -- that is the vehicle will | ||
5986 | lean into the turn, which is how real airplanes and motorcycle's | ||
5987 | work. Negating the banking coefficient will make it so that the | ||
5988 | vehicle leans to the outside of the turn (not very | ||
5989 | "physical" but might allow interesting vehicles so why | ||
5990 | not?).</P | ||
5991 | ><P | ||
5992 | >The VEHICLE_BANKING_MIX is a fake (i.e. non-physical) | ||
5993 | parameter that is useful for making banking vehicles do what you | ||
5994 | want rather than what the laws of physics allow. For example, | ||
5995 | consider a real motorcycle... it must be moving forward in order | ||
5996 | for it to turn while banking, however video-game motorcycles are | ||
5997 | often configured to turn in place when at a dead stop -- because | ||
5998 | they're often easier to control that way using the limited | ||
5999 | interface of the keyboard or game controller. The | ||
6000 | VEHICLE_BANKING_MIX enables combinations of both realistic and | ||
6001 | non-realistic banking by functioning as a slider between a banking | ||
6002 | that is correspondingly totally static (0.0) and totally dynamic | ||
6003 | (1.0). By "static" we mean that the banking effect | ||
6004 | depends only on the vehicle's rotation about it's roll-axis | ||
6005 | compared to "dynamic" where the banking is also | ||
6006 | proportional to it's velocity along it's roll-axis. Finding the | ||
6007 | best value of the "mixture" will probably require trial | ||
6008 | and error.</P | ||
6009 | ><P | ||
6010 | >The time it takes for the | ||
6011 | banking behavior to defeat a | ||
6012 | pre-existing angular velocity about the world z-axis is determined | ||
6013 | by the VEHICLE_BANKING_TIMESCALE. So if you want the vehicle to | ||
6014 | bank quickly then give it a banking timescale of about a second or | ||
6015 | less, otherwise you can make a sluggish vehicle by giving it a | ||
6016 | timescale of several seconds.</P | ||
6017 | ></DIV | ||
6018 | ><DIV | ||
6019 | CLASS="section" | ||
6020 | ><HR><H2 | ||
6021 | CLASS="section" | ||
6022 | ><A | ||
6023 | NAME="AEN956" | ||
6024 | >11.12. Friction Timescales</A | ||
6025 | ></H2 | ||
6026 | ><P | ||
6027 | > VEHICLE_LINEAR_FRICTION_TIMESCALE is a vector parameter that | ||
6028 | defines the timescales for the vehicle to come to a complete stop | ||
6029 | along the three local axes of the | ||
6030 | <A | ||
6031 | HREF="#AEN990" | ||
6032 | >vehicle's reference frame</A | ||
6033 | >. | ||
6034 | The timescale along each axis is independent of the others. | ||
6035 | For example, a sliding ground car would probably have very little | ||
6036 | friction along its x- and z-axes (so it can easily slide forward | ||
6037 | and fall down) while there would usually significant friction | ||
6038 | along its y-axis:</P | ||
6039 | ><P | ||
6040 | ><DIV | ||
6041 | CLASS="informalexample" | ||
6042 | ><P | ||
6043 | ></P | ||
6044 | ><A | ||
6045 | NAME="AEN961" | ||
6046 | ></A | ||
6047 | ><PRE | ||
6048 | CLASS="programlisting" | ||
6049 | > llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <1000, 1000, 3>); | ||
6050 | </PRE | ||
6051 | ><P | ||
6052 | ></P | ||
6053 | ></DIV | ||
6054 | ></P | ||
6055 | ><P | ||
6056 | >Remember that a longer timescale corresponds to a weaker | ||
6057 | friction, hence to effectively disable all linear friction you | ||
6058 | would set all of the timescales to large values.</P | ||
6059 | ><P | ||
6060 | >Setting the linear friction as a scalar is allowed, and has | ||
6061 | the effect of setting all of the timescales to the same | ||
6062 | value. Both code snippets below are equivalent, and both make friction | ||
6063 | negligible:</P | ||
6064 | ><P | ||
6065 | ><DIV | ||
6066 | CLASS="informalexample" | ||
6067 | ><P | ||
6068 | ></P | ||
6069 | ><A | ||
6070 | NAME="AEN966" | ||
6071 | ></A | ||
6072 | ><PRE | ||
6073 | CLASS="programlisting" | ||
6074 | > // set all linear friction timescales to 1000 | ||
6075 | llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <1000, 1000, 1000>); | ||
6076 | </PRE | ||
6077 | ><P | ||
6078 | ></P | ||
6079 | ></DIV | ||
6080 | ></P | ||
6081 | ><P | ||
6082 | ><DIV | ||
6083 | CLASS="informalexample" | ||
6084 | ><P | ||
6085 | ></P | ||
6086 | ><A | ||
6087 | NAME="AEN969" | ||
6088 | ></A | ||
6089 | ><PRE | ||
6090 | CLASS="programlisting" | ||
6091 | > // same as above, but fewer characters | ||
6092 | llSetVehicleFloatParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, 1000); | ||
6093 | </PRE | ||
6094 | ><P | ||
6095 | ></P | ||
6096 | ></DIV | ||
6097 | ></P | ||
6098 | ><P | ||
6099 | > VEHICLE_ANGULAR_FRICTION_TIMESCALE is also a vector | ||
6100 | parameter that defines the timescales for the vehicle to stop | ||
6101 | rotating about the x-, y-, and z-axes, and are set and disabled in | ||
6102 | the same way as the linear friction.</P | ||
6103 | ></DIV | ||
6104 | ><DIV | ||
6105 | CLASS="section" | ||
6106 | ><HR><H2 | ||
6107 | CLASS="section" | ||
6108 | ><A | ||
6109 | NAME="AEN972" | ||
6110 | >11.13. Buoyancy</A | ||
6111 | ></H2 | ||
6112 | ><P | ||
6113 | >The vehicle has a built-in buoyancy feature that is | ||
6114 | independent of the <A | ||
6115 | HREF="#AEN3773" | ||
6116 | >llSetBuoyancy</A | ||
6117 | > call. It | ||
6118 | is recommended that the two buoyancies do not mix! To make | ||
6119 | a vehicle buoyant, set the VEHICLE_BUOYANCY parameter to something | ||
6120 | between -1.0 (extra gravity) to 1.0 (full anti-gravity). | ||
6121 | </P | ||
6122 | ><P | ||
6123 | >The buoyancy behavior is independent of hover, however | ||
6124 | in order for hover to work without a large offset of the | ||
6125 | VEHICLE_HOVER_HEIGHT, the VEHICLE_BUOYANCY should be set to 1.0. | ||
6126 | </P | ||
6127 | ><P | ||
6128 | >It is not recommended that you mix vehicle buoyancy with | ||
6129 | the <A | ||
6130 | HREF="#AEN3773" | ||
6131 | >llSetBuoyancy</A | ||
6132 | > script call. | ||
6133 | It would probably cause the object to fly up into space.</P | ||
6134 | ></DIV | ||
6135 | ><DIV | ||
6136 | CLASS="section" | ||
6137 | ><HR><H2 | ||
6138 | CLASS="section" | ||
6139 | ><A | ||
6140 | NAME="AEN979" | ||
6141 | >11.14. Hover</A | ||
6142 | ></H2 | ||
6143 | ><P | ||
6144 | >The hover behavior is enabled by setting the | ||
6145 | VEHICLE_HOVER_TIMESCALE to a value less than 300 seconds; larger | ||
6146 | timescales totally disable it. Most vehicles will work | ||
6147 | best with short hover timescales of a few seconds or less. | ||
6148 | The shorter the timescale, the faster the vehicle will | ||
6149 | slave to is target height. Note, that if the values of | ||
6150 | VEHICLE_LINEAR_FRICTION_TIMESCALE may affect the speed of | ||
6151 | the hover.</P | ||
6152 | ><P | ||
6153 | >Hover is independent of buoyancy, however the | ||
6154 | VEHICLE_BUOYANCY should be set to 1.0, otherwise the vehicle | ||
6155 | will not lift itself off of the ground until the | ||
6156 | VEHICLE_HOVER_HEIGHT is made large enough to counter the | ||
6157 | acceleration of gravity, and the vehicle will never float | ||
6158 | all the way to its target height. </P | ||
6159 | ><P | ||
6160 | >The VEHICLE_HOVER_EFFICIENCY can be thought of as a slider | ||
6161 | between bouncy (0.0) and smoothed (1.0). When in the | ||
6162 | bouncy range the vehicle will tend to hover a little lower than | ||
6163 | its target height and the VEHICLE_HOVER_TIMESCALE will be | ||
6164 | approximately the oscillation period of the bounce (the real | ||
6165 | period will tend to be a little longer than the timescale).</P | ||
6166 | ><P | ||
6167 | >For performance reasons, until improvements are made to the | ||
6168 | Second Life physics engine the vehicles can only hover over the | ||
6169 | terrain and water, so they will not be able to hover above | ||
6170 | objects made out of primitives, such as bridges and houses. By | ||
6171 | default the hover behavior will float over terrain and water, | ||
6172 | however this can be changed by setting some flags: </P | ||
6173 | ><P | ||
6174 | >If you wanted to make a boat you should set the | ||
6175 | <A | ||
6176 | HREF="#const_vehicle_flag_hover_water_only" | ||
6177 | > VEHICLE_HOVER_WATER_ONLY </A | ||
6178 | > flag, or if you wanted to drive a hover | ||
6179 | tank under water you would use the | ||
6180 | <A | ||
6181 | HREF="#const_vehicle_flag_hover_terrain_only" | ||
6182 | > VEHICLE_HOVER_TERRAIN_ONLY </A | ||
6183 | > flag instead. | ||
6184 | Finally, if you wanted to make a submarine or a balloon you would use the | ||
6185 | <A | ||
6186 | HREF="#const_vehicle_flag_hover_global_height" | ||
6187 | > VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT</A | ||
6188 | >. Note that | ||
6189 | the flags are independent of each other and that setting two | ||
6190 | contradictory flags will have undefined behavior. The flags are | ||
6191 | set using the script call llSetVehicleFlags().</P | ||
6192 | ><P | ||
6193 | >The VEHICLE_HOVER_HEIGHT determines | ||
6194 | how high the vehicle | ||
6195 | will hover over the terrain and/or water, or the global height, | ||
6196 | and has a maximum value of 100 meters. Note that for hovering | ||
6197 | purposes the "center" of the vehicle is its "center of mass" | ||
6198 | which is not always obvious to the untrained eye, and it | ||
6199 | changes when avatar's sit on the vehicle.</P | ||
6200 | ></DIV | ||
6201 | ><DIV | ||
6202 | CLASS="section" | ||
6203 | ><HR><H2 | ||
6204 | CLASS="section" | ||
6205 | ><A | ||
6206 | NAME="AEN990" | ||
6207 | >11.15. Reference Frame</A | ||
6208 | ></H2 | ||
6209 | ><P | ||
6210 | >The vehicle relies on the x- (at), y- (left), and z- (up) | ||
6211 | axes in order to figure out which way it prefers to move and | ||
6212 | which end is up. By default these axes are identical to the | ||
6213 | local axes of the root primitive of the object, however this | ||
6214 | means that the vehicle's root primitive must, by default, be | ||
6215 | oriented to agree with the designed at, left, and up axes of the | ||
6216 | vehicle. But, what if the vehicle object was already pre-built | ||
6217 | with the root primitive in some non-trivial orientation | ||
6218 | relative to where the vehicle as a whole should move? This is | ||
6219 | where the VEHICLE_REFERENCE_FRAME parameter becomes useful; the | ||
6220 | vehicle's axes can be arbitrarily reoriented by setting this | ||
6221 | parameter. </P | ||
6222 | ><P | ||
6223 | >As an example, suppose you had built a rocket out of a big | ||
6224 | cylinder, a cone for the nose, and some stretched cut boxes for | ||
6225 | the fins, then linked them all together with the cylinder as the | ||
6226 | root primitive. Ideally the rocket would move nose-first, | ||
6227 | however the cylinder's axis of symmetry is its local z-axis while | ||
6228 | the default "at-axis" of the vehicle, the axis it will | ||
6229 | want to deflect to forward under angular deflection, is the local | ||
6230 | x-axis and points out from the curved surface of the cylinder. | ||
6231 | The script code below will rotate the vehicle's axes such that | ||
6232 | the local z-axis becomes the "at-axis" and the local | ||
6233 | negative x-axis becomes the "up-axis":</P | ||
6234 | ><P | ||
6235 | ><DIV | ||
6236 | CLASS="informalexample" | ||
6237 | ><P | ||
6238 | ></P | ||
6239 | ><A | ||
6240 | NAME="AEN995" | ||
6241 | ></A | ||
6242 | ><PRE | ||
6243 | CLASS="programlisting" | ||
6244 | > // rotate the vehicle frame -PI/2 about the local y-axis (left-axis) | ||
6245 | rotation rot = llEuler2Rot(0, PI/2, 0); | ||
6246 | llSetVehicleRotationParam(VEHICLE_REFERENCE_FRAME, rot); | ||
6247 | </PRE | ||
6248 | ><P | ||
6249 | ></P | ||
6250 | ></DIV | ||
6251 | ></P | ||
6252 | ><P | ||
6253 | >Another example of how the reference frame parameter could | ||
6254 | be used is to consider flying craft that uses the vertical | ||
6255 | attractor for stability during flying but wants to use VTOL | ||
6256 | (vertical takeoff and landing). During flight the craft's dorsal | ||
6257 | axis should point up, but during landing its nose-axis should be | ||
6258 | up. To land the vehicle: while the | ||
6259 | <A | ||
6260 | HREF="#AEN938" | ||
6261 | >vertical attractor</A | ||
6262 | > | ||
6263 | is in effect, rotate the existing VEHICLE_REFERENCE_FRAME by +PI/2 | ||
6264 | about the left-axis, then the vehicle will pitch up such that | ||
6265 | it's nose points toward the sky. The vehicle could be allowed to | ||
6266 | fall to the landing pad under friction, or a decreasing hover | ||
6267 | effect. </P | ||
6268 | ></DIV | ||
6269 | ></DIV | ||
6270 | ><DIV | ||
6271 | CLASS="appendix" | ||
6272 | ><HR><H1 | ||
6273 | ><A | ||
6274 | NAME="AEN999" | ||
6275 | ></A | ||
6276 | >Appendix A. Linden Library Functions</H1 | ||
6277 | ><P | ||
6278 | >Complete listing of the Linden Library function calls | ||
6279 | available in lsl.</P | ||
6280 | ><DIV | ||
6281 | CLASS="section" | ||
6282 | ><HR><H2 | ||
6283 | CLASS="section" | ||
6284 | ><A | ||
6285 | NAME="AEN1002" | ||
6286 | >A.1. llAbs</A | ||
6287 | ></H2 | ||
6288 | ><DIV | ||
6289 | CLASS="funcsynopsis" | ||
6290 | ><P | ||
6291 | ></P | ||
6292 | ><A | ||
6293 | NAME="AEN1004" | ||
6294 | ></A | ||
6295 | ><P | ||
6296 | ><CODE | ||
6297 | ><CODE | ||
6298 | CLASS="FUNCDEF" | ||
6299 | >integer llAbs</CODE | ||
6300 | >(integer val);</CODE | ||
6301 | ></P | ||
6302 | ><P | ||
6303 | ></P | ||
6304 | ></DIV | ||
6305 | ><P | ||
6306 | >Returns the absolute value of | ||
6307 | <CODE | ||
6308 | CLASS="parameter" | ||
6309 | >val</CODE | ||
6310 | >.</P | ||
6311 | ></DIV | ||
6312 | ><DIV | ||
6313 | CLASS="section" | ||
6314 | ><HR><H2 | ||
6315 | CLASS="section" | ||
6316 | ><A | ||
6317 | NAME="AEN1012" | ||
6318 | >A.2. llAcos</A | ||
6319 | ></H2 | ||
6320 | ><DIV | ||
6321 | CLASS="funcsynopsis" | ||
6322 | ><P | ||
6323 | ></P | ||
6324 | ><A | ||
6325 | NAME="AEN1014" | ||
6326 | ></A | ||
6327 | ><P | ||
6328 | ><CODE | ||
6329 | ><CODE | ||
6330 | CLASS="FUNCDEF" | ||
6331 | >float llAcos</CODE | ||
6332 | >(float val);</CODE | ||
6333 | ></P | ||
6334 | ><P | ||
6335 | ></P | ||
6336 | ></DIV | ||
6337 | ><P | ||
6338 | >Returns the arccosine in radians of | ||
6339 | <CODE | ||
6340 | CLASS="parameter" | ||
6341 | >val</CODE | ||
6342 | >.</P | ||
6343 | ></DIV | ||
6344 | ><DIV | ||
6345 | CLASS="section" | ||
6346 | ><HR><H2 | ||
6347 | CLASS="section" | ||
6348 | ><A | ||
6349 | NAME="AEN1022" | ||
6350 | >A.3. llAddToLandPassList</A | ||
6351 | ></H2 | ||
6352 | ><DIV | ||
6353 | CLASS="funcsynopsis" | ||
6354 | ><P | ||
6355 | ></P | ||
6356 | ><A | ||
6357 | NAME="AEN1024" | ||
6358 | ></A | ||
6359 | ><P | ||
6360 | ><CODE | ||
6361 | ><CODE | ||
6362 | CLASS="FUNCDEF" | ||
6363 | >llAddToLandPassList</CODE | ||
6364 | >(key avatar, float hours);</CODE | ||
6365 | ></P | ||
6366 | ><P | ||
6367 | ></P | ||
6368 | ></DIV | ||
6369 | ><P | ||
6370 | >Add <CODE | ||
6371 | CLASS="parameter" | ||
6372 | >avatar</CODE | ||
6373 | > to the land pass list for | ||
6374 | <CODE | ||
6375 | CLASS="parameter" | ||
6376 | >hours</CODE | ||
6377 | >.</P | ||
6378 | ></DIV | ||
6379 | ><DIV | ||
6380 | CLASS="section" | ||
6381 | ><HR><H2 | ||
6382 | CLASS="section" | ||
6383 | ><A | ||
6384 | NAME="AEN1035" | ||
6385 | >A.4. llAdjustSoundVolume</A | ||
6386 | ></H2 | ||
6387 | ><DIV | ||
6388 | CLASS="funcsynopsis" | ||
6389 | ><P | ||
6390 | ></P | ||
6391 | ><A | ||
6392 | NAME="AEN1037" | ||
6393 | ></A | ||
6394 | ><P | ||
6395 | ><CODE | ||
6396 | ><CODE | ||
6397 | CLASS="FUNCDEF" | ||
6398 | >llAdjustSoundVolume</CODE | ||
6399 | >(float volume);</CODE | ||
6400 | ></P | ||
6401 | ><P | ||
6402 | ></P | ||
6403 | ></DIV | ||
6404 | ><P | ||
6405 | >Adjusts the volume of the currently playing attached sound | ||
6406 | started with <A | ||
6407 | HREF="#AEN3184" | ||
6408 | >llPlaySound</A | ||
6409 | > or | ||
6410 | <A | ||
6411 | HREF="#AEN2773" | ||
6412 | >llLoopSound</A | ||
6413 | >. This function | ||
6414 | Has no effect on sounds started with <A | ||
6415 | HREF="#AEN4756" | ||
6416 | >llTriggerSound</A | ||
6417 | >.</P | ||
6418 | ></DIV | ||
6419 | ><DIV | ||
6420 | CLASS="section" | ||
6421 | ><HR><H2 | ||
6422 | CLASS="section" | ||
6423 | ><A | ||
6424 | NAME="AEN1047" | ||
6425 | >A.5. llAllowInventoryDrop</A | ||
6426 | ></H2 | ||
6427 | ><DIV | ||
6428 | CLASS="funcsynopsis" | ||
6429 | ><P | ||
6430 | ></P | ||
6431 | ><A | ||
6432 | NAME="AEN1049" | ||
6433 | ></A | ||
6434 | ><P | ||
6435 | ><CODE | ||
6436 | ><CODE | ||
6437 | CLASS="FUNCDEF" | ||
6438 | >llAllowInventoryDrop</CODE | ||
6439 | >(integer add);</CODE | ||
6440 | ></P | ||
6441 | ><P | ||
6442 | ></P | ||
6443 | ></DIV | ||
6444 | ><P | ||
6445 | >If <CODE | ||
6446 | CLASS="parameter" | ||
6447 | >add</CODE | ||
6448 | > == TRUE, users that do no have | ||
6449 | object modify permissions can still drop inventory items onto | ||
6450 | object.</P | ||
6451 | ></DIV | ||
6452 | ><DIV | ||
6453 | CLASS="section" | ||
6454 | ><HR><H2 | ||
6455 | CLASS="section" | ||
6456 | ><A | ||
6457 | NAME="AEN1057" | ||
6458 | >A.6. llAngleBetween</A | ||
6459 | ></H2 | ||
6460 | ><DIV | ||
6461 | CLASS="funcsynopsis" | ||
6462 | ><P | ||
6463 | ></P | ||
6464 | ><A | ||
6465 | NAME="AEN1059" | ||
6466 | ></A | ||
6467 | ><P | ||
6468 | ><CODE | ||
6469 | ><CODE | ||
6470 | CLASS="FUNCDEF" | ||
6471 | >float llAngleBetween</CODE | ||
6472 | >(rotation a, rotation b);</CODE | ||
6473 | ></P | ||
6474 | ><P | ||
6475 | ></P | ||
6476 | ></DIV | ||
6477 | ><P | ||
6478 | >Returns the angle in radians between rotations | ||
6479 | <CODE | ||
6480 | CLASS="parameter" | ||
6481 | >a</CODE | ||
6482 | > and <CODE | ||
6483 | CLASS="parameter" | ||
6484 | >b</CODE | ||
6485 | >.</P | ||
6486 | ></DIV | ||
6487 | ><DIV | ||
6488 | CLASS="section" | ||
6489 | ><HR><H2 | ||
6490 | CLASS="section" | ||
6491 | ><A | ||
6492 | NAME="AEN1070" | ||
6493 | >A.7. llApplyImpulse</A | ||
6494 | ></H2 | ||
6495 | ><DIV | ||
6496 | CLASS="funcsynopsis" | ||
6497 | ><P | ||
6498 | ></P | ||
6499 | ><A | ||
6500 | NAME="AEN1072" | ||
6501 | ></A | ||
6502 | ><P | ||
6503 | ><CODE | ||
6504 | ><CODE | ||
6505 | CLASS="FUNCDEF" | ||
6506 | >llApplyImpulse</CODE | ||
6507 | >(vector force, integer local);</CODE | ||
6508 | ></P | ||
6509 | ><P | ||
6510 | ></P | ||
6511 | ></DIV | ||
6512 | ><P | ||
6513 | >Applies the <CODE | ||
6514 | CLASS="parameter" | ||
6515 | >impulse</CODE | ||
6516 | > in local | ||
6517 | coordinates if <CODE | ||
6518 | CLASS="parameter" | ||
6519 | >local</CODE | ||
6520 | > == TRUE. Otherwise the | ||
6521 | impulse is applied in global coordinates. This function only works | ||
6522 | on physical objects.</P | ||
6523 | ></DIV | ||
6524 | ><DIV | ||
6525 | CLASS="section" | ||
6526 | ><HR><H2 | ||
6527 | CLASS="section" | ||
6528 | ><A | ||
6529 | NAME="AEN1083" | ||
6530 | >A.8. llApplyRotationalImpulse</A | ||
6531 | ></H2 | ||
6532 | ><DIV | ||
6533 | CLASS="funcsynopsis" | ||
6534 | ><P | ||
6535 | ></P | ||
6536 | ><A | ||
6537 | NAME="AEN1085" | ||
6538 | ></A | ||
6539 | ><P | ||
6540 | ><CODE | ||
6541 | ><CODE | ||
6542 | CLASS="FUNCDEF" | ||
6543 | >llApplyRotationalImpulse</CODE | ||
6544 | >(vector force, integer local);</CODE | ||
6545 | ></P | ||
6546 | ><P | ||
6547 | ></P | ||
6548 | ></DIV | ||
6549 | ><P | ||
6550 | >Applies a rotational <CODE | ||
6551 | CLASS="parameter" | ||
6552 | >impulse</CODE | ||
6553 | > force in | ||
6554 | local coordinates if <CODE | ||
6555 | CLASS="parameter" | ||
6556 | >local</CODE | ||
6557 | > == | ||
6558 | TRUE. Otherwise the impulse is applied in global coordinates. This | ||
6559 | function only works on physical objects.</P | ||
6560 | ></DIV | ||
6561 | ><DIV | ||
6562 | CLASS="section" | ||
6563 | ><HR><H2 | ||
6564 | CLASS="section" | ||
6565 | ><A | ||
6566 | NAME="AEN1096" | ||
6567 | >A.9. llAsin</A | ||
6568 | ></H2 | ||
6569 | ><DIV | ||
6570 | CLASS="funcsynopsis" | ||
6571 | ><P | ||
6572 | ></P | ||
6573 | ><A | ||
6574 | NAME="AEN1098" | ||
6575 | ></A | ||
6576 | ><P | ||
6577 | ><CODE | ||
6578 | ><CODE | ||
6579 | CLASS="FUNCDEF" | ||
6580 | >float llAsin</CODE | ||
6581 | >(float val);</CODE | ||
6582 | ></P | ||
6583 | ><P | ||
6584 | ></P | ||
6585 | ></DIV | ||
6586 | ><P | ||
6587 | >Returns the arcsine in radians of | ||
6588 | <CODE | ||
6589 | CLASS="parameter" | ||
6590 | >val</CODE | ||
6591 | >.</P | ||
6592 | ></DIV | ||
6593 | ><DIV | ||
6594 | CLASS="section" | ||
6595 | ><HR><H2 | ||
6596 | CLASS="section" | ||
6597 | ><A | ||
6598 | NAME="AEN1106" | ||
6599 | >A.10. llAtan2</A | ||
6600 | ></H2 | ||
6601 | ><DIV | ||
6602 | CLASS="funcsynopsis" | ||
6603 | ><P | ||
6604 | ></P | ||
6605 | ><A | ||
6606 | NAME="AEN1108" | ||
6607 | ></A | ||
6608 | ><P | ||
6609 | ><CODE | ||
6610 | ><CODE | ||
6611 | CLASS="FUNCDEF" | ||
6612 | >float llAtan2</CODE | ||
6613 | >(float y, float x);</CODE | ||
6614 | ></P | ||
6615 | ><P | ||
6616 | ></P | ||
6617 | ></DIV | ||
6618 | ><P | ||
6619 | >returns the arctangent2 of <CODE | ||
6620 | CLASS="parameter" | ||
6621 | >y</CODE | ||
6622 | >, | ||
6623 | <CODE | ||
6624 | CLASS="parameter" | ||
6625 | >x</CODE | ||
6626 | ></P | ||
6627 | ></DIV | ||
6628 | ><DIV | ||
6629 | CLASS="section" | ||
6630 | ><HR><H2 | ||
6631 | CLASS="section" | ||
6632 | ><A | ||
6633 | NAME="AEN1119" | ||
6634 | >A.11. llAttachToAvatar</A | ||
6635 | ></H2 | ||
6636 | ><DIV | ||
6637 | CLASS="funcsynopsis" | ||
6638 | ><P | ||
6639 | ></P | ||
6640 | ><A | ||
6641 | NAME="AEN1121" | ||
6642 | ></A | ||
6643 | ><P | ||
6644 | ><CODE | ||
6645 | ><CODE | ||
6646 | CLASS="FUNCDEF" | ||
6647 | >llAttachToAvatar</CODE | ||
6648 | >(key avatar, integer attachment);</CODE | ||
6649 | ></P | ||
6650 | ><P | ||
6651 | ></P | ||
6652 | ></DIV | ||
6653 | ><P | ||
6654 | >Attach to <CODE | ||
6655 | CLASS="parameter" | ||
6656 | >avatar</CODE | ||
6657 | > at point <A | ||
6658 | HREF="#AEN5448" | ||
6659 | ><CODE | ||
6660 | CLASS="parameter" | ||
6661 | >attachment</CODE | ||
6662 | ></A | ||
6663 | >. | ||
6664 | Requires the <A | ||
6665 | HREF="#const_permission_attach" | ||
6666 | >PERMISSION_ATTACH</A | ||
6667 | > runtime | ||
6668 | permission.</P | ||
6669 | ></DIV | ||
6670 | ><DIV | ||
6671 | CLASS="section" | ||
6672 | ><HR><H2 | ||
6673 | CLASS="section" | ||
6674 | ><A | ||
6675 | NAME="AEN1134" | ||
6676 | >A.12. llAvatarOnSitTarget</A | ||
6677 | ></H2 | ||
6678 | ><DIV | ||
6679 | CLASS="funcsynopsis" | ||
6680 | ><P | ||
6681 | ></P | ||
6682 | ><A | ||
6683 | NAME="AEN1136" | ||
6684 | ></A | ||
6685 | ><P | ||
6686 | ><CODE | ||
6687 | ><CODE | ||
6688 | CLASS="FUNCDEF" | ||
6689 | >key llAvatarOnSitTarget</CODE | ||
6690 | >(void);</CODE | ||
6691 | ></P | ||
6692 | ><P | ||
6693 | ></P | ||
6694 | ></DIV | ||
6695 | ><P | ||
6696 | >If an avatar is sitting on the sit target, return | ||
6697 | the avatar's key, <A | ||
6698 | HREF="#AEN6070" | ||
6699 | >NULL_KEY</A | ||
6700 | > otherwise. | ||
6701 | This only will detect avatars sitting on sit targets defined with <A | ||
6702 | HREF="#AEN4312" | ||
6703 | >llSitTarget</A | ||
6704 | >.</P | ||
6705 | ></DIV | ||
6706 | ><DIV | ||
6707 | CLASS="section" | ||
6708 | ><HR><H2 | ||
6709 | CLASS="section" | ||
6710 | ><A | ||
6711 | NAME="AEN1144" | ||
6712 | >A.13. llAxes2Rot</A | ||
6713 | ></H2 | ||
6714 | ><DIV | ||
6715 | CLASS="funcsynopsis" | ||
6716 | ><P | ||
6717 | ></P | ||
6718 | ><A | ||
6719 | NAME="AEN1146" | ||
6720 | ></A | ||
6721 | ><P | ||
6722 | ><CODE | ||
6723 | ><CODE | ||
6724 | CLASS="FUNCDEF" | ||
6725 | >rotation llAxes2Rot</CODE | ||
6726 | >(vector fwd, vector left, vector up);</CODE | ||
6727 | ></P | ||
6728 | ><P | ||
6729 | ></P | ||
6730 | ></DIV | ||
6731 | ><P | ||
6732 | >Returns the rotation represented by coordinate axes | ||
6733 | <CODE | ||
6734 | CLASS="parameter" | ||
6735 | >fwd</CODE | ||
6736 | >, <CODE | ||
6737 | CLASS="parameter" | ||
6738 | >left</CODE | ||
6739 | >, and | ||
6740 | <CODE | ||
6741 | CLASS="parameter" | ||
6742 | >up</CODE | ||
6743 | >.</P | ||
6744 | ></DIV | ||
6745 | ><DIV | ||
6746 | CLASS="section" | ||
6747 | ><HR><H2 | ||
6748 | CLASS="section" | ||
6749 | ><A | ||
6750 | NAME="AEN1160" | ||
6751 | >A.14. llAxisAngle2Rot</A | ||
6752 | ></H2 | ||
6753 | ><DIV | ||
6754 | CLASS="funcsynopsis" | ||
6755 | ><P | ||
6756 | ></P | ||
6757 | ><A | ||
6758 | NAME="AEN1162" | ||
6759 | ></A | ||
6760 | ><P | ||
6761 | ><CODE | ||
6762 | ><CODE | ||
6763 | CLASS="FUNCDEF" | ||
6764 | >rotation llAxisAngle2Rot</CODE | ||
6765 | >(vector axis, float angle);</CODE | ||
6766 | ></P | ||
6767 | ><P | ||
6768 | ></P | ||
6769 | ></DIV | ||
6770 | ><P | ||
6771 | >Returns the rotation generated <CODE | ||
6772 | CLASS="parameter" | ||
6773 | >angle</CODE | ||
6774 | > | ||
6775 | about <CODE | ||
6776 | CLASS="parameter" | ||
6777 | >axis</CODE | ||
6778 | >.</P | ||
6779 | ></DIV | ||
6780 | ><DIV | ||
6781 | CLASS="section" | ||
6782 | ><HR><H2 | ||
6783 | CLASS="section" | ||
6784 | ><A | ||
6785 | NAME="AEN1173" | ||
6786 | >A.15. llBase64ToString</A | ||
6787 | ></H2 | ||
6788 | ><DIV | ||
6789 | CLASS="funcsynopsis" | ||
6790 | ><P | ||
6791 | ></P | ||
6792 | ><A | ||
6793 | NAME="AEN1175" | ||
6794 | ></A | ||
6795 | ><P | ||
6796 | ><CODE | ||
6797 | ><CODE | ||
6798 | CLASS="FUNCDEF" | ||
6799 | >string llBase64ToString</CODE | ||
6800 | >(string str);</CODE | ||
6801 | ></P | ||
6802 | ><P | ||
6803 | ></P | ||
6804 | ></DIV | ||
6805 | ><P | ||
6806 | >Converts a Base 64 string to a conventional string. If the | ||
6807 | conversion creates any unprintable characters, they are converted to | ||
6808 | spaces.</P | ||
6809 | ></DIV | ||
6810 | ><DIV | ||
6811 | CLASS="section" | ||
6812 | ><HR><H2 | ||
6813 | CLASS="section" | ||
6814 | ><A | ||
6815 | NAME="AEN1182" | ||
6816 | >A.16. llBreakAllLinks</A | ||
6817 | ></H2 | ||
6818 | ><DIV | ||
6819 | CLASS="funcsynopsis" | ||
6820 | ><P | ||
6821 | ></P | ||
6822 | ><A | ||
6823 | NAME="AEN1184" | ||
6824 | ></A | ||
6825 | ><P | ||
6826 | ><CODE | ||
6827 | ><CODE | ||
6828 | CLASS="FUNCDEF" | ||
6829 | >llBreakAllLinks</CODE | ||
6830 | >(void);</CODE | ||
6831 | ></P | ||
6832 | ><P | ||
6833 | ></P | ||
6834 | ></DIV | ||
6835 | ><P | ||
6836 | >Delinks all objects in the link set. Requires the permission | ||
6837 | <A | ||
6838 | HREF="#const_permission_change_links" | ||
6839 | >PERMISSION_CHANGE_LINKS</A | ||
6840 | > | ||
6841 | be set.</P | ||
6842 | ></DIV | ||
6843 | ><DIV | ||
6844 | CLASS="section" | ||
6845 | ><HR><H2 | ||
6846 | CLASS="section" | ||
6847 | ><A | ||
6848 | NAME="AEN1191" | ||
6849 | >A.17. llBreakLink</A | ||
6850 | ></H2 | ||
6851 | ><DIV | ||
6852 | CLASS="funcsynopsis" | ||
6853 | ><P | ||
6854 | ></P | ||
6855 | ><A | ||
6856 | NAME="AEN1193" | ||
6857 | ></A | ||
6858 | ><P | ||
6859 | ><CODE | ||
6860 | ><CODE | ||
6861 | CLASS="FUNCDEF" | ||
6862 | >llBreakLink</CODE | ||
6863 | >(integer linknum);</CODE | ||
6864 | ></P | ||
6865 | ><P | ||
6866 | ></P | ||
6867 | ></DIV | ||
6868 | ><P | ||
6869 | >Delinks the object with the given | ||
6870 | <CODE | ||
6871 | CLASS="parameter" | ||
6872 | >link</CODE | ||
6873 | > number. Requires permission <A | ||
6874 | HREF="#const_permission_change_links" | ||
6875 | >PERMISSION_CHANGE_LINKS</A | ||
6876 | > | ||
6877 | be set.</P | ||
6878 | ></DIV | ||
6879 | ><DIV | ||
6880 | CLASS="section" | ||
6881 | ><HR><H2 | ||
6882 | CLASS="section" | ||
6883 | ><A | ||
6884 | NAME="AEN1202" | ||
6885 | >A.18. llCSV2List</A | ||
6886 | ></H2 | ||
6887 | ><DIV | ||
6888 | CLASS="funcsynopsis" | ||
6889 | ><P | ||
6890 | ></P | ||
6891 | ><A | ||
6892 | NAME="AEN1204" | ||
6893 | ></A | ||
6894 | ><P | ||
6895 | ><CODE | ||
6896 | ><CODE | ||
6897 | CLASS="FUNCDEF" | ||
6898 | >list llCSV2List</CODE | ||
6899 | >(string src);</CODE | ||
6900 | ></P | ||
6901 | ><P | ||
6902 | ></P | ||
6903 | ></DIV | ||
6904 | ><P | ||
6905 | >Create a list from a string of comma separated values | ||
6906 | specified in <CODE | ||
6907 | CLASS="parameter" | ||
6908 | >src</CODE | ||
6909 | >.</P | ||
6910 | ></DIV | ||
6911 | ><DIV | ||
6912 | CLASS="section" | ||
6913 | ><HR><H2 | ||
6914 | CLASS="section" | ||
6915 | ><A | ||
6916 | NAME="AEN1212" | ||
6917 | >A.19. llCeil</A | ||
6918 | ></H2 | ||
6919 | ><DIV | ||
6920 | CLASS="funcsynopsis" | ||
6921 | ><P | ||
6922 | ></P | ||
6923 | ><A | ||
6924 | NAME="AEN1214" | ||
6925 | ></A | ||
6926 | ><P | ||
6927 | ><CODE | ||
6928 | ><CODE | ||
6929 | CLASS="FUNCDEF" | ||
6930 | >integer llCeil</CODE | ||
6931 | >(float val);</CODE | ||
6932 | ></P | ||
6933 | ><P | ||
6934 | ></P | ||
6935 | ></DIV | ||
6936 | ><P | ||
6937 | >Returns largest integer value >= | ||
6938 | <CODE | ||
6939 | CLASS="parameter" | ||
6940 | >val</CODE | ||
6941 | >.</P | ||
6942 | ></DIV | ||
6943 | ><DIV | ||
6944 | CLASS="section" | ||
6945 | ><HR><H2 | ||
6946 | CLASS="section" | ||
6947 | ><A | ||
6948 | NAME="AEN1222" | ||
6949 | >A.20. llCloseRemoteDataChannel</A | ||
6950 | ></H2 | ||
6951 | ><DIV | ||
6952 | CLASS="funcsynopsis" | ||
6953 | ><P | ||
6954 | ></P | ||
6955 | ><A | ||
6956 | NAME="AEN1224" | ||
6957 | ></A | ||
6958 | ><P | ||
6959 | ><CODE | ||
6960 | ><CODE | ||
6961 | CLASS="FUNCDEF" | ||
6962 | >llCloseRemoteDataChannel</CODE | ||
6963 | >(key channel);</CODE | ||
6964 | ></P | ||
6965 | ><P | ||
6966 | ></P | ||
6967 | ></DIV | ||
6968 | ><P | ||
6969 | >Closes XML-RPC channel.</P | ||
6970 | ></DIV | ||
6971 | ><DIV | ||
6972 | CLASS="section" | ||
6973 | ><HR><H2 | ||
6974 | CLASS="section" | ||
6975 | ><A | ||
6976 | NAME="AEN1231" | ||
6977 | >A.21. llCloud</A | ||
6978 | ></H2 | ||
6979 | ><DIV | ||
6980 | CLASS="funcsynopsis" | ||
6981 | ><P | ||
6982 | ></P | ||
6983 | ><A | ||
6984 | NAME="AEN1233" | ||
6985 | ></A | ||
6986 | ><P | ||
6987 | ><CODE | ||
6988 | ><CODE | ||
6989 | CLASS="FUNCDEF" | ||
6990 | >float llCloud</CODE | ||
6991 | >(vector offset);</CODE | ||
6992 | ></P | ||
6993 | ><P | ||
6994 | ></P | ||
6995 | ></DIV | ||
6996 | ><P | ||
6997 | >Returns the cloud density at the object position + | ||
6998 | <CODE | ||
6999 | CLASS="parameter" | ||
7000 | >offset</CODE | ||
7001 | >.</P | ||
7002 | ></DIV | ||
7003 | ><DIV | ||
7004 | CLASS="section" | ||
7005 | ><HR><H2 | ||
7006 | CLASS="section" | ||
7007 | ><A | ||
7008 | NAME="AEN1241" | ||
7009 | >A.22. llCollisionFilter</A | ||
7010 | ></H2 | ||
7011 | ><DIV | ||
7012 | CLASS="funcsynopsis" | ||
7013 | ><P | ||
7014 | ></P | ||
7015 | ><A | ||
7016 | NAME="AEN1243" | ||
7017 | ></A | ||
7018 | ><P | ||
7019 | ><CODE | ||
7020 | ><CODE | ||
7021 | CLASS="FUNCDEF" | ||
7022 | >llCollisionFilter</CODE | ||
7023 | >(string name, key id, integer accept);</CODE | ||
7024 | ></P | ||
7025 | ><P | ||
7026 | ></P | ||
7027 | ></DIV | ||
7028 | ><P | ||
7029 | >If <CODE | ||
7030 | CLASS="parameter" | ||
7031 | >accept</CODE | ||
7032 | > == TRUE, only accept | ||
7033 | collisions with objects <CODE | ||
7034 | CLASS="parameter" | ||
7035 | >name</CODE | ||
7036 | > and | ||
7037 | <CODE | ||
7038 | CLASS="parameter" | ||
7039 | >id</CODE | ||
7040 | >, otherwise with objects not | ||
7041 | <CODE | ||
7042 | CLASS="parameter" | ||
7043 | >name</CODE | ||
7044 | > or <CODE | ||
7045 | CLASS="parameter" | ||
7046 | >id</CODE | ||
7047 | >. Specify | ||
7048 | an empty string or <A | ||
7049 | HREF="#AEN6070" | ||
7050 | >NULL_KEY</A | ||
7051 | > to | ||
7052 | not filter on the corresponding parameter.</P | ||
7053 | ></DIV | ||
7054 | ><DIV | ||
7055 | CLASS="section" | ||
7056 | ><HR><H2 | ||
7057 | CLASS="section" | ||
7058 | ><A | ||
7059 | NAME="AEN1260" | ||
7060 | >A.23. llCollisionSound</A | ||
7061 | ></H2 | ||
7062 | ><DIV | ||
7063 | CLASS="funcsynopsis" | ||
7064 | ><P | ||
7065 | ></P | ||
7066 | ><A | ||
7067 | NAME="AEN1262" | ||
7068 | ></A | ||
7069 | ><P | ||
7070 | ><CODE | ||
7071 | ><CODE | ||
7072 | CLASS="FUNCDEF" | ||
7073 | >llCollisionSound</CODE | ||
7074 | >(string impact_sound, float impact_volume);</CODE | ||
7075 | ></P | ||
7076 | ><P | ||
7077 | ></P | ||
7078 | ></DIV | ||
7079 | ><P | ||
7080 | >Suppress default collision sounds, replace default impact | ||
7081 | sounds with <CODE | ||
7082 | CLASS="parameter" | ||
7083 | >impact_sound</CODE | ||
7084 | > found in the | ||
7085 | object inventory. Supply an empty string to suppress collision | ||
7086 | sounds.</P | ||
7087 | ></DIV | ||
7088 | ><DIV | ||
7089 | CLASS="section" | ||
7090 | ><HR><H2 | ||
7091 | CLASS="section" | ||
7092 | ><A | ||
7093 | NAME="AEN1272" | ||
7094 | >A.24. llCollisionSprite</A | ||
7095 | ></H2 | ||
7096 | ><DIV | ||
7097 | CLASS="funcsynopsis" | ||
7098 | ><P | ||
7099 | ></P | ||
7100 | ><A | ||
7101 | NAME="AEN1274" | ||
7102 | ></A | ||
7103 | ><P | ||
7104 | ><CODE | ||
7105 | ><CODE | ||
7106 | CLASS="FUNCDEF" | ||
7107 | >llCollisionSprite</CODE | ||
7108 | >(string impact_sprite);</CODE | ||
7109 | ></P | ||
7110 | ><P | ||
7111 | ></P | ||
7112 | ></DIV | ||
7113 | ><P | ||
7114 | >Suppress default collision sprites, replace default impact | ||
7115 | sprite with <CODE | ||
7116 | CLASS="parameter" | ||
7117 | >impact_sprite</CODE | ||
7118 | > found in the | ||
7119 | object inventory. Supply an empty string to just suppress.</P | ||
7120 | ></DIV | ||
7121 | ><DIV | ||
7122 | CLASS="section" | ||
7123 | ><HR><H2 | ||
7124 | CLASS="section" | ||
7125 | ><A | ||
7126 | NAME="AEN1282" | ||
7127 | >A.25. llCos</A | ||
7128 | ></H2 | ||
7129 | ><DIV | ||
7130 | CLASS="funcsynopsis" | ||
7131 | ><P | ||
7132 | ></P | ||
7133 | ><A | ||
7134 | NAME="AEN1284" | ||
7135 | ></A | ||
7136 | ><P | ||
7137 | ><CODE | ||
7138 | ><CODE | ||
7139 | CLASS="FUNCDEF" | ||
7140 | >float llCos</CODE | ||
7141 | >(float theta);</CODE | ||
7142 | ></P | ||
7143 | ><P | ||
7144 | ></P | ||
7145 | ></DIV | ||
7146 | ><P | ||
7147 | >Returns the cosine of <CODE | ||
7148 | CLASS="parameter" | ||
7149 | >theta</CODE | ||
7150 | > | ||
7151 | radians.</P | ||
7152 | ></DIV | ||
7153 | ><DIV | ||
7154 | CLASS="section" | ||
7155 | ><HR><H2 | ||
7156 | CLASS="section" | ||
7157 | ><A | ||
7158 | NAME="AEN1292" | ||
7159 | >A.26. llCreateLink</A | ||
7160 | ></H2 | ||
7161 | ><DIV | ||
7162 | CLASS="funcsynopsis" | ||
7163 | ><P | ||
7164 | ></P | ||
7165 | ><A | ||
7166 | NAME="AEN1294" | ||
7167 | ></A | ||
7168 | ><P | ||
7169 | ><CODE | ||
7170 | ><CODE | ||
7171 | CLASS="FUNCDEF" | ||
7172 | >llCreateLink</CODE | ||
7173 | >(key target, integer parent);</CODE | ||
7174 | ></P | ||
7175 | ><P | ||
7176 | ></P | ||
7177 | ></DIV | ||
7178 | ><P | ||
7179 | >Attempt to link object script is attached to and | ||
7180 | <CODE | ||
7181 | CLASS="parameter" | ||
7182 | >target</CODE | ||
7183 | >. Requires permission <A | ||
7184 | HREF="#const_permission_change_links" | ||
7185 | >PERMISSION_CHANGE_LINKS</A | ||
7186 | > | ||
7187 | be set. If <CODE | ||
7188 | CLASS="parameter" | ||
7189 | >parent</CODE | ||
7190 | > == TRUE, object script is | ||
7191 | attached to is the root.</P | ||
7192 | ></DIV | ||
7193 | ><DIV | ||
7194 | CLASS="section" | ||
7195 | ><HR><H2 | ||
7196 | CLASS="section" | ||
7197 | ><A | ||
7198 | NAME="AEN1306" | ||
7199 | >A.27. llDeleteSubList</A | ||
7200 | ></H2 | ||
7201 | ><DIV | ||
7202 | CLASS="funcsynopsis" | ||
7203 | ><P | ||
7204 | ></P | ||
7205 | ><A | ||
7206 | NAME="AEN1308" | ||
7207 | ></A | ||
7208 | ><P | ||
7209 | ><CODE | ||
7210 | ><CODE | ||
7211 | CLASS="FUNCDEF" | ||
7212 | >list llDeleteSubList</CODE | ||
7213 | >(list src, integer start, integer end);</CODE | ||
7214 | ></P | ||
7215 | ><P | ||
7216 | ></P | ||
7217 | ></DIV | ||
7218 | ><P | ||
7219 | >Remove the slice from the list and return the remainder. | ||
7220 | The <CODE | ||
7221 | CLASS="parameter" | ||
7222 | >start</CODE | ||
7223 | > and <CODE | ||
7224 | CLASS="parameter" | ||
7225 | >end</CODE | ||
7226 | > | ||
7227 | are inclusive, so 0, length - 1 would delete the entire list and | ||
7228 | 0,0 would delete the first list entry. Using negative numbers for | ||
7229 | <CODE | ||
7230 | CLASS="parameter" | ||
7231 | >start</CODE | ||
7232 | > and/or <CODE | ||
7233 | CLASS="parameter" | ||
7234 | >end</CODE | ||
7235 | > | ||
7236 | causes the index to count backwards from the length of the list, | ||
7237 | so 0,-1 would delete the entire list. If | ||
7238 | <CODE | ||
7239 | CLASS="parameter" | ||
7240 | >start</CODE | ||
7241 | > is larger than | ||
7242 | <CODE | ||
7243 | CLASS="parameter" | ||
7244 | >end</CODE | ||
7245 | > the list deleted is the exclusion of the | ||
7246 | entries, so 6,4 would delete the entire list except for the | ||
7247 | 5<SUP | ||
7248 | >th</SUP | ||
7249 | > list entry.</P | ||
7250 | ></DIV | ||
7251 | ><DIV | ||
7252 | CLASS="section" | ||
7253 | ><HR><H2 | ||
7254 | CLASS="section" | ||
7255 | ><A | ||
7256 | NAME="AEN1326" | ||
7257 | >A.28. llDeleteSubString</A | ||
7258 | ></H2 | ||
7259 | ><DIV | ||
7260 | CLASS="funcsynopsis" | ||
7261 | ><P | ||
7262 | ></P | ||
7263 | ><A | ||
7264 | NAME="AEN1328" | ||
7265 | ></A | ||
7266 | ><P | ||
7267 | ><CODE | ||
7268 | ><CODE | ||
7269 | CLASS="FUNCDEF" | ||
7270 | >string llDeleteSubString</CODE | ||
7271 | >(string src, integer start, integer end);</CODE | ||
7272 | ></P | ||
7273 | ><P | ||
7274 | ></P | ||
7275 | ></DIV | ||
7276 | ><P | ||
7277 | >Removes the indicated substring and returns the result. The | ||
7278 | <CODE | ||
7279 | CLASS="parameter" | ||
7280 | >start</CODE | ||
7281 | > and <CODE | ||
7282 | CLASS="parameter" | ||
7283 | >end</CODE | ||
7284 | > are | ||
7285 | inclusive, so 0,length-1 would delete the entire string and 0,0 | ||
7286 | would delete the first character. Using negative numbers for | ||
7287 | <CODE | ||
7288 | CLASS="parameter" | ||
7289 | >start</CODE | ||
7290 | > and/or <CODE | ||
7291 | CLASS="parameter" | ||
7292 | >end</CODE | ||
7293 | > | ||
7294 | causes the index to count backwards from the length of the string, | ||
7295 | so 0,-1 would delete the entire string. If | ||
7296 | <CODE | ||
7297 | CLASS="parameter" | ||
7298 | >start</CODE | ||
7299 | > is larger than end the sub string is | ||
7300 | the exclusion of the entries, so 6,4 would delete the entire | ||
7301 | string except for the 5<SUP | ||
7302 | >th</SUP | ||
7303 | > | ||
7304 | character.</P | ||
7305 | ></DIV | ||
7306 | ><DIV | ||
7307 | CLASS="section" | ||
7308 | ><HR><H2 | ||
7309 | CLASS="section" | ||
7310 | ><A | ||
7311 | NAME="AEN1345" | ||
7312 | >A.29. llDetachFromAvatar</A | ||
7313 | ></H2 | ||
7314 | ><DIV | ||
7315 | CLASS="funcsynopsis" | ||
7316 | ><P | ||
7317 | ></P | ||
7318 | ><A | ||
7319 | NAME="AEN1347" | ||
7320 | ></A | ||
7321 | ><P | ||
7322 | ><CODE | ||
7323 | ><CODE | ||
7324 | CLASS="FUNCDEF" | ||
7325 | >llDetachFromAvatar</CODE | ||
7326 | >(key avatar);</CODE | ||
7327 | ></P | ||
7328 | ><P | ||
7329 | ></P | ||
7330 | ></DIV | ||
7331 | ><P | ||
7332 | >Drop off of <CODE | ||
7333 | CLASS="parameter" | ||
7334 | >avatar</CODE | ||
7335 | >.</P | ||
7336 | ></DIV | ||
7337 | ><DIV | ||
7338 | CLASS="section" | ||
7339 | ><HR><H2 | ||
7340 | CLASS="section" | ||
7341 | ><A | ||
7342 | NAME="lib_lldetected" | ||
7343 | >A.30. llDetectedGrab</A | ||
7344 | ></H2 | ||
7345 | ><DIV | ||
7346 | CLASS="funcsynopsis" | ||
7347 | ><P | ||
7348 | ></P | ||
7349 | ><A | ||
7350 | NAME="AEN1357" | ||
7351 | ></A | ||
7352 | ><P | ||
7353 | ><CODE | ||
7354 | ><CODE | ||
7355 | CLASS="FUNCDEF" | ||
7356 | >vector llDetectedGrab</CODE | ||
7357 | >(integer number);</CODE | ||
7358 | ></P | ||
7359 | ><P | ||
7360 | ></P | ||
7361 | ></DIV | ||
7362 | ><P | ||
7363 | >Returns the grab offset of detected object | ||
7364 | <CODE | ||
7365 | CLASS="parameter" | ||
7366 | >number</CODE | ||
7367 | >. Returns <0,0,0> if number is | ||
7368 | not valid sensed object.</P | ||
7369 | ></DIV | ||
7370 | ><DIV | ||
7371 | CLASS="section" | ||
7372 | ><HR><H2 | ||
7373 | CLASS="section" | ||
7374 | ><A | ||
7375 | NAME="AEN1365" | ||
7376 | >A.31. llDetectedGroup</A | ||
7377 | ></H2 | ||
7378 | ><DIV | ||
7379 | CLASS="funcsynopsis" | ||
7380 | ><P | ||
7381 | ></P | ||
7382 | ><A | ||
7383 | NAME="AEN1367" | ||
7384 | ></A | ||
7385 | ><P | ||
7386 | ><CODE | ||
7387 | ><CODE | ||
7388 | CLASS="FUNCDEF" | ||
7389 | >integer llDetectedGroup</CODE | ||
7390 | >(integer number);</CODE | ||
7391 | ></P | ||
7392 | ><P | ||
7393 | ></P | ||
7394 | ></DIV | ||
7395 | ><P | ||
7396 | >Returns TRUE if detected object | ||
7397 | <CODE | ||
7398 | CLASS="parameter" | ||
7399 | >number</CODE | ||
7400 | > is part of same group as | ||
7401 | owner.</P | ||
7402 | ></DIV | ||
7403 | ><DIV | ||
7404 | CLASS="section" | ||
7405 | ><HR><H2 | ||
7406 | CLASS="section" | ||
7407 | ><A | ||
7408 | NAME="AEN1375" | ||
7409 | >A.32. llDetectedKey</A | ||
7410 | ></H2 | ||
7411 | ><DIV | ||
7412 | CLASS="funcsynopsis" | ||
7413 | ><P | ||
7414 | ></P | ||
7415 | ><A | ||
7416 | NAME="AEN1377" | ||
7417 | ></A | ||
7418 | ><P | ||
7419 | ><CODE | ||
7420 | ><CODE | ||
7421 | CLASS="FUNCDEF" | ||
7422 | >key llDetectedKey</CODE | ||
7423 | >(integer number);</CODE | ||
7424 | ></P | ||
7425 | ><P | ||
7426 | ></P | ||
7427 | ></DIV | ||
7428 | ><P | ||
7429 | >Returns the key of detected object | ||
7430 | <CODE | ||
7431 | CLASS="parameter" | ||
7432 | >number</CODE | ||
7433 | >. Returns <A | ||
7434 | HREF="#AEN6070" | ||
7435 | >NULL_KEY</A | ||
7436 | > if number is not valid sensed | ||
7437 | object.</P | ||
7438 | ></DIV | ||
7439 | ><DIV | ||
7440 | CLASS="section" | ||
7441 | ><HR><H2 | ||
7442 | CLASS="section" | ||
7443 | ><A | ||
7444 | NAME="AEN1386" | ||
7445 | >A.33. llDetectedLinkNumber</A | ||
7446 | ></H2 | ||
7447 | ><DIV | ||
7448 | CLASS="funcsynopsis" | ||
7449 | ><P | ||
7450 | ></P | ||
7451 | ><A | ||
7452 | NAME="AEN1388" | ||
7453 | ></A | ||
7454 | ><P | ||
7455 | ><CODE | ||
7456 | ><CODE | ||
7457 | CLASS="FUNCDEF" | ||
7458 | >integer llDetectedLinkNumber</CODE | ||
7459 | >(integer number);</CODE | ||
7460 | ></P | ||
7461 | ><P | ||
7462 | ></P | ||
7463 | ></DIV | ||
7464 | ><P | ||
7465 | >Returns the link position of the triggered event for | ||
7466 | touches. 0 for a non-linked object, 1 for the root of a linked | ||
7467 | object, 2 for the first child, etc.</P | ||
7468 | ></DIV | ||
7469 | ><DIV | ||
7470 | CLASS="section" | ||
7471 | ><HR><H2 | ||
7472 | CLASS="section" | ||
7473 | ><A | ||
7474 | NAME="AEN1395" | ||
7475 | >A.34. llDetectedName</A | ||
7476 | ></H2 | ||
7477 | ><DIV | ||
7478 | CLASS="funcsynopsis" | ||
7479 | ><P | ||
7480 | ></P | ||
7481 | ><A | ||
7482 | NAME="AEN1397" | ||
7483 | ></A | ||
7484 | ><P | ||
7485 | ><CODE | ||
7486 | ><CODE | ||
7487 | CLASS="FUNCDEF" | ||
7488 | >string llDetectedName</CODE | ||
7489 | >(integer number);</CODE | ||
7490 | ></P | ||
7491 | ><P | ||
7492 | ></P | ||
7493 | ></DIV | ||
7494 | ><P | ||
7495 | >Returns the name of detected object | ||
7496 | <CODE | ||
7497 | CLASS="parameter" | ||
7498 | >number</CODE | ||
7499 | >. Returns empty string if | ||
7500 | <CODE | ||
7501 | CLASS="parameter" | ||
7502 | >number</CODE | ||
7503 | > is not valid sensed object.</P | ||
7504 | ></DIV | ||
7505 | ><DIV | ||
7506 | CLASS="section" | ||
7507 | ><HR><H2 | ||
7508 | CLASS="section" | ||
7509 | ><A | ||
7510 | NAME="AEN1406" | ||
7511 | >A.35. llDetectedOwner</A | ||
7512 | ></H2 | ||
7513 | ><DIV | ||
7514 | CLASS="funcsynopsis" | ||
7515 | ><P | ||
7516 | ></P | ||
7517 | ><A | ||
7518 | NAME="AEN1408" | ||
7519 | ></A | ||
7520 | ><P | ||
7521 | ><CODE | ||
7522 | ><CODE | ||
7523 | CLASS="FUNCDEF" | ||
7524 | >key llDetectedOwner</CODE | ||
7525 | >(integer number);</CODE | ||
7526 | ></P | ||
7527 | ><P | ||
7528 | ></P | ||
7529 | ></DIV | ||
7530 | ><P | ||
7531 | >Returns the key of detected <CODE | ||
7532 | CLASS="parameter" | ||
7533 | >number</CODE | ||
7534 | > | ||
7535 | object's owner. Returns invalid key if | ||
7536 | <CODE | ||
7537 | CLASS="parameter" | ||
7538 | >number</CODE | ||
7539 | > is not valid sensed object.</P | ||
7540 | ></DIV | ||
7541 | ><DIV | ||
7542 | CLASS="section" | ||
7543 | ><HR><H2 | ||
7544 | CLASS="section" | ||
7545 | ><A | ||
7546 | NAME="AEN1417" | ||
7547 | >A.36. llDetectedPos</A | ||
7548 | ></H2 | ||
7549 | ><DIV | ||
7550 | CLASS="funcsynopsis" | ||
7551 | ><P | ||
7552 | ></P | ||
7553 | ><A | ||
7554 | NAME="AEN1419" | ||
7555 | ></A | ||
7556 | ><P | ||
7557 | ><CODE | ||
7558 | ><CODE | ||
7559 | CLASS="FUNCDEF" | ||
7560 | >vector llDetectedPos</CODE | ||
7561 | >(integer number);</CODE | ||
7562 | ></P | ||
7563 | ><P | ||
7564 | ></P | ||
7565 | ></DIV | ||
7566 | ><P | ||
7567 | >Returns the position of detected object | ||
7568 | <CODE | ||
7569 | CLASS="parameter" | ||
7570 | >number</CODE | ||
7571 | >. Returns <0,0,0> if | ||
7572 | <CODE | ||
7573 | CLASS="parameter" | ||
7574 | >number</CODE | ||
7575 | > is not valid sensed object.</P | ||
7576 | ></DIV | ||
7577 | ><DIV | ||
7578 | CLASS="section" | ||
7579 | ><HR><H2 | ||
7580 | CLASS="section" | ||
7581 | ><A | ||
7582 | NAME="AEN1428" | ||
7583 | >A.37. llDetectedRot</A | ||
7584 | ></H2 | ||
7585 | ><DIV | ||
7586 | CLASS="funcsynopsis" | ||
7587 | ><P | ||
7588 | ></P | ||
7589 | ><A | ||
7590 | NAME="AEN1430" | ||
7591 | ></A | ||
7592 | ><P | ||
7593 | ><CODE | ||
7594 | ><CODE | ||
7595 | CLASS="FUNCDEF" | ||
7596 | >rotation llDetectedRot</CODE | ||
7597 | >(integer number);</CODE | ||
7598 | ></P | ||
7599 | ><P | ||
7600 | ></P | ||
7601 | ></DIV | ||
7602 | ><P | ||
7603 | >Returns the rotation of detected object | ||
7604 | <CODE | ||
7605 | CLASS="parameter" | ||
7606 | >number</CODE | ||
7607 | >. Returns <0,0,0,1> if | ||
7608 | <CODE | ||
7609 | CLASS="parameter" | ||
7610 | >number</CODE | ||
7611 | > is not valid sensed object).</P | ||
7612 | ></DIV | ||
7613 | ><DIV | ||
7614 | CLASS="section" | ||
7615 | ><HR><H2 | ||
7616 | CLASS="section" | ||
7617 | ><A | ||
7618 | NAME="AEN1439" | ||
7619 | >A.38. llDetectedType</A | ||
7620 | ></H2 | ||
7621 | ><DIV | ||
7622 | CLASS="funcsynopsis" | ||
7623 | ><P | ||
7624 | ></P | ||
7625 | ><A | ||
7626 | NAME="AEN1441" | ||
7627 | ></A | ||
7628 | ><P | ||
7629 | ><CODE | ||
7630 | ><CODE | ||
7631 | CLASS="FUNCDEF" | ||
7632 | >integer llDetectedType</CODE | ||
7633 | >(integer number);</CODE | ||
7634 | ></P | ||
7635 | ><P | ||
7636 | ></P | ||
7637 | ></DIV | ||
7638 | ><P | ||
7639 | >Returns the type (AGENT, ACTIVE, PASSIVE, SCRIPTED) of | ||
7640 | detected object <CODE | ||
7641 | CLASS="parameter" | ||
7642 | >number</CODE | ||
7643 | >. Returns 0 if | ||
7644 | <CODE | ||
7645 | CLASS="parameter" | ||
7646 | >number</CODE | ||
7647 | > is not valid sensed object. Note | ||
7648 | that <CODE | ||
7649 | CLASS="parameter" | ||
7650 | >number</CODE | ||
7651 | > is a bitfield, so comparisons | ||
7652 | need to be a bitwise and check. eg: | ||
7653 | <DIV | ||
7654 | CLASS="informalexample" | ||
7655 | ><P | ||
7656 | ></P | ||
7657 | ><A | ||
7658 | NAME="AEN1451" | ||
7659 | ></A | ||
7660 | ><PRE | ||
7661 | CLASS="programlisting" | ||
7662 | > integer type = llDetectedType(0); | ||
7663 | if (type & AGENT) | ||
7664 | { | ||
7665 | // ...do stuff with the agent | ||
7666 | } | ||
7667 | </PRE | ||
7668 | ><P | ||
7669 | ></P | ||
7670 | ></DIV | ||
7671 | > | ||
7672 | </P | ||
7673 | ></DIV | ||
7674 | ><DIV | ||
7675 | CLASS="section" | ||
7676 | ><HR><H2 | ||
7677 | CLASS="section" | ||
7678 | ><A | ||
7679 | NAME="AEN1453" | ||
7680 | >A.39. llDetectedVel</A | ||
7681 | ></H2 | ||
7682 | ><DIV | ||
7683 | CLASS="funcsynopsis" | ||
7684 | ><P | ||
7685 | ></P | ||
7686 | ><A | ||
7687 | NAME="AEN1455" | ||
7688 | ></A | ||
7689 | ><P | ||
7690 | ><CODE | ||
7691 | ><CODE | ||
7692 | CLASS="FUNCDEF" | ||
7693 | >vector llDetectedVel</CODE | ||
7694 | >(integer number);</CODE | ||
7695 | ></P | ||
7696 | ><P | ||
7697 | ></P | ||
7698 | ></DIV | ||
7699 | ><P | ||
7700 | >Returns the velocity of detected object | ||
7701 | <CODE | ||
7702 | CLASS="parameter" | ||
7703 | >number</CODE | ||
7704 | >. Returns <0,0,0> if | ||
7705 | <CODE | ||
7706 | CLASS="parameter" | ||
7707 | >number</CODE | ||
7708 | > is not valid sensed object.</P | ||
7709 | ></DIV | ||
7710 | ><DIV | ||
7711 | CLASS="section" | ||
7712 | ><HR><H2 | ||
7713 | CLASS="section" | ||
7714 | ><A | ||
7715 | NAME="AEN1464" | ||
7716 | >A.40. llDialog</A | ||
7717 | ></H2 | ||
7718 | ><DIV | ||
7719 | CLASS="funcsynopsis" | ||
7720 | ><P | ||
7721 | ></P | ||
7722 | ><A | ||
7723 | NAME="AEN1466" | ||
7724 | ></A | ||
7725 | ><P | ||
7726 | ><CODE | ||
7727 | ><CODE | ||
7728 | CLASS="FUNCDEF" | ||
7729 | >llDialog</CODE | ||
7730 | >(key avatar, string message, list buttons, integer channel);</CODE | ||
7731 | ></P | ||
7732 | ><P | ||
7733 | ></P | ||
7734 | ></DIV | ||
7735 | ><P | ||
7736 | >Opens a "notify box" in the top-right corner of the given avatar's screen displaying the message. Up to twelve buttons can be specified in a list of strings. When the player clicks a button, the name of the button is chatted on the specified channel. Channels work just like llSay(), so channel 0 can be heard by everyone. The chat originates at the object's position, not the avatar's position. e.g. | ||
7737 | <DIV | ||
7738 | CLASS="informalexample" | ||
7739 | ><P | ||
7740 | ></P | ||
7741 | ><A | ||
7742 | NAME="AEN1479" | ||
7743 | ></A | ||
7744 | ><PRE | ||
7745 | CLASS="programlisting" | ||
7746 | > LLDialog(who, "Are you a boy or a girl?", [ "Boy", "Girl" ], 4913); | ||
7747 | LLDialog(who, "This shows only an OK button.", [], 192); | ||
7748 | llDialog(who, "This chats so you can hear it.", ["Hooray"], 0); | ||
7749 | </PRE | ||
7750 | ><P | ||
7751 | ></P | ||
7752 | ></DIV | ||
7753 | > | ||
7754 | </P | ||
7755 | ></DIV | ||
7756 | ><DIV | ||
7757 | CLASS="section" | ||
7758 | ><HR><H2 | ||
7759 | CLASS="section" | ||
7760 | ><A | ||
7761 | NAME="AEN1481" | ||
7762 | >A.41. llDie</A | ||
7763 | ></H2 | ||
7764 | ><DIV | ||
7765 | CLASS="funcsynopsis" | ||
7766 | ><P | ||
7767 | ></P | ||
7768 | ><A | ||
7769 | NAME="AEN1483" | ||
7770 | ></A | ||
7771 | ><P | ||
7772 | ><CODE | ||
7773 | ><CODE | ||
7774 | CLASS="FUNCDEF" | ||
7775 | >llDie</CODE | ||
7776 | >(void);</CODE | ||
7777 | ></P | ||
7778 | ><P | ||
7779 | ></P | ||
7780 | ></DIV | ||
7781 | ><P | ||
7782 | >Delete the object which holds the script.</P | ||
7783 | ></DIV | ||
7784 | ><DIV | ||
7785 | CLASS="section" | ||
7786 | ><HR><H2 | ||
7787 | CLASS="section" | ||
7788 | ><A | ||
7789 | NAME="AEN1489" | ||
7790 | >A.42. llDumpList2String</A | ||
7791 | ></H2 | ||
7792 | ><DIV | ||
7793 | CLASS="funcsynopsis" | ||
7794 | ><P | ||
7795 | ></P | ||
7796 | ><A | ||
7797 | NAME="AEN1491" | ||
7798 | ></A | ||
7799 | ><P | ||
7800 | ><CODE | ||
7801 | ><CODE | ||
7802 | CLASS="FUNCDEF" | ||
7803 | >string llDumpList2String</CODE | ||
7804 | >(list src, string separator);</CODE | ||
7805 | ></P | ||
7806 | ><P | ||
7807 | ></P | ||
7808 | ></DIV | ||
7809 | ><P | ||
7810 | >Write the list out in a single string using separator between values.</P | ||
7811 | ></DIV | ||
7812 | ><DIV | ||
7813 | CLASS="section" | ||
7814 | ><HR><H2 | ||
7815 | CLASS="section" | ||
7816 | ><A | ||
7817 | NAME="AEN1500" | ||
7818 | >A.43. llEscapeURL</A | ||
7819 | ></H2 | ||
7820 | ><DIV | ||
7821 | CLASS="funcsynopsis" | ||
7822 | ><P | ||
7823 | ></P | ||
7824 | ><A | ||
7825 | NAME="AEN1502" | ||
7826 | ></A | ||
7827 | ><P | ||
7828 | ><CODE | ||
7829 | ><CODE | ||
7830 | CLASS="FUNCDEF" | ||
7831 | >string llEscapeURL</CODE | ||
7832 | >(string url);</CODE | ||
7833 | ></P | ||
7834 | ><P | ||
7835 | ></P | ||
7836 | ></DIV | ||
7837 | ><P | ||
7838 | >Returns the string that is the URL escaped version of <CODE | ||
7839 | CLASS="parameter" | ||
7840 | >url</CODE | ||
7841 | >, | ||
7842 | replacing spaces with %20 etc.</P | ||
7843 | ></DIV | ||
7844 | ><DIV | ||
7845 | CLASS="section" | ||
7846 | ><HR><H2 | ||
7847 | CLASS="section" | ||
7848 | ><A | ||
7849 | NAME="AEN1510" | ||
7850 | >A.44. llEdgeOfWorld</A | ||
7851 | ></H2 | ||
7852 | ><DIV | ||
7853 | CLASS="funcsynopsis" | ||
7854 | ><P | ||
7855 | ></P | ||
7856 | ><A | ||
7857 | NAME="AEN1512" | ||
7858 | ></A | ||
7859 | ><P | ||
7860 | ><CODE | ||
7861 | ><CODE | ||
7862 | CLASS="FUNCDEF" | ||
7863 | >integer llEdgeOfWorld</CODE | ||
7864 | >(vector pos, vector dir);</CODE | ||
7865 | ></P | ||
7866 | ><P | ||
7867 | ></P | ||
7868 | ></DIV | ||
7869 | ><P | ||
7870 | >Returns TRUE if the line along <CODE | ||
7871 | CLASS="parameter" | ||
7872 | >dir</CODE | ||
7873 | > | ||
7874 | from <CODE | ||
7875 | CLASS="parameter" | ||
7876 | >pos</CODE | ||
7877 | > hits the edge of the world in the | ||
7878 | current simulator and returns FALSE if that edge crosses into | ||
7879 | another simulator.</P | ||
7880 | ></DIV | ||
7881 | ><DIV | ||
7882 | CLASS="section" | ||
7883 | ><HR><H2 | ||
7884 | CLASS="section" | ||
7885 | ><A | ||
7886 | NAME="AEN1523" | ||
7887 | >A.45. llEjectFromLand</A | ||
7888 | ></H2 | ||
7889 | ><DIV | ||
7890 | CLASS="funcsynopsis" | ||
7891 | ><P | ||
7892 | ></P | ||
7893 | ><A | ||
7894 | NAME="AEN1525" | ||
7895 | ></A | ||
7896 | ><P | ||
7897 | ><CODE | ||
7898 | ><CODE | ||
7899 | CLASS="FUNCDEF" | ||
7900 | >llEjectFromLand</CODE | ||
7901 | >(key pest);</CODE | ||
7902 | ></P | ||
7903 | ><P | ||
7904 | ></P | ||
7905 | ></DIV | ||
7906 | ><P | ||
7907 | >Ejects <CODE | ||
7908 | CLASS="parameter" | ||
7909 | >pest</CODE | ||
7910 | > from land that you | ||
7911 | own.</P | ||
7912 | ></DIV | ||
7913 | ><DIV | ||
7914 | CLASS="section" | ||
7915 | ><HR><H2 | ||
7916 | CLASS="section" | ||
7917 | ><A | ||
7918 | NAME="AEN1533" | ||
7919 | >A.46. llEmail</A | ||
7920 | ></H2 | ||
7921 | ><DIV | ||
7922 | CLASS="funcsynopsis" | ||
7923 | ><P | ||
7924 | ></P | ||
7925 | ><A | ||
7926 | NAME="AEN1535" | ||
7927 | ></A | ||
7928 | ><P | ||
7929 | ><CODE | ||
7930 | ><CODE | ||
7931 | CLASS="FUNCDEF" | ||
7932 | >llEmail</CODE | ||
7933 | >(string address, string subject, string message);</CODE | ||
7934 | ></P | ||
7935 | ><P | ||
7936 | ></P | ||
7937 | ></DIV | ||
7938 | ><P | ||
7939 | >Sends email to <CODE | ||
7940 | CLASS="parameter" | ||
7941 | >address</CODE | ||
7942 | > with | ||
7943 | <CODE | ||
7944 | CLASS="parameter" | ||
7945 | >subject</CODE | ||
7946 | > and | ||
7947 | <CODE | ||
7948 | CLASS="parameter" | ||
7949 | >message</CODE | ||
7950 | >.</P | ||
7951 | ></DIV | ||
7952 | ><DIV | ||
7953 | CLASS="section" | ||
7954 | ><HR><H2 | ||
7955 | CLASS="section" | ||
7956 | ><A | ||
7957 | NAME="AEN1549" | ||
7958 | >A.47. llEuler2Rot</A | ||
7959 | ></H2 | ||
7960 | ><DIV | ||
7961 | CLASS="funcsynopsis" | ||
7962 | ><P | ||
7963 | ></P | ||
7964 | ><A | ||
7965 | NAME="AEN1551" | ||
7966 | ></A | ||
7967 | ><P | ||
7968 | ><CODE | ||
7969 | ><CODE | ||
7970 | CLASS="FUNCDEF" | ||
7971 | >rotation llEuler2Rot</CODE | ||
7972 | >(vector vec);</CODE | ||
7973 | ></P | ||
7974 | ><P | ||
7975 | ></P | ||
7976 | ></DIV | ||
7977 | ><P | ||
7978 | >Returns the rotation represented by Euler Angle | ||
7979 | <CODE | ||
7980 | CLASS="parameter" | ||
7981 | >vec</CODE | ||
7982 | >.</P | ||
7983 | ></DIV | ||
7984 | ><DIV | ||
7985 | CLASS="section" | ||
7986 | ><HR><H2 | ||
7987 | CLASS="section" | ||
7988 | ><A | ||
7989 | NAME="AEN1559" | ||
7990 | >A.48. llFabs</A | ||
7991 | ></H2 | ||
7992 | ><DIV | ||
7993 | CLASS="funcsynopsis" | ||
7994 | ><P | ||
7995 | ></P | ||
7996 | ><A | ||
7997 | NAME="AEN1561" | ||
7998 | ></A | ||
7999 | ><P | ||
8000 | ><CODE | ||
8001 | ><CODE | ||
8002 | CLASS="FUNCDEF" | ||
8003 | >float llFabs</CODE | ||
8004 | >(float val);</CODE | ||
8005 | ></P | ||
8006 | ><P | ||
8007 | ></P | ||
8008 | ></DIV | ||
8009 | ><P | ||
8010 | >Returns the absolute value of | ||
8011 | <CODE | ||
8012 | CLASS="parameter" | ||
8013 | >val</CODE | ||
8014 | >.</P | ||
8015 | ></DIV | ||
8016 | ><DIV | ||
8017 | CLASS="section" | ||
8018 | ><HR><H2 | ||
8019 | CLASS="section" | ||
8020 | ><A | ||
8021 | NAME="AEN1569" | ||
8022 | >A.49. llFloor</A | ||
8023 | ></H2 | ||
8024 | ><DIV | ||
8025 | CLASS="funcsynopsis" | ||
8026 | ><P | ||
8027 | ></P | ||
8028 | ><A | ||
8029 | NAME="AEN1571" | ||
8030 | ></A | ||
8031 | ><P | ||
8032 | ><CODE | ||
8033 | ><CODE | ||
8034 | CLASS="FUNCDEF" | ||
8035 | >integer llFloor</CODE | ||
8036 | >(float val);</CODE | ||
8037 | ></P | ||
8038 | ><P | ||
8039 | ></P | ||
8040 | ></DIV | ||
8041 | ><P | ||
8042 | >Returns largest integer value <= | ||
8043 | <CODE | ||
8044 | CLASS="parameter" | ||
8045 | >val</CODE | ||
8046 | >.</P | ||
8047 | ></DIV | ||
8048 | ><DIV | ||
8049 | CLASS="section" | ||
8050 | ><HR><H2 | ||
8051 | CLASS="section" | ||
8052 | ><A | ||
8053 | NAME="AEN1579" | ||
8054 | >A.50. llFrand</A | ||
8055 | ></H2 | ||
8056 | ><DIV | ||
8057 | CLASS="funcsynopsis" | ||
8058 | ><P | ||
8059 | ></P | ||
8060 | ><A | ||
8061 | NAME="AEN1581" | ||
8062 | ></A | ||
8063 | ><P | ||
8064 | ><CODE | ||
8065 | ><CODE | ||
8066 | CLASS="FUNCDEF" | ||
8067 | >float llFrand</CODE | ||
8068 | >(float mag);</CODE | ||
8069 | ></P | ||
8070 | ><P | ||
8071 | ></P | ||
8072 | ></DIV | ||
8073 | ><P | ||
8074 | >Returns a pseudo-random number between [0, | ||
8075 | <CODE | ||
8076 | CLASS="parameter" | ||
8077 | >mag</CODE | ||
8078 | >).</P | ||
8079 | ></DIV | ||
8080 | ><DIV | ||
8081 | CLASS="section" | ||
8082 | ><HR><H2 | ||
8083 | CLASS="section" | ||
8084 | ><A | ||
8085 | NAME="AEN1589" | ||
8086 | >A.51. llGetAccel</A | ||
8087 | ></H2 | ||
8088 | ><DIV | ||
8089 | CLASS="funcsynopsis" | ||
8090 | ><P | ||
8091 | ></P | ||
8092 | ><A | ||
8093 | NAME="AEN1591" | ||
8094 | ></A | ||
8095 | ><P | ||
8096 | ><CODE | ||
8097 | ><CODE | ||
8098 | CLASS="FUNCDEF" | ||
8099 | >vector llGetAccel</CODE | ||
8100 | >(void);</CODE | ||
8101 | ></P | ||
8102 | ><P | ||
8103 | ></P | ||
8104 | ></DIV | ||
8105 | ><P | ||
8106 | >Gets the acceleration.</P | ||
8107 | ></DIV | ||
8108 | ><DIV | ||
8109 | CLASS="section" | ||
8110 | ><HR><H2 | ||
8111 | CLASS="section" | ||
8112 | ><A | ||
8113 | NAME="AEN1597" | ||
8114 | >A.52. llGetAttached</A | ||
8115 | ></H2 | ||
8116 | ><DIV | ||
8117 | CLASS="funcsynopsis" | ||
8118 | ><P | ||
8119 | ></P | ||
8120 | ><A | ||
8121 | NAME="AEN1599" | ||
8122 | ></A | ||
8123 | ><P | ||
8124 | ><CODE | ||
8125 | ><CODE | ||
8126 | CLASS="FUNCDEF" | ||
8127 | >integer llGetAttached</CODE | ||
8128 | >(void);</CODE | ||
8129 | ></P | ||
8130 | ><P | ||
8131 | ></P | ||
8132 | ></DIV | ||
8133 | ><P | ||
8134 | >Returns the object attachment point or 0 if not attached.</P | ||
8135 | ></DIV | ||
8136 | ><DIV | ||
8137 | CLASS="section" | ||
8138 | ><HR><H2 | ||
8139 | CLASS="section" | ||
8140 | ><A | ||
8141 | NAME="AEN1605" | ||
8142 | >A.53. llGetAgentInfo</A | ||
8143 | ></H2 | ||
8144 | ><DIV | ||
8145 | CLASS="funcsynopsis" | ||
8146 | ><P | ||
8147 | ></P | ||
8148 | ><A | ||
8149 | NAME="AEN1607" | ||
8150 | ></A | ||
8151 | ><P | ||
8152 | ><CODE | ||
8153 | ><CODE | ||
8154 | CLASS="FUNCDEF" | ||
8155 | >integer llGetAgentInfo</CODE | ||
8156 | >(key id);</CODE | ||
8157 | ></P | ||
8158 | ><P | ||
8159 | ></P | ||
8160 | ></DIV | ||
8161 | ><P | ||
8162 | >Returns information about the given agent | ||
8163 | <CODE | ||
8164 | CLASS="parameter" | ||
8165 | >id</CODE | ||
8166 | >. Returns a bitfield of <A | ||
8167 | HREF="#AEN5767" | ||
8168 | >agent info constants</A | ||
8169 | >.</P | ||
8170 | ></DIV | ||
8171 | ><DIV | ||
8172 | CLASS="section" | ||
8173 | ><HR><H2 | ||
8174 | CLASS="section" | ||
8175 | ><A | ||
8176 | NAME="AEN1616" | ||
8177 | >A.54. llGetAgentSize</A | ||
8178 | ></H2 | ||
8179 | ><DIV | ||
8180 | CLASS="funcsynopsis" | ||
8181 | ><P | ||
8182 | ></P | ||
8183 | ><A | ||
8184 | NAME="AEN1618" | ||
8185 | ></A | ||
8186 | ><P | ||
8187 | ><CODE | ||
8188 | ><CODE | ||
8189 | CLASS="FUNCDEF" | ||
8190 | >vector llGetAgentSize</CODE | ||
8191 | >(key id);</CODE | ||
8192 | ></P | ||
8193 | ><P | ||
8194 | ></P | ||
8195 | ></DIV | ||
8196 | ><P | ||
8197 | >If the agent <CODE | ||
8198 | CLASS="parameter" | ||
8199 | >id</CODE | ||
8200 | > is in the same sim as | ||
8201 | the object, returns the size of the avatar.</P | ||
8202 | ></DIV | ||
8203 | ><DIV | ||
8204 | CLASS="section" | ||
8205 | ><HR><H2 | ||
8206 | CLASS="section" | ||
8207 | ><A | ||
8208 | NAME="AEN1626" | ||
8209 | >A.55. llGetAlpha</A | ||
8210 | ></H2 | ||
8211 | ><DIV | ||
8212 | CLASS="funcsynopsis" | ||
8213 | ><P | ||
8214 | ></P | ||
8215 | ><A | ||
8216 | NAME="AEN1628" | ||
8217 | ></A | ||
8218 | ><P | ||
8219 | ><CODE | ||
8220 | ><CODE | ||
8221 | CLASS="FUNCDEF" | ||
8222 | >float llGetAlpha</CODE | ||
8223 | >(integer face);</CODE | ||
8224 | ></P | ||
8225 | ><P | ||
8226 | ></P | ||
8227 | ></DIV | ||
8228 | ><P | ||
8229 | >Returns the alpha of the given | ||
8230 | <CODE | ||
8231 | CLASS="parameter" | ||
8232 | >face</CODE | ||
8233 | >. If <CODE | ||
8234 | CLASS="parameter" | ||
8235 | >face</CODE | ||
8236 | > is | ||
8237 | <A | ||
8238 | HREF="#AEN6073" | ||
8239 | >ALL_SIDES</A | ||
8240 | > the value returned is | ||
8241 | the mean average of all faces.</P | ||
8242 | ></DIV | ||
8243 | ><DIV | ||
8244 | CLASS="section" | ||
8245 | ><HR><H2 | ||
8246 | CLASS="section" | ||
8247 | ><A | ||
8248 | NAME="AEN1638" | ||
8249 | >A.56. llGetAndResetTime</A | ||
8250 | ></H2 | ||
8251 | ><DIV | ||
8252 | CLASS="funcsynopsis" | ||
8253 | ><P | ||
8254 | ></P | ||
8255 | ><A | ||
8256 | NAME="AEN1640" | ||
8257 | ></A | ||
8258 | ><P | ||
8259 | ><CODE | ||
8260 | ><CODE | ||
8261 | CLASS="FUNCDEF" | ||
8262 | >float llGetAndResetTime</CODE | ||
8263 | >(void);</CODE | ||
8264 | ></P | ||
8265 | ><P | ||
8266 | ></P | ||
8267 | ></DIV | ||
8268 | ><P | ||
8269 | >Returns the seconds of elapsed time from an internal timer | ||
8270 | associated with the script. The timer is reset to zero during the | ||
8271 | call. The timer is also reset on rez, simulator restart, script | ||
8272 | reset, and in calls to <A | ||
8273 | HREF="#AEN3426" | ||
8274 | >llResetTime</A | ||
8275 | >. Use <A | ||
8276 | HREF="#AEN4188" | ||
8277 | >llSetTimerEvent</A | ||
8278 | > if you want a | ||
8279 | reliable timing mechanism.</P | ||
8280 | ></DIV | ||
8281 | ><DIV | ||
8282 | CLASS="section" | ||
8283 | ><HR><H2 | ||
8284 | CLASS="section" | ||
8285 | ><A | ||
8286 | NAME="AEN1648" | ||
8287 | >A.57. llGetAnimation</A | ||
8288 | ></H2 | ||
8289 | ><DIV | ||
8290 | CLASS="funcsynopsis" | ||
8291 | ><P | ||
8292 | ></P | ||
8293 | ><A | ||
8294 | NAME="AEN1650" | ||
8295 | ></A | ||
8296 | ><P | ||
8297 | ><CODE | ||
8298 | ><CODE | ||
8299 | CLASS="FUNCDEF" | ||
8300 | >string llGetAnimation</CODE | ||
8301 | >(key id);</CODE | ||
8302 | ></P | ||
8303 | ><P | ||
8304 | ></P | ||
8305 | ></DIV | ||
8306 | ><P | ||
8307 | >Returns the currently playing animation for avatar | ||
8308 | <CODE | ||
8309 | CLASS="parameter" | ||
8310 | >id</CODE | ||
8311 | >.</P | ||
8312 | ></DIV | ||
8313 | ><DIV | ||
8314 | CLASS="section" | ||
8315 | ><HR><H2 | ||
8316 | CLASS="section" | ||
8317 | ><A | ||
8318 | NAME="AEN1658" | ||
8319 | >A.58. llGetAnimationList</A | ||
8320 | ></H2 | ||
8321 | ><DIV | ||
8322 | CLASS="funcsynopsis" | ||
8323 | ><P | ||
8324 | ></P | ||
8325 | ><A | ||
8326 | NAME="AEN1660" | ||
8327 | ></A | ||
8328 | ><P | ||
8329 | ><CODE | ||
8330 | ><CODE | ||
8331 | CLASS="FUNCDEF" | ||
8332 | >list llGetAnimationList</CODE | ||
8333 | >(key id);</CODE | ||
8334 | ></P | ||
8335 | ><P | ||
8336 | ></P | ||
8337 | ></DIV | ||
8338 | ><P | ||
8339 | >Returns a list of currently playing animations for avatar | ||
8340 | <CODE | ||
8341 | CLASS="parameter" | ||
8342 | >id</CODE | ||
8343 | >.</P | ||
8344 | ></DIV | ||
8345 | ><DIV | ||
8346 | CLASS="section" | ||
8347 | ><HR><H2 | ||
8348 | CLASS="section" | ||
8349 | ><A | ||
8350 | NAME="AEN1668" | ||
8351 | >A.59. llGetBoundingBox</A | ||
8352 | ></H2 | ||
8353 | ><DIV | ||
8354 | CLASS="funcsynopsis" | ||
8355 | ><P | ||
8356 | ></P | ||
8357 | ><A | ||
8358 | NAME="AEN1670" | ||
8359 | ></A | ||
8360 | ><P | ||
8361 | ><CODE | ||
8362 | ><CODE | ||
8363 | CLASS="FUNCDEF" | ||
8364 | >list llGetBoundingBox</CODE | ||
8365 | >(key object);</CODE | ||
8366 | ></P | ||
8367 | ><P | ||
8368 | ></P | ||
8369 | ></DIV | ||
8370 | ><P | ||
8371 | >Returns the bounding box around <CODE | ||
8372 | CLASS="parameter" | ||
8373 | >object</CODE | ||
8374 | > (including any linked prims) | ||
8375 | relative to the root prim. Returned value is a list of the form: | ||
8376 | [ (vector) min_corner, (vector) max_corner ]</P | ||
8377 | ></DIV | ||
8378 | ><DIV | ||
8379 | CLASS="section" | ||
8380 | ><HR><H2 | ||
8381 | CLASS="section" | ||
8382 | ><A | ||
8383 | NAME="AEN1678" | ||
8384 | >A.60. llGetCenterOfMass</A | ||
8385 | ></H2 | ||
8386 | ><DIV | ||
8387 | CLASS="funcsynopsis" | ||
8388 | ><P | ||
8389 | ></P | ||
8390 | ><A | ||
8391 | NAME="AEN1680" | ||
8392 | ></A | ||
8393 | ><P | ||
8394 | ><CODE | ||
8395 | ><CODE | ||
8396 | CLASS="FUNCDEF" | ||
8397 | >vector llGetCenterOfMass</CODE | ||
8398 | >(void);</CODE | ||
8399 | ></P | ||
8400 | ><P | ||
8401 | ></P | ||
8402 | ></DIV | ||
8403 | ><P | ||
8404 | >Returns the center of mass of the root object.</P | ||
8405 | ></DIV | ||
8406 | ><DIV | ||
8407 | CLASS="section" | ||
8408 | ><HR><H2 | ||
8409 | CLASS="section" | ||
8410 | ><A | ||
8411 | NAME="AEN1686" | ||
8412 | >A.61. llGetColor</A | ||
8413 | ></H2 | ||
8414 | ><DIV | ||
8415 | CLASS="funcsynopsis" | ||
8416 | ><P | ||
8417 | ></P | ||
8418 | ><A | ||
8419 | NAME="AEN1688" | ||
8420 | ></A | ||
8421 | ><P | ||
8422 | ><CODE | ||
8423 | ><CODE | ||
8424 | CLASS="FUNCDEF" | ||
8425 | >vector llGetColor</CODE | ||
8426 | >(integer face);</CODE | ||
8427 | ></P | ||
8428 | ><P | ||
8429 | ></P | ||
8430 | ></DIV | ||
8431 | ><P | ||
8432 | >Returns the color of <CODE | ||
8433 | CLASS="parameter" | ||
8434 | >face</CODE | ||
8435 | > as a vector | ||
8436 | of red, green, and blue values between 0 and 1. If | ||
8437 | <CODE | ||
8438 | CLASS="parameter" | ||
8439 | >face</CODE | ||
8440 | > is <A | ||
8441 | HREF="#AEN6073" | ||
8442 | >ALL_SIDES</A | ||
8443 | > the color returned is the | ||
8444 | mean average of each channel.</P | ||
8445 | ></DIV | ||
8446 | ><DIV | ||
8447 | CLASS="section" | ||
8448 | ><HR><H2 | ||
8449 | CLASS="section" | ||
8450 | ><A | ||
8451 | NAME="AEN1698" | ||
8452 | >A.62. llGetCreator</A | ||
8453 | ></H2 | ||
8454 | ><DIV | ||
8455 | CLASS="funcsynopsis" | ||
8456 | ><P | ||
8457 | ></P | ||
8458 | ><A | ||
8459 | NAME="AEN1700" | ||
8460 | ></A | ||
8461 | ><P | ||
8462 | ><CODE | ||
8463 | ><CODE | ||
8464 | CLASS="FUNCDEF" | ||
8465 | >key llGetCreator</CODE | ||
8466 | >(void);</CODE | ||
8467 | ></P | ||
8468 | ><P | ||
8469 | ></P | ||
8470 | ></DIV | ||
8471 | ><P | ||
8472 | >Returns the creator of the object which has the script.</P | ||
8473 | ></DIV | ||
8474 | ><DIV | ||
8475 | CLASS="section" | ||
8476 | ><HR><H2 | ||
8477 | CLASS="section" | ||
8478 | ><A | ||
8479 | NAME="AEN1706" | ||
8480 | >A.63. llGetDate</A | ||
8481 | ></H2 | ||
8482 | ><DIV | ||
8483 | CLASS="funcsynopsis" | ||
8484 | ><P | ||
8485 | ></P | ||
8486 | ><A | ||
8487 | NAME="AEN1708" | ||
8488 | ></A | ||
8489 | ><P | ||
8490 | ><CODE | ||
8491 | ><CODE | ||
8492 | CLASS="FUNCDEF" | ||
8493 | >string llGetDate</CODE | ||
8494 | >(void);</CODE | ||
8495 | ></P | ||
8496 | ><P | ||
8497 | ></P | ||
8498 | ></DIV | ||
8499 | ><P | ||
8500 | >Returns the current UTC date as YYYY-MM-DD.</P | ||
8501 | ></DIV | ||
8502 | ><DIV | ||
8503 | CLASS="section" | ||
8504 | ><HR><H2 | ||
8505 | CLASS="section" | ||
8506 | ><A | ||
8507 | NAME="AEN1714" | ||
8508 | >A.64. llGetEnergy</A | ||
8509 | ></H2 | ||
8510 | ><DIV | ||
8511 | CLASS="funcsynopsis" | ||
8512 | ><P | ||
8513 | ></P | ||
8514 | ><A | ||
8515 | NAME="AEN1716" | ||
8516 | ></A | ||
8517 | ><P | ||
8518 | ><CODE | ||
8519 | ><CODE | ||
8520 | CLASS="FUNCDEF" | ||
8521 | >float llGetEnergy</CODE | ||
8522 | >(void);</CODE | ||
8523 | ></P | ||
8524 | ><P | ||
8525 | ></P | ||
8526 | ></DIV | ||
8527 | ><P | ||
8528 | >Returns how much energy is in the object as a percentage of | ||
8529 | maximum.</P | ||
8530 | ></DIV | ||
8531 | ><DIV | ||
8532 | CLASS="section" | ||
8533 | ><HR><H2 | ||
8534 | CLASS="section" | ||
8535 | ><A | ||
8536 | NAME="AEN1722" | ||
8537 | >A.65. llGetForce</A | ||
8538 | ></H2 | ||
8539 | ><DIV | ||
8540 | CLASS="funcsynopsis" | ||
8541 | ><P | ||
8542 | ></P | ||
8543 | ><A | ||
8544 | NAME="AEN1724" | ||
8545 | ></A | ||
8546 | ><P | ||
8547 | ><CODE | ||
8548 | ><CODE | ||
8549 | CLASS="FUNCDEF" | ||
8550 | >vector llGetForce</CODE | ||
8551 | >(void);</CODE | ||
8552 | ></P | ||
8553 | ><P | ||
8554 | ></P | ||
8555 | ></DIV | ||
8556 | ><P | ||
8557 | >Returns the current force if the script is physical.</P | ||
8558 | ></DIV | ||
8559 | ><DIV | ||
8560 | CLASS="section" | ||
8561 | ><HR><H2 | ||
8562 | CLASS="section" | ||
8563 | ><A | ||
8564 | NAME="AEN1730" | ||
8565 | >A.66. llGetFreeMemory</A | ||
8566 | ></H2 | ||
8567 | ><DIV | ||
8568 | CLASS="funcsynopsis" | ||
8569 | ><P | ||
8570 | ></P | ||
8571 | ><A | ||
8572 | NAME="AEN1732" | ||
8573 | ></A | ||
8574 | ><P | ||
8575 | ><CODE | ||
8576 | ><CODE | ||
8577 | CLASS="FUNCDEF" | ||
8578 | >integer llGetFreeMemory</CODE | ||
8579 | >(void);</CODE | ||
8580 | ></P | ||
8581 | ><P | ||
8582 | ></P | ||
8583 | ></DIV | ||
8584 | ><P | ||
8585 | >Returns the available heap space for the current script.</P | ||
8586 | ></DIV | ||
8587 | ><DIV | ||
8588 | CLASS="section" | ||
8589 | ><HR><H2 | ||
8590 | CLASS="section" | ||
8591 | ><A | ||
8592 | NAME="AEN1738" | ||
8593 | >A.67. llGetGeometricCenter</A | ||
8594 | ></H2 | ||
8595 | ><DIV | ||
8596 | CLASS="funcsynopsis" | ||
8597 | ><P | ||
8598 | ></P | ||
8599 | ><A | ||
8600 | NAME="AEN1740" | ||
8601 | ></A | ||
8602 | ><P | ||
8603 | ><CODE | ||
8604 | ><CODE | ||
8605 | CLASS="FUNCDEF" | ||
8606 | >vector llGetGeometricCenter</CODE | ||
8607 | >(void);</CODE | ||
8608 | ></P | ||
8609 | ><P | ||
8610 | ></P | ||
8611 | ></DIV | ||
8612 | ><P | ||
8613 | >Returns the geometric center of the linked set the script is attached to.</P | ||
8614 | ></DIV | ||
8615 | ><DIV | ||
8616 | CLASS="section" | ||
8617 | ><HR><H2 | ||
8618 | CLASS="section" | ||
8619 | ><A | ||
8620 | NAME="AEN1746" | ||
8621 | >A.68. llGetGMTclock</A | ||
8622 | ></H2 | ||
8623 | ><DIV | ||
8624 | CLASS="funcsynopsis" | ||
8625 | ><P | ||
8626 | ></P | ||
8627 | ><A | ||
8628 | NAME="AEN1748" | ||
8629 | ></A | ||
8630 | ><P | ||
8631 | ><CODE | ||
8632 | ><CODE | ||
8633 | CLASS="FUNCDEF" | ||
8634 | >float llGetGMTclock</CODE | ||
8635 | >(void);</CODE | ||
8636 | ></P | ||
8637 | ><P | ||
8638 | ></P | ||
8639 | ></DIV | ||
8640 | ><P | ||
8641 | >Returns the time in seconds since GMT midnight.</P | ||
8642 | ></DIV | ||
8643 | ><DIV | ||
8644 | CLASS="section" | ||
8645 | ><HR><H2 | ||
8646 | CLASS="section" | ||
8647 | ><A | ||
8648 | NAME="AEN1754" | ||
8649 | >A.69. llGetInventoryCreator</A | ||
8650 | ></H2 | ||
8651 | ><DIV | ||
8652 | CLASS="funcsynopsis" | ||
8653 | ><P | ||
8654 | ></P | ||
8655 | ><A | ||
8656 | NAME="AEN1756" | ||
8657 | ></A | ||
8658 | ><P | ||
8659 | ><CODE | ||
8660 | ><CODE | ||
8661 | CLASS="FUNCDEF" | ||
8662 | >key llGetInventoryCreator</CODE | ||
8663 | >(string name);</CODE | ||
8664 | ></P | ||
8665 | ><P | ||
8666 | ></P | ||
8667 | ></DIV | ||
8668 | ><P | ||
8669 | >Returns the key for the creator of the inventory | ||
8670 | <CODE | ||
8671 | CLASS="parameter" | ||
8672 | >name</CODE | ||
8673 | >.</P | ||
8674 | ></DIV | ||
8675 | ><DIV | ||
8676 | CLASS="section" | ||
8677 | ><HR><H2 | ||
8678 | CLASS="section" | ||
8679 | ><A | ||
8680 | NAME="AEN1764" | ||
8681 | >A.70. llGetInventoryKey</A | ||
8682 | ></H2 | ||
8683 | ><DIV | ||
8684 | CLASS="funcsynopsis" | ||
8685 | ><P | ||
8686 | ></P | ||
8687 | ><A | ||
8688 | NAME="AEN1766" | ||
8689 | ></A | ||
8690 | ><P | ||
8691 | ><CODE | ||
8692 | ><CODE | ||
8693 | CLASS="FUNCDEF" | ||
8694 | >key llGetInventoryKey</CODE | ||
8695 | >(string name);</CODE | ||
8696 | ></P | ||
8697 | ><P | ||
8698 | ></P | ||
8699 | ></DIV | ||
8700 | ><P | ||
8701 | >Returns the key of the inventory | ||
8702 | <CODE | ||
8703 | CLASS="parameter" | ||
8704 | >name</CODE | ||
8705 | >.</P | ||
8706 | ></DIV | ||
8707 | ><DIV | ||
8708 | CLASS="section" | ||
8709 | ><HR><H2 | ||
8710 | CLASS="section" | ||
8711 | ><A | ||
8712 | NAME="AEN1774" | ||
8713 | >A.71. llGetInventoryName</A | ||
8714 | ></H2 | ||
8715 | ><DIV | ||
8716 | CLASS="funcsynopsis" | ||
8717 | ><P | ||
8718 | ></P | ||
8719 | ><A | ||
8720 | NAME="AEN1776" | ||
8721 | ></A | ||
8722 | ><P | ||
8723 | ><CODE | ||
8724 | ><CODE | ||
8725 | CLASS="FUNCDEF" | ||
8726 | >string llGetInventoryName</CODE | ||
8727 | >(integer type, integer number);</CODE | ||
8728 | ></P | ||
8729 | ><P | ||
8730 | ></P | ||
8731 | ></DIV | ||
8732 | ><P | ||
8733 | >Get the name of the inventory item | ||
8734 | <CODE | ||
8735 | CLASS="parameter" | ||
8736 | >number</CODE | ||
8737 | > of <CODE | ||
8738 | CLASS="parameter" | ||
8739 | >type</CODE | ||
8740 | >. Use | ||
8741 | the <A | ||
8742 | HREF="#AEN5411" | ||
8743 | >inventory constants</A | ||
8744 | > to | ||
8745 | specify the <CODE | ||
8746 | CLASS="parameter" | ||
8747 | >type</CODE | ||
8748 | >.</P | ||
8749 | ></DIV | ||
8750 | ><DIV | ||
8751 | CLASS="section" | ||
8752 | ><HR><H2 | ||
8753 | CLASS="section" | ||
8754 | ><A | ||
8755 | NAME="AEN1789" | ||
8756 | >A.72. llGetInventoryNumber</A | ||
8757 | ></H2 | ||
8758 | ><DIV | ||
8759 | CLASS="funcsynopsis" | ||
8760 | ><P | ||
8761 | ></P | ||
8762 | ><A | ||
8763 | NAME="AEN1791" | ||
8764 | ></A | ||
8765 | ><P | ||
8766 | ><CODE | ||
8767 | ><CODE | ||
8768 | CLASS="FUNCDEF" | ||
8769 | >integer llGetInventoryNumber</CODE | ||
8770 | >(integer type);</CODE | ||
8771 | ></P | ||
8772 | ><P | ||
8773 | ></P | ||
8774 | ></DIV | ||
8775 | ><P | ||
8776 | >Get the number of items of <CODE | ||
8777 | CLASS="parameter" | ||
8778 | >type</CODE | ||
8779 | > in | ||
8780 | the object inventory. Use the <A | ||
8781 | HREF="#AEN5411" | ||
8782 | >inventory constants</A | ||
8783 | > to specify | ||
8784 | the <CODE | ||
8785 | CLASS="parameter" | ||
8786 | >type</CODE | ||
8787 | >.</P | ||
8788 | ></DIV | ||
8789 | ><DIV | ||
8790 | CLASS="section" | ||
8791 | ><HR><H2 | ||
8792 | CLASS="section" | ||
8793 | ><A | ||
8794 | NAME="AEN1801" | ||
8795 | >A.73. llGetInventoryPermMask</A | ||
8796 | ></H2 | ||
8797 | ><DIV | ||
8798 | CLASS="funcsynopsis" | ||
8799 | ><P | ||
8800 | ></P | ||
8801 | ><A | ||
8802 | NAME="AEN1803" | ||
8803 | ></A | ||
8804 | ><P | ||
8805 | ><CODE | ||
8806 | ><CODE | ||
8807 | CLASS="FUNCDEF" | ||
8808 | >integer llGetInventoryPermMask</CODE | ||
8809 | >(string item, integer mask);</CODE | ||
8810 | ></P | ||
8811 | ><P | ||
8812 | ></P | ||
8813 | ></DIV | ||
8814 | ><P | ||
8815 | >Returns the requested permission <CODE | ||
8816 | CLASS="parameter" | ||
8817 | >mask</CODE | ||
8818 | > for the | ||
8819 | specified inventory item. See <A | ||
8820 | HREF="#AEN6412" | ||
8821 | >Permission Mask Constants</A | ||
8822 | > | ||
8823 | for more information. Example usage: | ||
8824 | <DIV | ||
8825 | CLASS="informalexample" | ||
8826 | ><P | ||
8827 | ></P | ||
8828 | ><A | ||
8829 | NAME="AEN1814" | ||
8830 | ></A | ||
8831 | ><PRE | ||
8832 | CLASS="programlisting" | ||
8833 | > integer JeansPerms = llGetInventoryPermMask("Black Jeans", MASK_NEXT); | ||
8834 | if (JeansPerms & PERM_COPY) | ||
8835 | { | ||
8836 | llSay(0, "The next owner may copy the 'Black Jeans'"); | ||
8837 | } | ||
8838 | </PRE | ||
8839 | ><P | ||
8840 | ></P | ||
8841 | ></DIV | ||
8842 | ></P | ||
8843 | ></DIV | ||
8844 | ><DIV | ||
8845 | CLASS="section" | ||
8846 | ><HR><H2 | ||
8847 | CLASS="section" | ||
8848 | ><A | ||
8849 | NAME="AEN1816" | ||
8850 | >A.74. llGetInventoryType</A | ||
8851 | ></H2 | ||
8852 | ><DIV | ||
8853 | CLASS="funcsynopsis" | ||
8854 | ><P | ||
8855 | ></P | ||
8856 | ><A | ||
8857 | NAME="AEN1818" | ||
8858 | ></A | ||
8859 | ><P | ||
8860 | ><CODE | ||
8861 | ><CODE | ||
8862 | CLASS="FUNCDEF" | ||
8863 | >integer llGetInventoryType</CODE | ||
8864 | >(string name);</CODE | ||
8865 | ></P | ||
8866 | ><P | ||
8867 | ></P | ||
8868 | ></DIV | ||
8869 | ><P | ||
8870 | >Returns the type of the inventory | ||
8871 | <CODE | ||
8872 | CLASS="parameter" | ||
8873 | >name</CODE | ||
8874 | >. INVENTORY_NONE is returned if no | ||
8875 | inventory matching <CODE | ||
8876 | CLASS="parameter" | ||
8877 | >name</CODE | ||
8878 | > is found. Use the <A | ||
8879 | HREF="#AEN5411" | ||
8880 | >inventory constants</A | ||
8881 | > to compare | ||
8882 | against the return value.</P | ||
8883 | ></DIV | ||
8884 | ><DIV | ||
8885 | CLASS="section" | ||
8886 | ><HR><H2 | ||
8887 | CLASS="section" | ||
8888 | ><A | ||
8889 | NAME="AEN1828" | ||
8890 | >A.75. llGetKey</A | ||
8891 | ></H2 | ||
8892 | ><DIV | ||
8893 | CLASS="funcsynopsis" | ||
8894 | ><P | ||
8895 | ></P | ||
8896 | ><A | ||
8897 | NAME="AEN1830" | ||
8898 | ></A | ||
8899 | ><P | ||
8900 | ><CODE | ||
8901 | ><CODE | ||
8902 | CLASS="FUNCDEF" | ||
8903 | >key llGetKey</CODE | ||
8904 | >(void);</CODE | ||
8905 | ></P | ||
8906 | ><P | ||
8907 | ></P | ||
8908 | ></DIV | ||
8909 | ><P | ||
8910 | >Get the key for the object which has this script.</P | ||
8911 | ></DIV | ||
8912 | ><DIV | ||
8913 | CLASS="section" | ||
8914 | ><HR><H2 | ||
8915 | CLASS="section" | ||
8916 | ><A | ||
8917 | NAME="AEN1836" | ||
8918 | >A.76. llGetLandOwnerAt</A | ||
8919 | ></H2 | ||
8920 | ><DIV | ||
8921 | CLASS="funcsynopsis" | ||
8922 | ><P | ||
8923 | ></P | ||
8924 | ><A | ||
8925 | NAME="AEN1838" | ||
8926 | ></A | ||
8927 | ><P | ||
8928 | ><CODE | ||
8929 | ><CODE | ||
8930 | CLASS="FUNCDEF" | ||
8931 | >key llGetLandOwnerAt</CODE | ||
8932 | >(vector pos);</CODE | ||
8933 | ></P | ||
8934 | ><P | ||
8935 | ></P | ||
8936 | ></DIV | ||
8937 | ><P | ||
8938 | >Returns the key of the land owner at | ||
8939 | <CODE | ||
8940 | CLASS="parameter" | ||
8941 | >pos</CODE | ||
8942 | > or <A | ||
8943 | HREF="#AEN6070" | ||
8944 | >NULL_KEY</A | ||
8945 | > if public.</P | ||
8946 | ></DIV | ||
8947 | ><DIV | ||
8948 | CLASS="section" | ||
8949 | ><HR><H2 | ||
8950 | CLASS="section" | ||
8951 | ><A | ||
8952 | NAME="AEN1847" | ||
8953 | >A.77. llGetLinkKey</A | ||
8954 | ></H2 | ||
8955 | ><DIV | ||
8956 | CLASS="funcsynopsis" | ||
8957 | ><P | ||
8958 | ></P | ||
8959 | ><A | ||
8960 | NAME="AEN1849" | ||
8961 | ></A | ||
8962 | ><P | ||
8963 | ><CODE | ||
8964 | ><CODE | ||
8965 | CLASS="FUNCDEF" | ||
8966 | >key llGetLinkKey</CODE | ||
8967 | >(integer linknum);</CODE | ||
8968 | ></P | ||
8969 | ><P | ||
8970 | ></P | ||
8971 | ></DIV | ||
8972 | ><P | ||
8973 | >Returns the key of <CODE | ||
8974 | CLASS="parameter" | ||
8975 | >linknum</CODE | ||
8976 | > in the link | ||
8977 | set.</P | ||
8978 | ></DIV | ||
8979 | ><DIV | ||
8980 | CLASS="section" | ||
8981 | ><HR><H2 | ||
8982 | CLASS="section" | ||
8983 | ><A | ||
8984 | NAME="AEN1857" | ||
8985 | >A.78. llGetLinkName</A | ||
8986 | ></H2 | ||
8987 | ><DIV | ||
8988 | CLASS="funcsynopsis" | ||
8989 | ><P | ||
8990 | ></P | ||
8991 | ><A | ||
8992 | NAME="AEN1859" | ||
8993 | ></A | ||
8994 | ><P | ||
8995 | ><CODE | ||
8996 | ><CODE | ||
8997 | CLASS="FUNCDEF" | ||
8998 | >string llGetLinkName</CODE | ||
8999 | >(integer linknum);</CODE | ||
9000 | ></P | ||
9001 | ><P | ||
9002 | ></P | ||
9003 | ></DIV | ||
9004 | ><P | ||
9005 | >Returns the name of <CODE | ||
9006 | CLASS="parameter" | ||
9007 | >linknum</CODE | ||
9008 | > in the | ||
9009 | link set.</P | ||
9010 | ></DIV | ||
9011 | ><DIV | ||
9012 | CLASS="section" | ||
9013 | ><HR><H2 | ||
9014 | CLASS="section" | ||
9015 | ><A | ||
9016 | NAME="AEN1867" | ||
9017 | >A.79. llGetLinkNumber</A | ||
9018 | ></H2 | ||
9019 | ><DIV | ||
9020 | CLASS="funcsynopsis" | ||
9021 | ><P | ||
9022 | ></P | ||
9023 | ><A | ||
9024 | NAME="AEN1869" | ||
9025 | ></A | ||
9026 | ><P | ||
9027 | ><CODE | ||
9028 | ><CODE | ||
9029 | CLASS="FUNCDEF" | ||
9030 | >integer llGetLinkNumber</CODE | ||
9031 | >(void);</CODE | ||
9032 | ></P | ||
9033 | ><P | ||
9034 | ></P | ||
9035 | ></DIV | ||
9036 | ><P | ||
9037 | >Returns what link number in a link set the for the object | ||
9038 | which has this script. 0 means no link, 1 the root, 2 for first | ||
9039 | child, etc.</P | ||
9040 | ></DIV | ||
9041 | ><DIV | ||
9042 | CLASS="section" | ||
9043 | ><HR><H2 | ||
9044 | CLASS="section" | ||
9045 | ><A | ||
9046 | NAME="AEN1875" | ||
9047 | >A.80. llGetListEntryType</A | ||
9048 | ></H2 | ||
9049 | ><DIV | ||
9050 | CLASS="funcsynopsis" | ||
9051 | ><P | ||
9052 | ></P | ||
9053 | ><A | ||
9054 | NAME="AEN1877" | ||
9055 | ></A | ||
9056 | ><P | ||
9057 | ><CODE | ||
9058 | ><CODE | ||
9059 | CLASS="FUNCDEF" | ||
9060 | >integer llGetListEntryType</CODE | ||
9061 | >(list src, integer index);</CODE | ||
9062 | ></P | ||
9063 | ><P | ||
9064 | ></P | ||
9065 | ></DIV | ||
9066 | ><P | ||
9067 | >Returns the <A | ||
9068 | HREF="#AEN5733" | ||
9069 | >type</A | ||
9070 | > of the | ||
9071 | variable at <CODE | ||
9072 | CLASS="parameter" | ||
9073 | >index</CODE | ||
9074 | > in | ||
9075 | <CODE | ||
9076 | CLASS="parameter" | ||
9077 | >src</CODE | ||
9078 | >.</P | ||
9079 | ></DIV | ||
9080 | ><DIV | ||
9081 | CLASS="section" | ||
9082 | ><HR><H2 | ||
9083 | CLASS="section" | ||
9084 | ><A | ||
9085 | NAME="AEN1889" | ||
9086 | >A.81. llGetListLength</A | ||
9087 | ></H2 | ||
9088 | ><DIV | ||
9089 | CLASS="funcsynopsis" | ||
9090 | ><P | ||
9091 | ></P | ||
9092 | ><A | ||
9093 | NAME="AEN1891" | ||
9094 | ></A | ||
9095 | ><P | ||
9096 | ><CODE | ||
9097 | ><CODE | ||
9098 | CLASS="FUNCDEF" | ||
9099 | >integer llGetListLength</CODE | ||
9100 | >(list src);</CODE | ||
9101 | ></P | ||
9102 | ><P | ||
9103 | ></P | ||
9104 | ></DIV | ||
9105 | ><P | ||
9106 | >Returns the number of elements in | ||
9107 | <CODE | ||
9108 | CLASS="parameter" | ||
9109 | >src</CODE | ||
9110 | >.</P | ||
9111 | ></DIV | ||
9112 | ><DIV | ||
9113 | CLASS="section" | ||
9114 | ><HR><H2 | ||
9115 | CLASS="section" | ||
9116 | ><A | ||
9117 | NAME="AEN1899" | ||
9118 | >A.82. llGetLocalPos</A | ||
9119 | ></H2 | ||
9120 | ><DIV | ||
9121 | CLASS="funcsynopsis" | ||
9122 | ><P | ||
9123 | ></P | ||
9124 | ><A | ||
9125 | NAME="AEN1901" | ||
9126 | ></A | ||
9127 | ><P | ||
9128 | ><CODE | ||
9129 | ><CODE | ||
9130 | CLASS="FUNCDEF" | ||
9131 | >vector llGetLocalPos</CODE | ||
9132 | >(void);</CODE | ||
9133 | ></P | ||
9134 | ><P | ||
9135 | ></P | ||
9136 | ></DIV | ||
9137 | ><P | ||
9138 | >Returns the local position of a child object relative to the | ||
9139 | root.</P | ||
9140 | ></DIV | ||
9141 | ><DIV | ||
9142 | CLASS="section" | ||
9143 | ><HR><H2 | ||
9144 | CLASS="section" | ||
9145 | ><A | ||
9146 | NAME="AEN1907" | ||
9147 | >A.83. llGetLocalRot</A | ||
9148 | ></H2 | ||
9149 | ><DIV | ||
9150 | CLASS="funcsynopsis" | ||
9151 | ><P | ||
9152 | ></P | ||
9153 | ><A | ||
9154 | NAME="AEN1909" | ||
9155 | ></A | ||
9156 | ><P | ||
9157 | ><CODE | ||
9158 | ><CODE | ||
9159 | CLASS="FUNCDEF" | ||
9160 | >rotation llGetLocalRot</CODE | ||
9161 | >(void);</CODE | ||
9162 | ></P | ||
9163 | ><P | ||
9164 | ></P | ||
9165 | ></DIV | ||
9166 | ><P | ||
9167 | >Returns the local rotation of a child object relative to the | ||
9168 | root.</P | ||
9169 | ></DIV | ||
9170 | ><DIV | ||
9171 | CLASS="section" | ||
9172 | ><HR><H2 | ||
9173 | CLASS="section" | ||
9174 | ><A | ||
9175 | NAME="AEN1915" | ||
9176 | >A.84. llGetMass</A | ||
9177 | ></H2 | ||
9178 | ><DIV | ||
9179 | CLASS="funcsynopsis" | ||
9180 | ><P | ||
9181 | ></P | ||
9182 | ><A | ||
9183 | NAME="AEN1917" | ||
9184 | ></A | ||
9185 | ><P | ||
9186 | ><CODE | ||
9187 | ><CODE | ||
9188 | CLASS="FUNCDEF" | ||
9189 | >float llGetMass</CODE | ||
9190 | >(void);</CODE | ||
9191 | ></P | ||
9192 | ><P | ||
9193 | ></P | ||
9194 | ></DIV | ||
9195 | ><P | ||
9196 | >Returns the mass of the object in Kilograms. Most materials | ||
9197 | in Second Life are less dense than their first life counterparts, | ||
9198 | so the returned mass may be less than you might expect.</P | ||
9199 | ></DIV | ||
9200 | ><DIV | ||
9201 | CLASS="section" | ||
9202 | ><HR><H2 | ||
9203 | CLASS="section" | ||
9204 | ><A | ||
9205 | NAME="AEN1923" | ||
9206 | >A.85. llGetObjectMass</A | ||
9207 | ></H2 | ||
9208 | ><DIV | ||
9209 | CLASS="funcsynopsis" | ||
9210 | ><P | ||
9211 | ></P | ||
9212 | ><A | ||
9213 | NAME="AEN1925" | ||
9214 | ></A | ||
9215 | ><P | ||
9216 | ><CODE | ||
9217 | ><CODE | ||
9218 | CLASS="FUNCDEF" | ||
9219 | >float llGetObjectMass</CODE | ||
9220 | >(key id);</CODE | ||
9221 | ></P | ||
9222 | ><P | ||
9223 | ></P | ||
9224 | ></DIV | ||
9225 | ><P | ||
9226 | >Returns the mass of the object specified by <CODE | ||
9227 | CLASS="parameter" | ||
9228 | >id</CODE | ||
9229 | > in Kilograms. Most materials | ||
9230 | in Second Life are less dense than their first life counterparts, | ||
9231 | so the returned mass may be less than you might expect.</P | ||
9232 | ></DIV | ||
9233 | ><DIV | ||
9234 | CLASS="section" | ||
9235 | ><HR><H2 | ||
9236 | CLASS="section" | ||
9237 | ><A | ||
9238 | NAME="AEN1933" | ||
9239 | >A.86. llGetNextEmail</A | ||
9240 | ></H2 | ||
9241 | ><DIV | ||
9242 | CLASS="funcsynopsis" | ||
9243 | ><P | ||
9244 | ></P | ||
9245 | ><A | ||
9246 | NAME="AEN1935" | ||
9247 | ></A | ||
9248 | ><P | ||
9249 | ><CODE | ||
9250 | ><CODE | ||
9251 | CLASS="FUNCDEF" | ||
9252 | >llGetNextEmail</CODE | ||
9253 | >(string address, string subject);</CODE | ||
9254 | ></P | ||
9255 | ><P | ||
9256 | ></P | ||
9257 | ></DIV | ||
9258 | ><P | ||
9259 | >Get the next waiting email with appropriate | ||
9260 | <CODE | ||
9261 | CLASS="parameter" | ||
9262 | >address</CODE | ||
9263 | > and/or | ||
9264 | <CODE | ||
9265 | CLASS="parameter" | ||
9266 | >subject</CODE | ||
9267 | >. If the parameters are blank, they | ||
9268 | are not used for filtering.</P | ||
9269 | ></DIV | ||
9270 | ><DIV | ||
9271 | CLASS="section" | ||
9272 | ><HR><H2 | ||
9273 | CLASS="section" | ||
9274 | ><A | ||
9275 | NAME="AEN1946" | ||
9276 | >A.87. llGetNotecardLine</A | ||
9277 | ></H2 | ||
9278 | ><DIV | ||
9279 | CLASS="funcsynopsis" | ||
9280 | ><P | ||
9281 | ></P | ||
9282 | ><A | ||
9283 | NAME="AEN1948" | ||
9284 | ></A | ||
9285 | ><P | ||
9286 | ><CODE | ||
9287 | ><CODE | ||
9288 | CLASS="FUNCDEF" | ||
9289 | >key llGetNotecardLine</CODE | ||
9290 | >(string name, integer line);</CODE | ||
9291 | ></P | ||
9292 | ><P | ||
9293 | ></P | ||
9294 | ></DIV | ||
9295 | ><P | ||
9296 | >This function fetches line number | ||
9297 | <CODE | ||
9298 | CLASS="parameter" | ||
9299 | >line</CODE | ||
9300 | > of notecard | ||
9301 | <CODE | ||
9302 | CLASS="parameter" | ||
9303 | >name</CODE | ||
9304 | > and returns the data through the <A | ||
9305 | HREF="#AEN4997" | ||
9306 | >dataserver</A | ||
9307 | > event. The line count | ||
9308 | starts at zero. If the requested line is past the end of the | ||
9309 | notecard the <A | ||
9310 | HREF="#AEN4997" | ||
9311 | >dataserver</A | ||
9312 | > | ||
9313 | event will return the constant <A | ||
9314 | HREF="#AEN6076" | ||
9315 | >EOF</A | ||
9316 | > string. The key returned by | ||
9317 | this function is a unique identifier which will be supplied to the | ||
9318 | <A | ||
9319 | HREF="#AEN4997" | ||
9320 | >dataserver</A | ||
9321 | > event in the | ||
9322 | <CODE | ||
9323 | CLASS="parameter" | ||
9324 | >requested</CODE | ||
9325 | > parameter.</P | ||
9326 | ></DIV | ||
9327 | ><DIV | ||
9328 | CLASS="section" | ||
9329 | ><HR><H2 | ||
9330 | CLASS="section" | ||
9331 | ><A | ||
9332 | NAME="AEN1964" | ||
9333 | >A.88. llGetNumberOfNotecardLines</A | ||
9334 | ></H2 | ||
9335 | ><DIV | ||
9336 | CLASS="funcsynopsis" | ||
9337 | ><P | ||
9338 | ></P | ||
9339 | ><A | ||
9340 | NAME="AEN1966" | ||
9341 | ></A | ||
9342 | ><P | ||
9343 | ><CODE | ||
9344 | ><CODE | ||
9345 | CLASS="FUNCDEF" | ||
9346 | >key llGetNumberOfNotecardLines</CODE | ||
9347 | >(string name);</CODE | ||
9348 | ></P | ||
9349 | ><P | ||
9350 | ></P | ||
9351 | ></DIV | ||
9352 | ><P | ||
9353 | >This function reads the number of lines in notecard <CODE | ||
9354 | CLASS="parameter" | ||
9355 | >name</CODE | ||
9356 | > | ||
9357 | and returns this information through the <A | ||
9358 | HREF="#AEN4997" | ||
9359 | >dataserver</A | ||
9360 | > event. | ||
9361 | The key returned by this function is a unique identifier which will be supplied to the | ||
9362 | <A | ||
9363 | HREF="#AEN4997" | ||
9364 | >dataserver</A | ||
9365 | > event in the <CODE | ||
9366 | CLASS="parameter" | ||
9367 | >requested</CODE | ||
9368 | > | ||
9369 | parameter. You will need to cast the returned string to an integer.</P | ||
9370 | ></DIV | ||
9371 | ><DIV | ||
9372 | CLASS="section" | ||
9373 | ><HR><H2 | ||
9374 | CLASS="section" | ||
9375 | ><A | ||
9376 | NAME="AEN1977" | ||
9377 | >A.89. llGetNumberOfPrims</A | ||
9378 | ></H2 | ||
9379 | ><DIV | ||
9380 | CLASS="funcsynopsis" | ||
9381 | ><P | ||
9382 | ></P | ||
9383 | ><A | ||
9384 | NAME="AEN1979" | ||
9385 | ></A | ||
9386 | ><P | ||
9387 | ><CODE | ||
9388 | ><CODE | ||
9389 | CLASS="FUNCDEF" | ||
9390 | >integer llGetNumberOfPrims</CODE | ||
9391 | >(void);</CODE | ||
9392 | ></P | ||
9393 | ><P | ||
9394 | ></P | ||
9395 | ></DIV | ||
9396 | ><P | ||
9397 | >Returns the number of prims in the linked set the script is attached to.</P | ||
9398 | ></DIV | ||
9399 | ><DIV | ||
9400 | CLASS="section" | ||
9401 | ><HR><H2 | ||
9402 | CLASS="section" | ||
9403 | ><A | ||
9404 | NAME="AEN1985" | ||
9405 | >A.90. llGetNumberOfSides</A | ||
9406 | ></H2 | ||
9407 | ><DIV | ||
9408 | CLASS="funcsynopsis" | ||
9409 | ><P | ||
9410 | ></P | ||
9411 | ><A | ||
9412 | NAME="AEN1987" | ||
9413 | ></A | ||
9414 | ><P | ||
9415 | ><CODE | ||
9416 | ><CODE | ||
9417 | CLASS="FUNCDEF" | ||
9418 | >key llGetNumberOfSides</CODE | ||
9419 | >(void);</CODE | ||
9420 | ></P | ||
9421 | ><P | ||
9422 | ></P | ||
9423 | ></DIV | ||
9424 | ><P | ||
9425 | >Returns the number of sides of the current which has the | ||
9426 | script.</P | ||
9427 | ></DIV | ||
9428 | ><DIV | ||
9429 | CLASS="section" | ||
9430 | ><HR><H2 | ||
9431 | CLASS="section" | ||
9432 | ><A | ||
9433 | NAME="AEN1993" | ||
9434 | >A.91. llGetObjectDesc</A | ||
9435 | ></H2 | ||
9436 | ><DIV | ||
9437 | CLASS="funcsynopsis" | ||
9438 | ><P | ||
9439 | ></P | ||
9440 | ><A | ||
9441 | NAME="AEN1995" | ||
9442 | ></A | ||
9443 | ><P | ||
9444 | ><CODE | ||
9445 | ><CODE | ||
9446 | CLASS="FUNCDEF" | ||
9447 | >string llGetObjectDesc</CODE | ||
9448 | >(void);</CODE | ||
9449 | ></P | ||
9450 | ><P | ||
9451 | ></P | ||
9452 | ></DIV | ||
9453 | ><P | ||
9454 | >Returns the description of the object which has the script.</P | ||
9455 | ></DIV | ||
9456 | ><DIV | ||
9457 | CLASS="section" | ||
9458 | ><HR><H2 | ||
9459 | CLASS="section" | ||
9460 | ><A | ||
9461 | NAME="AEN2001" | ||
9462 | >A.92. llGetObjectName</A | ||
9463 | ></H2 | ||
9464 | ><DIV | ||
9465 | CLASS="funcsynopsis" | ||
9466 | ><P | ||
9467 | ></P | ||
9468 | ><A | ||
9469 | NAME="AEN2003" | ||
9470 | ></A | ||
9471 | ><P | ||
9472 | ><CODE | ||
9473 | ><CODE | ||
9474 | CLASS="FUNCDEF" | ||
9475 | >string llGetObjectName</CODE | ||
9476 | >(void);</CODE | ||
9477 | ></P | ||
9478 | ><P | ||
9479 | ></P | ||
9480 | ></DIV | ||
9481 | ><P | ||
9482 | >Returns the name of the object which has the script.</P | ||
9483 | ></DIV | ||
9484 | ><DIV | ||
9485 | CLASS="section" | ||
9486 | ><HR><H2 | ||
9487 | CLASS="section" | ||
9488 | ><A | ||
9489 | NAME="AEN2009" | ||
9490 | >A.93. llGetObjectPermMask</A | ||
9491 | ></H2 | ||
9492 | ><DIV | ||
9493 | CLASS="funcsynopsis" | ||
9494 | ><P | ||
9495 | ></P | ||
9496 | ><A | ||
9497 | NAME="AEN2011" | ||
9498 | ></A | ||
9499 | ><P | ||
9500 | ><CODE | ||
9501 | ><CODE | ||
9502 | CLASS="FUNCDEF" | ||
9503 | >integer llGetObjectPermMask</CODE | ||
9504 | >(integer mask);</CODE | ||
9505 | ></P | ||
9506 | ><P | ||
9507 | ></P | ||
9508 | ></DIV | ||
9509 | ><P | ||
9510 | >Returns the requested permission <CODE | ||
9511 | CLASS="parameter" | ||
9512 | >mask</CODE | ||
9513 | > for the root object the | ||
9514 | task is attached to. See <A | ||
9515 | HREF="#AEN6412" | ||
9516 | >Permission Mask Constants</A | ||
9517 | > | ||
9518 | for more information. Example usage: | ||
9519 | <DIV | ||
9520 | CLASS="informalexample" | ||
9521 | ><P | ||
9522 | ></P | ||
9523 | ><A | ||
9524 | NAME="AEN2020" | ||
9525 | ></A | ||
9526 | ><PRE | ||
9527 | CLASS="programlisting" | ||
9528 | > integer ObjectPerms = llGetObjectPermMask(MASK_NEXT); | ||
9529 | if (ObjectPerms & PERM_COPY) | ||
9530 | { | ||
9531 | llSay(0, "The next owner may copy this item"); | ||
9532 | } | ||
9533 | </PRE | ||
9534 | ><P | ||
9535 | ></P | ||
9536 | ></DIV | ||
9537 | ></P | ||
9538 | ></DIV | ||
9539 | ><DIV | ||
9540 | CLASS="section" | ||
9541 | ><HR><H2 | ||
9542 | CLASS="section" | ||
9543 | ><A | ||
9544 | NAME="AEN2022" | ||
9545 | >A.94. llGetOmega</A | ||
9546 | ></H2 | ||
9547 | ><DIV | ||
9548 | CLASS="funcsynopsis" | ||
9549 | ><P | ||
9550 | ></P | ||
9551 | ><A | ||
9552 | NAME="AEN2024" | ||
9553 | ></A | ||
9554 | ><P | ||
9555 | ><CODE | ||
9556 | ><CODE | ||
9557 | CLASS="FUNCDEF" | ||
9558 | >vector llGetOmega</CODE | ||
9559 | >(void);</CODE | ||
9560 | ></P | ||
9561 | ><P | ||
9562 | ></P | ||
9563 | ></DIV | ||
9564 | ><P | ||
9565 | >Returns the omega.</P | ||
9566 | ></DIV | ||
9567 | ><DIV | ||
9568 | CLASS="section" | ||
9569 | ><HR><H2 | ||
9570 | CLASS="section" | ||
9571 | ><A | ||
9572 | NAME="AEN2030" | ||
9573 | >A.95. llGetOwner</A | ||
9574 | ></H2 | ||
9575 | ><DIV | ||
9576 | CLASS="funcsynopsis" | ||
9577 | ><P | ||
9578 | ></P | ||
9579 | ><A | ||
9580 | NAME="AEN2032" | ||
9581 | ></A | ||
9582 | ><P | ||
9583 | ><CODE | ||
9584 | ><CODE | ||
9585 | CLASS="FUNCDEF" | ||
9586 | >key llGetOwner</CODE | ||
9587 | >(void);</CODE | ||
9588 | ></P | ||
9589 | ><P | ||
9590 | ></P | ||
9591 | ></DIV | ||
9592 | ><P | ||
9593 | >Returns the owner of the object.</P | ||
9594 | ></DIV | ||
9595 | ><DIV | ||
9596 | CLASS="section" | ||
9597 | ><HR><H2 | ||
9598 | CLASS="section" | ||
9599 | ><A | ||
9600 | NAME="AEN2038" | ||
9601 | >A.96. llGetOwnerKey</A | ||
9602 | ></H2 | ||
9603 | ><DIV | ||
9604 | CLASS="funcsynopsis" | ||
9605 | ><P | ||
9606 | ></P | ||
9607 | ><A | ||
9608 | NAME="AEN2040" | ||
9609 | ></A | ||
9610 | ><P | ||
9611 | ><CODE | ||
9612 | ><CODE | ||
9613 | CLASS="FUNCDEF" | ||
9614 | >key llGetOwnerKey</CODE | ||
9615 | >(key id);</CODE | ||
9616 | ></P | ||
9617 | ><P | ||
9618 | ></P | ||
9619 | ></DIV | ||
9620 | ><P | ||
9621 | >Returns the owner of object | ||
9622 | <CODE | ||
9623 | CLASS="parameter" | ||
9624 | >id</CODE | ||
9625 | >.</P | ||
9626 | ></DIV | ||
9627 | ><DIV | ||
9628 | CLASS="section" | ||
9629 | ><HR><H2 | ||
9630 | CLASS="section" | ||
9631 | ><A | ||
9632 | NAME="AEN2048" | ||
9633 | >A.97. llGetPermissions</A | ||
9634 | ></H2 | ||
9635 | ><DIV | ||
9636 | CLASS="funcsynopsis" | ||
9637 | ><P | ||
9638 | ></P | ||
9639 | ><A | ||
9640 | NAME="AEN2050" | ||
9641 | ></A | ||
9642 | ><P | ||
9643 | ><CODE | ||
9644 | ><CODE | ||
9645 | CLASS="FUNCDEF" | ||
9646 | >integer llGetPermissions</CODE | ||
9647 | >(void);</CODE | ||
9648 | ></P | ||
9649 | ><P | ||
9650 | ></P | ||
9651 | ></DIV | ||
9652 | ><P | ||
9653 | >Returns what permissions have been enabled. eg: | ||
9654 | <DIV | ||
9655 | CLASS="informalexample" | ||
9656 | ><P | ||
9657 | ></P | ||
9658 | ><A | ||
9659 | NAME="AEN2056" | ||
9660 | ></A | ||
9661 | ><PRE | ||
9662 | CLASS="programlisting" | ||
9663 | > integer perm = llGetPermissions(); | ||
9664 | if((perm & PERMISSION_DEBIT) == PERMISSION_DEBIT) | ||
9665 | { | ||
9666 | // code goes here | ||
9667 | } | ||
9668 | </PRE | ||
9669 | ><P | ||
9670 | ></P | ||
9671 | ></DIV | ||
9672 | ></P | ||
9673 | ></DIV | ||
9674 | ><DIV | ||
9675 | CLASS="section" | ||
9676 | ><HR><H2 | ||
9677 | CLASS="section" | ||
9678 | ><A | ||
9679 | NAME="AEN2058" | ||
9680 | >A.98. llGetPermissionsKey</A | ||
9681 | ></H2 | ||
9682 | ><DIV | ||
9683 | CLASS="funcsynopsis" | ||
9684 | ><P | ||
9685 | ></P | ||
9686 | ><A | ||
9687 | NAME="AEN2060" | ||
9688 | ></A | ||
9689 | ><P | ||
9690 | ><CODE | ||
9691 | ><CODE | ||
9692 | CLASS="FUNCDEF" | ||
9693 | >key llGetPermissionsKey</CODE | ||
9694 | >(void);</CODE | ||
9695 | ></P | ||
9696 | ><P | ||
9697 | ></P | ||
9698 | ></DIV | ||
9699 | ><P | ||
9700 | >Returns avatar that has enabled permissions. Returns <A | ||
9701 | HREF="#AEN6070" | ||
9702 | >NULL_KEY</A | ||
9703 | > if not enabled.</P | ||
9704 | ></DIV | ||
9705 | ><DIV | ||
9706 | CLASS="section" | ||
9707 | ><HR><H2 | ||
9708 | CLASS="section" | ||
9709 | ><A | ||
9710 | NAME="AEN2067" | ||
9711 | >A.99. llGetPos</A | ||
9712 | ></H2 | ||
9713 | ><DIV | ||
9714 | CLASS="funcsynopsis" | ||
9715 | ><P | ||
9716 | ></P | ||
9717 | ><A | ||
9718 | NAME="AEN2069" | ||
9719 | ></A | ||
9720 | ><P | ||
9721 | ><CODE | ||
9722 | ><CODE | ||
9723 | CLASS="FUNCDEF" | ||
9724 | >vector llGetPos</CODE | ||
9725 | >(void);</CODE | ||
9726 | ></P | ||
9727 | ><P | ||
9728 | ></P | ||
9729 | ></DIV | ||
9730 | ><P | ||
9731 | >Returns the position.</P | ||
9732 | ></DIV | ||
9733 | ><DIV | ||
9734 | CLASS="section" | ||
9735 | ><HR><H2 | ||
9736 | CLASS="section" | ||
9737 | ><A | ||
9738 | NAME="AEN2075" | ||
9739 | >A.100. llGetPrimitiveParams</A | ||
9740 | ></H2 | ||
9741 | ><DIV | ||
9742 | CLASS="funcsynopsis" | ||
9743 | ><P | ||
9744 | ></P | ||
9745 | ><A | ||
9746 | NAME="AEN2077" | ||
9747 | ></A | ||
9748 | ><P | ||
9749 | ><CODE | ||
9750 | ><CODE | ||
9751 | CLASS="FUNCDEF" | ||
9752 | >list llGetPrimitiveParams</CODE | ||
9753 | >(list parameters);</CODE | ||
9754 | ></P | ||
9755 | ><P | ||
9756 | ></P | ||
9757 | ></DIV | ||
9758 | ><P | ||
9759 | >Get primitive parameters specified in <CODE | ||
9760 | CLASS="parameter" | ||
9761 | >parameters</CODE | ||
9762 | >. The | ||
9763 | <CODE | ||
9764 | CLASS="parameter" | ||
9765 | >parameters</CODE | ||
9766 | > are identical to the rules of <A | ||
9767 | HREF="#AEN4020" | ||
9768 | >llSetPrimitiveParams</A | ||
9769 | >, and the returned list is ordered as such. Most requested parameters do not require a value to be associated, except for texture-related requests (PRIM_TEXTURE, PRIM_COLOR, and PRIM_BUMP_SHINY) which require a side number to be specified as well. | ||
9770 | |||
9771 | Valid parameters can be found in the <A | ||
9772 | HREF="#AEN6323" | ||
9773 | >Primitive Constants</A | ||
9774 | >. | ||
9775 | Here is a simple example: | ||
9776 | <DIV | ||
9777 | CLASS="informalexample" | ||
9778 | ><P | ||
9779 | ></P | ||
9780 | ><A | ||
9781 | NAME="AEN2088" | ||
9782 | ></A | ||
9783 | ><PRE | ||
9784 | CLASS="programlisting" | ||
9785 | > llGetPrimitiveParams([PRIM_TYPE, PRIM_MATERIAL, PRIM_COLOR, ALL_SIDES, PRIM_POSITION]); | ||
9786 | </PRE | ||
9787 | ><P | ||
9788 | ></P | ||
9789 | ></DIV | ||
9790 | > | ||
9791 | This would return a list similar to this: | ||
9792 | <DIV | ||
9793 | CLASS="informalexample" | ||
9794 | ><P | ||
9795 | ></P | ||
9796 | ><A | ||
9797 | NAME="AEN2090" | ||
9798 | ></A | ||
9799 | ><PRE | ||
9800 | CLASS="programlisting" | ||
9801 | > [PRIM_TYPE_BOX, PRIM_HOLE_DEFAULT, <0, 1, 0>, 0.0, <0, 0, 0>, <1, 1, 0>, <0, 0, 0>, // PRIM_TYPE | ||
9802 | PRIM_MATERIAL_WOOD, // PRIM_MATERIAL | ||
9803 | 0, <1, 1, 1>, 1.0, // PRIM_COLOR (ALL_SIDES specified, so all 6 sides returned) | ||
9804 | 1, <1, 0, 0>, 0.5, | ||
9805 | 2, <0, 0, 1>, 1.0, | ||
9806 | 3, <0, 1, 0>, 1.0, | ||
9807 | 4, <0, 0, 0>, 0.5, | ||
9808 | 5, <1, 1, 1>, 1.0, | ||
9809 | <37.341, 195.283, 31.239>] // PRIM_POSITION | ||
9810 | </PRE | ||
9811 | ><P | ||
9812 | ></P | ||
9813 | ></DIV | ||
9814 | ></P | ||
9815 | ></DIV | ||
9816 | ><DIV | ||
9817 | CLASS="section" | ||
9818 | ><HR><H2 | ||
9819 | CLASS="section" | ||
9820 | ><A | ||
9821 | NAME="AEN2092" | ||
9822 | >A.101. llGetRegionCorner</A | ||
9823 | ></H2 | ||
9824 | ><DIV | ||
9825 | CLASS="funcsynopsis" | ||
9826 | ><P | ||
9827 | ></P | ||
9828 | ><A | ||
9829 | NAME="AEN2094" | ||
9830 | ></A | ||
9831 | ><P | ||
9832 | ><CODE | ||
9833 | ><CODE | ||
9834 | CLASS="FUNCDEF" | ||
9835 | >llGetRegionCorner</CODE | ||
9836 | >(void);</CODE | ||
9837 | ></P | ||
9838 | ><P | ||
9839 | ></P | ||
9840 | ></DIV | ||
9841 | ><P | ||
9842 | >Returns a vector with the south west corner position of the | ||
9843 | current region.</P | ||
9844 | ></DIV | ||
9845 | ><DIV | ||
9846 | CLASS="section" | ||
9847 | ><HR><H2 | ||
9848 | CLASS="section" | ||
9849 | ><A | ||
9850 | NAME="AEN2100" | ||
9851 | >A.102. llGetRegionFPS</A | ||
9852 | ></H2 | ||
9853 | ><DIV | ||
9854 | CLASS="funcsynopsis" | ||
9855 | ><P | ||
9856 | ></P | ||
9857 | ><A | ||
9858 | NAME="AEN2102" | ||
9859 | ></A | ||
9860 | ><P | ||
9861 | ><CODE | ||
9862 | ><CODE | ||
9863 | CLASS="FUNCDEF" | ||
9864 | >llGetRegionFPS</CODE | ||
9865 | >(void);</CODE | ||
9866 | ></P | ||
9867 | ><P | ||
9868 | ></P | ||
9869 | ></DIV | ||
9870 | ><P | ||
9871 | >Returns the mean region frames per second.</P | ||
9872 | ></DIV | ||
9873 | ><DIV | ||
9874 | CLASS="section" | ||
9875 | ><HR><H2 | ||
9876 | CLASS="section" | ||
9877 | ><A | ||
9878 | NAME="AEN2108" | ||
9879 | >A.103. llGetRegionName</A | ||
9880 | ></H2 | ||
9881 | ><DIV | ||
9882 | CLASS="funcsynopsis" | ||
9883 | ><P | ||
9884 | ></P | ||
9885 | ><A | ||
9886 | NAME="AEN2110" | ||
9887 | ></A | ||
9888 | ><P | ||
9889 | ><CODE | ||
9890 | ><CODE | ||
9891 | CLASS="FUNCDEF" | ||
9892 | >string llGetRegionName</CODE | ||
9893 | >(void);</CODE | ||
9894 | ></P | ||
9895 | ><P | ||
9896 | ></P | ||
9897 | ></DIV | ||
9898 | ><P | ||
9899 | >Returns the current region name.</P | ||
9900 | ></DIV | ||
9901 | ><DIV | ||
9902 | CLASS="section" | ||
9903 | ><HR><H2 | ||
9904 | CLASS="section" | ||
9905 | ><A | ||
9906 | NAME="AEN2116" | ||
9907 | >A.104. llGetRegionTimeDilation</A | ||
9908 | ></H2 | ||
9909 | ><DIV | ||
9910 | CLASS="funcsynopsis" | ||
9911 | ><P | ||
9912 | ></P | ||
9913 | ><A | ||
9914 | NAME="AEN2118" | ||
9915 | ></A | ||
9916 | ><P | ||
9917 | ><CODE | ||
9918 | ><CODE | ||
9919 | CLASS="FUNCDEF" | ||
9920 | >float llGetRegionTimeDilation</CODE | ||
9921 | >(void);</CODE | ||
9922 | ></P | ||
9923 | ><P | ||
9924 | ></P | ||
9925 | ></DIV | ||
9926 | ><P | ||
9927 | >Returns the current time dilation as a float between 0 and 1.</P | ||
9928 | ></DIV | ||
9929 | ><DIV | ||
9930 | CLASS="section" | ||
9931 | ><HR><H2 | ||
9932 | CLASS="section" | ||
9933 | ><A | ||
9934 | NAME="AEN2124" | ||
9935 | >A.105. llGetRootPosition</A | ||
9936 | ></H2 | ||
9937 | ><DIV | ||
9938 | CLASS="funcsynopsis" | ||
9939 | ><P | ||
9940 | ></P | ||
9941 | ><A | ||
9942 | NAME="AEN2126" | ||
9943 | ></A | ||
9944 | ><P | ||
9945 | ><CODE | ||
9946 | ><CODE | ||
9947 | CLASS="FUNCDEF" | ||
9948 | >vector llGetRootPosition</CODE | ||
9949 | >(void);</CODE | ||
9950 | ></P | ||
9951 | ><P | ||
9952 | ></P | ||
9953 | ></DIV | ||
9954 | ><P | ||
9955 | >Returns the global position of the root object of the object the script is attached to.</P | ||
9956 | ></DIV | ||
9957 | ><DIV | ||
9958 | CLASS="section" | ||
9959 | ><HR><H2 | ||
9960 | CLASS="section" | ||
9961 | ><A | ||
9962 | NAME="AEN2132" | ||
9963 | >A.106. llGetRootRotation</A | ||
9964 | ></H2 | ||
9965 | ><DIV | ||
9966 | CLASS="funcsynopsis" | ||
9967 | ><P | ||
9968 | ></P | ||
9969 | ><A | ||
9970 | NAME="AEN2134" | ||
9971 | ></A | ||
9972 | ><P | ||
9973 | ><CODE | ||
9974 | ><CODE | ||
9975 | CLASS="FUNCDEF" | ||
9976 | >rotation llGetRootRotation</CODE | ||
9977 | >(void);</CODE | ||
9978 | ></P | ||
9979 | ><P | ||
9980 | ></P | ||
9981 | ></DIV | ||
9982 | ><P | ||
9983 | >Returns the global rotation of the root object of the object the script is attached to.</P | ||
9984 | ></DIV | ||
9985 | ><DIV | ||
9986 | CLASS="section" | ||
9987 | ><HR><H2 | ||
9988 | CLASS="section" | ||
9989 | ><A | ||
9990 | NAME="AEN2140" | ||
9991 | >A.107. llGetRot</A | ||
9992 | ></H2 | ||
9993 | ><DIV | ||
9994 | CLASS="funcsynopsis" | ||
9995 | ><P | ||
9996 | ></P | ||
9997 | ><A | ||
9998 | NAME="AEN2142" | ||
9999 | ></A | ||
10000 | ><P | ||
10001 | ><CODE | ||
10002 | ><CODE | ||
10003 | CLASS="FUNCDEF" | ||
10004 | >rotation llGetRot</CODE | ||
10005 | >(void);</CODE | ||
10006 | ></P | ||
10007 | ><P | ||
10008 | ></P | ||
10009 | ></DIV | ||
10010 | ><P | ||
10011 | >Returns the rotation.</P | ||
10012 | ></DIV | ||
10013 | ><DIV | ||
10014 | CLASS="section" | ||
10015 | ><HR><H2 | ||
10016 | CLASS="section" | ||
10017 | ><A | ||
10018 | NAME="AEN2148" | ||
10019 | >A.108. llGetScale</A | ||
10020 | ></H2 | ||
10021 | ><DIV | ||
10022 | CLASS="funcsynopsis" | ||
10023 | ><P | ||
10024 | ></P | ||
10025 | ><A | ||
10026 | NAME="AEN2150" | ||
10027 | ></A | ||
10028 | ><P | ||
10029 | ><CODE | ||
10030 | ><CODE | ||
10031 | CLASS="FUNCDEF" | ||
10032 | >vector llGetScale</CODE | ||
10033 | >(void);</CODE | ||
10034 | ></P | ||
10035 | ><P | ||
10036 | ></P | ||
10037 | ></DIV | ||
10038 | ><P | ||
10039 | >Returns the scale.</P | ||
10040 | ></DIV | ||
10041 | ><DIV | ||
10042 | CLASS="section" | ||
10043 | ><HR><H2 | ||
10044 | CLASS="section" | ||
10045 | ><A | ||
10046 | NAME="AEN2156" | ||
10047 | >A.109. llGetScriptName</A | ||
10048 | ></H2 | ||
10049 | ><DIV | ||
10050 | CLASS="funcsynopsis" | ||
10051 | ><P | ||
10052 | ></P | ||
10053 | ><A | ||
10054 | NAME="AEN2158" | ||
10055 | ></A | ||
10056 | ><P | ||
10057 | ><CODE | ||
10058 | ><CODE | ||
10059 | CLASS="FUNCDEF" | ||
10060 | >string llGetScriptName</CODE | ||
10061 | >(void);</CODE | ||
10062 | ></P | ||
10063 | ><P | ||
10064 | ></P | ||
10065 | ></DIV | ||
10066 | ><P | ||
10067 | >Returns the name of this script.</P | ||
10068 | ></DIV | ||
10069 | ><DIV | ||
10070 | CLASS="section" | ||
10071 | ><HR><H2 | ||
10072 | CLASS="section" | ||
10073 | ><A | ||
10074 | NAME="AEN2164" | ||
10075 | >A.110. llGetStartParameter</A | ||
10076 | ></H2 | ||
10077 | ><DIV | ||
10078 | CLASS="funcsynopsis" | ||
10079 | ><P | ||
10080 | ></P | ||
10081 | ><A | ||
10082 | NAME="AEN2166" | ||
10083 | ></A | ||
10084 | ><P | ||
10085 | ><CODE | ||
10086 | ><CODE | ||
10087 | CLASS="FUNCDEF" | ||
10088 | >integer llGetStartParameter</CODE | ||
10089 | >(void);</CODE | ||
10090 | ></P | ||
10091 | ><P | ||
10092 | ></P | ||
10093 | ></DIV | ||
10094 | ><P | ||
10095 | >Returns the start parameter passed to <A | ||
10096 | HREF="#AEN3461" | ||
10097 | >llRezObject</A | ||
10098 | > or <A | ||
10099 | HREF="#AEN3434" | ||
10100 | >llRezAtRoot</A | ||
10101 | >. If the object was | ||
10102 | created from agent inventory, this function returns 0.</P | ||
10103 | ></DIV | ||
10104 | ><DIV | ||
10105 | CLASS="section" | ||
10106 | ><HR><H2 | ||
10107 | CLASS="section" | ||
10108 | ><A | ||
10109 | NAME="AEN2174" | ||
10110 | >A.111. llGetScriptState</A | ||
10111 | ></H2 | ||
10112 | ><DIV | ||
10113 | CLASS="funcsynopsis" | ||
10114 | ><P | ||
10115 | ></P | ||
10116 | ><A | ||
10117 | NAME="AEN2176" | ||
10118 | ></A | ||
10119 | ><P | ||
10120 | ><CODE | ||
10121 | ><CODE | ||
10122 | CLASS="FUNCDEF" | ||
10123 | >integer llGetScriptState</CODE | ||
10124 | >(string name);</CODE | ||
10125 | ></P | ||
10126 | ><P | ||
10127 | ></P | ||
10128 | ></DIV | ||
10129 | ><P | ||
10130 | >Resets TRUE if script <CODE | ||
10131 | CLASS="parameter" | ||
10132 | >name</CODE | ||
10133 | > is running</P | ||
10134 | ></DIV | ||
10135 | ><DIV | ||
10136 | CLASS="section" | ||
10137 | ><HR><H2 | ||
10138 | CLASS="section" | ||
10139 | ><A | ||
10140 | NAME="AEN2184" | ||
10141 | >A.112. llGetStatus</A | ||
10142 | ></H2 | ||
10143 | ><DIV | ||
10144 | CLASS="funcsynopsis" | ||
10145 | ><P | ||
10146 | ></P | ||
10147 | ><A | ||
10148 | NAME="AEN2186" | ||
10149 | ></A | ||
10150 | ><P | ||
10151 | ><CODE | ||
10152 | ><CODE | ||
10153 | CLASS="FUNCDEF" | ||
10154 | >integer llGetStatus</CODE | ||
10155 | >(integer status);</CODE | ||
10156 | ></P | ||
10157 | ><P | ||
10158 | ></P | ||
10159 | ></DIV | ||
10160 | ><P | ||
10161 | >Returns the value of <CODE | ||
10162 | CLASS="parameter" | ||
10163 | >status</CODE | ||
10164 | >. The | ||
10165 | value will be one of the <A | ||
10166 | HREF="#AEN5304" | ||
10167 | >status | ||
10168 | constants</A | ||
10169 | >.</P | ||
10170 | ></DIV | ||
10171 | ><DIV | ||
10172 | CLASS="section" | ||
10173 | ><HR><H2 | ||
10174 | CLASS="section" | ||
10175 | ><A | ||
10176 | NAME="AEN2195" | ||
10177 | >A.113. llGetSubString</A | ||
10178 | ></H2 | ||
10179 | ><DIV | ||
10180 | CLASS="funcsynopsis" | ||
10181 | ><P | ||
10182 | ></P | ||
10183 | ><A | ||
10184 | NAME="AEN2197" | ||
10185 | ></A | ||
10186 | ><P | ||
10187 | ><CODE | ||
10188 | ><CODE | ||
10189 | CLASS="FUNCDEF" | ||
10190 | >string llGetSubString</CODE | ||
10191 | >(string src, integer start, integer end);</CODE | ||
10192 | ></P | ||
10193 | ><P | ||
10194 | ></P | ||
10195 | ></DIV | ||
10196 | ><P | ||
10197 | >Returns the indicated substring from | ||
10198 | <CODE | ||
10199 | CLASS="parameter" | ||
10200 | >src</CODE | ||
10201 | >. The <CODE | ||
10202 | CLASS="parameter" | ||
10203 | >start</CODE | ||
10204 | > and | ||
10205 | <CODE | ||
10206 | CLASS="parameter" | ||
10207 | >end</CODE | ||
10208 | > are inclusive, so 0,length-1 would | ||
10209 | capture the entire string and 0,0 would capture the first | ||
10210 | character. Using negative numbers for <CODE | ||
10211 | CLASS="parameter" | ||
10212 | >start</CODE | ||
10213 | > | ||
10214 | and/or <CODE | ||
10215 | CLASS="parameter" | ||
10216 | >end</CODE | ||
10217 | > causes the index to count | ||
10218 | backwards from the length of the string, so 0,-1 would capture the | ||
10219 | entire string. If start is larger than end the sub string is the | ||
10220 | exclusion of the entries, so 6,4 would give the entire string | ||
10221 | except for the 5<SUP | ||
10222 | >th</SUP | ||
10223 | > character.</P | ||
10224 | ></DIV | ||
10225 | ><DIV | ||
10226 | CLASS="section" | ||
10227 | ><HR><H2 | ||
10228 | CLASS="section" | ||
10229 | ><A | ||
10230 | NAME="AEN2214" | ||
10231 | >A.114. llGetSunDirection</A | ||
10232 | ></H2 | ||
10233 | ><DIV | ||
10234 | CLASS="funcsynopsis" | ||
10235 | ><P | ||
10236 | ></P | ||
10237 | ><A | ||
10238 | NAME="AEN2216" | ||
10239 | ></A | ||
10240 | ><P | ||
10241 | ><CODE | ||
10242 | ><CODE | ||
10243 | CLASS="FUNCDEF" | ||
10244 | >vector llGetSunDirection</CODE | ||
10245 | >(void);</CODE | ||
10246 | ></P | ||
10247 | ><P | ||
10248 | ></P | ||
10249 | ></DIV | ||
10250 | ><P | ||
10251 | >Returns the sun direction on the simulator.</P | ||
10252 | ></DIV | ||
10253 | ><DIV | ||
10254 | CLASS="section" | ||
10255 | ><HR><H2 | ||
10256 | CLASS="section" | ||
10257 | ><A | ||
10258 | NAME="AEN2222" | ||
10259 | >A.115. llGetTexture</A | ||
10260 | ></H2 | ||
10261 | ><DIV | ||
10262 | CLASS="funcsynopsis" | ||
10263 | ><P | ||
10264 | ></P | ||
10265 | ><A | ||
10266 | NAME="AEN2224" | ||
10267 | ></A | ||
10268 | ><P | ||
10269 | ><CODE | ||
10270 | ><CODE | ||
10271 | CLASS="FUNCDEF" | ||
10272 | >string llGetTexture</CODE | ||
10273 | >(integer face);</CODE | ||
10274 | ></P | ||
10275 | ><P | ||
10276 | ></P | ||
10277 | ></DIV | ||
10278 | ><P | ||
10279 | >Returns the texture of <CODE | ||
10280 | CLASS="parameter" | ||
10281 | >face</CODE | ||
10282 | > if it is | ||
10283 | found in object inventory.</P | ||
10284 | ></DIV | ||
10285 | ><DIV | ||
10286 | CLASS="section" | ||
10287 | ><HR><H2 | ||
10288 | CLASS="section" | ||
10289 | ><A | ||
10290 | NAME="AEN2232" | ||
10291 | >A.116. llGetTextureOffset</A | ||
10292 | ></H2 | ||
10293 | ><DIV | ||
10294 | CLASS="funcsynopsis" | ||
10295 | ><P | ||
10296 | ></P | ||
10297 | ><A | ||
10298 | NAME="AEN2234" | ||
10299 | ></A | ||
10300 | ><P | ||
10301 | ><CODE | ||
10302 | ><CODE | ||
10303 | CLASS="FUNCDEF" | ||
10304 | >vector llGetTextureOffset</CODE | ||
10305 | >(integer side);</CODE | ||
10306 | ></P | ||
10307 | ><P | ||
10308 | ></P | ||
10309 | ></DIV | ||
10310 | ><P | ||
10311 | >Returns the texture offset of <CODE | ||
10312 | CLASS="parameter" | ||
10313 | >side</CODE | ||
10314 | > in | ||
10315 | the x and y components of a vector.</P | ||
10316 | ></DIV | ||
10317 | ><DIV | ||
10318 | CLASS="section" | ||
10319 | ><HR><H2 | ||
10320 | CLASS="section" | ||
10321 | ><A | ||
10322 | NAME="AEN2242" | ||
10323 | >A.117. llGetTextureRot</A | ||
10324 | ></H2 | ||
10325 | ><DIV | ||
10326 | CLASS="funcsynopsis" | ||
10327 | ><P | ||
10328 | ></P | ||
10329 | ><A | ||
10330 | NAME="AEN2244" | ||
10331 | ></A | ||
10332 | ><P | ||
10333 | ><CODE | ||
10334 | ><CODE | ||
10335 | CLASS="FUNCDEF" | ||
10336 | >float llGetTextureRot</CODE | ||
10337 | >(integer side);</CODE | ||
10338 | ></P | ||
10339 | ><P | ||
10340 | ></P | ||
10341 | ></DIV | ||
10342 | ><P | ||
10343 | >Returns the texture rotation of | ||
10344 | <CODE | ||
10345 | CLASS="parameter" | ||
10346 | >side</CODE | ||
10347 | >.</P | ||
10348 | ></DIV | ||
10349 | ><DIV | ||
10350 | CLASS="section" | ||
10351 | ><HR><H2 | ||
10352 | CLASS="section" | ||
10353 | ><A | ||
10354 | NAME="AEN2252" | ||
10355 | >A.118. llGetTextureScale</A | ||
10356 | ></H2 | ||
10357 | ><DIV | ||
10358 | CLASS="funcsynopsis" | ||
10359 | ><P | ||
10360 | ></P | ||
10361 | ><A | ||
10362 | NAME="AEN2254" | ||
10363 | ></A | ||
10364 | ><P | ||
10365 | ><CODE | ||
10366 | ><CODE | ||
10367 | CLASS="FUNCDEF" | ||
10368 | >vector llGetTextureScale</CODE | ||
10369 | >(integer side);</CODE | ||
10370 | ></P | ||
10371 | ><P | ||
10372 | ></P | ||
10373 | ></DIV | ||
10374 | ><P | ||
10375 | >Returns the texture scale of <CODE | ||
10376 | CLASS="parameter" | ||
10377 | >side</CODE | ||
10378 | > in | ||
10379 | the x and y components of a vector.</P | ||
10380 | ></DIV | ||
10381 | ><DIV | ||
10382 | CLASS="section" | ||
10383 | ><HR><H2 | ||
10384 | CLASS="section" | ||
10385 | ><A | ||
10386 | NAME="AEN2262" | ||
10387 | >A.119. llGetTime</A | ||
10388 | ></H2 | ||
10389 | ><DIV | ||
10390 | CLASS="funcsynopsis" | ||
10391 | ><P | ||
10392 | ></P | ||
10393 | ><A | ||
10394 | NAME="AEN2264" | ||
10395 | ></A | ||
10396 | ><P | ||
10397 | ><CODE | ||
10398 | ><CODE | ||
10399 | CLASS="FUNCDEF" | ||
10400 | >float llGetTime</CODE | ||
10401 | >(void);</CODE | ||
10402 | ></P | ||
10403 | ><P | ||
10404 | ></P | ||
10405 | ></DIV | ||
10406 | ><P | ||
10407 | >Returns the seconds of elapsed time from an internal timer | ||
10408 | associated with the script. The timer is reset on rez, simulator | ||
10409 | restart, script reset, and in calls to <A | ||
10410 | HREF="#AEN1638" | ||
10411 | >llGetAndResetTime</A | ||
10412 | > or <A | ||
10413 | HREF="#AEN3426" | ||
10414 | >llResetTime</A | ||
10415 | >. Use <A | ||
10416 | HREF="#AEN4188" | ||
10417 | >llSetTimerEvent</A | ||
10418 | > if you want a | ||
10419 | reliable timing mechanism.</P | ||
10420 | ></DIV | ||
10421 | ><DIV | ||
10422 | CLASS="section" | ||
10423 | ><HR><H2 | ||
10424 | CLASS="section" | ||
10425 | ><A | ||
10426 | NAME="AEN2273" | ||
10427 | >A.120. llGetTimeOfDay</A | ||
10428 | ></H2 | ||
10429 | ><DIV | ||
10430 | CLASS="funcsynopsis" | ||
10431 | ><P | ||
10432 | ></P | ||
10433 | ><A | ||
10434 | NAME="AEN2275" | ||
10435 | ></A | ||
10436 | ><P | ||
10437 | ><CODE | ||
10438 | ><CODE | ||
10439 | CLASS="FUNCDEF" | ||
10440 | >float llGetTimeOfDay</CODE | ||
10441 | >(void);</CODE | ||
10442 | ></P | ||
10443 | ><P | ||
10444 | ></P | ||
10445 | ></DIV | ||
10446 | ><P | ||
10447 | >Gets the time in seconds since midnight in Second Life.</P | ||
10448 | ></DIV | ||
10449 | ><DIV | ||
10450 | CLASS="section" | ||
10451 | ><HR><H2 | ||
10452 | CLASS="section" | ||
10453 | ><A | ||
10454 | NAME="AEN2281" | ||
10455 | >A.121. llGetTimestamp</A | ||
10456 | ></H2 | ||
10457 | ><DIV | ||
10458 | CLASS="funcsynopsis" | ||
10459 | ><P | ||
10460 | ></P | ||
10461 | ><A | ||
10462 | NAME="AEN2283" | ||
10463 | ></A | ||
10464 | ><P | ||
10465 | ><CODE | ||
10466 | ><CODE | ||
10467 | CLASS="FUNCDEF" | ||
10468 | >string llGetTimestamp</CODE | ||
10469 | >(void);</CODE | ||
10470 | ></P | ||
10471 | ><P | ||
10472 | ></P | ||
10473 | ></DIV | ||
10474 | ><P | ||
10475 | >Returns a timestamp in the format: YYYY-MM-DDThh:mm:ss.ff..fZ.</P | ||
10476 | ></DIV | ||
10477 | ><DIV | ||
10478 | CLASS="section" | ||
10479 | ><HR><H2 | ||
10480 | CLASS="section" | ||
10481 | ><A | ||
10482 | NAME="AEN2289" | ||
10483 | >A.122. llGetTorque</A | ||
10484 | ></H2 | ||
10485 | ><DIV | ||
10486 | CLASS="funcsynopsis" | ||
10487 | ><P | ||
10488 | ></P | ||
10489 | ><A | ||
10490 | NAME="AEN2291" | ||
10491 | ></A | ||
10492 | ><P | ||
10493 | ><CODE | ||
10494 | ><CODE | ||
10495 | CLASS="FUNCDEF" | ||
10496 | >vector llGetTorque</CODE | ||
10497 | >(void);</CODE | ||
10498 | ></P | ||
10499 | ><P | ||
10500 | ></P | ||
10501 | ></DIV | ||
10502 | ><P | ||
10503 | >Returns the torque if the script is physical.</P | ||
10504 | ></DIV | ||
10505 | ><DIV | ||
10506 | CLASS="section" | ||
10507 | ><HR><H2 | ||
10508 | CLASS="section" | ||
10509 | ><A | ||
10510 | NAME="AEN2297" | ||
10511 | >A.123. llGetVel</A | ||
10512 | ></H2 | ||
10513 | ><DIV | ||
10514 | CLASS="funcsynopsis" | ||
10515 | ><P | ||
10516 | ></P | ||
10517 | ><A | ||
10518 | NAME="AEN2299" | ||
10519 | ></A | ||
10520 | ><P | ||
10521 | ><CODE | ||
10522 | ><CODE | ||
10523 | CLASS="FUNCDEF" | ||
10524 | >vector llGetVel</CODE | ||
10525 | >();</CODE | ||
10526 | ></P | ||
10527 | ><P | ||
10528 | ></P | ||
10529 | ></DIV | ||
10530 | ><P | ||
10531 | >Returns the velocity.</P | ||
10532 | ></DIV | ||
10533 | ><DIV | ||
10534 | CLASS="section" | ||
10535 | ><HR><H2 | ||
10536 | CLASS="section" | ||
10537 | ><A | ||
10538 | NAME="AEN2306" | ||
10539 | >A.124. llGetWallclock</A | ||
10540 | ></H2 | ||
10541 | ><DIV | ||
10542 | CLASS="funcsynopsis" | ||
10543 | ><P | ||
10544 | ></P | ||
10545 | ><A | ||
10546 | NAME="AEN2308" | ||
10547 | ></A | ||
10548 | ><P | ||
10549 | ><CODE | ||
10550 | ><CODE | ||
10551 | CLASS="FUNCDEF" | ||
10552 | >float llGetWallclock</CODE | ||
10553 | >(void);</CODE | ||
10554 | ></P | ||
10555 | ><P | ||
10556 | ></P | ||
10557 | ></DIV | ||
10558 | ><P | ||
10559 | >Returns the time in seconds since simulator timezone | ||
10560 | midnight. Currently this is PST.</P | ||
10561 | ></DIV | ||
10562 | ><DIV | ||
10563 | CLASS="section" | ||
10564 | ><HR><H2 | ||
10565 | CLASS="section" | ||
10566 | ><A | ||
10567 | NAME="AEN2314" | ||
10568 | >A.125. llGiveInventory</A | ||
10569 | ></H2 | ||
10570 | ><DIV | ||
10571 | CLASS="funcsynopsis" | ||
10572 | ><P | ||
10573 | ></P | ||
10574 | ><A | ||
10575 | NAME="AEN2316" | ||
10576 | ></A | ||
10577 | ><P | ||
10578 | ><CODE | ||
10579 | ><CODE | ||
10580 | CLASS="FUNCDEF" | ||
10581 | >llGiveInventory</CODE | ||
10582 | >(key destination, string inventory);</CODE | ||
10583 | ></P | ||
10584 | ><P | ||
10585 | ></P | ||
10586 | ></DIV | ||
10587 | ><P | ||
10588 | >Give the named inventory item to the keyed avatar or object | ||
10589 | in the same simulator as the giver. If the recipient is an avatar, | ||
10590 | the avatar then follows the normal procedure of accepting or | ||
10591 | denying the offer. If the recipient is an object, the same | ||
10592 | permissions apply as if you were dragging inventory onto the | ||
10593 | object by hand, ie if <A | ||
10594 | HREF="#AEN1047" | ||
10595 | >llAllowInventoryDrop</A | ||
10596 | > has | ||
10597 | been called with TRUE, any other object can pass objects to its | ||
10598 | inventory.</P | ||
10599 | ></DIV | ||
10600 | ><DIV | ||
10601 | CLASS="section" | ||
10602 | ><HR><H2 | ||
10603 | CLASS="section" | ||
10604 | ><A | ||
10605 | NAME="AEN2326" | ||
10606 | >A.126. llGiveInventoryList</A | ||
10607 | ></H2 | ||
10608 | ><DIV | ||
10609 | CLASS="funcsynopsis" | ||
10610 | ><P | ||
10611 | ></P | ||
10612 | ><A | ||
10613 | NAME="AEN2328" | ||
10614 | ></A | ||
10615 | ><P | ||
10616 | ><CODE | ||
10617 | ><CODE | ||
10618 | CLASS="FUNCDEF" | ||
10619 | >llGiveInventoryList</CODE | ||
10620 | >(key destination, string category, list inventory);</CODE | ||
10621 | ></P | ||
10622 | ><P | ||
10623 | ></P | ||
10624 | ></DIV | ||
10625 | ><P | ||
10626 | >Give the list of named inventory items to the keyed avatar | ||
10627 | or object in the same simulator as the giver. If the recipient is | ||
10628 | an avatar, the avatar then follows the normal procedure of | ||
10629 | accepting or denying the offer. The offered inventory is then | ||
10630 | placed in a folder named <CODE | ||
10631 | CLASS="parameter" | ||
10632 | >category</CODE | ||
10633 | > in the | ||
10634 | recipients inventory. If the recipient is an object, the same | ||
10635 | permissions apply as if you were dragging inventory onto the | ||
10636 | object by hand, ie if <A | ||
10637 | HREF="#AEN1047" | ||
10638 | >llAllowInventoryDrop</A | ||
10639 | > has | ||
10640 | been called with TRUE, any other object can pass objects to its | ||
10641 | inventory.If the recipient is an object, the | ||
10642 | <CODE | ||
10643 | CLASS="parameter" | ||
10644 | >category</CODE | ||
10645 | > parameter is ignored.</P | ||
10646 | ></DIV | ||
10647 | ><DIV | ||
10648 | CLASS="section" | ||
10649 | ><HR><H2 | ||
10650 | CLASS="section" | ||
10651 | ><A | ||
10652 | NAME="AEN2342" | ||
10653 | >A.127. llGiveMoney</A | ||
10654 | ></H2 | ||
10655 | ><DIV | ||
10656 | CLASS="funcsynopsis" | ||
10657 | ><P | ||
10658 | ></P | ||
10659 | ><A | ||
10660 | NAME="AEN2344" | ||
10661 | ></A | ||
10662 | ><P | ||
10663 | ><CODE | ||
10664 | ><CODE | ||
10665 | CLASS="FUNCDEF" | ||
10666 | >llGiveMoney</CODE | ||
10667 | >(key destination, integer amount);</CODE | ||
10668 | ></P | ||
10669 | ><P | ||
10670 | ></P | ||
10671 | ></DIV | ||
10672 | ><P | ||
10673 | >Transfer <CODE | ||
10674 | CLASS="parameter" | ||
10675 | >amount</CODE | ||
10676 | > from the script owner | ||
10677 | to <CODE | ||
10678 | CLASS="parameter" | ||
10679 | >destination</CODE | ||
10680 | >. This call will fail if | ||
10681 | <A | ||
10682 | HREF="#AEN5360" | ||
10683 | >PERMISSION_DEBIT</A | ||
10684 | > has not | ||
10685 | been set.</P | ||
10686 | ></DIV | ||
10687 | ><DIV | ||
10688 | CLASS="section" | ||
10689 | ><HR><H2 | ||
10690 | CLASS="section" | ||
10691 | ><A | ||
10692 | NAME="AEN2356" | ||
10693 | >A.128. llGround</A | ||
10694 | ></H2 | ||
10695 | ><DIV | ||
10696 | CLASS="funcsynopsis" | ||
10697 | ><P | ||
10698 | ></P | ||
10699 | ><A | ||
10700 | NAME="AEN2358" | ||
10701 | ></A | ||
10702 | ><P | ||
10703 | ><CODE | ||
10704 | ><CODE | ||
10705 | CLASS="FUNCDEF" | ||
10706 | >float llGround</CODE | ||
10707 | >(vector offset);</CODE | ||
10708 | ></P | ||
10709 | ><P | ||
10710 | ></P | ||
10711 | ></DIV | ||
10712 | ><P | ||
10713 | >Returns the ground height at the object position + | ||
10714 | <CODE | ||
10715 | CLASS="parameter" | ||
10716 | >offset</CODE | ||
10717 | >.</P | ||
10718 | ></DIV | ||
10719 | ><DIV | ||
10720 | CLASS="section" | ||
10721 | ><HR><H2 | ||
10722 | CLASS="section" | ||
10723 | ><A | ||
10724 | NAME="AEN2366" | ||
10725 | >A.129. llGroundContour</A | ||
10726 | ></H2 | ||
10727 | ><DIV | ||
10728 | CLASS="funcsynopsis" | ||
10729 | ><P | ||
10730 | ></P | ||
10731 | ><A | ||
10732 | NAME="AEN2368" | ||
10733 | ></A | ||
10734 | ><P | ||
10735 | ><CODE | ||
10736 | ><CODE | ||
10737 | CLASS="FUNCDEF" | ||
10738 | >vector llGroundContour</CODE | ||
10739 | >(vector offset);</CODE | ||
10740 | ></P | ||
10741 | ><P | ||
10742 | ></P | ||
10743 | ></DIV | ||
10744 | ><P | ||
10745 | >Returns the ground contour at the object position + | ||
10746 | <CODE | ||
10747 | CLASS="parameter" | ||
10748 | >offset</CODE | ||
10749 | >.</P | ||
10750 | ></DIV | ||
10751 | ><DIV | ||
10752 | CLASS="section" | ||
10753 | ><HR><H2 | ||
10754 | CLASS="section" | ||
10755 | ><A | ||
10756 | NAME="AEN2376" | ||
10757 | >A.130. llGroundNormal</A | ||
10758 | ></H2 | ||
10759 | ><DIV | ||
10760 | CLASS="funcsynopsis" | ||
10761 | ><P | ||
10762 | ></P | ||
10763 | ><A | ||
10764 | NAME="AEN2378" | ||
10765 | ></A | ||
10766 | ><P | ||
10767 | ><CODE | ||
10768 | ><CODE | ||
10769 | CLASS="FUNCDEF" | ||
10770 | >vector llGroundNormal</CODE | ||
10771 | >(vector offset);</CODE | ||
10772 | ></P | ||
10773 | ><P | ||
10774 | ></P | ||
10775 | ></DIV | ||
10776 | ><P | ||
10777 | >Returns the ground contour at the object position + | ||
10778 | <CODE | ||
10779 | CLASS="parameter" | ||
10780 | >offset</CODE | ||
10781 | >.</P | ||
10782 | ></DIV | ||
10783 | ><DIV | ||
10784 | CLASS="section" | ||
10785 | ><HR><H2 | ||
10786 | CLASS="section" | ||
10787 | ><A | ||
10788 | NAME="AEN2386" | ||
10789 | >A.131. llGroundRepel</A | ||
10790 | ></H2 | ||
10791 | ><DIV | ||
10792 | CLASS="funcsynopsis" | ||
10793 | ><P | ||
10794 | ></P | ||
10795 | ><A | ||
10796 | NAME="AEN2388" | ||
10797 | ></A | ||
10798 | ><P | ||
10799 | ><CODE | ||
10800 | ><CODE | ||
10801 | CLASS="FUNCDEF" | ||
10802 | >llGroundRepel</CODE | ||
10803 | >(float height, integer water, float tau);</CODE | ||
10804 | ></P | ||
10805 | ><P | ||
10806 | ></P | ||
10807 | ></DIV | ||
10808 | ><P | ||
10809 | >Critically damps to <CODE | ||
10810 | CLASS="parameter" | ||
10811 | >height</CODE | ||
10812 | > if within | ||
10813 | <CODE | ||
10814 | CLASS="parameter" | ||
10815 | >height</CODE | ||
10816 | > * 0.5 of | ||
10817 | <CODE | ||
10818 | CLASS="parameter" | ||
10819 | >level</CODE | ||
10820 | >. The <CODE | ||
10821 | CLASS="parameter" | ||
10822 | >height</CODE | ||
10823 | > | ||
10824 | is above ground level if <CODE | ||
10825 | CLASS="parameter" | ||
10826 | >water</CODE | ||
10827 | > is FALSE or | ||
10828 | above the higher of land and water if <CODE | ||
10829 | CLASS="parameter" | ||
10830 | >water</CODE | ||
10831 | > | ||
10832 | is TRUE.</P | ||
10833 | ></DIV | ||
10834 | ><DIV | ||
10835 | CLASS="section" | ||
10836 | ><HR><H2 | ||
10837 | CLASS="section" | ||
10838 | ><A | ||
10839 | NAME="AEN2405" | ||
10840 | >A.132. llGroundSlope</A | ||
10841 | ></H2 | ||
10842 | ><DIV | ||
10843 | CLASS="funcsynopsis" | ||
10844 | ><P | ||
10845 | ></P | ||
10846 | ><A | ||
10847 | NAME="AEN2407" | ||
10848 | ></A | ||
10849 | ><P | ||
10850 | ><CODE | ||
10851 | ><CODE | ||
10852 | CLASS="FUNCDEF" | ||
10853 | >vector llGroundSlope</CODE | ||
10854 | >(vector offset);</CODE | ||
10855 | ></P | ||
10856 | ><P | ||
10857 | ></P | ||
10858 | ></DIV | ||
10859 | ><P | ||
10860 | >Returns the ground slope at the object position + | ||
10861 | <CODE | ||
10862 | CLASS="parameter" | ||
10863 | >offset</CODE | ||
10864 | >.</P | ||
10865 | ></DIV | ||
10866 | ><DIV | ||
10867 | CLASS="section" | ||
10868 | ><HR><H2 | ||
10869 | CLASS="section" | ||
10870 | ><A | ||
10871 | NAME="AEN2415" | ||
10872 | >A.133. llInsertString</A | ||
10873 | ></H2 | ||
10874 | ><DIV | ||
10875 | CLASS="funcsynopsis" | ||
10876 | ><P | ||
10877 | ></P | ||
10878 | ><A | ||
10879 | NAME="AEN2417" | ||
10880 | ></A | ||
10881 | ><P | ||
10882 | ><CODE | ||
10883 | ><CODE | ||
10884 | CLASS="FUNCDEF" | ||
10885 | >string llInsertString</CODE | ||
10886 | >(string dst, integer position, string src);</CODE | ||
10887 | ></P | ||
10888 | ><P | ||
10889 | ></P | ||
10890 | ></DIV | ||
10891 | ><P | ||
10892 | >Inserts <CODE | ||
10893 | CLASS="parameter" | ||
10894 | >src</CODE | ||
10895 | > into | ||
10896 | <CODE | ||
10897 | CLASS="parameter" | ||
10898 | >dst</CODE | ||
10899 | > at <CODE | ||
10900 | CLASS="parameter" | ||
10901 | >position</CODE | ||
10902 | > and | ||
10903 | returns the result.</P | ||
10904 | ></DIV | ||
10905 | ><DIV | ||
10906 | CLASS="section" | ||
10907 | ><HR><H2 | ||
10908 | CLASS="section" | ||
10909 | ><A | ||
10910 | NAME="AEN2431" | ||
10911 | >A.134. llInstantMessage</A | ||
10912 | ></H2 | ||
10913 | ><DIV | ||
10914 | CLASS="funcsynopsis" | ||
10915 | ><P | ||
10916 | ></P | ||
10917 | ><A | ||
10918 | NAME="AEN2433" | ||
10919 | ></A | ||
10920 | ><P | ||
10921 | ><CODE | ||
10922 | ><CODE | ||
10923 | CLASS="FUNCDEF" | ||
10924 | >llInstantMessage</CODE | ||
10925 | >(key user, string message);</CODE | ||
10926 | ></P | ||
10927 | ><P | ||
10928 | ></P | ||
10929 | ></DIV | ||
10930 | ><P | ||
10931 | >Send <CODE | ||
10932 | CLASS="parameter" | ||
10933 | >message</CODE | ||
10934 | > to the | ||
10935 | <CODE | ||
10936 | CLASS="parameter" | ||
10937 | >user</CODE | ||
10938 | > as an instant message.</P | ||
10939 | ></DIV | ||
10940 | ><DIV | ||
10941 | CLASS="section" | ||
10942 | ><HR><H2 | ||
10943 | CLASS="section" | ||
10944 | ><A | ||
10945 | NAME="AEN2444" | ||
10946 | >A.135. llKey2Name</A | ||
10947 | ></H2 | ||
10948 | ><DIV | ||
10949 | CLASS="funcsynopsis" | ||
10950 | ><P | ||
10951 | ></P | ||
10952 | ><A | ||
10953 | NAME="AEN2446" | ||
10954 | ></A | ||
10955 | ><P | ||
10956 | ><CODE | ||
10957 | ><CODE | ||
10958 | CLASS="FUNCDEF" | ||
10959 | >string llKey2Name</CODE | ||
10960 | >(key id);</CODE | ||
10961 | ></P | ||
10962 | ><P | ||
10963 | ></P | ||
10964 | ></DIV | ||
10965 | ><P | ||
10966 | >If object <CODE | ||
10967 | CLASS="parameter" | ||
10968 | >id</CODE | ||
10969 | > is in the same | ||
10970 | simulator, return the name of the object.</P | ||
10971 | ></DIV | ||
10972 | ><DIV | ||
10973 | CLASS="section" | ||
10974 | ><HR><H2 | ||
10975 | CLASS="section" | ||
10976 | ><A | ||
10977 | NAME="AEN2454" | ||
10978 | >A.136. llList2CSV</A | ||
10979 | ></H2 | ||
10980 | ><DIV | ||
10981 | CLASS="funcsynopsis" | ||
10982 | ><P | ||
10983 | ></P | ||
10984 | ><A | ||
10985 | NAME="AEN2456" | ||
10986 | ></A | ||
10987 | ><P | ||
10988 | ><CODE | ||
10989 | ><CODE | ||
10990 | CLASS="FUNCDEF" | ||
10991 | >string llList2CSV</CODE | ||
10992 | >(list src);</CODE | ||
10993 | ></P | ||
10994 | ><P | ||
10995 | ></P | ||
10996 | ></DIV | ||
10997 | ><P | ||
10998 | >Create a string of comma separated values from | ||
10999 | <CODE | ||
11000 | CLASS="parameter" | ||
11001 | >list</CODE | ||
11002 | >.</P | ||
11003 | ></DIV | ||
11004 | ><DIV | ||
11005 | CLASS="section" | ||
11006 | ><HR><H2 | ||
11007 | CLASS="section" | ||
11008 | ><A | ||
11009 | NAME="AEN2464" | ||
11010 | >A.137. llList2Float</A | ||
11011 | ></H2 | ||
11012 | ><DIV | ||
11013 | CLASS="funcsynopsis" | ||
11014 | ><P | ||
11015 | ></P | ||
11016 | ><A | ||
11017 | NAME="AEN2466" | ||
11018 | ></A | ||
11019 | ><P | ||
11020 | ><CODE | ||
11021 | ><CODE | ||
11022 | CLASS="FUNCDEF" | ||
11023 | >float llList2Float</CODE | ||
11024 | >(list src, integer index);</CODE | ||
11025 | ></P | ||
11026 | ><P | ||
11027 | ></P | ||
11028 | ></DIV | ||
11029 | ><P | ||
11030 | >Returns the float at <CODE | ||
11031 | CLASS="parameter" | ||
11032 | >index</CODE | ||
11033 | > in the | ||
11034 | list <CODE | ||
11035 | CLASS="parameter" | ||
11036 | >src</CODE | ||
11037 | >.</P | ||
11038 | ></DIV | ||
11039 | ><DIV | ||
11040 | CLASS="section" | ||
11041 | ><HR><H2 | ||
11042 | CLASS="section" | ||
11043 | ><A | ||
11044 | NAME="AEN2477" | ||
11045 | >A.138. llList2Integer</A | ||
11046 | ></H2 | ||
11047 | ><DIV | ||
11048 | CLASS="funcsynopsis" | ||
11049 | ><P | ||
11050 | ></P | ||
11051 | ><A | ||
11052 | NAME="AEN2479" | ||
11053 | ></A | ||
11054 | ><P | ||
11055 | ><CODE | ||
11056 | ><CODE | ||
11057 | CLASS="FUNCDEF" | ||
11058 | >integer llList2Integer</CODE | ||
11059 | >(list src, integer index);</CODE | ||
11060 | ></P | ||
11061 | ><P | ||
11062 | ></P | ||
11063 | ></DIV | ||
11064 | ><P | ||
11065 | >Returns the integer at <CODE | ||
11066 | CLASS="parameter" | ||
11067 | >index</CODE | ||
11068 | > in the list | ||
11069 | <CODE | ||
11070 | CLASS="parameter" | ||
11071 | >src</CODE | ||
11072 | >.</P | ||
11073 | ></DIV | ||
11074 | ><DIV | ||
11075 | CLASS="section" | ||
11076 | ><HR><H2 | ||
11077 | CLASS="section" | ||
11078 | ><A | ||
11079 | NAME="AEN2490" | ||
11080 | >A.139. llList2Key</A | ||
11081 | ></H2 | ||
11082 | ><DIV | ||
11083 | CLASS="funcsynopsis" | ||
11084 | ><P | ||
11085 | ></P | ||
11086 | ><A | ||
11087 | NAME="AEN2492" | ||
11088 | ></A | ||
11089 | ><P | ||
11090 | ><CODE | ||
11091 | ><CODE | ||
11092 | CLASS="FUNCDEF" | ||
11093 | >key llList2Key</CODE | ||
11094 | >(list src, integer index);</CODE | ||
11095 | ></P | ||
11096 | ><P | ||
11097 | ></P | ||
11098 | ></DIV | ||
11099 | ><P | ||
11100 | >Returns the key at <CODE | ||
11101 | CLASS="parameter" | ||
11102 | >index</CODE | ||
11103 | > in the list | ||
11104 | <CODE | ||
11105 | CLASS="parameter" | ||
11106 | >src</CODE | ||
11107 | >.</P | ||
11108 | ></DIV | ||
11109 | ><DIV | ||
11110 | CLASS="section" | ||
11111 | ><HR><H2 | ||
11112 | CLASS="section" | ||
11113 | ><A | ||
11114 | NAME="AEN2503" | ||
11115 | >A.140. llList2List</A | ||
11116 | ></H2 | ||
11117 | ><DIV | ||
11118 | CLASS="funcsynopsis" | ||
11119 | ><P | ||
11120 | ></P | ||
11121 | ><A | ||
11122 | NAME="AEN2505" | ||
11123 | ></A | ||
11124 | ><P | ||
11125 | ><CODE | ||
11126 | ><CODE | ||
11127 | CLASS="FUNCDEF" | ||
11128 | >list llList2List</CODE | ||
11129 | >(list src, integer start, integer end);</CODE | ||
11130 | ></P | ||
11131 | ><P | ||
11132 | ></P | ||
11133 | ></DIV | ||
11134 | ><P | ||
11135 | >Returns the slice of the list from | ||
11136 | <CODE | ||
11137 | CLASS="parameter" | ||
11138 | >start</CODE | ||
11139 | > to <CODE | ||
11140 | CLASS="parameter" | ||
11141 | >end</CODE | ||
11142 | > from | ||
11143 | the list <CODE | ||
11144 | CLASS="parameter" | ||
11145 | >src</CODE | ||
11146 | > as a new list. The | ||
11147 | <CODE | ||
11148 | CLASS="parameter" | ||
11149 | >start</CODE | ||
11150 | > and <CODE | ||
11151 | CLASS="parameter" | ||
11152 | >end</CODE | ||
11153 | > | ||
11154 | parameters are inclusive, so 0,length-1 would copy the entire list | ||
11155 | and 0,0 would capture the first list entry. Using negative numbers | ||
11156 | for <CODE | ||
11157 | CLASS="parameter" | ||
11158 | >start</CODE | ||
11159 | > and/or <CODE | ||
11160 | CLASS="parameter" | ||
11161 | >end</CODE | ||
11162 | > | ||
11163 | causes the index to count backwards from the length of the list, | ||
11164 | so 0,-1 would capture the entire list. If | ||
11165 | <CODE | ||
11166 | CLASS="parameter" | ||
11167 | >start</CODE | ||
11168 | > is larger than | ||
11169 | <CODE | ||
11170 | CLASS="parameter" | ||
11171 | >end</CODE | ||
11172 | > the list returned is the exclusion of | ||
11173 | the entries, so 6,4 would give the entire list except for the | ||
11174 | 5<SUP | ||
11175 | >th</SUP | ||
11176 | > entry.</P | ||
11177 | ></DIV | ||
11178 | ><DIV | ||
11179 | CLASS="section" | ||
11180 | ><HR><H2 | ||
11181 | CLASS="section" | ||
11182 | ><A | ||
11183 | NAME="AEN2526" | ||
11184 | >A.141. llList2ListStrided</A | ||
11185 | ></H2 | ||
11186 | ><DIV | ||
11187 | CLASS="funcsynopsis" | ||
11188 | ><P | ||
11189 | ></P | ||
11190 | ><A | ||
11191 | NAME="AEN2528" | ||
11192 | ></A | ||
11193 | ><P | ||
11194 | ><CODE | ||
11195 | ><CODE | ||
11196 | CLASS="FUNCDEF" | ||
11197 | >list llList2ListStrided</CODE | ||
11198 | >(list src, integer start, integer end, integer stride);</CODE | ||
11199 | ></P | ||
11200 | ><P | ||
11201 | ></P | ||
11202 | ></DIV | ||
11203 | ><P | ||
11204 | >Copy the strided slice of <CODE | ||
11205 | CLASS="parameter" | ||
11206 | >src</CODE | ||
11207 | > from | ||
11208 | <CODE | ||
11209 | CLASS="parameter" | ||
11210 | >start</CODE | ||
11211 | > to <CODE | ||
11212 | CLASS="parameter" | ||
11213 | >end</CODE | ||
11214 | >.</P | ||
11215 | ></DIV | ||
11216 | ><DIV | ||
11217 | CLASS="section" | ||
11218 | ><HR><H2 | ||
11219 | CLASS="section" | ||
11220 | ><A | ||
11221 | NAME="AEN2544" | ||
11222 | >A.142. llList2Rot</A | ||
11223 | ></H2 | ||
11224 | ><DIV | ||
11225 | CLASS="funcsynopsis" | ||
11226 | ><P | ||
11227 | ></P | ||
11228 | ><A | ||
11229 | NAME="AEN2546" | ||
11230 | ></A | ||
11231 | ><P | ||
11232 | ><CODE | ||
11233 | ><CODE | ||
11234 | CLASS="FUNCDEF" | ||
11235 | >rotation llList2Rot</CODE | ||
11236 | >(list src, integer index);</CODE | ||
11237 | ></P | ||
11238 | ><P | ||
11239 | ></P | ||
11240 | ></DIV | ||
11241 | ><P | ||
11242 | >Returns the rotation at <CODE | ||
11243 | CLASS="parameter" | ||
11244 | >index</CODE | ||
11245 | > in | ||
11246 | <CODE | ||
11247 | CLASS="parameter" | ||
11248 | >src</CODE | ||
11249 | >.</P | ||
11250 | ></DIV | ||
11251 | ><DIV | ||
11252 | CLASS="section" | ||
11253 | ><HR><H2 | ||
11254 | CLASS="section" | ||
11255 | ><A | ||
11256 | NAME="AEN2557" | ||
11257 | >A.143. llList2String</A | ||
11258 | ></H2 | ||
11259 | ><DIV | ||
11260 | CLASS="funcsynopsis" | ||
11261 | ><P | ||
11262 | ></P | ||
11263 | ><A | ||
11264 | NAME="AEN2559" | ||
11265 | ></A | ||
11266 | ><P | ||
11267 | ><CODE | ||
11268 | ><CODE | ||
11269 | CLASS="FUNCDEF" | ||
11270 | >string llList2String</CODE | ||
11271 | >(list src, integer index);</CODE | ||
11272 | ></P | ||
11273 | ><P | ||
11274 | ></P | ||
11275 | ></DIV | ||
11276 | ><P | ||
11277 | >Returns the string at <CODE | ||
11278 | CLASS="parameter" | ||
11279 | >index</CODE | ||
11280 | > in | ||
11281 | <CODE | ||
11282 | CLASS="parameter" | ||
11283 | >src</CODE | ||
11284 | >.</P | ||
11285 | ></DIV | ||
11286 | ><DIV | ||
11287 | CLASS="section" | ||
11288 | ><HR><H2 | ||
11289 | CLASS="section" | ||
11290 | ><A | ||
11291 | NAME="AEN2570" | ||
11292 | >A.144. llList2Vector</A | ||
11293 | ></H2 | ||
11294 | ><DIV | ||
11295 | CLASS="funcsynopsis" | ||
11296 | ><P | ||
11297 | ></P | ||
11298 | ><A | ||
11299 | NAME="AEN2572" | ||
11300 | ></A | ||
11301 | ><P | ||
11302 | ><CODE | ||
11303 | ><CODE | ||
11304 | CLASS="FUNCDEF" | ||
11305 | >llList2Vector</CODE | ||
11306 | >(list src, integer index);</CODE | ||
11307 | ></P | ||
11308 | ><P | ||
11309 | ></P | ||
11310 | ></DIV | ||
11311 | ><P | ||
11312 | >Returns the string at <CODE | ||
11313 | CLASS="parameter" | ||
11314 | >index</CODE | ||
11315 | > in | ||
11316 | <CODE | ||
11317 | CLASS="parameter" | ||
11318 | >src</CODE | ||
11319 | >.</P | ||
11320 | ></DIV | ||
11321 | ><DIV | ||
11322 | CLASS="section" | ||
11323 | ><HR><H2 | ||
11324 | CLASS="section" | ||
11325 | ><A | ||
11326 | NAME="AEN2583" | ||
11327 | >A.145. llListFindList</A | ||
11328 | ></H2 | ||
11329 | ><DIV | ||
11330 | CLASS="funcsynopsis" | ||
11331 | ><P | ||
11332 | ></P | ||
11333 | ><A | ||
11334 | NAME="AEN2585" | ||
11335 | ></A | ||
11336 | ><P | ||
11337 | ><CODE | ||
11338 | ><CODE | ||
11339 | CLASS="FUNCDEF" | ||
11340 | >integer llListFindList</CODE | ||
11341 | >(list src, list test);</CODE | ||
11342 | ></P | ||
11343 | ><P | ||
11344 | ></P | ||
11345 | ></DIV | ||
11346 | ><P | ||
11347 | >Returns the position of the first instance of | ||
11348 | <CODE | ||
11349 | CLASS="parameter" | ||
11350 | >test</CODE | ||
11351 | > in <CODE | ||
11352 | CLASS="parameter" | ||
11353 | >src</CODE | ||
11354 | >. Returns | ||
11355 | -1 if <CODE | ||
11356 | CLASS="parameter" | ||
11357 | >test</CODE | ||
11358 | > is not in | ||
11359 | <CODE | ||
11360 | CLASS="parameter" | ||
11361 | >src</CODE | ||
11362 | >.</P | ||
11363 | ></DIV | ||
11364 | ><DIV | ||
11365 | CLASS="section" | ||
11366 | ><HR><H2 | ||
11367 | CLASS="section" | ||
11368 | ><A | ||
11369 | NAME="AEN2598" | ||
11370 | >A.146. llListInsertList</A | ||
11371 | ></H2 | ||
11372 | ><DIV | ||
11373 | CLASS="funcsynopsis" | ||
11374 | ><P | ||
11375 | ></P | ||
11376 | ><A | ||
11377 | NAME="AEN2600" | ||
11378 | ></A | ||
11379 | ><P | ||
11380 | ><CODE | ||
11381 | ><CODE | ||
11382 | CLASS="FUNCDEF" | ||
11383 | >list llListInsertList</CODE | ||
11384 | >(list dest, list src, integer pos);</CODE | ||
11385 | ></P | ||
11386 | ><P | ||
11387 | ></P | ||
11388 | ></DIV | ||
11389 | ><P | ||
11390 | >Returns the list created by inserting | ||
11391 | <CODE | ||
11392 | CLASS="parameter" | ||
11393 | >src</CODE | ||
11394 | > into <CODE | ||
11395 | CLASS="parameter" | ||
11396 | >dest</CODE | ||
11397 | > at | ||
11398 | <CODE | ||
11399 | CLASS="parameter" | ||
11400 | >pos</CODE | ||
11401 | >.</P | ||
11402 | ></DIV | ||
11403 | ><DIV | ||
11404 | CLASS="section" | ||
11405 | ><HR><H2 | ||
11406 | CLASS="section" | ||
11407 | ><A | ||
11408 | NAME="AEN2614" | ||
11409 | >A.147. llListRandomize</A | ||
11410 | ></H2 | ||
11411 | ><DIV | ||
11412 | CLASS="funcsynopsis" | ||
11413 | ><P | ||
11414 | ></P | ||
11415 | ><A | ||
11416 | NAME="AEN2616" | ||
11417 | ></A | ||
11418 | ><P | ||
11419 | ><CODE | ||
11420 | ><CODE | ||
11421 | CLASS="FUNCDEF" | ||
11422 | >list llListRandomize</CODE | ||
11423 | >(list src, integer stride);</CODE | ||
11424 | ></P | ||
11425 | ><P | ||
11426 | ></P | ||
11427 | ></DIV | ||
11428 | ><P | ||
11429 | >Returns <CODE | ||
11430 | CLASS="parameter" | ||
11431 | >src</CODE | ||
11432 | > randomized into blocks of | ||
11433 | size <CODE | ||
11434 | CLASS="parameter" | ||
11435 | >stride</CODE | ||
11436 | >. If the length of | ||
11437 | <CODE | ||
11438 | CLASS="parameter" | ||
11439 | >src</CODE | ||
11440 | > divided by | ||
11441 | <CODE | ||
11442 | CLASS="parameter" | ||
11443 | >stride</CODE | ||
11444 | > is non-zero, this function does | ||
11445 | not randomize the list.</P | ||
11446 | ></DIV | ||
11447 | ><DIV | ||
11448 | CLASS="section" | ||
11449 | ><HR><H2 | ||
11450 | CLASS="section" | ||
11451 | ><A | ||
11452 | NAME="AEN2629" | ||
11453 | >A.148. llListReplaceList</A | ||
11454 | ></H2 | ||
11455 | ><DIV | ||
11456 | CLASS="funcsynopsis" | ||
11457 | ><P | ||
11458 | ></P | ||
11459 | ><A | ||
11460 | NAME="AEN2631" | ||
11461 | ></A | ||
11462 | ><P | ||
11463 | ><CODE | ||
11464 | ><CODE | ||
11465 | CLASS="FUNCDEF" | ||
11466 | >list llListReplaceList</CODE | ||
11467 | >(list dest, list src, integer start, integer end);</CODE | ||
11468 | ></P | ||
11469 | ><P | ||
11470 | ></P | ||
11471 | ></DIV | ||
11472 | ><P | ||
11473 | >Returns the list created by replacing the segment of <CODE | ||
11474 | CLASS="parameter" | ||
11475 | >dest</CODE | ||
11476 | > from | ||
11477 | <CODE | ||
11478 | CLASS="parameter" | ||
11479 | >start</CODE | ||
11480 | > to <CODE | ||
11481 | CLASS="parameter" | ||
11482 | >end</CODE | ||
11483 | > with <CODE | ||
11484 | CLASS="parameter" | ||
11485 | >src</CODE | ||
11486 | >.</P | ||
11487 | ></DIV | ||
11488 | ><DIV | ||
11489 | CLASS="section" | ||
11490 | ><HR><H2 | ||
11491 | CLASS="section" | ||
11492 | ><A | ||
11493 | NAME="AEN2648" | ||
11494 | >A.149. llListSort</A | ||
11495 | ></H2 | ||
11496 | ><DIV | ||
11497 | CLASS="funcsynopsis" | ||
11498 | ><P | ||
11499 | ></P | ||
11500 | ><A | ||
11501 | NAME="AEN2650" | ||
11502 | ></A | ||
11503 | ><P | ||
11504 | ><CODE | ||
11505 | ><CODE | ||
11506 | CLASS="FUNCDEF" | ||
11507 | >list llListSort</CODE | ||
11508 | >(list src, integer stride, integer ascending);</CODE | ||
11509 | ></P | ||
11510 | ><P | ||
11511 | ></P | ||
11512 | ></DIV | ||
11513 | ><P | ||
11514 | >Returns <CODE | ||
11515 | CLASS="parameter" | ||
11516 | >src</CODE | ||
11517 | > sorted into blocks of | ||
11518 | <CODE | ||
11519 | CLASS="parameter" | ||
11520 | >stride</CODE | ||
11521 | > in ascending order if | ||
11522 | <CODE | ||
11523 | CLASS="parameter" | ||
11524 | >ascending</CODE | ||
11525 | > is <A | ||
11526 | HREF="#AEN5295" | ||
11527 | >TRUE</A | ||
11528 | >. Note that sort only works in | ||
11529 | the head of each sort block is the same type.</P | ||
11530 | ></DIV | ||
11531 | ><DIV | ||
11532 | CLASS="section" | ||
11533 | ><HR><H2 | ||
11534 | CLASS="section" | ||
11535 | ><A | ||
11536 | NAME="AEN2665" | ||
11537 | >A.150. llListen</A | ||
11538 | ></H2 | ||
11539 | ><DIV | ||
11540 | CLASS="funcsynopsis" | ||
11541 | ><P | ||
11542 | ></P | ||
11543 | ><A | ||
11544 | NAME="AEN2667" | ||
11545 | ></A | ||
11546 | ><P | ||
11547 | ><CODE | ||
11548 | ><CODE | ||
11549 | CLASS="FUNCDEF" | ||
11550 | >integer llListen</CODE | ||
11551 | >(integer channel, string name, key id, string msg);</CODE | ||
11552 | ></P | ||
11553 | ><P | ||
11554 | ></P | ||
11555 | ></DIV | ||
11556 | ><P | ||
11557 | >Sets a listen event callback for <CODE | ||
11558 | CLASS="parameter" | ||
11559 | >msg</CODE | ||
11560 | > | ||
11561 | on <CODE | ||
11562 | CLASS="parameter" | ||
11563 | >channel</CODE | ||
11564 | > from <CODE | ||
11565 | CLASS="parameter" | ||
11566 | >name</CODE | ||
11567 | > | ||
11568 | and returns an identifier that can be used to deactivate or remove | ||
11569 | the listen. The <CODE | ||
11570 | CLASS="parameter" | ||
11571 | >name</CODE | ||
11572 | >, | ||
11573 | <CODE | ||
11574 | CLASS="parameter" | ||
11575 | >id</CODE | ||
11576 | > and/or <CODE | ||
11577 | CLASS="parameter" | ||
11578 | >msg</CODE | ||
11579 | > | ||
11580 | parameters can be blank to indicate not to filter on that | ||
11581 | argument. Channel 0 is the public chat channel that all avatars | ||
11582 | see as chat text. Channels 1 to 2,147,483,648 are hidden channels | ||
11583 | that are not sent to avatars.</P | ||
11584 | ></DIV | ||
11585 | ><DIV | ||
11586 | CLASS="section" | ||
11587 | ><HR><H2 | ||
11588 | CLASS="section" | ||
11589 | ><A | ||
11590 | NAME="AEN2686" | ||
11591 | >A.151. llListenControl</A | ||
11592 | ></H2 | ||
11593 | ><DIV | ||
11594 | CLASS="funcsynopsis" | ||
11595 | ><P | ||
11596 | ></P | ||
11597 | ><A | ||
11598 | NAME="AEN2688" | ||
11599 | ></A | ||
11600 | ><P | ||
11601 | ><CODE | ||
11602 | ><CODE | ||
11603 | CLASS="FUNCDEF" | ||
11604 | >llListenControl</CODE | ||
11605 | >(integer number, integer active);</CODE | ||
11606 | ></P | ||
11607 | ><P | ||
11608 | ></P | ||
11609 | ></DIV | ||
11610 | ><P | ||
11611 | >Make a listen event callback active or inactive. Pass in the | ||
11612 | value returned from <A | ||
11613 | HREF="#AEN2665" | ||
11614 | >llListen</A | ||
11615 | > | ||
11616 | to the <CODE | ||
11617 | CLASS="parameter" | ||
11618 | >number</CODE | ||
11619 | > parameter to specify which | ||
11620 | event you are controlling. Use <A | ||
11621 | HREF="#AEN5295" | ||
11622 | >boolean</A | ||
11623 | > values to specify | ||
11624 | <CODE | ||
11625 | CLASS="parameter" | ||
11626 | >active</CODE | ||
11627 | >.</P | ||
11628 | ></DIV | ||
11629 | ><DIV | ||
11630 | CLASS="section" | ||
11631 | ><HR><H2 | ||
11632 | CLASS="section" | ||
11633 | ><A | ||
11634 | NAME="AEN2701" | ||
11635 | >A.152. llListenRemove</A | ||
11636 | ></H2 | ||
11637 | ><DIV | ||
11638 | CLASS="funcsynopsis" | ||
11639 | ><P | ||
11640 | ></P | ||
11641 | ><A | ||
11642 | NAME="AEN2703" | ||
11643 | ></A | ||
11644 | ><P | ||
11645 | ><CODE | ||
11646 | ><CODE | ||
11647 | CLASS="FUNCDEF" | ||
11648 | >llListenRemove</CODE | ||
11649 | >(integer number);</CODE | ||
11650 | ></P | ||
11651 | ><P | ||
11652 | ></P | ||
11653 | ></DIV | ||
11654 | ><P | ||
11655 | >Removes a listen event callback. Pass in the value returned | ||
11656 | from <A | ||
11657 | HREF="#AEN2665" | ||
11658 | >llListen</A | ||
11659 | > to the | ||
11660 | <CODE | ||
11661 | CLASS="parameter" | ||
11662 | >number</CODE | ||
11663 | > parameter to specify which event you | ||
11664 | are removing.</P | ||
11665 | ></DIV | ||
11666 | ><DIV | ||
11667 | CLASS="section" | ||
11668 | ><HR><H2 | ||
11669 | CLASS="section" | ||
11670 | ><A | ||
11671 | NAME="AEN2712" | ||
11672 | >A.153. llLoadURL</A | ||
11673 | ></H2 | ||
11674 | ><DIV | ||
11675 | CLASS="funcsynopsis" | ||
11676 | ><P | ||
11677 | ></P | ||
11678 | ><A | ||
11679 | NAME="AEN2714" | ||
11680 | ></A | ||
11681 | ><P | ||
11682 | ><CODE | ||
11683 | ><CODE | ||
11684 | CLASS="FUNCDEF" | ||
11685 | >llLoadURL</CODE | ||
11686 | >(key avatar_id, string message, string url);</CODE | ||
11687 | ></P | ||
11688 | ><P | ||
11689 | ></P | ||
11690 | ></DIV | ||
11691 | ><P | ||
11692 | >Displays a dialog to user <CODE | ||
11693 | CLASS="parameter" | ||
11694 | >avatar_id</CODE | ||
11695 | > | ||
11696 | with <CODE | ||
11697 | CLASS="parameter" | ||
11698 | >message</CODE | ||
11699 | > offering to | ||
11700 | go to the web page at <CODE | ||
11701 | CLASS="parameter" | ||
11702 | >url</CODE | ||
11703 | >. If the user clicks the | ||
11704 | "Go to page" button, their default web browser is launched and | ||
11705 | directed to <CODE | ||
11706 | CLASS="parameter" | ||
11707 | >url</CODE | ||
11708 | >.</P | ||
11709 | ><P | ||
11710 | >The <CODE | ||
11711 | CLASS="parameter" | ||
11712 | >url</CODE | ||
11713 | > must begin with "http:" or | ||
11714 | "https:", other protocols are not currently supported. | ||
11715 | The dialog box shows the name of the object's | ||
11716 | owner so that abuse (e.g. spamming) can be easily reported. | ||
11717 | This function has a 10 second implicit sleep.</P | ||
11718 | ></DIV | ||
11719 | ><DIV | ||
11720 | CLASS="section" | ||
11721 | ><HR><H2 | ||
11722 | CLASS="section" | ||
11723 | ><A | ||
11724 | NAME="AEN2731" | ||
11725 | >A.154. llLog</A | ||
11726 | ></H2 | ||
11727 | ><DIV | ||
11728 | CLASS="funcsynopsis" | ||
11729 | ><P | ||
11730 | ></P | ||
11731 | ><A | ||
11732 | NAME="AEN2733" | ||
11733 | ></A | ||
11734 | ><P | ||
11735 | ><CODE | ||
11736 | ><CODE | ||
11737 | CLASS="FUNCDEF" | ||
11738 | >float llLog</CODE | ||
11739 | >(float val);</CODE | ||
11740 | ></P | ||
11741 | ><P | ||
11742 | ></P | ||
11743 | ></DIV | ||
11744 | ><P | ||
11745 | >Returns the natural logarithm (base e) of | ||
11746 | <CODE | ||
11747 | CLASS="parameter" | ||
11748 | >val</CODE | ||
11749 | > if <CODE | ||
11750 | CLASS="parameter" | ||
11751 | >val</CODE | ||
11752 | > > 0, | ||
11753 | otherwise returns 0.</P | ||
11754 | ></DIV | ||
11755 | ><DIV | ||
11756 | CLASS="section" | ||
11757 | ><HR><H2 | ||
11758 | CLASS="section" | ||
11759 | ><A | ||
11760 | NAME="AEN2742" | ||
11761 | >A.155. llLog10</A | ||
11762 | ></H2 | ||
11763 | ><DIV | ||
11764 | CLASS="funcsynopsis" | ||
11765 | ><P | ||
11766 | ></P | ||
11767 | ><A | ||
11768 | NAME="AEN2744" | ||
11769 | ></A | ||
11770 | ><P | ||
11771 | ><CODE | ||
11772 | ><CODE | ||
11773 | CLASS="FUNCDEF" | ||
11774 | >float llLog10</CODE | ||
11775 | >(float val);</CODE | ||
11776 | ></P | ||
11777 | ><P | ||
11778 | ></P | ||
11779 | ></DIV | ||
11780 | ><P | ||
11781 | >Returns the base 10 log of <CODE | ||
11782 | CLASS="parameter" | ||
11783 | >val</CODE | ||
11784 | > if | ||
11785 | <CODE | ||
11786 | CLASS="parameter" | ||
11787 | >val</CODE | ||
11788 | > > 0, otherwise returns 0.</P | ||
11789 | ></DIV | ||
11790 | ><DIV | ||
11791 | CLASS="section" | ||
11792 | ><HR><H2 | ||
11793 | CLASS="section" | ||
11794 | ><A | ||
11795 | NAME="AEN2753" | ||
11796 | >A.156. llLookAt</A | ||
11797 | ></H2 | ||
11798 | ><DIV | ||
11799 | CLASS="funcsynopsis" | ||
11800 | ><P | ||
11801 | ></P | ||
11802 | ><A | ||
11803 | NAME="AEN2755" | ||
11804 | ></A | ||
11805 | ><P | ||
11806 | ><CODE | ||
11807 | ><CODE | ||
11808 | CLASS="FUNCDEF" | ||
11809 | >llLookAt</CODE | ||
11810 | >(vector target, float strength, float damping);</CODE | ||
11811 | ></P | ||
11812 | ><P | ||
11813 | ></P | ||
11814 | ></DIV | ||
11815 | ><P | ||
11816 | >Cause object to point the forward axis toward | ||
11817 | <CODE | ||
11818 | CLASS="parameter" | ||
11819 | >target</CODE | ||
11820 | >. Good | ||
11821 | <CODE | ||
11822 | CLASS="parameter" | ||
11823 | >strength</CODE | ||
11824 | > values are around half the mass of | ||
11825 | the object and good <CODE | ||
11826 | CLASS="parameter" | ||
11827 | >damping</CODE | ||
11828 | > values are less | ||
11829 | than 1/10<SUP | ||
11830 | >th</SUP | ||
11831 | > of the | ||
11832 | <CODE | ||
11833 | CLASS="parameter" | ||
11834 | >strength</CODE | ||
11835 | >. Asymmetrical shapes require | ||
11836 | smaller <CODE | ||
11837 | CLASS="parameter" | ||
11838 | >damping</CODE | ||
11839 | >. A | ||
11840 | <CODE | ||
11841 | CLASS="parameter" | ||
11842 | >strength</CODE | ||
11843 | > of 0.0 cancels the look at.</P | ||
11844 | ></DIV | ||
11845 | ><DIV | ||
11846 | CLASS="section" | ||
11847 | ><HR><H2 | ||
11848 | CLASS="section" | ||
11849 | ><A | ||
11850 | NAME="AEN2773" | ||
11851 | >A.157. llLoopSound</A | ||
11852 | ></H2 | ||
11853 | ><DIV | ||
11854 | CLASS="funcsynopsis" | ||
11855 | ><P | ||
11856 | ></P | ||
11857 | ><A | ||
11858 | NAME="AEN2775" | ||
11859 | ></A | ||
11860 | ><P | ||
11861 | ><CODE | ||
11862 | ><CODE | ||
11863 | CLASS="FUNCDEF" | ||
11864 | >llLoopSound</CODE | ||
11865 | >(string sound, float volume);</CODE | ||
11866 | ></P | ||
11867 | ><P | ||
11868 | ></P | ||
11869 | ></DIV | ||
11870 | ><P | ||
11871 | >Similar to <A | ||
11872 | HREF="#AEN3184" | ||
11873 | >llPlaySound</A | ||
11874 | >, this function plays | ||
11875 | a sound attached to an object, but will continuously loop that | ||
11876 | sound until <A | ||
11877 | HREF="#AEN4620" | ||
11878 | >llStopSound</A | ||
11879 | > or | ||
11880 | <A | ||
11881 | HREF="#AEN3184" | ||
11882 | >llPlaySound</A | ||
11883 | > is called. Only | ||
11884 | one sound may be attached to an object at a time. A second call to | ||
11885 | llLoopSound with the same key will not restart the sound, but the | ||
11886 | new volume will be used. This allows control over the volume of | ||
11887 | already playing sounds. Setting the <CODE | ||
11888 | CLASS="parameter" | ||
11889 | >volume</CODE | ||
11890 | > | ||
11891 | to 0 is not the same as calling <A | ||
11892 | HREF="#AEN4620" | ||
11893 | >llStopSound</A | ||
11894 | >; a sound with 0 | ||
11895 | volume will continue to loop. To restart the sound from the | ||
11896 | beginning, call <A | ||
11897 | HREF="#AEN4620" | ||
11898 | >llStopSound</A | ||
11899 | > | ||
11900 | before calling llLoopSound again.</P | ||
11901 | ></DIV | ||
11902 | ><DIV | ||
11903 | CLASS="section" | ||
11904 | ><HR><H2 | ||
11905 | CLASS="section" | ||
11906 | ><A | ||
11907 | NAME="AEN2790" | ||
11908 | >A.158. llLoopSoundMaster</A | ||
11909 | ></H2 | ||
11910 | ><DIV | ||
11911 | CLASS="funcsynopsis" | ||
11912 | ><P | ||
11913 | ></P | ||
11914 | ><A | ||
11915 | NAME="AEN2792" | ||
11916 | ></A | ||
11917 | ><P | ||
11918 | ><CODE | ||
11919 | ><CODE | ||
11920 | CLASS="FUNCDEF" | ||
11921 | >llLoopSoundMaster</CODE | ||
11922 | >(string sound, float volume);</CODE | ||
11923 | ></P | ||
11924 | ><P | ||
11925 | ></P | ||
11926 | ></DIV | ||
11927 | ><P | ||
11928 | >Behaviour is identical to <A | ||
11929 | HREF="#AEN2773" | ||
11930 | >llLoopSound</A | ||
11931 | >, with the addition of | ||
11932 | marking the source as a "Sync Master", causing "Slave" sounds to | ||
11933 | sync to it. If there are multiple masters within a viewer's | ||
11934 | interest area, the most audible one (a function of both distance | ||
11935 | and volume) will win out as the master. The use of multiple | ||
11936 | masters within a small area is unlikely to produce the desired | ||
11937 | effect.</P | ||
11938 | ></DIV | ||
11939 | ><DIV | ||
11940 | CLASS="section" | ||
11941 | ><HR><H2 | ||
11942 | CLASS="section" | ||
11943 | ><A | ||
11944 | NAME="AEN2802" | ||
11945 | >A.159. llLoopSoundSlave</A | ||
11946 | ></H2 | ||
11947 | ><DIV | ||
11948 | CLASS="funcsynopsis" | ||
11949 | ><P | ||
11950 | ></P | ||
11951 | ><A | ||
11952 | NAME="AEN2804" | ||
11953 | ></A | ||
11954 | ><P | ||
11955 | ><CODE | ||
11956 | ><CODE | ||
11957 | CLASS="FUNCDEF" | ||
11958 | >llLoopSoundSlave</CODE | ||
11959 | >(string sound, float volume);</CODE | ||
11960 | ></P | ||
11961 | ><P | ||
11962 | ></P | ||
11963 | ></DIV | ||
11964 | ><P | ||
11965 | >Behaviour is identical to <A | ||
11966 | HREF="#AEN2773" | ||
11967 | >llLoopSound</A | ||
11968 | >, unless there is a | ||
11969 | "Sync Master" present. If a Sync Master is already playing the | ||
11970 | Slave sound will begin playing from the same point the master is | ||
11971 | in its loop synchronizing the loop points of both sounds. If a | ||
11972 | Sync Master is started when the Slave is already playing, the | ||
11973 | Slave will skip to the correct position to sync with the | ||
11974 | Master.</P | ||
11975 | ></DIV | ||
11976 | ><DIV | ||
11977 | CLASS="section" | ||
11978 | ><HR><H2 | ||
11979 | CLASS="section" | ||
11980 | ><A | ||
11981 | NAME="AEN2814" | ||
11982 | >A.160. llMakeExplosion</A | ||
11983 | ></H2 | ||
11984 | ><DIV | ||
11985 | CLASS="funcsynopsis" | ||
11986 | ><P | ||
11987 | ></P | ||
11988 | ><A | ||
11989 | NAME="AEN2816" | ||
11990 | ></A | ||
11991 | ><P | ||
11992 | ><CODE | ||
11993 | ><CODE | ||
11994 | CLASS="FUNCDEF" | ||
11995 | >llMakeExplosion</CODE | ||
11996 | >(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);</CODE | ||
11997 | ></P | ||
11998 | ><P | ||
11999 | ></P | ||
12000 | ></DIV | ||
12001 | ><P | ||
12002 | >Make a round explosion of particles using | ||
12003 | <CODE | ||
12004 | CLASS="parameter" | ||
12005 | >texture</CODE | ||
12006 | > from the object's inventory.</P | ||
12007 | ></DIV | ||
12008 | ><DIV | ||
12009 | CLASS="section" | ||
12010 | ><HR><H2 | ||
12011 | CLASS="section" | ||
12012 | ><A | ||
12013 | NAME="AEN2836" | ||
12014 | >A.161. llMakeFire</A | ||
12015 | ></H2 | ||
12016 | ><DIV | ||
12017 | CLASS="funcsynopsis" | ||
12018 | ><P | ||
12019 | ></P | ||
12020 | ><A | ||
12021 | NAME="AEN2838" | ||
12022 | ></A | ||
12023 | ><P | ||
12024 | ><CODE | ||
12025 | ><CODE | ||
12026 | CLASS="FUNCDEF" | ||
12027 | >llMakeFire</CODE | ||
12028 | >(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);</CODE | ||
12029 | ></P | ||
12030 | ><P | ||
12031 | ></P | ||
12032 | ></DIV | ||
12033 | ><P | ||
12034 | >Make fire particles using <CODE | ||
12035 | CLASS="parameter" | ||
12036 | >texture</CODE | ||
12037 | > | ||
12038 | from the object's inventory.</P | ||
12039 | ></DIV | ||
12040 | ><DIV | ||
12041 | CLASS="section" | ||
12042 | ><HR><H2 | ||
12043 | CLASS="section" | ||
12044 | ><A | ||
12045 | NAME="AEN2858" | ||
12046 | >A.162. llMakeFountain</A | ||
12047 | ></H2 | ||
12048 | ><DIV | ||
12049 | CLASS="funcsynopsis" | ||
12050 | ><P | ||
12051 | ></P | ||
12052 | ><A | ||
12053 | NAME="AEN2860" | ||
12054 | ></A | ||
12055 | ><P | ||
12056 | ><CODE | ||
12057 | ><CODE | ||
12058 | CLASS="FUNCDEF" | ||
12059 | >llMakeFountain</CODE | ||
12060 | >(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);</CODE | ||
12061 | ></P | ||
12062 | ><P | ||
12063 | ></P | ||
12064 | ></DIV | ||
12065 | ><P | ||
12066 | >Make a fountain of particles using | ||
12067 | <CODE | ||
12068 | CLASS="parameter" | ||
12069 | >texture</CODE | ||
12070 | > from the object's inventory.</P | ||
12071 | ></DIV | ||
12072 | ><DIV | ||
12073 | CLASS="section" | ||
12074 | ><HR><H2 | ||
12075 | CLASS="section" | ||
12076 | ><A | ||
12077 | NAME="AEN2880" | ||
12078 | >A.163. llMakeSmoke</A | ||
12079 | ></H2 | ||
12080 | ><DIV | ||
12081 | CLASS="funcsynopsis" | ||
12082 | ><P | ||
12083 | ></P | ||
12084 | ><A | ||
12085 | NAME="AEN2882" | ||
12086 | ></A | ||
12087 | ><P | ||
12088 | ><CODE | ||
12089 | ><CODE | ||
12090 | CLASS="FUNCDEF" | ||
12091 | >llMakeSmoke</CODE | ||
12092 | >(integer particles, float scale, float velocity, float lifetime, float arc, string texture, vector offset);</CODE | ||
12093 | ></P | ||
12094 | ><P | ||
12095 | ></P | ||
12096 | ></DIV | ||
12097 | ><P | ||
12098 | >Make smoky particles using <CODE | ||
12099 | CLASS="parameter" | ||
12100 | >texture</CODE | ||
12101 | > | ||
12102 | from the object's inventory.</P | ||
12103 | ></DIV | ||
12104 | ><DIV | ||
12105 | CLASS="section" | ||
12106 | ><HR><H2 | ||
12107 | CLASS="section" | ||
12108 | ><A | ||
12109 | NAME="AEN2902" | ||
12110 | >A.164. llMD5String</A | ||
12111 | ></H2 | ||
12112 | ><DIV | ||
12113 | CLASS="funcsynopsis" | ||
12114 | ><P | ||
12115 | ></P | ||
12116 | ><A | ||
12117 | NAME="AEN2904" | ||
12118 | ></A | ||
12119 | ><P | ||
12120 | ><CODE | ||
12121 | ><CODE | ||
12122 | CLASS="FUNCDEF" | ||
12123 | >string llMD5String</CODE | ||
12124 | >(string str, integer nonce);</CODE | ||
12125 | ></P | ||
12126 | ><P | ||
12127 | ></P | ||
12128 | ></DIV | ||
12129 | ><P | ||
12130 | >Performs a RSA Data Security, Inc. MD5 Message-Digest | ||
12131 | Algorithm on <CODE | ||
12132 | CLASS="parameter" | ||
12133 | >str</CODE | ||
12134 | > with | ||
12135 | <CODE | ||
12136 | CLASS="parameter" | ||
12137 | >nonce</CODE | ||
12138 | >. The function returns the digest as a | ||
12139 | 32 character hex string. The digest is computed on the string in | ||
12140 | the following format: | ||
12141 | <DIV | ||
12142 | CLASS="informalexample" | ||
12143 | ><P | ||
12144 | ></P | ||
12145 | ><A | ||
12146 | NAME="AEN2915" | ||
12147 | ></A | ||
12148 | ><PRE | ||
12149 | CLASS="programlisting" | ||
12150 | > <CODE | ||
12151 | CLASS="parameter" | ||
12152 | >str</CODE | ||
12153 | > + ":" + (string)<CODE | ||
12154 | CLASS="parameter" | ||
12155 | >nonce</CODE | ||
12156 | > | ||
12157 | </PRE | ||
12158 | ><P | ||
12159 | ></P | ||
12160 | ></DIV | ||
12161 | > | ||
12162 | </P | ||
12163 | ></DIV | ||
12164 | ><DIV | ||
12165 | CLASS="section" | ||
12166 | ><HR><H2 | ||
12167 | CLASS="section" | ||
12168 | ><A | ||
12169 | NAME="AEN2919" | ||
12170 | >A.165. llMessageLinked</A | ||
12171 | ></H2 | ||
12172 | ><DIV | ||
12173 | CLASS="funcsynopsis" | ||
12174 | ><P | ||
12175 | ></P | ||
12176 | ><A | ||
12177 | NAME="AEN2921" | ||
12178 | ></A | ||
12179 | ><P | ||
12180 | ><CODE | ||
12181 | ><CODE | ||
12182 | CLASS="FUNCDEF" | ||
12183 | >llMessageLinked</CODE | ||
12184 | >(integer linknum, integer num, string str, key id);</CODE | ||
12185 | ></P | ||
12186 | ><P | ||
12187 | ></P | ||
12188 | ></DIV | ||
12189 | ><P | ||
12190 | >Sends <CODE | ||
12191 | CLASS="parameter" | ||
12192 | >num</CODE | ||
12193 | >, | ||
12194 | <CODE | ||
12195 | CLASS="parameter" | ||
12196 | >str</CODE | ||
12197 | >, and <CODE | ||
12198 | CLASS="parameter" | ||
12199 | >id</CODE | ||
12200 | > to | ||
12201 | members of the link set. The <CODE | ||
12202 | CLASS="parameter" | ||
12203 | >linknum</CODE | ||
12204 | > | ||
12205 | parameter is either the linked number available through <A | ||
12206 | HREF="#AEN1867" | ||
12207 | >llGetLinkNumber</A | ||
12208 | > or a <A | ||
12209 | HREF="#AEN5616" | ||
12210 | >link constant</A | ||
12211 | >.</P | ||
12212 | ></DIV | ||
12213 | ><DIV | ||
12214 | CLASS="section" | ||
12215 | ><HR><H2 | ||
12216 | CLASS="section" | ||
12217 | ><A | ||
12218 | NAME="AEN2940" | ||
12219 | >A.166. llMinEventDelay</A | ||
12220 | ></H2 | ||
12221 | ><DIV | ||
12222 | CLASS="funcsynopsis" | ||
12223 | ><P | ||
12224 | ></P | ||
12225 | ><A | ||
12226 | NAME="AEN2942" | ||
12227 | ></A | ||
12228 | ><P | ||
12229 | ><CODE | ||
12230 | ><CODE | ||
12231 | CLASS="FUNCDEF" | ||
12232 | >llMinEventDelay</CODE | ||
12233 | >(float delay);</CODE | ||
12234 | ></P | ||
12235 | ><P | ||
12236 | ></P | ||
12237 | ></DIV | ||
12238 | ><P | ||
12239 | >Set the minimum time between events being handled.</P | ||
12240 | ></DIV | ||
12241 | ><DIV | ||
12242 | CLASS="section" | ||
12243 | ><HR><H2 | ||
12244 | CLASS="section" | ||
12245 | ><A | ||
12246 | NAME="AEN2949" | ||
12247 | >A.167. llModifyLand</A | ||
12248 | ></H2 | ||
12249 | ><DIV | ||
12250 | CLASS="funcsynopsis" | ||
12251 | ><P | ||
12252 | ></P | ||
12253 | ><A | ||
12254 | NAME="AEN2951" | ||
12255 | ></A | ||
12256 | ><P | ||
12257 | ><CODE | ||
12258 | ><CODE | ||
12259 | CLASS="FUNCDEF" | ||
12260 | >llModifyLand</CODE | ||
12261 | >(integer action, integer size);</CODE | ||
12262 | ></P | ||
12263 | ><P | ||
12264 | ></P | ||
12265 | ></DIV | ||
12266 | ><P | ||
12267 | >Modify land with <CODE | ||
12268 | CLASS="parameter" | ||
12269 | >action</CODE | ||
12270 | > on | ||
12271 | <CODE | ||
12272 | CLASS="parameter" | ||
12273 | >size</CODE | ||
12274 | > area. The parameters can be chosen | ||
12275 | from the <A | ||
12276 | HREF="#AEN5574" | ||
12277 | >land constants</A | ||
12278 | >.</P | ||
12279 | ></DIV | ||
12280 | ><DIV | ||
12281 | CLASS="section" | ||
12282 | ><HR><H2 | ||
12283 | CLASS="section" | ||
12284 | ><A | ||
12285 | NAME="AEN2963" | ||
12286 | >A.168. llModPow</A | ||
12287 | ></H2 | ||
12288 | ><DIV | ||
12289 | CLASS="funcsynopsis" | ||
12290 | ><P | ||
12291 | ></P | ||
12292 | ><A | ||
12293 | NAME="AEN2965" | ||
12294 | ></A | ||
12295 | ><P | ||
12296 | ><CODE | ||
12297 | ><CODE | ||
12298 | CLASS="FUNCDEF" | ||
12299 | >integer llModPow</CODE | ||
12300 | >(integer a, integer b, integer c);</CODE | ||
12301 | ></P | ||
12302 | ><P | ||
12303 | ></P | ||
12304 | ></DIV | ||
12305 | ><P | ||
12306 | >Raise <CODE | ||
12307 | CLASS="parameter" | ||
12308 | >a</CODE | ||
12309 | > to the <CODE | ||
12310 | CLASS="parameter" | ||
12311 | >b</CODE | ||
12312 | > power, modulo <CODE | ||
12313 | CLASS="parameter" | ||
12314 | >c</CODE | ||
12315 | >. | ||
12316 | <CODE | ||
12317 | CLASS="parameter" | ||
12318 | >b</CODE | ||
12319 | > is capped at 0xFFFF (16 bits).</P | ||
12320 | ></DIV | ||
12321 | ><DIV | ||
12322 | CLASS="section" | ||
12323 | ><HR><H2 | ||
12324 | CLASS="section" | ||
12325 | ><A | ||
12326 | NAME="AEN2980" | ||
12327 | >A.169. llMoveToTarget</A | ||
12328 | ></H2 | ||
12329 | ><DIV | ||
12330 | CLASS="funcsynopsis" | ||
12331 | ><P | ||
12332 | ></P | ||
12333 | ><A | ||
12334 | NAME="AEN2982" | ||
12335 | ></A | ||
12336 | ><P | ||
12337 | ><CODE | ||
12338 | ><CODE | ||
12339 | CLASS="FUNCDEF" | ||
12340 | >llMoveToTarget</CODE | ||
12341 | >(vector target, float tau);</CODE | ||
12342 | ></P | ||
12343 | ><P | ||
12344 | ></P | ||
12345 | ></DIV | ||
12346 | ><P | ||
12347 | >Critically damp to position <CODE | ||
12348 | CLASS="parameter" | ||
12349 | >target</CODE | ||
12350 | > in | ||
12351 | <CODE | ||
12352 | CLASS="parameter" | ||
12353 | >tau</CODE | ||
12354 | > seconds if the script is physical. Good | ||
12355 | <CODE | ||
12356 | CLASS="parameter" | ||
12357 | >tau</CODE | ||
12358 | > values are greater than 0.2. A | ||
12359 | <CODE | ||
12360 | CLASS="parameter" | ||
12361 | >tau</CODE | ||
12362 | > of 0.0 stops the critical | ||
12363 | damping.</P | ||
12364 | ></DIV | ||
12365 | ><DIV | ||
12366 | CLASS="section" | ||
12367 | ><HR><H2 | ||
12368 | CLASS="section" | ||
12369 | ><A | ||
12370 | NAME="AEN2995" | ||
12371 | >A.170. llOffsetTexture</A | ||
12372 | ></H2 | ||
12373 | ><DIV | ||
12374 | CLASS="funcsynopsis" | ||
12375 | ><P | ||
12376 | ></P | ||
12377 | ><A | ||
12378 | NAME="AEN2997" | ||
12379 | ></A | ||
12380 | ><P | ||
12381 | ><CODE | ||
12382 | ><CODE | ||
12383 | CLASS="FUNCDEF" | ||
12384 | >llOffsetTexture</CODE | ||
12385 | >(float offset_s, float offset_t, integer face);</CODE | ||
12386 | ></P | ||
12387 | ><P | ||
12388 | ></P | ||
12389 | ></DIV | ||
12390 | ><P | ||
12391 | >Sets the texture s and t offsets of | ||
12392 | <CODE | ||
12393 | CLASS="parameter" | ||
12394 | >face</CODE | ||
12395 | >. If <CODE | ||
12396 | CLASS="parameter" | ||
12397 | >face</CODE | ||
12398 | > is | ||
12399 | <A | ||
12400 | HREF="#AEN6073" | ||
12401 | >ALL_SIDES</A | ||
12402 | > this | ||
12403 | function sets the texture offsets for all faces.</P | ||
12404 | ></DIV | ||
12405 | ><DIV | ||
12406 | CLASS="section" | ||
12407 | ><HR><H2 | ||
12408 | CLASS="section" | ||
12409 | ><A | ||
12410 | NAME="AEN3011" | ||
12411 | >A.171. llOpenRemoteDataChannel</A | ||
12412 | ></H2 | ||
12413 | ><DIV | ||
12414 | CLASS="funcsynopsis" | ||
12415 | ><P | ||
12416 | ></P | ||
12417 | ><A | ||
12418 | NAME="AEN3013" | ||
12419 | ></A | ||
12420 | ><P | ||
12421 | ><CODE | ||
12422 | ><CODE | ||
12423 | CLASS="FUNCDEF" | ||
12424 | >llOpenRemoteDataChannel</CODE | ||
12425 | >(void);</CODE | ||
12426 | ></P | ||
12427 | ><P | ||
12428 | ></P | ||
12429 | ></DIV | ||
12430 | ><P | ||
12431 | >Creates a channel to listen for XML-RPC calls. | ||
12432 | Will trigger a remote_data event with type = REMOTE_DATA_CHANNEL and a channel id once it is available.</P | ||
12433 | ></DIV | ||
12434 | ><DIV | ||
12435 | CLASS="section" | ||
12436 | ><HR><H2 | ||
12437 | CLASS="section" | ||
12438 | ><A | ||
12439 | NAME="AEN3019" | ||
12440 | >A.172. llOverMyLand</A | ||
12441 | ></H2 | ||
12442 | ><DIV | ||
12443 | CLASS="funcsynopsis" | ||
12444 | ><P | ||
12445 | ></P | ||
12446 | ><A | ||
12447 | NAME="AEN3021" | ||
12448 | ></A | ||
12449 | ><P | ||
12450 | ><CODE | ||
12451 | ><CODE | ||
12452 | CLASS="FUNCDEF" | ||
12453 | >integer llOverMyLand</CODE | ||
12454 | >(key id);</CODE | ||
12455 | ></P | ||
12456 | ><P | ||
12457 | ></P | ||
12458 | ></DIV | ||
12459 | ><P | ||
12460 | >Returns <A | ||
12461 | HREF="#AEN5295" | ||
12462 | >TRUE</A | ||
12463 | > if | ||
12464 | <CODE | ||
12465 | CLASS="parameter" | ||
12466 | >id</CODE | ||
12467 | > is over land owned by the object owner, | ||
12468 | <A | ||
12469 | HREF="#AEN5295" | ||
12470 | >FALSE</A | ||
12471 | > otherwise.</P | ||
12472 | ></DIV | ||
12473 | ><DIV | ||
12474 | CLASS="section" | ||
12475 | ><HR><H2 | ||
12476 | CLASS="section" | ||
12477 | ><A | ||
12478 | NAME="AEN3031" | ||
12479 | >A.173. llParcelMediaCommandList</A | ||
12480 | ></H2 | ||
12481 | ><DIV | ||
12482 | CLASS="funcsynopsis" | ||
12483 | ><P | ||
12484 | ></P | ||
12485 | ><A | ||
12486 | NAME="AEN3033" | ||
12487 | ></A | ||
12488 | ><P | ||
12489 | ><CODE | ||
12490 | ><CODE | ||
12491 | CLASS="FUNCDEF" | ||
12492 | >llParcelMediaCommandList</CODE | ||
12493 | >(list command_list);</CODE | ||
12494 | ></P | ||
12495 | ><P | ||
12496 | ></P | ||
12497 | ></DIV | ||
12498 | ><P | ||
12499 | >Controls the playback of movies and other multimedia resources on a land parcel. | ||
12500 | <CODE | ||
12501 | CLASS="parameter" | ||
12502 | >command</CODE | ||
12503 | > can be one of | ||
12504 | <A | ||
12505 | HREF="#AEN6459" | ||
12506 | >PARCEL_MEDIA_COMMAND_STOP</A | ||
12507 | >, | ||
12508 | <A | ||
12509 | HREF="#AEN6459" | ||
12510 | >PARCEL_MEDIA_COMMAND_PAUSE</A | ||
12511 | >, | ||
12512 | <A | ||
12513 | HREF="#AEN6459" | ||
12514 | >PARCEL_MEDIA_COMMAND_PLAY</A | ||
12515 | >, | ||
12516 | <A | ||
12517 | HREF="#AEN6459" | ||
12518 | >PARCEL_MEDIA_COMMAND_LOOP</A | ||
12519 | >, | ||
12520 | <A | ||
12521 | HREF="#AEN6459" | ||
12522 | >PARCEL_MEDIA_COMMAND_TEXTURE</A | ||
12523 | >, | ||
12524 | <A | ||
12525 | HREF="#AEN6459" | ||
12526 | >PARCEL_MEDIA_COMMAND_URL</A | ||
12527 | >, | ||
12528 | <A | ||
12529 | HREF="#AEN6459" | ||
12530 | >PARCEL_MEDIA_COMMAND_TYPE</A | ||
12531 | >, | ||
12532 | <A | ||
12533 | HREF="#AEN6459" | ||
12534 | >PARCEL_MEDIA_COMMAND_DESC</A | ||
12535 | >, | ||
12536 | <A | ||
12537 | HREF="#AEN6459" | ||
12538 | >PARCEL_MEDIA_COMMAND_SIZE</A | ||
12539 | >, | ||
12540 | <A | ||
12541 | HREF="#AEN6459" | ||
12542 | >PARCEL_MEDIA_COMMAND_TIME</A | ||
12543 | >, | ||
12544 | <A | ||
12545 | HREF="#AEN6459" | ||
12546 | >PARCEL_MEDIA_COMMAND_AGENT</A | ||
12547 | >, | ||
12548 | <A | ||
12549 | HREF="#AEN6459" | ||
12550 | >PARCEL_MEDIA_COMMAND_UNLOAD</A | ||
12551 | >, or | ||
12552 | <A | ||
12553 | HREF="#AEN6459" | ||
12554 | >PARCEL_MEDIA_COMMAND_AUTO_ALIGN</A | ||
12555 | >. | ||
12556 | </P | ||
12557 | ><P | ||
12558 | >You are allowed one movie (or "media" resource) per land parcel. | ||
12559 | The movie will be played by replacing a texture on an object with the | ||
12560 | movie. Users will only see the movie when they are standing on your | ||
12561 | land parcel. Otherwise they will see the static texture.</P | ||
12562 | ><P | ||
12563 | >Most of the QuickTime media formats are supported including: | ||
12564 | <P | ||
12565 | ></P | ||
12566 | ><UL | ||
12567 | ><LI | ||
12568 | ><P | ||
12569 | >QuickTime movies (.mov)</P | ||
12570 | ></LI | ||
12571 | ><LI | ||
12572 | ><P | ||
12573 | >Streamable stored QuickTime movies (.mov)</P | ||
12574 | ></LI | ||
12575 | ><LI | ||
12576 | ><P | ||
12577 | >Real time QuickTime streams (rtsp://)</P | ||
12578 | ></LI | ||
12579 | ><LI | ||
12580 | ><P | ||
12581 | >MPEG4 movies (.mp4, .mpeg4) (simple profile only)</P | ||
12582 | ></LI | ||
12583 | ><LI | ||
12584 | ><P | ||
12585 | >QuickTime VR scenes and objects (.mov)</P | ||
12586 | ></LI | ||
12587 | ><LI | ||
12588 | ><P | ||
12589 | >Flash movies (.swf) (only non-interative, version 5 and earlier</P | ||
12590 | ></LI | ||
12591 | ><LI | ||
12592 | ><P | ||
12593 | >and many others from http://www.apple.com/quicktime/products/qt/specifications.html</P | ||
12594 | ></LI | ||
12595 | ></UL | ||
12596 | > | ||
12597 | A good rule of thumb is if it plays in the QuickTime Media Player, it will play in Second Life. | ||
12598 | </P | ||
12599 | ><P | ||
12600 | >You can set up a movie for playback as follows: | ||
12601 | <P | ||
12602 | ></P | ||
12603 | ><UL | ||
12604 | ><LI | ||
12605 | ><P | ||
12606 | >First, select a texture from your inventory to be the static texture. It should not be a common texture -- a test pattern would be better than the default plywood.</P | ||
12607 | ></LI | ||
12608 | ><LI | ||
12609 | ><P | ||
12610 | >Apply that texture to an object.</P | ||
12611 | ></LI | ||
12612 | ><LI | ||
12613 | ><P | ||
12614 | >Right click on your land and select "About Land..."</P | ||
12615 | ></LI | ||
12616 | ><LI | ||
12617 | ><P | ||
12618 | >Under "Options" use the GUI to select the static texture.</P | ||
12619 | ></LI | ||
12620 | ><LI | ||
12621 | ><P | ||
12622 | >Enter the URL of your movie or media stream.</P | ||
12623 | ></LI | ||
12624 | ><LI | ||
12625 | ><P | ||
12626 | >Create objects you want to click on for PLAY, STOP, PAUSE and LOOP (play forever)</P | ||
12627 | ></LI | ||
12628 | ><LI | ||
12629 | ><P | ||
12630 | >Attach the following script (or similar) to each.</P | ||
12631 | ></LI | ||
12632 | ></UL | ||
12633 | > | ||
12634 | <DIV | ||
12635 | CLASS="informalexample" | ||
12636 | ><P | ||
12637 | ></P | ||
12638 | ><A | ||
12639 | NAME="AEN3087" | ||
12640 | ></A | ||
12641 | ><PRE | ||
12642 | CLASS="programlisting" | ||
12643 | > default | ||
12644 | { | ||
12645 | touch_start ( integer total_number ) | ||
12646 | { | ||
12647 | // This will play the current movie for all agents in the parcel. | ||
12648 | llParcelMediaCommandList( [PARCEL_MEDIA_COMMAND_LOOP] ); | ||
12649 | } | ||
12650 | } | ||
12651 | </PRE | ||
12652 | ><P | ||
12653 | ></P | ||
12654 | ></DIV | ||
12655 | > | ||
12656 | Or a more advanced example: | ||
12657 | <DIV | ||
12658 | CLASS="informalexample" | ||
12659 | ><P | ||
12660 | ></P | ||
12661 | ><A | ||
12662 | NAME="AEN3089" | ||
12663 | ></A | ||
12664 | ><PRE | ||
12665 | CLASS="programlisting" | ||
12666 | > float START_TIME = 30.0; | ||
12667 | float RUN_LENGTH = 10.0; | ||
12668 | |||
12669 | default | ||
12670 | { | ||
12671 | state_entry() | ||
12672 | { | ||
12673 | llParcelMediaCommandList( [ | ||
12674 | PARCEL_MEDIA_COMMAND_URL, "http://enter_your.url/here", | ||
12675 | PARCEL_MEDIA_COMMAND_TEXTURE, (key) llGetTexture(0) ] ); | ||
12676 | } | ||
12677 | |||
12678 | touch_start(integer num_detected) | ||
12679 | { | ||
12680 | llParcelMediaCommandList( [ | ||
12681 | PARCEL_MEDIA_COMMAND_AGENT, llDetectedKey(0), | ||
12682 | PARCEL_MEDIA_COMMAND_TIME, START_TIME, | ||
12683 | PARCEL_MEDIA_COMMAND_PLAY ] ); | ||
12684 | list Info = llParcelMediaQuery([PARCEL_MEDIA_COMMAND_URL, PARCEL_MEDIA_COMMAND_TEXTURE]); | ||
12685 | llSay(0, "Playing '" + llList2String(Info, 0) + "' on texture '" + (string)llList2Key(Info, 1) + "' for agent " + llDetectedName(0)); | ||
12686 | llSetTimerEvent(RUN_LENGTH); | ||
12687 | } | ||
12688 | |||
12689 | timer() | ||
12690 | { | ||
12691 | llParcelMediaCommandList( [ PARCEL_MEDIA_COMMAND_STOP ] ); | ||
12692 | llSetTimerEvent(0.0); | ||
12693 | } | ||
12694 | } | ||
12695 | </PRE | ||
12696 | ><P | ||
12697 | ></P | ||
12698 | ></DIV | ||
12699 | > | ||
12700 | |||
12701 | |||
12702 | </P | ||
12703 | ></DIV | ||
12704 | ><DIV | ||
12705 | CLASS="section" | ||
12706 | ><HR><H2 | ||
12707 | CLASS="section" | ||
12708 | ><A | ||
12709 | NAME="AEN3091" | ||
12710 | >A.174. llParcelMediaQuery</A | ||
12711 | ></H2 | ||
12712 | ><DIV | ||
12713 | CLASS="funcsynopsis" | ||
12714 | ><P | ||
12715 | ></P | ||
12716 | ><A | ||
12717 | NAME="AEN3093" | ||
12718 | ></A | ||
12719 | ><P | ||
12720 | ><CODE | ||
12721 | ><CODE | ||
12722 | CLASS="FUNCDEF" | ||
12723 | >list llParcelMediaQuery</CODE | ||
12724 | >(list query_list);</CODE | ||
12725 | ></P | ||
12726 | ><P | ||
12727 | ></P | ||
12728 | ></DIV | ||
12729 | ><P | ||
12730 | >Controls the playback of movies and other multimedia resources on a land parcel. | ||
12731 | <CODE | ||
12732 | CLASS="parameter" | ||
12733 | >command</CODE | ||
12734 | > can be one of | ||
12735 | <A | ||
12736 | HREF="#AEN6459" | ||
12737 | >PARCEL_MEDIA_COMMAND_TEXTURE</A | ||
12738 | > or | ||
12739 | <A | ||
12740 | HREF="#AEN6459" | ||
12741 | >PARCEL_MEDIA_COMMAND_URL</A | ||
12742 | >. | ||
12743 | </P | ||
12744 | ><P | ||
12745 | >This allows you to query the texture or url for media on the parcel. | ||
12746 | See <A | ||
12747 | HREF="#AEN3031" | ||
12748 | >llParcelMediaCommandList</A | ||
12749 | > for an example | ||
12750 | of usage.</P | ||
12751 | ></DIV | ||
12752 | ><DIV | ||
12753 | CLASS="section" | ||
12754 | ><HR><H2 | ||
12755 | CLASS="section" | ||
12756 | ><A | ||
12757 | NAME="AEN3105" | ||
12758 | >A.175. llParseString2List</A | ||
12759 | ></H2 | ||
12760 | ><DIV | ||
12761 | CLASS="funcsynopsis" | ||
12762 | ><P | ||
12763 | ></P | ||
12764 | ><A | ||
12765 | NAME="AEN3107" | ||
12766 | ></A | ||
12767 | ><P | ||
12768 | ><CODE | ||
12769 | ><CODE | ||
12770 | CLASS="FUNCDEF" | ||
12771 | >list llParseString2List</CODE | ||
12772 | >(string src, list separators, list spacers);</CODE | ||
12773 | ></P | ||
12774 | ><P | ||
12775 | ></P | ||
12776 | ></DIV | ||
12777 | ><P | ||
12778 | >Breaks <CODE | ||
12779 | CLASS="parameter" | ||
12780 | >src</CODE | ||
12781 | > into a list, discarding | ||
12782 | anything in <CODE | ||
12783 | CLASS="parameter" | ||
12784 | >separators</CODE | ||
12785 | >, keeping any entry | ||
12786 | in <CODE | ||
12787 | CLASS="parameter" | ||
12788 | >spacers</CODE | ||
12789 | >. The | ||
12790 | <CODE | ||
12791 | CLASS="parameter" | ||
12792 | >separators</CODE | ||
12793 | > and | ||
12794 | <CODE | ||
12795 | CLASS="parameter" | ||
12796 | >spacers</CODE | ||
12797 | > must be lists of strings with a | ||
12798 | maximum of 8 entries each. So, if you had made the call: | ||
12799 | <DIV | ||
12800 | CLASS="informalexample" | ||
12801 | ><P | ||
12802 | ></P | ||
12803 | ><A | ||
12804 | NAME="AEN3123" | ||
12805 | ></A | ||
12806 | ><PRE | ||
12807 | CLASS="programlisting" | ||
12808 | > llParseString2List("Parsethisnow! I dare:you to.", ["this", "!", " "], [":"]); | ||
12809 | </PRE | ||
12810 | ><P | ||
12811 | ></P | ||
12812 | ></DIV | ||
12813 | > | ||
12814 | You would get the list: | ||
12815 | <DIV | ||
12816 | CLASS="informalexample" | ||
12817 | ><P | ||
12818 | ></P | ||
12819 | ><A | ||
12820 | NAME="AEN3125" | ||
12821 | ></A | ||
12822 | ><PRE | ||
12823 | CLASS="programlisting" | ||
12824 | > ["Parse", "now", "I", "dare", ":", "you", "to"] | ||
12825 | </PRE | ||
12826 | ><P | ||
12827 | ></P | ||
12828 | ></DIV | ||
12829 | ></P | ||
12830 | ></DIV | ||
12831 | ><DIV | ||
12832 | CLASS="section" | ||
12833 | ><HR><H2 | ||
12834 | CLASS="section" | ||
12835 | ><A | ||
12836 | NAME="AEN3127" | ||
12837 | >A.176. llParseStringKeepNulls</A | ||
12838 | ></H2 | ||
12839 | ><DIV | ||
12840 | CLASS="funcsynopsis" | ||
12841 | ><P | ||
12842 | ></P | ||
12843 | ><A | ||
12844 | NAME="AEN3129" | ||
12845 | ></A | ||
12846 | ><P | ||
12847 | ><CODE | ||
12848 | ><CODE | ||
12849 | CLASS="FUNCDEF" | ||
12850 | >list llParseStringKeepNulls</CODE | ||
12851 | >(string src, list separators, list spacers);</CODE | ||
12852 | ></P | ||
12853 | ><P | ||
12854 | ></P | ||
12855 | ></DIV | ||
12856 | ><P | ||
12857 | >Breaks <CODE | ||
12858 | CLASS="parameter" | ||
12859 | >src</CODE | ||
12860 | > into a list, discarding | ||
12861 | anything in <CODE | ||
12862 | CLASS="parameter" | ||
12863 | >separators</CODE | ||
12864 | >, keeping any entry | ||
12865 | in <CODE | ||
12866 | CLASS="parameter" | ||
12867 | >spacers</CODE | ||
12868 | >. Any resulting null values | ||
12869 | are kept. The <CODE | ||
12870 | CLASS="parameter" | ||
12871 | >separators</CODE | ||
12872 | > and | ||
12873 | <CODE | ||
12874 | CLASS="parameter" | ||
12875 | >spacers</CODE | ||
12876 | > must be lists of strings with a | ||
12877 | maximum of 8 entries each. So, if you had made the call: | ||
12878 | <DIV | ||
12879 | CLASS="informalexample" | ||
12880 | ><P | ||
12881 | ></P | ||
12882 | ><A | ||
12883 | NAME="AEN3145" | ||
12884 | ></A | ||
12885 | ><PRE | ||
12886 | CLASS="programlisting" | ||
12887 | > llParseString2List("!Parsethisthisnow I dare::you to.", ["this", "!", " "], [":"]); | ||
12888 | </PRE | ||
12889 | ><P | ||
12890 | ></P | ||
12891 | ></DIV | ||
12892 | > | ||
12893 | You would get the list: | ||
12894 | <DIV | ||
12895 | CLASS="informalexample" | ||
12896 | ><P | ||
12897 | ></P | ||
12898 | ><A | ||
12899 | NAME="AEN3147" | ||
12900 | ></A | ||
12901 | ><PRE | ||
12902 | CLASS="programlisting" | ||
12903 | > [NULL, "Parse", NULL, "now", "I", "dare", ":", NULL, ":", "you", "to"] | ||
12904 | </PRE | ||
12905 | ><P | ||
12906 | ></P | ||
12907 | ></DIV | ||
12908 | ></P | ||
12909 | ></DIV | ||
12910 | ><DIV | ||
12911 | CLASS="section" | ||
12912 | ><HR><H2 | ||
12913 | CLASS="section" | ||
12914 | ><A | ||
12915 | NAME="AEN3149" | ||
12916 | >A.177. llParticleSystem</A | ||
12917 | ></H2 | ||
12918 | ><DIV | ||
12919 | CLASS="funcsynopsis" | ||
12920 | ><P | ||
12921 | ></P | ||
12922 | ><A | ||
12923 | NAME="AEN3151" | ||
12924 | ></A | ||
12925 | ><P | ||
12926 | ><CODE | ||
12927 | ><CODE | ||
12928 | CLASS="FUNCDEF" | ||
12929 | >llParticleSystem</CODE | ||
12930 | >(list parameters);</CODE | ||
12931 | ></P | ||
12932 | ><P | ||
12933 | ></P | ||
12934 | ></DIV | ||
12935 | ><P | ||
12936 | >Makes a particle system based on the parameter list. The | ||
12937 | <CODE | ||
12938 | CLASS="parameter" | ||
12939 | >parameters</CODE | ||
12940 | > are specified as an ordered list | ||
12941 | of parameter and value. Valid parameters and their expected values | ||
12942 | can be found in the <A | ||
12943 | HREF="#AEN5851" | ||
12944 | >particle system | ||
12945 | constants</A | ||
12946 | >. Here is a simple example: | ||
12947 | <DIV | ||
12948 | CLASS="informalexample" | ||
12949 | ><P | ||
12950 | ></P | ||
12951 | ><A | ||
12952 | NAME="AEN3160" | ||
12953 | ></A | ||
12954 | ><PRE | ||
12955 | CLASS="programlisting" | ||
12956 | > llParticleSystem([PSYS_PART_FLAGS, PSYS_PART_WIND_MASK, | ||
12957 | PSYS_PART_START_COLOR, <1,0,0>, | ||
12958 | PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE]); | ||
12959 | </PRE | ||
12960 | ><P | ||
12961 | ></P | ||
12962 | ></DIV | ||
12963 | ></P | ||
12964 | ></DIV | ||
12965 | ><DIV | ||
12966 | CLASS="section" | ||
12967 | ><HR><H2 | ||
12968 | CLASS="section" | ||
12969 | ><A | ||
12970 | NAME="AEN3162" | ||
12971 | >A.178. llPassCollisions</A | ||
12972 | ></H2 | ||
12973 | ><DIV | ||
12974 | CLASS="funcsynopsis" | ||
12975 | ><P | ||
12976 | ></P | ||
12977 | ><A | ||
12978 | NAME="AEN3164" | ||
12979 | ></A | ||
12980 | ><P | ||
12981 | ><CODE | ||
12982 | ><CODE | ||
12983 | CLASS="FUNCDEF" | ||
12984 | >llPassCollisions</CODE | ||
12985 | >(integer pass);</CODE | ||
12986 | ></P | ||
12987 | ><P | ||
12988 | ></P | ||
12989 | ></DIV | ||
12990 | ><P | ||
12991 | >If <CODE | ||
12992 | CLASS="parameter" | ||
12993 | >pass</CODE | ||
12994 | > is <A | ||
12995 | HREF="#AEN5295" | ||
12996 | >TRUE</A | ||
12997 | >, land and object collisions | ||
12998 | are passed from children on to parents.</P | ||
12999 | ></DIV | ||
13000 | ><DIV | ||
13001 | CLASS="section" | ||
13002 | ><HR><H2 | ||
13003 | CLASS="section" | ||
13004 | ><A | ||
13005 | NAME="AEN3173" | ||
13006 | >A.179. llPassTouches</A | ||
13007 | ></H2 | ||
13008 | ><DIV | ||
13009 | CLASS="funcsynopsis" | ||
13010 | ><P | ||
13011 | ></P | ||
13012 | ><A | ||
13013 | NAME="AEN3175" | ||
13014 | ></A | ||
13015 | ><P | ||
13016 | ><CODE | ||
13017 | ><CODE | ||
13018 | CLASS="FUNCDEF" | ||
13019 | >llPassTouches</CODE | ||
13020 | >(integer pass);</CODE | ||
13021 | ></P | ||
13022 | ><P | ||
13023 | ></P | ||
13024 | ></DIV | ||
13025 | ><P | ||
13026 | >If <CODE | ||
13027 | CLASS="parameter" | ||
13028 | >pass</CODE | ||
13029 | > is <A | ||
13030 | HREF="#AEN5295" | ||
13031 | >TRUE</A | ||
13032 | >, touches are passed from | ||
13033 | children on to parents.</P | ||
13034 | ></DIV | ||
13035 | ><DIV | ||
13036 | CLASS="section" | ||
13037 | ><HR><H2 | ||
13038 | CLASS="section" | ||
13039 | ><A | ||
13040 | NAME="AEN3184" | ||
13041 | >A.180. llPlaySound</A | ||
13042 | ></H2 | ||
13043 | ><DIV | ||
13044 | CLASS="funcsynopsis" | ||
13045 | ><P | ||
13046 | ></P | ||
13047 | ><A | ||
13048 | NAME="AEN3186" | ||
13049 | ></A | ||
13050 | ><P | ||
13051 | ><CODE | ||
13052 | ><CODE | ||
13053 | CLASS="FUNCDEF" | ||
13054 | >llPlaySound</CODE | ||
13055 | >(string sound, float volume);</CODE | ||
13056 | ></P | ||
13057 | ><P | ||
13058 | ></P | ||
13059 | ></DIV | ||
13060 | ><P | ||
13061 | >Plays a sound once. The sound will be attached to an object | ||
13062 | and follow object movement. Only one sound may be attached to an | ||
13063 | object at a time, and attaching a new sound or calling <A | ||
13064 | HREF="#AEN4620" | ||
13065 | >llStopSound</A | ||
13066 | > will stop the | ||
13067 | previously attached sound. A second call to llPlaySound with the | ||
13068 | same <CODE | ||
13069 | CLASS="parameter" | ||
13070 | >sound</CODE | ||
13071 | > will not restart the sound, but | ||
13072 | the new volume will be used, which allows control over the volume | ||
13073 | of already playing sounds. To restart the sound from the | ||
13074 | beginning, call <A | ||
13075 | HREF="#AEN4620" | ||
13076 | >llStopSound</A | ||
13077 | > | ||
13078 | before calling llPlaySound again.</P | ||
13079 | ></DIV | ||
13080 | ><DIV | ||
13081 | CLASS="section" | ||
13082 | ><HR><H2 | ||
13083 | CLASS="section" | ||
13084 | ><A | ||
13085 | NAME="AEN3198" | ||
13086 | >A.181. llPlaySoundSlave</A | ||
13087 | ></H2 | ||
13088 | ><DIV | ||
13089 | CLASS="funcsynopsis" | ||
13090 | ><P | ||
13091 | ></P | ||
13092 | ><A | ||
13093 | NAME="AEN3200" | ||
13094 | ></A | ||
13095 | ><P | ||
13096 | ><CODE | ||
13097 | ><CODE | ||
13098 | CLASS="FUNCDEF" | ||
13099 | >llPlaySoundSlave</CODE | ||
13100 | >(string sound, float volume);</CODE | ||
13101 | ></P | ||
13102 | ><P | ||
13103 | ></P | ||
13104 | ></DIV | ||
13105 | ><P | ||
13106 | >Behaviour is identical to llPlaySound, unless there is a | ||
13107 | "Sync Master" present. If a Sync Master is already | ||
13108 | playing the Slave sound will not be played until the Master hits | ||
13109 | its loop point and returns to the beginning. llPlaySoundSlave will | ||
13110 | play the sound exactly once; if it is desired to have the sound | ||
13111 | play every time the Master loops, either use <A | ||
13112 | HREF="#AEN2802" | ||
13113 | >llLoopSoundSlave</A | ||
13114 | > with extra | ||
13115 | silence padded on the end of the sound or ensure that | ||
13116 | llPlaySoundSlave is called at least once per loop of the | ||
13117 | Master.</P | ||
13118 | ></DIV | ||
13119 | ><DIV | ||
13120 | CLASS="section" | ||
13121 | ><HR><H2 | ||
13122 | CLASS="section" | ||
13123 | ><A | ||
13124 | NAME="AEN3210" | ||
13125 | >A.182. llPointAt</A | ||
13126 | ></H2 | ||
13127 | ><DIV | ||
13128 | CLASS="funcsynopsis" | ||
13129 | ><P | ||
13130 | ></P | ||
13131 | ><A | ||
13132 | NAME="AEN3212" | ||
13133 | ></A | ||
13134 | ><P | ||
13135 | ><CODE | ||
13136 | ><CODE | ||
13137 | CLASS="FUNCDEF" | ||
13138 | >llPointAt</CODE | ||
13139 | >(vector pos);</CODE | ||
13140 | ></P | ||
13141 | ><P | ||
13142 | ></P | ||
13143 | ></DIV | ||
13144 | ><P | ||
13145 | >Make avatar that owns object point at | ||
13146 | <CODE | ||
13147 | CLASS="parameter" | ||
13148 | >pos</CODE | ||
13149 | >.</P | ||
13150 | ></DIV | ||
13151 | ><DIV | ||
13152 | CLASS="section" | ||
13153 | ><HR><H2 | ||
13154 | CLASS="section" | ||
13155 | ><A | ||
13156 | NAME="AEN3220" | ||
13157 | >A.183. llPow</A | ||
13158 | ></H2 | ||
13159 | ><DIV | ||
13160 | CLASS="funcsynopsis" | ||
13161 | ><P | ||
13162 | ></P | ||
13163 | ><A | ||
13164 | NAME="AEN3222" | ||
13165 | ></A | ||
13166 | ><P | ||
13167 | ><CODE | ||
13168 | ><CODE | ||
13169 | CLASS="FUNCDEF" | ||
13170 | >llPow</CODE | ||
13171 | >(float base, float exp);</CODE | ||
13172 | ></P | ||
13173 | ><P | ||
13174 | ></P | ||
13175 | ></DIV | ||
13176 | ><P | ||
13177 | >Returns <CODE | ||
13178 | CLASS="parameter" | ||
13179 | >base</CODE | ||
13180 | > raised to the | ||
13181 | <CODE | ||
13182 | CLASS="parameter" | ||
13183 | >exp</CODE | ||
13184 | >.</P | ||
13185 | ></DIV | ||
13186 | ><DIV | ||
13187 | CLASS="section" | ||
13188 | ><HR><H2 | ||
13189 | CLASS="section" | ||
13190 | ><A | ||
13191 | NAME="AEN3233" | ||
13192 | >A.184. llPreloadSound</A | ||
13193 | ></H2 | ||
13194 | ><DIV | ||
13195 | CLASS="funcsynopsis" | ||
13196 | ><P | ||
13197 | ></P | ||
13198 | ><A | ||
13199 | NAME="AEN3235" | ||
13200 | ></A | ||
13201 | ><P | ||
13202 | ><CODE | ||
13203 | ><CODE | ||
13204 | CLASS="FUNCDEF" | ||
13205 | >llPreloadSound</CODE | ||
13206 | >(string sound);</CODE | ||
13207 | ></P | ||
13208 | ><P | ||
13209 | ></P | ||
13210 | ></DIV | ||
13211 | ><P | ||
13212 | >Preloads <CODE | ||
13213 | CLASS="parameter" | ||
13214 | >sound</CODE | ||
13215 | > from object inventory | ||
13216 | on nearby viewers.</P | ||
13217 | ></DIV | ||
13218 | ><DIV | ||
13219 | CLASS="section" | ||
13220 | ><HR><H2 | ||
13221 | CLASS="section" | ||
13222 | ><A | ||
13223 | NAME="AEN3243" | ||
13224 | >A.185. llPushObject</A | ||
13225 | ></H2 | ||
13226 | ><DIV | ||
13227 | CLASS="funcsynopsis" | ||
13228 | ><P | ||
13229 | ></P | ||
13230 | ><A | ||
13231 | NAME="AEN3245" | ||
13232 | ></A | ||
13233 | ><P | ||
13234 | ><CODE | ||
13235 | ><CODE | ||
13236 | CLASS="FUNCDEF" | ||
13237 | >llPushObject</CODE | ||
13238 | >(key id, vector impulse, vector angular_impulse, integer local);</CODE | ||
13239 | ></P | ||
13240 | ><P | ||
13241 | ></P | ||
13242 | ></DIV | ||
13243 | ><P | ||
13244 | >Applies <CODE | ||
13245 | CLASS="parameter" | ||
13246 | >impulse</CODE | ||
13247 | > and | ||
13248 | <CODE | ||
13249 | CLASS="parameter" | ||
13250 | >angular_impulse</CODE | ||
13251 | > to object | ||
13252 | <CODE | ||
13253 | CLASS="parameter" | ||
13254 | >id</CODE | ||
13255 | >.</P | ||
13256 | ></DIV | ||
13257 | ><DIV | ||
13258 | CLASS="section" | ||
13259 | ><HR><H2 | ||
13260 | CLASS="section" | ||
13261 | ><A | ||
13262 | NAME="AEN3261" | ||
13263 | >A.186. llReleaseControls</A | ||
13264 | ></H2 | ||
13265 | ><DIV | ||
13266 | CLASS="funcsynopsis" | ||
13267 | ><P | ||
13268 | ></P | ||
13269 | ><A | ||
13270 | NAME="AEN3263" | ||
13271 | ></A | ||
13272 | ><P | ||
13273 | ><CODE | ||
13274 | ><CODE | ||
13275 | CLASS="FUNCDEF" | ||
13276 | >llReleaseControls</CODE | ||
13277 | >(key avatar);</CODE | ||
13278 | ></P | ||
13279 | ><P | ||
13280 | ></P | ||
13281 | ></DIV | ||
13282 | ><P | ||
13283 | >Stop taking inputs from <CODE | ||
13284 | CLASS="parameter" | ||
13285 | >avatar</CODE | ||
13286 | >.</P | ||
13287 | ></DIV | ||
13288 | ><DIV | ||
13289 | CLASS="section" | ||
13290 | ><HR><H2 | ||
13291 | CLASS="section" | ||
13292 | ><A | ||
13293 | NAME="AEN3271" | ||
13294 | >A.187. llRemoteDataReply</A | ||
13295 | ></H2 | ||
13296 | ><DIV | ||
13297 | CLASS="funcsynopsis" | ||
13298 | ><P | ||
13299 | ></P | ||
13300 | ><A | ||
13301 | NAME="AEN3273" | ||
13302 | ></A | ||
13303 | ><P | ||
13304 | ><CODE | ||
13305 | ><CODE | ||
13306 | CLASS="FUNCDEF" | ||
13307 | >llRemoteDataReply</CODE | ||
13308 | >(key channel, key message_id, string sdata);</CODE | ||
13309 | ></P | ||
13310 | ><P | ||
13311 | ></P | ||
13312 | ></DIV | ||
13313 | ><P | ||
13314 | >Send an XML-RPC reply to message_id on channel with payload of string sdata.</P | ||
13315 | ></DIV | ||
13316 | ><DIV | ||
13317 | CLASS="section" | ||
13318 | ><HR><H2 | ||
13319 | CLASS="section" | ||
13320 | ><A | ||
13321 | NAME="AEN3284" | ||
13322 | >A.188. llRemoteDataSetRegion</A | ||
13323 | ></H2 | ||
13324 | ><DIV | ||
13325 | CLASS="funcsynopsis" | ||
13326 | ><P | ||
13327 | ></P | ||
13328 | ><A | ||
13329 | NAME="AEN3286" | ||
13330 | ></A | ||
13331 | ><P | ||
13332 | ><CODE | ||
13333 | ><CODE | ||
13334 | CLASS="FUNCDEF" | ||
13335 | >llRemoteDataSetRegion</CODE | ||
13336 | >(void);</CODE | ||
13337 | ></P | ||
13338 | ><P | ||
13339 | ></P | ||
13340 | ></DIV | ||
13341 | ><P | ||
13342 | >If an object using remote data channels changes regions, you | ||
13343 | must call this function to reregister the remote data | ||
13344 | channels. You do not need to make this call if your object does | ||
13345 | not change regions or use remote data channels.</P | ||
13346 | ></DIV | ||
13347 | ><DIV | ||
13348 | CLASS="section" | ||
13349 | ><HR><H2 | ||
13350 | CLASS="section" | ||
13351 | ><A | ||
13352 | NAME="AEN3292" | ||
13353 | >A.189. llRemoteLoadScript</A | ||
13354 | ></H2 | ||
13355 | ><DIV | ||
13356 | CLASS="funcsynopsis" | ||
13357 | ><P | ||
13358 | ></P | ||
13359 | ><A | ||
13360 | NAME="AEN3294" | ||
13361 | ></A | ||
13362 | ><P | ||
13363 | ><CODE | ||
13364 | ><CODE | ||
13365 | CLASS="FUNCDEF" | ||
13366 | >llRemoteLoadScript</CODE | ||
13367 | >(void);</CODE | ||
13368 | ></P | ||
13369 | ><P | ||
13370 | ></P | ||
13371 | ></DIV | ||
13372 | ><P | ||
13373 | >Deprecated. Please use llRemoteLoadScriptPin instead.</P | ||
13374 | ></DIV | ||
13375 | ><DIV | ||
13376 | CLASS="section" | ||
13377 | ><HR><H2 | ||
13378 | CLASS="section" | ||
13379 | ><A | ||
13380 | NAME="AEN3300" | ||
13381 | >A.190. llRemoteLoadScriptPin</A | ||
13382 | ></H2 | ||
13383 | ><DIV | ||
13384 | CLASS="funcsynopsis" | ||
13385 | ><P | ||
13386 | ></P | ||
13387 | ><A | ||
13388 | NAME="AEN3302" | ||
13389 | ></A | ||
13390 | ><P | ||
13391 | ><CODE | ||
13392 | ><CODE | ||
13393 | CLASS="FUNCDEF" | ||
13394 | >llRemoteLoadScriptPin</CODE | ||
13395 | >(key target, string name, integer pin, integer running, integer param);</CODE | ||
13396 | ></P | ||
13397 | ><P | ||
13398 | ></P | ||
13399 | ></DIV | ||
13400 | ><P | ||
13401 | >If the owner of the object this script is attached can modify <CODE | ||
13402 | CLASS="parameter" | ||
13403 | >target</CODE | ||
13404 | >, it has the correct <CODE | ||
13405 | CLASS="parameter" | ||
13406 | >pin</CODE | ||
13407 | > and the objects are in the same region, copy script <CODE | ||
13408 | CLASS="parameter" | ||
13409 | >name</CODE | ||
13410 | > onto <CODE | ||
13411 | CLASS="parameter" | ||
13412 | >target</CODE | ||
13413 | >, if <CODE | ||
13414 | CLASS="parameter" | ||
13415 | >running</CODE | ||
13416 | > == TRUE, start the script with <CODE | ||
13417 | CLASS="parameter" | ||
13418 | >param</CODE | ||
13419 | >. If <CODE | ||
13420 | CLASS="parameter" | ||
13421 | >name</CODE | ||
13422 | > already exists on <CODE | ||
13423 | CLASS="parameter" | ||
13424 | >target</CODE | ||
13425 | >, it is replaced.</P | ||
13426 | ></DIV | ||
13427 | ><DIV | ||
13428 | CLASS="section" | ||
13429 | ><HR><H2 | ||
13430 | CLASS="section" | ||
13431 | ><A | ||
13432 | NAME="AEN3325" | ||
13433 | >A.191. llRemoveInventory</A | ||
13434 | ></H2 | ||
13435 | ><DIV | ||
13436 | CLASS="funcsynopsis" | ||
13437 | ><P | ||
13438 | ></P | ||
13439 | ><A | ||
13440 | NAME="AEN3327" | ||
13441 | ></A | ||
13442 | ><P | ||
13443 | ><CODE | ||
13444 | ><CODE | ||
13445 | CLASS="FUNCDEF" | ||
13446 | >llRemoveInventory</CODE | ||
13447 | >(string inventory);</CODE | ||
13448 | ></P | ||
13449 | ><P | ||
13450 | ></P | ||
13451 | ></DIV | ||
13452 | ><P | ||
13453 | >Remove the name <CODE | ||
13454 | CLASS="parameter" | ||
13455 | >inventory</CODE | ||
13456 | > item from | ||
13457 | the object inventory.</P | ||
13458 | ></DIV | ||
13459 | ><DIV | ||
13460 | CLASS="section" | ||
13461 | ><HR><H2 | ||
13462 | CLASS="section" | ||
13463 | ><A | ||
13464 | NAME="AEN3335" | ||
13465 | >A.192. llRemoveVehicleFlags</A | ||
13466 | ></H2 | ||
13467 | ><DIV | ||
13468 | CLASS="funcsynopsis" | ||
13469 | ><P | ||
13470 | ></P | ||
13471 | ><A | ||
13472 | NAME="AEN3337" | ||
13473 | ></A | ||
13474 | ><P | ||
13475 | ><CODE | ||
13476 | ><CODE | ||
13477 | CLASS="FUNCDEF" | ||
13478 | >llRemoveVehicleFlags</CODE | ||
13479 | >(integer flags);</CODE | ||
13480 | ></P | ||
13481 | ><P | ||
13482 | ></P | ||
13483 | ></DIV | ||
13484 | ><P | ||
13485 | >Sets the vehicle <CODE | ||
13486 | CLASS="parameter" | ||
13487 | >flags</CODE | ||
13488 | > to | ||
13489 | FALSE. Valid parameters can be found in the <A | ||
13490 | HREF="#AEN6231" | ||
13491 | >vehicle flags constants</A | ||
13492 | > | ||
13493 | section.</P | ||
13494 | ></DIV | ||
13495 | ><DIV | ||
13496 | CLASS="section" | ||
13497 | ><HR><H2 | ||
13498 | CLASS="section" | ||
13499 | ><A | ||
13500 | NAME="AEN3346" | ||
13501 | >A.193. llRequestAgentData</A | ||
13502 | ></H2 | ||
13503 | ><DIV | ||
13504 | CLASS="funcsynopsis" | ||
13505 | ><P | ||
13506 | ></P | ||
13507 | ><A | ||
13508 | NAME="AEN3348" | ||
13509 | ></A | ||
13510 | ><P | ||
13511 | ><CODE | ||
13512 | ><CODE | ||
13513 | CLASS="FUNCDEF" | ||
13514 | >key llRequestAgentData</CODE | ||
13515 | >(key id, integer data);</CODE | ||
13516 | ></P | ||
13517 | ><P | ||
13518 | ></P | ||
13519 | ></DIV | ||
13520 | ><P | ||
13521 | >This function requests data about agent | ||
13522 | <CODE | ||
13523 | CLASS="parameter" | ||
13524 | >id</CODE | ||
13525 | >. If and when the information is | ||
13526 | collected, the <A | ||
13527 | HREF="#AEN4997" | ||
13528 | >dataserver</A | ||
13529 | > | ||
13530 | event is called with the returned key returned from this function | ||
13531 | passed in the <CODE | ||
13532 | CLASS="parameter" | ||
13533 | >requested</CODE | ||
13534 | > parameter. See the | ||
13535 | <A | ||
13536 | HREF="#AEN6005" | ||
13537 | >agent data constants</A | ||
13538 | > for | ||
13539 | details about valid values of <CODE | ||
13540 | CLASS="parameter" | ||
13541 | >data</CODE | ||
13542 | > and what | ||
13543 | each will return in the <A | ||
13544 | HREF="#AEN4997" | ||
13545 | >dataserver</A | ||
13546 | > event.</P | ||
13547 | ></DIV | ||
13548 | ><DIV | ||
13549 | CLASS="section" | ||
13550 | ><HR><H2 | ||
13551 | CLASS="section" | ||
13552 | ><A | ||
13553 | NAME="AEN3363" | ||
13554 | >A.194. llRequestInventoryData</A | ||
13555 | ></H2 | ||
13556 | ><DIV | ||
13557 | CLASS="funcsynopsis" | ||
13558 | ><P | ||
13559 | ></P | ||
13560 | ><A | ||
13561 | NAME="AEN3365" | ||
13562 | ></A | ||
13563 | ><P | ||
13564 | ><CODE | ||
13565 | ><CODE | ||
13566 | CLASS="FUNCDEF" | ||
13567 | >key llRequestInventoryData</CODE | ||
13568 | >(string name);</CODE | ||
13569 | ></P | ||
13570 | ><P | ||
13571 | ></P | ||
13572 | ></DIV | ||
13573 | ><P | ||
13574 | >Requests data from object inventory item | ||
13575 | <CODE | ||
13576 | CLASS="parameter" | ||
13577 | >name</CODE | ||
13578 | >. When data is available the <A | ||
13579 | HREF="#AEN4997" | ||
13580 | >dataserver</A | ||
13581 | > event will be raised | ||
13582 | with the key returned from this function in the | ||
13583 | <CODE | ||
13584 | CLASS="parameter" | ||
13585 | >requested</CODE | ||
13586 | > parameter. The only request | ||
13587 | currently implemented is to request data from landmarks, where the | ||
13588 | data returned is in the form "<float, float, | ||
13589 | float>" which can be cast to a vector. This position is in | ||
13590 | region local coordinates of the region the script call is made | ||
13591 | (possible even resulting in negative values). So, to | ||
13592 | convert this value into a global position, just add the result of | ||
13593 | llGetRegionCorner.</P | ||
13594 | ></DIV | ||
13595 | ><DIV | ||
13596 | CLASS="section" | ||
13597 | ><HR><H2 | ||
13598 | CLASS="section" | ||
13599 | ><A | ||
13600 | NAME="AEN3375" | ||
13601 | >A.195. llRequestPermissions</A | ||
13602 | ></H2 | ||
13603 | ><DIV | ||
13604 | CLASS="funcsynopsis" | ||
13605 | ><P | ||
13606 | ></P | ||
13607 | ><A | ||
13608 | NAME="AEN3377" | ||
13609 | ></A | ||
13610 | ><P | ||
13611 | ><CODE | ||
13612 | ><CODE | ||
13613 | CLASS="FUNCDEF" | ||
13614 | >integer llRequestPermissions</CODE | ||
13615 | >(key avatar, integer perm);</CODE | ||
13616 | ></P | ||
13617 | ><P | ||
13618 | ></P | ||
13619 | ></DIV | ||
13620 | ><P | ||
13621 | >Ask <CODE | ||
13622 | CLASS="parameter" | ||
13623 | >avatar</CODE | ||
13624 | > to allow the script to do | ||
13625 | <CODE | ||
13626 | CLASS="parameter" | ||
13627 | >perm</CODE | ||
13628 | >. The <CODE | ||
13629 | CLASS="parameter" | ||
13630 | >perm</CODE | ||
13631 | > | ||
13632 | parameter should be a <A | ||
13633 | HREF="#AEN5360" | ||
13634 | >permission | ||
13635 | constant</A | ||
13636 | >. Multiple permissions can be requested | ||
13637 | simultaneously by or'ing the constants together. Many of the | ||
13638 | permissions requests can only go to object owner. This call will | ||
13639 | not stop script execution - if the specified avatar grants the | ||
13640 | requested permissions, the <A | ||
13641 | HREF="#AEN5171" | ||
13642 | >run_time_permissions</A | ||
13643 | > | ||
13644 | event will be called.</P | ||
13645 | ></DIV | ||
13646 | ><DIV | ||
13647 | CLASS="section" | ||
13648 | ><HR><H2 | ||
13649 | CLASS="section" | ||
13650 | ><A | ||
13651 | NAME="AEN3391" | ||
13652 | >A.196. llRequestSimulatorData</A | ||
13653 | ></H2 | ||
13654 | ><DIV | ||
13655 | CLASS="funcsynopsis" | ||
13656 | ><P | ||
13657 | ></P | ||
13658 | ><A | ||
13659 | NAME="AEN3393" | ||
13660 | ></A | ||
13661 | ><P | ||
13662 | ><CODE | ||
13663 | ><CODE | ||
13664 | CLASS="FUNCDEF" | ||
13665 | >key llRequestSimulatorData</CODE | ||
13666 | >(string sim_name, integer data);</CODE | ||
13667 | ></P | ||
13668 | ><P | ||
13669 | ></P | ||
13670 | ></DIV | ||
13671 | ><P | ||
13672 | >This function requests data about simulator | ||
13673 | <CODE | ||
13674 | CLASS="parameter" | ||
13675 | >sim_name</CODE | ||
13676 | >. When the information is | ||
13677 | collected, the <A | ||
13678 | HREF="#AEN4997" | ||
13679 | >dataserver</A | ||
13680 | > | ||
13681 | event is called with the returned key returned from this function | ||
13682 | passed in the <CODE | ||
13683 | CLASS="parameter" | ||
13684 | >requested</CODE | ||
13685 | > parameter. See the | ||
13686 | <A | ||
13687 | HREF="#AEN6086" | ||
13688 | >simulator data constants</A | ||
13689 | > for | ||
13690 | details about valid values of <CODE | ||
13691 | CLASS="parameter" | ||
13692 | >data</CODE | ||
13693 | > and what | ||
13694 | each will return in the <A | ||
13695 | HREF="#AEN4997" | ||
13696 | >dataserver</A | ||
13697 | > event.</P | ||
13698 | ></DIV | ||
13699 | ><DIV | ||
13700 | CLASS="section" | ||
13701 | ><HR><H2 | ||
13702 | CLASS="section" | ||
13703 | ><A | ||
13704 | NAME="AEN3408" | ||
13705 | >A.197. llResetScript</A | ||
13706 | ></H2 | ||
13707 | ><DIV | ||
13708 | CLASS="funcsynopsis" | ||
13709 | ><P | ||
13710 | ></P | ||
13711 | ><A | ||
13712 | NAME="AEN3410" | ||
13713 | ></A | ||
13714 | ><P | ||
13715 | ><CODE | ||
13716 | ><CODE | ||
13717 | CLASS="FUNCDEF" | ||
13718 | >llResetScript</CODE | ||
13719 | >(void);</CODE | ||
13720 | ></P | ||
13721 | ><P | ||
13722 | ></P | ||
13723 | ></DIV | ||
13724 | ><P | ||
13725 | >Resets this script.</P | ||
13726 | ></DIV | ||
13727 | ><DIV | ||
13728 | CLASS="section" | ||
13729 | ><HR><H2 | ||
13730 | CLASS="section" | ||
13731 | ><A | ||
13732 | NAME="AEN3416" | ||
13733 | >A.198. llResetOtherScript</A | ||
13734 | ></H2 | ||
13735 | ><DIV | ||
13736 | CLASS="funcsynopsis" | ||
13737 | ><P | ||
13738 | ></P | ||
13739 | ><A | ||
13740 | NAME="AEN3418" | ||
13741 | ></A | ||
13742 | ><P | ||
13743 | ><CODE | ||
13744 | ><CODE | ||
13745 | CLASS="FUNCDEF" | ||
13746 | >llResetOtherScript</CODE | ||
13747 | >(string name);</CODE | ||
13748 | ></P | ||
13749 | ><P | ||
13750 | ></P | ||
13751 | ></DIV | ||
13752 | ><P | ||
13753 | >Resets the script <CODE | ||
13754 | CLASS="parameter" | ||
13755 | >name</CODE | ||
13756 | >.</P | ||
13757 | ></DIV | ||
13758 | ><DIV | ||
13759 | CLASS="section" | ||
13760 | ><HR><H2 | ||
13761 | CLASS="section" | ||
13762 | ><A | ||
13763 | NAME="AEN3426" | ||
13764 | >A.199. llResetTime</A | ||
13765 | ></H2 | ||
13766 | ><DIV | ||
13767 | CLASS="funcsynopsis" | ||
13768 | ><P | ||
13769 | ></P | ||
13770 | ><A | ||
13771 | NAME="AEN3428" | ||
13772 | ></A | ||
13773 | ><P | ||
13774 | ><CODE | ||
13775 | ><CODE | ||
13776 | CLASS="FUNCDEF" | ||
13777 | >llResetTime</CODE | ||
13778 | >(void);</CODE | ||
13779 | ></P | ||
13780 | ><P | ||
13781 | ></P | ||
13782 | ></DIV | ||
13783 | ><P | ||
13784 | >Sets the internal script timer to zero.</P | ||
13785 | ></DIV | ||
13786 | ><DIV | ||
13787 | CLASS="section" | ||
13788 | ><HR><H2 | ||
13789 | CLASS="section" | ||
13790 | ><A | ||
13791 | NAME="AEN3434" | ||
13792 | >A.200. llRezAtRoot</A | ||
13793 | ></H2 | ||
13794 | ><DIV | ||
13795 | CLASS="funcsynopsis" | ||
13796 | ><P | ||
13797 | ></P | ||
13798 | ><A | ||
13799 | NAME="AEN3436" | ||
13800 | ></A | ||
13801 | ><P | ||
13802 | ><CODE | ||
13803 | ><CODE | ||
13804 | CLASS="FUNCDEF" | ||
13805 | >llRezAtRoot</CODE | ||
13806 | >(string inventory, vector pos, vector vel, rotation rot, integer param);</CODE | ||
13807 | ></P | ||
13808 | ><P | ||
13809 | ></P | ||
13810 | ></DIV | ||
13811 | ><P | ||
13812 | >Creates object's <CODE | ||
13813 | CLASS="parameter" | ||
13814 | >inventory</CODE | ||
13815 | > object at | ||
13816 | position <CODE | ||
13817 | CLASS="parameter" | ||
13818 | >pos</CODE | ||
13819 | > with velocity | ||
13820 | <CODE | ||
13821 | CLASS="parameter" | ||
13822 | >vel</CODE | ||
13823 | > and rotation | ||
13824 | <CODE | ||
13825 | CLASS="parameter" | ||
13826 | >rot</CODE | ||
13827 | >. The last selected root object's location | ||
13828 | in a multi-object selection will be placed at <CODE | ||
13829 | CLASS="parameter" | ||
13830 | >pos</CODE | ||
13831 | >. | ||
13832 | All other objects in a selection will be created relative to the last | ||
13833 | selected root's position, taking <CODE | ||
13834 | CLASS="parameter" | ||
13835 | >rot</CODE | ||
13836 | > into account. | ||
13837 | The <CODE | ||
13838 | CLASS="parameter" | ||
13839 | >param</CODE | ||
13840 | > value | ||
13841 | will be available to the newly created object in the <A | ||
13842 | HREF="#AEN5159" | ||
13843 | >on_rez</A | ||
13844 | > event or through the <A | ||
13845 | HREF="#AEN2164" | ||
13846 | >llGetStartParameter</A | ||
13847 | > | ||
13848 | library function. The <CODE | ||
13849 | CLASS="parameter" | ||
13850 | >vel</CODE | ||
13851 | > parameter is | ||
13852 | ignored if the rezzed object is not physical.</P | ||
13853 | ></DIV | ||
13854 | ><DIV | ||
13855 | CLASS="section" | ||
13856 | ><HR><H2 | ||
13857 | CLASS="section" | ||
13858 | ><A | ||
13859 | NAME="AEN3461" | ||
13860 | >A.201. llRezObject</A | ||
13861 | ></H2 | ||
13862 | ><DIV | ||
13863 | CLASS="funcsynopsis" | ||
13864 | ><P | ||
13865 | ></P | ||
13866 | ><A | ||
13867 | NAME="AEN3463" | ||
13868 | ></A | ||
13869 | ><P | ||
13870 | ><CODE | ||
13871 | ><CODE | ||
13872 | CLASS="FUNCDEF" | ||
13873 | >llRezObject</CODE | ||
13874 | >(string inventory, vector pos, vector vel, rotation rot, integer param);</CODE | ||
13875 | ></P | ||
13876 | ><P | ||
13877 | ></P | ||
13878 | ></DIV | ||
13879 | ><P | ||
13880 | >Creates object's <CODE | ||
13881 | CLASS="parameter" | ||
13882 | >inventory</CODE | ||
13883 | > object at | ||
13884 | position <CODE | ||
13885 | CLASS="parameter" | ||
13886 | >pos</CODE | ||
13887 | > with velocity | ||
13888 | <CODE | ||
13889 | CLASS="parameter" | ||
13890 | >vel</CODE | ||
13891 | > and rotation | ||
13892 | <CODE | ||
13893 | CLASS="parameter" | ||
13894 | >rot</CODE | ||
13895 | >. The <CODE | ||
13896 | CLASS="parameter" | ||
13897 | >param</CODE | ||
13898 | > value | ||
13899 | will be available to the newly created object in the <A | ||
13900 | HREF="#AEN5159" | ||
13901 | >on_rez</A | ||
13902 | > event or through the <A | ||
13903 | HREF="#AEN2164" | ||
13904 | >llGetStartParameter</A | ||
13905 | > | ||
13906 | library function. The <CODE | ||
13907 | CLASS="parameter" | ||
13908 | >vel</CODE | ||
13909 | > parameter is | ||
13910 | ignored if the rezzed object is not physical.</P | ||
13911 | ></DIV | ||
13912 | ><DIV | ||
13913 | CLASS="section" | ||
13914 | ><HR><H2 | ||
13915 | CLASS="section" | ||
13916 | ><A | ||
13917 | NAME="AEN3486" | ||
13918 | >A.202. llRot2Angle</A | ||
13919 | ></H2 | ||
13920 | ><DIV | ||
13921 | CLASS="funcsynopsis" | ||
13922 | ><P | ||
13923 | ></P | ||
13924 | ><A | ||
13925 | NAME="AEN3488" | ||
13926 | ></A | ||
13927 | ><P | ||
13928 | ><CODE | ||
13929 | ><CODE | ||
13930 | CLASS="FUNCDEF" | ||
13931 | >float llRot2Angle</CODE | ||
13932 | >(rotation rot);</CODE | ||
13933 | ></P | ||
13934 | ><P | ||
13935 | ></P | ||
13936 | ></DIV | ||
13937 | ><P | ||
13938 | >Returns the rotation angle represented by | ||
13939 | <CODE | ||
13940 | CLASS="parameter" | ||
13941 | >rot</CODE | ||
13942 | >.</P | ||
13943 | ></DIV | ||
13944 | ><DIV | ||
13945 | CLASS="section" | ||
13946 | ><HR><H2 | ||
13947 | CLASS="section" | ||
13948 | ><A | ||
13949 | NAME="AEN3496" | ||
13950 | >A.203. llRot2Axis</A | ||
13951 | ></H2 | ||
13952 | ><DIV | ||
13953 | CLASS="funcsynopsis" | ||
13954 | ><P | ||
13955 | ></P | ||
13956 | ><A | ||
13957 | NAME="AEN3498" | ||
13958 | ></A | ||
13959 | ><P | ||
13960 | ><CODE | ||
13961 | ><CODE | ||
13962 | CLASS="FUNCDEF" | ||
13963 | >vector llRot2Axis</CODE | ||
13964 | >(rotation rot);</CODE | ||
13965 | ></P | ||
13966 | ><P | ||
13967 | ></P | ||
13968 | ></DIV | ||
13969 | ><P | ||
13970 | >Returns the rotation axis represented by | ||
13971 | <CODE | ||
13972 | CLASS="parameter" | ||
13973 | >rot</CODE | ||
13974 | >.</P | ||
13975 | ></DIV | ||
13976 | ><DIV | ||
13977 | CLASS="section" | ||
13978 | ><HR><H2 | ||
13979 | CLASS="section" | ||
13980 | ><A | ||
13981 | NAME="AEN3506" | ||
13982 | >A.204. llRot2Euler</A | ||
13983 | ></H2 | ||
13984 | ><DIV | ||
13985 | CLASS="funcsynopsis" | ||
13986 | ><P | ||
13987 | ></P | ||
13988 | ><A | ||
13989 | NAME="AEN3508" | ||
13990 | ></A | ||
13991 | ><P | ||
13992 | ><CODE | ||
13993 | ><CODE | ||
13994 | CLASS="FUNCDEF" | ||
13995 | >vector llRot2Euler</CODE | ||
13996 | >(rotation rot);</CODE | ||
13997 | ></P | ||
13998 | ><P | ||
13999 | ></P | ||
14000 | ></DIV | ||
14001 | ><P | ||
14002 | >Returns the Euler Angle representation of | ||
14003 | <CODE | ||
14004 | CLASS="parameter" | ||
14005 | >rot</CODE | ||
14006 | >.</P | ||
14007 | ></DIV | ||
14008 | ><DIV | ||
14009 | CLASS="section" | ||
14010 | ><HR><H2 | ||
14011 | CLASS="section" | ||
14012 | ><A | ||
14013 | NAME="AEN3516" | ||
14014 | >A.205. llRot2Fwd</A | ||
14015 | ></H2 | ||
14016 | ><DIV | ||
14017 | CLASS="funcsynopsis" | ||
14018 | ><P | ||
14019 | ></P | ||
14020 | ><A | ||
14021 | NAME="AEN3518" | ||
14022 | ></A | ||
14023 | ><P | ||
14024 | ><CODE | ||
14025 | ><CODE | ||
14026 | CLASS="FUNCDEF" | ||
14027 | >vector llRot2Fwd</CODE | ||
14028 | >(rotation rot);</CODE | ||
14029 | ></P | ||
14030 | ><P | ||
14031 | ></P | ||
14032 | ></DIV | ||
14033 | ><P | ||
14034 | >Returns the forward axis represented by | ||
14035 | <CODE | ||
14036 | CLASS="parameter" | ||
14037 | >rot</CODE | ||
14038 | >.</P | ||
14039 | ></DIV | ||
14040 | ><DIV | ||
14041 | CLASS="section" | ||
14042 | ><HR><H2 | ||
14043 | CLASS="section" | ||
14044 | ><A | ||
14045 | NAME="AEN3526" | ||
14046 | >A.206. llRot2Left</A | ||
14047 | ></H2 | ||
14048 | ><DIV | ||
14049 | CLASS="funcsynopsis" | ||
14050 | ><P | ||
14051 | ></P | ||
14052 | ><A | ||
14053 | NAME="AEN3528" | ||
14054 | ></A | ||
14055 | ><P | ||
14056 | ><CODE | ||
14057 | ><CODE | ||
14058 | CLASS="FUNCDEF" | ||
14059 | >llRot2Left</CODE | ||
14060 | >(rotation rot);</CODE | ||
14061 | ></P | ||
14062 | ><P | ||
14063 | ></P | ||
14064 | ></DIV | ||
14065 | ><P | ||
14066 | >Returns the left axis represented by | ||
14067 | <CODE | ||
14068 | CLASS="parameter" | ||
14069 | >rot</CODE | ||
14070 | >.</P | ||
14071 | ></DIV | ||
14072 | ><DIV | ||
14073 | CLASS="section" | ||
14074 | ><HR><H2 | ||
14075 | CLASS="section" | ||
14076 | ><A | ||
14077 | NAME="AEN3536" | ||
14078 | >A.207. llRot2Up</A | ||
14079 | ></H2 | ||
14080 | ><DIV | ||
14081 | CLASS="funcsynopsis" | ||
14082 | ><P | ||
14083 | ></P | ||
14084 | ><A | ||
14085 | NAME="AEN3538" | ||
14086 | ></A | ||
14087 | ><P | ||
14088 | ><CODE | ||
14089 | ><CODE | ||
14090 | CLASS="FUNCDEF" | ||
14091 | >llRot2Up</CODE | ||
14092 | >(rotation rot);</CODE | ||
14093 | ></P | ||
14094 | ><P | ||
14095 | ></P | ||
14096 | ></DIV | ||
14097 | ><P | ||
14098 | >Returns the up axis represented by | ||
14099 | <CODE | ||
14100 | CLASS="parameter" | ||
14101 | >rot</CODE | ||
14102 | >.</P | ||
14103 | ></DIV | ||
14104 | ><DIV | ||
14105 | CLASS="section" | ||
14106 | ><HR><H2 | ||
14107 | CLASS="section" | ||
14108 | ><A | ||
14109 | NAME="AEN3546" | ||
14110 | >A.208. llRotBetween</A | ||
14111 | ></H2 | ||
14112 | ><DIV | ||
14113 | CLASS="funcsynopsis" | ||
14114 | ><P | ||
14115 | ></P | ||
14116 | ><A | ||
14117 | NAME="AEN3548" | ||
14118 | ></A | ||
14119 | ><P | ||
14120 | ><CODE | ||
14121 | ><CODE | ||
14122 | CLASS="FUNCDEF" | ||
14123 | >rotation llRotBetween</CODE | ||
14124 | >(vector a, vector b);</CODE | ||
14125 | ></P | ||
14126 | ><P | ||
14127 | ></P | ||
14128 | ></DIV | ||
14129 | ><P | ||
14130 | >Returns the rotation needed to rotate | ||
14131 | <CODE | ||
14132 | CLASS="parameter" | ||
14133 | >a</CODE | ||
14134 | > to <CODE | ||
14135 | CLASS="parameter" | ||
14136 | >b</CODE | ||
14137 | >.</P | ||
14138 | ></DIV | ||
14139 | ><DIV | ||
14140 | CLASS="section" | ||
14141 | ><HR><H2 | ||
14142 | CLASS="section" | ||
14143 | ><A | ||
14144 | NAME="AEN3559" | ||
14145 | >A.209. llRotLookAt</A | ||
14146 | ></H2 | ||
14147 | ><DIV | ||
14148 | CLASS="funcsynopsis" | ||
14149 | ><P | ||
14150 | ></P | ||
14151 | ><A | ||
14152 | NAME="AEN3561" | ||
14153 | ></A | ||
14154 | ><P | ||
14155 | ><CODE | ||
14156 | ><CODE | ||
14157 | CLASS="FUNCDEF" | ||
14158 | >llRotLookAt</CODE | ||
14159 | >(rotation rot, float strength, float damping);</CODE | ||
14160 | ></P | ||
14161 | ><P | ||
14162 | ></P | ||
14163 | ></DIV | ||
14164 | ><P | ||
14165 | >Cause object to rotate to <CODE | ||
14166 | CLASS="parameter" | ||
14167 | >rot</CODE | ||
14168 | >. Good | ||
14169 | <CODE | ||
14170 | CLASS="parameter" | ||
14171 | >strength</CODE | ||
14172 | > values are around half the mass of | ||
14173 | the object and good <CODE | ||
14174 | CLASS="parameter" | ||
14175 | >damping</CODE | ||
14176 | > values are less | ||
14177 | than 1/10<SUP | ||
14178 | >th</SUP | ||
14179 | > of the | ||
14180 | <CODE | ||
14181 | CLASS="parameter" | ||
14182 | >strength</CODE | ||
14183 | >. Asymmetrical shapes require | ||
14184 | smaller <CODE | ||
14185 | CLASS="parameter" | ||
14186 | >damping</CODE | ||
14187 | >. A | ||
14188 | <CODE | ||
14189 | CLASS="parameter" | ||
14190 | >strength</CODE | ||
14191 | > of 0.0 cancels the look at.</P | ||
14192 | ></DIV | ||
14193 | ><DIV | ||
14194 | CLASS="section" | ||
14195 | ><HR><H2 | ||
14196 | CLASS="section" | ||
14197 | ><A | ||
14198 | NAME="AEN3579" | ||
14199 | >A.210. llRotTarget</A | ||
14200 | ></H2 | ||
14201 | ><DIV | ||
14202 | CLASS="funcsynopsis" | ||
14203 | ><P | ||
14204 | ></P | ||
14205 | ><A | ||
14206 | NAME="AEN3581" | ||
14207 | ></A | ||
14208 | ><P | ||
14209 | ><CODE | ||
14210 | ><CODE | ||
14211 | CLASS="FUNCDEF" | ||
14212 | >integer llRotTarget</CODE | ||
14213 | >(rotation rot, float error);</CODE | ||
14214 | ></P | ||
14215 | ><P | ||
14216 | ></P | ||
14217 | ></DIV | ||
14218 | ><P | ||
14219 | >Set object rotation within <CODE | ||
14220 | CLASS="parameter" | ||
14221 | >error</CODE | ||
14222 | > of | ||
14223 | <CODE | ||
14224 | CLASS="parameter" | ||
14225 | >rotation</CODE | ||
14226 | > as a rotational target and return | ||
14227 | an integer number for the target. The number can be used in <A | ||
14228 | HREF="#AEN3593" | ||
14229 | >llRotTargetRemove</A | ||
14230 | >.</P | ||
14231 | ></DIV | ||
14232 | ><DIV | ||
14233 | CLASS="section" | ||
14234 | ><HR><H2 | ||
14235 | CLASS="section" | ||
14236 | ><A | ||
14237 | NAME="AEN3593" | ||
14238 | >A.211. llRotTargetRemove</A | ||
14239 | ></H2 | ||
14240 | ><DIV | ||
14241 | CLASS="funcsynopsis" | ||
14242 | ><P | ||
14243 | ></P | ||
14244 | ><A | ||
14245 | NAME="AEN3595" | ||
14246 | ></A | ||
14247 | ><P | ||
14248 | ><CODE | ||
14249 | ><CODE | ||
14250 | CLASS="FUNCDEF" | ||
14251 | >llRotTargetRemove</CODE | ||
14252 | >(integer number);</CODE | ||
14253 | ></P | ||
14254 | ><P | ||
14255 | ></P | ||
14256 | ></DIV | ||
14257 | ><P | ||
14258 | >Remove rotational target | ||
14259 | <CODE | ||
14260 | CLASS="parameter" | ||
14261 | >number</CODE | ||
14262 | >.</P | ||
14263 | ></DIV | ||
14264 | ><DIV | ||
14265 | CLASS="section" | ||
14266 | ><HR><H2 | ||
14267 | CLASS="section" | ||
14268 | ><A | ||
14269 | NAME="AEN3603" | ||
14270 | >A.212. llRotateTexture</A | ||
14271 | ></H2 | ||
14272 | ><DIV | ||
14273 | CLASS="funcsynopsis" | ||
14274 | ><P | ||
14275 | ></P | ||
14276 | ><A | ||
14277 | NAME="AEN3605" | ||
14278 | ></A | ||
14279 | ><P | ||
14280 | ><CODE | ||
14281 | ><CODE | ||
14282 | CLASS="FUNCDEF" | ||
14283 | >llRotateTexture</CODE | ||
14284 | >(float radians, integer face);</CODE | ||
14285 | ></P | ||
14286 | ><P | ||
14287 | ></P | ||
14288 | ></DIV | ||
14289 | ><P | ||
14290 | >Sets the texture rotation of <CODE | ||
14291 | CLASS="parameter" | ||
14292 | >face</CODE | ||
14293 | > to | ||
14294 | <CODE | ||
14295 | CLASS="parameter" | ||
14296 | >radians</CODE | ||
14297 | >. If <CODE | ||
14298 | CLASS="parameter" | ||
14299 | >face</CODE | ||
14300 | > | ||
14301 | <A | ||
14302 | HREF="#AEN6073" | ||
14303 | >ALL_SIDES</A | ||
14304 | >, rotate the | ||
14305 | texture of all faces.</P | ||
14306 | ></DIV | ||
14307 | ><DIV | ||
14308 | CLASS="section" | ||
14309 | ><HR><H2 | ||
14310 | CLASS="section" | ||
14311 | ><A | ||
14312 | NAME="AEN3618" | ||
14313 | >A.213. llRound</A | ||
14314 | ></H2 | ||
14315 | ><DIV | ||
14316 | CLASS="funcsynopsis" | ||
14317 | ><P | ||
14318 | ></P | ||
14319 | ><A | ||
14320 | NAME="AEN3620" | ||
14321 | ></A | ||
14322 | ><P | ||
14323 | ><CODE | ||
14324 | ><CODE | ||
14325 | CLASS="FUNCDEF" | ||
14326 | >integer llRound</CODE | ||
14327 | >(float val);</CODE | ||
14328 | ></P | ||
14329 | ><P | ||
14330 | ></P | ||
14331 | ></DIV | ||
14332 | ><P | ||
14333 | >returns <CODE | ||
14334 | CLASS="parameter" | ||
14335 | >val</CODE | ||
14336 | > rounded to the nearest | ||
14337 | integer.</P | ||
14338 | ></DIV | ||
14339 | ><DIV | ||
14340 | CLASS="section" | ||
14341 | ><HR><H2 | ||
14342 | CLASS="section" | ||
14343 | ><A | ||
14344 | NAME="AEN3628" | ||
14345 | >A.214. llSameGroup</A | ||
14346 | ></H2 | ||
14347 | ><DIV | ||
14348 | CLASS="funcsynopsis" | ||
14349 | ><P | ||
14350 | ></P | ||
14351 | ><A | ||
14352 | NAME="AEN3630" | ||
14353 | ></A | ||
14354 | ><P | ||
14355 | ><CODE | ||
14356 | ><CODE | ||
14357 | CLASS="FUNCDEF" | ||
14358 | >integer llSameGroup</CODE | ||
14359 | >(key id);</CODE | ||
14360 | ></P | ||
14361 | ><P | ||
14362 | ></P | ||
14363 | ></DIV | ||
14364 | ><P | ||
14365 | >Returns <A | ||
14366 | HREF="#AEN5295" | ||
14367 | >TRUE</A | ||
14368 | > if the | ||
14369 | object or agent <CODE | ||
14370 | CLASS="parameter" | ||
14371 | >id</CODE | ||
14372 | > is in the same simulator | ||
14373 | and has the same active group as this object. Otherwise, returns | ||
14374 | <A | ||
14375 | HREF="#AEN5295" | ||
14376 | >FALSE</A | ||
14377 | >.</P | ||
14378 | ></DIV | ||
14379 | ><DIV | ||
14380 | CLASS="section" | ||
14381 | ><HR><H2 | ||
14382 | CLASS="section" | ||
14383 | ><A | ||
14384 | NAME="AEN3640" | ||
14385 | >A.215. llSay</A | ||
14386 | ></H2 | ||
14387 | ><DIV | ||
14388 | CLASS="funcsynopsis" | ||
14389 | ><P | ||
14390 | ></P | ||
14391 | ><A | ||
14392 | NAME="AEN3642" | ||
14393 | ></A | ||
14394 | ><P | ||
14395 | ><CODE | ||
14396 | ><CODE | ||
14397 | CLASS="FUNCDEF" | ||
14398 | >llSay</CODE | ||
14399 | >(integer channel, string text);</CODE | ||
14400 | ></P | ||
14401 | ><P | ||
14402 | ></P | ||
14403 | ></DIV | ||
14404 | ><P | ||
14405 | >Say <CODE | ||
14406 | CLASS="parameter" | ||
14407 | >text</CODE | ||
14408 | > on | ||
14409 | <CODE | ||
14410 | CLASS="parameter" | ||
14411 | >channel</CODE | ||
14412 | >. Channel 0 is the public chat | ||
14413 | channel that all avatars see as chat text. Channels 1 to | ||
14414 | 2,147,483,648 are private channels that are not sent to avatars | ||
14415 | but other scripts can listen for through the <A | ||
14416 | HREF="#AEN2665" | ||
14417 | >llListen</A | ||
14418 | > api.</P | ||
14419 | ></DIV | ||
14420 | ><DIV | ||
14421 | CLASS="section" | ||
14422 | ><HR><H2 | ||
14423 | CLASS="section" | ||
14424 | ><A | ||
14425 | NAME="AEN3654" | ||
14426 | >A.216. llScaleTexture</A | ||
14427 | ></H2 | ||
14428 | ><DIV | ||
14429 | CLASS="funcsynopsis" | ||
14430 | ><P | ||
14431 | ></P | ||
14432 | ><A | ||
14433 | NAME="AEN3656" | ||
14434 | ></A | ||
14435 | ><P | ||
14436 | ><CODE | ||
14437 | ><CODE | ||
14438 | CLASS="FUNCDEF" | ||
14439 | >llScaleTexture</CODE | ||
14440 | >(integer scale_s, integer scale_t, integer face);</CODE | ||
14441 | ></P | ||
14442 | ><P | ||
14443 | ></P | ||
14444 | ></DIV | ||
14445 | ><P | ||
14446 | >Sets the texture s and t scales of | ||
14447 | <CODE | ||
14448 | CLASS="parameter" | ||
14449 | >face</CODE | ||
14450 | > to <CODE | ||
14451 | CLASS="parameter" | ||
14452 | >scale_s</CODE | ||
14453 | > and | ||
14454 | <CODE | ||
14455 | CLASS="parameter" | ||
14456 | >scale_t</CODE | ||
14457 | > respectively. If face is <A | ||
14458 | HREF="#AEN6073" | ||
14459 | >ALL_SIDES</A | ||
14460 | >, scale the texture | ||
14461 | to all faces.</P | ||
14462 | ></DIV | ||
14463 | ><DIV | ||
14464 | CLASS="section" | ||
14465 | ><HR><H2 | ||
14466 | CLASS="section" | ||
14467 | ><A | ||
14468 | NAME="AEN3671" | ||
14469 | >A.217. llScriptDanger</A | ||
14470 | ></H2 | ||
14471 | ><DIV | ||
14472 | CLASS="funcsynopsis" | ||
14473 | ><P | ||
14474 | ></P | ||
14475 | ><A | ||
14476 | NAME="AEN3673" | ||
14477 | ></A | ||
14478 | ><P | ||
14479 | ><CODE | ||
14480 | ><CODE | ||
14481 | CLASS="FUNCDEF" | ||
14482 | >integer llScriptDanger</CODE | ||
14483 | >(vector pos);</CODE | ||
14484 | ></P | ||
14485 | ><P | ||
14486 | ></P | ||
14487 | ></DIV | ||
14488 | ><P | ||
14489 | >Returns true if pos is over public land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts.</P | ||
14490 | ></DIV | ||
14491 | ><DIV | ||
14492 | CLASS="section" | ||
14493 | ><HR><H2 | ||
14494 | CLASS="section" | ||
14495 | ><A | ||
14496 | NAME="AEN3680" | ||
14497 | >A.218. llSendRemoteData</A | ||
14498 | ></H2 | ||
14499 | ><DIV | ||
14500 | CLASS="funcsynopsis" | ||
14501 | ><P | ||
14502 | ></P | ||
14503 | ><A | ||
14504 | NAME="AEN3682" | ||
14505 | ></A | ||
14506 | ><P | ||
14507 | ><CODE | ||
14508 | ><CODE | ||
14509 | CLASS="FUNCDEF" | ||
14510 | >key llSendRemoteData</CODE | ||
14511 | >(string dest, integer idata, string sdata);</CODE | ||
14512 | ></P | ||
14513 | ><P | ||
14514 | ></P | ||
14515 | ></DIV | ||
14516 | ><P | ||
14517 | >Send an XML-RPC request to dest through channel with payload | ||
14518 | of channel (in a string), integer idata and string sdata. An | ||
14519 | XML-RPC reply will trigger a remote_data event with type = | ||
14520 | REMOTE_DATA_REPLY. The call returns a message_id that can be used | ||
14521 | to identify XML-RPC replies.</P | ||
14522 | ></DIV | ||
14523 | ><DIV | ||
14524 | CLASS="section" | ||
14525 | ><HR><H2 | ||
14526 | CLASS="section" | ||
14527 | ><A | ||
14528 | NAME="AEN3693" | ||
14529 | >A.219. llSensor</A | ||
14530 | ></H2 | ||
14531 | ><DIV | ||
14532 | CLASS="funcsynopsis" | ||
14533 | ><P | ||
14534 | ></P | ||
14535 | ><A | ||
14536 | NAME="AEN3695" | ||
14537 | ></A | ||
14538 | ><P | ||
14539 | ><CODE | ||
14540 | ><CODE | ||
14541 | CLASS="FUNCDEF" | ||
14542 | >llSensor</CODE | ||
14543 | >(string name, key id, integer type, float range, float arc);</CODE | ||
14544 | ></P | ||
14545 | ><P | ||
14546 | ></P | ||
14547 | ></DIV | ||
14548 | ><P | ||
14549 | >Performs a single scan for <CODE | ||
14550 | CLASS="parameter" | ||
14551 | >name</CODE | ||
14552 | > and | ||
14553 | <CODE | ||
14554 | CLASS="parameter" | ||
14555 | >id</CODE | ||
14556 | > with <CODE | ||
14557 | CLASS="parameter" | ||
14558 | >type</CODE | ||
14559 | > within | ||
14560 | <CODE | ||
14561 | CLASS="parameter" | ||
14562 | >range</CODE | ||
14563 | > meters and <CODE | ||
14564 | CLASS="parameter" | ||
14565 | >arc</CODE | ||
14566 | > | ||
14567 | radians of forward vector. Specifying a blank name or <A | ||
14568 | HREF="#AEN6070" | ||
14569 | >NULL_KEY</A | ||
14570 | > id will not filter results for | ||
14571 | any particular name or id. A range of 0.0 does not perform a | ||
14572 | scan. Range is limited to 96.0. The <CODE | ||
14573 | CLASS="parameter" | ||
14574 | >type</CODE | ||
14575 | > parameter should be an <A | ||
14576 | HREF="#AEN5338" | ||
14577 | >object type constant</A | ||
14578 | > value. If anything is found | ||
14579 | during the scan, a <A | ||
14580 | HREF="#AEN5183" | ||
14581 | >sensor</A | ||
14582 | > event is triggered. A maximum | ||
14583 | of 16 items are passed to this event. If nothing is found during the scan, a | ||
14584 | <A | ||
14585 | HREF="#AEN5121" | ||
14586 | >no sensor</A | ||
14587 | > event is triggered instead.</P | ||
14588 | ></DIV | ||
14589 | ><DIV | ||
14590 | CLASS="section" | ||
14591 | ><HR><H2 | ||
14592 | CLASS="section" | ||
14593 | ><A | ||
14594 | NAME="AEN3720" | ||
14595 | >A.220. llSensorRemove</A | ||
14596 | ></H2 | ||
14597 | ><DIV | ||
14598 | CLASS="funcsynopsis" | ||
14599 | ><P | ||
14600 | ></P | ||
14601 | ><A | ||
14602 | NAME="AEN3722" | ||
14603 | ></A | ||
14604 | ><P | ||
14605 | ><CODE | ||
14606 | ><CODE | ||
14607 | CLASS="FUNCDEF" | ||
14608 | >llSensorRemove</CODE | ||
14609 | >(void);</CODE | ||
14610 | ></P | ||
14611 | ><P | ||
14612 | ></P | ||
14613 | ></DIV | ||
14614 | ><P | ||
14615 | >Removes the sensor.</P | ||
14616 | ></DIV | ||
14617 | ><DIV | ||
14618 | CLASS="section" | ||
14619 | ><HR><H2 | ||
14620 | CLASS="section" | ||
14621 | ><A | ||
14622 | NAME="AEN3728" | ||
14623 | >A.221. llSensorRepeat</A | ||
14624 | ></H2 | ||
14625 | ><DIV | ||
14626 | CLASS="funcsynopsis" | ||
14627 | ><P | ||
14628 | ></P | ||
14629 | ><A | ||
14630 | NAME="AEN3730" | ||
14631 | ></A | ||
14632 | ><P | ||
14633 | ><CODE | ||
14634 | ><CODE | ||
14635 | CLASS="FUNCDEF" | ||
14636 | >llSensorRepeat</CODE | ||
14637 | >(string name, key id, integer type, float range, float arc, float rate);</CODE | ||
14638 | ></P | ||
14639 | ><P | ||
14640 | ></P | ||
14641 | ></DIV | ||
14642 | ><P | ||
14643 | >Performs a single scan for <CODE | ||
14644 | CLASS="parameter" | ||
14645 | >name</CODE | ||
14646 | > and | ||
14647 | <CODE | ||
14648 | CLASS="parameter" | ||
14649 | >id</CODE | ||
14650 | > with <CODE | ||
14651 | CLASS="parameter" | ||
14652 | >type</CODE | ||
14653 | > within | ||
14654 | <CODE | ||
14655 | CLASS="parameter" | ||
14656 | >range</CODE | ||
14657 | > meters and <CODE | ||
14658 | CLASS="parameter" | ||
14659 | >arc</CODE | ||
14660 | > | ||
14661 | radians of forward vector and repeats every | ||
14662 | <CODE | ||
14663 | CLASS="parameter" | ||
14664 | >rate</CODE | ||
14665 | > seconds. Specifying a blank name or | ||
14666 | <A | ||
14667 | HREF="#AEN6070" | ||
14668 | >NULL_KEY</A | ||
14669 | > id will not filter | ||
14670 | results for any particular name or id. A range of 0.0 cancels the | ||
14671 | scan. Range is limited to 96.0. The <CODE | ||
14672 | CLASS="parameter" | ||
14673 | >type</CODE | ||
14674 | > parameter should be an <A | ||
14675 | HREF="#AEN5338" | ||
14676 | >object type constant</A | ||
14677 | > | ||
14678 | value. If anything is found during the scan, a <A | ||
14679 | HREF="#AEN5183" | ||
14680 | >sensor</A | ||
14681 | > | ||
14682 | event is triggered. A maximum of 16 items are passed to this event. If nothing is found | ||
14683 | during the scan, a <A | ||
14684 | HREF="#AEN5121" | ||
14685 | >no sensor</A | ||
14686 | > event is triggered instead.</P | ||
14687 | ></DIV | ||
14688 | ><DIV | ||
14689 | CLASS="section" | ||
14690 | ><HR><H2 | ||
14691 | CLASS="section" | ||
14692 | ><A | ||
14693 | NAME="AEN3758" | ||
14694 | >A.222. llSetAlpha</A | ||
14695 | ></H2 | ||
14696 | ><DIV | ||
14697 | CLASS="funcsynopsis" | ||
14698 | ><P | ||
14699 | ></P | ||
14700 | ><A | ||
14701 | NAME="AEN3760" | ||
14702 | ></A | ||
14703 | ><P | ||
14704 | ><CODE | ||
14705 | ><CODE | ||
14706 | CLASS="FUNCDEF" | ||
14707 | >llSetAlpha</CODE | ||
14708 | >(float alpha, integer face);</CODE | ||
14709 | ></P | ||
14710 | ><P | ||
14711 | ></P | ||
14712 | ></DIV | ||
14713 | ><P | ||
14714 | >Sets the alpha value for <CODE | ||
14715 | CLASS="parameter" | ||
14716 | >face</CODE | ||
14717 | >. If | ||
14718 | face is <A | ||
14719 | HREF="#AEN6073" | ||
14720 | >ALL_SIDES</A | ||
14721 | >, set | ||
14722 | the alpha to all faces. The <CODE | ||
14723 | CLASS="parameter" | ||
14724 | >alpha</CODE | ||
14725 | > value is | ||
14726 | interpreted as an opacity percentage - 1.0 is fully opaque, and | ||
14727 | 0.2 is mostly transparent. This api will clamp | ||
14728 | <CODE | ||
14729 | CLASS="parameter" | ||
14730 | >alpha</CODE | ||
14731 | > values less 0.1 to .1 and greater | ||
14732 | than 1.0 to 1.</P | ||
14733 | ></DIV | ||
14734 | ><DIV | ||
14735 | CLASS="section" | ||
14736 | ><HR><H2 | ||
14737 | CLASS="section" | ||
14738 | ><A | ||
14739 | NAME="AEN3773" | ||
14740 | >A.223. llSetBuoyancy</A | ||
14741 | ></H2 | ||
14742 | ><DIV | ||
14743 | CLASS="funcsynopsis" | ||
14744 | ><P | ||
14745 | ></P | ||
14746 | ><A | ||
14747 | NAME="AEN3775" | ||
14748 | ></A | ||
14749 | ><P | ||
14750 | ><CODE | ||
14751 | ><CODE | ||
14752 | CLASS="FUNCDEF" | ||
14753 | >llSetBuoyancy</CODE | ||
14754 | >(float buoyancy);</CODE | ||
14755 | ></P | ||
14756 | ><P | ||
14757 | ></P | ||
14758 | ></DIV | ||
14759 | ><P | ||
14760 | >Set the object buoyancy. A value of 0 is none, less than 1.0 sinks, | ||
14761 | 1.0 floats, and greater than 1.0 rises.</P | ||
14762 | ></DIV | ||
14763 | ><DIV | ||
14764 | CLASS="section" | ||
14765 | ><HR><H2 | ||
14766 | CLASS="section" | ||
14767 | ><A | ||
14768 | NAME="AEN3782" | ||
14769 | >A.224. llSetCameraAtOffset</A | ||
14770 | ></H2 | ||
14771 | ><DIV | ||
14772 | CLASS="funcsynopsis" | ||
14773 | ><P | ||
14774 | ></P | ||
14775 | ><A | ||
14776 | NAME="AEN3784" | ||
14777 | ></A | ||
14778 | ><P | ||
14779 | ><CODE | ||
14780 | ><CODE | ||
14781 | CLASS="FUNCDEF" | ||
14782 | >llSetCameraAtOffset</CODE | ||
14783 | >(vector offset);</CODE | ||
14784 | ></P | ||
14785 | ><P | ||
14786 | ></P | ||
14787 | ></DIV | ||
14788 | ><P | ||
14789 | >Sets the camera at offset used in this object if an avatar | ||
14790 | sits on it.</P | ||
14791 | ></DIV | ||
14792 | ><DIV | ||
14793 | CLASS="section" | ||
14794 | ><HR><H2 | ||
14795 | CLASS="section" | ||
14796 | ><A | ||
14797 | NAME="AEN3791" | ||
14798 | >A.225. llSetClickAction</A | ||
14799 | ></H2 | ||
14800 | ><DIV | ||
14801 | CLASS="funcsynopsis" | ||
14802 | ><P | ||
14803 | ></P | ||
14804 | ><A | ||
14805 | NAME="AEN3793" | ||
14806 | ></A | ||
14807 | ><P | ||
14808 | ><CODE | ||
14809 | ><CODE | ||
14810 | CLASS="FUNCDEF" | ||
14811 | >llSetClickAction</CODE | ||
14812 | >(integer action);</CODE | ||
14813 | ></P | ||
14814 | ><P | ||
14815 | ></P | ||
14816 | ></DIV | ||
14817 | ><P | ||
14818 | >Sets which action is invoked when a resident clicks a prim.</P | ||
14819 | ></DIV | ||
14820 | ><DIV | ||
14821 | CLASS="section" | ||
14822 | ><HR><H2 | ||
14823 | CLASS="section" | ||
14824 | ><A | ||
14825 | NAME="AEN3800" | ||
14826 | >A.226. llForceMouselook</A | ||
14827 | ></H2 | ||
14828 | ><DIV | ||
14829 | CLASS="funcsynopsis" | ||
14830 | ><P | ||
14831 | ></P | ||
14832 | ><A | ||
14833 | NAME="AEN3802" | ||
14834 | ></A | ||
14835 | ><P | ||
14836 | ><CODE | ||
14837 | ><CODE | ||
14838 | CLASS="FUNCDEF" | ||
14839 | >llForceMouselook</CODE | ||
14840 | >(integer mouselook);</CODE | ||
14841 | ></P | ||
14842 | ><P | ||
14843 | ></P | ||
14844 | ></DIV | ||
14845 | ><P | ||
14846 | >Puts the camera into mouselook mode if an avatar | ||
14847 | sits on this object.</P | ||
14848 | ></DIV | ||
14849 | ><DIV | ||
14850 | CLASS="section" | ||
14851 | ><HR><H2 | ||
14852 | CLASS="section" | ||
14853 | ><A | ||
14854 | NAME="AEN3809" | ||
14855 | >A.227. llSetCameraEyeOffset</A | ||
14856 | ></H2 | ||
14857 | ><DIV | ||
14858 | CLASS="funcsynopsis" | ||
14859 | ><P | ||
14860 | ></P | ||
14861 | ><A | ||
14862 | NAME="AEN3811" | ||
14863 | ></A | ||
14864 | ><P | ||
14865 | ><CODE | ||
14866 | ><CODE | ||
14867 | CLASS="FUNCDEF" | ||
14868 | >llSetCameraEyeOffset</CODE | ||
14869 | >(vector offset);</CODE | ||
14870 | ></P | ||
14871 | ><P | ||
14872 | ></P | ||
14873 | ></DIV | ||
14874 | ><P | ||
14875 | >Sets the camera eye offset used in this object if an avatar | ||
14876 | sits on it.</P | ||
14877 | ></DIV | ||
14878 | ><DIV | ||
14879 | CLASS="section" | ||
14880 | ><HR><H2 | ||
14881 | CLASS="section" | ||
14882 | ><A | ||
14883 | NAME="AEN3818" | ||
14884 | >A.228. llSetColor</A | ||
14885 | ></H2 | ||
14886 | ><DIV | ||
14887 | CLASS="funcsynopsis" | ||
14888 | ><P | ||
14889 | ></P | ||
14890 | ><A | ||
14891 | NAME="AEN3820" | ||
14892 | ></A | ||
14893 | ><P | ||
14894 | ><CODE | ||
14895 | ><CODE | ||
14896 | CLASS="FUNCDEF" | ||
14897 | >llSetColor</CODE | ||
14898 | >(vector color, integer face);</CODE | ||
14899 | ></P | ||
14900 | ><P | ||
14901 | ></P | ||
14902 | ></DIV | ||
14903 | ><P | ||
14904 | >Sets the <CODE | ||
14905 | CLASS="parameter" | ||
14906 | >color</CODE | ||
14907 | > of | ||
14908 | <CODE | ||
14909 | CLASS="parameter" | ||
14910 | >face</CODE | ||
14911 | >. If face is <A | ||
14912 | HREF="#AEN6073" | ||
14913 | >ALL_SIDES</A | ||
14914 | >, set the alpha to | ||
14915 | all faces.</P | ||
14916 | ></DIV | ||
14917 | ><DIV | ||
14918 | CLASS="section" | ||
14919 | ><HR><H2 | ||
14920 | CLASS="section" | ||
14921 | ><A | ||
14922 | NAME="AEN3832" | ||
14923 | >A.229. llSetDamage</A | ||
14924 | ></H2 | ||
14925 | ><DIV | ||
14926 | CLASS="funcsynopsis" | ||
14927 | ><P | ||
14928 | ></P | ||
14929 | ><A | ||
14930 | NAME="AEN3834" | ||
14931 | ></A | ||
14932 | ><P | ||
14933 | ><CODE | ||
14934 | ><CODE | ||
14935 | CLASS="FUNCDEF" | ||
14936 | >llSetDamage</CODE | ||
14937 | >(float damage);</CODE | ||
14938 | ></P | ||
14939 | ><P | ||
14940 | ></P | ||
14941 | ></DIV | ||
14942 | ><P | ||
14943 | >Sets the amount of damage that will be done to an object | ||
14944 | that this object hits. This object will be destroyed on damaging | ||
14945 | another object.</P | ||
14946 | ></DIV | ||
14947 | ><DIV | ||
14948 | CLASS="section" | ||
14949 | ><HR><H2 | ||
14950 | CLASS="section" | ||
14951 | ><A | ||
14952 | NAME="AEN3841" | ||
14953 | >A.230. llSetForce</A | ||
14954 | ></H2 | ||
14955 | ><DIV | ||
14956 | CLASS="funcsynopsis" | ||
14957 | ><P | ||
14958 | ></P | ||
14959 | ><A | ||
14960 | NAME="AEN3843" | ||
14961 | ></A | ||
14962 | ><P | ||
14963 | ><CODE | ||
14964 | ><CODE | ||
14965 | CLASS="FUNCDEF" | ||
14966 | >llSetForce</CODE | ||
14967 | >(vector force, integer local);</CODE | ||
14968 | ></P | ||
14969 | ><P | ||
14970 | ></P | ||
14971 | ></DIV | ||
14972 | ><P | ||
14973 | >If the object is physical, this function sets the | ||
14974 | <CODE | ||
14975 | CLASS="parameter" | ||
14976 | >force</CODE | ||
14977 | >. The vector is in local coordinates if | ||
14978 | local is <A | ||
14979 | HREF="#AEN5295" | ||
14980 | >TRUE</A | ||
14981 | >, global if | ||
14982 | <A | ||
14983 | HREF="#AEN5295" | ||
14984 | >FALSE</A | ||
14985 | >.</P | ||
14986 | ></DIV | ||
14987 | ><DIV | ||
14988 | CLASS="section" | ||
14989 | ><HR><H2 | ||
14990 | CLASS="section" | ||
14991 | ><A | ||
14992 | NAME="AEN3855" | ||
14993 | >A.231. llSetForceAndTorque</A | ||
14994 | ></H2 | ||
14995 | ><DIV | ||
14996 | CLASS="funcsynopsis" | ||
14997 | ><P | ||
14998 | ></P | ||
14999 | ><A | ||
15000 | NAME="AEN3857" | ||
15001 | ></A | ||
15002 | ><P | ||
15003 | ><CODE | ||
15004 | ><CODE | ||
15005 | CLASS="FUNCDEF" | ||
15006 | >llSetForceAndTorque</CODE | ||
15007 | >(vector force, vector torque, integer local);</CODE | ||
15008 | ></P | ||
15009 | ><P | ||
15010 | ></P | ||
15011 | ></DIV | ||
15012 | ><P | ||
15013 | >If the object is physical, this function sets the | ||
15014 | <CODE | ||
15015 | CLASS="parameter" | ||
15016 | >force</CODE | ||
15017 | > and | ||
15018 | <CODE | ||
15019 | CLASS="parameter" | ||
15020 | >torque</CODE | ||
15021 | >. The vectors are in local coordinates | ||
15022 | if local is <A | ||
15023 | HREF="#AEN5295" | ||
15024 | >TRUE</A | ||
15025 | >, global if | ||
15026 | <A | ||
15027 | HREF="#AEN5295" | ||
15028 | >FALSE</A | ||
15029 | >.</P | ||
15030 | ></DIV | ||
15031 | ><DIV | ||
15032 | CLASS="section" | ||
15033 | ><HR><H2 | ||
15034 | CLASS="section" | ||
15035 | ><A | ||
15036 | NAME="AEN3872" | ||
15037 | >A.232. llSetHoverHeight</A | ||
15038 | ></H2 | ||
15039 | ><DIV | ||
15040 | CLASS="funcsynopsis" | ||
15041 | ><P | ||
15042 | ></P | ||
15043 | ><A | ||
15044 | NAME="AEN3874" | ||
15045 | ></A | ||
15046 | ><P | ||
15047 | ><CODE | ||
15048 | ><CODE | ||
15049 | CLASS="FUNCDEF" | ||
15050 | >llSetHoverHeight</CODE | ||
15051 | >(float height, float water, float tau);</CODE | ||
15052 | ></P | ||
15053 | ><P | ||
15054 | ></P | ||
15055 | ></DIV | ||
15056 | ><P | ||
15057 | >Critically damps to a height. The height is above ground and | ||
15058 | water if <CODE | ||
15059 | CLASS="parameter" | ||
15060 | >water</CODE | ||
15061 | > is <A | ||
15062 | HREF="#AEN5295" | ||
15063 | >TRUE</A | ||
15064 | >.</P | ||
15065 | ></DIV | ||
15066 | ><DIV | ||
15067 | CLASS="section" | ||
15068 | ><HR><H2 | ||
15069 | CLASS="section" | ||
15070 | ><A | ||
15071 | NAME="AEN3887" | ||
15072 | >A.233. llSetLinkAlpha</A | ||
15073 | ></H2 | ||
15074 | ><DIV | ||
15075 | CLASS="funcsynopsis" | ||
15076 | ><P | ||
15077 | ></P | ||
15078 | ><A | ||
15079 | NAME="AEN3889" | ||
15080 | ></A | ||
15081 | ><P | ||
15082 | ><CODE | ||
15083 | ><CODE | ||
15084 | CLASS="FUNCDEF" | ||
15085 | >llSetLinkAlpha</CODE | ||
15086 | >(integer linknumber, float alpha, integer face);</CODE | ||
15087 | ></P | ||
15088 | ><P | ||
15089 | ></P | ||
15090 | ></DIV | ||
15091 | ><P | ||
15092 | >Sets the <CODE | ||
15093 | CLASS="parameter" | ||
15094 | >alpha</CODE | ||
15095 | > of a prim in the link set. | ||
15096 | The <CODE | ||
15097 | CLASS="parameter" | ||
15098 | >linknum</CODE | ||
15099 | > | ||
15100 | parameter is either the linked number available through <A | ||
15101 | HREF="#AEN1867" | ||
15102 | >llGetLinkNumber</A | ||
15103 | > or a <A | ||
15104 | HREF="#AEN5616" | ||
15105 | >link constant</A | ||
15106 | >. | ||
15107 | If <CODE | ||
15108 | CLASS="parameter" | ||
15109 | >face</CODE | ||
15110 | > is | ||
15111 | <A | ||
15112 | HREF="#AEN6073" | ||
15113 | >ALL_SIDES</A | ||
15114 | >, set the alpha | ||
15115 | of all faces.</P | ||
15116 | ></DIV | ||
15117 | ><DIV | ||
15118 | CLASS="section" | ||
15119 | ><HR><H2 | ||
15120 | CLASS="section" | ||
15121 | ><A | ||
15122 | NAME="AEN3906" | ||
15123 | >A.234. llSetLinkColor</A | ||
15124 | ></H2 | ||
15125 | ><DIV | ||
15126 | CLASS="funcsynopsis" | ||
15127 | ><P | ||
15128 | ></P | ||
15129 | ><A | ||
15130 | NAME="AEN3908" | ||
15131 | ></A | ||
15132 | ><P | ||
15133 | ><CODE | ||
15134 | ><CODE | ||
15135 | CLASS="FUNCDEF" | ||
15136 | >llSetLinkColor</CODE | ||
15137 | >(integer linknumber, vector color, integer face);</CODE | ||
15138 | ></P | ||
15139 | ><P | ||
15140 | ></P | ||
15141 | ></DIV | ||
15142 | ><P | ||
15143 | >Sets the <CODE | ||
15144 | CLASS="parameter" | ||
15145 | >color</CODE | ||
15146 | > of a prim in the link set. | ||
15147 | The <CODE | ||
15148 | CLASS="parameter" | ||
15149 | >linknum</CODE | ||
15150 | > | ||
15151 | parameter is either the linked number available through <A | ||
15152 | HREF="#AEN1867" | ||
15153 | >llGetLinkNumber</A | ||
15154 | > or a <A | ||
15155 | HREF="#AEN5616" | ||
15156 | >link constant</A | ||
15157 | >. | ||
15158 | If <CODE | ||
15159 | CLASS="parameter" | ||
15160 | >face</CODE | ||
15161 | > is | ||
15162 | <A | ||
15163 | HREF="#AEN6073" | ||
15164 | >ALL_SIDES</A | ||
15165 | >, set the color | ||
15166 | of all faces.</P | ||
15167 | ></DIV | ||
15168 | ><DIV | ||
15169 | CLASS="section" | ||
15170 | ><HR><H2 | ||
15171 | CLASS="section" | ||
15172 | ><A | ||
15173 | NAME="AEN3925" | ||
15174 | >A.235. llSetLinkPrimitiveParams</A | ||
15175 | ></H2 | ||
15176 | ><DIV | ||
15177 | CLASS="funcsynopsis" | ||
15178 | ><P | ||
15179 | ></P | ||
15180 | ><A | ||
15181 | NAME="AEN3927" | ||
15182 | ></A | ||
15183 | ><P | ||
15184 | ><CODE | ||
15185 | ><CODE | ||
15186 | CLASS="FUNCDEF" | ||
15187 | >llSetLinkPrimitiveParams</CODE | ||
15188 | >(integer linknumber, list rules);</CODE | ||
15189 | ></P | ||
15190 | ><P | ||
15191 | ></P | ||
15192 | ></DIV | ||
15193 | ><P | ||
15194 | >Sets the primitive parameters of a prim in the link set. | ||
15195 | The <CODE | ||
15196 | CLASS="parameter" | ||
15197 | >linknum</CODE | ||
15198 | > | ||
15199 | parameter is either the linked number available through <A | ||
15200 | HREF="#AEN1867" | ||
15201 | >llGetLinkNumber</A | ||
15202 | > or a <A | ||
15203 | HREF="#AEN5616" | ||
15204 | >link constant</A | ||
15205 | >. | ||
15206 | The <CODE | ||
15207 | CLASS="parameter" | ||
15208 | >rules</CODE | ||
15209 | > | ||
15210 | list is identical to that of | ||
15211 | <A | ||
15212 | HREF="#AEN4020" | ||
15213 | >llSetPrimitiveParams</A | ||
15214 | >.</P | ||
15215 | ></DIV | ||
15216 | ><DIV | ||
15217 | CLASS="section" | ||
15218 | ><HR><H2 | ||
15219 | CLASS="section" | ||
15220 | ><A | ||
15221 | NAME="AEN3941" | ||
15222 | >A.236. llSetLinkTexture</A | ||
15223 | ></H2 | ||
15224 | ><DIV | ||
15225 | CLASS="funcsynopsis" | ||
15226 | ><P | ||
15227 | ></P | ||
15228 | ><A | ||
15229 | NAME="AEN3943" | ||
15230 | ></A | ||
15231 | ><P | ||
15232 | ><CODE | ||
15233 | ><CODE | ||
15234 | CLASS="FUNCDEF" | ||
15235 | >llSetLinkTexture</CODE | ||
15236 | >(integer linknumber, string texture, integer face);</CODE | ||
15237 | ></P | ||
15238 | ><P | ||
15239 | ></P | ||
15240 | ></DIV | ||
15241 | ><P | ||
15242 | >Sets the <CODE | ||
15243 | CLASS="parameter" | ||
15244 | >texture</CODE | ||
15245 | > of a prim in the link set. | ||
15246 | The <CODE | ||
15247 | CLASS="parameter" | ||
15248 | >linknum</CODE | ||
15249 | > | ||
15250 | parameter is either the linked number available through <A | ||
15251 | HREF="#AEN1867" | ||
15252 | >llGetLinkNumber</A | ||
15253 | > or a <A | ||
15254 | HREF="#AEN5616" | ||
15255 | >link constant</A | ||
15256 | >. | ||
15257 | If <CODE | ||
15258 | CLASS="parameter" | ||
15259 | >face</CODE | ||
15260 | > is | ||
15261 | <A | ||
15262 | HREF="#AEN6073" | ||
15263 | >ALL_SIDES</A | ||
15264 | >, set the texture | ||
15265 | of all faces.</P | ||
15266 | ></DIV | ||
15267 | ><DIV | ||
15268 | CLASS="section" | ||
15269 | ><HR><H2 | ||
15270 | CLASS="section" | ||
15271 | ><A | ||
15272 | NAME="AEN3960" | ||
15273 | >A.237. llSetLocalRot</A | ||
15274 | ></H2 | ||
15275 | ><DIV | ||
15276 | CLASS="funcsynopsis" | ||
15277 | ><P | ||
15278 | ></P | ||
15279 | ><A | ||
15280 | NAME="AEN3962" | ||
15281 | ></A | ||
15282 | ><P | ||
15283 | ><CODE | ||
15284 | ><CODE | ||
15285 | CLASS="FUNCDEF" | ||
15286 | >llSetLocalRot</CODE | ||
15287 | >(rotation rot);</CODE | ||
15288 | ></P | ||
15289 | ><P | ||
15290 | ></P | ||
15291 | ></DIV | ||
15292 | ><P | ||
15293 | >If the object is not physical, this function sets the | ||
15294 | rotation of a child prim relative to the root prim, and the | ||
15295 | linked set is adjusted.</P | ||
15296 | ></DIV | ||
15297 | ><DIV | ||
15298 | CLASS="section" | ||
15299 | ><HR><H2 | ||
15300 | CLASS="section" | ||
15301 | ><A | ||
15302 | NAME="AEN3969" | ||
15303 | >A.238. llSetObjectDesc</A | ||
15304 | ></H2 | ||
15305 | ><DIV | ||
15306 | CLASS="funcsynopsis" | ||
15307 | ><P | ||
15308 | ></P | ||
15309 | ><A | ||
15310 | NAME="AEN3971" | ||
15311 | ></A | ||
15312 | ><P | ||
15313 | ><CODE | ||
15314 | ><CODE | ||
15315 | CLASS="FUNCDEF" | ||
15316 | >llSetObjectDesc</CODE | ||
15317 | >(string description);</CODE | ||
15318 | ></P | ||
15319 | ><P | ||
15320 | ></P | ||
15321 | ></DIV | ||
15322 | ><P | ||
15323 | >Sets the object description to <CODE | ||
15324 | CLASS="parameter" | ||
15325 | >description</CODE | ||
15326 | >.</P | ||
15327 | ></DIV | ||
15328 | ><DIV | ||
15329 | CLASS="section" | ||
15330 | ><HR><H2 | ||
15331 | CLASS="section" | ||
15332 | ><A | ||
15333 | NAME="AEN3979" | ||
15334 | >A.239. llSetObjectName</A | ||
15335 | ></H2 | ||
15336 | ><DIV | ||
15337 | CLASS="funcsynopsis" | ||
15338 | ><P | ||
15339 | ></P | ||
15340 | ><A | ||
15341 | NAME="AEN3981" | ||
15342 | ></A | ||
15343 | ><P | ||
15344 | ><CODE | ||
15345 | ><CODE | ||
15346 | CLASS="FUNCDEF" | ||
15347 | >llSetObjectName</CODE | ||
15348 | >(string name);</CODE | ||
15349 | ></P | ||
15350 | ><P | ||
15351 | ></P | ||
15352 | ></DIV | ||
15353 | ><P | ||
15354 | >Sets the object name to <CODE | ||
15355 | CLASS="parameter" | ||
15356 | >name</CODE | ||
15357 | >.</P | ||
15358 | ></DIV | ||
15359 | ><DIV | ||
15360 | CLASS="section" | ||
15361 | ><HR><H2 | ||
15362 | CLASS="section" | ||
15363 | ><A | ||
15364 | NAME="AEN3989" | ||
15365 | >A.240. llSetParcelMusicURL</A | ||
15366 | ></H2 | ||
15367 | ><DIV | ||
15368 | CLASS="funcsynopsis" | ||
15369 | ><P | ||
15370 | ></P | ||
15371 | ><A | ||
15372 | NAME="AEN3991" | ||
15373 | ></A | ||
15374 | ><P | ||
15375 | ><CODE | ||
15376 | ><CODE | ||
15377 | CLASS="FUNCDEF" | ||
15378 | >llSetParcelMusicURL</CODE | ||
15379 | >(string url);</CODE | ||
15380 | ></P | ||
15381 | ><P | ||
15382 | ></P | ||
15383 | ></DIV | ||
15384 | ><P | ||
15385 | >Sets the streaming audio URL for the parcel where the object | ||
15386 | is currently located. The <CODE | ||
15387 | CLASS="parameter" | ||
15388 | >url</CODE | ||
15389 | > must be an | ||
15390 | http streaming source of mp3 or ogg data.</P | ||
15391 | ></DIV | ||
15392 | ><DIV | ||
15393 | CLASS="section" | ||
15394 | ><HR><H2 | ||
15395 | CLASS="section" | ||
15396 | ><A | ||
15397 | NAME="AEN3999" | ||
15398 | >A.241. llSetPayPrice</A | ||
15399 | ></H2 | ||
15400 | ><DIV | ||
15401 | CLASS="funcsynopsis" | ||
15402 | ><P | ||
15403 | ></P | ||
15404 | ><A | ||
15405 | NAME="AEN4001" | ||
15406 | ></A | ||
15407 | ><P | ||
15408 | ><CODE | ||
15409 | ><CODE | ||
15410 | CLASS="FUNCDEF" | ||
15411 | >llSetPayPrice</CODE | ||
15412 | >(integer default_price, list quick_pay_buttons);</CODE | ||
15413 | ></P | ||
15414 | ><P | ||
15415 | ></P | ||
15416 | ></DIV | ||
15417 | ><P | ||
15418 | >Sets the default pay price and optionally the quick pay buttons | ||
15419 | for the 'Pay' window when someone pays this object. | ||
15420 | See also <A | ||
15421 | HREF="#AEN5434" | ||
15422 | >Pay Button Constants</A | ||
15423 | >. </P | ||
15424 | ></DIV | ||
15425 | ><DIV | ||
15426 | CLASS="section" | ||
15427 | ><HR><H2 | ||
15428 | CLASS="section" | ||
15429 | ><A | ||
15430 | NAME="AEN4011" | ||
15431 | >A.242. llSetPos</A | ||
15432 | ></H2 | ||
15433 | ><DIV | ||
15434 | CLASS="funcsynopsis" | ||
15435 | ><P | ||
15436 | ></P | ||
15437 | ><A | ||
15438 | NAME="AEN4013" | ||
15439 | ></A | ||
15440 | ><P | ||
15441 | ><CODE | ||
15442 | ><CODE | ||
15443 | CLASS="FUNCDEF" | ||
15444 | >llSetPos</CODE | ||
15445 | >(vector pos);</CODE | ||
15446 | ></P | ||
15447 | ><P | ||
15448 | ></P | ||
15449 | ></DIV | ||
15450 | ><P | ||
15451 | >If the object is not physical, this function sets the | ||
15452 | position in region coordinates. If the object is a child, the | ||
15453 | position is treated as root relative and the linked set is | ||
15454 | adjusted.</P | ||
15455 | ></DIV | ||
15456 | ><DIV | ||
15457 | CLASS="section" | ||
15458 | ><HR><H2 | ||
15459 | CLASS="section" | ||
15460 | ><A | ||
15461 | NAME="AEN4020" | ||
15462 | >A.243. llSetPrimitiveParams</A | ||
15463 | ></H2 | ||
15464 | ><DIV | ||
15465 | CLASS="funcsynopsis" | ||
15466 | ><P | ||
15467 | ></P | ||
15468 | ><A | ||
15469 | NAME="AEN4022" | ||
15470 | ></A | ||
15471 | ><P | ||
15472 | ><CODE | ||
15473 | ><CODE | ||
15474 | CLASS="FUNCDEF" | ||
15475 | >llSetPrimitiveParams</CODE | ||
15476 | >(list rules);</CODE | ||
15477 | ></P | ||
15478 | ><P | ||
15479 | ></P | ||
15480 | ></DIV | ||
15481 | ><P | ||
15482 | >Set primitive parameters based on <CODE | ||
15483 | CLASS="parameter" | ||
15484 | >rules</CODE | ||
15485 | >. The | ||
15486 | <CODE | ||
15487 | CLASS="parameter" | ||
15488 | >rules</CODE | ||
15489 | > are specified as an ordered list | ||
15490 | of parameter and value(s). Valid parameters and their expected values | ||
15491 | can be found in the <A | ||
15492 | HREF="#AEN6323" | ||
15493 | >Primitive Constants</A | ||
15494 | >. | ||
15495 | Here is a simple example: | ||
15496 | <DIV | ||
15497 | CLASS="informalexample" | ||
15498 | ><P | ||
15499 | ></P | ||
15500 | ><A | ||
15501 | NAME="AEN4032" | ||
15502 | ></A | ||
15503 | ><PRE | ||
15504 | CLASS="programlisting" | ||
15505 | > llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_BOX, PRIM_HOLE_DEFAULT, <0,1,0>, | ||
15506 | 0.5, <-0.2, 0.2, 0>, <0.5,0.5,0>,<-0.5,0.5,0>]); | ||
15507 | </PRE | ||
15508 | ><P | ||
15509 | ></P | ||
15510 | ></DIV | ||
15511 | ></P | ||
15512 | ></DIV | ||
15513 | ><DIV | ||
15514 | CLASS="section" | ||
15515 | ><HR><H2 | ||
15516 | CLASS="section" | ||
15517 | ><A | ||
15518 | NAME="AEN4034" | ||
15519 | >A.244. llSetRemoteScriptAccessPin</A | ||
15520 | ></H2 | ||
15521 | ><DIV | ||
15522 | CLASS="funcsynopsis" | ||
15523 | ><P | ||
15524 | ></P | ||
15525 | ><A | ||
15526 | NAME="AEN4036" | ||
15527 | ></A | ||
15528 | ><P | ||
15529 | ><CODE | ||
15530 | ><CODE | ||
15531 | CLASS="FUNCDEF" | ||
15532 | >llSetRemoteScriptAccessPin</CODE | ||
15533 | >(integer pin);</CODE | ||
15534 | ></P | ||
15535 | ><P | ||
15536 | ></P | ||
15537 | ></DIV | ||
15538 | ><P | ||
15539 | >If pin is set to a non-zero number, the task will accept remote script | ||
15540 | loads via llRemoteLoadScriptPin if it passes in the correct pin. | ||
15541 | Otherwise, llRemoteLoadScriptPin is ignored.</P | ||
15542 | ></DIV | ||
15543 | ><DIV | ||
15544 | CLASS="section" | ||
15545 | ><HR><H2 | ||
15546 | CLASS="section" | ||
15547 | ><A | ||
15548 | NAME="AEN4043" | ||
15549 | >A.245. llSetRot</A | ||
15550 | ></H2 | ||
15551 | ><DIV | ||
15552 | CLASS="funcsynopsis" | ||
15553 | ><P | ||
15554 | ></P | ||
15555 | ><A | ||
15556 | NAME="AEN4045" | ||
15557 | ></A | ||
15558 | ><P | ||
15559 | ><CODE | ||
15560 | ><CODE | ||
15561 | CLASS="FUNCDEF" | ||
15562 | >llSetRot</CODE | ||
15563 | >(rotation rot);</CODE | ||
15564 | ></P | ||
15565 | ><P | ||
15566 | ></P | ||
15567 | ></DIV | ||
15568 | ><P | ||
15569 | >If the object is not physical, this function sets the | ||
15570 | rotation. If the object is a child, the position is treated as | ||
15571 | root relative and the linked set is adjusted.</P | ||
15572 | ></DIV | ||
15573 | ><DIV | ||
15574 | CLASS="section" | ||
15575 | ><HR><H2 | ||
15576 | CLASS="section" | ||
15577 | ><A | ||
15578 | NAME="AEN4052" | ||
15579 | >A.246. llSetScale</A | ||
15580 | ></H2 | ||
15581 | ><DIV | ||
15582 | CLASS="funcsynopsis" | ||
15583 | ><P | ||
15584 | ></P | ||
15585 | ><A | ||
15586 | NAME="AEN4054" | ||
15587 | ></A | ||
15588 | ><P | ||
15589 | ><CODE | ||
15590 | ><CODE | ||
15591 | CLASS="FUNCDEF" | ||
15592 | >llSetScale</CODE | ||
15593 | >(vector scale);</CODE | ||
15594 | ></P | ||
15595 | ><P | ||
15596 | ></P | ||
15597 | ></DIV | ||
15598 | ><P | ||
15599 | >Sets the object scale.</P | ||
15600 | ></DIV | ||
15601 | ><DIV | ||
15602 | CLASS="section" | ||
15603 | ><HR><H2 | ||
15604 | CLASS="section" | ||
15605 | ><A | ||
15606 | NAME="AEN4061" | ||
15607 | >A.247. llSetScriptState</A | ||
15608 | ></H2 | ||
15609 | ><DIV | ||
15610 | CLASS="funcsynopsis" | ||
15611 | ><P | ||
15612 | ></P | ||
15613 | ><A | ||
15614 | NAME="AEN4063" | ||
15615 | ></A | ||
15616 | ><P | ||
15617 | ><CODE | ||
15618 | ><CODE | ||
15619 | CLASS="FUNCDEF" | ||
15620 | >llSetScriptState</CODE | ||
15621 | >(string name, integer run);</CODE | ||
15622 | ></P | ||
15623 | ><P | ||
15624 | ></P | ||
15625 | ></DIV | ||
15626 | ><P | ||
15627 | >Control the state of a script on the object.</P | ||
15628 | ></DIV | ||
15629 | ><DIV | ||
15630 | CLASS="section" | ||
15631 | ><HR><H2 | ||
15632 | CLASS="section" | ||
15633 | ><A | ||
15634 | NAME="AEN4072" | ||
15635 | >A.248. llSetSitText</A | ||
15636 | ></H2 | ||
15637 | ><DIV | ||
15638 | CLASS="funcsynopsis" | ||
15639 | ><P | ||
15640 | ></P | ||
15641 | ><A | ||
15642 | NAME="AEN4074" | ||
15643 | ></A | ||
15644 | ><P | ||
15645 | ><CODE | ||
15646 | ><CODE | ||
15647 | CLASS="FUNCDEF" | ||
15648 | >llSetSitText</CODE | ||
15649 | >(string text);</CODE | ||
15650 | ></P | ||
15651 | ><P | ||
15652 | ></P | ||
15653 | ></DIV | ||
15654 | ><P | ||
15655 | >Displays <CODE | ||
15656 | CLASS="parameter" | ||
15657 | >text</CODE | ||
15658 | > rather than 'sit' in | ||
15659 | viewer pie menu.</P | ||
15660 | ></DIV | ||
15661 | ><DIV | ||
15662 | CLASS="section" | ||
15663 | ><HR><H2 | ||
15664 | CLASS="section" | ||
15665 | ><A | ||
15666 | NAME="AEN4082" | ||
15667 | >A.249. llSetSoundQueueing</A | ||
15668 | ></H2 | ||
15669 | ><DIV | ||
15670 | CLASS="funcsynopsis" | ||
15671 | ><P | ||
15672 | ></P | ||
15673 | ><A | ||
15674 | NAME="AEN4084" | ||
15675 | ></A | ||
15676 | ><P | ||
15677 | ><CODE | ||
15678 | ><CODE | ||
15679 | CLASS="FUNCDEF" | ||
15680 | >llSetSoundQueueing</CODE | ||
15681 | >(integer queue);</CODE | ||
15682 | ></P | ||
15683 | ><P | ||
15684 | ></P | ||
15685 | ></DIV | ||
15686 | ><P | ||
15687 | >Sets whether successive calls to <A | ||
15688 | HREF="#AEN3184" | ||
15689 | >llPlaySound</A | ||
15690 | >, <A | ||
15691 | HREF="#AEN2773" | ||
15692 | >llLoopSound</A | ||
15693 | >, etc., (attached | ||
15694 | sounds) interrupt the playing sound. The default for objects is | ||
15695 | <A | ||
15696 | HREF="#AEN5295" | ||
15697 | >FALSE</A | ||
15698 | >. Setting this value to | ||
15699 | <A | ||
15700 | HREF="#AEN5295" | ||
15701 | >TRUE</A | ||
15702 | > will make the sound wait | ||
15703 | until the current playing sound reaches its end. The queue is one | ||
15704 | level deep.</P | ||
15705 | ></DIV | ||
15706 | ><DIV | ||
15707 | CLASS="section" | ||
15708 | ><HR><H2 | ||
15709 | CLASS="section" | ||
15710 | ><A | ||
15711 | NAME="AEN4095" | ||
15712 | >A.250. llSetStatus</A | ||
15713 | ></H2 | ||
15714 | ><DIV | ||
15715 | CLASS="funcsynopsis" | ||
15716 | ><P | ||
15717 | ></P | ||
15718 | ><A | ||
15719 | NAME="AEN4097" | ||
15720 | ></A | ||
15721 | ><P | ||
15722 | ><CODE | ||
15723 | ><CODE | ||
15724 | CLASS="FUNCDEF" | ||
15725 | >llSetStatus</CODE | ||
15726 | >(integer status, integer value);</CODE | ||
15727 | ></P | ||
15728 | ><P | ||
15729 | ></P | ||
15730 | ></DIV | ||
15731 | ><P | ||
15732 | >Sets the <CODE | ||
15733 | CLASS="parameter" | ||
15734 | >status</CODE | ||
15735 | > to | ||
15736 | <CODE | ||
15737 | CLASS="parameter" | ||
15738 | >value</CODE | ||
15739 | >. Use <A | ||
15740 | HREF="#AEN5304" | ||
15741 | >status constants</A | ||
15742 | > for the values of | ||
15743 | <CODE | ||
15744 | CLASS="parameter" | ||
15745 | >status</CODE | ||
15746 | >.</P | ||
15747 | ></DIV | ||
15748 | ><DIV | ||
15749 | CLASS="section" | ||
15750 | ><HR><H2 | ||
15751 | CLASS="section" | ||
15752 | ><A | ||
15753 | NAME="AEN4110" | ||
15754 | >A.251. llSetText</A | ||
15755 | ></H2 | ||
15756 | ><DIV | ||
15757 | CLASS="funcsynopsis" | ||
15758 | ><P | ||
15759 | ></P | ||
15760 | ><A | ||
15761 | NAME="AEN4112" | ||
15762 | ></A | ||
15763 | ><P | ||
15764 | ><CODE | ||
15765 | ><CODE | ||
15766 | CLASS="FUNCDEF" | ||
15767 | >llSetText</CODE | ||
15768 | >(string text, vector color, float alpha);</CODE | ||
15769 | ></P | ||
15770 | ><P | ||
15771 | ></P | ||
15772 | ></DIV | ||
15773 | ><P | ||
15774 | >Sets text that floats above object to | ||
15775 | <CODE | ||
15776 | CLASS="parameter" | ||
15777 | >text</CODE | ||
15778 | >, using the specified | ||
15779 | <CODE | ||
15780 | CLASS="parameter" | ||
15781 | >color</CODE | ||
15782 | > and | ||
15783 | <CODE | ||
15784 | CLASS="parameter" | ||
15785 | >alpha</CODE | ||
15786 | >.</P | ||
15787 | ></DIV | ||
15788 | ><DIV | ||
15789 | CLASS="section" | ||
15790 | ><HR><H2 | ||
15791 | CLASS="section" | ||
15792 | ><A | ||
15793 | NAME="AEN4126" | ||
15794 | >A.252. llSetTexture</A | ||
15795 | ></H2 | ||
15796 | ><DIV | ||
15797 | CLASS="funcsynopsis" | ||
15798 | ><P | ||
15799 | ></P | ||
15800 | ><A | ||
15801 | NAME="AEN4128" | ||
15802 | ></A | ||
15803 | ><P | ||
15804 | ><CODE | ||
15805 | ><CODE | ||
15806 | CLASS="FUNCDEF" | ||
15807 | >llSetTexture</CODE | ||
15808 | >(string texture, integer face);</CODE | ||
15809 | ></P | ||
15810 | ><P | ||
15811 | ></P | ||
15812 | ></DIV | ||
15813 | ><P | ||
15814 | >Sets the <CODE | ||
15815 | CLASS="parameter" | ||
15816 | >texture</CODE | ||
15817 | > from object | ||
15818 | inventory of <CODE | ||
15819 | CLASS="parameter" | ||
15820 | >face</CODE | ||
15821 | >. If face is <A | ||
15822 | HREF="#AEN6073" | ||
15823 | >ALL_SIDES</A | ||
15824 | >, set the texture to | ||
15825 | all faces.</P | ||
15826 | ></DIV | ||
15827 | ><DIV | ||
15828 | CLASS="section" | ||
15829 | ><HR><H2 | ||
15830 | CLASS="section" | ||
15831 | ><A | ||
15832 | NAME="AEN4140" | ||
15833 | >A.253. llSetTextureAnim</A | ||
15834 | ></H2 | ||
15835 | ><DIV | ||
15836 | CLASS="funcsynopsis" | ||
15837 | ><P | ||
15838 | ></P | ||
15839 | ><A | ||
15840 | NAME="AEN4142" | ||
15841 | ></A | ||
15842 | ><P | ||
15843 | ><CODE | ||
15844 | ><CODE | ||
15845 | CLASS="FUNCDEF" | ||
15846 | >llSetTextureAnim</CODE | ||
15847 | >(integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate);</CODE | ||
15848 | ></P | ||
15849 | ><P | ||
15850 | ></P | ||
15851 | ></DIV | ||
15852 | ><P | ||
15853 | >Animates a texture by setting the texture scale and | ||
15854 | offset. The mode is a mask of <A | ||
15855 | HREF="#AEN5817" | ||
15856 | >texture animation | ||
15857 | constants</A | ||
15858 | >. You can only have one texture animation on an | ||
15859 | object, calling llSetTextureAnim more than once on an object will | ||
15860 | reset it.</P | ||
15861 | ><P | ||
15862 | >You can only do one traditional animation, <A | ||
15863 | HREF="#AEN5817" | ||
15864 | >ROTATE</A | ||
15865 | > or <A | ||
15866 | HREF="#AEN5817" | ||
15867 | >SCALE</A | ||
15868 | > at a time, you | ||
15869 | cannot combine masks. In the case of <A | ||
15870 | HREF="#AEN5817" | ||
15871 | >ROTATE</A | ||
15872 | > or <A | ||
15873 | HREF="#AEN5817" | ||
15874 | >SCALE</A | ||
15875 | >, | ||
15876 | <CODE | ||
15877 | CLASS="parameter" | ||
15878 | >sizex</CODE | ||
15879 | > and <CODE | ||
15880 | CLASS="parameter" | ||
15881 | >sizey</CODE | ||
15882 | > are | ||
15883 | ignored, and <CODE | ||
15884 | CLASS="parameter" | ||
15885 | >start</CODE | ||
15886 | > and | ||
15887 | <CODE | ||
15888 | CLASS="parameter" | ||
15889 | >length</CODE | ||
15890 | > are used as the start and length | ||
15891 | values of the animation. For rotation, | ||
15892 | <CODE | ||
15893 | CLASS="parameter" | ||
15894 | >start</CODE | ||
15895 | > and <CODE | ||
15896 | CLASS="parameter" | ||
15897 | >length</CODE | ||
15898 | > are | ||
15899 | in radians.</P | ||
15900 | ><P | ||
15901 | >The <CODE | ||
15902 | CLASS="parameter" | ||
15903 | >face</CODE | ||
15904 | > specified which face to | ||
15905 | animate. If <CODE | ||
15906 | CLASS="parameter" | ||
15907 | >face</CODE | ||
15908 | > is <A | ||
15909 | HREF="#AEN6073" | ||
15910 | >ALL_SIDES</A | ||
15911 | >, all textures on the | ||
15912 | object are animated. </P | ||
15913 | ><P | ||
15914 | >The <CODE | ||
15915 | CLASS="parameter" | ||
15916 | >sizex</CODE | ||
15917 | > and | ||
15918 | <CODE | ||
15919 | CLASS="parameter" | ||
15920 | >sizey</CODE | ||
15921 | > describe the layout of the frames | ||
15922 | within the texture. <CODE | ||
15923 | CLASS="parameter" | ||
15924 | >sizex</CODE | ||
15925 | > specifies how | ||
15926 | many horizontal frames and <CODE | ||
15927 | CLASS="parameter" | ||
15928 | >sizey</CODE | ||
15929 | > is how | ||
15930 | many vertical frames.</P | ||
15931 | ><P | ||
15932 | ><CODE | ||
15933 | CLASS="parameter" | ||
15934 | >start</CODE | ||
15935 | > is the frame number to begin | ||
15936 | the animation on. Frames are numbered from left to right, top to | ||
15937 | bottom, starting at 0.</P | ||
15938 | ><P | ||
15939 | ><CODE | ||
15940 | CLASS="parameter" | ||
15941 | >length</CODE | ||
15942 | > is the number of frames to | ||
15943 | animate. 0 means to animate all frames after the start | ||
15944 | frame.</P | ||
15945 | ><P | ||
15946 | ><CODE | ||
15947 | CLASS="parameter" | ||
15948 | >rate</CODE | ||
15949 | > is the frame rate to animate | ||
15950 | at. 1.0 means 1 frame per second, 10.0 means 10 | ||
15951 | frames per second, etc.</P | ||
15952 | ></DIV | ||
15953 | ><DIV | ||
15954 | CLASS="section" | ||
15955 | ><HR><H2 | ||
15956 | CLASS="section" | ||
15957 | ><A | ||
15958 | NAME="AEN4188" | ||
15959 | >A.254. llSetTimerEvent</A | ||
15960 | ></H2 | ||
15961 | ><DIV | ||
15962 | CLASS="funcsynopsis" | ||
15963 | ><P | ||
15964 | ></P | ||
15965 | ><A | ||
15966 | NAME="AEN4190" | ||
15967 | ></A | ||
15968 | ><P | ||
15969 | ><CODE | ||
15970 | ><CODE | ||
15971 | CLASS="FUNCDEF" | ||
15972 | >llSetTimerEvent</CODE | ||
15973 | >(float sec);</CODE | ||
15974 | ></P | ||
15975 | ><P | ||
15976 | ></P | ||
15977 | ></DIV | ||
15978 | ><P | ||
15979 | >Sets the <A | ||
15980 | HREF="#AEN5211" | ||
15981 | >timer</A | ||
15982 | > event to | ||
15983 | be triggered every <CODE | ||
15984 | CLASS="parameter" | ||
15985 | >sec</CODE | ||
15986 | > seconds. Passing in | ||
15987 | 0.0 stops further <A | ||
15988 | HREF="#AEN5211" | ||
15989 | >timer</A | ||
15990 | > | ||
15991 | events.</P | ||
15992 | ></DIV | ||
15993 | ><DIV | ||
15994 | CLASS="section" | ||
15995 | ><HR><H2 | ||
15996 | CLASS="section" | ||
15997 | ><A | ||
15998 | NAME="AEN4200" | ||
15999 | >A.255. llSetTorque</A | ||
16000 | ></H2 | ||
16001 | ><DIV | ||
16002 | CLASS="funcsynopsis" | ||
16003 | ><P | ||
16004 | ></P | ||
16005 | ><A | ||
16006 | NAME="AEN4202" | ||
16007 | ></A | ||
16008 | ><P | ||
16009 | ><CODE | ||
16010 | ><CODE | ||
16011 | CLASS="FUNCDEF" | ||
16012 | >llSetTorque</CODE | ||
16013 | >(vector torque, integer local);</CODE | ||
16014 | ></P | ||
16015 | ><P | ||
16016 | ></P | ||
16017 | ></DIV | ||
16018 | ><P | ||
16019 | >If the object is physical, this function sets the | ||
16020 | <CODE | ||
16021 | CLASS="parameter" | ||
16022 | >torque</CODE | ||
16023 | >. The vector is in local coordinates | ||
16024 | if local is <A | ||
16025 | HREF="#AEN5295" | ||
16026 | >TRUE</A | ||
16027 | >, global if | ||
16028 | <A | ||
16029 | HREF="#AEN5295" | ||
16030 | >FALSE</A | ||
16031 | >.</P | ||
16032 | ></DIV | ||
16033 | ><DIV | ||
16034 | CLASS="section" | ||
16035 | ><HR><H2 | ||
16036 | CLASS="section" | ||
16037 | ><A | ||
16038 | NAME="AEN4214" | ||
16039 | >A.256. llSetTouchText</A | ||
16040 | ></H2 | ||
16041 | ><DIV | ||
16042 | CLASS="funcsynopsis" | ||
16043 | ><P | ||
16044 | ></P | ||
16045 | ><A | ||
16046 | NAME="AEN4216" | ||
16047 | ></A | ||
16048 | ><P | ||
16049 | ><CODE | ||
16050 | ><CODE | ||
16051 | CLASS="FUNCDEF" | ||
16052 | >llSetTouchText</CODE | ||
16053 | >(string text);</CODE | ||
16054 | ></P | ||
16055 | ><P | ||
16056 | ></P | ||
16057 | ></DIV | ||
16058 | ><P | ||
16059 | >Displays <CODE | ||
16060 | CLASS="parameter" | ||
16061 | >text</CODE | ||
16062 | > in viewer pie menu that | ||
16063 | acts as a touch.</P | ||
16064 | ></DIV | ||
16065 | ><DIV | ||
16066 | CLASS="section" | ||
16067 | ><HR><H2 | ||
16068 | CLASS="section" | ||
16069 | ><A | ||
16070 | NAME="AEN4224" | ||
16071 | >A.257. llSetVehicleFlags</A | ||
16072 | ></H2 | ||
16073 | ><DIV | ||
16074 | CLASS="funcsynopsis" | ||
16075 | ><P | ||
16076 | ></P | ||
16077 | ><A | ||
16078 | NAME="AEN4226" | ||
16079 | ></A | ||
16080 | ><P | ||
16081 | ><CODE | ||
16082 | ><CODE | ||
16083 | CLASS="FUNCDEF" | ||
16084 | >llSetVehicleFlags</CODE | ||
16085 | >(integer flags);</CODE | ||
16086 | ></P | ||
16087 | ><P | ||
16088 | ></P | ||
16089 | ></DIV | ||
16090 | ><P | ||
16091 | >Sets the vehicle <CODE | ||
16092 | CLASS="parameter" | ||
16093 | >flags</CODE | ||
16094 | > to TRUE. Valid | ||
16095 | parameters can be found in the <A | ||
16096 | HREF="#AEN6231" | ||
16097 | >vehicle flags constants</A | ||
16098 | > | ||
16099 | section.</P | ||
16100 | ></DIV | ||
16101 | ><DIV | ||
16102 | CLASS="section" | ||
16103 | ><HR><H2 | ||
16104 | CLASS="section" | ||
16105 | ><A | ||
16106 | NAME="AEN4235" | ||
16107 | >A.258. llSetVehicleFloatParam</A | ||
16108 | ></H2 | ||
16109 | ><DIV | ||
16110 | CLASS="funcsynopsis" | ||
16111 | ><P | ||
16112 | ></P | ||
16113 | ><A | ||
16114 | NAME="AEN4237" | ||
16115 | ></A | ||
16116 | ><P | ||
16117 | ><CODE | ||
16118 | ><CODE | ||
16119 | CLASS="FUNCDEF" | ||
16120 | >llSetVehicleFloatParam</CODE | ||
16121 | >(integer param_name, float param_value);</CODE | ||
16122 | ></P | ||
16123 | ><P | ||
16124 | ></P | ||
16125 | ></DIV | ||
16126 | ><P | ||
16127 | >Sets the vehicle floating point parameter | ||
16128 | <CODE | ||
16129 | CLASS="parameter" | ||
16130 | >param_name</CODE | ||
16131 | > to | ||
16132 | <CODE | ||
16133 | CLASS="parameter" | ||
16134 | >param_value</CODE | ||
16135 | >. Valid parameters and their | ||
16136 | expected values can be found in the <A | ||
16137 | HREF="#AEN6112" | ||
16138 | >vehicle parameter | ||
16139 | constants</A | ||
16140 | > section.</P | ||
16141 | ></DIV | ||
16142 | ><DIV | ||
16143 | CLASS="section" | ||
16144 | ><HR><H2 | ||
16145 | CLASS="section" | ||
16146 | ><A | ||
16147 | NAME="AEN4249" | ||
16148 | >A.259. llSetVehicleType</A | ||
16149 | ></H2 | ||
16150 | ><DIV | ||
16151 | CLASS="funcsynopsis" | ||
16152 | ><P | ||
16153 | ></P | ||
16154 | ><A | ||
16155 | NAME="AEN4251" | ||
16156 | ></A | ||
16157 | ><P | ||
16158 | ><CODE | ||
16159 | ><CODE | ||
16160 | CLASS="FUNCDEF" | ||
16161 | >llSetVehicleType</CODE | ||
16162 | >(integer type);</CODE | ||
16163 | ></P | ||
16164 | ><P | ||
16165 | ></P | ||
16166 | ></DIV | ||
16167 | ><P | ||
16168 | >Activates the vehicle action and choose vehicle | ||
16169 | <CODE | ||
16170 | CLASS="parameter" | ||
16171 | >type</CODE | ||
16172 | >. Valid types and an explanation of | ||
16173 | their characteristics can be found in the <A | ||
16174 | HREF="#AEN6288" | ||
16175 | >vehicle type constants</A | ||
16176 | > | ||
16177 | section.</P | ||
16178 | ></DIV | ||
16179 | ><DIV | ||
16180 | CLASS="section" | ||
16181 | ><HR><H2 | ||
16182 | CLASS="section" | ||
16183 | ><A | ||
16184 | NAME="AEN4260" | ||
16185 | >A.260. llSetVehicleRotationParam</A | ||
16186 | ></H2 | ||
16187 | ><DIV | ||
16188 | CLASS="funcsynopsis" | ||
16189 | ><P | ||
16190 | ></P | ||
16191 | ><A | ||
16192 | NAME="AEN4262" | ||
16193 | ></A | ||
16194 | ><P | ||
16195 | ><CODE | ||
16196 | ><CODE | ||
16197 | CLASS="FUNCDEF" | ||
16198 | >llSetVehicleRotationParam</CODE | ||
16199 | >(integer param_name, rotation param_value);</CODE | ||
16200 | ></P | ||
16201 | ><P | ||
16202 | ></P | ||
16203 | ></DIV | ||
16204 | ><P | ||
16205 | >Sets the vehicle rotation parameter | ||
16206 | <CODE | ||
16207 | CLASS="parameter" | ||
16208 | >param_name</CODE | ||
16209 | > to | ||
16210 | <CODE | ||
16211 | CLASS="parameter" | ||
16212 | >param_value</CODE | ||
16213 | >. Valid parameters can be found | ||
16214 | in the <A | ||
16215 | HREF="#AEN6112" | ||
16216 | >vehicle parameter | ||
16217 | constants</A | ||
16218 | > section.</P | ||
16219 | ></DIV | ||
16220 | ><DIV | ||
16221 | CLASS="section" | ||
16222 | ><HR><H2 | ||
16223 | CLASS="section" | ||
16224 | ><A | ||
16225 | NAME="AEN4274" | ||
16226 | >A.261. llSetVehicleVectorParam</A | ||
16227 | ></H2 | ||
16228 | ><DIV | ||
16229 | CLASS="funcsynopsis" | ||
16230 | ><P | ||
16231 | ></P | ||
16232 | ><A | ||
16233 | NAME="AEN4276" | ||
16234 | ></A | ||
16235 | ><P | ||
16236 | ><CODE | ||
16237 | ><CODE | ||
16238 | CLASS="FUNCDEF" | ||
16239 | >llSetVehicleVectorParam</CODE | ||
16240 | >(integer param_name, vector param_value);</CODE | ||
16241 | ></P | ||
16242 | ><P | ||
16243 | ></P | ||
16244 | ></DIV | ||
16245 | ><P | ||
16246 | >Sets the vehicle vector parameter | ||
16247 | <CODE | ||
16248 | CLASS="parameter" | ||
16249 | >param_name</CODE | ||
16250 | > to | ||
16251 | <CODE | ||
16252 | CLASS="parameter" | ||
16253 | >param_value</CODE | ||
16254 | >. Valid parameters can be found | ||
16255 | in the <A | ||
16256 | HREF="#AEN6112" | ||
16257 | >vehicle parameter | ||
16258 | constants</A | ||
16259 | > section.</P | ||
16260 | ></DIV | ||
16261 | ><DIV | ||
16262 | CLASS="section" | ||
16263 | ><HR><H2 | ||
16264 | CLASS="section" | ||
16265 | ><A | ||
16266 | NAME="AEN4288" | ||
16267 | >A.262. llShout</A | ||
16268 | ></H2 | ||
16269 | ><DIV | ||
16270 | CLASS="funcsynopsis" | ||
16271 | ><P | ||
16272 | ></P | ||
16273 | ><A | ||
16274 | NAME="AEN4290" | ||
16275 | ></A | ||
16276 | ><P | ||
16277 | ><CODE | ||
16278 | ><CODE | ||
16279 | CLASS="FUNCDEF" | ||
16280 | >llShout</CODE | ||
16281 | >(integer channel, string text);</CODE | ||
16282 | ></P | ||
16283 | ><P | ||
16284 | ></P | ||
16285 | ></DIV | ||
16286 | ><P | ||
16287 | >Shout <CODE | ||
16288 | CLASS="parameter" | ||
16289 | >text</CODE | ||
16290 | > on | ||
16291 | <CODE | ||
16292 | CLASS="parameter" | ||
16293 | >channel</CODE | ||
16294 | >. Channel 0 is the public chat | ||
16295 | channel that all avatars see as chat text. Channels 1 to | ||
16296 | 2,147,483,648 are private channels that are not sent to avatars | ||
16297 | but other scripts can listen for through the <A | ||
16298 | HREF="#AEN2665" | ||
16299 | >llListen</A | ||
16300 | > api.</P | ||
16301 | ></DIV | ||
16302 | ><DIV | ||
16303 | CLASS="section" | ||
16304 | ><HR><H2 | ||
16305 | CLASS="section" | ||
16306 | ><A | ||
16307 | NAME="AEN4302" | ||
16308 | >A.263. llSin</A | ||
16309 | ></H2 | ||
16310 | ><DIV | ||
16311 | CLASS="funcsynopsis" | ||
16312 | ><P | ||
16313 | ></P | ||
16314 | ><A | ||
16315 | NAME="AEN4304" | ||
16316 | ></A | ||
16317 | ><P | ||
16318 | ><CODE | ||
16319 | ><CODE | ||
16320 | CLASS="FUNCDEF" | ||
16321 | >float llSin</CODE | ||
16322 | >(float theta);</CODE | ||
16323 | ></P | ||
16324 | ><P | ||
16325 | ></P | ||
16326 | ></DIV | ||
16327 | ><P | ||
16328 | >Returns the sine of <CODE | ||
16329 | CLASS="parameter" | ||
16330 | >theta</CODE | ||
16331 | > in | ||
16332 | radians.</P | ||
16333 | ></DIV | ||
16334 | ><DIV | ||
16335 | CLASS="section" | ||
16336 | ><HR><H2 | ||
16337 | CLASS="section" | ||
16338 | ><A | ||
16339 | NAME="AEN4312" | ||
16340 | >A.264. llSitTarget</A | ||
16341 | ></H2 | ||
16342 | ><DIV | ||
16343 | CLASS="funcsynopsis" | ||
16344 | ><P | ||
16345 | ></P | ||
16346 | ><A | ||
16347 | NAME="AEN4314" | ||
16348 | ></A | ||
16349 | ><P | ||
16350 | ><CODE | ||
16351 | ><CODE | ||
16352 | CLASS="FUNCDEF" | ||
16353 | >llSitTarget</CODE | ||
16354 | >(vector offset, rotation rot);</CODE | ||
16355 | ></P | ||
16356 | ><P | ||
16357 | ></P | ||
16358 | ></DIV | ||
16359 | ><P | ||
16360 | >Set the sit location for this object. If | ||
16361 | <CODE | ||
16362 | CLASS="parameter" | ||
16363 | >offset</CODE | ||
16364 | > == <A | ||
16365 | HREF="#AEN6080" | ||
16366 | >ZERO_VECTOR</A | ||
16367 | > | ||
16368 | clear the sit target.</P | ||
16369 | ></DIV | ||
16370 | ><DIV | ||
16371 | CLASS="section" | ||
16372 | ><HR><H2 | ||
16373 | CLASS="section" | ||
16374 | ><A | ||
16375 | NAME="AEN4325" | ||
16376 | >A.265. llSleep</A | ||
16377 | ></H2 | ||
16378 | ><DIV | ||
16379 | CLASS="funcsynopsis" | ||
16380 | ><P | ||
16381 | ></P | ||
16382 | ><A | ||
16383 | NAME="AEN4327" | ||
16384 | ></A | ||
16385 | ><P | ||
16386 | ><CODE | ||
16387 | ><CODE | ||
16388 | CLASS="FUNCDEF" | ||
16389 | >llSleep</CODE | ||
16390 | >(float sec);</CODE | ||
16391 | ></P | ||
16392 | ><P | ||
16393 | ></P | ||
16394 | ></DIV | ||
16395 | ><P | ||
16396 | >Puts the script to sleep for <CODE | ||
16397 | CLASS="parameter" | ||
16398 | >sec</CODE | ||
16399 | > | ||
16400 | seconds.</P | ||
16401 | ></DIV | ||
16402 | ><DIV | ||
16403 | CLASS="section" | ||
16404 | ><HR><H2 | ||
16405 | CLASS="section" | ||
16406 | ><A | ||
16407 | NAME="AEN4335" | ||
16408 | >A.266. llSqrt</A | ||
16409 | ></H2 | ||
16410 | ><DIV | ||
16411 | CLASS="funcsynopsis" | ||
16412 | ><P | ||
16413 | ></P | ||
16414 | ><A | ||
16415 | NAME="AEN4337" | ||
16416 | ></A | ||
16417 | ><P | ||
16418 | ><CODE | ||
16419 | ><CODE | ||
16420 | CLASS="FUNCDEF" | ||
16421 | >float llSqrt</CODE | ||
16422 | >(float val);</CODE | ||
16423 | ></P | ||
16424 | ><P | ||
16425 | ></P | ||
16426 | ></DIV | ||
16427 | ><P | ||
16428 | >Returns the square root of <CODE | ||
16429 | CLASS="parameter" | ||
16430 | >val</CODE | ||
16431 | >. If | ||
16432 | <CODE | ||
16433 | CLASS="parameter" | ||
16434 | >val</CODE | ||
16435 | > is less than 0.0, this function returns | ||
16436 | 0.0 and raises a math runtime error.</P | ||
16437 | ></DIV | ||
16438 | ><DIV | ||
16439 | CLASS="section" | ||
16440 | ><HR><H2 | ||
16441 | CLASS="section" | ||
16442 | ><A | ||
16443 | NAME="AEN4346" | ||
16444 | >A.267. llStartAnimation</A | ||
16445 | ></H2 | ||
16446 | ><DIV | ||
16447 | CLASS="funcsynopsis" | ||
16448 | ><P | ||
16449 | ></P | ||
16450 | ><A | ||
16451 | NAME="AEN4348" | ||
16452 | ></A | ||
16453 | ><P | ||
16454 | ><CODE | ||
16455 | ><CODE | ||
16456 | CLASS="FUNCDEF" | ||
16457 | >llStartAnimation</CODE | ||
16458 | >(string anim);</CODE | ||
16459 | ></P | ||
16460 | ><P | ||
16461 | ></P | ||
16462 | ></DIV | ||
16463 | ><P | ||
16464 | >This function starts animation <CODE | ||
16465 | CLASS="parameter" | ||
16466 | >anim</CODE | ||
16467 | > | ||
16468 | for the avatar that owns the object.</P | ||
16469 | ><P | ||
16470 | ></P | ||
16471 | ><DIV | ||
16472 | CLASS="variablelist" | ||
16473 | ><P | ||
16474 | ><B | ||
16475 | >Valid strings for <CODE | ||
16476 | CLASS="parameter" | ||
16477 | >anim</CODE | ||
16478 | ></B | ||
16479 | ></P | ||
16480 | ><DL | ||
16481 | ><DT | ||
16482 | >hold_R_bazooka, hold_R_handgun, hold_R_rifle</DT | ||
16483 | ><DD | ||
16484 | ><P | ||
16485 | >Holds the appropriately shaped weapon in the | ||
16486 | right hand. Automatically switches to the aims (below) when | ||
16487 | user enters mouse look</P | ||
16488 | ></DD | ||
16489 | ><DT | ||
16490 | >aim_R_bazooka, aim_R_handgun, aim_R_rifle</DT | ||
16491 | ><DD | ||
16492 | ><P | ||
16493 | >Aims the appropriately shaped weapon along the | ||
16494 | direction the avatar is looking.</P | ||
16495 | ></DD | ||
16496 | ><DT | ||
16497 | >away</DT | ||
16498 | ><DD | ||
16499 | ><P | ||
16500 | >Flops over in "away from keyboard" | ||
16501 | state.</P | ||
16502 | ></DD | ||
16503 | ><DT | ||
16504 | >backflip</DT | ||
16505 | ><DD | ||
16506 | ><P | ||
16507 | >Performs a backflip.</P | ||
16508 | ></DD | ||
16509 | ><DT | ||
16510 | >bow</DT | ||
16511 | ><DD | ||
16512 | ><P | ||
16513 | >Bows at waist.</P | ||
16514 | ></DD | ||
16515 | ><DT | ||
16516 | >brush</DT | ||
16517 | ><DD | ||
16518 | ><P | ||
16519 | >Brushes dirt from shirt.</P | ||
16520 | ></DD | ||
16521 | ><DT | ||
16522 | >clap</DT | ||
16523 | ><DD | ||
16524 | ><P | ||
16525 | >Applauds.</P | ||
16526 | ></DD | ||
16527 | ><DT | ||
16528 | >courtbow</DT | ||
16529 | ><DD | ||
16530 | ><P | ||
16531 | >Bows with a courtly flourish.</P | ||
16532 | ></DD | ||
16533 | ><DT | ||
16534 | >crouch</DT | ||
16535 | ><DD | ||
16536 | ><P | ||
16537 | >Crouches in place.</P | ||
16538 | ></DD | ||
16539 | ><DT | ||
16540 | >crouchwalk</DT | ||
16541 | ><DD | ||
16542 | ><P | ||
16543 | >Walks in place while crouching.</P | ||
16544 | ></DD | ||
16545 | ><DT | ||
16546 | >dance1, dance2, dance3, dance4, dance5, dance6, dance7, dance8</DT | ||
16547 | ><DD | ||
16548 | ><P | ||
16549 | >Various dance maneuvers.</P | ||
16550 | ></DD | ||
16551 | ><DT | ||
16552 | >falldown</DT | ||
16553 | ><DD | ||
16554 | ><P | ||
16555 | >Freefall falling animation.</P | ||
16556 | ></DD | ||
16557 | ><DT | ||
16558 | >female_walk</DT | ||
16559 | ><DD | ||
16560 | ><P | ||
16561 | >Walks with hip sway.</P | ||
16562 | ></DD | ||
16563 | ><DT | ||
16564 | >fly</DT | ||
16565 | ><DD | ||
16566 | ><P | ||
16567 | >Flies forward.</P | ||
16568 | ></DD | ||
16569 | ><DT | ||
16570 | >flyslow</DT | ||
16571 | ><DD | ||
16572 | ><P | ||
16573 | >Flies forward at a less aggressive | ||
16574 | angle.</P | ||
16575 | ></DD | ||
16576 | ><DT | ||
16577 | >hello</DT | ||
16578 | ><DD | ||
16579 | ><P | ||
16580 | >Waves.</P | ||
16581 | ></DD | ||
16582 | ><DT | ||
16583 | >hold_throw_R</DT | ||
16584 | ><DD | ||
16585 | ><P | ||
16586 | >Hold object in right hand, prepared to throw | ||
16587 | it.</P | ||
16588 | ></DD | ||
16589 | ><DT | ||
16590 | >hover</DT | ||
16591 | ><DD | ||
16592 | ><P | ||
16593 | >Hovers in place.</P | ||
16594 | ></DD | ||
16595 | ><DT | ||
16596 | >hover_down</DT | ||
16597 | ><DD | ||
16598 | ><P | ||
16599 | >Pretends to hover straight | ||
16600 | down.</P | ||
16601 | ></DD | ||
16602 | ><DT | ||
16603 | >hover_up</DT | ||
16604 | ><DD | ||
16605 | ><P | ||
16606 | >Pretends to hover straight | ||
16607 | up.</P | ||
16608 | ></DD | ||
16609 | ><DT | ||
16610 | >jump</DT | ||
16611 | ><DD | ||
16612 | ><P | ||
16613 | >Midair jump position.</P | ||
16614 | ></DD | ||
16615 | ><DT | ||
16616 | >kick_roundhouse_R</DT | ||
16617 | ><DD | ||
16618 | ><P | ||
16619 | >Roundhouse kick with right | ||
16620 | leg.</P | ||
16621 | ></DD | ||
16622 | ><DT | ||
16623 | >land</DT | ||
16624 | ><DD | ||
16625 | ><P | ||
16626 | >Lands after flying.</P | ||
16627 | ></DD | ||
16628 | ><DT | ||
16629 | >prejump</DT | ||
16630 | ><DD | ||
16631 | ><P | ||
16632 | >Prepares to jump.</P | ||
16633 | ></DD | ||
16634 | ><DT | ||
16635 | >punch_L</DT | ||
16636 | ><DD | ||
16637 | ><P | ||
16638 | >Punch with left hand.</P | ||
16639 | ></DD | ||
16640 | ><DT | ||
16641 | >punch_R</DT | ||
16642 | ><DD | ||
16643 | ><P | ||
16644 | >Punch with right hand.</P | ||
16645 | ></DD | ||
16646 | ><DT | ||
16647 | >punch_onetwo</DT | ||
16648 | ><DD | ||
16649 | ><P | ||
16650 | >Punch with one hand then the | ||
16651 | other.</P | ||
16652 | ></DD | ||
16653 | ><DT | ||
16654 | >run</DT | ||
16655 | ><DD | ||
16656 | ><P | ||
16657 | >Runs in place.</P | ||
16658 | ></DD | ||
16659 | ><DT | ||
16660 | >salute</DT | ||
16661 | ><DD | ||
16662 | ><P | ||
16663 | >Salutes with right hand.</P | ||
16664 | ></DD | ||
16665 | ><DT | ||
16666 | >sit</DT | ||
16667 | ><DD | ||
16668 | ><P | ||
16669 | >Sits on object at knee | ||
16670 | height.</P | ||
16671 | ></DD | ||
16672 | ><DT | ||
16673 | >sit_ground</DT | ||
16674 | ><DD | ||
16675 | ><P | ||
16676 | >Sits down on ground.</P | ||
16677 | ></DD | ||
16678 | ><DT | ||
16679 | >slowwalk</DT | ||
16680 | ><DD | ||
16681 | ><P | ||
16682 | >Walks in place slowly.</P | ||
16683 | ></DD | ||
16684 | ><DT | ||
16685 | >smoke_idle</DT | ||
16686 | ><DD | ||
16687 | ><P | ||
16688 | >Leans on imaginary prop while holding | ||
16689 | cigarette.</P | ||
16690 | ></DD | ||
16691 | ><DT | ||
16692 | >smoke_inhale</DT | ||
16693 | ><DD | ||
16694 | ><P | ||
16695 | >Leans on imaginary prop and smokes a | ||
16696 | cigarette.</P | ||
16697 | ></DD | ||
16698 | ><DT | ||
16699 | >smoke_throw_down</DT | ||
16700 | ><DD | ||
16701 | ><P | ||
16702 | >Leans on imaginary prop, throws down a | ||
16703 | cigarette, and stamps it out.</P | ||
16704 | ></DD | ||
16705 | ><DT | ||
16706 | >snapshot</DT | ||
16707 | ><DD | ||
16708 | ><P | ||
16709 | >Pantomimes taking a picture.</P | ||
16710 | ></DD | ||
16711 | ><DT | ||
16712 | >soft_land</DT | ||
16713 | ><DD | ||
16714 | ><P | ||
16715 | >Stumbles a bit as if | ||
16716 | landing.</P | ||
16717 | ></DD | ||
16718 | ><DT | ||
16719 | >stand</DT | ||
16720 | ><DD | ||
16721 | ><P | ||
16722 | >Stands in place.</P | ||
16723 | ></DD | ||
16724 | ><DT | ||
16725 | >standup</DT | ||
16726 | ><DD | ||
16727 | ><P | ||
16728 | >Falls on face and stands up.</P | ||
16729 | ></DD | ||
16730 | ><DT | ||
16731 | >stride</DT | ||
16732 | ><DD | ||
16733 | ><P | ||
16734 | >Legs extended as if stepping off of a | ||
16735 | ledge.</P | ||
16736 | ></DD | ||
16737 | ><DT | ||
16738 | >sword_strike_R</DT | ||
16739 | ><DD | ||
16740 | ><P | ||
16741 | >Strike with sword in right | ||
16742 | hand.</P | ||
16743 | ></DD | ||
16744 | ><DT | ||
16745 | >talk</DT | ||
16746 | ><DD | ||
16747 | ><P | ||
16748 | >Head moves as if talking.</P | ||
16749 | ></DD | ||
16750 | ><DT | ||
16751 | >throw_R</DT | ||
16752 | ><DD | ||
16753 | ><P | ||
16754 | >Throws object in right hand.</P | ||
16755 | ></DD | ||
16756 | ><DT | ||
16757 | >tryon_shirt</DT | ||
16758 | ><DD | ||
16759 | ><P | ||
16760 | >Turns around and models a new | ||
16761 | shirt.</P | ||
16762 | ></DD | ||
16763 | ><DT | ||
16764 | >turnleft</DT | ||
16765 | ><DD | ||
16766 | ><P | ||
16767 | >Pretends to turn left.</P | ||
16768 | ></DD | ||
16769 | ><DT | ||
16770 | >turnright</DT | ||
16771 | ><DD | ||
16772 | ><P | ||
16773 | >Pretends to turn right.</P | ||
16774 | ></DD | ||
16775 | ><DT | ||
16776 | >type</DT | ||
16777 | ><DD | ||
16778 | ><P | ||
16779 | >Makes typing motion.</P | ||
16780 | ></DD | ||
16781 | ><DT | ||
16782 | >uphillwalk</DT | ||
16783 | ><DD | ||
16784 | ><P | ||
16785 | >Walks uphill in place.</P | ||
16786 | ></DD | ||
16787 | ><DT | ||
16788 | >walk</DT | ||
16789 | ><DD | ||
16790 | ><P | ||
16791 | >Walks in place.</P | ||
16792 | ></DD | ||
16793 | ><DT | ||
16794 | >whisper</DT | ||
16795 | ><DD | ||
16796 | ><P | ||
16797 | >Whispers behind hand.</P | ||
16798 | ></DD | ||
16799 | ><DT | ||
16800 | >whistle</DT | ||
16801 | ><DD | ||
16802 | ><P | ||
16803 | >Whistles with hands in | ||
16804 | mouth.</P | ||
16805 | ></DD | ||
16806 | ><DT | ||
16807 | >yell</DT | ||
16808 | ><DD | ||
16809 | ><P | ||
16810 | >Shouts between cupped hands.</P | ||
16811 | ></DD | ||
16812 | ></DL | ||
16813 | ></DIV | ||
16814 | ></DIV | ||
16815 | ><DIV | ||
16816 | CLASS="section" | ||
16817 | ><HR><H2 | ||
16818 | CLASS="section" | ||
16819 | ><A | ||
16820 | NAME="AEN4578" | ||
16821 | >A.268. llStopAnimation</A | ||
16822 | ></H2 | ||
16823 | ><DIV | ||
16824 | CLASS="funcsynopsis" | ||
16825 | ><P | ||
16826 | ></P | ||
16827 | ><A | ||
16828 | NAME="AEN4580" | ||
16829 | ></A | ||
16830 | ><P | ||
16831 | ><CODE | ||
16832 | ><CODE | ||
16833 | CLASS="FUNCDEF" | ||
16834 | >llStopAnimation</CODE | ||
16835 | >(string anim);</CODE | ||
16836 | ></P | ||
16837 | ><P | ||
16838 | ></P | ||
16839 | ></DIV | ||
16840 | ><P | ||
16841 | >Stop animation <CODE | ||
16842 | CLASS="parameter" | ||
16843 | >anim</CODE | ||
16844 | > for avatar that | ||
16845 | owns object.</P | ||
16846 | ></DIV | ||
16847 | ><DIV | ||
16848 | CLASS="section" | ||
16849 | ><HR><H2 | ||
16850 | CLASS="section" | ||
16851 | ><A | ||
16852 | NAME="AEN4588" | ||
16853 | >A.269. llStopHover</A | ||
16854 | ></H2 | ||
16855 | ><DIV | ||
16856 | CLASS="funcsynopsis" | ||
16857 | ><P | ||
16858 | ></P | ||
16859 | ><A | ||
16860 | NAME="AEN4590" | ||
16861 | ></A | ||
16862 | ><P | ||
16863 | ><CODE | ||
16864 | ><CODE | ||
16865 | CLASS="FUNCDEF" | ||
16866 | >llStopHover</CODE | ||
16867 | >(void);</CODE | ||
16868 | ></P | ||
16869 | ><P | ||
16870 | ></P | ||
16871 | ></DIV | ||
16872 | ><P | ||
16873 | >Stop hover to a height.</P | ||
16874 | ></DIV | ||
16875 | ><DIV | ||
16876 | CLASS="section" | ||
16877 | ><HR><H2 | ||
16878 | CLASS="section" | ||
16879 | ><A | ||
16880 | NAME="AEN4596" | ||
16881 | >A.270. llStopLookAt</A | ||
16882 | ></H2 | ||
16883 | ><DIV | ||
16884 | CLASS="funcsynopsis" | ||
16885 | ><P | ||
16886 | ></P | ||
16887 | ><A | ||
16888 | NAME="AEN4598" | ||
16889 | ></A | ||
16890 | ><P | ||
16891 | ><CODE | ||
16892 | ><CODE | ||
16893 | CLASS="FUNCDEF" | ||
16894 | >llStopLookAt</CODE | ||
16895 | >(void);</CODE | ||
16896 | ></P | ||
16897 | ><P | ||
16898 | ></P | ||
16899 | ></DIV | ||
16900 | ><P | ||
16901 | >Stop causing object to look at target.</P | ||
16902 | ></DIV | ||
16903 | ><DIV | ||
16904 | CLASS="section" | ||
16905 | ><HR><H2 | ||
16906 | CLASS="section" | ||
16907 | ><A | ||
16908 | NAME="AEN4604" | ||
16909 | >A.271. llStopMoveToTarget</A | ||
16910 | ></H2 | ||
16911 | ><DIV | ||
16912 | CLASS="funcsynopsis" | ||
16913 | ><P | ||
16914 | ></P | ||
16915 | ><A | ||
16916 | NAME="AEN4606" | ||
16917 | ></A | ||
16918 | ><P | ||
16919 | ><CODE | ||
16920 | ><CODE | ||
16921 | CLASS="FUNCDEF" | ||
16922 | >llStopMoveToTarget</CODE | ||
16923 | >(void);</CODE | ||
16924 | ></P | ||
16925 | ><P | ||
16926 | ></P | ||
16927 | ></DIV | ||
16928 | ><P | ||
16929 | >Stops critically damped motion.</P | ||
16930 | ></DIV | ||
16931 | ><DIV | ||
16932 | CLASS="section" | ||
16933 | ><HR><H2 | ||
16934 | CLASS="section" | ||
16935 | ><A | ||
16936 | NAME="AEN4612" | ||
16937 | >A.272. llStopPointAt</A | ||
16938 | ></H2 | ||
16939 | ><DIV | ||
16940 | CLASS="funcsynopsis" | ||
16941 | ><P | ||
16942 | ></P | ||
16943 | ><A | ||
16944 | NAME="AEN4614" | ||
16945 | ></A | ||
16946 | ><P | ||
16947 | ><CODE | ||
16948 | ><CODE | ||
16949 | CLASS="FUNCDEF" | ||
16950 | >llStopPointAt</CODE | ||
16951 | >(void);</CODE | ||
16952 | ></P | ||
16953 | ><P | ||
16954 | ></P | ||
16955 | ></DIV | ||
16956 | ><P | ||
16957 | >Stop avatar that owns object pointing.</P | ||
16958 | ></DIV | ||
16959 | ><DIV | ||
16960 | CLASS="section" | ||
16961 | ><HR><H2 | ||
16962 | CLASS="section" | ||
16963 | ><A | ||
16964 | NAME="AEN4620" | ||
16965 | >A.273. llStopSound</A | ||
16966 | ></H2 | ||
16967 | ><DIV | ||
16968 | CLASS="funcsynopsis" | ||
16969 | ><P | ||
16970 | ></P | ||
16971 | ><A | ||
16972 | NAME="AEN4622" | ||
16973 | ></A | ||
16974 | ><P | ||
16975 | ><CODE | ||
16976 | ><CODE | ||
16977 | CLASS="FUNCDEF" | ||
16978 | >llStopSound</CODE | ||
16979 | >(void);</CODE | ||
16980 | ></P | ||
16981 | ><P | ||
16982 | ></P | ||
16983 | ></DIV | ||
16984 | ><P | ||
16985 | >Stops a currently playing attached sound started with <A | ||
16986 | HREF="#AEN3184" | ||
16987 | >llPlaySound</A | ||
16988 | > or <A | ||
16989 | HREF="#AEN2773" | ||
16990 | >llLoopSound</A | ||
16991 | >. Has no effect on | ||
16992 | sounds started with <A | ||
16993 | HREF="#AEN4756" | ||
16994 | >llTriggerSound</A | ||
16995 | >.</P | ||
16996 | ></DIV | ||
16997 | ><DIV | ||
16998 | CLASS="section" | ||
16999 | ><HR><H2 | ||
17000 | CLASS="section" | ||
17001 | ><A | ||
17002 | NAME="AEN4631" | ||
17003 | >A.274. llStringLength</A | ||
17004 | ></H2 | ||
17005 | ><DIV | ||
17006 | CLASS="funcsynopsis" | ||
17007 | ><P | ||
17008 | ></P | ||
17009 | ><A | ||
17010 | NAME="AEN4633" | ||
17011 | ></A | ||
17012 | ><P | ||
17013 | ><CODE | ||
17014 | ><CODE | ||
17015 | CLASS="FUNCDEF" | ||
17016 | >integer llStringLength</CODE | ||
17017 | >(string src);</CODE | ||
17018 | ></P | ||
17019 | ><P | ||
17020 | ></P | ||
17021 | ></DIV | ||
17022 | ><P | ||
17023 | >Returns the number of characters in | ||
17024 | <CODE | ||
17025 | CLASS="parameter" | ||
17026 | >src</CODE | ||
17027 | >.</P | ||
17028 | ></DIV | ||
17029 | ><DIV | ||
17030 | CLASS="section" | ||
17031 | ><HR><H2 | ||
17032 | CLASS="section" | ||
17033 | ><A | ||
17034 | NAME="AEN4641" | ||
17035 | >A.275. llSubStringIndex</A | ||
17036 | ></H2 | ||
17037 | ><DIV | ||
17038 | CLASS="funcsynopsis" | ||
17039 | ><P | ||
17040 | ></P | ||
17041 | ><A | ||
17042 | NAME="AEN4643" | ||
17043 | ></A | ||
17044 | ><P | ||
17045 | ><CODE | ||
17046 | ><CODE | ||
17047 | CLASS="FUNCDEF" | ||
17048 | >integer llSubStringIndex</CODE | ||
17049 | >(string source, string pattern);</CODE | ||
17050 | ></P | ||
17051 | ><P | ||
17052 | ></P | ||
17053 | ></DIV | ||
17054 | ><P | ||
17055 | >Finds index in source where pattern first appears. Returns | ||
17056 | -1 if no match is found.</P | ||
17057 | ></DIV | ||
17058 | ><DIV | ||
17059 | CLASS="section" | ||
17060 | ><HR><H2 | ||
17061 | CLASS="section" | ||
17062 | ><A | ||
17063 | NAME="AEN4652" | ||
17064 | >A.276. llStringToBase64</A | ||
17065 | ></H2 | ||
17066 | ><DIV | ||
17067 | CLASS="funcsynopsis" | ||
17068 | ><P | ||
17069 | ></P | ||
17070 | ><A | ||
17071 | NAME="AEN4654" | ||
17072 | ></A | ||
17073 | ><P | ||
17074 | ><CODE | ||
17075 | ><CODE | ||
17076 | CLASS="FUNCDEF" | ||
17077 | >string llStringToBase64</CODE | ||
17078 | >(string str);</CODE | ||
17079 | ></P | ||
17080 | ><P | ||
17081 | ></P | ||
17082 | ></DIV | ||
17083 | ><P | ||
17084 | >Converts a string to the Base 64 representation of the string.</P | ||
17085 | ></DIV | ||
17086 | ><DIV | ||
17087 | CLASS="section" | ||
17088 | ><HR><H2 | ||
17089 | CLASS="section" | ||
17090 | ><A | ||
17091 | NAME="AEN4661" | ||
17092 | >A.277. llTakeControls</A | ||
17093 | ></H2 | ||
17094 | ><DIV | ||
17095 | CLASS="funcsynopsis" | ||
17096 | ><P | ||
17097 | ></P | ||
17098 | ><A | ||
17099 | NAME="AEN4663" | ||
17100 | ></A | ||
17101 | ><P | ||
17102 | ><CODE | ||
17103 | ><CODE | ||
17104 | CLASS="FUNCDEF" | ||
17105 | >llTakeControls</CODE | ||
17106 | >(integer controls, integer accept, integer pass_on);</CODE | ||
17107 | ></P | ||
17108 | ><P | ||
17109 | ></P | ||
17110 | ></DIV | ||
17111 | ><P | ||
17112 | >If (<CODE | ||
17113 | CLASS="parameter" | ||
17114 | >accept</CODE | ||
17115 | > == | ||
17116 | (<CODE | ||
17117 | CLASS="parameter" | ||
17118 | >controls</CODE | ||
17119 | > & input)), send input to | ||
17120 | object. If the boolean <CODE | ||
17121 | CLASS="parameter" | ||
17122 | >pass_on</CODE | ||
17123 | > is <A | ||
17124 | HREF="#AEN5295" | ||
17125 | >TRUE</A | ||
17126 | >, also send input to | ||
17127 | avatar.</P | ||
17128 | ></DIV | ||
17129 | ><DIV | ||
17130 | CLASS="section" | ||
17131 | ><HR><H2 | ||
17132 | CLASS="section" | ||
17133 | ><A | ||
17134 | NAME="AEN4678" | ||
17135 | >A.278. llTan</A | ||
17136 | ></H2 | ||
17137 | ><DIV | ||
17138 | CLASS="funcsynopsis" | ||
17139 | ><P | ||
17140 | ></P | ||
17141 | ><A | ||
17142 | NAME="AEN4680" | ||
17143 | ></A | ||
17144 | ><P | ||
17145 | ><CODE | ||
17146 | ><CODE | ||
17147 | CLASS="FUNCDEF" | ||
17148 | >float llTan</CODE | ||
17149 | >(float theta);</CODE | ||
17150 | ></P | ||
17151 | ><P | ||
17152 | ></P | ||
17153 | ></DIV | ||
17154 | ><P | ||
17155 | >Returns the tangent of <CODE | ||
17156 | CLASS="parameter" | ||
17157 | >theta</CODE | ||
17158 | > | ||
17159 | radians.</P | ||
17160 | ></DIV | ||
17161 | ><DIV | ||
17162 | CLASS="section" | ||
17163 | ><HR><H2 | ||
17164 | CLASS="section" | ||
17165 | ><A | ||
17166 | NAME="AEN4688" | ||
17167 | >A.279. llTarget</A | ||
17168 | ></H2 | ||
17169 | ><DIV | ||
17170 | CLASS="funcsynopsis" | ||
17171 | ><P | ||
17172 | ></P | ||
17173 | ><A | ||
17174 | NAME="AEN4690" | ||
17175 | ></A | ||
17176 | ><P | ||
17177 | ><CODE | ||
17178 | ><CODE | ||
17179 | CLASS="FUNCDEF" | ||
17180 | >integer llTarget</CODE | ||
17181 | >(vector position, float range);</CODE | ||
17182 | ></P | ||
17183 | ><P | ||
17184 | ></P | ||
17185 | ></DIV | ||
17186 | ><P | ||
17187 | >Set object position within <CODE | ||
17188 | CLASS="parameter" | ||
17189 | >range</CODE | ||
17190 | > of | ||
17191 | <CODE | ||
17192 | CLASS="parameter" | ||
17193 | >position</CODE | ||
17194 | > as a target and returns an integer | ||
17195 | ID for the target.</P | ||
17196 | ></DIV | ||
17197 | ><DIV | ||
17198 | CLASS="section" | ||
17199 | ><HR><H2 | ||
17200 | CLASS="section" | ||
17201 | ><A | ||
17202 | NAME="AEN4701" | ||
17203 | >A.280. llTargetOmega</A | ||
17204 | ></H2 | ||
17205 | ><DIV | ||
17206 | CLASS="funcsynopsis" | ||
17207 | ><P | ||
17208 | ></P | ||
17209 | ><A | ||
17210 | NAME="AEN4703" | ||
17211 | ></A | ||
17212 | ><P | ||
17213 | ><CODE | ||
17214 | ><CODE | ||
17215 | CLASS="FUNCDEF" | ||
17216 | >llTargetOmega</CODE | ||
17217 | >(vector axis, float spinrate, float gain);</CODE | ||
17218 | ></P | ||
17219 | ><P | ||
17220 | ></P | ||
17221 | ></DIV | ||
17222 | ><P | ||
17223 | >Attempt to spin at <CODE | ||
17224 | CLASS="parameter" | ||
17225 | >spinrate</CODE | ||
17226 | > with | ||
17227 | strength <CODE | ||
17228 | CLASS="parameter" | ||
17229 | >gain</CODE | ||
17230 | > on | ||
17231 | <CODE | ||
17232 | CLASS="parameter" | ||
17233 | >axis</CODE | ||
17234 | >. A <CODE | ||
17235 | CLASS="parameter" | ||
17236 | >spinrate</CODE | ||
17237 | > of | ||
17238 | 0.0 cancels the spin. This function works in object local | ||
17239 | coordinates for child objects and works in world coordinates for | ||
17240 | root objects.</P | ||
17241 | ></DIV | ||
17242 | ><DIV | ||
17243 | CLASS="section" | ||
17244 | ><HR><H2 | ||
17245 | CLASS="section" | ||
17246 | ><A | ||
17247 | NAME="AEN4718" | ||
17248 | >A.281. llTargetRemove</A | ||
17249 | ></H2 | ||
17250 | ><DIV | ||
17251 | CLASS="funcsynopsis" | ||
17252 | ><P | ||
17253 | ></P | ||
17254 | ><A | ||
17255 | NAME="AEN4720" | ||
17256 | ></A | ||
17257 | ><P | ||
17258 | ><CODE | ||
17259 | ><CODE | ||
17260 | CLASS="FUNCDEF" | ||
17261 | >llTargetRemove</CODE | ||
17262 | >(integer tnumber);</CODE | ||
17263 | ></P | ||
17264 | ><P | ||
17265 | ></P | ||
17266 | ></DIV | ||
17267 | ><P | ||
17268 | >Remove target number <CODE | ||
17269 | CLASS="parameter" | ||
17270 | >tnumber</CODE | ||
17271 | >.</P | ||
17272 | ></DIV | ||
17273 | ><DIV | ||
17274 | CLASS="section" | ||
17275 | ><HR><H2 | ||
17276 | CLASS="section" | ||
17277 | ><A | ||
17278 | NAME="AEN4728" | ||
17279 | >A.282. llTeleportAgentHome</A | ||
17280 | ></H2 | ||
17281 | ><DIV | ||
17282 | CLASS="funcsynopsis" | ||
17283 | ><P | ||
17284 | ></P | ||
17285 | ><A | ||
17286 | NAME="AEN4730" | ||
17287 | ></A | ||
17288 | ><P | ||
17289 | ><CODE | ||
17290 | ><CODE | ||
17291 | CLASS="FUNCDEF" | ||
17292 | >llTeleportAgentHome</CODE | ||
17293 | >(key id);</CODE | ||
17294 | ></P | ||
17295 | ><P | ||
17296 | ></P | ||
17297 | ></DIV | ||
17298 | ><P | ||
17299 | >Teleport agent on the owner's land to agent's home | ||
17300 | location.</P | ||
17301 | ></DIV | ||
17302 | ><DIV | ||
17303 | CLASS="section" | ||
17304 | ><HR><H2 | ||
17305 | CLASS="section" | ||
17306 | ><A | ||
17307 | NAME="AEN4737" | ||
17308 | >A.283. llToLower</A | ||
17309 | ></H2 | ||
17310 | ><DIV | ||
17311 | CLASS="funcsynopsis" | ||
17312 | ><P | ||
17313 | ></P | ||
17314 | ><A | ||
17315 | NAME="AEN4739" | ||
17316 | ></A | ||
17317 | ><P | ||
17318 | ><CODE | ||
17319 | ><CODE | ||
17320 | CLASS="FUNCDEF" | ||
17321 | >llToLower</CODE | ||
17322 | >();</CODE | ||
17323 | ></P | ||
17324 | ><P | ||
17325 | ></P | ||
17326 | ></DIV | ||
17327 | ><P | ||
17328 | ></P | ||
17329 | ></DIV | ||
17330 | ><DIV | ||
17331 | CLASS="section" | ||
17332 | ><HR><H2 | ||
17333 | CLASS="section" | ||
17334 | ><A | ||
17335 | NAME="AEN4746" | ||
17336 | >A.284. llToUpper</A | ||
17337 | ></H2 | ||
17338 | ><DIV | ||
17339 | CLASS="funcsynopsis" | ||
17340 | ><P | ||
17341 | ></P | ||
17342 | ><A | ||
17343 | NAME="AEN4748" | ||
17344 | ></A | ||
17345 | ><P | ||
17346 | ><CODE | ||
17347 | ><CODE | ||
17348 | CLASS="FUNCDEF" | ||
17349 | >string llToUpper</CODE | ||
17350 | >(string src);</CODE | ||
17351 | ></P | ||
17352 | ><P | ||
17353 | ></P | ||
17354 | ></DIV | ||
17355 | ><P | ||
17356 | >Returns <CODE | ||
17357 | CLASS="parameter" | ||
17358 | >src</CODE | ||
17359 | > in all lower case.</P | ||
17360 | ></DIV | ||
17361 | ><DIV | ||
17362 | CLASS="section" | ||
17363 | ><HR><H2 | ||
17364 | CLASS="section" | ||
17365 | ><A | ||
17366 | NAME="AEN4756" | ||
17367 | >A.285. llTriggerSound</A | ||
17368 | ></H2 | ||
17369 | ><DIV | ||
17370 | CLASS="funcsynopsis" | ||
17371 | ><P | ||
17372 | ></P | ||
17373 | ><A | ||
17374 | NAME="AEN4758" | ||
17375 | ></A | ||
17376 | ><P | ||
17377 | ><CODE | ||
17378 | ><CODE | ||
17379 | CLASS="FUNCDEF" | ||
17380 | >llTriggerSound</CODE | ||
17381 | >(string sound, float volume);</CODE | ||
17382 | ></P | ||
17383 | ><P | ||
17384 | ></P | ||
17385 | ></DIV | ||
17386 | ><P | ||
17387 | >Plays a transient sound NOT attached to an object. The sound | ||
17388 | plays from a stationary position located at the center of the | ||
17389 | object at the time of the trigger. There is no limit to the number | ||
17390 | of triggered sounds which can be generated by an object, and | ||
17391 | calling <A | ||
17392 | HREF="#AEN4756" | ||
17393 | >llTriggerSound</A | ||
17394 | > | ||
17395 | does not affect the attached sounds created by <A | ||
17396 | HREF="#AEN3184" | ||
17397 | >llPlaySound</A | ||
17398 | > and <A | ||
17399 | HREF="#AEN2773" | ||
17400 | >llLoopSound</A | ||
17401 | >. This is very useful | ||
17402 | for things like collision noises, explosions, etc. There is no | ||
17403 | way to stop or alter the volume of a sound triggered by | ||
17404 | this function.</P | ||
17405 | ></DIV | ||
17406 | ><DIV | ||
17407 | CLASS="section" | ||
17408 | ><HR><H2 | ||
17409 | CLASS="section" | ||
17410 | ><A | ||
17411 | NAME="AEN4770" | ||
17412 | >A.286. llTriggerSoundLimited</A | ||
17413 | ></H2 | ||
17414 | ><DIV | ||
17415 | CLASS="funcsynopsis" | ||
17416 | ><P | ||
17417 | ></P | ||
17418 | ><A | ||
17419 | NAME="AEN4772" | ||
17420 | ></A | ||
17421 | ><P | ||
17422 | ><CODE | ||
17423 | ><CODE | ||
17424 | CLASS="FUNCDEF" | ||
17425 | >llTriggerSoundLimited</CODE | ||
17426 | >(string sound, float volume, vector tne, vector bsw);</CODE | ||
17427 | ></P | ||
17428 | ><P | ||
17429 | ></P | ||
17430 | ></DIV | ||
17431 | ><P | ||
17432 | >Plays a transient sound NOT attached to an object with its | ||
17433 | audible range limited by the axis aligned bounding box define by | ||
17434 | <CODE | ||
17435 | CLASS="parameter" | ||
17436 | >tne</CODE | ||
17437 | > (top-north-eash) and | ||
17438 | <CODE | ||
17439 | CLASS="parameter" | ||
17440 | >bsw</CODE | ||
17441 | > (bottom-south-west). The sound plays | ||
17442 | from a stationary position located at the center of the object at | ||
17443 | the time of the trigger. There is no limit to the number of | ||
17444 | triggered sounds which can be generated by an object, and calling | ||
17445 | <A | ||
17446 | HREF="#AEN4756" | ||
17447 | >llTriggerSound</A | ||
17448 | > does not | ||
17449 | affect the attached sounds created by <A | ||
17450 | HREF="#AEN3184" | ||
17451 | >llPlaySound</A | ||
17452 | > and <A | ||
17453 | HREF="#AEN2773" | ||
17454 | >llLoopSound</A | ||
17455 | >. This is very useful | ||
17456 | for things like collision noises, explosions, etc. There is no way | ||
17457 | to stop or alter the volume of a sound triggered by this | ||
17458 | function.</P | ||
17459 | ></DIV | ||
17460 | ><DIV | ||
17461 | CLASS="section" | ||
17462 | ><HR><H2 | ||
17463 | CLASS="section" | ||
17464 | ><A | ||
17465 | NAME="AEN4790" | ||
17466 | >A.287. llUnescapeURL</A | ||
17467 | ></H2 | ||
17468 | ><DIV | ||
17469 | CLASS="funcsynopsis" | ||
17470 | ><P | ||
17471 | ></P | ||
17472 | ><A | ||
17473 | NAME="AEN4792" | ||
17474 | ></A | ||
17475 | ><P | ||
17476 | ><CODE | ||
17477 | ><CODE | ||
17478 | CLASS="FUNCDEF" | ||
17479 | >string llUnescapeURL</CODE | ||
17480 | >(string url);</CODE | ||
17481 | ></P | ||
17482 | ><P | ||
17483 | ></P | ||
17484 | ></DIV | ||
17485 | ><P | ||
17486 | >Returns the string that is the URL unescaped version of <CODE | ||
17487 | CLASS="parameter" | ||
17488 | >url</CODE | ||
17489 | >, | ||
17490 | replacing %20 with spaces etc.</P | ||
17491 | ></DIV | ||
17492 | ><DIV | ||
17493 | CLASS="section" | ||
17494 | ><HR><H2 | ||
17495 | CLASS="section" | ||
17496 | ><A | ||
17497 | NAME="AEN4800" | ||
17498 | >A.288. llUnSit</A | ||
17499 | ></H2 | ||
17500 | ><DIV | ||
17501 | CLASS="funcsynopsis" | ||
17502 | ><P | ||
17503 | ></P | ||
17504 | ><A | ||
17505 | NAME="AEN4802" | ||
17506 | ></A | ||
17507 | ><P | ||
17508 | ><CODE | ||
17509 | ><CODE | ||
17510 | CLASS="FUNCDEF" | ||
17511 | >llUnSit</CODE | ||
17512 | >(key id);</CODE | ||
17513 | ></P | ||
17514 | ><P | ||
17515 | ></P | ||
17516 | ></DIV | ||
17517 | ><P | ||
17518 | >If agent identified by <CODE | ||
17519 | CLASS="parameter" | ||
17520 | >id</CODE | ||
17521 | > is sitting | ||
17522 | on the object the script is attached to or is over land owned by | ||
17523 | the objects owner, the agent is forced to stand up.</P | ||
17524 | ></DIV | ||
17525 | ><DIV | ||
17526 | CLASS="section" | ||
17527 | ><HR><H2 | ||
17528 | CLASS="section" | ||
17529 | ><A | ||
17530 | NAME="AEN4810" | ||
17531 | >A.289. llVecDist</A | ||
17532 | ></H2 | ||
17533 | ><DIV | ||
17534 | CLASS="funcsynopsis" | ||
17535 | ><P | ||
17536 | ></P | ||
17537 | ><A | ||
17538 | NAME="AEN4812" | ||
17539 | ></A | ||
17540 | ><P | ||
17541 | ><CODE | ||
17542 | ><CODE | ||
17543 | CLASS="FUNCDEF" | ||
17544 | >float llVecDist</CODE | ||
17545 | >(vector a, vector b);</CODE | ||
17546 | ></P | ||
17547 | ><P | ||
17548 | ></P | ||
17549 | ></DIV | ||
17550 | ><P | ||
17551 | >Returns the distance from <CODE | ||
17552 | CLASS="parameter" | ||
17553 | >a</CODE | ||
17554 | > to | ||
17555 | <CODE | ||
17556 | CLASS="parameter" | ||
17557 | >b</CODE | ||
17558 | ></P | ||
17559 | ></DIV | ||
17560 | ><DIV | ||
17561 | CLASS="section" | ||
17562 | ><HR><H2 | ||
17563 | CLASS="section" | ||
17564 | ><A | ||
17565 | NAME="AEN4823" | ||
17566 | >A.290. llVecMag</A | ||
17567 | ></H2 | ||
17568 | ><DIV | ||
17569 | CLASS="funcsynopsis" | ||
17570 | ><P | ||
17571 | ></P | ||
17572 | ><A | ||
17573 | NAME="AEN4825" | ||
17574 | ></A | ||
17575 | ><P | ||
17576 | ><CODE | ||
17577 | ><CODE | ||
17578 | CLASS="FUNCDEF" | ||
17579 | >float llVecMag</CODE | ||
17580 | >(vector vec);</CODE | ||
17581 | ></P | ||
17582 | ><P | ||
17583 | ></P | ||
17584 | ></DIV | ||
17585 | ><P | ||
17586 | >Returns the magnitude of <CODE | ||
17587 | CLASS="parameter" | ||
17588 | >vec</CODE | ||
17589 | >.</P | ||
17590 | ></DIV | ||
17591 | ><DIV | ||
17592 | CLASS="section" | ||
17593 | ><HR><H2 | ||
17594 | CLASS="section" | ||
17595 | ><A | ||
17596 | NAME="AEN4833" | ||
17597 | >A.291. llVecNorm</A | ||
17598 | ></H2 | ||
17599 | ><DIV | ||
17600 | CLASS="funcsynopsis" | ||
17601 | ><P | ||
17602 | ></P | ||
17603 | ><A | ||
17604 | NAME="AEN4835" | ||
17605 | ></A | ||
17606 | ><P | ||
17607 | ><CODE | ||
17608 | ><CODE | ||
17609 | CLASS="FUNCDEF" | ||
17610 | >vector llVecNorm</CODE | ||
17611 | >(vector vec);</CODE | ||
17612 | ></P | ||
17613 | ><P | ||
17614 | ></P | ||
17615 | ></DIV | ||
17616 | ><P | ||
17617 | >Returns normalized <CODE | ||
17618 | CLASS="parameter" | ||
17619 | >vec</CODE | ||
17620 | >.</P | ||
17621 | ></DIV | ||
17622 | ><DIV | ||
17623 | CLASS="section" | ||
17624 | ><HR><H2 | ||
17625 | CLASS="section" | ||
17626 | ><A | ||
17627 | NAME="AEN4843" | ||
17628 | >A.292. llVolumeDetect</A | ||
17629 | ></H2 | ||
17630 | ><DIV | ||
17631 | CLASS="funcsynopsis" | ||
17632 | ><P | ||
17633 | ></P | ||
17634 | ><A | ||
17635 | NAME="AEN4845" | ||
17636 | ></A | ||
17637 | ><P | ||
17638 | ><CODE | ||
17639 | ><CODE | ||
17640 | CLASS="FUNCDEF" | ||
17641 | >llVolumeDetect</CODE | ||
17642 | >(integer detect);</CODE | ||
17643 | ></P | ||
17644 | ><P | ||
17645 | ></P | ||
17646 | ></DIV | ||
17647 | ><P | ||
17648 | >When detect = TRUE, this makes the entire link set the script is attached to phantom but if another object interpenetrates it, it will get a collision_start event. When an object stops interpenetrating, a collision_end event is generated. While the other is interpenetrating, collision events are NOT generated. The script must be applied to the root object of the link set to get the collision events. Collision filters work normally.</P | ||
17649 | ></DIV | ||
17650 | ><DIV | ||
17651 | CLASS="section" | ||
17652 | ><HR><H2 | ||
17653 | CLASS="section" | ||
17654 | ><A | ||
17655 | NAME="AEN4852" | ||
17656 | >A.293. llWater</A | ||
17657 | ></H2 | ||
17658 | ><DIV | ||
17659 | CLASS="funcsynopsis" | ||
17660 | ><P | ||
17661 | ></P | ||
17662 | ><A | ||
17663 | NAME="AEN4854" | ||
17664 | ></A | ||
17665 | ><P | ||
17666 | ><CODE | ||
17667 | ><CODE | ||
17668 | CLASS="FUNCDEF" | ||
17669 | >float llWater</CODE | ||
17670 | >(vector offset);</CODE | ||
17671 | ></P | ||
17672 | ><P | ||
17673 | ></P | ||
17674 | ></DIV | ||
17675 | ><P | ||
17676 | >Returns the water height at the object position + | ||
17677 | <CODE | ||
17678 | CLASS="parameter" | ||
17679 | >offset</CODE | ||
17680 | >.</P | ||
17681 | ></DIV | ||
17682 | ><DIV | ||
17683 | CLASS="section" | ||
17684 | ><HR><H2 | ||
17685 | CLASS="section" | ||
17686 | ><A | ||
17687 | NAME="AEN4862" | ||
17688 | >A.294. llWhisper</A | ||
17689 | ></H2 | ||
17690 | ><DIV | ||
17691 | CLASS="funcsynopsis" | ||
17692 | ><P | ||
17693 | ></P | ||
17694 | ><A | ||
17695 | NAME="AEN4864" | ||
17696 | ></A | ||
17697 | ><P | ||
17698 | ><CODE | ||
17699 | ><CODE | ||
17700 | CLASS="FUNCDEF" | ||
17701 | >llWhisper</CODE | ||
17702 | >(integer channel, string text);</CODE | ||
17703 | ></P | ||
17704 | ><P | ||
17705 | ></P | ||
17706 | ></DIV | ||
17707 | ><P | ||
17708 | >Whisper <CODE | ||
17709 | CLASS="parameter" | ||
17710 | >text</CODE | ||
17711 | > on | ||
17712 | <CODE | ||
17713 | CLASS="parameter" | ||
17714 | >channel</CODE | ||
17715 | >. Channel 0 is the public chat | ||
17716 | channel that all avatars see as chat text. Channels 1 to | ||
17717 | 2,147,483,648 are private channels that are not sent to avatars | ||
17718 | but other scripts can listen for through the <A | ||
17719 | HREF="#AEN2665" | ||
17720 | >llListen</A | ||
17721 | > api.</P | ||
17722 | ></DIV | ||
17723 | ><DIV | ||
17724 | CLASS="section" | ||
17725 | ><HR><H2 | ||
17726 | CLASS="section" | ||
17727 | ><A | ||
17728 | NAME="AEN4876" | ||
17729 | >A.295. llWind</A | ||
17730 | ></H2 | ||
17731 | ><DIV | ||
17732 | CLASS="funcsynopsis" | ||
17733 | ><P | ||
17734 | ></P | ||
17735 | ><A | ||
17736 | NAME="AEN4878" | ||
17737 | ></A | ||
17738 | ><P | ||
17739 | ><CODE | ||
17740 | ><CODE | ||
17741 | CLASS="FUNCDEF" | ||
17742 | >vector llWind</CODE | ||
17743 | >(vector offset);</CODE | ||
17744 | ></P | ||
17745 | ><P | ||
17746 | ></P | ||
17747 | ></DIV | ||
17748 | ><P | ||
17749 | >Returns the wind velocity below the object position + | ||
17750 | <CODE | ||
17751 | CLASS="parameter" | ||
17752 | >offset</CODE | ||
17753 | >.</P | ||
17754 | ></DIV | ||
17755 | ><DIV | ||
17756 | CLASS="section" | ||
17757 | ><HR><H2 | ||
17758 | CLASS="section" | ||
17759 | ><A | ||
17760 | NAME="AEN4886" | ||
17761 | >A.296. llXorBase64Strings</A | ||
17762 | ></H2 | ||
17763 | ><DIV | ||
17764 | CLASS="funcsynopsis" | ||
17765 | ><P | ||
17766 | ></P | ||
17767 | ><A | ||
17768 | NAME="AEN4888" | ||
17769 | ></A | ||
17770 | ><P | ||
17771 | ><CODE | ||
17772 | ><CODE | ||
17773 | CLASS="FUNCDEF" | ||
17774 | >string llXorBase64Strings</CODE | ||
17775 | >(string s1, string s2);</CODE | ||
17776 | ></P | ||
17777 | ><P | ||
17778 | ></P | ||
17779 | ></DIV | ||
17780 | ><P | ||
17781 | >Performs an exclusive or on two Base 64 strings and returns | ||
17782 | a Base 64 string. The <CODE | ||
17783 | CLASS="parameter" | ||
17784 | >s2</CODE | ||
17785 | > parameter repeats if | ||
17786 | it is shorter than <CODE | ||
17787 | CLASS="parameter" | ||
17788 | >s1</CODE | ||
17789 | >.</P | ||
17790 | ></DIV | ||
17791 | ></DIV | ||
17792 | ><DIV | ||
17793 | CLASS="appendix" | ||
17794 | ><HR><H1 | ||
17795 | ><A | ||
17796 | NAME="AEN4899" | ||
17797 | ></A | ||
17798 | >Appendix B. Events</H1 | ||
17799 | ><P | ||
17800 | >Every state must have at least one handler. You can choose to | ||
17801 | handle an event by defining one of the reserved event | ||
17802 | handlers named here.</P | ||
17803 | ><DIV | ||
17804 | CLASS="section" | ||
17805 | ><HR><H2 | ||
17806 | CLASS="section" | ||
17807 | ><A | ||
17808 | NAME="AEN4902" | ||
17809 | >B.1. at_rot_target</A | ||
17810 | ></H2 | ||
17811 | ><DIV | ||
17812 | CLASS="funcsynopsis" | ||
17813 | ><P | ||
17814 | ></P | ||
17815 | ><A | ||
17816 | NAME="AEN4904" | ||
17817 | ></A | ||
17818 | ><P | ||
17819 | ><CODE | ||
17820 | ><CODE | ||
17821 | CLASS="FUNCDEF" | ||
17822 | >at_rot_target</CODE | ||
17823 | >(integer number, rotation target_rotation, rotation our_rotation);</CODE | ||
17824 | ></P | ||
17825 | ><P | ||
17826 | ></P | ||
17827 | ></DIV | ||
17828 | ><P | ||
17829 | >This event is triggered when a script comes within a defined | ||
17830 | angle of a target rotation. The range is set by a call to <A | ||
17831 | HREF="#AEN3579" | ||
17832 | >llRotTarget</A | ||
17833 | >.</P | ||
17834 | ></DIV | ||
17835 | ><DIV | ||
17836 | CLASS="section" | ||
17837 | ><HR><H2 | ||
17838 | CLASS="section" | ||
17839 | ><A | ||
17840 | NAME="AEN4916" | ||
17841 | >B.2. at_target</A | ||
17842 | ></H2 | ||
17843 | ><DIV | ||
17844 | CLASS="funcsynopsis" | ||
17845 | ><P | ||
17846 | ></P | ||
17847 | ><A | ||
17848 | NAME="AEN4918" | ||
17849 | ></A | ||
17850 | ><P | ||
17851 | ><CODE | ||
17852 | ><CODE | ||
17853 | CLASS="FUNCDEF" | ||
17854 | >not_at_target</CODE | ||
17855 | >(integer number, vector target_position, vector our_position);</CODE | ||
17856 | ></P | ||
17857 | ><P | ||
17858 | ></P | ||
17859 | ></DIV | ||
17860 | ><P | ||
17861 | >This event is triggered when a script comes within a defined | ||
17862 | range from a target position. The range and position are set by a | ||
17863 | call to <A | ||
17864 | HREF="#AEN4688" | ||
17865 | >llTarget</A | ||
17866 | >.</P | ||
17867 | ></DIV | ||
17868 | ><DIV | ||
17869 | CLASS="section" | ||
17870 | ><HR><H2 | ||
17871 | CLASS="section" | ||
17872 | ><A | ||
17873 | NAME="AEN4930" | ||
17874 | >B.3. attach</A | ||
17875 | ></H2 | ||
17876 | ><DIV | ||
17877 | CLASS="funcsynopsis" | ||
17878 | ><P | ||
17879 | ></P | ||
17880 | ><A | ||
17881 | NAME="AEN4932" | ||
17882 | ></A | ||
17883 | ><P | ||
17884 | ><CODE | ||
17885 | ><CODE | ||
17886 | CLASS="FUNCDEF" | ||
17887 | >attach</CODE | ||
17888 | >(key attached);</CODE | ||
17889 | ></P | ||
17890 | ><P | ||
17891 | ></P | ||
17892 | ></DIV | ||
17893 | ><P | ||
17894 | >This event is triggered whenever a object with this script | ||
17895 | is attached or detached from an avatar. If it is attached, | ||
17896 | attached is the key of the avatar it is attached to, otherwise | ||
17897 | attached is <A | ||
17898 | HREF="#AEN6070" | ||
17899 | >NULL_KEY</A | ||
17900 | >.</P | ||
17901 | ></DIV | ||
17902 | ><DIV | ||
17903 | CLASS="section" | ||
17904 | ><HR><H2 | ||
17905 | CLASS="section" | ||
17906 | ><A | ||
17907 | NAME="AEN4940" | ||
17908 | >B.4. changed</A | ||
17909 | ></H2 | ||
17910 | ><DIV | ||
17911 | CLASS="funcsynopsis" | ||
17912 | ><P | ||
17913 | ></P | ||
17914 | ><A | ||
17915 | NAME="AEN4942" | ||
17916 | ></A | ||
17917 | ><P | ||
17918 | ><CODE | ||
17919 | ><CODE | ||
17920 | CLASS="FUNCDEF" | ||
17921 | >changed</CODE | ||
17922 | >(integer changed);</CODE | ||
17923 | ></P | ||
17924 | ><P | ||
17925 | ></P | ||
17926 | ></DIV | ||
17927 | ><P | ||
17928 | >Triggered when various events change the object. The | ||
17929 | <CODE | ||
17930 | CLASS="parameter" | ||
17931 | >changed</CODE | ||
17932 | > will be a bitfield of <A | ||
17933 | HREF="#AEN5690" | ||
17934 | >change constants</A | ||
17935 | >.</P | ||
17936 | ></DIV | ||
17937 | ><DIV | ||
17938 | CLASS="section" | ||
17939 | ><HR><H2 | ||
17940 | CLASS="section" | ||
17941 | ><A | ||
17942 | NAME="AEN4951" | ||
17943 | >B.5. collision</A | ||
17944 | ></H2 | ||
17945 | ><DIV | ||
17946 | CLASS="funcsynopsis" | ||
17947 | ><P | ||
17948 | ></P | ||
17949 | ><A | ||
17950 | NAME="AEN4953" | ||
17951 | ></A | ||
17952 | ><P | ||
17953 | ><CODE | ||
17954 | ><CODE | ||
17955 | CLASS="FUNCDEF" | ||
17956 | >collision</CODE | ||
17957 | >(integer total_number);</CODE | ||
17958 | ></P | ||
17959 | ><P | ||
17960 | ></P | ||
17961 | ></DIV | ||
17962 | ><P | ||
17963 | >This event is raised while another object is colliding with | ||
17964 | the object the script is attached to. The number of detected | ||
17965 | objects is passed to the script. Information on those objects may | ||
17966 | be gathered via the <A | ||
17967 | HREF="#lib_lldetected" | ||
17968 | >llDetected*</A | ||
17969 | > library | ||
17970 | functions. (Collisions are also generated if a user walks into an | ||
17971 | object.)</P | ||
17972 | ></DIV | ||
17973 | ><DIV | ||
17974 | CLASS="section" | ||
17975 | ><HR><H2 | ||
17976 | CLASS="section" | ||
17977 | ><A | ||
17978 | NAME="AEN4961" | ||
17979 | >B.6. collision_end</A | ||
17980 | ></H2 | ||
17981 | ><DIV | ||
17982 | CLASS="funcsynopsis" | ||
17983 | ><P | ||
17984 | ></P | ||
17985 | ><A | ||
17986 | NAME="AEN4963" | ||
17987 | ></A | ||
17988 | ><P | ||
17989 | ><CODE | ||
17990 | ><CODE | ||
17991 | CLASS="FUNCDEF" | ||
17992 | >collision_end</CODE | ||
17993 | >(integer total_number);</CODE | ||
17994 | ></P | ||
17995 | ><P | ||
17996 | ></P | ||
17997 | ></DIV | ||
17998 | ><P | ||
17999 | >This event is raised when another object stops colliding | ||
18000 | with the object the script is attached to. The number of detected | ||
18001 | objects is passed to the script. Information on those objects may | ||
18002 | be gathered via the <A | ||
18003 | HREF="#lib_lldetected" | ||
18004 | >llDetected*</A | ||
18005 | > library | ||
18006 | functions. (Collisions are also generated if a user walks into an | ||
18007 | object.)</P | ||
18008 | ></DIV | ||
18009 | ><DIV | ||
18010 | CLASS="section" | ||
18011 | ><HR><H2 | ||
18012 | CLASS="section" | ||
18013 | ><A | ||
18014 | NAME="AEN4971" | ||
18015 | >B.7. collision_start</A | ||
18016 | ></H2 | ||
18017 | ><DIV | ||
18018 | CLASS="funcsynopsis" | ||
18019 | ><P | ||
18020 | ></P | ||
18021 | ><A | ||
18022 | NAME="AEN4973" | ||
18023 | ></A | ||
18024 | ><P | ||
18025 | ><CODE | ||
18026 | ><CODE | ||
18027 | CLASS="FUNCDEF" | ||
18028 | >collision_start</CODE | ||
18029 | >(integer total_number);</CODE | ||
18030 | ></P | ||
18031 | ><P | ||
18032 | ></P | ||
18033 | ></DIV | ||
18034 | ><P | ||
18035 | >This event is raised when another object begins to collide | ||
18036 | with the object the script is attached to. The number of detected | ||
18037 | objects is passed to the script. Information on those objects may | ||
18038 | be gathered via the <A | ||
18039 | HREF="#lib_lldetected" | ||
18040 | >llDetected*</A | ||
18041 | > library | ||
18042 | functions. (Collisions are also generated if a user walks into an | ||
18043 | object.)</P | ||
18044 | ></DIV | ||
18045 | ><DIV | ||
18046 | CLASS="section" | ||
18047 | ><HR><H2 | ||
18048 | CLASS="section" | ||
18049 | ><A | ||
18050 | NAME="AEN4981" | ||
18051 | >B.8. control</A | ||
18052 | ></H2 | ||
18053 | ><DIV | ||
18054 | CLASS="funcsynopsis" | ||
18055 | ><P | ||
18056 | ></P | ||
18057 | ><A | ||
18058 | NAME="AEN4983" | ||
18059 | ></A | ||
18060 | ><P | ||
18061 | ><CODE | ||
18062 | ><CODE | ||
18063 | CLASS="FUNCDEF" | ||
18064 | >control</CODE | ||
18065 | >(key name, integer levels, integer edges);</CODE | ||
18066 | ></P | ||
18067 | ><P | ||
18068 | ></P | ||
18069 | ></DIV | ||
18070 | ><P | ||
18071 | >Once a script has the ability to grab control inputs from | ||
18072 | the avatar, this event will be used to pass the commands into the | ||
18073 | script. The <CODE | ||
18074 | CLASS="parameter" | ||
18075 | >levels</CODE | ||
18076 | > and | ||
18077 | <CODE | ||
18078 | CLASS="parameter" | ||
18079 | >edges</CODE | ||
18080 | > are bitfields of <A | ||
18081 | HREF="#AEN5643" | ||
18082 | >control constants</A | ||
18083 | >.</P | ||
18084 | ></DIV | ||
18085 | ><DIV | ||
18086 | CLASS="section" | ||
18087 | ><HR><H2 | ||
18088 | CLASS="section" | ||
18089 | ><A | ||
18090 | NAME="AEN4997" | ||
18091 | >B.9. dataserver</A | ||
18092 | ></H2 | ||
18093 | ><DIV | ||
18094 | CLASS="funcsynopsis" | ||
18095 | ><P | ||
18096 | ></P | ||
18097 | ><A | ||
18098 | NAME="AEN4999" | ||
18099 | ></A | ||
18100 | ><P | ||
18101 | ><CODE | ||
18102 | ><CODE | ||
18103 | CLASS="FUNCDEF" | ||
18104 | >dataserver</CODE | ||
18105 | >(key requested, string data);</CODE | ||
18106 | ></P | ||
18107 | ><P | ||
18108 | ></P | ||
18109 | ></DIV | ||
18110 | ><P | ||
18111 | >This event is triggered when the requested data is returned | ||
18112 | to the script. Data may be requested by the <A | ||
18113 | HREF="#AEN3346" | ||
18114 | >llRequestAgentData</A | ||
18115 | >, the <A | ||
18116 | HREF="#AEN3391" | ||
18117 | >llRequestSimulatorData</A | ||
18118 | >, the | ||
18119 | <A | ||
18120 | HREF="#AEN3363" | ||
18121 | >llRequestInventoryData</A | ||
18122 | >, | ||
18123 | and the <A | ||
18124 | HREF="#AEN1946" | ||
18125 | >llGetNotecardLine</A | ||
18126 | > function | ||
18127 | calls.</P | ||
18128 | ></DIV | ||
18129 | ><DIV | ||
18130 | CLASS="section" | ||
18131 | ><HR><H2 | ||
18132 | CLASS="section" | ||
18133 | ><A | ||
18134 | NAME="AEN5012" | ||
18135 | >B.10. email</A | ||
18136 | ></H2 | ||
18137 | ><DIV | ||
18138 | CLASS="funcsynopsis" | ||
18139 | ><P | ||
18140 | ></P | ||
18141 | ><A | ||
18142 | NAME="AEN5014" | ||
18143 | ></A | ||
18144 | ><P | ||
18145 | ><CODE | ||
18146 | ><CODE | ||
18147 | CLASS="FUNCDEF" | ||
18148 | >email</CODE | ||
18149 | >(string time, string address, string subject, string body, integer remaining);</CODE | ||
18150 | ></P | ||
18151 | ><P | ||
18152 | ></P | ||
18153 | ></DIV | ||
18154 | ><P | ||
18155 | >This event is triggered when an email sent to this script | ||
18156 | arrives. The <CODE | ||
18157 | CLASS="parameter" | ||
18158 | >remaining</CODE | ||
18159 | > tells how many more | ||
18160 | emails are known as still pending.</P | ||
18161 | ></DIV | ||
18162 | ><DIV | ||
18163 | CLASS="section" | ||
18164 | ><HR><H2 | ||
18165 | CLASS="section" | ||
18166 | ><A | ||
18167 | NAME="AEN5030" | ||
18168 | >B.11. land_collision</A | ||
18169 | ></H2 | ||
18170 | ><DIV | ||
18171 | CLASS="funcsynopsis" | ||
18172 | ><P | ||
18173 | ></P | ||
18174 | ><A | ||
18175 | NAME="AEN5032" | ||
18176 | ></A | ||
18177 | ><P | ||
18178 | ><CODE | ||
18179 | ><CODE | ||
18180 | CLASS="FUNCDEF" | ||
18181 | >land_collision</CODE | ||
18182 | >(vector position);</CODE | ||
18183 | ></P | ||
18184 | ><P | ||
18185 | ></P | ||
18186 | ></DIV | ||
18187 | ><P | ||
18188 | >This event is raised when the object the script is attached | ||
18189 | to is colliding with the ground.</P | ||
18190 | ></DIV | ||
18191 | ><DIV | ||
18192 | CLASS="section" | ||
18193 | ><HR><H2 | ||
18194 | CLASS="section" | ||
18195 | ><A | ||
18196 | NAME="AEN5039" | ||
18197 | >B.12. land_collision_end</A | ||
18198 | ></H2 | ||
18199 | ><DIV | ||
18200 | CLASS="funcsynopsis" | ||
18201 | ><P | ||
18202 | ></P | ||
18203 | ><A | ||
18204 | NAME="AEN5041" | ||
18205 | ></A | ||
18206 | ><P | ||
18207 | ><CODE | ||
18208 | ><CODE | ||
18209 | CLASS="FUNCDEF" | ||
18210 | >land_collision_end</CODE | ||
18211 | >(vector position);</CODE | ||
18212 | ></P | ||
18213 | ><P | ||
18214 | ></P | ||
18215 | ></DIV | ||
18216 | ><P | ||
18217 | >This event is raised when the object the script is attached | ||
18218 | to stops colliding with the ground.</P | ||
18219 | ></DIV | ||
18220 | ><DIV | ||
18221 | CLASS="section" | ||
18222 | ><HR><H2 | ||
18223 | CLASS="section" | ||
18224 | ><A | ||
18225 | NAME="AEN5048" | ||
18226 | >B.13. land_collision_start</A | ||
18227 | ></H2 | ||
18228 | ><DIV | ||
18229 | CLASS="funcsynopsis" | ||
18230 | ><P | ||
18231 | ></P | ||
18232 | ><A | ||
18233 | NAME="AEN5050" | ||
18234 | ></A | ||
18235 | ><P | ||
18236 | ><CODE | ||
18237 | ><CODE | ||
18238 | CLASS="FUNCDEF" | ||
18239 | >land_collision_start</CODE | ||
18240 | >(vector position);</CODE | ||
18241 | ></P | ||
18242 | ><P | ||
18243 | ></P | ||
18244 | ></DIV | ||
18245 | ><P | ||
18246 | >This event is raised when the object the script is attached | ||
18247 | to begins to collide with the ground.</P | ||
18248 | ></DIV | ||
18249 | ><DIV | ||
18250 | CLASS="section" | ||
18251 | ><HR><H2 | ||
18252 | CLASS="section" | ||
18253 | ><A | ||
18254 | NAME="AEN5057" | ||
18255 | >B.14. link_message</A | ||
18256 | ></H2 | ||
18257 | ><DIV | ||
18258 | CLASS="funcsynopsis" | ||
18259 | ><P | ||
18260 | ></P | ||
18261 | ><A | ||
18262 | NAME="AEN5059" | ||
18263 | ></A | ||
18264 | ><P | ||
18265 | ><CODE | ||
18266 | ><CODE | ||
18267 | CLASS="FUNCDEF" | ||
18268 | >link_message</CODE | ||
18269 | >(integer sender_number, integer number, string message, key id);</CODE | ||
18270 | ></P | ||
18271 | ><P | ||
18272 | ></P | ||
18273 | ></DIV | ||
18274 | ><P | ||
18275 | >Triggered when object receives a link message via <A | ||
18276 | HREF="#AEN2919" | ||
18277 | >llMessageLinked</A | ||
18278 | > library | ||
18279 | function call.</P | ||
18280 | ></DIV | ||
18281 | ><DIV | ||
18282 | CLASS="section" | ||
18283 | ><HR><H2 | ||
18284 | CLASS="section" | ||
18285 | ><A | ||
18286 | NAME="AEN5073" | ||
18287 | >B.15. listen</A | ||
18288 | ></H2 | ||
18289 | ><DIV | ||
18290 | CLASS="funcsynopsis" | ||
18291 | ><P | ||
18292 | ></P | ||
18293 | ><A | ||
18294 | NAME="AEN5075" | ||
18295 | ></A | ||
18296 | ><P | ||
18297 | ><CODE | ||
18298 | ><CODE | ||
18299 | CLASS="FUNCDEF" | ||
18300 | >listen</CODE | ||
18301 | >(integer channel, string name, key id, string message);</CODE | ||
18302 | ></P | ||
18303 | ><P | ||
18304 | ></P | ||
18305 | ></DIV | ||
18306 | ><P | ||
18307 | >This event is raised whenever a chat message matching the | ||
18308 | constraints passed in the <A | ||
18309 | HREF="#AEN2665" | ||
18310 | >llListen</A | ||
18311 | > | ||
18312 | command is heard. The <CODE | ||
18313 | CLASS="parameter" | ||
18314 | >name</CODE | ||
18315 | > and | ||
18316 | <CODE | ||
18317 | CLASS="parameter" | ||
18318 | >id</CODE | ||
18319 | > of the speaker as well as the | ||
18320 | <CODE | ||
18321 | CLASS="parameter" | ||
18322 | >message</CODE | ||
18323 | > are passed in as parameters. | ||
18324 | Channel 0 is the public chat channel that all avatars see as chat | ||
18325 | text. Channels 1 through 2,147,483,648 are private channels that | ||
18326 | are not sent to avatars but other scripts can listen on those | ||
18327 | channels.</P | ||
18328 | ></DIV | ||
18329 | ><DIV | ||
18330 | CLASS="section" | ||
18331 | ><HR><H2 | ||
18332 | CLASS="section" | ||
18333 | ><A | ||
18334 | NAME="AEN5092" | ||
18335 | >B.16. money</A | ||
18336 | ></H2 | ||
18337 | ><DIV | ||
18338 | CLASS="funcsynopsis" | ||
18339 | ><P | ||
18340 | ></P | ||
18341 | ><A | ||
18342 | NAME="AEN5094" | ||
18343 | ></A | ||
18344 | ><P | ||
18345 | ><CODE | ||
18346 | ><CODE | ||
18347 | CLASS="FUNCDEF" | ||
18348 | >money</CODE | ||
18349 | >(key giver, integer amount);</CODE | ||
18350 | ></P | ||
18351 | ><P | ||
18352 | ></P | ||
18353 | ></DIV | ||
18354 | ><P | ||
18355 | >This event is triggered when user | ||
18356 | <CODE | ||
18357 | CLASS="parameter" | ||
18358 | >giver</CODE | ||
18359 | > has given an | ||
18360 | <CODE | ||
18361 | CLASS="parameter" | ||
18362 | >amount</CODE | ||
18363 | > of Linden dollars to the | ||
18364 | object.</P | ||
18365 | ></DIV | ||
18366 | ><DIV | ||
18367 | CLASS="section" | ||
18368 | ><HR><H2 | ||
18369 | CLASS="section" | ||
18370 | ><A | ||
18371 | NAME="AEN5105" | ||
18372 | >B.17. moving_end</A | ||
18373 | ></H2 | ||
18374 | ><DIV | ||
18375 | CLASS="funcsynopsis" | ||
18376 | ><P | ||
18377 | ></P | ||
18378 | ><A | ||
18379 | NAME="AEN5107" | ||
18380 | ></A | ||
18381 | ><P | ||
18382 | ><CODE | ||
18383 | ><CODE | ||
18384 | CLASS="FUNCDEF" | ||
18385 | >moving_end</CODE | ||
18386 | >(void);</CODE | ||
18387 | ></P | ||
18388 | ><P | ||
18389 | ></P | ||
18390 | ></DIV | ||
18391 | ><P | ||
18392 | >Triggered whenever a object with this script stops | ||
18393 | moving.</P | ||
18394 | ></DIV | ||
18395 | ><DIV | ||
18396 | CLASS="section" | ||
18397 | ><HR><H2 | ||
18398 | CLASS="section" | ||
18399 | ><A | ||
18400 | NAME="AEN5113" | ||
18401 | >B.18. moving_start</A | ||
18402 | ></H2 | ||
18403 | ><DIV | ||
18404 | CLASS="funcsynopsis" | ||
18405 | ><P | ||
18406 | ></P | ||
18407 | ><A | ||
18408 | NAME="AEN5115" | ||
18409 | ></A | ||
18410 | ><P | ||
18411 | ><CODE | ||
18412 | ><CODE | ||
18413 | CLASS="FUNCDEF" | ||
18414 | >moving_start</CODE | ||
18415 | >(void);</CODE | ||
18416 | ></P | ||
18417 | ><P | ||
18418 | ></P | ||
18419 | ></DIV | ||
18420 | ><P | ||
18421 | >Triggered whenever a object with this script starts | ||
18422 | moving.</P | ||
18423 | ></DIV | ||
18424 | ><DIV | ||
18425 | CLASS="section" | ||
18426 | ><HR><H2 | ||
18427 | CLASS="section" | ||
18428 | ><A | ||
18429 | NAME="AEN5121" | ||
18430 | >B.19. no_sensor</A | ||
18431 | ></H2 | ||
18432 | ><DIV | ||
18433 | CLASS="funcsynopsis" | ||
18434 | ><P | ||
18435 | ></P | ||
18436 | ><A | ||
18437 | NAME="AEN5123" | ||
18438 | ></A | ||
18439 | ><P | ||
18440 | ><CODE | ||
18441 | ><CODE | ||
18442 | CLASS="FUNCDEF" | ||
18443 | >no_sensor</CODE | ||
18444 | >(void);</CODE | ||
18445 | ></P | ||
18446 | ><P | ||
18447 | ></P | ||
18448 | ></DIV | ||
18449 | ><P | ||
18450 | >This event is raised when sensors are active (via the <A | ||
18451 | HREF="#AEN3693" | ||
18452 | >llSensor</A | ||
18453 | > library call) but are not | ||
18454 | sensing anything.</P | ||
18455 | ></DIV | ||
18456 | ><DIV | ||
18457 | CLASS="section" | ||
18458 | ><HR><H2 | ||
18459 | CLASS="section" | ||
18460 | ><A | ||
18461 | NAME="AEN5130" | ||
18462 | >B.20. not_at_rot_target</A | ||
18463 | ></H2 | ||
18464 | ><DIV | ||
18465 | CLASS="funcsynopsis" | ||
18466 | ><P | ||
18467 | ></P | ||
18468 | ><A | ||
18469 | NAME="AEN5132" | ||
18470 | ></A | ||
18471 | ><P | ||
18472 | ><CODE | ||
18473 | ><CODE | ||
18474 | CLASS="FUNCDEF" | ||
18475 | >not_at_rot_target</CODE | ||
18476 | >(void);</CODE | ||
18477 | ></P | ||
18478 | ><P | ||
18479 | ></P | ||
18480 | ></DIV | ||
18481 | ><P | ||
18482 | >When a target is set via the <A | ||
18483 | HREF="#AEN3579" | ||
18484 | >llRotTarget</A | ||
18485 | > library call, but the | ||
18486 | script is outside the specified angle this event is raised.</P | ||
18487 | ></DIV | ||
18488 | ><DIV | ||
18489 | CLASS="section" | ||
18490 | ><HR><H2 | ||
18491 | CLASS="section" | ||
18492 | ><A | ||
18493 | NAME="AEN5139" | ||
18494 | >B.21. not_at_target</A | ||
18495 | ></H2 | ||
18496 | ><DIV | ||
18497 | CLASS="funcsynopsis" | ||
18498 | ><P | ||
18499 | ></P | ||
18500 | ><A | ||
18501 | NAME="AEN5141" | ||
18502 | ></A | ||
18503 | ><P | ||
18504 | ><CODE | ||
18505 | ><CODE | ||
18506 | CLASS="FUNCDEF" | ||
18507 | >not_at_target</CODE | ||
18508 | >(void);</CODE | ||
18509 | ></P | ||
18510 | ><P | ||
18511 | ></P | ||
18512 | ></DIV | ||
18513 | ><P | ||
18514 | >When a target is set via the <A | ||
18515 | HREF="#AEN4688" | ||
18516 | >llTarget</A | ||
18517 | > library call, but the | ||
18518 | script is outside the specified range this event is raised.</P | ||
18519 | ></DIV | ||
18520 | ><DIV | ||
18521 | CLASS="section" | ||
18522 | ><HR><H2 | ||
18523 | CLASS="section" | ||
18524 | ><A | ||
18525 | NAME="AEN5148" | ||
18526 | >B.22. object_rez</A | ||
18527 | ></H2 | ||
18528 | ><DIV | ||
18529 | CLASS="funcsynopsis" | ||
18530 | ><P | ||
18531 | ></P | ||
18532 | ><A | ||
18533 | NAME="AEN5150" | ||
18534 | ></A | ||
18535 | ><P | ||
18536 | ><CODE | ||
18537 | ><CODE | ||
18538 | CLASS="FUNCDEF" | ||
18539 | >object_rez</CODE | ||
18540 | >(key id);</CODE | ||
18541 | ></P | ||
18542 | ><P | ||
18543 | ></P | ||
18544 | ></DIV | ||
18545 | ><P | ||
18546 | >Triggered when object rezzes another object from its | ||
18547 | inventory via the <A | ||
18548 | HREF="#AEN3461" | ||
18549 | >llRezObject</A | ||
18550 | > api. The | ||
18551 | <CODE | ||
18552 | CLASS="parameter" | ||
18553 | >id</CODE | ||
18554 | > is the globally unique key for the | ||
18555 | object.</P | ||
18556 | ></DIV | ||
18557 | ><DIV | ||
18558 | CLASS="section" | ||
18559 | ><HR><H2 | ||
18560 | CLASS="section" | ||
18561 | ><A | ||
18562 | NAME="AEN5159" | ||
18563 | >B.23. on_rez</A | ||
18564 | ></H2 | ||
18565 | ><DIV | ||
18566 | CLASS="funcsynopsis" | ||
18567 | ><P | ||
18568 | ></P | ||
18569 | ><A | ||
18570 | NAME="AEN5161" | ||
18571 | ></A | ||
18572 | ><P | ||
18573 | ><CODE | ||
18574 | ><CODE | ||
18575 | CLASS="FUNCDEF" | ||
18576 | >on_rez</CODE | ||
18577 | >(integer start_param);</CODE | ||
18578 | ></P | ||
18579 | ><P | ||
18580 | ></P | ||
18581 | ></DIV | ||
18582 | ><P | ||
18583 | >Triggered whenever a object is rezzed from inventory or by | ||
18584 | another object. The <CODE | ||
18585 | CLASS="parameter" | ||
18586 | >start_param</CODE | ||
18587 | > is the | ||
18588 | parameter passed in from the call to <A | ||
18589 | HREF="#AEN3461" | ||
18590 | >llRezObject</A | ||
18591 | > or <A | ||
18592 | HREF="#AEN3434" | ||
18593 | >llRezAtRoot</A | ||
18594 | >.</P | ||
18595 | ></DIV | ||
18596 | ><DIV | ||
18597 | CLASS="section" | ||
18598 | ><HR><H2 | ||
18599 | CLASS="section" | ||
18600 | ><A | ||
18601 | NAME="AEN5171" | ||
18602 | >B.24. run_time_permissions</A | ||
18603 | ></H2 | ||
18604 | ><DIV | ||
18605 | CLASS="funcsynopsis" | ||
18606 | ><P | ||
18607 | ></P | ||
18608 | ><A | ||
18609 | NAME="AEN5173" | ||
18610 | ></A | ||
18611 | ><P | ||
18612 | ><CODE | ||
18613 | ><CODE | ||
18614 | CLASS="FUNCDEF" | ||
18615 | >run_time_permissions</CODE | ||
18616 | >(integer permissions);</CODE | ||
18617 | ></P | ||
18618 | ><P | ||
18619 | ></P | ||
18620 | ></DIV | ||
18621 | ><P | ||
18622 | >Scripts need permission from either the owner or the avatar | ||
18623 | they wish to act on before they perform certain functions, such as | ||
18624 | debiting money from their owner's account, triggering an animation | ||
18625 | on an avatar, or capturing control inputs. The <A | ||
18626 | HREF="#AEN3375" | ||
18627 | >llRequestPermissions</A | ||
18628 | > | ||
18629 | library function is used to request these permissions and the | ||
18630 | various <A | ||
18631 | HREF="#AEN5360" | ||
18632 | >permissions integer | ||
18633 | constants</A | ||
18634 | > can be supplied. The integer returned to this | ||
18635 | event handler contains the current set of permissions flags, so if | ||
18636 | <CODE | ||
18637 | CLASS="parameter" | ||
18638 | >permissions</CODE | ||
18639 | > equal 0 then no permissions are | ||
18640 | set.</P | ||
18641 | ></DIV | ||
18642 | ><DIV | ||
18643 | CLASS="section" | ||
18644 | ><HR><H2 | ||
18645 | CLASS="section" | ||
18646 | ><A | ||
18647 | NAME="AEN5183" | ||
18648 | >B.25. sensor</A | ||
18649 | ></H2 | ||
18650 | ><DIV | ||
18651 | CLASS="funcsynopsis" | ||
18652 | ><P | ||
18653 | ></P | ||
18654 | ><A | ||
18655 | NAME="AEN5185" | ||
18656 | ></A | ||
18657 | ><P | ||
18658 | ><CODE | ||
18659 | ><CODE | ||
18660 | CLASS="FUNCDEF" | ||
18661 | >sensor</CODE | ||
18662 | >(integer total_number);</CODE | ||
18663 | ></P | ||
18664 | ><P | ||
18665 | ></P | ||
18666 | ></DIV | ||
18667 | ><P | ||
18668 | >This event is raised whenever objects matching the | ||
18669 | constraints of the <A | ||
18670 | HREF="#AEN3693" | ||
18671 | >llSensor</A | ||
18672 | > | ||
18673 | command are detected. The number of detected objects is passed to | ||
18674 | the script in the <CODE | ||
18675 | CLASS="parameter" | ||
18676 | >total_number</CODE | ||
18677 | > | ||
18678 | parameter. A maximum of 16 objects are passed to this event. | ||
18679 | Information on those objects may be gathered via the | ||
18680 | <A | ||
18681 | HREF="#lib_lldetected" | ||
18682 | >llDetected*</A | ||
18683 | > library | ||
18684 | functions.</P | ||
18685 | ></DIV | ||
18686 | ><DIV | ||
18687 | CLASS="section" | ||
18688 | ><HR><H2 | ||
18689 | CLASS="section" | ||
18690 | ><A | ||
18691 | NAME="AEN5195" | ||
18692 | >B.26. state_entry</A | ||
18693 | ></H2 | ||
18694 | ><DIV | ||
18695 | CLASS="funcsynopsis" | ||
18696 | ><P | ||
18697 | ></P | ||
18698 | ><A | ||
18699 | NAME="AEN5197" | ||
18700 | ></A | ||
18701 | ><P | ||
18702 | ><CODE | ||
18703 | ><CODE | ||
18704 | CLASS="FUNCDEF" | ||
18705 | >state_entry</CODE | ||
18706 | >(void);</CODE | ||
18707 | ></P | ||
18708 | ><P | ||
18709 | ></P | ||
18710 | ></DIV | ||
18711 | ><P | ||
18712 | >The state_entry event occurs whenever a new state is | ||
18713 | entered, including program start, and is always the first event | ||
18714 | handled.</P | ||
18715 | ></DIV | ||
18716 | ><DIV | ||
18717 | CLASS="section" | ||
18718 | ><HR><H2 | ||
18719 | CLASS="section" | ||
18720 | ><A | ||
18721 | NAME="AEN5203" | ||
18722 | >B.27. state_exit</A | ||
18723 | ></H2 | ||
18724 | ><DIV | ||
18725 | CLASS="funcsynopsis" | ||
18726 | ><P | ||
18727 | ></P | ||
18728 | ><A | ||
18729 | NAME="AEN5205" | ||
18730 | ></A | ||
18731 | ><P | ||
18732 | ><CODE | ||
18733 | ><CODE | ||
18734 | CLASS="FUNCDEF" | ||
18735 | >state_exit</CODE | ||
18736 | >(void);</CODE | ||
18737 | ></P | ||
18738 | ><P | ||
18739 | ></P | ||
18740 | ></DIV | ||
18741 | ><P | ||
18742 | >The state_exit event occurs whenever the state command is | ||
18743 | used to transition to another state. It is handled before the new | ||
18744 | state's state_entry event.</P | ||
18745 | ></DIV | ||
18746 | ><DIV | ||
18747 | CLASS="section" | ||
18748 | ><HR><H2 | ||
18749 | CLASS="section" | ||
18750 | ><A | ||
18751 | NAME="AEN5211" | ||
18752 | >B.28. timer</A | ||
18753 | ></H2 | ||
18754 | ><DIV | ||
18755 | CLASS="funcsynopsis" | ||
18756 | ><P | ||
18757 | ></P | ||
18758 | ><A | ||
18759 | NAME="AEN5213" | ||
18760 | ></A | ||
18761 | ><P | ||
18762 | ><CODE | ||
18763 | ><CODE | ||
18764 | CLASS="FUNCDEF" | ||
18765 | >timer</CODE | ||
18766 | >(void);</CODE | ||
18767 | ></P | ||
18768 | ><P | ||
18769 | ></P | ||
18770 | ></DIV | ||
18771 | ><P | ||
18772 | >This event is raised at regular intervals set by the <A | ||
18773 | HREF="#AEN4188" | ||
18774 | >llSetTimerEvent</A | ||
18775 | > library | ||
18776 | function.</P | ||
18777 | ></DIV | ||
18778 | ><DIV | ||
18779 | CLASS="section" | ||
18780 | ><HR><H2 | ||
18781 | CLASS="section" | ||
18782 | ><A | ||
18783 | NAME="AEN5220" | ||
18784 | >B.29. touch</A | ||
18785 | ></H2 | ||
18786 | ><DIV | ||
18787 | CLASS="funcsynopsis" | ||
18788 | ><P | ||
18789 | ></P | ||
18790 | ><A | ||
18791 | NAME="AEN5222" | ||
18792 | ></A | ||
18793 | ><P | ||
18794 | ><CODE | ||
18795 | ><CODE | ||
18796 | CLASS="FUNCDEF" | ||
18797 | >touch</CODE | ||
18798 | >(integer total_number);</CODE | ||
18799 | ></P | ||
18800 | ><P | ||
18801 | ></P | ||
18802 | ></DIV | ||
18803 | ><P | ||
18804 | >This event is raised while a user is touching the object the | ||
18805 | script is attached to. The number of touching objects is passed to | ||
18806 | the script in the <CODE | ||
18807 | CLASS="parameter" | ||
18808 | >total_number</CODE | ||
18809 | > | ||
18810 | parameter. Information on those objects may be gathered via the | ||
18811 | <A | ||
18812 | HREF="#lib_lldetected" | ||
18813 | >llDetected*</A | ||
18814 | > library | ||
18815 | functions.</P | ||
18816 | ></DIV | ||
18817 | ><DIV | ||
18818 | CLASS="section" | ||
18819 | ><HR><H2 | ||
18820 | CLASS="section" | ||
18821 | ><A | ||
18822 | NAME="AEN5231" | ||
18823 | >B.30. touch_end</A | ||
18824 | ></H2 | ||
18825 | ><DIV | ||
18826 | CLASS="funcsynopsis" | ||
18827 | ><P | ||
18828 | ></P | ||
18829 | ><A | ||
18830 | NAME="AEN5233" | ||
18831 | ></A | ||
18832 | ><P | ||
18833 | ><CODE | ||
18834 | ><CODE | ||
18835 | CLASS="FUNCDEF" | ||
18836 | >touch_end</CODE | ||
18837 | >(integer total_number);</CODE | ||
18838 | ></P | ||
18839 | ><P | ||
18840 | ></P | ||
18841 | ></DIV | ||
18842 | ><P | ||
18843 | >This event is raised when a user stops touching the object | ||
18844 | the script is attached to. The number of touching objects is | ||
18845 | passed to the script in the <CODE | ||
18846 | CLASS="parameter" | ||
18847 | >total_number</CODE | ||
18848 | > | ||
18849 | parameter. Information on those objects may be gathered via the | ||
18850 | <A | ||
18851 | HREF="#lib_lldetected" | ||
18852 | >llDetected*</A | ||
18853 | > library | ||
18854 | functions.</P | ||
18855 | ></DIV | ||
18856 | ><DIV | ||
18857 | CLASS="section" | ||
18858 | ><HR><H2 | ||
18859 | CLASS="section" | ||
18860 | ><A | ||
18861 | NAME="AEN5242" | ||
18862 | >B.31. touch_start</A | ||
18863 | ></H2 | ||
18864 | ><DIV | ||
18865 | CLASS="funcsynopsis" | ||
18866 | ><P | ||
18867 | ></P | ||
18868 | ><A | ||
18869 | NAME="AEN5244" | ||
18870 | ></A | ||
18871 | ><P | ||
18872 | ><CODE | ||
18873 | ><CODE | ||
18874 | CLASS="FUNCDEF" | ||
18875 | >touch_start</CODE | ||
18876 | >(integer total_number);</CODE | ||
18877 | ></P | ||
18878 | ><P | ||
18879 | ></P | ||
18880 | ></DIV | ||
18881 | ><P | ||
18882 | >This event is raised when a user first touches the object | ||
18883 | the script is attached to. The number of touching objects is | ||
18884 | passed to the script in the <CODE | ||
18885 | CLASS="parameter" | ||
18886 | >total_number</CODE | ||
18887 | > | ||
18888 | parameter. Information on those objects may be gathered via the | ||
18889 | <A | ||
18890 | HREF="#lib_lldetected" | ||
18891 | >llDetected*</A | ||
18892 | > library | ||
18893 | functions.</P | ||
18894 | ></DIV | ||
18895 | ><DIV | ||
18896 | CLASS="section" | ||
18897 | ><HR><H2 | ||
18898 | CLASS="section" | ||
18899 | ><A | ||
18900 | NAME="AEN5253" | ||
18901 | >B.32. remote_data</A | ||
18902 | ></H2 | ||
18903 | ><DIV | ||
18904 | CLASS="funcsynopsis" | ||
18905 | ><P | ||
18906 | ></P | ||
18907 | ><A | ||
18908 | NAME="AEN5255" | ||
18909 | ></A | ||
18910 | ><P | ||
18911 | ><CODE | ||
18912 | ><CODE | ||
18913 | CLASS="FUNCDEF" | ||
18914 | >remote_data</CODE | ||
18915 | >(integer type, key channel, key message_id, string sender, integer ival, string sval);</CODE | ||
18916 | ></P | ||
18917 | ><P | ||
18918 | ></P | ||
18919 | ></DIV | ||
18920 | ><P | ||
18921 | >This event is raised when a user creates an XML-RPC | ||
18922 | channel via <A | ||
18923 | HREF="#AEN3011" | ||
18924 | >llOpenRemoteDataChannel</A | ||
18925 | >, | ||
18926 | a remote XML-RPC server replies to a <A | ||
18927 | HREF="#AEN3680" | ||
18928 | >llSendRemoteData</A | ||
18929 | >, | ||
18930 | or a remote XML-RPC client sends in an XML-RPC request. In the open case, | ||
18931 | <CODE | ||
18932 | CLASS="parameter" | ||
18933 | >type</CODE | ||
18934 | > = REMOTE_DATA_CHANNEL, <CODE | ||
18935 | CLASS="parameter" | ||
18936 | >channel</CODE | ||
18937 | > = NULL_KEY, | ||
18938 | <CODE | ||
18939 | CLASS="parameter" | ||
18940 | >message_id</CODE | ||
18941 | > = NULL_KEY, <CODE | ||
18942 | CLASS="parameter" | ||
18943 | >sender</CODE | ||
18944 | > is an empty string, | ||
18945 | <CODE | ||
18946 | CLASS="parameter" | ||
18947 | >ival</CODE | ||
18948 | > = 0, and <CODE | ||
18949 | CLASS="parameter" | ||
18950 | >sval</CODE | ||
18951 | > is an empty string. In the reply case, | ||
18952 | <CODE | ||
18953 | CLASS="parameter" | ||
18954 | >type</CODE | ||
18955 | > = REMOTE_DATA_REPLY, <CODE | ||
18956 | CLASS="parameter" | ||
18957 | >channel</CODE | ||
18958 | > is set to the channel that the request was sent on, | ||
18959 | <CODE | ||
18960 | CLASS="parameter" | ||
18961 | >message_id</CODE | ||
18962 | > is set to the id of the message, <CODE | ||
18963 | CLASS="parameter" | ||
18964 | >sender</CODE | ||
18965 | > is an empty string, | ||
18966 | <CODE | ||
18967 | CLASS="parameter" | ||
18968 | >ival</CODE | ||
18969 | > = 0, and <CODE | ||
18970 | CLASS="parameter" | ||
18971 | >sval</CODE | ||
18972 | > is a string. In the remote request case, | ||
18973 | <CODE | ||
18974 | CLASS="parameter" | ||
18975 | >type</CODE | ||
18976 | > = REMOTE_DATA_REQUEST, <CODE | ||
18977 | CLASS="parameter" | ||
18978 | >channel</CODE | ||
18979 | > is set to the channel that sent the message, | ||
18980 | <CODE | ||
18981 | CLASS="parameter" | ||
18982 | >message_id</CODE | ||
18983 | > is set to the id of the message, <CODE | ||
18984 | CLASS="parameter" | ||
18985 | >sender</CODE | ||
18986 | > is set by the sender, | ||
18987 | <CODE | ||
18988 | CLASS="parameter" | ||
18989 | >ival</CODE | ||
18990 | > is an integer, and <CODE | ||
18991 | CLASS="parameter" | ||
18992 | >sval</CODE | ||
18993 | > is a string. | ||
18994 | parameter.</P | ||
18995 | ></DIV | ||
18996 | ></DIV | ||
18997 | ><DIV | ||
18998 | CLASS="appendix" | ||
18999 | ><HR><H1 | ||
19000 | ><A | ||
19001 | NAME="AEN5292" | ||
19002 | ></A | ||
19003 | >Appendix C. Constants</H1 | ||
19004 | ><P | ||
19005 | >To ease scripting, many useful constants are defined by | ||
19006 | LSL.</P | ||
19007 | ><DIV | ||
19008 | CLASS="section" | ||
19009 | ><HR><H2 | ||
19010 | CLASS="section" | ||
19011 | ><A | ||
19012 | NAME="AEN5295" | ||
19013 | >C.1. Boolean Constants</A | ||
19014 | ></H2 | ||
19015 | ><P | ||
19016 | >The boolean constants represent the values for TRUE and | ||
19017 | FALSE. LSL represents booleans as integer values 1 and 0 | ||
19018 | respectively. Since there is no boolean type these constants act | ||
19019 | as a scripting aid usually employed for testing variables which | ||
19020 | conceptually represent boolean values.</P | ||
19021 | ><P | ||
19022 | ><P | ||
19023 | ></P | ||
19024 | ><UL | ||
19025 | ><LI | ||
19026 | ><P | ||
19027 | >TRUE</P | ||
19028 | ></LI | ||
19029 | ><LI | ||
19030 | ><P | ||
19031 | >FALSE</P | ||
19032 | ></LI | ||
19033 | ></UL | ||
19034 | ></P | ||
19035 | ></DIV | ||
19036 | ><DIV | ||
19037 | CLASS="section" | ||
19038 | ><HR><H2 | ||
19039 | CLASS="section" | ||
19040 | ><A | ||
19041 | NAME="AEN5304" | ||
19042 | >C.2. Status Constants</A | ||
19043 | ></H2 | ||
19044 | ><P | ||
19045 | >The status constants are used in the <A | ||
19046 | HREF="#AEN4095" | ||
19047 | >llSetStatus</A | ||
19048 | > and <A | ||
19049 | HREF="#AEN2184" | ||
19050 | >llGetStatus</A | ||
19051 | > library calls. These | ||
19052 | constants can be bitwise or'ed together when calling the library | ||
19053 | functions to set the same value to more than one status | ||
19054 | flag</P | ||
19055 | ><P | ||
19056 | ></P | ||
19057 | ><DIV | ||
19058 | CLASS="variablelist" | ||
19059 | ><P | ||
19060 | ><B | ||
19061 | >Status Constants</B | ||
19062 | ></P | ||
19063 | ><DL | ||
19064 | ><DT | ||
19065 | >STATUS_PHYSICS</DT | ||
19066 | ><DD | ||
19067 | ><P | ||
19068 | >Controls whether the object moves | ||
19069 | physically. This controls the same flag that the ui checkbox | ||
19070 | for 'Physical' controls. The default is FALSE.</P | ||
19071 | ></DD | ||
19072 | ><DT | ||
19073 | >STATUS_PHANTOM</DT | ||
19074 | ><DD | ||
19075 | ><P | ||
19076 | >Controls whether the object collides or | ||
19077 | not. Setting the value to TRUE makes the object non-colliding | ||
19078 | with all objects. It is a good idea to use this for most | ||
19079 | objects that move or rotate, but are non-physical. It is also | ||
19080 | useful for simulating volumetric lighting. The default is | ||
19081 | FALSE.</P | ||
19082 | ></DD | ||
19083 | ><DT | ||
19084 | >STATUS_ROTATE_X, STATUS_ROTATE_Y, STATUS_ROTATE_Z</DT | ||
19085 | ><DD | ||
19086 | ><P | ||
19087 | >Controls whether the object can physically rotate | ||
19088 | around the specific axis or not. This flag has no meaning | ||
19089 | for non-physical objects. Set the value to FALSE | ||
19090 | to disable rotation around that axis. The default is TRUE | ||
19091 | for a physical object.</P | ||
19092 | ><P | ||
19093 | >A useful example to think about when visualizing the | ||
19094 | effect is a 'sit-and-spin' device. They spin around the Z | ||
19095 | axis (up) but not around the X or Y axis.</P | ||
19096 | ></DD | ||
19097 | ><DT | ||
19098 | >STATUS_BLOCK_GRAB</DT | ||
19099 | ><DD | ||
19100 | ><P | ||
19101 | >Controls whether the object can be grabbed. A | ||
19102 | grab is the default action when in third person, and is | ||
19103 | available as the 'hand' tool in build mode. This is useful for | ||
19104 | physical objects that you don't want other people to be able | ||
19105 | to trivially disturb. The default if FALSE</P | ||
19106 | ></DD | ||
19107 | ><DT | ||
19108 | >STATUS_SANDBOX</DT | ||
19109 | ><DD | ||
19110 | ><P | ||
19111 | >Controls whether the object can cross region | ||
19112 | boundaries and move more than 20 meters from its creation | ||
19113 | point. The default if FALSE.</P | ||
19114 | ></DD | ||
19115 | ><DT | ||
19116 | >STATUS_DIE_AT_EDGE</DT | ||
19117 | ><DD | ||
19118 | ><P | ||
19119 | >Controls whether the object is returned to the | ||
19120 | owner's inventory if it wanders off the edge of the world. It | ||
19121 | is useful to set this status TRUE for things like bullets or | ||
19122 | rockets. The default is TRUE</P | ||
19123 | ></DD | ||
19124 | ></DL | ||
19125 | ></DIV | ||
19126 | ></DIV | ||
19127 | ><DIV | ||
19128 | CLASS="section" | ||
19129 | ><HR><H2 | ||
19130 | CLASS="section" | ||
19131 | ><A | ||
19132 | NAME="AEN5338" | ||
19133 | >C.3. Object Type Constants</A | ||
19134 | ></H2 | ||
19135 | ><P | ||
19136 | >These constants can be combined using the binary '|' | ||
19137 | operator and are used in the <A | ||
19138 | HREF="#AEN3693" | ||
19139 | >llSensor</A | ||
19140 | > and related calls.</P | ||
19141 | ><P | ||
19142 | ></P | ||
19143 | ><DIV | ||
19144 | CLASS="variablelist" | ||
19145 | ><P | ||
19146 | ><B | ||
19147 | >Object Type Constants</B | ||
19148 | ></P | ||
19149 | ><DL | ||
19150 | ><DT | ||
19151 | >AGENT</DT | ||
19152 | ><DD | ||
19153 | ><P | ||
19154 | >Objects in world that are agents.</P | ||
19155 | ></DD | ||
19156 | ><DT | ||
19157 | >ACTIVE</DT | ||
19158 | ><DD | ||
19159 | ><P | ||
19160 | >Objects in world that are running a script or | ||
19161 | currently physically moving.</P | ||
19162 | ></DD | ||
19163 | ><DT | ||
19164 | >PASSIVE</DT | ||
19165 | ><DD | ||
19166 | ><P | ||
19167 | >Static in-world objects.</P | ||
19168 | ></DD | ||
19169 | ><DT | ||
19170 | >SCRIPTED</DT | ||
19171 | ><DD | ||
19172 | ><P | ||
19173 | >Scripted in-world objects.</P | ||
19174 | ></DD | ||
19175 | ></DL | ||
19176 | ></DIV | ||
19177 | ></DIV | ||
19178 | ><DIV | ||
19179 | CLASS="section" | ||
19180 | ><HR><H2 | ||
19181 | CLASS="section" | ||
19182 | ><A | ||
19183 | NAME="AEN5360" | ||
19184 | >C.4. Permission Constants</A | ||
19185 | ></H2 | ||
19186 | ><P | ||
19187 | >The permission constants are used for passing values to | ||
19188 | <A | ||
19189 | HREF="#AEN3375" | ||
19190 | >llRequestPermissions</A | ||
19191 | >, | ||
19192 | determining the value of <A | ||
19193 | HREF="#AEN2048" | ||
19194 | >llGetPermissions</A | ||
19195 | >, and | ||
19196 | explicitly passed to the <A | ||
19197 | HREF="#AEN5171" | ||
19198 | >run_time_permissions</A | ||
19199 | > | ||
19200 | event. For many of the basic library functions to work, a | ||
19201 | specific permission must be enabled. The permission constants can | ||
19202 | be or'ed together to be used in conjunction.</P | ||
19203 | ><P | ||
19204 | ></P | ||
19205 | ><DIV | ||
19206 | CLASS="variablelist" | ||
19207 | ><P | ||
19208 | ><B | ||
19209 | >Permission Constants</B | ||
19210 | ></P | ||
19211 | ><DL | ||
19212 | ><DT | ||
19213 | >PERMISSION_DEBIT</DT | ||
19214 | ><DD | ||
19215 | ><P | ||
19216 | >If this permission is enabled, the object can | ||
19217 | successfully call <A | ||
19218 | HREF="#AEN2342" | ||
19219 | >llGiveMoney</A | ||
19220 | > to debit the | ||
19221 | owner's account.</P | ||
19222 | ></DD | ||
19223 | ><DT | ||
19224 | >PERMISSION_TAKE_CONTROLS</DT | ||
19225 | ><DD | ||
19226 | ><P | ||
19227 | >If this permission enabled, the object can | ||
19228 | successfully call the <A | ||
19229 | HREF="#AEN4661" | ||
19230 | >llTakeControls</A | ||
19231 | > library | ||
19232 | call.</P | ||
19233 | ></DD | ||
19234 | ><DT | ||
19235 | >PERMISSION_REMAP_CONTROLS</DT | ||
19236 | ><DD | ||
19237 | ><P | ||
19238 | >(not yet implemented)</P | ||
19239 | ></DD | ||
19240 | ><DT | ||
19241 | >PERMISSION_TRIGGER_ANIMATION</DT | ||
19242 | ><DD | ||
19243 | ><P | ||
19244 | >If this permission is enabled, the object can | ||
19245 | successfully call <A | ||
19246 | HREF="#AEN4346" | ||
19247 | >llStartAnimation</A | ||
19248 | > for the | ||
19249 | avatar that owns this object.</P | ||
19250 | ></DD | ||
19251 | ><DT | ||
19252 | ><A | ||
19253 | NAME="const_permission_attach" | ||
19254 | ></A | ||
19255 | >PERMISSION_ATTACH</DT | ||
19256 | ><DD | ||
19257 | ><P | ||
19258 | >If this permission is enabled, the object can | ||
19259 | successfully call <A | ||
19260 | HREF="#AEN1119" | ||
19261 | >llAttachToAvatar</A | ||
19262 | > to attach | ||
19263 | to the given avatar.</P | ||
19264 | ></DD | ||
19265 | ><DT | ||
19266 | >PERMISSION_RELEASE_OWNERSHIP</DT | ||
19267 | ><DD | ||
19268 | ><P | ||
19269 | >(not yet implemented)</P | ||
19270 | ></DD | ||
19271 | ><DT | ||
19272 | ><A | ||
19273 | NAME="const_permission_change_links" | ||
19274 | ></A | ||
19275 | >PERMISSION_CHANGE_LINKS</DT | ||
19276 | ><DD | ||
19277 | ><P | ||
19278 | >If this permission is enabled, the object can | ||
19279 | successfully call <A | ||
19280 | HREF="#AEN1292" | ||
19281 | >llCreateLink</A | ||
19282 | >, <A | ||
19283 | HREF="#AEN1191" | ||
19284 | >llBreakLink</A | ||
19285 | >, and <A | ||
19286 | HREF="#AEN1182" | ||
19287 | >llBreakAllLinks</A | ||
19288 | > to change | ||
19289 | links to other objects.</P | ||
19290 | ></DD | ||
19291 | ><DT | ||
19292 | >PERMISSION_CHANGE_JOINTS</DT | ||
19293 | ><DD | ||
19294 | ><P | ||
19295 | >(not yet implemented)</P | ||
19296 | ></DD | ||
19297 | ><DT | ||
19298 | >PERMISSION_CHANGE_PERMISSIONS</DT | ||
19299 | ><DD | ||
19300 | ><P | ||
19301 | >(not yet implemented)</P | ||
19302 | ></DD | ||
19303 | ></DL | ||
19304 | ></DIV | ||
19305 | ></DIV | ||
19306 | ><DIV | ||
19307 | CLASS="section" | ||
19308 | ><HR><H2 | ||
19309 | CLASS="section" | ||
19310 | ><A | ||
19311 | NAME="AEN5411" | ||
19312 | >C.5. Inventory Constants</A | ||
19313 | ></H2 | ||
19314 | ><P | ||
19315 | >These constants can be used to refer to a specific inventory | ||
19316 | type in calls to <A | ||
19317 | HREF="#AEN1789" | ||
19318 | >llGetInventoryNumber</A | ||
19319 | > and | ||
19320 | <A | ||
19321 | HREF="#AEN1774" | ||
19322 | >llGetInventoryName</A | ||
19323 | >. They | ||
19324 | are also returned by <A | ||
19325 | HREF="#AEN1816" | ||
19326 | >llGetInventoryType</A | ||
19327 | >. | ||
19328 | </P | ||
19329 | ><P | ||
19330 | ></P | ||
19331 | ><DIV | ||
19332 | CLASS="variablelist" | ||
19333 | ><P | ||
19334 | ><B | ||
19335 | >Inventory Constants</B | ||
19336 | ></P | ||
19337 | ><DL | ||
19338 | ><DT | ||
19339 | >INVENTORY_TEXTURE, INVENTORY_SOUND, INVENTORY_OBJECT, INVENTORY_SCRIPT, INVENTORY_LANDMARK, INVENTORY_CLOTHING, INVENTORY_NOTECARD, INVENTORY_BODYPART, INVENTORY_ANIMATION, INVENTORY_GESTURE, INVENTORY_ALL, INVENTORY_NONE</DT | ||
19340 | ><DD | ||
19341 | ><P | ||
19342 | >Each constant refers to the named type of | ||
19343 | inventory.</P | ||
19344 | ></DD | ||
19345 | ></DL | ||
19346 | ></DIV | ||
19347 | ></DIV | ||
19348 | ><DIV | ||
19349 | CLASS="section" | ||
19350 | ><HR><H2 | ||
19351 | CLASS="section" | ||
19352 | ><A | ||
19353 | NAME="AEN5434" | ||
19354 | >C.6. Pay Price Constants</A | ||
19355 | ></H2 | ||
19356 | ><P | ||
19357 | >These constants can be used in <A | ||
19358 | HREF="#AEN1789" | ||
19359 | >llSetPayPrice</A | ||
19360 | ></P | ||
19361 | ><P | ||
19362 | ></P | ||
19363 | ><DIV | ||
19364 | CLASS="variablelist" | ||
19365 | ><P | ||
19366 | ><B | ||
19367 | >Pay Price Constants</B | ||
19368 | ></P | ||
19369 | ><DL | ||
19370 | ><DT | ||
19371 | >PAY_HIDE</DT | ||
19372 | ><DD | ||
19373 | ><P | ||
19374 | >Do not show this quick pay button.</P | ||
19375 | ></DD | ||
19376 | ><DT | ||
19377 | >PAY_DEFAULT</DT | ||
19378 | ><DD | ||
19379 | ><P | ||
19380 | >Use the default value for this quick pay button.</P | ||
19381 | ></DD | ||
19382 | ></DL | ||
19383 | ></DIV | ||
19384 | ></DIV | ||
19385 | ><DIV | ||
19386 | CLASS="section" | ||
19387 | ><HR><H2 | ||
19388 | CLASS="section" | ||
19389 | ><A | ||
19390 | NAME="AEN5448" | ||
19391 | >C.7. Attachment Constants</A | ||
19392 | ></H2 | ||
19393 | ><P | ||
19394 | >These constants are used to refer to attachment points in | ||
19395 | calls to <A | ||
19396 | HREF="#AEN1119" | ||
19397 | >llAttachToAvatar</A | ||
19398 | >.</P | ||
19399 | ><P | ||
19400 | ></P | ||
19401 | ><DIV | ||
19402 | CLASS="variablelist" | ||
19403 | ><P | ||
19404 | ><B | ||
19405 | >Attachment Constants</B | ||
19406 | ></P | ||
19407 | ><DL | ||
19408 | ><DT | ||
19409 | >ATTACH_CHEST</DT | ||
19410 | ><DD | ||
19411 | ><P | ||
19412 | >Attach to the avatar chest.</P | ||
19413 | ></DD | ||
19414 | ><DT | ||
19415 | >ATTACH_HEAD</DT | ||
19416 | ><DD | ||
19417 | ><P | ||
19418 | >Attach to the avatar head.</P | ||
19419 | ></DD | ||
19420 | ><DT | ||
19421 | >ATTACH_LSHOULDER</DT | ||
19422 | ><DD | ||
19423 | ><P | ||
19424 | >Attach to the avatar left shoulder.</P | ||
19425 | ></DD | ||
19426 | ><DT | ||
19427 | >ATTACH_RSHOULDER</DT | ||
19428 | ><DD | ||
19429 | ><P | ||
19430 | >Attach to the avatar right shoulder.</P | ||
19431 | ></DD | ||
19432 | ><DT | ||
19433 | >ATTACH_LHAND</DT | ||
19434 | ><DD | ||
19435 | ><P | ||
19436 | >Attach to the avatar left hand.</P | ||
19437 | ></DD | ||
19438 | ><DT | ||
19439 | >ATTACH_RHAND</DT | ||
19440 | ><DD | ||
19441 | ><P | ||
19442 | >Attach to the avatar right hand.</P | ||
19443 | ></DD | ||
19444 | ><DT | ||
19445 | >ATTACH_LFOOT</DT | ||
19446 | ><DD | ||
19447 | ><P | ||
19448 | >Attach to the avatar left foot.</P | ||
19449 | ></DD | ||
19450 | ><DT | ||
19451 | >ATTACH_RFOOT</DT | ||
19452 | ><DD | ||
19453 | ><P | ||
19454 | >Attach to the avatar right foot.</P | ||
19455 | ></DD | ||
19456 | ><DT | ||
19457 | >ATTACH_BACK</DT | ||
19458 | ><DD | ||
19459 | ><P | ||
19460 | >Attach to the avatar back.</P | ||
19461 | ></DD | ||
19462 | ><DT | ||
19463 | >ATTACH_PELVIS</DT | ||
19464 | ><DD | ||
19465 | ><P | ||
19466 | >Attach to the avatar pelvis.</P | ||
19467 | ></DD | ||
19468 | ><DT | ||
19469 | >ATTACH_MOUTH</DT | ||
19470 | ><DD | ||
19471 | ><P | ||
19472 | >Attach to the avatar mouth.</P | ||
19473 | ></DD | ||
19474 | ><DT | ||
19475 | >ATTACH_CHIN</DT | ||
19476 | ><DD | ||
19477 | ><P | ||
19478 | >Attach to the avatar chin.</P | ||
19479 | ></DD | ||
19480 | ><DT | ||
19481 | >ATTACH_LEAR</DT | ||
19482 | ><DD | ||
19483 | ><P | ||
19484 | >Attach to the avatar left ear.</P | ||
19485 | ></DD | ||
19486 | ><DT | ||
19487 | >ATTACH_REAR</DT | ||
19488 | ><DD | ||
19489 | ><P | ||
19490 | >Attach to the avatar right ear.</P | ||
19491 | ></DD | ||
19492 | ><DT | ||
19493 | >ATTACH_LEYE</DT | ||
19494 | ><DD | ||
19495 | ><P | ||
19496 | >Attach to the avatar left eye.</P | ||
19497 | ></DD | ||
19498 | ><DT | ||
19499 | >ATTACH_REYE</DT | ||
19500 | ><DD | ||
19501 | ><P | ||
19502 | >Attach to the avatar right eye.</P | ||
19503 | ></DD | ||
19504 | ><DT | ||
19505 | >ATTACH_NOSE</DT | ||
19506 | ><DD | ||
19507 | ><P | ||
19508 | >Attach to the avatar nose.</P | ||
19509 | ></DD | ||
19510 | ><DT | ||
19511 | >ATTACH_RUARM</DT | ||
19512 | ><DD | ||
19513 | ><P | ||
19514 | >Attach to the avatar right upper arm.</P | ||
19515 | ></DD | ||
19516 | ><DT | ||
19517 | >ATTACH_RLARM</DT | ||
19518 | ><DD | ||
19519 | ><P | ||
19520 | >Attach to the avatar right lower arm.</P | ||
19521 | ></DD | ||
19522 | ><DT | ||
19523 | >ATTACH_LUARM</DT | ||
19524 | ><DD | ||
19525 | ><P | ||
19526 | >Attach to the avatar left upper arm.</P | ||
19527 | ></DD | ||
19528 | ><DT | ||
19529 | >ATTACH_LLARM</DT | ||
19530 | ><DD | ||
19531 | ><P | ||
19532 | >Attach to the avatar left lower arm.</P | ||
19533 | ></DD | ||
19534 | ><DT | ||
19535 | >ATTACH_RHIP</DT | ||
19536 | ><DD | ||
19537 | ><P | ||
19538 | >Attach to the avatar right hip.</P | ||
19539 | ></DD | ||
19540 | ><DT | ||
19541 | >ATTACH_RULEG</DT | ||
19542 | ><DD | ||
19543 | ><P | ||
19544 | >Attach to the avatar right upper leg.</P | ||
19545 | ></DD | ||
19546 | ><DT | ||
19547 | >ATTACH_RLLEG</DT | ||
19548 | ><DD | ||
19549 | ><P | ||
19550 | >Attach to the avatar right lower leg.</P | ||
19551 | ></DD | ||
19552 | ><DT | ||
19553 | >ATTACH_LHIP</DT | ||
19554 | ><DD | ||
19555 | ><P | ||
19556 | >Attach to the avatar left hip.</P | ||
19557 | ></DD | ||
19558 | ><DT | ||
19559 | >ATTACH_LULEG</DT | ||
19560 | ><DD | ||
19561 | ><P | ||
19562 | >Attach to the avatar lower upper leg.</P | ||
19563 | ></DD | ||
19564 | ><DT | ||
19565 | >ATTACH_LLLEG</DT | ||
19566 | ><DD | ||
19567 | ><P | ||
19568 | >Attach to the avatar lower left leg.</P | ||
19569 | ></DD | ||
19570 | ><DT | ||
19571 | >ATTACH_BELLY</DT | ||
19572 | ><DD | ||
19573 | ><P | ||
19574 | >Attach to the avatar belly.</P | ||
19575 | ></DD | ||
19576 | ><DT | ||
19577 | >ATTACH_RPEC</DT | ||
19578 | ><DD | ||
19579 | ><P | ||
19580 | >Attach to the avatar right pectoral.</P | ||
19581 | ></DD | ||
19582 | ><DT | ||
19583 | >ATTACH_LPEC</DT | ||
19584 | ><DD | ||
19585 | ><P | ||
19586 | >Attach to the avatar left pectoral.</P | ||
19587 | ></DD | ||
19588 | ></DL | ||
19589 | ></DIV | ||
19590 | ></DIV | ||
19591 | ><DIV | ||
19592 | CLASS="section" | ||
19593 | ><HR><H2 | ||
19594 | CLASS="section" | ||
19595 | ><A | ||
19596 | NAME="AEN5574" | ||
19597 | >C.8. Land Constants</A | ||
19598 | ></H2 | ||
19599 | ><P | ||
19600 | >These constants are only used in calls to <A | ||
19601 | HREF="#AEN2949" | ||
19602 | >llModifyLand</A | ||
19603 | >. The constants | ||
19604 | are equivalent to the similarly labelled user interface elements | ||
19605 | for editing land in the viewer.</P | ||
19606 | ><P | ||
19607 | ></P | ||
19608 | ><DIV | ||
19609 | CLASS="variablelist" | ||
19610 | ><P | ||
19611 | ><B | ||
19612 | >Land Constants</B | ||
19613 | ></P | ||
19614 | ><DL | ||
19615 | ><DT | ||
19616 | >LAND_LEVEL</DT | ||
19617 | ><DD | ||
19618 | ><P | ||
19619 | >Action to make the land flat and level.</P | ||
19620 | ></DD | ||
19621 | ><DT | ||
19622 | >LAND_RAISE</DT | ||
19623 | ><DD | ||
19624 | ><P | ||
19625 | >Action to raise the land.</P | ||
19626 | ></DD | ||
19627 | ><DT | ||
19628 | >LAND_LOWER</DT | ||
19629 | ><DD | ||
19630 | ><P | ||
19631 | >Action to lower the land.</P | ||
19632 | ></DD | ||
19633 | ><DT | ||
19634 | >LAND_SMOOTH</DT | ||
19635 | ><DD | ||
19636 | ><P | ||
19637 | >Action to smooth the land.</P | ||
19638 | ></DD | ||
19639 | ><DT | ||
19640 | >LAND_NOISE</DT | ||
19641 | ><DD | ||
19642 | ><P | ||
19643 | >Action to push the land toward a pseudo-random | ||
19644 | heightfield.</P | ||
19645 | ></DD | ||
19646 | ><DT | ||
19647 | >LAND_REVERT</DT | ||
19648 | ><DD | ||
19649 | ><P | ||
19650 | >Action to push the land toward the original | ||
19651 | shape from when it was first terraformed.</P | ||
19652 | ></DD | ||
19653 | ><DT | ||
19654 | >LAND_SMALL_BRUSH</DT | ||
19655 | ><DD | ||
19656 | ><P | ||
19657 | >Use a small brush size.</P | ||
19658 | ></DD | ||
19659 | ><DT | ||
19660 | >LAND_MEDIUM_BRUSH</DT | ||
19661 | ><DD | ||
19662 | ><P | ||
19663 | >Use a medium brush size.</P | ||
19664 | ></DD | ||
19665 | ><DT | ||
19666 | >LAND_LARGE_BRUSH</DT | ||
19667 | ><DD | ||
19668 | ><P | ||
19669 | >Use a large brush size.</P | ||
19670 | ></DD | ||
19671 | ></DL | ||
19672 | ></DIV | ||
19673 | ></DIV | ||
19674 | ><DIV | ||
19675 | CLASS="section" | ||
19676 | ><HR><H2 | ||
19677 | CLASS="section" | ||
19678 | ><A | ||
19679 | NAME="AEN5616" | ||
19680 | >C.9. Link Constants</A | ||
19681 | ></H2 | ||
19682 | ><P | ||
19683 | >These constants are used in calls to <A | ||
19684 | HREF="#AEN3906" | ||
19685 | >llSetLinkColor</A | ||
19686 | > and <A | ||
19687 | HREF="#AEN2919" | ||
19688 | >llMessageLinked</A | ||
19689 | >.</P | ||
19690 | ><P | ||
19691 | ></P | ||
19692 | ><DIV | ||
19693 | CLASS="variablelist" | ||
19694 | ><P | ||
19695 | ><B | ||
19696 | >Link Constants</B | ||
19697 | ></P | ||
19698 | ><DL | ||
19699 | ><DT | ||
19700 | >LINK_SET</DT | ||
19701 | ><DD | ||
19702 | ><P | ||
19703 | >This targets every object in the linked | ||
19704 | set.</P | ||
19705 | ></DD | ||
19706 | ><DT | ||
19707 | >LINK_ROOT</DT | ||
19708 | ><DD | ||
19709 | ><P | ||
19710 | >This targets the root of the linked | ||
19711 | set.</P | ||
19712 | ></DD | ||
19713 | ><DT | ||
19714 | >LINK_ALL_OTHERS</DT | ||
19715 | ><DD | ||
19716 | ><P | ||
19717 | >This targets every object in the linked set | ||
19718 | except the object with the script.</P | ||
19719 | ></DD | ||
19720 | ><DT | ||
19721 | >LINK_ALL_CHILDREN</DT | ||
19722 | ><DD | ||
19723 | ><P | ||
19724 | >This targets every object except the root in | ||
19725 | the linked set.</P | ||
19726 | ></DD | ||
19727 | ><DT | ||
19728 | >LINK_THIS</DT | ||
19729 | ><DD | ||
19730 | ><P | ||
19731 | >This targets the object making the call only. | ||
19732 | </P | ||
19733 | ></DD | ||
19734 | ></DL | ||
19735 | ></DIV | ||
19736 | ></DIV | ||
19737 | ><DIV | ||
19738 | CLASS="section" | ||
19739 | ><HR><H2 | ||
19740 | CLASS="section" | ||
19741 | ><A | ||
19742 | NAME="AEN5643" | ||
19743 | >C.10. Control Constants</A | ||
19744 | ></H2 | ||
19745 | ><P | ||
19746 | >These constants are used in <A | ||
19747 | HREF="#AEN4661" | ||
19748 | >llTakeControls</A | ||
19749 | > as well as the | ||
19750 | <A | ||
19751 | HREF="#AEN4981" | ||
19752 | >control</A | ||
19753 | > event handler.</P | ||
19754 | ><P | ||
19755 | ></P | ||
19756 | ><DIV | ||
19757 | CLASS="variablelist" | ||
19758 | ><P | ||
19759 | ><B | ||
19760 | >Control Constants</B | ||
19761 | ></P | ||
19762 | ><DL | ||
19763 | ><DT | ||
19764 | >CONTROL_FWD</DT | ||
19765 | ><DD | ||
19766 | ><P | ||
19767 | >Test for the avatar move forward | ||
19768 | control.</P | ||
19769 | ></DD | ||
19770 | ><DT | ||
19771 | >CONTROL_BACK</DT | ||
19772 | ><DD | ||
19773 | ><P | ||
19774 | >Test for the avatar move back | ||
19775 | control.</P | ||
19776 | ></DD | ||
19777 | ><DT | ||
19778 | >CONTROL_LEFT</DT | ||
19779 | ><DD | ||
19780 | ><P | ||
19781 | >Test for the avatar move left | ||
19782 | control.</P | ||
19783 | ></DD | ||
19784 | ><DT | ||
19785 | >CONTROL_RIGHT</DT | ||
19786 | ><DD | ||
19787 | ><P | ||
19788 | >Test for the avatar move right | ||
19789 | control.</P | ||
19790 | ></DD | ||
19791 | ><DT | ||
19792 | >CONTROL_ROT_LEFT</DT | ||
19793 | ><DD | ||
19794 | ><P | ||
19795 | >Test for the avatar rotate left | ||
19796 | control.</P | ||
19797 | ></DD | ||
19798 | ><DT | ||
19799 | >CONTROL_ROT_RIGHT</DT | ||
19800 | ><DD | ||
19801 | ><P | ||
19802 | >Test for the avatar rotate right | ||
19803 | control.</P | ||
19804 | ></DD | ||
19805 | ><DT | ||
19806 | >CONTROL_UP</DT | ||
19807 | ><DD | ||
19808 | ><P | ||
19809 | >Test for the avatar move up | ||
19810 | control.</P | ||
19811 | ></DD | ||
19812 | ><DT | ||
19813 | >CONTROL_DOWN</DT | ||
19814 | ><DD | ||
19815 | ><P | ||
19816 | >Test for the avatar move down | ||
19817 | control.</P | ||
19818 | ></DD | ||
19819 | ><DT | ||
19820 | >CONTROL_LBUTTON</DT | ||
19821 | ><DD | ||
19822 | ><P | ||
19823 | >Test for the avatar left button | ||
19824 | control.</P | ||
19825 | ></DD | ||
19826 | ><DT | ||
19827 | >CONTROL_ML_BUTTON</DT | ||
19828 | ><DD | ||
19829 | ><P | ||
19830 | >Test for the avatar left button control while | ||
19831 | in mouse look.</P | ||
19832 | ></DD | ||
19833 | ></DL | ||
19834 | ></DIV | ||
19835 | ></DIV | ||
19836 | ><DIV | ||
19837 | CLASS="section" | ||
19838 | ><HR><H2 | ||
19839 | CLASS="section" | ||
19840 | ><A | ||
19841 | NAME="AEN5690" | ||
19842 | >C.11. Change Constants</A | ||
19843 | ></H2 | ||
19844 | ><P | ||
19845 | >These constants are used in the <A | ||
19846 | HREF="#AEN4940" | ||
19847 | >changed</A | ||
19848 | > event handler.</P | ||
19849 | ><P | ||
19850 | ></P | ||
19851 | ><DIV | ||
19852 | CLASS="variablelist" | ||
19853 | ><P | ||
19854 | ><B | ||
19855 | >Change Constants</B | ||
19856 | ></P | ||
19857 | ><DL | ||
19858 | ><DT | ||
19859 | >CHANGED_INVENTORY</DT | ||
19860 | ><DD | ||
19861 | ><P | ||
19862 | >The object inventory has changed.</P | ||
19863 | ></DD | ||
19864 | ><DT | ||
19865 | >CHANGED_ALLOWED_DROP</DT | ||
19866 | ><DD | ||
19867 | ><P | ||
19868 | >The object inventory has changed because an item | ||
19869 | was added through the <A | ||
19870 | HREF="#AEN1047" | ||
19871 | >llAllowInventoryDrop</A | ||
19872 | > | ||
19873 | interface.</P | ||
19874 | ></DD | ||
19875 | ><DT | ||
19876 | >CHANGED_COLOR</DT | ||
19877 | ><DD | ||
19878 | ><P | ||
19879 | >The object color has changed.</P | ||
19880 | ></DD | ||
19881 | ><DT | ||
19882 | >CHANGED_SHAPE</DT | ||
19883 | ><DD | ||
19884 | ><P | ||
19885 | >The object shape has changed, eg, a box to a | ||
19886 | cylinder</P | ||
19887 | ></DD | ||
19888 | ><DT | ||
19889 | >CHANGED_SCALE</DT | ||
19890 | ><DD | ||
19891 | ><P | ||
19892 | >The object scale has changed.</P | ||
19893 | ></DD | ||
19894 | ><DT | ||
19895 | >CHANGED_TEXTURE</DT | ||
19896 | ><DD | ||
19897 | ><P | ||
19898 | >The texture offset, scale rotation, or simply | ||
19899 | the object texture has changed.</P | ||
19900 | ></DD | ||
19901 | ><DT | ||
19902 | >CHANGED_LINK</DT | ||
19903 | ><DD | ||
19904 | ><P | ||
19905 | >The object has linked or its links were | ||
19906 | broken.</P | ||
19907 | ></DD | ||
19908 | ><DT | ||
19909 | >CHANGED_REGION</DT | ||
19910 | ><DD | ||
19911 | ><P | ||
19912 | >The object has changed regions.</P | ||
19913 | ></DD | ||
19914 | ><DT | ||
19915 | >CHANGED_TELEPORT</DT | ||
19916 | ><DD | ||
19917 | ><P | ||
19918 | >The object has been teleported.</P | ||
19919 | ></DD | ||
19920 | ></DL | ||
19921 | ></DIV | ||
19922 | ></DIV | ||
19923 | ><DIV | ||
19924 | CLASS="section" | ||
19925 | ><HR><H2 | ||
19926 | CLASS="section" | ||
19927 | ><A | ||
19928 | NAME="AEN5733" | ||
19929 | >C.12. Type Constants</A | ||
19930 | ></H2 | ||
19931 | ><P | ||
19932 | >These constants are used to determine the variable type | ||
19933 | stored in a heterogeneous list. The value returned from <A | ||
19934 | HREF="#AEN1875" | ||
19935 | >llGetListEntryType</A | ||
19936 | > can be | ||
19937 | used for comparison against these constants.</P | ||
19938 | ><P | ||
19939 | ></P | ||
19940 | ><DIV | ||
19941 | CLASS="variablelist" | ||
19942 | ><P | ||
19943 | ><B | ||
19944 | >Type Constants</B | ||
19945 | ></P | ||
19946 | ><DL | ||
19947 | ><DT | ||
19948 | >TYPE_INTEGER</DT | ||
19949 | ><DD | ||
19950 | ><P | ||
19951 | >The list entry is an integer.</P | ||
19952 | ></DD | ||
19953 | ><DT | ||
19954 | >TYPE_FLOAT</DT | ||
19955 | ><DD | ||
19956 | ><P | ||
19957 | >The list entry is a float.</P | ||
19958 | ></DD | ||
19959 | ><DT | ||
19960 | >TYPE_STRING</DT | ||
19961 | ><DD | ||
19962 | ><P | ||
19963 | >The list entry is a string.</P | ||
19964 | ></DD | ||
19965 | ><DT | ||
19966 | >TYPE_KEY</DT | ||
19967 | ><DD | ||
19968 | ><P | ||
19969 | >The list entry is a key.</P | ||
19970 | ></DD | ||
19971 | ><DT | ||
19972 | >TYPE_VECTOR</DT | ||
19973 | ><DD | ||
19974 | ><P | ||
19975 | >The list entry is a vector.</P | ||
19976 | ></DD | ||
19977 | ><DT | ||
19978 | >TYPE_ROTATION</DT | ||
19979 | ><DD | ||
19980 | ><P | ||
19981 | >The list entry is a rotation.</P | ||
19982 | ></DD | ||
19983 | ><DT | ||
19984 | >TYPE_INVALID</DT | ||
19985 | ><DD | ||
19986 | ><P | ||
19987 | >The list entry is invalid.</P | ||
19988 | ></DD | ||
19989 | ></DL | ||
19990 | ></DIV | ||
19991 | ></DIV | ||
19992 | ><DIV | ||
19993 | CLASS="section" | ||
19994 | ><HR><H2 | ||
19995 | CLASS="section" | ||
19996 | ><A | ||
19997 | NAME="AEN5767" | ||
19998 | >C.13. Agent Info Constants</A | ||
19999 | ></H2 | ||
20000 | ><P | ||
20001 | >Each of these constants represents a bit in the integer | ||
20002 | returned from the <A | ||
20003 | HREF="#AEN1605" | ||
20004 | >llGetAgentInfo</A | ||
20005 | > function and can | ||
20006 | be used in an expression to determine the specified information | ||
20007 | about an agent.</P | ||
20008 | ><P | ||
20009 | ></P | ||
20010 | ><DIV | ||
20011 | CLASS="variablelist" | ||
20012 | ><P | ||
20013 | ><B | ||
20014 | >Agent Info Constants</B | ||
20015 | ></P | ||
20016 | ><DL | ||
20017 | ><DT | ||
20018 | >AGENT_FLYING</DT | ||
20019 | ><DD | ||
20020 | ><P | ||
20021 | >The agent is flying.</P | ||
20022 | ></DD | ||
20023 | ><DT | ||
20024 | >AGENT_ATTACHMENTS</DT | ||
20025 | ><DD | ||
20026 | ><P | ||
20027 | >The agent has attachments.</P | ||
20028 | ></DD | ||
20029 | ><DT | ||
20030 | >AGENT_SCRIPTED</DT | ||
20031 | ><DD | ||
20032 | ><P | ||
20033 | >The agent has scripted attachments.</P | ||
20034 | ></DD | ||
20035 | ><DT | ||
20036 | >AGENT_SITTING</DT | ||
20037 | ><DD | ||
20038 | ><P | ||
20039 | >The agent is sitting.</P | ||
20040 | ></DD | ||
20041 | ><DT | ||
20042 | >AGENT_ON_OBJECT</DT | ||
20043 | ><DD | ||
20044 | ><P | ||
20045 | >The agent is sitting on an object.</P | ||
20046 | ></DD | ||
20047 | ><DT | ||
20048 | >AGENT_WALKING</DT | ||
20049 | ><DD | ||
20050 | ><P | ||
20051 | >The agent is walking.</P | ||
20052 | ></DD | ||
20053 | ><DT | ||
20054 | >AGENT_IN_AIR</DT | ||
20055 | ><DD | ||
20056 | ><P | ||
20057 | >The agent is in the air.</P | ||
20058 | ></DD | ||
20059 | ><DT | ||
20060 | >AGENT_MOUSELOOK</DT | ||
20061 | ><DD | ||
20062 | ><P | ||
20063 | >The agent is in mouselook.</P | ||
20064 | ></DD | ||
20065 | ><DT | ||
20066 | >AGENT_AWAY</DT | ||
20067 | ><DD | ||
20068 | ><P | ||
20069 | >The agent is away (AFK).</P | ||
20070 | ></DD | ||
20071 | ><DT | ||
20072 | >AGENT_TYPING</DT | ||
20073 | ><DD | ||
20074 | ><P | ||
20075 | >The agent is typing.</P | ||
20076 | ></DD | ||
20077 | ><DT | ||
20078 | >AGENT_CROUCHING</DT | ||
20079 | ><DD | ||
20080 | ><P | ||
20081 | >The agent is crouching.</P | ||
20082 | ></DD | ||
20083 | ></DL | ||
20084 | ></DIV | ||
20085 | ></DIV | ||
20086 | ><DIV | ||
20087 | CLASS="section" | ||
20088 | ><HR><H2 | ||
20089 | CLASS="section" | ||
20090 | ><A | ||
20091 | NAME="AEN5817" | ||
20092 | >C.14. Texture Animation | ||
20093 | Constants</A | ||
20094 | ></H2 | ||
20095 | ><P | ||
20096 | >These constants are used in the <A | ||
20097 | HREF="#AEN4140" | ||
20098 | >llSetTextureAnim</A | ||
20099 | > api to | ||
20100 | control the animation mode.</P | ||
20101 | ><P | ||
20102 | ></P | ||
20103 | ><DIV | ||
20104 | CLASS="variablelist" | ||
20105 | ><P | ||
20106 | ><B | ||
20107 | >Texture Animation Constants</B | ||
20108 | ></P | ||
20109 | ><DL | ||
20110 | ><DT | ||
20111 | >ANIM_ON</DT | ||
20112 | ><DD | ||
20113 | ><P | ||
20114 | >Texture animation is on.</P | ||
20115 | ></DD | ||
20116 | ><DT | ||
20117 | >LOOP</DT | ||
20118 | ><DD | ||
20119 | ><P | ||
20120 | >Loop the texture animation.</P | ||
20121 | ></DD | ||
20122 | ><DT | ||
20123 | >REVERSE</DT | ||
20124 | ><DD | ||
20125 | ><P | ||
20126 | >Play animation in reverse direction.</P | ||
20127 | ></DD | ||
20128 | ><DT | ||
20129 | >PING_PONG</DT | ||
20130 | ><DD | ||
20131 | ><P | ||
20132 | >play animation going forwards, then | ||
20133 | backwards.</P | ||
20134 | ></DD | ||
20135 | ><DT | ||
20136 | >SMOOTH</DT | ||
20137 | ><DD | ||
20138 | ><P | ||
20139 | >slide in the X direction, instead of playing | ||
20140 | separate frames.</P | ||
20141 | ></DD | ||
20142 | ><DT | ||
20143 | >ROTATE</DT | ||
20144 | ><DD | ||
20145 | ><P | ||
20146 | >Animate texture rotation.</P | ||
20147 | ></DD | ||
20148 | ><DT | ||
20149 | >SCALE</DT | ||
20150 | ><DD | ||
20151 | ><P | ||
20152 | >Animate the texture scale.</P | ||
20153 | ></DD | ||
20154 | ></DL | ||
20155 | ></DIV | ||
20156 | ></DIV | ||
20157 | ><DIV | ||
20158 | CLASS="section" | ||
20159 | ><HR><H2 | ||
20160 | CLASS="section" | ||
20161 | ><A | ||
20162 | NAME="AEN5851" | ||
20163 | >C.15. Particle System Constants</A | ||
20164 | ></H2 | ||
20165 | ><P | ||
20166 | >These constants are used in calls to the <A | ||
20167 | HREF="#AEN3149" | ||
20168 | >llParticleSystem</A | ||
20169 | > api to | ||
20170 | specify parameters.</P | ||
20171 | ><P | ||
20172 | ></P | ||
20173 | ><DIV | ||
20174 | CLASS="variablelist" | ||
20175 | ><P | ||
20176 | ><B | ||
20177 | >Particle System Parameters</B | ||
20178 | ></P | ||
20179 | ><DL | ||
20180 | ><DT | ||
20181 | >PSYS_PART_FLAGS</DT | ||
20182 | ><DD | ||
20183 | ><P | ||
20184 | >Each particle that is emitted by the particle system | ||
20185 | is simulated based on the following flags. To use multiple | ||
20186 | flags, bitwise or (|) them together.</P | ||
20187 | ><P | ||
20188 | ></P | ||
20189 | ><DIV | ||
20190 | CLASS="variablelist" | ||
20191 | ><P | ||
20192 | ><B | ||
20193 | >PSYS_PART_FLAGS Values</B | ||
20194 | ></P | ||
20195 | ><DL | ||
20196 | ><DT | ||
20197 | >PSYS_PART_INTERP_COLOR_MASK</DT | ||
20198 | ><DD | ||
20199 | ><P | ||
20200 | >Interpolate both the color and alpha | ||
20201 | from the start value to the end | ||
20202 | value.</P | ||
20203 | ></DD | ||
20204 | ><DT | ||
20205 | >PSYS_PART_INTERP_SCALE_MASK</DT | ||
20206 | ><DD | ||
20207 | ><P | ||
20208 | >Interpolate the particle scale from | ||
20209 | the start value to the end value.</P | ||
20210 | ></DD | ||
20211 | ><DT | ||
20212 | >PSYS_PART_WIND_MASK</DT | ||
20213 | ><DD | ||
20214 | ><P | ||
20215 | >Particles have their velocity damped | ||
20216 | towards the wind velocity.</P | ||
20217 | ></DD | ||
20218 | ><DT | ||
20219 | >PSYS_PART_BOUNCE_MASK</DT | ||
20220 | ><DD | ||
20221 | ><P | ||
20222 | >Particles bounce off of a plane at the | ||
20223 | object's Z height.</P | ||
20224 | ></DD | ||
20225 | ><DT | ||
20226 | >PSYS_PART_FOLLOW_SRC_MASK</DT | ||
20227 | ><DD | ||
20228 | ><P | ||
20229 | >The particle position is relative to | ||
20230 | the source object's position.</P | ||
20231 | ></DD | ||
20232 | ><DT | ||
20233 | >PSYS_PART_FOLLOW_VELOCITY_MASK</DT | ||
20234 | ><DD | ||
20235 | ><P | ||
20236 | >The particle orientation is rotated so | ||
20237 | the vertical axis faces towards the particle | ||
20238 | velocity.</P | ||
20239 | ></DD | ||
20240 | ><DT | ||
20241 | >PSYS_PART_TARGET_POS_MASK</DT | ||
20242 | ><DD | ||
20243 | ><P | ||
20244 | >The particle heads towards the | ||
20245 | location of the target object as defined by | ||
20246 | PSYS_SRC_TARGET_KEY.</P | ||
20247 | ></DD | ||
20248 | ><DT | ||
20249 | >PSYS_PART_EMISSIVE_MASK</DT | ||
20250 | ><DD | ||
20251 | ><P | ||
20252 | >The particle glows.</P | ||
20253 | ></DD | ||
20254 | ><DT | ||
20255 | >PSYS_PART_RANDOM_ACCEL_MASK</DT | ||
20256 | ><DD | ||
20257 | ><P | ||
20258 | >(not implemented)</P | ||
20259 | ></DD | ||
20260 | ><DT | ||
20261 | >PSYS_PART_RANDOM_VEL_MASK</DT | ||
20262 | ><DD | ||
20263 | ><P | ||
20264 | >(not implemented)</P | ||
20265 | ></DD | ||
20266 | ><DT | ||
20267 | >PSYS_PART_TRAIL_MASK</DT | ||
20268 | ><DD | ||
20269 | ><P | ||
20270 | >(not implemented)</P | ||
20271 | ></DD | ||
20272 | ></DL | ||
20273 | ></DIV | ||
20274 | ></DD | ||
20275 | ><DT | ||
20276 | >PSYS_SRC_PATTERN</DT | ||
20277 | ><DD | ||
20278 | ><P | ||
20279 | >The pattern which is used to generate particles. Use | ||
20280 | one of the following values:</P | ||
20281 | ><P | ||
20282 | ></P | ||
20283 | ><DIV | ||
20284 | CLASS="variablelist" | ||
20285 | ><P | ||
20286 | ><B | ||
20287 | >PSYS_SRC_PATTERN Values</B | ||
20288 | ></P | ||
20289 | ><DL | ||
20290 | ><DT | ||
20291 | >PSYS_SRC_PATTERN_DROP</DT | ||
20292 | ><DD | ||
20293 | ><P | ||
20294 | >Drop particles at the source | ||
20295 | position.</P | ||
20296 | ></DD | ||
20297 | ><DT | ||
20298 | >PSYS_SRC_PATTERN_EXPLODE</DT | ||
20299 | ><DD | ||
20300 | ><P | ||
20301 | >Shoot particles out in all directions, | ||
20302 | using the burst parameters.</P | ||
20303 | ></DD | ||
20304 | ><DT | ||
20305 | >PSYS_SRC_PATTERN_ANGLE</DT | ||
20306 | ><DD | ||
20307 | ><P | ||
20308 | >Shoot particles across a 2 dimensional | ||
20309 | area defined by the arc created from | ||
20310 | PSYS_SRC_OUTERANGLE. There will be an open area | ||
20311 | defined by PSYS_SRC_INNERANGLE within the larger | ||
20312 | arc.</P | ||
20313 | ></DD | ||
20314 | ><DT | ||
20315 | >PSYS_SRC_PATTERN_ANGLE_CONE</DT | ||
20316 | ><DD | ||
20317 | ><P | ||
20318 | >Shoot particles out in a 3 dimensional | ||
20319 | cone with an outer arc of PSYS_SRC_OUTERANGLE and an | ||
20320 | inner open area defined by | ||
20321 | PSYS_SRC_INNERANGLE.</P | ||
20322 | ></DD | ||
20323 | ></DL | ||
20324 | ></DIV | ||
20325 | ></DD | ||
20326 | ><DT | ||
20327 | >PSYS_PART_START_COLOR</DT | ||
20328 | ><DD | ||
20329 | ><P | ||
20330 | >a vector <r,g,b> which determines the starting | ||
20331 | color of the object.</P | ||
20332 | ></DD | ||
20333 | ><DT | ||
20334 | >PSYS_PART_START_ALPHA</DT | ||
20335 | ><DD | ||
20336 | ><P | ||
20337 | >a float which determines the starting alpha of | ||
20338 | the object.</P | ||
20339 | ></DD | ||
20340 | ><DT | ||
20341 | >PSYS_PART_END_COLOR</DT | ||
20342 | ><DD | ||
20343 | ><P | ||
20344 | >a vector <r, g, b> which determines the ending | ||
20345 | color of the object.</P | ||
20346 | ></DD | ||
20347 | ><DT | ||
20348 | >PSYS_PART_END_ALPHA</DT | ||
20349 | ><DD | ||
20350 | ><P | ||
20351 | >a float which determines the ending alpha of | ||
20352 | the object.</P | ||
20353 | ></DD | ||
20354 | ><DT | ||
20355 | >PSYS_PART_START_SCALE</DT | ||
20356 | ><DD | ||
20357 | ><P | ||
20358 | >a vector <sx, sy, z>, which is the starting | ||
20359 | size of the particle billboard in meters (z is | ||
20360 | ignored).</P | ||
20361 | ></DD | ||
20362 | ><DT | ||
20363 | >PSYS_PART_END_SCALE</DT | ||
20364 | ><DD | ||
20365 | ><P | ||
20366 | >a vector <sx, sy, z>, which is the ending size | ||
20367 | of the particle billboard in meters (z is | ||
20368 | ignored).</P | ||
20369 | ></DD | ||
20370 | ><DT | ||
20371 | >PSYS_PART_MAX_AGE</DT | ||
20372 | ><DD | ||
20373 | ><P | ||
20374 | >age in seconds of a particle at which it | ||
20375 | dies.</P | ||
20376 | ></DD | ||
20377 | ><DT | ||
20378 | >PSYS_SRC_ACCEL</DT | ||
20379 | ><DD | ||
20380 | ><P | ||
20381 | >a vector <x, y, z> which is the acceleration | ||
20382 | to apply on particles.</P | ||
20383 | ></DD | ||
20384 | ><DT | ||
20385 | >PSYS_SRC_TEXTURE</DT | ||
20386 | ><DD | ||
20387 | ><P | ||
20388 | >an asset name for the texture to use for the | ||
20389 | particles.</P | ||
20390 | ></DD | ||
20391 | ><DT | ||
20392 | >PSYS_SRC_BURST_RATE</DT | ||
20393 | ><DD | ||
20394 | ><P | ||
20395 | >how often to release a particle burst (float | ||
20396 | seconds).</P | ||
20397 | ></DD | ||
20398 | ><DT | ||
20399 | >PSYS_SRC_INNERANGLE</DT | ||
20400 | ><DD | ||
20401 | ><P | ||
20402 | >specifies the inner angle of the arc created | ||
20403 | by the PSYS_SRC_PATTERN_ANGLE or | ||
20404 | PSYS_SRC_PATTERN_ANGLE_CONE source pattern. The area | ||
20405 | specified will not have particles in it..</P | ||
20406 | ></DD | ||
20407 | ><DT | ||
20408 | >PSYS_SRC_OUTERANGLE</DT | ||
20409 | ><DD | ||
20410 | ><P | ||
20411 | >specifies the outer angle of the arc created | ||
20412 | by the PSYS_SRC_PATTERN_ANGLE or | ||
20413 | PSYS_SRC_PATTERN_ANGLE_CONE source pattern. The area | ||
20414 | between the outer and inner angle will be filled with | ||
20415 | particles..</P | ||
20416 | ></DD | ||
20417 | ><DT | ||
20418 | >PSYS_SRC_BURST_PART_COUNT</DT | ||
20419 | ><DD | ||
20420 | ><P | ||
20421 | >how many particles to release in a | ||
20422 | burst.</P | ||
20423 | ></DD | ||
20424 | ><DT | ||
20425 | >PSYS_SRC_BURST_RADIUS</DT | ||
20426 | ><DD | ||
20427 | ><P | ||
20428 | >what distance from the center of the object to | ||
20429 | create the particles.</P | ||
20430 | ></DD | ||
20431 | ><DT | ||
20432 | >PSYS_SRC_BURST_SPEED_MIN</DT | ||
20433 | ><DD | ||
20434 | ><P | ||
20435 | >minimum speed that a particle should be | ||
20436 | moving.</P | ||
20437 | ></DD | ||
20438 | ><DT | ||
20439 | >PSYS_SRC_BURST_SPEED_MAX</DT | ||
20440 | ><DD | ||
20441 | ><P | ||
20442 | >maximum speed that a particle should be | ||
20443 | moving.</P | ||
20444 | ></DD | ||
20445 | ><DT | ||
20446 | >PSYS_SRC_MAX_AGE</DT | ||
20447 | ><DD | ||
20448 | ><P | ||
20449 | >how long this particle system should last, 0.0 | ||
20450 | means forever.</P | ||
20451 | ></DD | ||
20452 | ><DT | ||
20453 | >PSYS_SRC_TARGET_KEY</DT | ||
20454 | ><DD | ||
20455 | ><P | ||
20456 | >the key of a target object to move towards if | ||
20457 | PSYS_PART_TARGET_POS_MASK is enabled.</P | ||
20458 | ></DD | ||
20459 | ><DT | ||
20460 | >PSYS_SRC_OMEGA</DT | ||
20461 | ><DD | ||
20462 | ><P | ||
20463 | >Sets the angular velocity to rotate the axis | ||
20464 | that SRC_PATTERN_ANGLE and SRC_PATTERN_ANGLE_CONE | ||
20465 | use..</P | ||
20466 | ></DD | ||
20467 | ></DL | ||
20468 | ></DIV | ||
20469 | ></DIV | ||
20470 | ><DIV | ||
20471 | CLASS="section" | ||
20472 | ><HR><H2 | ||
20473 | CLASS="section" | ||
20474 | ><A | ||
20475 | NAME="AEN6005" | ||
20476 | >C.16. Agent Data Constants</A | ||
20477 | ></H2 | ||
20478 | ><P | ||
20479 | >These constants are used in calls to the <A | ||
20480 | HREF="#AEN3346" | ||
20481 | >llRequestAgentData</A | ||
20482 | > api to | ||
20483 | collect information about an agent which will be provided in the | ||
20484 | <A | ||
20485 | HREF="#AEN4997" | ||
20486 | >dataserver event</A | ||
20487 | >.</P | ||
20488 | ><P | ||
20489 | ></P | ||
20490 | ><DIV | ||
20491 | CLASS="variablelist" | ||
20492 | ><P | ||
20493 | ><B | ||
20494 | >Agent Data Constants</B | ||
20495 | ></P | ||
20496 | ><DL | ||
20497 | ><DT | ||
20498 | >DATA_ONLINE</DT | ||
20499 | ><DD | ||
20500 | ><P | ||
20501 | >"1" for online "0" for | ||
20502 | offline.</P | ||
20503 | ></DD | ||
20504 | ><DT | ||
20505 | >DATA_NAME</DT | ||
20506 | ><DD | ||
20507 | ><P | ||
20508 | >The name of the agent.</P | ||
20509 | ></DD | ||
20510 | ><DT | ||
20511 | >DATA_BORN</DT | ||
20512 | ><DD | ||
20513 | ><P | ||
20514 | >The date the agent was born returned in ISO | ||
20515 | 8601 format of YYYY-MM-DD.</P | ||
20516 | ></DD | ||
20517 | ><DT | ||
20518 | >DATA_RATING</DT | ||
20519 | ><DD | ||
20520 | ><P | ||
20521 | >Returns the agent ratings as a comma separated | ||
20522 | string of six integers. They are: | ||
20523 | <P | ||
20524 | ></P | ||
20525 | ><OL | ||
20526 | TYPE="1" | ||
20527 | ><LI | ||
20528 | ><P | ||
20529 | >Positive rated behavior</P | ||
20530 | ></LI | ||
20531 | ><LI | ||
20532 | ><P | ||
20533 | >Negative rated behavior</P | ||
20534 | ></LI | ||
20535 | ><LI | ||
20536 | ><P | ||
20537 | >Positive rated appearance</P | ||
20538 | ></LI | ||
20539 | ><LI | ||
20540 | ><P | ||
20541 | >Negative rated appearance</P | ||
20542 | ></LI | ||
20543 | ><LI | ||
20544 | ><P | ||
20545 | >Positive rated building</P | ||
20546 | ></LI | ||
20547 | ><LI | ||
20548 | ><P | ||
20549 | >Negative rated building</P | ||
20550 | ></LI | ||
20551 | ></OL | ||
20552 | > | ||
20553 | </P | ||
20554 | ></DD | ||
20555 | ></DL | ||
20556 | ></DIV | ||
20557 | ></DIV | ||
20558 | ><DIV | ||
20559 | CLASS="section" | ||
20560 | ><HR><H2 | ||
20561 | CLASS="section" | ||
20562 | ><A | ||
20563 | NAME="AEN6041" | ||
20564 | >C.17. Float Constants</A | ||
20565 | ></H2 | ||
20566 | ><P | ||
20567 | >LSL provides a small collection of floating point constants | ||
20568 | for use in float arithmetic. These constants are usually employed | ||
20569 | while performing trigonometric calculations, but are sometimes | ||
20570 | useful for other applications such as specifying arc radians to | ||
20571 | sensor or particle system functions.</P | ||
20572 | ><P | ||
20573 | ></P | ||
20574 | ><DIV | ||
20575 | CLASS="variablelist" | ||
20576 | ><P | ||
20577 | ><B | ||
20578 | >Float Constants</B | ||
20579 | ></P | ||
20580 | ><DL | ||
20581 | ><DT | ||
20582 | >PI</DT | ||
20583 | ><DD | ||
20584 | ><P | ||
20585 | >3.14159265 - The radians of a | ||
20586 | hemicircle.</P | ||
20587 | ></DD | ||
20588 | ><DT | ||
20589 | >TWO_PI</DT | ||
20590 | ><DD | ||
20591 | ><P | ||
20592 | >6.28318530 - The radians of a | ||
20593 | circle.</P | ||
20594 | ></DD | ||
20595 | ><DT | ||
20596 | >PI_BY_TWO</DT | ||
20597 | ><DD | ||
20598 | ><P | ||
20599 | >1.57079633 - The radians of a quarter | ||
20600 | circle.</P | ||
20601 | ></DD | ||
20602 | ><DT | ||
20603 | >DEG_TO_RAD</DT | ||
20604 | ><DD | ||
20605 | ><P | ||
20606 | >0.01745329 - Number of radians per degree. | ||
20607 | You can use this to convert degrees to radians by multiplying | ||
20608 | the degrees by this number.</P | ||
20609 | ></DD | ||
20610 | ><DT | ||
20611 | >RAD_TO_DEG</DT | ||
20612 | ><DD | ||
20613 | ><P | ||
20614 | >57.2957795 - Number of degrees per radian. You | ||
20615 | can use this number to convert radians to degrees by | ||
20616 | multiplying the radians by this number.</P | ||
20617 | ></DD | ||
20618 | ><DT | ||
20619 | >SQRT2</DT | ||
20620 | ><DD | ||
20621 | ><P | ||
20622 | >1.41421356 - The square root of 2.</P | ||
20623 | ></DD | ||
20624 | ></DL | ||
20625 | ></DIV | ||
20626 | ></DIV | ||
20627 | ><DIV | ||
20628 | CLASS="section" | ||
20629 | ><HR><H2 | ||
20630 | CLASS="section" | ||
20631 | ><A | ||
20632 | NAME="AEN6070" | ||
20633 | >C.18. Key Constant</A | ||
20634 | ></H2 | ||
20635 | ><P | ||
20636 | >There is only one key constant which acts as an invalid | ||
20637 | key: NULL_KEY.</P | ||
20638 | ></DIV | ||
20639 | ><DIV | ||
20640 | CLASS="section" | ||
20641 | ><HR><H2 | ||
20642 | CLASS="section" | ||
20643 | ><A | ||
20644 | NAME="AEN6073" | ||
20645 | >C.19. Miscellaneous Integer Constants</A | ||
20646 | ></H2 | ||
20647 | ><P | ||
20648 | >There is one uncategorized integer constant which is used in | ||
20649 | some of the texturing and coloring api: ALL_SIDES</P | ||
20650 | ></DIV | ||
20651 | ><DIV | ||
20652 | CLASS="section" | ||
20653 | ><HR><H2 | ||
20654 | CLASS="section" | ||
20655 | ><A | ||
20656 | NAME="AEN6076" | ||
20657 | >C.20. Miscellaneous String | ||
20658 | Constants</A | ||
20659 | ></H2 | ||
20660 | ><P | ||
20661 | >There is one uncategorized string constant | ||
20662 | which is used in the <A | ||
20663 | HREF="#AEN4997" | ||
20664 | >dataserver</A | ||
20665 | > event: | ||
20666 | EOF</P | ||
20667 | ></DIV | ||
20668 | ><DIV | ||
20669 | CLASS="section" | ||
20670 | ><HR><H2 | ||
20671 | CLASS="section" | ||
20672 | ><A | ||
20673 | NAME="AEN6080" | ||
20674 | >C.21. Vector Constant</A | ||
20675 | ></H2 | ||
20676 | ><P | ||
20677 | >There is only one vector constant which acts as a zero | ||
20678 | vector: ZERO_VECTOR = <0,0,0>.</P | ||
20679 | ></DIV | ||
20680 | ><DIV | ||
20681 | CLASS="section" | ||
20682 | ><HR><H2 | ||
20683 | CLASS="section" | ||
20684 | ><A | ||
20685 | NAME="AEN6083" | ||
20686 | >C.22. Rotation Constant</A | ||
20687 | ></H2 | ||
20688 | ><P | ||
20689 | >There is only one rotation constant which acts as a zero | ||
20690 | rotation: ZERO_ROTATION = <0,0,0,1>.</P | ||
20691 | ></DIV | ||
20692 | ><DIV | ||
20693 | CLASS="section" | ||
20694 | ><HR><H2 | ||
20695 | CLASS="section" | ||
20696 | ><A | ||
20697 | NAME="AEN6086" | ||
20698 | >C.23. Simulator Data Constants</A | ||
20699 | ></H2 | ||
20700 | ><P | ||
20701 | >These constants are used in calls to the <A | ||
20702 | HREF="#AEN3391" | ||
20703 | >llRequestSimulatorData</A | ||
20704 | > api to | ||
20705 | collect information about a simulator which will be provided in the | ||
20706 | <A | ||
20707 | HREF="#AEN4997" | ||
20708 | >dataserver event</A | ||
20709 | >.</P | ||
20710 | ><P | ||
20711 | ></P | ||
20712 | ><DIV | ||
20713 | CLASS="variablelist" | ||
20714 | ><P | ||
20715 | ><B | ||
20716 | >Simulator Data Constants</B | ||
20717 | ></P | ||
20718 | ><DL | ||
20719 | ><DT | ||
20720 | >DATA_SIM_POS</DT | ||
20721 | ><DD | ||
20722 | ><P | ||
20723 | >The global position of the simulator. Cast the | ||
20724 | value to a vector.</P | ||
20725 | ></DD | ||
20726 | ><DT | ||
20727 | >DATA_SIM_STATUS</DT | ||
20728 | ><DD | ||
20729 | ><P | ||
20730 | >The status of the simulator. Currently, this may be one of the following: | ||
20731 | <P | ||
20732 | ></P | ||
20733 | ><UL | ||
20734 | ><LI | ||
20735 | STYLE="list-style-type: opencircle" | ||
20736 | ><P | ||
20737 | >up</P | ||
20738 | ></LI | ||
20739 | ><LI | ||
20740 | STYLE="list-style-type: opencircle" | ||
20741 | ><P | ||
20742 | >down</P | ||
20743 | ></LI | ||
20744 | ><LI | ||
20745 | STYLE="list-style-type: opencircle" | ||
20746 | ><P | ||
20747 | >stopping</P | ||
20748 | ></LI | ||
20749 | ><LI | ||
20750 | STYLE="list-style-type: opencircle" | ||
20751 | ><P | ||
20752 | >starting</P | ||
20753 | ></LI | ||
20754 | ><LI | ||
20755 | STYLE="list-style-type: opencircle" | ||
20756 | ><P | ||
20757 | >crashed</P | ||
20758 | ></LI | ||
20759 | ></UL | ||
20760 | > | ||
20761 | </P | ||
20762 | ></DD | ||
20763 | ></DL | ||
20764 | ></DIV | ||
20765 | ></DIV | ||
20766 | ><DIV | ||
20767 | CLASS="section" | ||
20768 | ><HR><H2 | ||
20769 | CLASS="section" | ||
20770 | ><A | ||
20771 | NAME="AEN6112" | ||
20772 | >C.24. Vehicle Parameters</A | ||
20773 | ></H2 | ||
20774 | ><P | ||
20775 | ></P | ||
20776 | ><DIV | ||
20777 | CLASS="variablelist" | ||
20778 | ><P | ||
20779 | ><B | ||
20780 | >Parameters</B | ||
20781 | ></P | ||
20782 | ><DL | ||
20783 | ><DT | ||
20784 | ><A | ||
20785 | HREF="#AEN956" | ||
20786 | >VEHICLE_LINEAR_FRICTION_TIMESCALE</A | ||
20787 | ></DT | ||
20788 | ><DD | ||
20789 | ><P | ||
20790 | >A vector of timescales for exponential decay of the | ||
20791 | vehicle's linear velocity along its preferred axes of motion (at, left, | ||
20792 | up). Range = [0.07, inf) seconds for each element of the vector. | ||
20793 | </P | ||
20794 | ></DD | ||
20795 | ><DT | ||
20796 | ><A | ||
20797 | HREF="#AEN956" | ||
20798 | >VEHICLE_ANGULAR_FRICTION_TIMESCALE</A | ||
20799 | ></DT | ||
20800 | ><DD | ||
20801 | ><P | ||
20802 | >A vector of timescales for exponential decay of the | ||
20803 | vehicle's angular velocity about its preferred axes of motion (at, | ||
20804 | left, up). Range = [0.07, inf) seconds for each element of the vector. | ||
20805 | </P | ||
20806 | ></DD | ||
20807 | ><DT | ||
20808 | ><A | ||
20809 | HREF="#AEN866" | ||
20810 | >VEHICLE_LINEAR_MOTOR_DIRECTION</A | ||
20811 | ></DT | ||
20812 | ><DD | ||
20813 | ><P | ||
20814 | >The direction and magnitude (in preferred frame) of the | ||
20815 | vehicle's linear motor. The vehicle will accelerate (or decelerate if | ||
20816 | necessary) to match its velocity to its motor. Range of magnitude = | ||
20817 | [0, 30] meters/second. | ||
20818 | </P | ||
20819 | ></DD | ||
20820 | ><DT | ||
20821 | ><A | ||
20822 | HREF="#AEN866" | ||
20823 | >VEHICLE_LINEAR_MOTOR_OFFSET</A | ||
20824 | ></DT | ||
20825 | ><DD | ||
20826 | ><P | ||
20827 | >The offset point from the vehicle's center of mass at which | ||
20828 | the linear motor's impulse is applied. This allows the linear motor | ||
20829 | to also cause rotational torque. Range of magnitude = [0, 100] | ||
20830 | meters.</P | ||
20831 | ></DD | ||
20832 | ><DT | ||
20833 | ><A | ||
20834 | HREF="#AEN866" | ||
20835 | >VEHICLE_LINEAR_MOTOR_TIMESCALE</A | ||
20836 | ></DT | ||
20837 | ><DD | ||
20838 | ><P | ||
20839 | >The timescale for exponential approach to full | ||
20840 | linear motor velocity.</P | ||
20841 | ></DD | ||
20842 | ><DT | ||
20843 | ><A | ||
20844 | HREF="#AEN866" | ||
20845 | >VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE</A | ||
20846 | ></DT | ||
20847 | ><DD | ||
20848 | ><P | ||
20849 | >The timescale for exponential decay of the linear | ||
20850 | motor's magnitude.</P | ||
20851 | ></DD | ||
20852 | ><DT | ||
20853 | ><A | ||
20854 | HREF="#AEN898" | ||
20855 | >VEHICLE_ANGULAR_MOTOR_DIRECTION</A | ||
20856 | ></DT | ||
20857 | ><DD | ||
20858 | ><P | ||
20859 | >The direction and magnitude (in preferred frame) | ||
20860 | of the vehicle's angular motor.The vehicle will accelerate (or | ||
20861 | decelerate if necessary) to match its velocity to its | ||
20862 | motor.</P | ||
20863 | ></DD | ||
20864 | ><DT | ||
20865 | ><A | ||
20866 | HREF="#AEN898" | ||
20867 | >VEHICLE_ANGULAR_MOTOR_TIMESCALE</A | ||
20868 | ></DT | ||
20869 | ><DD | ||
20870 | ><P | ||
20871 | >The timescale for exponential approach to full | ||
20872 | angular motor velocity.</P | ||
20873 | ></DD | ||
20874 | ><DT | ||
20875 | ><A | ||
20876 | HREF="#AEN898" | ||
20877 | >VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE</A | ||
20878 | ></DT | ||
20879 | ><DD | ||
20880 | ><P | ||
20881 | >The timescale for exponential decay of the angular | ||
20882 | motor's magnitude.</P | ||
20883 | ></DD | ||
20884 | ><DT | ||
20885 | ><A | ||
20886 | HREF="#AEN979" | ||
20887 | >VEHICLE_HOVER_HEIGHT</A | ||
20888 | ></DT | ||
20889 | ><DD | ||
20890 | ><P | ||
20891 | >The height (above the terrain or water, or global) | ||
20892 | at which the vehicle will try to hover.</P | ||
20893 | ></DD | ||
20894 | ><DT | ||
20895 | ><A | ||
20896 | HREF="#AEN979" | ||
20897 | >VEHICLE_HOVER_EFFICIENCY</A | ||
20898 | ></DT | ||
20899 | ><DD | ||
20900 | ><P | ||
20901 | >A slider between minimum (0.0 = bouncy) and | ||
20902 | maximum (1.0 = fast as possible) damped motion of the hover | ||
20903 | behavior.</P | ||
20904 | ></DD | ||
20905 | ><DT | ||
20906 | ><A | ||
20907 | HREF="#AEN979" | ||
20908 | >VEHICLE_HOVER_TIMESCALE</A | ||
20909 | ></DT | ||
20910 | ><DD | ||
20911 | ><P | ||
20912 | >The period of bounce (or timescale of exponential | ||
20913 | approach, depending on the hover efficiency) for the vehicle to | ||
20914 | hover to the proper height.</P | ||
20915 | ></DD | ||
20916 | ><DT | ||
20917 | ><A | ||
20918 | HREF="#AEN972" | ||
20919 | >VEHICLE_BUOYANCY</A | ||
20920 | ></DT | ||
20921 | ><DD | ||
20922 | ><P | ||
20923 | >A slider between minimum (0.0) and maximum | ||
20924 | anti-gravity (1.0).</P | ||
20925 | ></DD | ||
20926 | ><DT | ||
20927 | ><A | ||
20928 | HREF="#vehicle_linear_deflection" | ||
20929 | >VEHICLE_LINEAR_DEFLECTION_EFFICIENCY</A | ||
20930 | ></DT | ||
20931 | ><DD | ||
20932 | ><P | ||
20933 | >A slider between minimum (0.0) and maximum (1.0) | ||
20934 | deflection of linear velocity. That is, it's a simple scalar for | ||
20935 | modulating the strength of linear deflection.</P | ||
20936 | ></DD | ||
20937 | ><DT | ||
20938 | ><A | ||
20939 | HREF="#vehicle_linear_deflection" | ||
20940 | >VEHICLE_LINEAR_DEFLECTION_TIMESCALE</A | ||
20941 | ></DT | ||
20942 | ><DD | ||
20943 | ><P | ||
20944 | >The timescale for exponential success of linear | ||
20945 | deflection. It is another way to specify how much time | ||
20946 | it takes for the vehicle's linear velocity to be redirected to | ||
20947 | it's preferred axis of motion.</P | ||
20948 | ></DD | ||
20949 | ><DT | ||
20950 | ><A | ||
20951 | HREF="#vehicle_angular_deflection" | ||
20952 | >VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY</A | ||
20953 | ></DT | ||
20954 | ><DD | ||
20955 | ><P | ||
20956 | >A slider between minimum (0.0) and maximum (1.0) | ||
20957 | deflection of angular orientation. That is, it's a simple scalar | ||
20958 | for modulating the strength of angular deflection such that the | ||
20959 | vehicle's preferred axis of motion points toward it's real | ||
20960 | velocity.</P | ||
20961 | ></DD | ||
20962 | ><DT | ||
20963 | ><A | ||
20964 | HREF="#vehicle_angular_deflection" | ||
20965 | >VEHICLE_ANGULAR_DEFLECTION_TIMESCALE</A | ||
20966 | ></DT | ||
20967 | ><DD | ||
20968 | ><P | ||
20969 | >The timescale for exponential success of angular | ||
20970 | deflection. It's another way to specify the strength | ||
20971 | of the vehicle's tendency to reorient itself so that it's | ||
20972 | preferred axis of motion agrees with it's true | ||
20973 | velocity.</P | ||
20974 | ></DD | ||
20975 | ><DT | ||
20976 | ><A | ||
20977 | HREF="#AEN938" | ||
20978 | >VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY</A | ||
20979 | ></DT | ||
20980 | ><DD | ||
20981 | ><P | ||
20982 | >A slider between minimum (0.0 = wobbly) and | ||
20983 | maximum (1.0 = firm as possible) stability of the vehicle to keep | ||
20984 | itself upright.</P | ||
20985 | ></DD | ||
20986 | ><DT | ||
20987 | ><A | ||
20988 | HREF="#AEN938" | ||
20989 | >VEHICLE_VERTICAL_ATTRACTION_TIMESCALE</A | ||
20990 | ></DT | ||
20991 | ><DD | ||
20992 | ><P | ||
20993 | >The period of wobble, or timescale for exponential | ||
20994 | approach, of the vehicle to rotate such that it's preferred | ||
20995 | "up" axis is oriented along the world's "up" | ||
20996 | axis.</P | ||
20997 | ></DD | ||
20998 | ><DT | ||
20999 | ><A | ||
21000 | HREF="#AEN949" | ||
21001 | >VEHICLE_BANKING_EFFICIENCY</A | ||
21002 | ></DT | ||
21003 | ><DD | ||
21004 | ><P | ||
21005 | >A slider between anti (-1.0), none (0.0), and | ||
21006 | maximum (1.0) banking strength.</P | ||
21007 | ></DD | ||
21008 | ><DT | ||
21009 | ><A | ||
21010 | HREF="#AEN949" | ||
21011 | >VEHICLE_BANKING_MIX</A | ||
21012 | ></DT | ||
21013 | ><DD | ||
21014 | ><P | ||
21015 | >A slider between static (0.0) and dynamic (1.0) | ||
21016 | banking. "Static" means the banking scales only with the | ||
21017 | angle of roll, whereas "dynamic" is a term that also | ||
21018 | scales with the vehicle's linear speed.</P | ||
21019 | ></DD | ||
21020 | ><DT | ||
21021 | ><A | ||
21022 | HREF="#AEN949" | ||
21023 | >VEHICLE_BANKING_TIMESCALE</A | ||
21024 | ></DT | ||
21025 | ><DD | ||
21026 | ><P | ||
21027 | >The timescale for banking to exponentially | ||
21028 | approach it's maximum effect. This is another way to scale the | ||
21029 | strength of the banking effect, however it affects the term that | ||
21030 | is proportional to the difference between what the banking | ||
21031 | behavior is trying to do, and what the vehicle is actually | ||
21032 | doing.</P | ||
21033 | ></DD | ||
21034 | ><DT | ||
21035 | ><A | ||
21036 | HREF="#AEN990" | ||
21037 | >VEHICLE_REFERENCE_FRAME</A | ||
21038 | ></DT | ||
21039 | ><DD | ||
21040 | ><P | ||
21041 | >A rotation of the vehicle's preferred axes of | ||
21042 | motion and orientation (at, left, up) with respect to the | ||
21043 | vehicle's local frame (x, y, z).</P | ||
21044 | ></DD | ||
21045 | ></DL | ||
21046 | ></DIV | ||
21047 | ></DIV | ||
21048 | ><DIV | ||
21049 | CLASS="section" | ||
21050 | ><HR><H2 | ||
21051 | CLASS="section" | ||
21052 | ><A | ||
21053 | NAME="AEN6231" | ||
21054 | >C.25. Vehicle Flags</A | ||
21055 | ></H2 | ||
21056 | ><P | ||
21057 | ></P | ||
21058 | ><DIV | ||
21059 | CLASS="variablelist" | ||
21060 | ><P | ||
21061 | ><B | ||
21062 | >Flags</B | ||
21063 | ></P | ||
21064 | ><DL | ||
21065 | ><DT | ||
21066 | ><A | ||
21067 | NAME="const_vehicle_flag_no_deflection_up" | ||
21068 | ></A | ||
21069 | >VEHICLE_FLAG_NO_DEFLECTION_UP</DT | ||
21070 | ><DD | ||
21071 | ><P | ||
21072 | >This flag prevents | ||
21073 | <A | ||
21074 | HREF="#vehicle_linear_deflection" | ||
21075 | >linear deflection</A | ||
21076 | > | ||
21077 | parallel to world z-axis. This is useful for preventing ground | ||
21078 | vehicles with large linear deflection, like bumper cars, from climbing | ||
21079 | their linear deflection into the sky.</P | ||
21080 | ></DD | ||
21081 | ><DT | ||
21082 | ><A | ||
21083 | NAME="const_vehicle_flag_limit_roll_only" | ||
21084 | ></A | ||
21085 | >VEHICLE_FLAG_LIMIT_ROLL_ONLY</DT | ||
21086 | ><DD | ||
21087 | ><P | ||
21088 | >For vehicles with | ||
21089 | <A | ||
21090 | HREF="#AEN938" | ||
21091 | >vertical attractor</A | ||
21092 | > | ||
21093 | that want to be able to climb/dive, for instance, airplanes that want | ||
21094 | to use the <A | ||
21095 | HREF="#AEN949" | ||
21096 | >banking</A | ||
21097 | > | ||
21098 | feature.</P | ||
21099 | ></DD | ||
21100 | ><DT | ||
21101 | ><A | ||
21102 | NAME="const_vehicle_flag_hover_water_only" | ||
21103 | ></A | ||
21104 | >VEHICLE_FLAG_HOVER_WATER_ONLY</DT | ||
21105 | ><DD | ||
21106 | ><P | ||
21107 | >Ignore terrain height when | ||
21108 | <A | ||
21109 | HREF="#AEN979" | ||
21110 | >hovering</A | ||
21111 | >.</P | ||
21112 | ></DD | ||
21113 | ><DT | ||
21114 | ><A | ||
21115 | NAME="const_vehicle_flag_hover_terrain_only" | ||
21116 | ></A | ||
21117 | >VEHICLE_FLAG_HOVER_TERRAIN_ONLY</DT | ||
21118 | ><DD | ||
21119 | ><P | ||
21120 | >Ignore water height when | ||
21121 | <A | ||
21122 | HREF="#AEN979" | ||
21123 | >hovering</A | ||
21124 | >.</P | ||
21125 | ></DD | ||
21126 | ><DT | ||
21127 | ><A | ||
21128 | NAME="const_vehicle_flag_hover_global_height" | ||
21129 | ></A | ||
21130 | >VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT</DT | ||
21131 | ><DD | ||
21132 | ><P | ||
21133 | ><A | ||
21134 | HREF="#AEN979" | ||
21135 | >Hover</A | ||
21136 | > at | ||
21137 | global height instead of height above ground or water.</P | ||
21138 | ></DD | ||
21139 | ><DT | ||
21140 | ><A | ||
21141 | NAME="const_vehicle_flag_hover_up_only" | ||
21142 | ></A | ||
21143 | >VEHICLE_FLAG_HOVER_UP_ONLY</DT | ||
21144 | ><DD | ||
21145 | ><P | ||
21146 | ><A | ||
21147 | HREF="#AEN979" | ||
21148 | >Hover</A | ||
21149 | > doesn't | ||
21150 | push down. Use this flag for hovering | ||
21151 | vehicles that should be able to jump above their | ||
21152 | <A | ||
21153 | HREF="#vehicle_hover_height" | ||
21154 | >hover height</A | ||
21155 | >. | ||
21156 | </P | ||
21157 | ></DD | ||
21158 | ><DT | ||
21159 | >VEHICLE_FLAG_LIMIT_MOTOR_UP</DT | ||
21160 | ><DD | ||
21161 | ><P | ||
21162 | >Prevents ground vehicles from motoring into the | ||
21163 | sky. This flag has a subtle effect when used with conjunction | ||
21164 | with <A | ||
21165 | HREF="#AEN949" | ||
21166 | >banking</A | ||
21167 | >: the strength | ||
21168 | of the banking will decay when the vehicle no longer experiences | ||
21169 | collisions. The decay timescale is the same as | ||
21170 | <A | ||
21171 | HREF="#vehicle_banking_timescale" | ||
21172 | >VEHICLE_BANKING_TIMESCALE | ||
21173 | </A | ||
21174 | >. This is to help prevent ground vehicles from steering | ||
21175 | when they are in mid jump. | ||
21176 | </P | ||
21177 | ></DD | ||
21178 | ><DT | ||
21179 | ><A | ||
21180 | NAME="const_vehicle_flag_mouselook_steer" | ||
21181 | ></A | ||
21182 | >VEHICLE_FLAG_MOUSELOOK_STEER</DT | ||
21183 | ><DD | ||
21184 | ><P | ||
21185 | >Steer the vehicle using the mouse. Use this | ||
21186 | flag to make the angular motor try to make the vehicle | ||
21187 | turn such that its <A | ||
21188 | HREF="#vehicle_roll_pitch_yaw" | ||
21189 | >local | ||
21190 | x-axis</A | ||
21191 | > points in the same direction as | ||
21192 | the client-side camera.</P | ||
21193 | ></DD | ||
21194 | ><DT | ||
21195 | ><A | ||
21196 | NAME="const_vehicle_flag_mouselook_bank" | ||
21197 | ></A | ||
21198 | >VEHICLE_FLAG_MOUSELOOK_BANK</DT | ||
21199 | ><DD | ||
21200 | ><P | ||
21201 | >Same as above, but relies on | ||
21202 | <A | ||
21203 | HREF="#AEN949" | ||
21204 | >banking</A | ||
21205 | >. It remaps | ||
21206 | left-right motions of the client camera (also known as "yaw") to | ||
21207 | rotations about the vehicle's <A | ||
21208 | HREF="#vehicle_roll_pitch_yaw" | ||
21209 | > local x-axis</A | ||
21210 | >. | ||
21211 | </P | ||
21212 | ></DD | ||
21213 | ><DT | ||
21214 | ><A | ||
21215 | NAME="const_vehicle_flag_camera_decoupled" | ||
21216 | ></A | ||
21217 | >VEHICLE_FLAG_CAMERA_DECOUPLED</DT | ||
21218 | ><DD | ||
21219 | ><P | ||
21220 | >Makes mouselook camera rotate independently of | ||
21221 | the vehicle. By default the client mouselook camera will rotate | ||
21222 | about with the vehicle, however when this flag is set the camera | ||
21223 | direction is independent of the vehicle's rotation. | ||
21224 | </P | ||
21225 | ></DD | ||
21226 | ></DL | ||
21227 | ></DIV | ||
21228 | ></DIV | ||
21229 | ><DIV | ||
21230 | CLASS="section" | ||
21231 | ><HR><H2 | ||
21232 | CLASS="section" | ||
21233 | ><A | ||
21234 | NAME="AEN6288" | ||
21235 | >C.26. Vehicle Types</A | ||
21236 | ></H2 | ||
21237 | ><P | ||
21238 | ></P | ||
21239 | ><DIV | ||
21240 | CLASS="variablelist" | ||
21241 | ><P | ||
21242 | ><B | ||
21243 | >Types</B | ||
21244 | ></P | ||
21245 | ><DL | ||
21246 | ><DT | ||
21247 | >VEHICLE_TYPE_SLED</DT | ||
21248 | ><DD | ||
21249 | ><P | ||
21250 | >Simple vehicle that bumps along the ground, and likes to move along | ||
21251 | it's local x-axis.</P | ||
21252 | ><DIV | ||
21253 | CLASS="informalexample" | ||
21254 | ><P | ||
21255 | ></P | ||
21256 | ><A | ||
21257 | NAME="AEN6296" | ||
21258 | ></A | ||
21259 | ><PRE | ||
21260 | CLASS="programlisting" | ||
21261 | > // most friction for left-right, least for up-down | ||
21262 | llSetVehicleVectorParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, <30, 1, 1000> ); | ||
21263 | |||
21264 | // no angular friction | ||
21265 | llSetVehicleVectorParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1000, 1000, 1000> ); | ||
21266 | |||
21267 | // no linear motor | ||
21268 | llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, <0, 0, 0> ); | ||
21269 | llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 1000 ); | ||
21270 | llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 120 ); | ||
21271 | |||
21272 | // no angular motor | ||
21273 | llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, <0, 0, 0> ); | ||
21274 | llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1000 ); | ||
21275 | llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 120 ); | ||
21276 | |||
21277 | // no hover (but with timescale of 10 sec if enabled) | ||
21278 | llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 0 ); | ||
21279 | llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 10 ); | ||
21280 | llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 10 ); | ||
21281 | llSetVehicleFloatParam( VEHICLE_BUOYANCY, 0 ); | ||
21282 | |||
21283 | // maximum linear deflection with timescale of 1 second | ||
21284 | llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 1 ); | ||
21285 | llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1 ); | ||
21286 | |||
21287 | // no angular deflection | ||
21288 | llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0 ); | ||
21289 | llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 10 ); | ||
21290 | |||
21291 | // no vertical attractor (doesn't mind flipping over) | ||
21292 | llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 1 ); | ||
21293 | llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 1000 ); | ||
21294 | |||
21295 | // no banking | ||
21296 | llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, 0 ); | ||
21297 | llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 1 ); | ||
21298 | llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 10 ); | ||
21299 | |||
21300 | // default rotation of local frame | ||
21301 | llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, <0, 0, 0, 1> ); | ||
21302 | |||
21303 | // remove these flags | ||
21304 | llRemoveVehicleFlags( VEHICLE_FLAG_HOVER_WATER_ONLY | ||
21305 | | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | ||
21306 | | VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT | ||
21307 | | VEHICLE_FLAG_HOVER_UP_ONLY ); | ||
21308 | |||
21309 | // set these flags (the limit_roll flag will have no effect | ||
21310 | // until banking is enabled, if ever) | ||
21311 | llSetVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP | ||
21312 | | VEHICLE_FLAG_LIMIT_ROLL_ONLY | ||
21313 | | VEHICLE_FLAG_LIMIT_MOTOR_UP ); | ||
21314 | </PRE | ||
21315 | ><P | ||
21316 | ></P | ||
21317 | ></DIV | ||
21318 | ></DD | ||
21319 | ><DT | ||
21320 | >VEHICLE_TYPE_CAR</DT | ||
21321 | ><DD | ||
21322 | ><P | ||
21323 | >Another vehicle that bounces along the ground but | ||
21324 | needs the motors to be driven from external controls or <A | ||
21325 | HREF="#AEN5211" | ||
21326 | >timer</A | ||
21327 | > events.</P | ||
21328 | ><DIV | ||
21329 | CLASS="informalexample" | ||
21330 | ><P | ||
21331 | ></P | ||
21332 | ><A | ||
21333 | NAME="AEN6303" | ||
21334 | ></A | ||
21335 | ><PRE | ||
21336 | CLASS="programlisting" | ||
21337 | > // most friction for left-right, least for up-down | ||
21338 | llSetVehicleVectorParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, <100, 2, 1000> ); | ||
21339 | |||
21340 | // no angular friction | ||
21341 | llSetVehicleVectorParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1000, 1000, 1000> ); | ||
21342 | |||
21343 | // linear motor wins after about a second, decays after about a minute | ||
21344 | llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, <0, 0, 0> ); | ||
21345 | llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 1 ); | ||
21346 | llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 60 ); | ||
21347 | |||
21348 | // angular motor wins after a second, decays in less time than that | ||
21349 | llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, <0, 0, 0> ); | ||
21350 | llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1 ); | ||
21351 | llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 0.8 ); | ||
21352 | |||
21353 | // no hover | ||
21354 | llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 0 ); | ||
21355 | llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 0 ); | ||
21356 | llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 1000 ); | ||
21357 | llSetVehicleFloatParam( VEHICLE_BUOYANCY, 0 ); | ||
21358 | |||
21359 | // maximum linear deflection with timescale of 2 seconds | ||
21360 | llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 1 ); | ||
21361 | llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 2 ); | ||
21362 | |||
21363 | // no angular deflection | ||
21364 | llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0 ); | ||
21365 | llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 10 ); | ||
21366 | |||
21367 | // critically damped vertical attractor | ||
21368 | llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 1 ); | ||
21369 | llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 10 ); | ||
21370 | |||
21371 | // weak negative critically damped banking | ||
21372 | llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, -0.2 ); | ||
21373 | llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 1 ); | ||
21374 | llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 1 ); | ||
21375 | |||
21376 | // default rotation of local frame | ||
21377 | llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, <0, 0, 0, 1> ); | ||
21378 | |||
21379 | // remove these flags | ||
21380 | llRemoveVehicleFlags( VEHICLE_FLAG_HOVER_WATER_ONLY | ||
21381 | | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | ||
21382 | | VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT); | ||
21383 | |||
21384 | // set these flags | ||
21385 | llSetVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP | ||
21386 | | VEHICLE_FLAG_LIMIT_ROLL_ONLY | ||
21387 | | VEHICLE_FLAG_HOVER_UP_ONLY | ||
21388 | | VEHICLE_FLAG_LIMIT_MOTOR_UP ); | ||
21389 | </PRE | ||
21390 | ><P | ||
21391 | ></P | ||
21392 | ></DIV | ||
21393 | ></DD | ||
21394 | ><DT | ||
21395 | >VEHICLE_TYPE_BOAT</DT | ||
21396 | ><DD | ||
21397 | ><P | ||
21398 | >Hovers over water with lots of friction and some angular deflection.</P | ||
21399 | ><DIV | ||
21400 | CLASS="informalexample" | ||
21401 | ><P | ||
21402 | ></P | ||
21403 | ><A | ||
21404 | NAME="AEN6309" | ||
21405 | ></A | ||
21406 | ><PRE | ||
21407 | CLASS="programlisting" | ||
21408 | > // least for forward-back, most friction for up-down | ||
21409 | llSetVehicleVectorParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, <10, 3, 2> ); | ||
21410 | |||
21411 | // uniform angular friction (setting it as a scalar rather than a vector) | ||
21412 | llSetVehicleFloatParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, 10 ); | ||
21413 | |||
21414 | // linear motor wins after about five seconds, decays after about a minute | ||
21415 | llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, <0, 0, 0> ); | ||
21416 | llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 5 ); | ||
21417 | llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 60 ); | ||
21418 | |||
21419 | // angular motor wins after four seconds, decays in same amount of time | ||
21420 | llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, <0, 0, 0> ); | ||
21421 | llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 4 ); | ||
21422 | llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 4 ); | ||
21423 | |||
21424 | // hover | ||
21425 | llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 0 ); | ||
21426 | llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 0.5 ); | ||
21427 | llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 2.0 ); | ||
21428 | llSetVehicleFloatParam( VEHICLE_BUOYANCY, 1 ); | ||
21429 | |||
21430 | // halfway linear deflection with timescale of 3 seconds | ||
21431 | llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.5 ); | ||
21432 | llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 3 ); | ||
21433 | |||
21434 | // angular deflection | ||
21435 | llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.5 ); | ||
21436 | llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 5 ); | ||
21437 | |||
21438 | // somewhat bouncy vertical attractor | ||
21439 | llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.5 ); | ||
21440 | llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 5 ); | ||
21441 | |||
21442 | // weak negative damped banking | ||
21443 | llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, -0.3 ); | ||
21444 | llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 0.8 ); | ||
21445 | llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 1 ); | ||
21446 | |||
21447 | // default rotation of local frame | ||
21448 | llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, <0, 0, 0, 1> ); | ||
21449 | |||
21450 | // remove these flags | ||
21451 | llRemoveVehicleFlags( VEHICLE_FLAG_HOVER_TERRAIN_ONLY | ||
21452 | | VEHICLE_FLAG_LIMIT_ROLL_ONLY | ||
21453 | | VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT); | ||
21454 | |||
21455 | // set these flags | ||
21456 | llSetVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP | ||
21457 | | VEHICLE_FLAG_HOVER_WATER_ONLY | ||
21458 | | VEHICLE_FLAG_HOVER_UP_ONLY | ||
21459 | | VEHICLE_FLAG_LIMIT_MOTOR_UP ); | ||
21460 | </PRE | ||
21461 | ><P | ||
21462 | ></P | ||
21463 | ></DIV | ||
21464 | ></DD | ||
21465 | ><DT | ||
21466 | >VEHICLE_TYPE_AIRPLANE</DT | ||
21467 | ><DD | ||
21468 | ><P | ||
21469 | >Uses linear deflection for lift, no hover, and banking to turn.</P | ||
21470 | ><DIV | ||
21471 | CLASS="informalexample" | ||
21472 | ><P | ||
21473 | ></P | ||
21474 | ><A | ||
21475 | NAME="AEN6315" | ||
21476 | ></A | ||
21477 | ><PRE | ||
21478 | CLASS="programlisting" | ||
21479 | > // very little friction along forward-back axis | ||
21480 | llSetVehicleVectorParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, <200, 10, 5> ); | ||
21481 | |||
21482 | // uniform angular friction | ||
21483 | llSetVehicleFloatParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, 20 ); | ||
21484 | |||
21485 | // linear motor | ||
21486 | llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, <0, 0, 0> ); | ||
21487 | llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 2 ); | ||
21488 | llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 60 ); | ||
21489 | |||
21490 | // angular motor | ||
21491 | llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, <0, 0, 0> ); | ||
21492 | llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 4 ); | ||
21493 | llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 8 ); | ||
21494 | |||
21495 | // no hover | ||
21496 | llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 0 ); | ||
21497 | llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 0.5 ); | ||
21498 | llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 1000 ); | ||
21499 | llSetVehicleFloatParam( VEHICLE_BUOYANCY, 0 ); | ||
21500 | |||
21501 | // linear deflection | ||
21502 | llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.5 ); | ||
21503 | llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 0.5 ); | ||
21504 | |||
21505 | // angular deflection | ||
21506 | llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 1.0 ); | ||
21507 | llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 2.0 ); | ||
21508 | |||
21509 | // vertical attractor | ||
21510 | llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.9 ); | ||
21511 | llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 2 ); | ||
21512 | |||
21513 | // banking | ||
21514 | llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, 1 ); | ||
21515 | llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 0.7 ); | ||
21516 | llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 2 ); | ||
21517 | |||
21518 | // default rotation of local frame | ||
21519 | llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, <0, 0, 0, 1> ); | ||
21520 | |||
21521 | // remove these flags | ||
21522 | llRemoveVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP | ||
21523 | | VEHICLE_FLAG_HOVER_WATER_ONLY | ||
21524 | | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | ||
21525 | | VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT | ||
21526 | | VEHICLE_FLAG_HOVER_UP_ONLY | ||
21527 | | VEHICLE_FLAG_LIMIT_MOTOR_UP ); | ||
21528 | |||
21529 | // set these flags | ||
21530 | llSetVehicleFlags( VEHICLE_FLAG_LIMIT_ROLL_ONLY ); | ||
21531 | </PRE | ||
21532 | ><P | ||
21533 | ></P | ||
21534 | ></DIV | ||
21535 | ></DD | ||
21536 | ><DT | ||
21537 | >VEHICLE_TYPE_BALLOON</DT | ||
21538 | ><DD | ||
21539 | ><P | ||
21540 | >Hover, and friction, but no deflection.</P | ||
21541 | ><DIV | ||
21542 | CLASS="informalexample" | ||
21543 | ><P | ||
21544 | ></P | ||
21545 | ><A | ||
21546 | NAME="AEN6321" | ||
21547 | ></A | ||
21548 | ><PRE | ||
21549 | CLASS="programlisting" | ||
21550 | > // uniform linear friction | ||
21551 | llSetVehicleFloatParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, 5 ); | ||
21552 | |||
21553 | // uniform angular friction | ||
21554 | llSetVehicleFloatParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, 10 ); | ||
21555 | |||
21556 | // linear motor | ||
21557 | llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, <0, 0, 0> ); | ||
21558 | llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 5 ); | ||
21559 | llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 60 ); | ||
21560 | |||
21561 | // angular motor | ||
21562 | llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, <0, 0, 0> ); | ||
21563 | llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 6 ); | ||
21564 | llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 10 ); | ||
21565 | |||
21566 | // hover | ||
21567 | llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 5 ); | ||
21568 | llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 0.8 ); | ||
21569 | llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 10 ); | ||
21570 | llSetVehicleFloatParam( VEHICLE_BUOYANCY, 1 ); | ||
21571 | |||
21572 | // no linear deflection | ||
21573 | llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0 ); | ||
21574 | llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 5 ); | ||
21575 | |||
21576 | // no angular deflection | ||
21577 | llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0 ); | ||
21578 | llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 5 ); | ||
21579 | |||
21580 | // no vertical attractor | ||
21581 | llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 1 ); | ||
21582 | llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 1000 ); | ||
21583 | |||
21584 | // no banking | ||
21585 | llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, 0 ); | ||
21586 | llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 0.7 ); | ||
21587 | llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 5 ); | ||
21588 | |||
21589 | // default rotation of local frame | ||
21590 | llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, <0, 0, 0, 1> ); | ||
21591 | |||
21592 | // remove all flags | ||
21593 | llRemoveVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP | ||
21594 | | VEHICLE_FLAG_HOVER_WATER_ONLY | ||
21595 | | VEHICLE_FLAG_LIMIT_ROLL_ONLY | ||
21596 | | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | ||
21597 | | VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT | ||
21598 | | VEHICLE_FLAG_HOVER_UP_ONLY | ||
21599 | | VEHICLE_FLAG_LIMIT_MOTOR_UP ); | ||
21600 | </PRE | ||
21601 | ><P | ||
21602 | ></P | ||
21603 | ></DIV | ||
21604 | ></DD | ||
21605 | ></DL | ||
21606 | ></DIV | ||
21607 | ></DIV | ||
21608 | ><DIV | ||
21609 | CLASS="section" | ||
21610 | ><HR><H2 | ||
21611 | CLASS="section" | ||
21612 | ><A | ||
21613 | NAME="AEN6323" | ||
21614 | >C.27. Primitive Constants</A | ||
21615 | ></H2 | ||
21616 | ><P | ||
21617 | >These constants are used in calls to the <A | ||
21618 | HREF="#AEN4020" | ||
21619 | >llSetPrimitiveParams</A | ||
21620 | > and <A | ||
21621 | HREF="#AEN2075" | ||
21622 | >llGetPrimitiveParams</A | ||
21623 | > api to | ||
21624 | specify parameters.</P | ||
21625 | ><P | ||
21626 | ></P | ||
21627 | ><DIV | ||
21628 | CLASS="variablelist" | ||
21629 | ><P | ||
21630 | ><B | ||
21631 | >Primitive Parameters</B | ||
21632 | ></P | ||
21633 | ><DL | ||
21634 | ><DT | ||
21635 | >PRIM_TYPE</DT | ||
21636 | ><DD | ||
21637 | ><P | ||
21638 | >This allows the various primitive shape parameters to be controlled. PRIM_TYPE must be followed by | ||
21639 | appropriate arguments based on which type is selected.</P | ||
21640 | ><P | ||
21641 | ></P | ||
21642 | ><DIV | ||
21643 | CLASS="variablelist" | ||
21644 | ><P | ||
21645 | ><B | ||
21646 | >PRIM_TYPE Values</B | ||
21647 | ></P | ||
21648 | ><DL | ||
21649 | ><DT | ||
21650 | >PRIM_TYPE_BOX</DT | ||
21651 | ><DD | ||
21652 | ><P | ||
21653 | >Sets the primitive to a box, followed by integer hole shape, vector cut, float hollow, vector twist, vector top size, and vector top shear.</P | ||
21654 | ></DD | ||
21655 | ><DT | ||
21656 | >PRIM_TYPE_CYLINDER</DT | ||
21657 | ><DD | ||
21658 | ><P | ||
21659 | >Sets the primitive to a cylinder, followed by integer hole shape, vector cut, float hollow, vector twist, vector top size, and vector top shear.</P | ||
21660 | ></DD | ||
21661 | ><DT | ||
21662 | >PRIM_TYPE_PRISM</DT | ||
21663 | ><DD | ||
21664 | ><P | ||
21665 | >Sets the primitive to a prism, followed by integer hole shape, vector cut, float hollow, vector twist, vector top size, and vector top shear.</P | ||
21666 | ></DD | ||
21667 | ><DT | ||
21668 | >PRIM_TYPE_SPHERE</DT | ||
21669 | ><DD | ||
21670 | ><P | ||
21671 | >Sets the primitive to a sphere, followed by integer hole shape, vector cut, float hollow, vector twist, and vector dimple.</P | ||
21672 | ></DD | ||
21673 | ><DT | ||
21674 | >PRIM_TYPE_TORUS</DT | ||
21675 | ><DD | ||
21676 | ><P | ||
21677 | >Sets the primitive to a torus, followed by integer hole shape, vector cut, float hollow, vector twist, vector hole size, vector top shear, vector advanced cut, vector taper, float revolutions, float radius offset, and float skew.</P | ||
21678 | ></DD | ||
21679 | ><DT | ||
21680 | >PRIM_TYPE_TUBE</DT | ||
21681 | ><DD | ||
21682 | ><P | ||
21683 | >Sets the primitive to a tube, followed by integer hole shape, vector cut, float hollow, vector twist, vector hole size, vector top shear, vector advanced cut, vector taper, float revolutions, float radius offset, and float skew.</P | ||
21684 | ></DD | ||
21685 | ><DT | ||
21686 | >PRIM_TYPE_RING</DT | ||
21687 | ><DD | ||
21688 | ><P | ||
21689 | >Sets the primitive to a ring, followed by integer hole shape, vector cut, float hollow, vector twist, vector hole size, vector top shear, vector advanced cut, vector taper, float revolutions, float radius offset, and float skew.</P | ||
21690 | ></DD | ||
21691 | ></DL | ||
21692 | ></DIV | ||
21693 | ><P | ||
21694 | >Choose hole shape from one of PRIM_HOLE_DEFAULT, PRIM_HOLE_CIRCLE, PRIM_HOLE_SQUARE, or PRIM_HOLE_TRIANGLE.</P | ||
21695 | ></DD | ||
21696 | ><DT | ||
21697 | >PRIM_MATERIAL</DT | ||
21698 | ><DD | ||
21699 | ><P | ||
21700 | >Choose material from one of PRIM_MATERIAL_STONE, PRIM_MATERIAL_METAL, PRIM_MATERIAL_GLASS, | ||
21701 | PRIM_MATERIAL_WOOD, PRIM_MATERIAL_FLESH, PRIM_MATERIAL_PLASTIC, PRIM_MATERIAL_RUBBER, or PRIM_MATERIAL_LIGHT.</P | ||
21702 | ></DD | ||
21703 | ><DT | ||
21704 | >PRIM_PHYSICS</DT | ||
21705 | ><DD | ||
21706 | ><P | ||
21707 | >Set physics to TRUE or FALSE.</P | ||
21708 | ></DD | ||
21709 | ><DT | ||
21710 | >PRIM_TEMP_ON_REZ</DT | ||
21711 | ><DD | ||
21712 | ><P | ||
21713 | >Set temporary on rez to TRUE or FALSE.</P | ||
21714 | ></DD | ||
21715 | ><DT | ||
21716 | >PRIM_PHANTOM</DT | ||
21717 | ><DD | ||
21718 | ><P | ||
21719 | >Set phantom to TRUE or FALSE.</P | ||
21720 | ></DD | ||
21721 | ><DT | ||
21722 | >PRIM_POSITION</DT | ||
21723 | ><DD | ||
21724 | ><P | ||
21725 | >Sets the position with a vector.</P | ||
21726 | ></DD | ||
21727 | ><DT | ||
21728 | >PRIM_SIZE</DT | ||
21729 | ><DD | ||
21730 | ><P | ||
21731 | >Sets the size with a vector.</P | ||
21732 | ></DD | ||
21733 | ><DT | ||
21734 | >PRIM_ROTATION</DT | ||
21735 | ><DD | ||
21736 | ><P | ||
21737 | >Sets the rotation with a rotation.</P | ||
21738 | ></DD | ||
21739 | ><DT | ||
21740 | >PRIM_TEXTURE</DT | ||
21741 | ><DD | ||
21742 | ><P | ||
21743 | >Followed by an integer face, key id, vector repeats, vector offsets, and float rotation in radians.</P | ||
21744 | ></DD | ||
21745 | ><DT | ||
21746 | >PRIM_COLOR</DT | ||
21747 | ><DD | ||
21748 | ><P | ||
21749 | >Followed by an integer face, vector color, and float alpha.</P | ||
21750 | ></DD | ||
21751 | ><DT | ||
21752 | >PRIM_BUMP_SHINY</DT | ||
21753 | ><DD | ||
21754 | ><P | ||
21755 | >Followed by an integer face, one of PRIM_SHINY_NONE, PRIM_SHINY_LOW, PRIM_SHINY_MEDIUM, or PRIM_SHINY_HIGH, | ||
21756 | and one of PRIM_BUMP_NONE, PRIM_BUMP_BRIGHT, PRIM_BUMP_DARK, PRIM_BUMP_WOOD, PRIM_BUMP_BARK, | ||
21757 | PRIM_BUMP_BRICKS, PRIM_BUMP_CHECKER, PRIM_BUMP_CONCRETE, PRIM_BUMP_TILE, PRIM_BUMP_STONE, PRIM_BUMP_DISKS, | ||
21758 | PRIM_BUMP_GRAVEL, PRIM_BUMP_BLOBS, PRIM_BUMP_SIDING, PRIM_BUMP_LARGETILE, PRIM_BUMP_STUCCO, PRIM_BUMP_SUCTION, | ||
21759 | or PRIM_BUMP_WEAVE.</P | ||
21760 | ></DD | ||
21761 | ><DT | ||
21762 | >PRIM_GLOW</DT | ||
21763 | ><DD | ||
21764 | ><P | ||
21765 | >Followed by an integer face and a float glow value (in range 0.0 to 1.0).</P | ||
21766 | ></DD | ||
21767 | ></DL | ||
21768 | ></DIV | ||
21769 | ></DIV | ||
21770 | ><DIV | ||
21771 | CLASS="section" | ||
21772 | ><HR><H2 | ||
21773 | CLASS="section" | ||
21774 | ><A | ||
21775 | NAME="AEN6409" | ||
21776 | >C.28. XML-RPC Constants</A | ||
21777 | ></H2 | ||
21778 | ><P | ||
21779 | >These constants are passed to the remote_data event: REMOTE_DATA_CHANNEL, REMOTE_DATA_REQUEST, and REMOTE_DATA_REPLY.</P | ||
21780 | ></DIV | ||
21781 | ><DIV | ||
21782 | CLASS="section" | ||
21783 | ><HR><H2 | ||
21784 | CLASS="section" | ||
21785 | ><A | ||
21786 | NAME="AEN6412" | ||
21787 | >C.29. Permission Mask Constants</A | ||
21788 | ></H2 | ||
21789 | ><P | ||
21790 | >These MASK_* constants are used as arguments to <A | ||
21791 | HREF="#AEN2009" | ||
21792 | >llGetObjectPermMask</A | ||
21793 | > and <A | ||
21794 | HREF="#AEN1801" | ||
21795 | >llGetInventoryPermMask</A | ||
21796 | >. These functions return combinations of PERM_* constants.</P | ||
21797 | ><P | ||
21798 | ></P | ||
21799 | ><DIV | ||
21800 | CLASS="variablelist" | ||
21801 | ><P | ||
21802 | ><B | ||
21803 | >Mask and Permission Constants</B | ||
21804 | ></P | ||
21805 | ><DL | ||
21806 | ><DT | ||
21807 | >MASK_BASE</DT | ||
21808 | ><DD | ||
21809 | ><P | ||
21810 | >Specifies base permissions. These permissions are identical to owner permissions except in the case that the object is locked. When an object is locked, owner permissions are stripped of move/modify rights (thus, the 'locking'). On unlock, owner permissions revert back to base permissions.</P | ||
21811 | ></DD | ||
21812 | ><DT | ||
21813 | >MASK_OWNER</DT | ||
21814 | ><DD | ||
21815 | ><P | ||
21816 | >Specifies owner permissions. These are never more permissive than base permissions.</P | ||
21817 | ></DD | ||
21818 | ><DT | ||
21819 | >MASK_GROUP</DT | ||
21820 | ><DD | ||
21821 | ><P | ||
21822 | >Specifies group permissions. These are never more permissive than owner permissions.</P | ||
21823 | ></DD | ||
21824 | ><DT | ||
21825 | >MASK_EVERYONE</DT | ||
21826 | ><DD | ||
21827 | ><P | ||
21828 | >Specifies everyone permissions. These are never more permissive than owner permissions.</P | ||
21829 | ></DD | ||
21830 | ><DT | ||
21831 | >MASK_NEXT</DT | ||
21832 | ><DD | ||
21833 | ><P | ||
21834 | >Specifies next owner permissions. These are never more permissive than base permissions.</P | ||
21835 | ></DD | ||
21836 | ><DT | ||
21837 | >PERM_MOVE</DT | ||
21838 | ><DD | ||
21839 | ><P | ||
21840 | >Set if movement is allowed.</P | ||
21841 | ></DD | ||
21842 | ><DT | ||
21843 | >PERM_MODIFY</DT | ||
21844 | ><DD | ||
21845 | ><P | ||
21846 | >Set if modification is allowed.</P | ||
21847 | ></DD | ||
21848 | ><DT | ||
21849 | >PERM_COPY</DT | ||
21850 | ><DD | ||
21851 | ><P | ||
21852 | >Set if copying is allowed.</P | ||
21853 | ></DD | ||
21854 | ><DT | ||
21855 | >PERM_TRANSFER</DT | ||
21856 | ><DD | ||
21857 | ><P | ||
21858 | >Set if transfers are allowed.</P | ||
21859 | ></DD | ||
21860 | ><DT | ||
21861 | >PERM_ALL</DT | ||
21862 | ><DD | ||
21863 | ><P | ||
21864 | >This is returned if all other PERM_* are set.</P | ||
21865 | ></DD | ||
21866 | ></DL | ||
21867 | ></DIV | ||
21868 | ></DIV | ||
21869 | ><DIV | ||
21870 | CLASS="section" | ||
21871 | ><HR><H2 | ||
21872 | CLASS="section" | ||
21873 | ><A | ||
21874 | NAME="AEN6459" | ||
21875 | >C.30. Parcel Media Constants</A | ||
21876 | ></H2 | ||
21877 | ><P | ||
21878 | >These constants are passed to the <A | ||
21879 | HREF="#AEN3031" | ||
21880 | >llParcelMediaCommand</A | ||
21881 | > to control playback of movies and other multimedia within a land parcel.</P | ||
21882 | ><P | ||
21883 | ></P | ||
21884 | ><DIV | ||
21885 | CLASS="variablelist" | ||
21886 | ><P | ||
21887 | ><B | ||
21888 | >Parcel Media Constants</B | ||
21889 | ></P | ||
21890 | ><DL | ||
21891 | ><DT | ||
21892 | >PARCEL_MEDIA_COMMAND_STOP</DT | ||
21893 | ><DD | ||
21894 | ><P | ||
21895 | >Stop the media stream and go back to the first frame.</P | ||
21896 | ></DD | ||
21897 | ><DT | ||
21898 | >PARCEL_MEDIA_COMMAND_PAUSE</DT | ||
21899 | ><DD | ||
21900 | ><P | ||
21901 | >Pause the media stream (stop playing but stay on current frame).</P | ||
21902 | ></DD | ||
21903 | ><DT | ||
21904 | >PARCEL_MEDIA_COMMAND_PLAY</DT | ||
21905 | ><DD | ||
21906 | ><P | ||
21907 | >Start the media stream playing from the current frame and stop when the end is reached.</P | ||
21908 | ></DD | ||
21909 | ><DT | ||
21910 | >PARCEL_MEDIA_COMMAND_LOOP_SET</DT | ||
21911 | ><DD | ||
21912 | ><P | ||
21913 | >Used to get or set the parcel's media looping variable. | ||
21914 | </P | ||
21915 | ></DD | ||
21916 | ><DT | ||
21917 | >PARCEL_MEDIA_COMMAND_TEXTURE</DT | ||
21918 | ><DD | ||
21919 | ><P | ||
21920 | >Use this to get or set the parcel's media texture. | ||
21921 | </P | ||
21922 | ></DD | ||
21923 | ><DT | ||
21924 | >PARCEL_MEDIA_COMMAND_URL</DT | ||
21925 | ><DD | ||
21926 | ><P | ||
21927 | >Used to get or set the parcel's media url. | ||
21928 | </P | ||
21929 | ></DD | ||
21930 | ><DT | ||
21931 | >PARCEL_MEDIA_COMMAND_TYPE</DT | ||
21932 | ><DD | ||
21933 | ><P | ||
21934 | >Used to get or set the parcel's media mimetype. | ||
21935 | </P | ||
21936 | ></DD | ||
21937 | ><DT | ||
21938 | >PARCEL_MEDIA_COMMAND_DESC</DT | ||
21939 | ><DD | ||
21940 | ><P | ||
21941 | >Used to get or set the parcel's media description. | ||
21942 | </P | ||
21943 | ></DD | ||
21944 | ><DT | ||
21945 | >PARCEL_MEDIA_COMMAND_SIZE</DT | ||
21946 | ><DD | ||
21947 | ><P | ||
21948 | >Used to get or set the parcel's media pixel size. | ||
21949 | </P | ||
21950 | ></DD | ||
21951 | ><DT | ||
21952 | >PARCEL_MEDIA_COMMAND_TIME</DT | ||
21953 | ><DD | ||
21954 | ><P | ||
21955 | >Move a media stream to a specific time. | ||
21956 | </P | ||
21957 | ></DD | ||
21958 | ><DT | ||
21959 | >PARCEL_MEDIA_COMMAND_AGENT</DT | ||
21960 | ><DD | ||
21961 | ><P | ||
21962 | >Applies the media command to the specified agent only. | ||
21963 | </P | ||
21964 | ></DD | ||
21965 | ><DT | ||
21966 | >PARCEL_MEDIA_COMMAND_UNLOAD</DT | ||
21967 | ><DD | ||
21968 | ><P | ||
21969 | >Completely unloads the movie and restores the original texture. | ||
21970 | </P | ||
21971 | ></DD | ||
21972 | ><DT | ||
21973 | >PARCEL_MEDIA_COMMAND_AUTO_ALIGN</DT | ||
21974 | ><DD | ||
21975 | ><P | ||
21976 | >Sets the parcel option 'Auto scale content'. | ||
21977 | </P | ||
21978 | ></DD | ||
21979 | ><DT | ||
21980 | >PARCEL_MEDIA_COMMAND_LOOP</DT | ||
21981 | ><DD | ||
21982 | ><P | ||
21983 | >This command has been depricated in favor of the PARCEL_MEDIA_COMMAND_LOOP_SET above. | ||
21984 | </P | ||
21985 | ></DD | ||
21986 | ></DL | ||
21987 | ></DIV | ||
21988 | ></DIV | ||
21989 | ><DIV | ||
21990 | CLASS="section" | ||
21991 | ><HR><H2 | ||
21992 | CLASS="section" | ||
21993 | ><A | ||
21994 | NAME="AEN6521" | ||
21995 | >C.31. Click Action Constants</A | ||
21996 | ></H2 | ||
21997 | ><P | ||
21998 | >These constants are passed to <A | ||
21999 | HREF="#AEN3791" | ||
22000 | >llSetClickAction</A | ||
22001 | > to define default behavior when a resident clicks upon a prim.</P | ||
22002 | ><P | ||
22003 | ></P | ||
22004 | ><DIV | ||
22005 | CLASS="variablelist" | ||
22006 | ><P | ||
22007 | ><B | ||
22008 | >Click Action Constants</B | ||
22009 | ></P | ||
22010 | ><DL | ||
22011 | ><DT | ||
22012 | >CLICK_ACTION_NONE</DT | ||
22013 | ><DD | ||
22014 | ><P | ||
22015 | >Disables the click action for this prim.</P | ||
22016 | ></DD | ||
22017 | ><DT | ||
22018 | >CLICK_ACTION_TOUCH</DT | ||
22019 | ><DD | ||
22020 | ><P | ||
22021 | >Sets the click-action behavior of this prim to touch.</P | ||
22022 | ></DD | ||
22023 | ><DT | ||
22024 | >CLICK_ACTION_SIT</DT | ||
22025 | ><DD | ||
22026 | ><P | ||
22027 | >Sets the click-action behavior of this prim to sit.</P | ||
22028 | ></DD | ||
22029 | ><DT | ||
22030 | >CLICK_ACTION_BUY</DT | ||
22031 | ><DD | ||
22032 | ><P | ||
22033 | >Sets the click-action behavior of this prim to buy.</P | ||
22034 | ></DD | ||
22035 | ><DT | ||
22036 | >CLICK_ACTION_PAY</DT | ||
22037 | ><DD | ||
22038 | ><P | ||
22039 | >Sets the click-action behavior of this prim to pay.</P | ||
22040 | ></DD | ||
22041 | ><DT | ||
22042 | >CLICK_ACTION_OPEN</DT | ||
22043 | ><DD | ||
22044 | ><P | ||
22045 | >Sets the click-action behavior of this prim to open.</P | ||
22046 | ></DD | ||
22047 | ><DT | ||
22048 | >CLICK_ACTION_PLAY</DT | ||
22049 | ><DD | ||
22050 | ><P | ||
22051 | >Sets the click-action behavior of this prim to play.</P | ||
22052 | ></DD | ||
22053 | ><DT | ||
22054 | >CLICK_ACTION_OPEN_MEDIA</DT | ||
22055 | ><DD | ||
22056 | ><P | ||
22057 | >Sets the click-action behavior of this prim to open-media.</P | ||
22058 | ></DD | ||
22059 | ><DT | ||
22060 | >CLICK_ACTION_SIT</DT | ||
22061 | ><DD | ||
22062 | ><P | ||
22063 | >Sets the click-action behavior of this prim to sit.</P | ||
22064 | ></DD | ||
22065 | ><DT | ||
22066 | >CLICK_ACTION_SIT</DT | ||
22067 | ><DD | ||
22068 | ><P | ||
22069 | >Sets the click-action behavior of this prim to sit.</P | ||
22070 | ></DD | ||
22071 | ></DL | ||
22072 | ></DIV | ||
22073 | ></DIV | ||
22074 | ></DIV | ||
22075 | ></DIV | ||
22076 | ></BODY | ||
22077 | ></HTML | ||
22078 | > \ No newline at end of file | ||