Anonymous | Login | Signup for a new account | 2021-02-27 16:58 PST | ![]() |
Main | My View | View Issues | Change Log | Roadmap | Summary | My Account |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||
0008208 | opensim | [REGION] Script Functions | public | 2017-07-08 17:01 | 2017-07-10 18:39 | |||||
Reporter | djphil | |||||||||
Assigned To | ||||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | |||||
Status | new | Resolution | open | |||||||
Platform | PC | Operating System | Windows | Operating System Version | Seven | |||||
Product Version | master (dev code) | |||||||||
Target Version | Fixed in Version | |||||||||
Summary | 0008208: [SCRIPT FUNCTION REQUEST] osGetObjectRezUuid | |||||||||
Description | 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. | |||||||||
Tags | No tags attached. | |||||||||
Git Revision or version number | ||||||||||
Run Mode | Grid (Multiple Regions per Sim) | |||||||||
Physics Engine | ubODE | |||||||||
Script Engine | ||||||||||
Environment | .NET / Windows32 | |||||||||
Mono Version | None | |||||||||
Viewer | Firestorm | |||||||||
Attached Files | ||||||||||
![]() |
|
(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. |
![]() |
|||
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 |