Join us in Outworldz at www.outworldz.com:9000 or follow us:

Search dozens of selected web sites for OpenSim and LSL script

New! Script Meta-Search will search thousands of scripts here and at other sites for LSL or Opensim scripts.
Loading

Want to add a script or a project? Upload it and a half million people will see it and your name here this year.

Home   Show All
Category: Description: Creator:
Building This set of scripts will draw a bezier curve segment controlled by 3 control points. // // It tries to be the foundation of a more general graph server in SL. // // The idea and first version of the bezier curve demo script, was given to me by CatherineOmega. She had a working script that rezzed small spheres in each point position. // Then i added some modifications and the possibility of drawing segments made up of cylinders to rezz a line instead of just points. // // The complete bezier server consists of several parts: // // * Server:An object that controls and creates the graph. We call this // * Control Points p1,p2,p3: control points that controls the begining, direction and end of the bezier segments. // * Point Mark: the object (may be a sphere or other) contained in the server that is rezzed in each created point mark position. // * Segment: the object (a cylinder) contained in the server that is rezzed when a line segments are required instead of point marks. // // // A description of each part will be given. // // // Server object // // Description // // The server object is the one which calculates the point coordinates interpolated using a bezier curve. // It rezzes the segments or point marks. // It shows the positions of the three control points in its display text. // Commands to it are given in the channel 1. // It receives the positions in that channel from the control points, and when it has all three, draws the curve. // When a new position is received from a control point, it clears the previously rezzed objects and draws new ones. // The server knows which control point has moved by the name of the object that has said the command it receives. // // Commands - How to use // // Once you have rezzed the bezier server, you can say commands to it through channel #1 to control its behaviour. // Commands are: // // * "/1 markers on": activate the drawing of markers. This is the default option. // * "/1 markers off": deactivate them. // * "/1 lines on": activate the drawing of a line made of segments. // * "/1 lines off": deactivate the drawing of segments. This is the default option. // * "/1 segments n": set the number of segments that should be drawn to n. // * "/1 start": this command forces the drawing of the curve. // * "/1 mu float": draws a point corresponding to the given value of mu parameter. // // // How to create de server // // To create the bezier demo server object, create a prim that you like and put the following script in its inventory. // Then you should create the segment and point mark objects (see descriptions below) and put them in the inventory of the server object too (see bellow).
Building // Control Points // Description // // The Control Point objects are the prims that you can position in place to control the shape of the bezier curve. // A Bezier curve has three control points (p1,p2, and p3). // The curve passes through p1 and p3 and p2 controls the curvature and tangent direction of the curve in p1 and p3. // When a control point is moved or you touch it, it says its position through channel #1 to the bezier server. // // To use them, just rezz one object of each type (p1,p2 and p3) and move it to the position you want. The curve should be drawn if you have rezzed the bezier server first. // // Commands - How to use // The control points don't obey any command. They just have a simple script to say their position to the bezier server trough channel #1 // // How to Create the Control Points // // Create three prims (may be a simple sphere prim) with different colors and name them p1, p2 and p3 (be sure to name it that way: the server uses the name to differentiate which point has been moved or touched). // // Then put the following script in each control point.
Building oint Mark // Description // // The Point Marks are the prims drawn in each interpolated point of the bezier curve when markers mode is active. // You can use any prim, as a small sphere for example. // The Point Mark object should be in the inventory of the bezier server object, as it is rezzed from the script of that object. // The Point Marks are very simple, as they don't need to communicate with other scripts. // For convenience, they just listen in channel # 1 for clear commands, to delete themselves. // // Commands - How to use // // The point marks listen in channel #1 for clear commands to delete themselves. // say "/1 clear": deletes all point marks. // // How to Create the Point Mark object // // Create the prim or object you want to be rezzed in each point position. Name it Point Mark. Then put the following script in it. // Take the object to your inventory and copy it from there to the inventory of the bezier server object.
Building // Segment // Description // // The Segments are the prims drawn to make the lines of the bezier curve when you set lines mode on. // The prim should be a cylindre. // // The Segment object should be in the inventory of the bezier server object, as it is rezzed from the script of that object. // The bezier server object rezzed the cylindre, rotates it to orient it properly in the direction of the line and then gives it a command to initialize its size correctly (as the size of an object cannot be stablished when rezzed and the parameters of a prim can only be altered by itshelf). // // Commands - How to use // // Each segment object listens in the channel corresponding to its line number for clear commands to delete themselves. // say "/line# clear": deletes all point marks. // The segment object listen for seginit commands from the bezier server object in its line# channel addressed to its segment number. // The channel number and segment number are coded in an integer that is passed to the segment when rezzed. // In this example the line # is always 1. // The command is: // "/line# segment#,diam,size" where segment# is the number of the segment to be initilized, diam is the diameter fo the cylindre and size is its lenght. // How to Create the Segment Object // // Create a cylindre of any size, set a blank texture and choose its color. Save it with name Segment. // Put the following script in it. // Then, take the object to your inventory and copy it from there to the inventory of the bezier server object.
Building INSTRUCTIONS // // If you have a complex build that is assembled from a rez box in SL, the scripts described here will allow you to store information about the components of the build on the components themselves. Then once the components of the build are transferred from SL to another grid, you can use the scripts described here in a rez box to reassemble the complex build on the new grid. // // DISCLAIMERS // // As of this writing (November 2008), not all content will transfer completely between SL and other grids. For example, the contents of objects (scripts, objects, animations, sounds, etc.) will not always transfer successfully, even when those contents are in the root prim of the linkset being transferred. Futhermore, contents of child prims of linksets will not be transferred at all. It is best therefore to "clean" any build you want to transfer by removing all contents from all prims in the linked sets you will be moving. // // You must have full permissions on the rezz box you are using, as well as all of the build components, in order to move the build from SL to a new grid. // // This export/import system is meant for experienced builders who have complex builds in SL that they want to move to new grids. You will need to be fairly comfortable with rezzers like Builders' Buddy in the LSL Library, or its clones (Rez Foo, Rez Faux, etc.). Please do not contact me for support in using this system. However, if you find bugs, please let me know. // // NOTE: the scripts in the box have been set to "not running." Set the scripts to running before trying to use them. // // INSTRUCTIONS // // 1) Get build ready for export. (use BUILD EXPORTER described below) // // - take out your rezz box and rez your build. // // - clean out the contents of the build components, if yous wish, since they won't transfer correctly anyhow. Clean out the contents of the rezz box. // // - place the BIG BUILD EXPORTER COMPONENT script in the root prim of each of the components. // // - place the BIG BUILD EXPORTER BASE script in the rezz box. // // -LEFTCLICK the rezzbox // // // // Your components are now ready to be exported. NOTE: you will see that the process has resulted in replacing the name and decription fields of the components with information about their positions and rotations in SL. DO NOT change that information! // // -take each component of the build into your inventory individually (rightclick each linkset and choose "Take"). Make sure they are still "full perms" (rightclick inventory entry and pick "properties" and set them to full perms) and there has been a bug sometimes that results in resetting permissions when items are taken into inventory. // // You can now delete the rezz box. // // 2) Save build components to hard drive. (use SECOND INVENTORY or similar utility) // // 3) Upload build components from hard drive to new grid. (use SECOND INVENTORY or similar utility) // // 4) Restore build on new grid. // // You'll need to make copies of the importer scripts on the grid where you want to use them. Edit the scripts in SL, select all and copy the script. Paste into a text file if you can't have both SL and the other client running at the same time, or paste directly into a new script on the new grid. Save the script and rename it so that it matches the name in SL to avoid confusion. NOTE: copies of these scripts are also available in the Wright Plaza freebie garden on the OSgrid. // // -Rez each component of the build individually on the new grid, and place the "BIG BUILD IMPORTER COMPONENT" script in the root prim. Take component back into inventory. Probably best to place the components in a new folder so you don't get them mixed up with the ones that don't have a script in them. // // -Rez a cube to use as a rez box. Place the "BIG BUILD IMPORTER BASE" script within the rez box. Place the components containing the importer script inside the rez box with the importer base script. // // -Leftclick the rez box and select BUILD to assemble the components. To move the build, leftclick rez box and select CLEAN then move the rez box and re-rezz the build. When you are done, leftclick rez box and pick DONE to remove the component scripts from the components.
Building Second script:
Building OSgrid side importer scripts (two scripts) // // Script 1:
Building Script 2:
Building This script goes in the each link set of parts. Those parts then go in the Builders Buddy Box
Building This script goes in the each link set of parts. Those parts then go in the Builders Buddy Box
Building Builder's Buddy lets ordinary SL users rez a set of unlinked items in their proper places in relation to each other, without needing any building skills. // The "Set" is usually a building, but there is no reason it can't also be a statue, a furniture set, etc. // You prepare the unlinked items according to the easy steps below, then for distribution put them in a Packing Box. // This script goes in the Builders Buddy box along with all parts
Building Builders Buddy readme
Building Builder's Buddy lets ordinary SL users rez a set of unlinked items in their proper places in relation to each other, without needing any building skills. // The "Set" is usually a building, but there is no reason it can't also be a statue, a furniture set, etc. // You prepare the unlinked items according to the easy steps below, then for distribution put them in a Packing Box. // This script goes in the Builders Buddy box along with all parts
Building Builders_Buddy_1
Building Builders_Buddy_README
Building Clone_Prim
Building Sample Output // // Here's an example of the output. This will make a shiny, metallic mobius strip.
Building Tips & Ideas // // Warning: Bad chat lag will sometimes re-order your code for you. Increase the pause variable at the top of the script and try again. If that fails reduce your draw distance, move to a different sim and wait for SL to stop sucking. // // Tip: Comment out the PRIM_SIZE in the output script and drop it in a megaprim after you've built your scale model. // // Tip: Supports sculpties. // // Tip: One neat thing you can do is have your prim cycle between objects. Just take the entire codeblock in state_entry() and stick it in a custom function thus:
Building control.lsl
Building Falling_Prims_Script
Building Fix_Repeats_Per_Meter
Building The following is a set of scripts for generating fractals (strictly speaking, fractal trees). I used variants of this script to build all of the fractals in my (2005) burning life build.
Building Child
Building Rescaler
Building This code makes Geodesic Domes and was given to the Open Source Scripting group by Shine Renoir. // You can read about the math here, http://www.geometer.org/mathcircles/geodesic.pdf // // The Dome Builder uses 3 scripts. One in the builder object and two simple scale/scale and shear scripts in the component parts. // // You can pick up a complete Dome Builder tool for free in Chessport, near the telehub. // // First - this script goes in the builder object. // // BUILDER
Building LINE // // // Put this scale script into a rod object called 'Line' and put that inside the builder, alongside the script above. // // The rod object is a Cylinder with size <0.1,0.1,1.0>.
Building TRIANGLE
Building An example how to build a platform at 2,000 meters. Place this script in a box, and place an object named "Sky Platform" in the box. Then sit down on the box. At 2,000 meters it rezzes the Sky Platform. Note: There are some strange rules at this altitude, e.g. when you try to move an object, it will be placed at 768 m height. Same for llSetPos. But looks like the physical movement commands are working. // // See below for an elevator to this height.
Building For moving up to the platform, you could use a space elevator. Move it along the x-axis beside the platform on ground. On sit up it pushs you a bit, which moves you on the platform.
Building Highlight Face.lsl
Building Identify Faces uses this texture for Open SIm users. SL users can use the script as-is. // //
Building Linkset_Resizer
Building (http://www.gnu.org/copyleft/fdl.html) in the spirit of which this script is GPL'd. Copyright (C) 2009 Xaviar Czervik // // This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. // // This is one of the projects that I've spent a significant amount of time on, and that I've uploaded to the wiki. It's purpose is simple: it allows anyone to transfer objects through text. This may seem trivial, but it has several advantages to it. Below are a few ways in which this script can be used: // // 1. The Internet. There is no way (yet) to go on to the Internet and request an object be sent to your SL character. This solves this issue. One could post the data on to the Internet, and allow people to copy the text down to SL, run this script, and obtain an object from it. // 2. Management Scripts. There is no way to have an object create a totally new object. And objects can only call llGiveInventory on other objects when in the same sim. This solves the issue by allowing objects to use email to send data, which can then be turned into an object. // // Revision History // // Version 1.3: // // 1. 100% success rate. // 2. Added PRIM_GLOW // 3. Added functionality for multiple notecards (for really big objects). // 4. Improved efficiency; removed the delink/relink sections. // // Version 1.2: // // 1. Around 95% success rate. // 2. Changed to almost all llGetPrimitiveParams calls. // 3. Added more than just ten different descriptors of an object. // 4. Removed freakish menu-controlled system. // 5. Script need only be dropped in root object, not every prim. // // Version 1.1: // // 1. Made process simpler: removed replicate from listen. // 2. Changed to work (slightly) better. // // Version 1.0: // // 1. First release. // // // Instructions // // Thanks to DMC Zsigmond for the original documentation shown below, modified for Version 1.3 by Xaviar. // // Check List (Parts Required): // // 1 x Script, named: "Data To Object" 1 x Script, named: "Object to Data" 1 x Script, named: "Holo Script" 1 x Object, named: "HoloBox" 1 x Notecard, named: "Data_Default" Plus, 1 x Any Object you wish to use these scripts with to turn into data, or re-rez it back again. // // // Part 1/2 - Instructions to convert an Object to Data // // 1. Select an Object you wish to turn into data (NB. perhaps start with a single object which is relatively simple). // 2. Rez the Object you wish to turn into data on the ground. // 3. Right-click the Object you wish to turn into data, and select edit. Then click on the "Content" tab to view its contents. // 4. Open your "Inventory", and create a new folder, called: "Object to Data v1.3". // 5. Under the new "Object to Data v1.3" folder, right-click and create a new script, named "Data To Object". Then copy and paste the "Data To Object" LSL code on this wiki page into the "Data To Object" script you just created under your "Object to Data v1.3" folder. Click on "Save" to compile the "Data to Object" script, and then after that "Data to Object" script has successfully compiled, close the script. // 6. Repeat Step 5, for both "Object to Data", "Replicate Main" and "Holo Script" scripts. // 7. With the Object you wish to turn into data still selected, and with the "Content" tab highlighted/activated, drag'n'drop the "Replicate Main" script you created in your Inventory, from your "Object to Data v1.3" folder into the "Contents" folder of the Object you wish to turn into data. // 8. Now drag'n'drop the "Object to Data" script you created in your Inventory, from your "Object to Data v1.3" folder into the "Contents" folder of the Object you wish to turn into data. Your Local Chat window will now inform you that the Object is deploying scripts, and to please wait... // 9. Once it finishes, deselect the Object you wish to turn into data, and then right-click on it, and select, "Take", to take the object back into your inventory. // 10. Locate your Object you wish to turn into data from within your "Inventory", and then re-rez it on the ground again. // 11. At this point, the right-click on the "Object" you wish to turn into data and "select" it again. // 12. With the Object selected, go to your "Tools" menu on the Second Life browser, and select "Set Scripts to Running in Selection". A "Set Running Progress" dialogue box will pop up notifying you that the "Object to Data" script inside it, is running - and Done. // 13. Close this dialogue box, and then right-click on the Object you wish to turn into data and select, "Take" to take the object back into your Inventory for a 2nd time. // 14. Locate your Object you wish to turn into data from within your "Inventory" for a 2nd time. // 15. Re-rez the Object on the ground for a final time. Wait a few moments (or possibly a minute or two) until your Local Chat Window outputs the Object's data. // 16. Copy the text data from your Local Chat Window (including the time code) from the very beginning to the very end. // 17. Return to your Inventory folder named, "Object to Data v1.3", and then right-click and create a new note (i.e. notecard) called, "Data_Default". // 18. Paste the Object code data copied from your Local Chat Window to the "Data_Default" notecard, and then "Save" it. This notecard now holds the data information for your Object. // 19. If the information does not fit in to one notecard, the first object stays named "Data_Default", however name the second notecard "Data_Default 1", the third "Data_Default 2", etc. // // The entire object has now been turned into data. It can now be transferred through many means not usually possible, including a text file on the Internet. // // End of Part 1/2. // // // Part 2/2 Instructions to convert Data to Object // // 1. Create a new Object on the ground, and then right-click on it, and select "Edit". // 2. Under the "General" tab, name the Object you just created as, "HoloBox". This object must be inserted into your "Data to Object" object in future to supply the prim that will be converted back into the original Object you once sort to have turned into text/notecard data. // 3. Go the the "Content" tab of the "HoloBox" prim, to view its contents. // 4. Drag'n'drop the "Holo Script" script under the "Object to Data v1.3" folder in your Inventory, to the "Contents" folder of the "HoloBox" object you have selected. // 5. Right-click the "HoloBox" object, and select "Take, to take the object back into your inventory. // 6. Create a new Object on the ground, right-click it, and select "Edit". (Move the object some meters above the ground, since it will silently fail and hang if later [=>14.] it attempts to rez objects slightly below ground level!) // 7. Under the "General" tab, name the Object you just created as, "Data to Object". (not necessary) // 8. Go the the "Content" tab of the "Data to Object" prim, to view its contents. // 9. Drag'n'drop the "Data To Object" script under the "Object to Data v1.3" folder in your Inventory, to the "Contents" folder of the "Data to Object" object you have selected. // 10. Drag'n'drop the "HoloBox" object you have either in your "Objects" folder in your Inventory or under the "Object to Data v1.3" folder in your Inventory, to the "Contents" folder of the "Data to Object" object you have selected. // 11. Drag'n'drop the "Data_Default" notecard(s) under the "Object to Data v1.3" folder in your Inventory, to the "Contents" folder of the "Data to Object" object you have selected. // 12. Confirm in the "Contents" folder of your object named "Data to Object", you now have the following items contained inside it: 1 x Script, named "Data to Object"; 1 (or as many as needed) x Notecard(s), named "Data_Default" (with following numbers, if needed); and 1 x Object, named "HoloBox". // 13. Deselect the object, "Data to Object". // 14. Now touch the object, "Data to Object" to begin rebuilding the original Object that you had turned into data. It can now be turned back into an Object again. // 15. View your Local Chat window for confirm of the build "Start", and notification when the build is "Done". // // The original Object you sort to have turned into data will now rez as a new object above the "Data to Object" prim. // // This object will be empty, ready for use as intended. // // End of Part 2/2 // // // Data To Object (Script)
Building Replicate Main (Script)
Building Object To Data (Script)
Building Holo Box (Script)
Building Table script. Add to the table this script and a chair. The name should be 1 Prim Chair, or you must change the name in the notecard
Building Add a notecard called 'Config' to the table. Do not change the order or number of lines in this notecard.
Building The chair script. Put this in a prim called '1 Prim Chair', or change the notecard to your chair
Building Paramour Builder's Buddy v1.0
Building Paramour Builder's Buddy v1.0
Building Pipemaker helps you easily create continuous lengths of pipe using cylinders and torus segments. The simple dialog-driven interface always lines pieces up perfectly to give you one long continuous pipe. // It's useful for creating industrial complicated pipe messes, weird curlicues, and, of course, for writing your name in prims in the air. // // Retrieved from from Free SL Scripts on http://www.freeSLscripts.com or www.freeslscripts.gendersquare.org
Building Positioning Tool Script.lsl
Building Touching this script causes the object to double or halve in size.
Building Set and Move.lsl
Building Show_Hide.lsl
Building Show_Hide (Owner Only).lsl
Building Show Sides.lsl
Building Side Numbering.lsl
Building A nice skirt maker
Building A nice skirt maker
Building Stay in sim!.lsl
Building Tape measure.lsl
Building This script allows you to resize the prim up to 64M per side, even if your SL client does not allow that yet. Menus or use chat commands. Examples: X = 5.5 // Sets the X plane to 5.5 Y + .5 // Adds .5 to the Y plane Z - 10 // subtracts 10 from the Z plane xyz * .5 // Reduces the prim by half xyz * 2 // Doubles the size of the prim Set 20 15 .5 // changes the prims X, Y and Z parameters to those numbers undo //will undo the last command

Back to the Best Free Tools in Second Life and OpenSim.