I make a station, put a huge loop around the starting point, remove that one block and tell my gunner to fire at this station.
The gunner will point weapons to this -now empty- centre. And get points?
Member A: 3 E-War, 3 Ammo, 4 Medic, 5 Engineering
Member B: 5 E-War, 4 Ammo, 3 Medic, 3 Engineering
Usually you do
for all ship:members[]:skills[skill]{ skill:demand = available / total-demand }
for all ship:members[member]{ member:demand := 0 += sum of all skills[]:demand }
But humans are "creatures of habit".
This will not work in big crews unless you have a crew manager computer on-board (logic computers? :D:D)
Probably your crew will hate you for their random "work plans".
Crew should have accounted a virtual increase in (for example +2 +10% of this/all attributes) to their attribute when they are currently doing something with this attribute required and like what they do.
But it should not affect "available" in { skill:demand = available / total-demand}
This not only generates more realistic human behaviour, but also stabilizes the system - thus not:
Go there
No there
Well, not there any-more go back to where you should go first.
Hey, not you both! One come back
I said one, not two of you!
Stations should always have 2 peoples if they can afford that or somebody who can replace anybody.
Humans sometimes have to go to toilet or fail or suddenly need a co-worker (required + optional crew-men per station)...
For a night-shift (or 3 shifts) you double (triple) a stations requirements and then split the crew-men in two (three) groups.
Probably that could be defined in an API (stations[]:requirements[]:skill ...) so that players could use their own Java files now or LUA files later.
Would take work from schema and can be handled like players issuing AI manually client-side.
A simple SMEdit-like Java-AI could be provided as defailt, admins can modify and distribute it (would need auto-download ?) and players could edit them at their own risk (as it is client-side Java/Lua it would not affect others).
However some servers may choose to run AI on server and not allow client-side AI queries/actions (limit those to maybe 3 per second which a player could issue).