if you are going to use regex you may as well use $regml() just replace where you have $2- or $2 with $regml(2) this is just a example :
On $*:Text:/^!(theme|color)?\s?(\d+)?/Si:#:{ if ($nick($chan,$nick,@&~)) { if ($regml(2) !isnum 0-15) {