You cant play animations on models, only on players. So, setmodel, or link multiple players together to create 1 giant zombie (power-ranger style)
Show/hide light is poss by editting the map, and creating 2 versions of a room, one with the light, one without, then show()/hide()-ing them appropriately
The firetime/reloadtime is serverside, so everyone has the same firetime. However, given that you probably have less than 24 players on your server, you can give each client his own "unique" gun and set the flags appropriately serverside.
Use proper bots with botcontrol (implemented in one of the later libcods, quite easy to handle)