ROFL. He swears on his BL_ID. We believe you, kid. You can't abuse a tool scrolling function.
As for the problem at hand, scrollTools(y) works with weapons, I don't see why it wouldn't. But if you were trying to write a script where you scroll really fast so that your weapon fires at an increased rate (naughty naughty!) then I could see why you may run into a problem.
If you're scrolling multiple tools at once, you're going to want to space out the calls to scrollTools. Something like..
scrollTools(1); scrollTools(-1);
wouldn't work, where as
scrollTools(1); schedule(30,0,scrollTools,-1);
would work. I don't really know why, but I discovered that when I rigged together a rapidfire script once.