Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

llRezObject's start peram

Bosozoku Kato
insurrectionist midget
Join date: 16 Jun 2003
Posts: 452
04-13-2004 05:35
Would be much more powerful if the start peram was a string and not an integer. Allowing us to pass much more data to the newly rez'd object which in turn can be parsed by the new object and various functions/vars/etc delt with.

As it is now, we have to pass info via says or link messages, which isn't always practical.

llRezObject("doh I forget syntax", pos_vec, rot, vel_vec, "start_peram_string");

CODE

llRezObject("Super Widget", <1, 2, 3>, ZERO_ROTATION, ZERO_VECTOR, "5 2 7 Blah!");
.............
on_rez(string str)
{
integer Peram1 = (integer)llGetSubString(str, 0, 0);
integer Peram2 = (integer)llGetSubString(str, 2, 2);
integer Peram3 = (integer)llGetSubString(str, 4, 4);
string SaySpew = llGetSubString(str, 6, llStringLength(str));
}
Julian Fate
80's Pop Star
Join date: 19 Oct 2003
Posts: 1,020
04-13-2004 12:13
I guess as an ugly workaround you could set up groups of parameters on the rezzed object and use the start parameter and a few ifs to decide which parameter group to use.

I generally have single purpose rezzed objects that die shortly after rez so this isn't an issue for me. What uses do you have for more start parameters?
Tiger Crossing
The Prim Maker
Join date: 18 Aug 2003
Posts: 1,560
04-13-2004 14:00
This is what I want in version 1.3.5...
CODE
llRezSingleObject( string name, vector pos, integer pos_is_local,
vector vel, integer vel_is_local,
rotation rot, integer rot_is_local, string param );
Where...

* "pos" is the relative position of the head prim in the object to be rezzed
* "pos_is_local" makes the position local to the rezing object's poisition if true, global if false
* the "vel_is_local" flag uses the objects' own orientation axis if true, global if false
* rot is the rotation of the head prim in the object to be rezzed
* "rot_is_local" makes the rotation local to the rezing object's axis if true, global if false
* and the param is a string

In this version, objects that consist of more than one linked group will generate a run-time error. (Hence "single" in the name.) This difference will allow the head prim of the link to be used for positioning and rotation.

In the regular llRezObject, because the object to be rezzed may be several un-linked objects that were taken into inventory together, the collective center is used. (Too many head prims to pick from.)

Edit: added "pos_is_local"
_____________________
~ Tiger Crossing
~ (Nonsanity)
Tiger Crossing
The Prim Maker
Join date: 18 Aug 2003
Posts: 1,560
04-13-2004 14:17
As for uses, something that generates large curving walls using the new llPrimitiveParams function to shape the prims needs a lot of information from the master rezzer object as to the position, size, shape, texture, color, etc of the rezzed objects. I've seen Xylor pack the height/width/depth values into a single llezObject param int, but that's about all you can fit. Everything else has to be shouted on channels to the prims, so they all have to have scripts running, and... Oh what a waste of sever resources this can be.

One of the other broken things about the current llRezObject is that it positions before it rotates, and it doesn't rotate around the position you set! You can use one or the other, but not both.

It's broken, BROKEN, BROKEN I tell you! :(
_____________________
~ Tiger Crossing
~ (Nonsanity)
Tiger Crossing
The Prim Maker
Join date: 18 Aug 2003
Posts: 1,560
04-13-2004 14:18
(Can anyone tell this function is my bane?)
_____________________
~ Tiger Crossing
~ (Nonsanity)
Huns Valen
Don't PM me here.
Join date: 3 May 2003
Posts: 2,749
04-14-2004 05:44
In the meantime (haw!), you can probably pack, Idunno, ten or so chars into an int with these.