Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008154opensim[REGION] Script Functionspublic2017-04-20 06:212019-02-06 11:29
ReporterGezebu MindBlue 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version0.9.0 
Target VersionFixed in Versionmaster (dev code) 
Summary0008154: llResetOtherScript stops script execution
DescriptionllResetOtherScript stops script execution that call the function.

my sandbox: OpenSim 0.9.1.0 Dev OSgrid 0.9.1.0 (Dev) c673ef7: 2017-01-22 (SIMULATION/0.3 - SIMULATION/0.6)

sandbox plaza: OpenSim 0.9.1.0 Dev 1848b1f: 2017-04-06 12:56:00 +0100 (Unix/Mono)
Steps To Reproducedefault
{
    state_entry()
    {
        llSay(0, "I'm Root");
    }
    
    touch_start(integer num_detected){
        integer i;
        for(i=0;i<=llGetInventoryNumber(INVENTORY_SCRIPT);i++){
            llResetOtherScript(llGetInventoryName(INVENTORY_SCRIPT,i));
        }
    }
}
Additional InformationMono JIT compiler version 4.6.2 (Debian 4.6.2.7+dfsg-1ubuntu1)
TagsNo tags attached.
Git Revision or version number
Run Mode Grid (1 Region per Sim)
Physics EngineBulletSim
EnvironmentMono / Linux64
Mono VersionOther
Viewerfirestorm
Attached Files

- Relationships

-  Notes
(0031788)
UbitUmarov (administrator)
2017-04-20 13:48

This is as LSL spec.
llResetOtherScript() can reset the calling script despite its name.
you must filter out calling script name (from llGetScriptName())
of course, script names need to be unique or results maybe odd.
(0031789)
BillBlight (developer)
2017-04-20 14:08
edited on: 2017-04-20 14:11

Something like this should work, but I have not tested it so I may have the syntax off a bit ..


default
{
    state_entry()
    {
        llSay(0, "I'm Root");
    }
    
    touch_start(integer num_detected){
        integer i;
        for(i=0;i<=llGetInventoryNumber(INVENTORY_SCRIPT);i++){
            if(llGetInventoryName(INVENTORY_SCRIPT,i) != llGetScriptName())llResetOtherScript(llGetInventoryName(INVENTORY_SCRIPT,i));
        }
    }
}

(0031790)
BillBlight (developer)
2017-04-20 14:19
edited on: 2017-04-20 14:38

This one works ...

default
{
    state_entry()
    {
        llSay(0, "I'm Root");
    }
    
    touch_start(integer num_detected){
        integer totalItems = llGetInventoryNumber(INVENTORY_SCRIPT);
        integer i;
        for(i=0;i<=llGetInventoryNumber(INVENTORY_SCRIPT);i++){
            if(llGetInventoryName(INVENTORY_SCRIPT,i) != llGetScriptName() && llGetInventoryName(INVENTORY_SCRIPT,i)!="" )llResetOtherScript(llGetInventoryName(INVENTORY_SCRIPT,i));
            if(i >= totalItems)
            {
                llOwnerSay("Done");
                return;
                }
        }
    }
}

(0031791)
Gezebu MindBlue (reporter)
2017-04-21 02:14

Obviously it is possible to use a filter to "avoid" the problem, but that does not mean that the function works well. According to the documentation this function should be able to restart the script that invokes the function, but the function puts the script "offline". Frankly, I do not understand the prevailing philosophy here, to offer alternative "solutions" to use something that works poorly, when people report something that does not work properly. I do not expect anyone to go running to fix something that is malfunctioning and I do not need. Reports are meant to inform a problem that seems is not detected previously. Maybe the incidense is minor, but function have an issue.
(0031792)
UbitUmarov (administrator)
2017-04-21 03:07

ok, plz test master.
(0031793)
Gezebu MindBlue (reporter)
2017-04-21 03:33

is solved. ty Ubit.
(0034451)
BillBlight (developer)
2019-02-06 11:29

Marked as Resolved but never closed, can be reopened if needed.

- Issue History
Date Modified Username Field Change
2017-04-20 06:21 Gezebu MindBlue New Issue
2017-04-20 13:48 UbitUmarov Note Added: 0031788
2017-04-20 14:08 BillBlight Note Added: 0031789
2017-04-20 14:11 BillBlight Note Edited: 0031789 View Revisions
2017-04-20 14:19 BillBlight Note Added: 0031790
2017-04-20 14:20 BillBlight Note Edited: 0031790 View Revisions
2017-04-20 14:37 BillBlight Note Edited: 0031790 View Revisions
2017-04-20 14:38 BillBlight Note Edited: 0031790 View Revisions
2017-04-21 02:14 Gezebu MindBlue Note Added: 0031791
2017-04-21 03:07 UbitUmarov Note Added: 0031792
2017-04-21 03:33 Gezebu MindBlue Note Added: 0031793
2017-04-21 03:41 Gezebu MindBlue Status new => resolved
2017-04-21 03:41 Gezebu MindBlue Resolution open => fixed
2017-04-21 03:41 Gezebu MindBlue Fixed in Version => master (dev code)
2019-02-06 11:29 BillBlight Note Added: 0034451
2019-02-06 11:29 BillBlight Status resolved => closed


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker