llResetScript Continues Execution on Luau VM
complete
FireTruck Siren
When using either
SLua
or LSL: 2025 VM
, script execution continues for a short time after a call to llResetScript
. With the following LSL script on the Luau VM, touching the object results in both "Touched." and "Hello, Avatar!" being output to local chat. This behavior does not match the same script compiled to Mono or LSO2 which only output "Hello, Avatar!" on touch.default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
}
touch_start(integer total_number)
{
llResetScript();
llSay(0, "Touched.");
}
}
Placing a sleep of any length between the call to
llResetScript
and llSay
will result in the expected behavior. This extended execution also affects SLua when calling ll.ResetScript
, but it's easier to compare the behavior by just switching the compiler on LSL.Log In
H
Harold Linden
complete
H
Harold Linden
FireTruck Siren We pushed some changes related to this, is this fixed on the beta grid now?
FireTruck Siren
Harold Linden Seems to be fixed and working as expected using both 'LSL: 2025 VM' and 'SLua' compilers in SLua Tideland. Thanks!
H
Harold Linden
We've got a fix for
llResetScript()
and llSetScriptState(llGetScriptName(), FALSE)
that'll go out in an upcoming roll.H
Harold Linden
in progress
H
Harold Linden
planned
Thanks! We missed checking for script resets in the interrupt handler that happens between function calls, we'll get that added in.