Rez2

From CasperTech Wiki
Jump to: navigation, search

Introduction

Welcome to Rez2!

Rez2 allows you to easily package, rotate, move, align, and sell big or sparse structures that may be impossible to link. The speed is greatly improved over Rez-Free, allowing your builds to be rezzed even faster!

Rez2 features include:

  • NEW IN REZ2: Faster rezzing! See the demo video below!
  • NEW IN REZ2: Access control options! Owner / Group / Public
  • NEW IN REZ2: "Pair" option! Tell each piece which anchor you want them linked to
  • NEW IN REZ2: Rez Option: Toggle hide anchor when rezzing
  • NEW IN REZ2: Rez Option: Toggle disable floating text when rezzing
  • It's FREE! The Free version contains all the features you would expect from other commercial package rezzers.
  • Integrates with CasperVend Holovendors - ideal for house sellers or otherwise demoing your large build
  • The separate parts of your build can be ANYWHERE on the same region
  • Extremely robust rezzing system means that rezzing always succeeds even on lagged sims
  • Extremely low lag scripting means that your sim is not bogged down by this system
  • Unlimited pieces can be managed - no memory limits
  • Add/remove new pieces at any time without having to start again

Features removed from the Rez2 versus the older Rez-Free:

  • Temp-rezzing support. With mesh content this no longer gives any advantage over regular rezzing.
  • Rezzing across region borders. This wasn't reliable due to sim communications.

Customising Your Anchor

You can (but it's not required to) make a customised anchor!

Simply "Open" and "Copy to inventory" the scripts in the default anchor.

In your inventory you will then find a folder with the "Anchor" and "setup" scripts.

Simply create (or rez out) your desired anchor object, and drag those two scripts from your inventory, into your object.

Now you are ready to proceed with the step-by-step, beginning with the next section below.

Step By Step

1. Prepare your build


  1. Rez your build somewhere it can stay while you're packing it.
  2. Link together as many parts as you can, or as is efficient for your construction method.
  3. The fewer linksets/pieces, the less time it takes to pack.
  4. Set your permissions on each linkset/piece, while they are rezzed inworld.
  5. Before you begin to pack it, right-click > "take a copy" of the entire build.
  6. This gives you a backup copy of the base build in your inventory in case of "Oops!"

2. Start Packing Your Build


1. If this is your first time using Rez2, rez out and unpack your Rez2 shipping crate to get the Anchor and the Rez2 Tracker script in your inventory.
2. Drag a Rez2 Anchor from your inventory to the ground.
3. Rename it to something distinctive, and appropriate for the build.
4. Position it in an accessible location for your build
5. Drop a Rez2 Tracker script into the root prim of each linkset of your build.
6. Red hovertext will appear over the object that says: Rez2 Unpaired
7. You will get the following message in local chat:
  (name of linkset): Touch an anchor to pair me
8. Repeat steps 5-7 for each additional linkset in your build.
9. Now click the anchor. You will get the following message in local chat - one for each linkset/piece - that was still unpaired at that time. If you have a lot of pieces/linksets, you'll get a screenful of messages:
  (name of linkset): I'm now associated with anchor '(name of anchor)' (uuid string). 
  You can touch me for a menu to reassociate if you wish. 
10. You will see green hovertext on the linksets/pieces saying TRACKING! and chain particles.
11. If you don't see any particles, make sure you have particles turned ON in your viewer, and that your particle slider in your viewer's graphics preferences has a number greater than "128".

Repeat the above steps for each linkset you want tracked with that anchor.

3. Check Your Packed Build


1. Move the anchor a sufficient distance away in order to see if you missed tracking any linksets/pieces.
2. If you missed one or more pieces, simply "undo" the move (CTL + Z) to send the anchor back to its original position.
3. Then repeat the steps in section packing your build for each linkset/piece that was missed.
4. Once all the linksets/pieces are properly tracking, right-click > "take a copy" of each linkset/piece into your inventory.
5. On the anchor, right-click > go to "Contents" tab/
6. Drag all the linksets/pieces (about a dozen at a time) into the anchor's contents/
7. Once you are done, the anchor should have ALL the pieces in its contents.
8. "Take a copy" of the anchor. This is another backup in case of "Oops!"

4. Do You Have Copies in Inventory?


At this point you should have a copy of ALL of the linksets/pieces and the anchor you are working with in your inventory.

If you do not, go back and "take a copy" of them!

5. If You Have Copies, Now You Can Delete


1. Once you've taken copies in your inventory, you can delete the objects inworld.
2. Once everything is gone, click the anchor again and select "Rez".
3. Everything should appear in place, relative to the anchor's position.
4. If you're satisfied with the position of all the pieces, then click the anchor and select DEREZ from the popup menu.

6. Make Your Anchor Transferrable


1. Click the anchor
2. On the popup menu, select "FINALISE".

This will make the anchor transferrable and will also "lock" the positions of the linksets/pieces and prevent further adjustment.

The anchor is now ready to be either sold or given away!

Rez2 Demo Video

Rez2 demo video

About the Menu Options

Rez2 Main Menu Options

Finalise


This option deletes the "setup" script, and makes the anchor transferrable so you can now sell or give away your build. This also prevents adding or adjusting pieces - the anchor will no longer accept new data without the setup script in it.

(If your build is still not transferrable, that's because there's something else still in the anchor - or in one of your linksets - that is No-Transfer.)

Kill Scripts


This option removes ALL scripts in all of the pieces. You CANNOT undo this action!

If you just want to remove the green "TRACKING...." hovertext, use the CLOACK option instead.

Access Control


This option controls who can use the rezzer. Your options are:

  • Everyone
  • Group
  • Owner only

Owner is the default setting.

Rez Options


See this section for details.

Cloak (Hiding the floaty text)


This removes the green hovertext and particles, but does NOT remove scripts. This allows you to move things around without seeing distracting particles or hovertext. If you are satisfied with the placement and no longer wish to move the build, you should always use "kill scripts" or "finish".

Test


This option moves all the tracked parts up about 10 meters for about 10 seconds, then moves everything back down. This allows you to see if there's any parts that you missed putting a tracking script in.

Terraform


Warning-icon.pngThe terraform option only lowers the terrain to a point where the objects can move to the correct position, that's all. Any further terrain adjustments need to be done by the avatar rezzing the build.

YOU must have "Terraform" ability on the land in order for this to work.

This is a toggle option - when it's on, moving the build into the ground will roughly terraform (the ground will sink) as you move the build into place. Click again to turn the Terraforming option off.

(Usage: Click the Rez2 anchor and select "Terraform" from the popup menu. In local chat you will get the message: Build will now lower land when appropriate. This means the option is now ON. Lower the build. When the center point of the lowest root prim out of the linksets hits the ground level, the ground will begin to sink below the build. The area will expand as each additional root prim hits the ground level. Toggle it off and finish positioning the build when satisfied with the depth of the terraforming effect.

Raising the build will not undo the terraforming - that will need to be done manually, along with any fine-tuning / cleanup of the existing terraforming.

Rez / Derez


To rez and derez the build.

Store


This option writes the current position and rotation of the linkset in the object description field, as well as killing the scripts. The position and rotation numbers written into the description field is a "backup" of sorts - occasionally Second Life moves things out of place; sometimes people refer to this as "prim drift" - having these numbers in the description field will allow you to input the appropriate numbers for position and rotation for the linkset via the edit window to move the linkset back to its proper place, rather than trying to slide it with the arrows in edit mode.

About the Rez Options Submenu

Rez2 Rez Options Submenu

OPT1 - Don't hide anchor(s) on rez


This setting only matters when the anchor is rezzed from a vendor. When a customer rezzes the anchor, the anchor will always be visible.

OPT2 - Disable floating text when rezzing


This applies ONLY to the anchor itself - the pieces/linksets will still rez FROM the anchor with the usual tracking-related hovertext.
See the Cloak option to hide text from the rezzed pieces/linksets.

Common Issues

Accidentally deleted?


If you did Edit > Delete on items rezzed inworld, they should still be in your trash.

If you did Edit > Contents tab > Delete on contents of an item, no you can't get them back.

If you put the tracking script in all the parts, then did Derez BEFORE picking up copies and packing it in the anchor, no you can't get them back. This is why the instructions explicitly have a step where you "take a copy" of everything BEFORE you hit derez.

Cannot create large prims that intersect other players..


This happens when you attempt to rez an object larger than 64m (in any axis), and there is an avatar in the way.

There are three ways to work around the issue:

  • Divide your build into smaller pieces
- or -
  • Make sure the rez-area is clear of avatars
- or -
  • Add the following script to the object which will turn it phantom, until after the item has been rezzed and moved into place:
(Note that if your build used the llVolumeDetect hack, or if your build is supposed to be phantom, you should not use this script.)
 1 //
 2 //
 3 //  WORKAROUND for "Cannot create large prims that intersect other players. Please re-try when other players have moved." issue
 4 //
 5 //  Sets object phantom until after rezzed and moved into place. Compatible with Rez-Free, Rez2, Holovend.
 6 //
 7 //  Author: Casper Warden
 8 //  License: Public Domain
 9 //
10 default
11 {
12     state_entry()
13     {
14         llSetLinkPrimitiveParamsFast(LINK_SET, [PRIM_PHANTOM, TRUE]);
15         llOwnerSay("This prim is now phantom. Phantom property will be removed after rezzed and positioned by a Rez2, Rez-Free or Holovend.");
16     }
17     link_message( integer sender_num, integer num, string str, key id)
18     {
19         integer trigger = FALSE;
20         if (num==505 && str=="MOVED" && llGetStartParameter()>0) //RezFree & Rez2
21         {
22             trigger = TRUE;            
23         }
24         if (num==0 && str=="MOVED" && llGetStartParameter()>0) //Holovend Tracker
25         {
26             trigger = TRUE;            
27         }
28         
29         if (trigger == TRUE)
30         {
31             llSetLinkPrimitiveParamsFast(LINK_SET, [PRIM_PHANTOM, FALSE]);    
32             llRemoveInventory(llGetScriptName());
33         }
34     }
35 }

Everything Is Now No-Mod by Rez2!


Actually, no it didn't render everything no-mod - LSL scripting does not even have that capability.

You most likely used the what's been nicknamed the "Bad Day Button" on the Edit > contents tab, as shown below:

The Bad Day Button
This has the unfortunate side effect of making ALL contents have the lowest available next-person permissions. Since the Rez2 scripts are no-mod.....everything becomes no-mod.

The steps you need to take to fix this are:

1) Rez the build anchor
2) Click the anchor and rez the build
3) Click the anchor again, select "kill scripts"
4) When that's finished, delete the current anchor
5) Rez out a NEW AND EMPTY Rez2 anchor
6) Set the permissions INWORLD on each piece/linkset of your build
7) Begin re-packing your build.

