Anonymous | Login | Signup for a new account | 2021-02-27 19:34 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 | ||||
0008068 | opensim | [REGION] Script Functions | public | 2016-11-25 03:54 | 2019-02-06 11:29 | ||||
Reporter | Lotek | ||||||||
Assigned To | |||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | no change required | ||||||
Platform | Linux | Operating System | Ubuntu | Operating System Version | 14.04LTS | ||||
Product Version | master (dev code) | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0008068: Boats stop moving forward after sim crossing | ||||||||
Description | When driving a motorboat, the boat stops moving forward after a sim crossing. It's like the engine (is this the linear one?) just stops or gets reset, but the steering still works. | ||||||||
Steps To Reproduce | Most motorboats use the same base script in OpenSim, so acquire any motorboat like Wayda's excellent Speedboat in OsGrid. There is a check for the sim edge but it will only shout to steer away, it does not do anything else. I just comment out those lines. The water regions around Fishguard/Seven Oaks can be used for testing the sim crossings. The sims run at most a few days behind master. | ||||||||
Additional Information | This bug I can confirm in Singularity and Firestorm. In the lesser known Cool VL Viewer this bug does not occur. | ||||||||
Tags | No tags attached. | ||||||||
Git Revision or version number | |||||||||
Run Mode | Grid (1 Region per Sim) | ||||||||
Physics Engine | ubODE | ||||||||
Script Engine | |||||||||
Environment | Mono / Linux64 | ||||||||
Mono Version | Other | ||||||||
Viewer | Firestorm / Singularity | ||||||||
Attached Files | |||||||||
![]() |
||||||
|
![]() |
|
(0031307) Lotek (reporter) 2016-11-25 04:20 |
Occurs in BulletSim too, will update the bug title |
(0031433) BillBlight (developer) 2016-12-12 21:49 edited on: 2016-12-12 21:51 |
I have noticed this problem as well, from what I can tell, unless you have AllowScriptCrossing = true set, the script tends to reset setting the throttle to 0. In some scripts, depending on the VEHICLE_LINEAR_MOTOR_TIMESCALE setting , with a 0 throttle the boats are forced to a stop .. Setting AllowScriptCrossing = true, does seem to mitigate the problem with a minor(annoying) delay. One way I have overcome this is to store the "current" throttle setting in the description, and then recall it on border crossing .. |
(0031434) UbitUmarov (administrator) 2016-12-13 08:32 |
ok where can I find on of those boats? |
(0031438) Lotek (reporter) 2016-12-13 12:30 |
Wayda's freebies @ hop://login.osgrid.org/Zaius%20Plaza/78/39/22 [^] All motor boats I've seen use this script |
(0031440) melanie (administrator) 2016-12-13 13:29 |
Physical vehicle crossing wasn't designed to be compatible with AllowScriptCrossing=false. It was developed with true, so that controls state is not lost on transition. It may be possible to code around it but in general, grids should keep script crossings enabled if vehicles written for SL are expected to work. |
(0031442) UbitUmarov (administrator) 2016-12-13 15:01 |
got near that position a thing called "Chanel Lady Jetskit Noir Edition" testing at sandbox II to the other next I did notice problems, but one of those sandboxes is behaving strange at the moment on my test set, of course.. all worked as expected :( |
(0031443) UbitUmarov (administrator) 2016-12-13 15:34 |
Sorry Sandbox plaza was strange because: [15:22] Object: Script running OpenDynamicsEngine 1.0 but telling ubOde on name. naturally all was strange with the boat. And old ODE does not do vehicle crossings as ubOde and bullet. so please make sure like Melanie said you have AllowScriptCrossing = true ( the option you want always false is TrustBinaries) and that none of the regions is using old ODE. Best is both on similar simulator versions and engines. |
(0031472) Lotek (reporter) 2016-12-15 12:37 |
All regions have always been running with AllowScriptCrossing = true. The boat loses all control input after crossing. No steering, no speed. Happens on BulletSim and ubODE. Tried with and without: ScriptDistanceLimitFactor = 10.0 Further settings: ThreadStackSize = 262144 ScriptStopStragegy = co-op AppDomainLoading = false ScriptEnginesPath is shared by all simulators but this doesn't pose a problem for other vehicles or anything. I tried also deleting everything in ScriptEngines (and restarting the sims) My own sailboat crosses just fine. The motorboats I found around the hypergrid are typically made for BulletSim. |
(0031473) melanie (administrator) 2016-12-15 13:04 |
In order to use a script with ubODE and region crossings, you need a script that is made for SL, NOT for opensim/bullet. Practically all scripts made for opensim make assumptions that simply aren't true for this combination. As you are saying that your other vehicles work, this really isn't a bug and Mantis is not a scripting support forum. |
(0031474) BillBlight (developer) 2016-12-15 13:30 |
Might not be the problem but in some scripts I have found, they have the script reset on (change & CHANGED_REGION) , which robs you of control even if you are seated. |
(0031476) Lotek (reporter) 2016-12-15 14:56 |
I only came to point out a bug, really. Here's proof of concept code you can't get a more basic boat than this. float MOTOR_SPEED=15; float TURN_SPEED=15; default { state_entry() { llSitTarget(<0,0,0.1>, ZERO_ROTATION); llSetVehicleType(VEHICLE_TYPE_BOAT); llSetVehicleRotationParam(VEHICLE_REFERENCE_FRAME, ZERO_ROTATION); vector vPos = llGetPos(); llSetRegionPos(<vPos.x,vPos.y,llWater(ZERO_VECTOR)>); } changed (integer iChange) { if (iChange & CHANGED_LINK) { key kAV = llAvatarOnSitTarget(); if (kAV != NULL_KEY) { llSetStatus(STATUS_PHYSICS, TRUE); llRequestPermissions(kAV, PERMISSION_TAKE_CONTROLS); } else { llSetStatus(STATUS_PHYSICS, FALSE); llReleaseControls(); } } } run_time_permissions(integer perm) { if (perm & PERMISSION_TAKE_CONTROLS) { llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT, TRUE, FALSE); } } control(key kID, integer iLevel, integer iEdge) { vector vAngularMotor; if (iLevel & ~iEdge & CONTROL_FWD) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <MOTOR_SPEED,0,0>); } if (iLevel & ~iEdge & CONTROL_BACK) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <-MOTOR_SPEED,0,0>); } if ((~iLevel) & iEdge & CONTROL_FWD || (~iLevel) & iEdge & CONTROL_BACK) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <0,0,0>); } if (iLevel & ~iEdge & CONTROL_ROT_LEFT) { vAngularMotor.z += TURN_SPEED; } if (iLevel & ~iEdge & CONTROL_ROT_RIGHT) { vAngularMotor.z -= TURN_SPEED; } llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, vAngularMotor); } } As you see after crossing, controls pass through (TRUE, TRUE) and now affect camera rotation, while we really took controls with TRUE, FALSE: llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT, TRUE, FALSE); When after crossing switching to mouselook mode (while still in the vehicle), the controls for the linear motor do respond correct, but still not the angular one (for steering). |
(0031477) melanie (administrator) 2016-12-15 14:59 |
That would be an actual bug. |
(0031478) UbitUmarov (administrator) 2016-12-15 16:05 |
sorry im lost now... I did test that model I found, and seems to work with no visible issues you report now that parameter pass_on is lost on crossings? |
(0031481) Lotek (reporter) 2016-12-15 20:34 |
This is caused by a (now patched) collar script (oc_bell) that does a llRequestPermissions in the on_rez() handler, and then follows up with: llTakeControls(CONTROL_FWD etc, TRUE, TRUE); On every crossing this line in the collar script caused the controls taken in the whole linkset (boat+avi) to be (TRUE, TRUE), passing through any taken controls to the viewer (pass_on) and thus overriding the (TRUE, FALSE) that was taken and required by the boat script to drive/steer. |
(0031482) UbitUmarov (administrator) 2016-12-15 20:37 |
ok, let us know how things are, and if I need to go test on your regions with you, since on mine I don't notice this problem |
(0034410) BillBlight (developer) 2019-02-06 11:29 |
Marked as Resolved but never closed, can be reopened if needed. |
![]() |
|||
Date Modified | Username | Field | Change |
2016-11-25 03:54 | Lotek | New Issue | |
2016-11-25 04:20 | Lotek | Note Added: 0031307 | |
2016-11-25 04:21 | Lotek | Summary | [ubOde] Boats stop moving forward after sim crossing => [physics] Boats stop moving forward after sim crossing |
2016-12-12 21:49 | BillBlight | Note Added: 0031433 | |
2016-12-12 21:51 | BillBlight | Note Edited: 0031433 | View Revisions |
2016-12-13 08:32 | UbitUmarov | Note Added: 0031434 | |
2016-12-13 12:30 | Lotek | Note Added: 0031438 | |
2016-12-13 13:29 | melanie | Note Added: 0031440 | |
2016-12-13 15:01 | UbitUmarov | Note Added: 0031442 | |
2016-12-13 15:34 | UbitUmarov | Note Added: 0031443 | |
2016-12-15 12:37 | Lotek | Note Added: 0031472 | |
2016-12-15 13:04 | melanie | Note Added: 0031473 | |
2016-12-15 13:30 | BillBlight | Note Added: 0031474 | |
2016-12-15 14:56 | Lotek | Note Added: 0031476 | |
2016-12-15 14:59 | melanie | Note Added: 0031477 | |
2016-12-15 16:05 | UbitUmarov | Note Added: 0031478 | |
2016-12-15 20:34 | Lotek | Note Added: 0031481 | |
2016-12-15 20:34 | Lotek | Resolution | open => no change required |
2016-12-15 20:34 | Lotek | Category | [REGION] Physics Engines => [REGION] Script Functions |
2016-12-15 20:34 | Lotek | Summary | [physics] Boats stop moving forward after sim crossing => Boats stop moving forward after sim crossing |
2016-12-15 20:37 | UbitUmarov | Note Added: 0031482 | |
2016-12-15 21:01 | Lotek | Status | new => resolved |
2017-10-23 00:20 | Lotek | Relationship added | related to 0008253 |
2019-02-06 11:29 | BillBlight | Note Added: 0034410 | |
2019-02-06 11:29 | BillBlight | Status | resolved => closed |
Copyright © 2000 - 2012 MantisBT Group |