Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008164opensim[REGION] Scripting Enginepublic2017-05-10 18:192017-08-22 09:33
Reportercuteulala 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusnewResolutionopen 
PlatformOSOS Version
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0008164: 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 ReproducePut 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 InformationPhysics engine don't matter its none physical movmenets

tested on windows and linux both failure
TagsNo tags attached.
Git Revision or version number
Run ModeStandalone (1 Region)
Physics EngineBulletSim
EnvironmentUnknown
Mono VersionNone
Viewer
Attached Files

- Relationships

-  Notes
(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)
watcher64 (reporter)
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.

- Issue History
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 watcher64 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
Powered by Mantis Bugtracker