Extra Props & Parts Not Deleting


If your rezzed object will be rezzing poseballs (like for synced beds), props or other parts, you will need to put this script in each additional item to make sure they clean up after the rezzed object is removed from display.

Rez Cleanup Script

Hand pointer instead of arrow


The fix: Add the Rez2 script AFTER everything is linked together, not before.

This is seen in versions 1.04 and older, it is expected to be fixed in the next version.

Hovertext/floaty text still there


The primary reason hovertext will not respond to a "Cloak", "Finish" or "Store" command is that the script is simply not there in the prim with the hovertext. Hovertext will always be there ("persistent") until a script tells the prims/linkset to clear it - if there's no script that handles hovertext IN that linkset, then the hovertext will stay until it is scrubbed by a different script.

Remember that if you link a set of prims, then unlink, and relink in a different order, with a different root prim, any tracker scripts that are not in the root prim will self-delete. (and, if you did that while there was hovertext, will also leave hovertext behind.)

Hovertext Scrubber Script


If you have this situation come up, you can use this script in EVERY linkset that needs to have the hovertext cleared off. This script will only get rid of the hovertext and any particle beams - no other scripts in the linkset will be deleted.

 1   //By Casper Warden
 2   //Public Domain, use as you wish. No license terms.
 3    
 4   default
 5   {
 6       state_entry() 
 7       {  
 8           llSetLinkPrimitiveParamsFast(LINK_SET, [PRIM_TEXT,"",<1.0,1.0,1.0>,1.0,PRIM_OMEGA,<0.0,0.0,0.0>,0.0,0.0]);
 9           llLinkParticleSystem(LINK_SET,[]);  
10           llRemoveInventory(llGetScriptName());
11       }
12   }

