Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

3 Neutral

About RozWright

  • Rank
  1. With mesh came a lot of new door scripts that don't require that the "hinge" of the door also be its center (as it was with the cutpath prim), so those scripts wouldn't be using llTargetOmega. Someone graciously offered me a door script she'd created (that didn't use llTO) and the problem was solved. From my experience, the physics shape changed when llTargetOmega was called in the script (which was every time the door was opened or closed), not while it was in motion. So for things like ceiling fans it's not much of a problem, the build is already in edit mode when the rotation is set, and there's not much need for llTargetOmega to be called beyond that. There's no rational reason a client side effect would cause a problem like this, and yet it does, which makes troubleshooting it a mind melting experience.
  2. Toy Wylie's script does this, and it works well in prim builds. But for mesh builds, I would not suggest llTargetOmega in a door script...it does bad things to your doorways. The non-scripting workaround is to "edit" your doorway...just the simple act of opening the edit window on the build fixes the problem (without leaving any evidence there was a problem in the first place). But who wants to left click a door and then right click the doorway to enter a building?
  3. Not until you tell us how you fixed it. The "gap" is a persistent annoyance.
  4. You ended up pointing out an excellent reason for why it's a smart idea to comment on what pieces of your code do.... New functions are added all the time that replace the old way of doing things. Documentation gives the creator a clue to what all those lines actually do years later, after they've gotten into the habit of using new functions like llSetAnimationOverride, llSetRegionPos, llGetObjectDetails(agentKey, OBJECT_BODY_SHAPE_TYPE), and llSetPrimitiveParamsFast to replace blocks of obsolete code, timers, and outdated user created functions they may have included in their code years ago. Our writing style changes too, depending on mood, circumstances, and time...whether it's writing a term paper, or recreating a board game in LSL. Hammering out 6 of 12 pages of a history paper the night before it's due is going to have an effect on recall when we reread it a month or a couple of years later. The same is going to happen during a crazed self-imposed deadline in getting a complex script to do what we need it to do. That "oh, yeah...that was pretty cool, I forgot I did that" or "what was I thinking" reaction. Documentation does a pretty good job of walking us through the fog.
  5. Why do you use the Appearance window to change outfits? You can change your clothing with the inventory window as well. The Appearance window is better used to save complete outfits to your inventory's "Outfit" system folder. After that, all you have to do is open the Outfits folder, right click the outfit folder you want to wear, and choose "Replace Outfit." Even with a script that communicates with your client/viewer, like RLV or a bot client that supports outfit swaps, you'll need to organize outfit files the same way to be accessed through your #RLV folder, and then you still need to create the scripts to make it all work.
  6. This may be anti-climactic (given some of the other, more sophisticated, solutions here), but if you're teleporting to a moving "seated area" the easiest way to pull it off is the lowly sit script (without the llUnSit). Sit targets can take you places that llSetRegionPos cannot. I've used simple sit scripts to put avis in circling planes, let avis drive and ride in speedboats patrolling outside the parameters of "island" sims (182 meters is the magic number to barely scrape your boat on the corners of a sim), and allowed avis to teleport to neighboring parcel skyboxes where Object Entry permissions slapped warPos travelers out of the sky. If your floating skybox seats are orbiting an axis, you can texture your axis to appear stationary and then use that axis as an entry point to seat spectators. The drawback is that the spectator will be seated immediately and abruptly, and for movement you'd need an axis prim that can be easily accessed by the spectators (within the 54 meter limit...as the patrol boat trick requires one avi actually wearing the boat as an attachment). But it's a simple solution that will place avi's exactly where they need to be.
  7. Right! Or readability? How much of a nightmare will the code be to fix with more than a few if...else statements as opposed to two lists and llListFindList? The biggest advantage with llListFindList over multiple if...else statements or a loop counter, the statement simply evaluates the list for the string or variable you're looking for, and returns a value telling the script where that item is in the list, or telling the script to stop looking. I have a feeling that the time and resources used with a single line finding something in a list makes up for the time it takes the script to evaluate multiple conditionals. I may be mistaken, but it certainly makes up for the time I need to debug a script. I've seen "Lucky Letter" style scripts where it's all if...else statements instead of using one list to set a pointer to another list that contains the texture offsets/repeats for 28 to 37 different vectors on a single texture. (At least I hope it's a single texture and not somewhere between 30 or 40)
  8. During the Winter holidays, I created a total waste of resources called "Script Battle Royale" where you throw 3-5 scripts in a empty prim and they delete each other until only remains. It turned out that the surviving script was much more accurate in revealing what remained in the prim's contents than using edit and checking out the prim inventory with my own eyes. It took a while (if at all) for the contents to update, and I could see 2-3 scripts in the prim inventory, where one script would open without issue and the others would give me the "Could not find script" error when I tried to open them. Those ghosts of Christmas scripts past that gave the error remained in name (and icon) only. Some of the "ghost scripts" hung around for a few minutes or until I got bored and tossed several more scripts in the prim.
  • Create New...