LlRezAtRoot
From Second Life Wiki
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Tutorials |
Contents |
Summary
Function: llRezAtRoot( string inventory, vector position, vector velocity, rotation rot, integer param );| 286 | Function ID |
| 0.1 | Delay |
| 200.0 | Energy |
Instantiate inventory object rotated to rot with its root at position, moving at velocity, using param as the start parameter
| • string | inventory | – | an object in the prim's inventory | |
| • vector | position | – | initial position (in region coordinates) | |
| • vector | velocity | – | initial velocity | |
| • rotation | rot | – | initial rotation | |
| • integer | param | – | on_rez event parameter and value returned by llGetStartParameter in the rezzed object. |
Causes a hard delay based on the mass of the object rezzed.
To rez an object so its center is at pos (instead of the root) use llRezObject instead.
Caveats
- This function causes the script to sleep for 0.1 seconds.
- If inventory is missing from the prim's inventory or it is not an object then an error is shouted on DEBUG_CHANNEL.
- Silently fails to rez inventory if pos is more than 10 meters away from the prim trying to rez inventory.
- Silently fails if you don't have offline building rights on the land. Which means that you need to either: Own the land yourself. Be in the group that owns it, the allow group to build parcel flag has to be enabled and the object has to be set to group. Or everyone should be allowed to build. You can also deed the object to the group that owns the land, this will always work. The group role "Always allow 'Create Objects'" will only work to override this when you are online. See the issues under Deep Notes for more information.
Important Issues
~ Search JIRA for related Bugs| | | SVC-3145 | [c] | Rezzing enabled by PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS fails for scripts when the script's owner is offline. |
Examples
//Rez an object on touch string object = "Object";//Object in inventory integer start_param = 10; rotation rot; default { state_entry() { rot = llEuler2Rot(< 0, 90, 90> * DEG_TO_RAD); } touch_start(integer a) { vector vec = llGetPos() + < 0.0, 0.0, 5.0>; // 5 meter above this vector speed = llGetVel(); llRezAtRoot(object, vec, speed, rot, start_param); } }
//Rez an object on touch, with relative position, rotation, and velocity all described in the rezzing prim's coordinate system. string object = "Object"; // Name of object in inventory vector relativePosOffset = <2.0, 0.0, 1.0>; // "Forward" and a little "above" this prim vector relativeVel = <1.0, 0.0, 0.0>; // Traveling in this prim's "forward" direction at 1m/s rotation relativeRot = <0.707107, 0.0, 0.0, 0.707107>; // Rotated 90 degrees on the x-axis compared to this prim integer startParam = 10; default { touch_start(integer a) { vector myPos = llGetPos(); rotation myRot = llGetRot(); vector rezPos = myPos+relativePosOffset*myRot; vector rezVel = relativeVel*myRot; rotation rezRot = relativeRot*myRot; llRezAtRoot(object, rezPos, rezVel, rezRot, startParam); } }
See Also
Constants
| • | PRIM_TEMP_ON_REZ |
Events
| • | object_rez | – | triggered when this object rezzes an object from inventory |
Functions
| • | llRezObject | |||
| • | llGetStartParameter | |||
| • | llGodLikeRezObject |
Deep Notes
Issues
~ Search JIRA for related Issues| | | SVC-3145 | [c] | Rezzing enabled by PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS fails for scripts when the script's owner is offline. |
This article wasn't helpful for you? Maybe the related article at the LSL Wiki is able to bring enlightenment.