Inventory Creation Failed


If you are getting this message:

  "inventory creation on in-world object failed"

This is a message from the SL grid, not Rez2.

That message simply means you tried to move too many things at once into the anchor contents.

You'll need to delete the pieces that you already put in there, and then drag over a few pieces at a time from your inventory. 15 or less at a time normally works, even when the grid is being terrible that day.

Navmesh Error


Error Message


  "Unable to set prim position or scale: object contributes to the navmesh."

Problem


This is a pathfinding error message, and comes from SL itself, NOT the Rez2 script. Currently the Rez2 cannot track objects that are set to be part of the pathfinding navmesh.

Most common linkset issues are likely to be ones that contain any full-perm build components that were purchased from someone else, such as mesh items. Such items may have had "pathfinding" accidentally enabled for the item before sale.

Workaround


  1. Log in to a pathfinding capable viewer (SL Viewer 3, Cool VL Viewer, Firestorm, etc.)
  2. Right-click on the errant linkset
  3. Select "show in linksets" (or "show in characters", whichever comes up)
  4. You will get a HUGE popup, which -should- automatically have your selected linkset highlighted.
  5. Change the attributes (bottom left) to "Moveable obstacle"
  6. Save.
  7. Repeat with all other errant linksets, if any. When done, close out of the pathfinding popup.
  8. Replace the Rez2 tracker script, and the prims should track properly now.

No-Transfer, Even Finalised


There are two basic issues at work when you've finalized a build (and the setup script is gone) but the anchor is still no-transfer in your inventory. These are:

  1. You missed clicking "Finalize" before you picked it up. Just rez the anchor out again and hit "finalize" and it'll be all set.
  2. OR...you have something in your build that's no-transfer to YOU. This is most commonly one of the following reasons:
  • An errant no-transfer script in a prim
  • An errant no-transfer texture in - or ON - a prim
  • An errant no-transfer sculpt in - or ON - a prim
  • One or more of the prims you linked may be no-transfer to you (such as if you accidentally linked a stray piece of no-trans furniture)

The fastest way to sort out which linkset(s) is/are the problem is to go into edit mode on the anchor, go to the "contents" tab, move the bottom scrollbar to the right, and see which one shows up as "(no transfer)". That tells you which piece you need to start looking in when you rez it to find the thing that shouldn't be there.

Not Full Perm As Promised


Second Life displays the MINIMUM available permissions when an item is in your inventory. This by design of Linden Lab, and not something Casper can change.

Because the Rez2 scripts are no-mod, your finalised product will always appear at least no-mod while in your inventory. Permissions on the object(s) themselves should display as intended once they are rezzed inworld, provided you have not used the "permissions" button on the object inventory contents.

(If you arrived at here after using the Edit > Contents > permissions button, you need this other section instead.)

