Hey Arran,
unfortunatly thats what you've got to do have a different shader for each part to assign hte map
Then again you probably could write a MEL script to do it for you, using a loop function and a simple increcement for the file??
Dunno as im not too sure about MEL, being getting back into C++, then again if you post thatin the MEL forum bet Alan could sort you out with a workround, if one exists...
"No pressure, no diamonds" Thomas Carlyle