Есть много способов сделать это, но первое, что приходит в голову, это НЕ использовать ChatAgent в качестве ресурса (по крайней мере, не тот, который вы используете в служебном блоке), потому что чаты могут приходить в любой момент времени, и вы можетеу вас нет ресурса, который принимает много разных агентов, которые приходят в разное время через служебный блок ...
Вместо этого вы можете использовать следующую структуру в chatAgent: ![ChatAgent Structure](https://i.stack.imgur.com/3qJCC.png)
Емкость ресурса будет определять, сколько агентов может войти в блок disabledArea ... Эта структура будет существовать внутри вашего ресурса chatAgent.
Ваш основной агент будет иметь следующую структуру: ![main structure](https://i.stack.imgur.com/XeE7z.png)
, когда чат ожидает доступного ChatAgent, если ChatAgent доступен, выполнив:
chatAgent.beginService.entitiesInside() < chatAgent.capacity
Это наиболее важные детали, чтобы он работал ... сейчасВы должны правильно построить модель.