Auto-translated
Regarding SetCombatLight, you can implement a persistent check for the hero with the largest army, for example, using GetObjectPosition, but this method can significantly impact performance. If performance is a priority, you can try using REGION_ENTER_WITHOUT_STOP_TRIGGER, i.e., create a 5x5 region under each monster.
Regarding NCF, you need a random loop with the CreateMonster command, where the IDs of the required creatures should be entered into an array and called using random().