FAQ / Troubleshooting

Q. I "pair"ed an item with an anchor, then accidentally un"pair"ed it, and I re"pair"ed it with the same anchor, but now it gives me "I wasn't rezzed by a script" message, and won't delete.
A1. This is expected behavior. Un"pair"ing the linkset basically resets the script, which will then no longer have the memory of having been rezzed. (It resets the script, because it's expected that you MIGHT unpair an item from one anchor, to instead link it to another, which means you'll need to pack it in the other anchor.)
A2. Remember to make sure there's a copy of the linkset in the anchor you want it in, before using derez.
Q. I'm setting up a build with the Rez2 but the prims are either saying "searching for anchor" or "TRACKING!" but I don't see any particles!
A. Wrong script: This happens when you use the Rez-Free tracker script with a Rez2 Anchor. The prim is not being tracked, which is why you don't see particles.
Q. I packed everything in the Rez2, but when I test rez, I see this kind of message over the Anchor - "3 parts remaining: rez queue 0" - and/or nothing is rezzing where it should be!
A1. You don't have the Rez2 Tracker script in the objects you're trying to rez.
A2. You have the wrong script in the pieces you are rezzing (or no script at all). Commonly this is the Holovend Tracker script in there by mistake. Take out the wrong script and replace with the one named: "Rez2 Tracker".
Q. When I rez my building, it doesn't rez completely - there's parts missing - and it also tells me that it cannot rez properly due to nearby avatars...
A. This is an issue with ANY rezzing on a sim where pathfinding is enabled - the prims are checking for avatars within their bounding boxes (so if part of the build is sculpted prims, the bounding box can be substantially larger than the visible sculpt.)
Q. I packed a build in the Rez2 but when I rezzed it, the doors came out crooked / floating at an angle. Help!
A. There are a few things to check:
* Did any parts rez off-world / off parcel boundaries?
* Do the doors actually have the Rez2 Tracker script in them?
* Were the doors in a closed state when you packed them?
Some door scripts are finicky - try making sure the doors are closed, reset the door scripts, and try a fresh tracker script again.
Q. I've been packing many builds successfully, but for some unknown reason now my new builds are starting to put pieces in the wrong positions...
A. Are you adding a third party (non-CasperTech) script to the Rez2? If so, you may have a conflict between one or more commands in the extra script and the Rez2.
Example third party scripts would be door or "whole house system" scripts.
Q. i have a problem with the Rez2. it won't find the items because if i put the tracker script in an item it says: Rez2 Anchor: I've associated with a new holovendor with key ____________________
A. You used a holovend tracker script by mistake. Take it out and use the actual Rez2 tracker script instead.

API

The Rez2 Anchor responds to linked messages sent like follows:

llMessageLinked(LINK_THIS, controlCode, "REZ2-API", uuid);

"controlCode" is detailed below.

"uuid" may be NULL_KEY unless required below.

Control Codes

10001: Rez. Will send response code 11001 when done.
10002: DeRez. Will send response code 11002 when done.
10003: Show menu dialog. Pass the avatar key as the uuid parameter.
10004: Allow rez and de-rez by EVERYONE
10005: Allow rez and de-rez by GROUP ONLY
10006: Allow rez and de-rez by OWNER ONLY
10007: Terraforming OFF
10008: Terraforming ON
10009: Uncloak
10010: Cloak
10011: Store
10012: Kill Scripts
10013: Test
10014: Is build currently rezzed? Responds with a RESPONSE CODE as defined below.
10015: Internal - DO NOT USE
10016: Internal - DO NOT USE

Response Codes

11001: Build is currently rezzed
11002: Build is currently not rezzed

Tracker messages

Once the Rez2 tracker has moved the object it'll issue a linked message as follows:

llMessageLinked( LINK_SET, 505, "MOVED", NULL_KEY );

This is to provide compatibility with third party scripts.