Anonymous | Login | Signup for a new account | 2021-01-22 04:14 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 | |||||
0008164 | opensim | [REGION] Scripting Engine | public | 2017-05-10 18:19 | 2017-08-22 09:33 | |||||
Reporter | cuteulala | |||||||||
Assigned To | ||||||||||
Priority | normal | Severity | minor | Reproducibility | always | |||||
Status | new | Resolution | open | |||||||
Platform | Operating System | Operating System Version | ||||||||
Product Version | master (dev code) | |||||||||
Target Version | Fixed in Version | |||||||||
Summary | 0008164: This script fails after a while permanatly sometimes even rezzing it stays broke | |||||||||
Description | //The script follows a sense objects name forever Object of name thats moving //this prim will follow that moving object perfectly //Put in description! of root prim > 0.01,0.01 float radious = 0.0f; float spinSpeed = 0.0; float radianOffset = 0.0f; float spinAmount = 0.0; string carname = "Land Of Bree Cable Ride"; key targetId; default { state_entry() { targetId = llGetOwner(); llSensorRepeat(carname,"",ACTIVE|PASSIVE,96,PI,0.01); llListen(24, "", targetId, ""); list nameTokens = llCSV2List(llGetObjectDesc()); radianOffset = llList2Float(nameTokens, 0) / llList2Float(nameTokens, 1) * TWO_PI; } listen(integer channel, string name, key id, string message) { list messageTokens = llCSV2List(message); string cmd = llList2String(messageTokens, 0); if(cmd == "spin") spinSpeed = llList2Float(messageTokens, 1); if(cmd == "radious") radious = llList2Float(messageTokens, 1); } sensor(integer numDetected) { float deltaTime = llGetAndResetTime(); if(spinSpeed != 0.0f) { spinAmount = spinAmount + deltaTime / spinSpeed; if(spinAmount > 1.0f) spinAmount = spinAmount - 1.0f; } vector pos = llDetectedPos(0) + llDetectedVel(0) * deltaTime; rotation rot = llDetectedRot(0); vector eul = llRot2Euler(rot); eul.z = eul.z + radianOffset; rotation newRot = llEuler2Rot(eul); llSetLinkPrimitiveParamsFast(LINK_THIS, [ PRIM_POSITION, pos + <radious, 0.0f, 0.0f> * newRot, PRIM_ROTATION, llEuler2Rot(<0.0f, 0.0f, spinAmount * TWO_PI>)]); } } | |||||||||
Steps To Reproduce | Put this script in a root prim large size for testing make it phantom because it will follow you as close as it can! in the description of the cube write down 0.01,0.01 then rez a vehicle like a car copy its name and put inside the script to make the cube follow that car it should do this forever however after a long time it stops working forever! unstable | |||||||||
Additional Information | Physics engine don't matter its none physical movmenets tested on windows and linux both failure | |||||||||
Tags | No tags attached. | |||||||||
Git Revision or version number | ||||||||||
Run Mode | Standalone (1 Region) | |||||||||
Physics Engine | BulletSim | |||||||||
Script Engine | ||||||||||
Environment | Unknown | |||||||||
Mono Version | None | |||||||||
Viewer | ||||||||||
Attached Files | ||||||||||
![]() |
|
(0031839) UbitUmarov (administrator) 2017-05-10 18:41 |
sorry, got tired of driving around with a ugly green box following me with no issues |
(0031840) BillBlight (developer) 2017-05-10 21:46 |
I went and checked one of my regions that had something like this on it , and it appears that some of the sensor just died , not all of them .. I have boxed that detects my trains to make them stop at the stations .. and they just quit working .. rest them and they still don't work .. Make a copy of them and the new one works ... Not sure if it is the same thing but seems like it .. |
(0032261) tampa (reporter) 2017-08-19 14:01 |
This has been an issue for quite a while now, the easiest solution is to reset the sensors whenever triggered. Meaning when the sensor event gets fired, destroy the fired sensor, do whatever logic you want to do and then set another sensorrepeat. You can also add a timer event to do this hourly. In a perfect world XEngine would do this on its end though. |
(0032263) Total Sorbet (reporter) 2017-08-21 05:51 |
Ive noticed this in the past. llSensorRepeat() has intermittent amnesia. Workaround: use timer() event and call llSensor() from there. |
(0032264) UbitUmarov (administrator) 2017-08-21 10:03 |
I could not repo it. Meanwhile ( weeks or months ago ) I did made a few changes that could had a impact on this. So can you confirm if this issue still happens with master or release? thanks |
(0032265) Total Sorbet (reporter) 2017-08-22 09:33 |
Unable to repro on master under linux. Unable to test release at moment. |
![]() |
|||
Date Modified | Username | Field | Change |
2017-05-10 18:19 | cuteulala | New Issue | |
2017-05-10 18:41 | UbitUmarov | Note Added: 0031839 | |
2017-05-10 21:46 | BillBlight | Note Added: 0031840 | |
2017-08-19 14:01 | tampa | Note Added: 0032261 | |
2017-08-21 05:51 | Total Sorbet | Note Added: 0032263 | |
2017-08-21 10:03 | UbitUmarov | Note Added: 0032264 | |
2017-08-22 09:33 | Total Sorbet | Note Added: 0032265 |
Copyright © 2000 - 2012 MantisBT Group |