Object entry breaks poseballs (Sit bug NEEDS FIXED!)
|
|
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
|
01-02-2007 15:39
This stems from the poseball bugs which cause you to end up in 'limbo' at <0.0, 0.0, 0.0> in a simulator or high in the air briefly before being put back.
It seems that the object you are sitting on DOES in fact move. A tenant at apartments I run had problems using poseballs, the plot was set-up to block object entry to non-group objects. She hadn't set the object to group, so when she sat on it and it 'limboed', upon attempting to return to the parcel, it was returned to her saying the parcel was full. Disabling the setting and trying until it 'limboed' again worked okay, setting to group prevented the problem again.
This sit bug really needs to be fixed, otherwise enabling this feature will damage poseballs and potentially any object that can be sat-on.
_____________________
Computer (Mac Pro): 2 x Quad Core 3.2ghz Xeon 10gb DDR2 800mhz FB-DIMMS 4 x 750gb, 32mb cache hard-drives (RAID-0/striped) NVidia GeForce 8800GT (512mb)
|
|
Draco18s Majestic
Registered User
Join date: 19 Sep 2005
Posts: 2,744
|
01-02-2007 16:38
I think the avatar itself "moves," not so much the object itself. The reason I'd see setting it group (or not) breaking it is that the avatar is becoming linked with the object moving from global co-ordinates to local co-ordinates (hence the "move" to <0,0,0>  and the av trying to come back out of "limbo" is detected moving into the parcel as part of the object they are sitting on.
|
|
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
|
01-02-2007 18:08
Hmm, I'm not so sure, I've experienced occurances of this where the object being sat on has actually moved, most notably when standing up for me, I will find after 'limboing' that the object may now be sunk into the ground, or higher up than it should be. Selecting the object puts it back where it should be, but something causes erroneous updates on the client end certainly. I dunno, either way it needs fixed, and I (and others) bug-reported it a while ago when it started getting worse (never saw it at all before 1.11 or 1.12 I don't think). But still it remains unfixed 
_____________________
Computer (Mac Pro): 2 x Quad Core 3.2ghz Xeon 10gb DDR2 800mhz FB-DIMMS 4 x 750gb, 32mb cache hard-drives (RAID-0/striped) NVidia GeForce 8800GT (512mb)
|
|
Draco18s Majestic
Registered User
Join date: 19 Sep 2005
Posts: 2,744
|
01-02-2007 19:44
Huh, I've never seen the object move myself, and as far as I've ever been able to tell, the apparent "limbo" is only seen by the person doing the sitting--that is, I got myself perma-limboed and to everyone else I was sitting normally.
|
|
Mike Westerburg
Who, What, Where?
Join date: 2 May 2004
Posts: 317
|
01-03-2007 00:40
hmm...
I do not know what may be causing this, but the object does seem to move. I have been performing a few tests as well. The object does seem to be moving a bit after standing. I had a test object at a position that was set to a fixed number, like 24.05, 26.05 and 100.05
Over time of sitting and unsitting, the position would actually change. It seems the position changes are very small and do not show up in the edit window, but eventually they add up so the end number changes. After testing, I noticed they were up to like 24.06 , 26.05 and 100.06. I have also noticed that the moving events get triggered as well by this. I will do some more testing to see what I can get out of it. If the testing with more advanced scripts and precautions such as locking etc do it, I will submit a bug report as well.
_____________________
"Life throws you a lemon, you make lemonade and then plant the seeds"
|
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
01-03-2007 06:59
To tell if the object's really moving, stick a touch_start llOwnerSay llGetPos script in the object... you really can't be sure from what the client displays.
|
|
Mike Westerburg
Who, What, Where?
Join date: 2 May 2004
Posts: 317
|
01-03-2007 13:03
From: Argent Stonecutter To tell if the object's really moving, stick a touch_start llOwnerSay llGetPos script in the object... you really can't be sure from what the client displays. yeah, I am planning on taking it to another level though, have it detect and dump to a list any position changes if the move events get triggered and to see if the events were during sitting or during standing. I will try and get it hammered out today and tested, this problem is annoying a few friends as the move event gets triggered causing a few problems.
_____________________
"Life throws you a lemon, you make lemonade and then plant the seeds"
|
|
Mike Westerburg
Who, What, Where?
Join date: 2 May 2004
Posts: 317
|
01-03-2007 13:51
Verified. I have a script written from a friend that detects the move. It seems a poseball on it's own does not move. If that poseball is linked to a larger set, in her case a stool, then it moves.
Here is some output of that data:
[13:43] Testing Poseball: Position List in X,Y,Z is: [13:43] Testing Poseball: <178.228088, 109.426842, 134.250000>, <178.228119, 109.426842, 134.250000>, <178.228149, 109.426842, 134.250000>, <178.228180, 109.426842, 134.250000> [13:43] Testing Poseball: Total times sat upon: 4 [13:43] Testing Poseball: Moves detected while sitting : 0 [13:43] Testing Poseball: Moves detected while standing : 4
It detects if the move was while sitting or standing, dumps the llGetPos() data to a list if a move was detected. It also counts the total times the poseball was sat upon. In this case, a move was detected every time the poseball was used. The moves are very small but they look to add up fast.
_____________________
"Life throws you a lemon, you make lemonade and then plant the seeds"
|
|
Mike Westerburg
Who, What, Where?
Join date: 2 May 2004
Posts: 317
|
01-03-2007 13:55
With her permission, here is a copy of the script. Simple yet it detects a move each time. Please move this script to another forum if necessary, I figured it belonged here for this bug. The creator of this script was Torrin Talamasca. I have never added a script to a forum post before so if it doesn't look right , please let me know how to adjust it  key agent; list positions;
integer triggered_sitting; integer triggered_standing; integer total_count; integer sitting_standing; //to see if the event is triggered while sitting or while standing.
string animation = "sit"; integer is_sitting;
say_data() { string data; data = llList2CSV(positions); llOwnerSay("Position List in X,Y,Z is:"); llOwnerSay(data); llOwnerSay("Total times sat upon: " + (string)total_count); llOwnerSay("Moves detected while sitting : " + (string)triggered_sitting); llOwnerSay("Moves detected while standing : " + (string)triggered_standing); }
default { state_entry() { positions = [];//Clear the list out agent = NULL_KEY; triggered_sitting = 0; triggered_standing = 0; total_count = 0; sitting_standing = 0; //0 is standing up when the event is triggered, 1 is sitting down. is_sitting = 0; llSitTarget(<0,0,0.1>,ZERO_ROTATION); llSetAlpha(1.0,ALL_SIDES); } changed(integer change) { if(change & CHANGED_LINK) { key av = llAvatarOnSitTarget(); if(av != NULL_KEY) { llRequestPermissions(av, PERMISSION_TRIGGER_ANIMATION); } else { if((llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) && is_sitting) { is_sitting = 0; sitting_standing = 0; llStopAnimation(animation); llSetAlpha(1.0,ALL_SIDES); } } } } run_time_permissions(integer perm) { if(perm & PERMISSION_TRIGGER_ANIMATION) { is_sitting = 1; sitting_standing = 1; total_count +=1; llStopAnimation("sit_generic"); llStopAnimation("sit"); llStartAnimation(animation); llSetAlpha(0.0,ALL_SIDES); } }
touch_start(integer total_number) { agent = llDetectedKey(0); if((agent) == llGetOwner()) { say_data(); } } moving_end() { if((sitting_standing) == 0) { triggered_standing +=1; positions += llGetPos(); } else if((sitting_standing) == 1) { triggered_sitting +=1; positions += llGetPos(); } } on_rez(integer rezzy) { llResetScript(); } }
_____________________
"Life throws you a lemon, you make lemonade and then plant the seeds"
|
|
Mike Westerburg
Who, What, Where?
Join date: 2 May 2004
Posts: 317
|
01-03-2007 17:20
I have performed a bit more testing:
It seems that if the avatar's collision box intersects a prim in the build, during the sit/stand, the object moves a tad. If the collision box does not intersect, no movement is detected.
_____________________
"Life throws you a lemon, you make lemonade and then plant the seeds"
|