Thanks, I'll try it out today.
Even if you can't see how many cannonballs are left, could you please please please please please add a (maybe toggled) feature where after each reload, there's a timer started for random(low=30, high=90) seconds, after which your script reloads the cannon and starts a new timer.
Right now though I'm afraid the reloading behavior looks really obvious, like no legitimate player will be present enough to always reload and restart the cannon within 2 seconds after it stops firing, but absent enough that they never once reload it before it's completely empty.
I would seriously appreciate it if you gave this some consideration, because besides it's really an amazing script otherwise.
Looking forward to your feedback!