diff options
author | Dave Seikel | 2018-05-20 23:17:24 +1000 |
---|---|---|
committer | Dave Seikel | 2018-05-20 23:17:24 +1000 |
commit | 9dd74045373c39d8a35a59f3c2801b0348a44a9b (patch) | |
tree | b3cdc4ba800ffa44b98291ce12a0eb1c9ad809e4 /README.md | |
parent | Initial commit (diff) | |
download | MLP-lite-9dd74045373c39d8a35a59f3c2801b0348a44a9b.zip MLP-lite-9dd74045373c39d8a35a59f3c2801b0348a44a9b.tar.gz MLP-lite-9dd74045373c39d8a35a59f3c2801b0348a44a9b.tar.bz2 MLP-lite-9dd74045373c39d8a35a59f3c2801b0348a44a9b.tar.xz |
Initial commit.
This is the current alpha version, it was time to put it somewhere.
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 532 |
1 files changed, 532 insertions, 0 deletions
@@ -1,2 +1,534 @@ | |||
1 | # MLP-lite | 1 | # MLP-lite |
2 | A lighter version of the MLP scripts, built for OpenSim. | 2 | A lighter version of the MLP scripts, built for OpenSim. |
3 | |||
4 | MLP lite v3.0 for OpenSim is almost a complete rewrite by onefang | ||
5 | rejected, of the venerable MLP scripts. It uses OpenSim specific | ||
6 | functions, so wont work in Second Life. It might not work on some | ||
7 | OpenSim grids or sims, due to the use of OpenSim specific "high threat | ||
8 | level" functions. Test it first before putting it in anything important. | ||
9 | |||
10 | The main justification for this rewrite is that I have about a dozen | ||
11 | OpenSim sims, some with dozens of copies of MLP running. So this | ||
12 | variation uses some OpenSim specific LSL functions, tries to use less | ||
13 | resources, be quicker, and automatically shuts down when no one is | ||
14 | around. Some functions where removed, hence the "lite" in the name, most | ||
15 | of these seem to not be used, or useful, or just don't get used in my | ||
16 | sims. Note that I've not extensively tested any of this stuff yet. It's | ||
17 | not a huge improvement, but when you have dozens of the things, every | ||
18 | little bit helps. And then I added more features. lol | ||
19 | |||
20 | Note that some of the OpenSim functions used are what OpenSim classes as | ||
21 | "high threat level". More about that below. This means that these | ||
22 | scripts wont work without some tweaking of your grid / sims | ||
23 | configuration. This has only been tested in my hacked up version of | ||
24 | OpenSim 0.8.2, which removes a lot of the insane threat levels and script | ||
25 | delays, so anything I say about speed improvements might not apply. I | ||
26 | did at least remove script delays in both LL and OS functions. If | ||
27 | nothing works for you, this is likely why, and you should go back to the | ||
28 | old scripts. Test it first before upgrading anything that's not full | ||
29 | perm. | ||
30 | |||
31 | Based on the original MLP - MULTI-LOVE-POSE V1.2 - Copyright (c) 2006, by | ||
32 | Miffy Fluffy (BSD License). This code has bounced around Second Life and | ||
33 | OpenSim for over a decade, with various people working on it. I can't | ||
34 | compile a complete list, as I have no idea of the complete history of the | ||
35 | versions I have received. The names I do know coz they where in the | ||
36 | source code (in no particular order) - Miffy Fluffy, Learjeff Innis, Jez | ||
37 | Ember, Liz Silverstein, Zonax Delorean, Purrcat Miranda, and Kokoro | ||
38 | Fasching. Apologies to anyone who's code is in this variation and I | ||
39 | haven't mentioned you. It's likely that some or all of the code written | ||
40 | by these people is no longer in this variation. Thanks to you all. | ||
41 | |||
42 | This variation is still BSD licensed. The text of the BSD license wasn't | ||
43 | included in any of the versions I have, but it's a simple and standard | ||
44 | license, you should easily find copies all over the Internet, or a | ||
45 | simple search. The versions I have seen don't specify which variation of | ||
46 | the BSD license, so I wont either. GitHub insists on a license file, so | ||
47 | I went with 3 clause BSD. | ||
48 | |||
49 | The next two sections of this document is mostly copied from the .readme | ||
50 | file I got with the latest MLP versions I had laying around. | ||
51 | |||
52 | ================================================ | ||
53 | |||
54 | FEATURES: | ||
55 | - Put all your poseball animations into one object (110 pairs or even more | ||
56 | should be no problem). | ||
57 | - Create submenus for each category of poses, for instance: "Solo, | ||
58 | Boy-Girl, Girl-Girl, Dance, 3some, 4some" | ||
59 | - Shows up to nine poseballs depending on the submenu you select | ||
60 | - Positions can be adjusted and saved into memory or notecard. | ||
61 | - Portable, can be worn and used everywhere | ||
62 | - Option to adjust height offset (Z) of all poses at once (for different | ||
63 | persons/locations). | ||
64 | - 15 poseball colours: | ||
65 | PINK, BLUE, PINK2, BLUE2, GREEN, MAGENTA, RED, ORANGE, WHITE, BLACK, | ||
66 | YELLOW, CYAN, RED2, TEAL, GREEN2 | ||
67 | |||
68 | OPERATION: | ||
69 | - Click the MLP object to switch it on. | ||
70 | - When everything has loaded the main menu will appear. | ||
71 | - Select a submenu containing poses, and select a pose. Pose balls will | ||
72 | appear. | ||
73 | - Sit on your pose ball (Right-click - LOVE). | ||
74 | - To remove the balls, select 'EXTRAS>>' then 'STOP', or just walk away, | ||
75 | it will shut down automatically when no one is around. | ||
76 | |||
77 | TO ADJUST POSITIONS: | ||
78 | You can adjust the poses to fit your own avatar and those you share MLP | ||
79 | with. | ||
80 | - Select a pose you want to adjust and sit on the balls. | ||
81 | - Select 'EXTRAS>> ' then 'ADJUST'. This changes the balls into | ||
82 | translucent beams. | ||
83 | - Right-click a beam, select Edit and adjust the position (Shift-click to | ||
84 | select more than one). | ||
85 | - Position the balls anywhere within the sim. | ||
86 | - 'EXTRAS>>', 'OPTIONS>>', then 'Save Pos' stores the positions into a | ||
87 | new notecard. | ||
88 | |||
89 | TO MAKE A BACKUP: | ||
90 | Saved positions are stored in memory but are not permanent. They are | ||
91 | lost on script error (See "Script run-time error / Stack-Heap Collision" | ||
92 | below). They are also lost on shutdown/startup, or "Pos Reset". To | ||
93 | back the positions up more permanently you have to copy them into a | ||
94 | new .POSITIONS notecard: | ||
95 | - Select 'EXTRAS>>', 'OPTIONS>>', then 'Save Pos' . | ||
96 | All original .POSITIONS* cards are copied to .backup.POSITIONS* cards. | ||
97 | Prop positions are saved to .PROPS, so the same applies. | ||
98 | |||
99 | Note: After changing any *.POSITIONS* files, use the 'Pos Reset' command | ||
100 | to verify your changes, if desired. This also helps to avoid losing | ||
101 | changes due to Stack-Heap collisions. | ||
102 | |||
103 | TO ADJUST HEIGHT OFFSET (Z): | ||
104 | Select 'EXTRAS>>', 'OPTIONS>>', then'Height>>' and click the 'Z'-buttons, | ||
105 | this will adjust the height for all poses. Note: the offset height is | ||
106 | stored in the objects Description, so any descriptions will be replaced. | ||
107 | |||
108 | TO ADD POSES: | ||
109 | Copy all animations into the MLP object (if you want to use existing pose | ||
110 | balls, open them to rip their animations). Note: you can use any object | ||
111 | as MLP, just copy the MLP contents in the object of your choice. Open the | ||
112 | .MENUITEMS and add the animations: | ||
113 | |||
114 | POSE name | animation1 | animation2 ... | ||
115 | |||
116 | The changes will become active after MLP is (re)started. Use the 'Menu | ||
117 | Reset' command after changing | ||
118 | *.MENUITEMS* files. | ||
119 | |||
120 | To give an expression to an animation, add one of the following suffixes | ||
121 | to the anim name in the POSE line. (Just add it to the POSE config line, | ||
122 | don't change the anim name.) | ||
123 | |||
124 | Suffix / expression | ||
125 | * open mouth | ||
126 | ::1 open mouth | ||
127 | ::2 surprise | ||
128 | ::3 tongue out | ||
129 | ::4 smile | ||
130 | ::5 toothsmile | ||
131 | ::6 wink | ||
132 | ::7 cry | ||
133 | ::8 kiss | ||
134 | ::9 laugh | ||
135 | ::10 disdain | ||
136 | ::11 repulsed | ||
137 | ::12 anger | ||
138 | ::13 bored | ||
139 | ::14 sad | ||
140 | ::15 embarrassed | ||
141 | ::16 frown | ||
142 | ::17 shrug | ||
143 | ::18 afraid | ||
144 | ::19 worry | ||
145 | ::20 sleeping (combination of disdain and smile, closest I could find) | ||
146 | |||
147 | To make the expression happen periodically rather than constantly, add | ||
148 | another extension and the period (in seconds). This is mostly needed for | ||
149 | those expressions that only last a short time. For example, to use MyAnim | ||
150 | with open mouth every 5.5 seconds: | ||
151 | |||
152 | POSE Mypose | MyAnim::1::5.5 | ||
153 | |||
154 | TO ADD SOUNDS (buttons to play sounds), in a menu (just like a POSE | ||
155 | button), add a line like this: | ||
156 | |||
157 | SOUND She moans | female-moan | ||
158 | |||
159 | where "She moans" will be the button label, and "female-moan" is the | ||
160 | sound to play, which must be in object inventory. For sounds in menus | ||
161 | with poses (rather than in a menu specifically for sounds) I recommend | ||
162 | you begin the pose name with "☊" (which looks a bit like headphones, the | ||
163 | best I could find for the purpose). This serves as a clue to the user | ||
164 | that the button plays a sound. | ||
165 | |||
166 | TO CREATE ANIMATION SETS (menus): | ||
167 | Create .MENUITEMS.xxx and .POSITIONS.xxx files (where xxx is whatever you | ||
168 | want) and put the corresponding menu configs and poses in them. This | ||
169 | way you can deliver a bed with folders of add-on menus so the customer | ||
170 | can choose what types of anims they want to add to the menu. Note that | ||
171 | you get at most 12 top menu choices. The scripts read the .POSITIONS | ||
172 | files in alphabetical order (and | ||
173 | .POSITIONS must be first). | ||
174 | |||
175 | This also allows you to sell furniture with "enhancement packs", which | ||
176 | are simply collections of .MENUITEMS.xxx, .POSITIONS.xxx, and the | ||
177 | associated animations for the customer to drop into the furniture. | ||
178 | Customers can easily select furniture appearance and pose bundles | ||
179 | independently! | ||
180 | |||
181 | SWAPPING POSES: | ||
182 | Each menu can have a swap command: | ||
183 | |||
184 | SWAP | 21 | ||
185 | |||
186 | Would be the default. Note that this means before you hit the SWAP | ||
187 | button, the balls will be in the same order as listed in the MENU and | ||
188 | POSE commands, after they would be reversed. SWAP always assumes | ||
189 | the unswapped condition is the order things are listed. So 21 in the | ||
190 | above command means swap the first two balls. | ||
191 | |||
192 | The default for more than two balls is to just fill out both strings with | ||
193 | the remaining integers: | ||
194 | |||
195 | SWAP | 213456789 | ||
196 | |||
197 | This might be used to swap the last two balls only: | ||
198 | |||
199 | SWAP | 132 | ||
200 | |||
201 | Any number of swap patterns can be used: | ||
202 | |||
203 | SWAP | 132 | 321 | 312 | ||
204 | |||
205 | You can also use a different name for the button: | ||
206 | |||
207 | SWAP switch men | 213 | ||
208 | |||
209 | Also, the original one should be supported, that uses the default: | ||
210 | |||
211 | SWAP | ||
212 | |||
213 | ACCESS TO THE MAIN MENU: | ||
214 | The owner is the only one who can shutdown, in all cases. Anyone | ||
215 | can start it. | ||
216 | - if 'MenuUser' is set to OWNER: the owner is the only one who can access | ||
217 | the menus | ||
218 | - if 'MenuUser' is set to ALL: anyone can access the MAIN MENU | ||
219 | - if 'MenuUser' is set to GROUP: members of the same Group as the MLP | ||
220 | object can access the | ||
221 | MAIN MENU (the MLP Group can set by right-clicking MLP and selecting | ||
222 | Edit, More >> General tab - Group: Set) Note: even if "MenuUser" is set | ||
223 | to ALL or GROUP, individual SUBMENUS can still be blocked (you can | ||
224 | define access for each submenu in .MENUITEMS, see examples in | ||
225 | .MENUITEMS). | ||
226 | |||
227 | PORTABLE USE: | ||
228 | Attach the object to the HUD, you can use it's default shape and colour | ||
229 | for clickable bar on one of the edges of your screen (to move HUD | ||
230 | position: Right-click - Edit), you can edit | ||
231 | colour/transparency/size/position. Adjust the height offset (Z). Note: | ||
232 | the balls will appear relative to the initial MLP position (to reset | ||
233 | where the balls appear, press STOP to remove the balls, and reselect a | ||
234 | submenu to rez them again). | ||
235 | |||
236 | ================================================ | ||
237 | |||
238 | FAQ for END USERS: | ||
239 | |||
240 | - Will my animations be lost if I lose a poseball? | ||
241 | |||
242 | No. The animations are not placed the balls, they remain in the main MLP | ||
243 | object. Don't worry about the poseballs, they are copies of the one in | ||
244 | the MLP object. A balls will commit suicide if left behind somewhere | ||
245 | (the MLP object needs to be within the same sim). | ||
246 | |||
247 | - Sometimes notecards or scripts won't open for editing, why? | ||
248 | |||
249 | If the MLP object contains many things, access to it's contents can be | ||
250 | slow, just keep waiting until it's all loaded. Can take over a minute | ||
251 | sometimes. | ||
252 | |||
253 | - "Script run-time error / Stack-Heap Collision"? | ||
254 | |||
255 | Right-click/Edit the object, and use SL menu: "Tools -> Reset Scripts in | ||
256 | Selection" to reset. Any saved positions that were not backed up in | ||
257 | .POSITIONS files are lost, so if your furniture has lots of poses (over | ||
258 | 50) and you save positions, be sure to back up regularly. Use OPTIONS -> | ||
259 | Pos Reset after changing .POSITIONS* files. | ||
260 | |||
261 | FAQ for those who edit *.MENUITEMS files: | ||
262 | |||
263 | - "Script run-time error / Stack-Heap Collision"? | ||
264 | |||
265 | After a restart, this is a clue that there are too many items in | ||
266 | *.MENUITEMS* or *.POSITIONS* files. Trim the menu. | ||
267 | |||
268 | - My new menu appears on the main page, rather than as a submenu where I | ||
269 | configured it. Why? | ||
270 | |||
271 | Most likely, you named it differently in the MENU line versus the TOMENU | ||
272 | line. When MPL sees a MENU line, it looks for the same name in a TOMENU | ||
273 | line. | ||
274 | |||
275 | ================================================ | ||
276 | |||
277 | UPGRADE GUIDE: | ||
278 | |||
279 | For the sake of these instructions, let's say you want to upgrade the | ||
280 | scripts in an object called "My Old Bed", this is what you would do. | ||
281 | These instructions assume that everything has copy permission. | ||
282 | |||
283 | First rez My Old Bed in world somewhere. If it is already in world, take | ||
284 | a copy, in case things don't work out and you want to revert to the old | ||
285 | scripts. You could also move the scripts and things you are about to | ||
286 | replace to a new folder, so you can put things back the way they where | ||
287 | before. Or just ignore any backups and cross your fingers. | ||
288 | |||
289 | Remove the old MLP scripts, they will be named ~memory, ~menu, ~menucfg, | ||
290 | ~pos, ~pose, ~poser, ~poser 1, ~poser 2, ~poser 3, ~poser 4, ~poser 5, | ||
291 | ~run, and you might also have optional scripts ~props, ~sequencer, and | ||
292 | ~timer. Also remove the ~ball object. There may be another script, I | ||
293 | have never seen one, that deals with PRIMTOUCH, my guess is it might be | ||
294 | called ~primtouch. Leave it alone, this new script should be compatible | ||
295 | with it. Since I have never seen that script, nor needed it, I dunno | ||
296 | for sure. | ||
297 | |||
298 | Drag the "~MLP lite for OpenSim" script into My Old Bed, and the new | ||
299 | ~ball object. You should see "My Old Bed: OFF (touch to switch on)" in | ||
300 | chat. | ||
301 | |||
302 | My Old Bed might have some props in it, they will be objects other than | ||
303 | ~ball. In typical examples I have seen there is a pillow, so lets use | ||
304 | that as an example. Drag pillow out of My Old Bed and into your | ||
305 | inventory, into the same folder you are backing up everything else. | ||
306 | Remove pillow from My Old Bed. Drag pillow onto the ground, edit it, and | ||
307 | remove the ~prop script. Replace that script with the new ~ball script. | ||
308 | Take pillow, then drag it into My Old Bed. Add the "~MLP lite props" | ||
309 | script to My Old Bed. | ||
310 | |||
311 | You may want to update your .MENUITEMS, or just leave them as is. Look | ||
312 | at the examples for how it is now recommended to have them setup. If you | ||
313 | do this take care of the OPTIONS menu, which is now called OPTIONS>> in | ||
314 | this new .MENUITEMS. | ||
315 | |||
316 | If you still want to edit the poses / props, or do any of the other | ||
317 | tweaking, then you might want to add the "~MLP lite tools" script to My | ||
318 | Old Bed. Leave it out, or remove it, once My Old Bed is fully set up. | ||
319 | |||
320 | ================================================ | ||
321 | |||
322 | DIFFERENCES FOR THE MLP lite v3.0 for OpenSim VARIATION: | ||
323 | |||
324 | As mentioned above, this variation drops a few rarely used features, and | ||
325 | tries to make things a bit better for OpenSim users. Note that some of | ||
326 | the dropped features may be added back again in later versions, I dunno | ||
327 | yet. | ||
328 | |||
329 | - Up to nine avatars can be animated at once. | ||
330 | |||
331 | - Menus no longer lock out other users when someone else is using it. | ||
332 | |||
333 | - The SWAP command has been changed to something like the XPOSE SWAP | ||
334 | command. It's documented above. The original MLP SWAP command works as | ||
335 | it used to. | ||
336 | |||
337 | - Changing menus no longer reverts any SWAP commands. Though if the swap | ||
338 | command is different between menus, it wont let you swap again in the | ||
339 | different menu. | ||
340 | |||
341 | - Anyone can start up an MLP lite object, and they automatically shutdown | ||
342 | if no one is around for a couple of minutes. This makes it easy to setup | ||
343 | public areas with publicly usable objects that don't soak up resources | ||
344 | when people forget to turn them off after using them. The startup also | ||
345 | prints the startup time. | ||
346 | |||
347 | - After turning on an MLP object by touching it while it is turned off, | ||
348 | the MAIN MENU is shown automatically to the person that started it. I | ||
349 | assume that the person that turned it on is just waiting for it to finish | ||
350 | starting up so they can actually use it. Actually the menu shows after | ||
351 | loading menus, but before loading positions, but you can start to use it | ||
352 | straight away. | ||
353 | |||
354 | - The CHECK command no longer reloads things. It also checks for | ||
355 | permissions and animations that are not used, as well as a few other | ||
356 | things. It's in the ~MLP lite tools script. | ||
357 | |||
358 | - Less scripts. There are only two scripts now, "~MLP lite for OpenSim" | ||
359 | is the main script, and ~ball in the ~ball and prop objects. OpenSim | ||
360 | doesn't seem to have any memory limits per script (usually the main | ||
361 | reason to split scripts like that), and it simplifies the code a lot if | ||
362 | there is just one main script. The ~ball script is much simpler. Props | ||
363 | use the ~ball script instead of ~prop. There are two optional scripts, | ||
364 | "~MLP lite props" is used in the main MLP object if you have any props, | ||
365 | and "~MLP lite tools" is used by creators and editors if needed. | ||
366 | |||
367 | - It may use a bit more CPU time when expressions are being used. You | ||
368 | may not notice. A lag tester was added to help with this, expressions | ||
369 | may slow down when it gets laggy. | ||
370 | |||
371 | - Since we use some OpenSim functions that are considered high threat, | ||
372 | you might need to tweak your OpenSim settings. See below for details. | ||
373 | |||
374 | - The default .MENUITEMS note card now includes an EXTRAS menu, for all | ||
375 | those functions that usually go at the bottom of each menu, so you can | ||
376 | fit more poses on each menu. I suggest that "TOMENU EXTRAS>>" be added | ||
377 | to the end of menus, along with "BACK" and maybe "SWAP" | ||
378 | |||
379 | - Various creator and editing functions have been moved to the TOOLS>> | ||
380 | menu, and the "~MLP lite tools" script. You can leave this out if | ||
381 | the MLP object is fully set up. | ||
382 | |||
383 | - You no longer need to have the first two lines of .MENUITEMS as the | ||
384 | "stand" and "default" POSE commands. It wont hurt to include them. | ||
385 | |||
386 | - MENUORDER is no longer supported, menu buttons appear in the same order | ||
387 | they are on the .MENUITEMS* cards, coz that's the only sane way of doing | ||
388 | it. | ||
389 | |||
390 | - The MAIN MENU, first menu in .MENUITEMS, no longer needs a bunch of | ||
391 | "TOMENU -" commands. | ||
392 | |||
393 | - While the DUMP command still prints the positions in chat, SAVE now | ||
394 | saves that to a fresh .POSITIONS notecard, so you no longer have | ||
395 | to cut and paste to your old .POSITIONS cards. The old cards are | ||
396 | backed up, and the same applies to .PROPS cards that store props. | ||
397 | |||
398 | - MLP lite remembers all editing of the pose balls, not just those done | ||
399 | while in ADJUST mode, ADJUST now just makes the pose balls easier to | ||
400 | edit. This makes editing of lots of poses a lot quicker, and means you | ||
401 | can make quick fixes on the fly, and save them at the end if you want to. | ||
402 | |||
403 | - The BALLUSERS, OFF, REDO, INVISIBLE, STAND, SHOW, HIDE, and AGAIN | ||
404 | commands no longer exist. They are rarely used, or just not needed. | ||
405 | |||
406 | - The code that slices up long menus into shorter ones with "BACK" and | ||
407 | "MORE", to fit in the Second Life 12 button menu limit has all been | ||
408 | removed. I was gonna rewrite that, but for various reasons decided to | ||
409 | just drop it completely. People can chop up their own submenus if they | ||
410 | need this, and that's exactly what I have seen other furniture makers do. | ||
411 | As a bonus, there are no hard coded English menu or button names left in | ||
412 | the code, so you can easily use MLP lite for other languages. On the | ||
413 | other hand, all the messages are in English. CHECK will let you know if | ||
414 | your menus are too long. | ||
415 | |||
416 | - Old ~prop scripts are not supported, use the new ~ball script instead, | ||
417 | which means a bit of surgery needed on old props. | ||
418 | |||
419 | - Sequences are not currently supported. | ||
420 | |||
421 | - The REORIENT command, and various link messages, are not currently | ||
422 | supported. Some or all of these may come back. Some of the existing | ||
423 | link messages changed as well. Combining the scripts meant that a lot | ||
424 | of these link messages are no longer needed, but some external scripts | ||
425 | may depend on them. | ||
426 | |||
427 | - ZHAO support is gone. None of the ZHAO based AOs I have seen in | ||
428 | OpenSim support that. Note that the ~MLPT-AutoZhao script says "This | ||
429 | one supports AutoZhao, which is a ZHAO variant that turns of | ||
430 | automatically when you sit." Which seems pointless, it's already doing | ||
431 | the correct thing. My own AO / swimmer does the correct thing to. | ||
432 | |||
433 | - No Xcite support. Xcite doesn't exist in OpenSim. | ||
434 | |||
435 | - The STOP command now just stops all animations and puts away the balls, | ||
436 | instead of switching to the "stand" animation. | ||
437 | |||
438 | - Strided lists are used internally, in theory should use a little less | ||
439 | memory than having separate lists for everything. | ||
440 | |||
441 | - osMessageObject() is used instead of llSay() to communicate with the | ||
442 | pose balls. This will stop any cross talk issues, and save some script | ||
443 | running time. As a bonus, balls can be anywhere in the sim. | ||
444 | |||
445 | - The OpenSim notecard reading functions are used instead of the clunky | ||
446 | Second Life dataserver() functions. Faster and cleaner code. | ||
447 | |||
448 | - While the PRIMTOUCH command is still supported, it's script isn't here. | ||
449 | I never did have a copy of that script, and haven't needed to use it | ||
450 | anyway. | ||
451 | |||
452 | - There may be a thing or two I forgot to mention here. | ||
453 | |||
454 | ================================================ | ||
455 | |||
456 | OPENSIM THREAT LEVELS: | ||
457 | |||
458 | OpenSim developers introduced a concept of "threat levels" for their new | ||
459 | os* LSL functions. In my not so humble opinion, they where very | ||
460 | paranoid in assigning threat levels. For this reason, these scripts may | ||
461 | or may not work in any given grid or sim. In my version of OpenSim I | ||
462 | have removed or reduced the more insane threat levels, so YMMV. | ||
463 | |||
464 | Refer to the OpenSim documentation for how to deal with this, or ask the | ||
465 | person that runs your OpenSim grid / sim. | ||
466 | |||
467 | - osAvatarPlayAnimation() and osAvatarStopAnimation() | ||
468 | Threat level: VeryHigh, disabled by default. | ||
469 | |||
470 | These two functions can animate any avatar with any animation in the | ||
471 | objects inventory, without asking permission. So I guess this threat | ||
472 | level is warranted. Also means one script can manage animations for more | ||
473 | than one avatar, a limitation of the LL variety. | ||
474 | |||
475 | Used to get rid of one of the annoying aspects of how MLP works, which | ||
476 | often confuses newbies. Also allowed me to reduce the code complexity | ||
477 | and get rid of all those ~poser X scripts. | ||
478 | |||
479 | - osGetRezzingObject() | ||
480 | Threat level: none, enabled by default. | ||
481 | |||
482 | Wow, no threat level, the only one. lol | ||
483 | |||
484 | Used to reduce the complexity of the communication between the MLP object | ||
485 | and the balls. | ||
486 | |||
487 | - osGetNumberOfNotecardLines(), osGetNotecard(), and osGetNotecardLine() | ||
488 | Threat level: VeryHigh, only enabled for estate owners and managers by | ||
489 | default. | ||
490 | |||
491 | A faster and less complex way of being able to do what you could always | ||
492 | do, gets a VeryHigh threat level? WTF are the OpenSim developers | ||
493 | smoking? | ||
494 | |||
495 | Used to speed things up and reduce code complexity, exactly what they | ||
496 | where designed for. | ||
497 | |||
498 | - osMakeNotecard() | ||
499 | Threat level: High, only enabled for estate owners and managers by | ||
500 | default. | ||
501 | |||
502 | Slightly less WTF than the other notecard functions, but still. Allows | ||
503 | to script what the object owner can do manually, why is that a high | ||
504 | threat? | ||
505 | |||
506 | Saves having to cut and paste to notecards after editing ball and prop | ||
507 | positions. | ||
508 | |||
509 | -osMessageObject() | ||
510 | Threat level: Low, only enabled for estate owners and managers by | ||
511 | default. | ||
512 | |||
513 | More WTF, allows to send messages between objects better. Nothing you | ||
514 | couldn't do before. | ||
515 | |||
516 | Used to reduce the complexity and increase the reliability of messages | ||
517 | between the MLP object and balls / props. | ||
518 | |||
519 | -osReplaceString() | ||
520 | Threat level: VeryLow , enabled by default. | ||
521 | |||
522 | Why isn't this threat level none? | ||
523 | |||
524 | Used to reduce script complexity. | ||
525 | |||
526 | -osSetPrimitiveParams() | ||
527 | Threat level: High, disabled by default. | ||
528 | |||
529 | Once again, allows scripting of something that can be done manually, and | ||
530 | only works on objects the script owner actually owns. With that later | ||
531 | restriction, total WTF. | ||
532 | |||
533 | Used to reduce complexity and speed things up. | ||
534 | |||