How it works...
The reason this lock works, is because of the macro it uses.
So lets take the action "fly" and only let players with flying species through.
+lock fly=action=&{lock_to_species:~lists/flyers}
Now then, all the lists are pre-defiend and ready to use, (~list/...) and are used by the macro {Lock_to_species} to lock all of the species in the supplied list, and the list is defined in the argument... which happens to be ~lists/flyers in the above example.
So, you can also make your own lists of species in lsedit and use that instead, as long as it reffers to the correct prop, of coures. You can also just lock it to a single species without having to write a list.
So the argument is a list, and you can make it inter-changeable with some more MPI cleverness.