Jump to content

Saving Builds


Recommended Posts

I am leaning building in SL. I want to create a house and will be building in a sandbox. How can I save a build to inventory and then put it back out another time? Do builders leave their builds out somewhere while building? After saving a build, rezzing it again, adding to it, how to save the newest iteration?

Thanks, John445 Bachman

Link to comment
Share on other sites

Right click and 'take copy'.  Copy of build goes to inv. Remember to give part builts a suitable name or version number etc for when u rez it out again from inv

 

Edited by rasterscan
  • Like 1
Link to comment
Share on other sites

Each newly-rezzed instance of an object is a brand new entity, so each time you save an object it is distinct from any instances you may have saved before. As rasterscan says, then, all you have to do is rename each copy that you save by adding a version number or a date to the name.  When you return to the sandbox to build on it again, just rez the most recent copy and get to work.

  • Like 1
Link to comment
Share on other sites

I'm not sure what the question means. When you link objects, the final object that you attach to a linkset becomes its root, and the linkset automatically takes its name.

Study basic articles in the Knowledge Base, starting with 

 

Link to comment
Share on other sites

You can bring several unlinked objects into your inventory which appears as a single coalesced object in your objects folder. The name of the last prim selected will be the name of the folder object. You can drag it out to sandbox and all items will rez together in the same position as saved. I don’t recall the limit of unlinked objects you can take. 

  • Like 1
Link to comment
Share on other sites

You can also right click the object and "restore last position" which will place the object(s) exactly where their coordinates were when picked up. However this can be disabled at the sim owner level so not all sims have this ability.

  • Like 1
Link to comment
Share on other sites

15 minutes ago, Bree Giffen said:

You can bring several unlinked objects into your inventory which appears as a single coalesced object in your objects folder.

However, you should be aware of several caveats before you start working with coalesced objects.

  • Like linked objects, coalesced objects take the name of the last object attached to the set.
  • Unless you select objects individually, it is easy to miss including small or transparent objects, and those inside other objects.
  • Always open your editor (CTRL - 3) before you decide to rez a coalesced object to be sure that the entire thing remains selected.
  • Be sure that you rez the object near the center of an area, well away from parcel boundaries and, preferably, well above ground level. Otherwise, some components may be lost or returned.
  • As Bree says, it is possible to include too many objects in a coalesced set, thus making it impossible to rez again. (The maximum that you can rez at once, IIRC, is 1000 objects).

Again, read more in the Knowledge Base at 

 

Edited by Rolig Loon
  • Like 1
Link to comment
Share on other sites

6 minutes ago, Finite said:

You can also right click the object and "restore last position" which will place the object(s) exactly where their coordinates were when picked up.

If you are using the Firestorm viewer, not the standard Linden Lab viewer. Also, be aware that this function will not work unless you have permission to rez objects at the extreme southwest corner <0, 0, 0> of the region, regardless of where you want the object to appear.  "Restore last position" works by rezzing the object at the <0,0,0> corner and then moving it to the "last position".

Link to comment
Share on other sites

2 hours ago, Rolig Loon said:

If you are using the Firestorm viewer, not the standard Linden Lab viewer. Also, be aware that this function will not work unless you have permission to rez objects at the extreme southwest corner <0, 0, 0> of the region, regardless of where you want the object to appear.  "Restore last position" works by rezzing the object at the <0,0,0> corner and then moving it to the "last position".

Ah this makes sense. I was wondering why I used to be able to do it on my old sim but not now. I assumed it was some sim level thing that had to be enabled. So it's because I don't rent that corner. Hmmm it is available though xD. 

Edited by Finite
Link to comment
Share on other sites

1 hour ago, Rolig Loon said:

If you are using the Firestorm viewer, not the standard Linden Lab viewer. Also, be aware that this function will not work unless you have permission to rez objects at the extreme southwest corner <0, 0, 0> of the region, regardless of where you want the object to appear.  "Restore last position" works by rezzing the object at the <0,0,0> corner and then moving it to the "last position".

I do not know why that process is used to "restore last position", but, the high percentage of failure is why Linden Lab removed "restore last position" from their viewer long ago.

Link to comment
Share on other sites

Get a simple rezzer (look up mrez on MP, although there are several good options) and learn to use that. It will take a bit to get the hang of preparing your builds to pack into a rezzer but then you can rez (and DE REZ!) anywhere with the click of a button. Then you won't end up with a folder full of random coalesced objects and no idea what is in them.

