Timer Alternatives: interpolate and self.time
I've been able to replace all the timers in my game using either DrGlickert's interpolate method (thanks for the template, DrG!) or p-o-m's self.time%n method (thanks for posting it, p-o-m!).
The one timer that I had trouble with and needed additional tweaking spawned actors every 0.1 seconds. I could not get the self.time method to work for a duration of 0.1 seconds. It would always stop after the first actor was spawned. There seemed to be no problem when I set the duration to 0.2 seconds or above (unfortunately, 0.2 seconds does not suit my needs). As it got below 0.2 seconds, it would go from having intermittent gaps in the spawns to stopping after 5-6 spawns to stopping after 1 spawn.
I ran into similar problems with the interpolate method but eventually got it working. Through much trial and error, I discovered that by adjusting the start position of the spawn (to be closer to the edge of the spawning actor), I could increase the spawn rate to suit my needs. I think what's happening is that if the spawn starting position is too far in the middle of the spawning actor, the first spawn doesn't have enough time to clear from being overlapped with the spawning actor. Therefore, it can't trigger the rule to reset the attribute used by the interpolate method to spawn the second actor. If you are encountering a similar problem, this may be a useful workaround.
The one timer that I had trouble with and needed additional tweaking spawned actors every 0.1 seconds. I could not get the self.time method to work for a duration of 0.1 seconds. It would always stop after the first actor was spawned. There seemed to be no problem when I set the duration to 0.2 seconds or above (unfortunately, 0.2 seconds does not suit my needs). As it got below 0.2 seconds, it would go from having intermittent gaps in the spawns to stopping after 5-6 spawns to stopping after 1 spawn.
I ran into similar problems with the interpolate method but eventually got it working. Through much trial and error, I discovered that by adjusting the start position of the spawn (to be closer to the edge of the spawning actor), I could increase the spawn rate to suit my needs. I think what's happening is that if the spawn starting position is too far in the middle of the spawning actor, the first spawn doesn't have enough time to clear from being overlapped with the spawning actor. Therefore, it can't trigger the rule to reset the attribute used by the interpolate method to spawn the second actor. If you are encountering a similar problem, this may be a useful workaround.