GetObjectCreatures('town1', 1) > 299 and GetObjectiveState('obj1c') == OBJECTIVE_ACTIVE or GetObjectCreatures('town1' , 2) > 299 and GetObjectiveState('obj1c') == OBJECTIVE_ACTIVE or GetObjectCreatures('town1' , 106) > 299 and GetObjectiveState('obj1c') == OBJECTIVE_ACTIVEThis long condition can be replaced with:
GetObjectCreatures('town1', 1) + GetObjectCreatures('town1', 2) + GetObjectCreatures('town1', 106) >= 300 and GetObjectiveState('obj1c') == OBJECTIVE_ACTIVEBy the way, why check if the objective is active multiple times in one condition?