MantisBT - opensim
View Issue Details
0007819opensim[REGION] Script Functionspublic2016-01-23 02:292016-07-13 03:55
djphil 
djphil 
normalmajoralways
closedfixed 
PCWindowsSeven
 
master (dev code) 
Grid (Multiple Regions per Sim)
BulletSim
.NET / Windows32
None
Firestorm, Singularity
0007819: volume detect and collisions do not work proprely
In Opensim v0.9.x if i use volume detect and collision/start/stop, i have to manually uncheck "Phantom" for that collisions are working properly.

Only if i do it manually be defined this way.

This does not work if I use "STATUS_PHANTOM"
This does not work if I use "PRIM_PHANTOM"

I also tried twice to detect volume in the script as I was advised Alicia but that does not work either

edit : I forgot to mention that i performed the tests on a LinkSet, i have not tried with a single prim.
edit : Well now, i have now also tested with a single prim and collisions do not work anymore.
No tags attached.
Issue History
2016-01-23 02:29djphilNew Issue
2016-01-23 03:21djphilDescription Updatedbug_revision_view_page.php?rev_id=5220#r5220
2016-01-23 03:34djphilDescription Updatedbug_revision_view_page.php?rev_id=5221#r5221
2016-01-26 13:50UbitUmarovNote Added: 0030024
2016-06-21 13:15djphilNote Added: 0030637
2016-06-21 13:16djphilNote Edited: 0030637bug_revision_view_page.php?bugnote_id=30637#r5575
2016-06-24 09:56Robert AdamsNote Added: 0030737
2016-06-24 15:02djphilNote Added: 0030738
2016-06-24 15:13djphilNote Added: 0030739
2016-06-24 17:04UbitUmarovNote Added: 0030740
2016-06-24 18:01BillBlightNote Added: 0030743
2016-06-24 18:02BillBlightNote Edited: 0030743bug_revision_view_page.php?rev_id=5609
2016-06-24 18:07BillBlightNote Deleted: 0030743
2016-07-12 12:44UbitUmarovNote Added: 0030917
2016-07-13 03:54djphilStatusnew => resolved
2016-07-13 03:54djphilResolutionopen => fixed
2016-07-13 03:54djphilAssigned To => djphil
2016-07-13 03:55djphilNote Added: 0030918
2016-07-13 03:55djphilStatusresolved => closed
2016-07-13 03:55djphilFixed in Version => master (dev code)

Notes
(0030024)
UbitUmarov   
2016-01-26 13:50   
Does it work with ubOde?
The flag Phantom should not affect volume detectors.. but didn't check...
by "Well now, i have now also tested with a single prim and collisions do not work anymore" I assume you mean the respective script events...
(0030637)
djphil   
2016-06-21 13:15   
(edited on: 2016-06-21 13:16)
I tested today with ubOde and this script:

default
{
    on_rez(integer start_param)
    {
        llVolumeDetect(TRUE);
        llSetStatus(STATUS_PHANTOM, TRUE);
    }

    state_entry()
    {
        llVolumeDetect(TRUE);
        llSetStatus(STATUS_PHANTOM, TRUE);
    }

    collision_start(integer num)
    {
        llOwnerSay("collision_start");
    }

    collision(integer num_detected)
    {
        llOwnerSay("collision");
    }

    collision_end(integer total_number)
    {
        llOwnerSay("collision_end");
    }
}

1) When you compile this script and walk on a prim, you can see "collision_start" and "collision_end" ... but no "collision"

If you remove collision_start and collision_end from the script and recompile it, you can see sometimes "collision"

2) If you recompile with the original script and turn manually the prim to NO phantom (collisions work perfectly), walk a bit arround and reclick to get phantom back, collisions are broken

(0030737)
Robert Adams   
2016-06-24 09:56   
I tested this script in SL and found that 1) is the same result -- a volume detect object doesn't have 'collision' events -- just start and end.

For 2), in SL, changing phantom in the edit dialog does not change the objects phantomness once it is set by the script. That is, once the object is rezzed and one walks through it to see collisions, clearing the PHANTOM bit on the edit dialog still leaves the object walk-throughable and collidable.

The bug I see so far is that changing the phantom checkbox on the edit dialog should not be changing the script's set phantom/volume-detect state.
(0030738)
djphil   
2016-06-24 15:02   
Ok, i'm eager to test it !

PS: "ubODE" is missing in the choice of Physics Engine in Mantis, "Other" can be ubODE or Ninja or PhysX ...
(0030739)
djphil   
2016-06-24 15:13   
It's a bit the same problem when changing the status of physic manually (for vehicles, for example). Often the prim containing a script tends to not work properly, must then compile it manually.

Manually change these options when prim contains a script with these options is not a good thing to do ... it obviously disrupts the script.

Perhaps it would recompile the script automatically ... ?
(0030740)
UbitUmarov   
2016-06-24 17:04   
you should not set phantom on volume detect objects.
Setting Volume detector already makes the prim behave like phantom
(0030917)
UbitUmarov   
2016-07-12 12:44   
tested your script on a single prim, after removing the lines
llSetStatus(STATUS_PHANTOM, TRUE);
and it worked

Remember also that volumedetector doesn't trigger collision event, only collision_startand collision_end.

http://wiki.secondlife.com/wiki/LlVolumeDetect [^]
(0030918)
djphil   
2016-07-13 03:55   
The collisions works properly.
Thanks for your precisions.