Edited by missyrideout
  • Like 2
Link to comment
Share on other sites

22 minutes ago, Ardy Lay said:

I do not know why that process is used to "restore last position", but, the high percentage of failure is why Linden Lab removed "restore last position" from their viewer long ago.

I've never understood why either. The "last position" is clearly a position relative to the region's origin, so the function is doing something similar to what the LSL function llSetRegionPos does.  If you try to use it on the wrong region, your saved object will still rez, using the same relative position but on the current region rather than the one where you saved it from. I can only guess where that information is stored.  I assume it must be saved somehow in object's tag the user's own inventory. I also don't know why it should be necessary to use a two-step process ( rez at the SW corner and then move the object).  All I know is what I have heard, and that leaves many important questions hanging.

Link to comment
Share on other sites

1 hour ago, Rolig Loon said:

You don't necessarily need to own or rent that corner.  You just need permission to rez there. ;) 

My dyslexic (butt) realized after I had already added it to my plot that it was the NW portion available and not the SW. Ah well. Gives me something to do....

Link to comment
Share on other sites

3 hours ago, Rolig Loon said:

If you are using the Firestorm viewer, not the standard Linden Lab viewer. Also, be aware that this function will not work unless you have permission to rez objects at the extreme southwest corner <0, 0, 0> of the region, regardless of where you want the object to appear.  "Restore last position" works by rezzing the object at the <0,0,0> corner and then moving it to the "last position".

For those who don't use FS, the description line is a good place to note the coordinates for future use. 

Funny thing is, I've always used FS and always used the description line. lol

Edited by Silent Mistwalker
  • Like 1
Link to comment
Share on other sites

3 hours ago, Silent Mistwalker said:

For those who don't use FS, the description line is a good place to note the coordinates for future use.

Here is a pair of scripts I use all the time.

The first one writes the position into the object's description line and once its job is done, it removes itself:

default
{
    state_entry()
    {
        vector position = llGetPos();
        llSetObjectDesc((string)position);
        llRemoveInventory(llGetScriptName());
    }
}

The second one moves the object to the position stated in the description field when the object is rezzed or the script is reset. Warning: make sure there is a position set in the description field before you add it. If there isn't, the object will move to the region's zero-coordinates:

default
{
    state_entry()
    {
    vector Position=(vector) llGetObjectDesc( );
    llSetRegionPos(Position); 
    }

    on_rez( integer start_param )
    {
    vector Position=(vector) llGetObjectDesc( );
    llSetRegionPos(Position);
    }
}

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

One thing I do sometimes is rez a cube, then stretch the sides to make a platform, say 20 meters by 20 meters, or bigger or smaller depending on what I'm making. I give the platform a name, say house01. Then I build on top of the platform. When I'm ready, I drag select everything. I try to leave the platform for last. But if it isn't, I hold down Shift, left click the platform to Deselect it, then while still holding down Shift, I left click the platform again. That Selects it for you. When you TAKE the prims, the platform is last and in your inventory, it will have the name you give your build.
You can even rez your build and while it's still Selected, raise it a little and slide a named platform under it.
 

Happy building. :0)
 

 

Link to comment
Share on other sites

14 hours ago, ChinRey said:

Here is a pair of scripts I use all the time.

The first one writes the position into the object's description line and once its job is done, it removes itself:

default
{
    state_entry()
    {
        vector position = llGetPos();
        llSetObjectDesc((string)position);
        llRemoveInventory(llGetScriptName());
    }
}

The second one moves the object to the position stated in the description field when the object is rezzed or the script is reset. Warning: make sure there is a position set in the description field before you add it. If there isn't, the object will move to the region's zero-coordinates:

default
{
    state_entry()
    {
    vector Position=(vector) llGetObjectDesc( );
    llSetRegionPos(Position); 
    }

    on_rez( integer start_param )
    {
    vector Position=(vector) llGetObjectDesc( );
    llSetRegionPos(Position);
    }
}

 

Thanks. I prefer not to use scripts when not necessary. After the 5th time of picking up my build platform by accident because have to hurry, I locked it.

There's a lot to be said for doing things the old fashioned hands on way.

If I input by hand then I know it's been done and I don't need to check it.

Hey it's SL. Things rarely work out as planned. lol

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...