A crashed script won't start on reset.
The script state however does seem to be "running", seems to be the same in LSL on luau
LSL and lso are unaffected
Reproduction Steps
1 Object with 2 scripts
Script 1:
function touch_start(total_number)
error("crash")
end
ll.Say(0,"boot")
Script 2:
local other = "";
for i=0,ll.GetInventoryNumber(INVENTORY_SCRIPT)-1 do
other = ll.GetInventoryName(INVENTORY_SCRIPT,i)
if other ~= ll.GetScriptName() then
break
end
end
timer = function()
local crashed = ll.GetScriptState(other)
ll.Say(0,`{other}: {crashed}`)
end
ll.SetTimerEvent(2.0)
  1. Save scripts and watch script as
  • script 1 says
    boot
  • and script 2 starts to say "<script_1_name>: 1" in chat
  1. Click the prim
  2. Should get an error saying
    crash
  3. the chat messaged should change to "<script_1_name>: 0" in chat
  4. reset the crashed script
  5. no message in local saying
    boot
  6. touch doesn't crash it again
  7. script 2 is saying "<script_1_name>: 1" in chat again
Using
ll.ResetOtherScript
produces the same result