Есть следующий вопрос - с юнимодом создаю NPC через createObject, закидываю ему цвета куда надо - NPC невидим, хотя бегает и пинается. Что нужно, чтобы сделать его видимым? (подсмотрено у KirConjurer в скриптах для создания conjbot'а - есть функция для экипировки брони ботом, после чего тот становится видимым; внутри функции вызов какой то функции игры по адресу с передачей аргументов - на кого одевать и что одевать - как это может быть связано с отрисовкой npc? О_о)
Всё просто: недостаточно просто создать НПС, так как игра ориентирована на клиент-серверную архитектуру, клиенту игры ещё необходимо отправить пакет, который будет описывать характеристики этого НПС (такие как цвет кожи, цвет волос...)
Эта функция, помимо всего прочего, этот самый пакет и отправляет, а ещё отмечает НПС как "изменившегося" (если ему одели броню, то клиент об этом тоже должен узнать!)
Если пролистать файлик NPCEdit в самый конец, то там есть и функция (update/sendNPCData), которая вызывает отправку этих данных.
Вот её то как раз и нужно вызывать, чтобы сделать НПСку видимым, только не сразу, а с задержкой в 1 фрейм (смотри spawnNPC.lua)