I like it when people explain what they're doing above the line of code, like you do.
Self-documenting code is something that is good programming practice. I tend only to do it when writing code for others, though...doesn't help 2 months later when I come to look at the code and try to unravel what it was I was trying to do!
And yeah, I have limited it to a channel - not quite sure how to flood protect it, but ill read in /help.
There's nothing specific in the help file that will tell you that. There are a few ways to do it, but all involve setting some sort of flag on a time-out which you check before allowing the code to run again.
Is there a way to 'refresh' mIRC remotes without closing mIRC and reload the file again?
When I make changes and reload it, mIRC only remembers the first version I've loaded.
Just press ctrl-s or file->save from the menu. As you say, if you reload it, you lose your changes because you're reverting to the version of the file on disk.
Regarding hash tables, info gets pulled from the .ini file where the code is stored - correct?
Not quite. I read that as 'reading from an ini' which isn't the same as saving the script in an ini file. You can also save scripts in a plain text file (usually with the .mrc extension).
All I've done here is to hard code the values into the script itself, and have the hash table created and populated when the script loads.
It would certainly be possible to populate the hash table from an ini file, or indeed just read the values directly from an ini file.