there are 8 scripts (plus metro and init), and normally they are mapped to the 8 trigger inputs. this was the original implementation, now we also have the ability to mute specific inputs (so they don’t trigger scripts anymore), and you can call a script from another script, so they can be used as functions, sort of.
scripts are not mapped to outputs at all - any script can update any output. you could have all 8 scripts updating the same CV and trigger outputs, for instance.
you could also have one script update multiple outputs in one script, as mentioned. as a matter of fact, you could do something like this:
L 1 100: SC.CV * I 100 - this will update all 100 er-301 teletype CVs at once.