Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Click-drag problem :(

Seagel Neville
Far East User
Join date: 2 Jan 2005
Posts: 1,476
09-05-2005 09:15
I'm now making a click too much gadget. And I've experienced this click-drag problem a lot. I tried to put llSetStatus(STATUS_BLOCK_GRAB,TRUE); into the root prim. But it was fruitless. :( Should I have put it into all prims? All prims except root are buttons and should be movable. Should I have changed their status everytime?
_____________________
:) Seagel Neville :)
a lost user
Join date: ?
Posts: ?
09-05-2005 14:23
The description for STATUS_BLOCK_GRAB seems to be misleading:
If value is TRUE, object can't be grabbed and physically dragged. See llDetectedGrab.

Then further down the page it says this:
* STATUS_GRAB only affects the prim the llSetStatus function is in; child prims in linked objects won't be affected.

So yes, I would try placing it in each prim. Whether or not these settings are persistent, I am not sure. I can only assume they would be.
Seagel Neville
Far East User
Join date: 2 Jan 2005
Posts: 1,476
09-05-2005 19:58
Hello Gaz, my neigbor :)

Thank you. I'll try to put it into every prim. But do you think this prim-drift problem is physical relevant?

EDIT:
Oh, let me make myself clear, the click-drag make all linked prim move even though I just click a button which is a child prim.
_____________________
:) Seagel Neville :)
RyeDin Meiji
Reluctant Entrepeneur
Join date: 15 Mar 2005
Posts: 124
09-06-2005 14:24
If you want to click-drag just one child prim (button), you'll have to do some black magic (i love black magic). I.e. you need to unlink the prim first (upon touch event), then make it link back up once released. Or... You make the prim-that-was-touched report to the rest of the link set that it's in "moving" mode, and every other prim corrects it's position to the original position (using llSetPos) based on a timer (say every 0.1 seconds). Either option is less than ideal of course, but you can't accomplish what you are trying to do, you either move all prims in a link set or none by default (without using black magic).

And yes, you need to set STATUS_BLOCK_GRAB in every prim.
_____________________
if (!you)
{
who();
}
Seagel Neville
Far East User
Join date: 2 Jan 2005
Posts: 1,476
09-06-2005 15:20
RyeDin, thank you.

But in this context (see my linked thread), it is the problem that the whole linked object moves as if I do click-drag it when I click on a button, a child prim. It is called "prim-drift".
If you see my linked thead of the linked thead, :p you'll find this is a deep-going bug of SL that Andrew Linden promised to fix by 1.5. :D

OK, Anyway, I set it on every prim. I've not experienced it yet. I'll report it here when it happens again. Thank you.
_____________________
:) Seagel Neville :)
RyeDin Meiji
Reluctant Entrepeneur
Join date: 15 Mar 2005
Posts: 124
09-06-2005 15:23
Ahh, sorry I misread the question. Yep, every prim (to really kill that dead horse) :)
_____________________
if (!you)
{
who();
}
RyeDin Meiji
Reluctant Entrepeneur
Join date: 15 Mar 2005
Posts: 124
09-06-2005 15:24
Actually, to be more correct, you only need to set it in any prim that has a script containing a touch_start() event handler.

With no touch_start() handler, click-dragging will not happen.
_____________________
if (!you)
{
who();
}