Создание на лету рабочих аномалий, вертолётов, переходов между уровнями, рестрикторов, точек воспроизводства и других объектов, конструктор которых задаёт не все необходимые для полноценного функционирования параметры.
Идея проста. 1) Создаём объект стандартным методом: local obj = alife():create(...)
2) Создаём экземпляр класса net_packet: local packet = net_packet()
3) Сохраняем состояние объекта в пакет: obj:STATE_Write(packet)
4) Считываем _все_ сохраняемые свойства в переменные: local property1 = packet:r_u32() ... local propertyN = packet:r_float()
5) Записываем эти переменные опять, меняя или дополняя необходимые параметры: packet:w_u32(property1) ... propertyN = new_value packet:w_float(propertyN)
6) Считываем модифицированное состояние объекта: packet:r_seek(0) obj:STATE_Read(packet, packet:w_tell())