Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008208opensim[REGION] Script Functionspublic2017-07-08 17:012017-07-10 18:39
Reporterdjphil 
Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusnewResolutionopen 
PlatformPCOSWindowsOS VersionSeven
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0008208: [SCRIPT FUNCTION REQUEST] osGetObjectRezUuid
DescriptionAs 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.
TagsNo tags attached.
Git Revision or version number
Run Mode Grid (Multiple Regions per Sim)
Physics EngineubODE
Script Engine
Environment.NET / Windows32
Mono VersionNone
ViewerFirestorm
Attached Files

- Relationships

-  Notes
(0032127)
Mata Hari (reporter)
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 (reporter)
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 (administrator)
2017-07-10 18:39

sorry this is currently not possible.
this issue may stay open.. mb something is possible in future.

- Issue History
Date Modified Username Field Change
2017-07-08 17:01 djphil New Issue
2017-07-09 16:44 Mata Hari Note Added: 0032127
2017-07-09 16:55 djphil Note Added: 0032128
2017-07-10 18:39 UbitUmarov Note Added: 0032131


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker