Я пытаюсь использовать luasocket для подключения к IRC-каналу и отправки и получения сообщений в моей игре (Wolfenstein Enemy Territory, если это поможет).
Прямо сейчас я могу сделать все это, с одной проблемой. Как только я настроил его на прослушивание сообщения, он в основном блокируется. У меня есть резервная команда, если я набираю stoplisten в Irc, она просто останавливает скрипт, и я вижу, что он получил все сообщения, но сама игра заблокирована в ожидании сообщений.
Любые идеи о том, как я могу это сделать, не замораживая игру? Я только недавно немного изучил сопрограммы, поэтому я не знаю, правильно ли я их использую. Я также должен отметить, что у меня есть доступ к функциям кадра выполнения, которые запускаются каждую миллисекунду, если это помогает (хотя обычно это делается так: if math.mod(currentTime, 50) ~= 0 then return end)
Вот часть моего кода: http://pastebin.com/j1gCqm4R (я не собирался редактировать весь свой код с отступом, чтобы разместить это здесь, поэтому я просто положил его на pastebin)