Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007819opensim[REGION] Script Functionspublic2016-01-23 02:292016-07-13 03:55
Reporterdjphil 
Assigned Todjphil 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformPCOSWindowsOS VersionSeven
Product Version 
Target VersionFixed in Versionmaster (dev code) 
Summary0007819: volume detect and collisions do not work proprely
DescriptionIn 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.
TagsNo tags attached.
Git Revision or version number
Run Mode Grid (Multiple Regions per Sim)
Physics EngineBulletSim
Environment.NET / Windows32
Mono VersionNone
ViewerFirestorm, Singularity
Attached Files

- Relationships

-  Notes
(0030024)
UbitUmarov (administrator)
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 (reporter)
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 (administrator)
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 (reporter)
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 (reporter)
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 (administrator)
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 (administrator)
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 (reporter)
2016-07-13 03:55

The collisions works properly.
Thanks for your precisions.

- Issue History
Date Modified Username Field Change
2016-01-23 02:29 djphil New Issue
2016-01-23 03:21 djphil Description Updated View Revisions
2016-01-23 03:34 djphil Description Updated View Revisions
2016-01-26 13:50 UbitUmarov Note Added: 0030024
2016-06-21 13:15 djphil Note Added: 0030637
2016-06-21 13:16 djphil Note Edited: 0030637 View Revisions
2016-06-24 09:56 Robert Adams Note Added: 0030737
2016-06-24 15:02 djphil Note Added: 0030738
2016-06-24 15:13 djphil Note Added: 0030739
2016-06-24 17:04 UbitUmarov Note Added: 0030740
2016-06-24 18:01 BillBlight Note Added: 0030743
2016-06-24 18:02 BillBlight Note Edited: 0030743 View Revisions
2016-06-24 18:07 BillBlight Note Deleted: 0030743
2016-07-12 12:44 UbitUmarov Note Added: 0030917
2016-07-13 03:54 djphil Status new => resolved
2016-07-13 03:54 djphil Resolution open => fixed
2016-07-13 03:54 djphil Assigned To => djphil
2016-07-13 03:55 djphil Note Added: 0030918
2016-07-13 03:55 djphil Status resolved => closed
2016-07-13 03:55 djphil Fixed in Version => master (dev code)


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker