From abb4fe34c7366864dfdbd121abdcdf9057502955 Mon Sep 17 00:00:00 2001 From: RebeccaNod1 Date: Thu, 2 Oct 2025 19:13:46 -0500 Subject: [PATCH] fix: Critical timer bug preventing script installation continuation PROBLEM: Timer was immediately turned off after each script installation - Line 328: llSetTimerEvent(0.0) killed timer after every installation - Only first script would install, then process would stop SOLUTION: - Only turn off timer when NOT updating - Let installNextScript() manage its own timing - Properly stop timer in completeUpdate() and handleUpdateError() - Now all 18 scripts should install sequentially This fixes the '1 script installs then stops' bug --- Traditional_Updater.lsl | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Traditional_Updater.lsl b/Traditional_Updater.lsl index 8cf4426..830a3a3 100644 --- a/Traditional_Updater.lsl +++ b/Traditional_Updater.lsl @@ -241,12 +241,13 @@ completeUpdate() { llRegionSayTo(targetGameKey, UPDATER_CHANNEL, "UPDATE_COMPLETE|" + UPDATER_VERSION); } - // Reset state + // Reset state and stop timer currentOperation = ""; targetGameKey = NULL_KEY; updatePin = 0; scriptList = []; currentScriptIndex = 0; + llSetTimerEvent(0.0); // Stop the timer llOwnerSay("💡 Update complete! You can now delete this updater box."); llSetText("🎉 Update Complete!\nYou can delete this updater box\nThank you for updating!", @@ -262,12 +263,13 @@ handleUpdateError(string error) { llRegionSayTo(targetGameKey, UPDATER_CHANNEL, "UPDATE_FAILED|" + error); } - // Reset state + // Reset state and stop timer currentOperation = ""; targetGameKey = NULL_KEY; updatePin = 0; scriptList = []; currentScriptIndex = 0; + llSetTimerEvent(0.0); // Stop the timer } default { @@ -324,8 +326,11 @@ default { // Continue with next script installation if (currentOperation == "updating") { installNextScript(); + // Don't turn off timer - installNextScript() will manage timing + } else { + // Only turn off timer if we're not updating + llSetTimerEvent(0.0); } - llSetTimerEvent(0.0); } touch_start(integer total_number) {