Eric Walch wrote:Most timer issues were with timers in ship scripts because the script that contained the timer disappeared when the ship was removed. With this ore processor I made sure the timer was created in the worldscript itself. The splinters only call a worldscript function that start the timer within the worldscript. Or even better. The timer is only created on startup. After that I use only the start/stop option for that timer.
Do I understand this properly? There is a bug in Oolite that after removal the timers still do exist and try to call a js that has been removed?
If so, what is required to make ships like behemoth-carrier safe? I'm talking about 2.5.1 here - the script says that it's from you and there's a script with a timer for it that is called via shipdata.plist
Then there's militaryfiasco, which has subentities for ships and these subentities run a script with a timer (smshipsubent.js).
Finally there's buzzer-wowbagger-insult.js in OSE.
Aside from that all timers I found appear to be in worldscripts (might still be too early in the morning). Thus, maybe, all these are already safe - I just want to understand this...I must admit that I was in the hope that the OSE hardpirates would give an explanation why they cause my vista machine to crash (which has problems with the timer-crash-test), but the only hardpirates with possible timers appear to be behemoths.
EDIT: Could that be the cause of my crash? The behemoth shipscript does create and use a timer, but it's not always asking wether the timer exists. It does call this.cloakingTimer.stop() for example without checking for it's existence.
The buzzer-wowbagger and smshipsubent (from military fiasco) do not stop their timer - can this be a problem?
Screet