MantisBT - opensim
View Issue Details
0008208opensim[REGION] Script Functionspublic2017-07-08 17:012017-07-10 18:39
djphil 
 
normalminorhave not tried
newopen 
PCWindowsSeven
master (dev code) 
 
Grid (Multiple Regions per Sim)
ubODE
.NET / Windows32
None
Firestorm
0008208: [SCRIPT FUNCTION REQUEST] osGetObjectRezUuid
As we know, we can get the uuid of a prim rezzed with object_rez(key uuid)
http://wiki.secondlife.com/wiki/Object_rez [^]

As we know, prim rezzed can get the uuid of the prim who has rezzed it with the OSSL function osGetRezzingObject
http://opensimulator.org/wiki/OsGetRezzingObject [^]

The problem with object_rez is that it returns the uuid in a random order.
Indeed, in this way you are never certain to send the message to the good uuid.
For exemple with osSetPrimitiveParams(uuid, rules) and thus limit the amount of child scripts

We can possibly create a list of all the ressed objects but as we know the size of a list is very limited
For example, you can not store 500 uuid of prim rezzed in a list.

So I think something like osGetObjectRezUuid (hope with 0 latency) could be very useful in some cases.

As this we could do something directly like this:

for (i = 0; i < 500; ++i)
{
    llRezObject(object, pose, speed, rot, 0);
    osSetPrimitiveParams(osGetObjectRezUuid(), rules);
}

And so send parameters directly to the correct prim without error of target uuid.

Tank you in advance.
No tags attached.
Issue History
2017-07-08 17:01djphilNew Issue
2017-07-09 16:44Mata HariNote Added: 0032127
2017-07-09 16:55djphilNote Added: 0032128
2017-07-10 18:39UbitUmarovNote Added: 0032131

Notes
(0032127)
Mata Hari   
2017-07-09 16:44   
I would suggest the better way to approach that would be to add the function osRezObject() that is identical to llRezObject except that it returns the key of the object rezzed or "OBJECT_REZ_FAILED" if the object cannot be rezzed.

That would allow:
for (i = 0; i < 500; ++i)
{
    osSetPrimitiveParams(osRezObject(object, pose, speed, rot, 0), rules);
}

(Of course in many cases you'd want to build a list to store those UUIDs so you can clean them all up again later)
(0032128)
djphil   
2017-07-09 16:55   
Yeah is a nice approach.
I see that this has already been proposed here:
http://opensimulator.org/wiki/OSSL_Proposals [^]
(0032131)
UbitUmarov   
2017-07-10 18:39   
sorry this is currently not possible.
this issue may stay open.. mb something is possible in future.