Полтергейст 38 Опубликовано 20 Ноября 2015 (изменено) Но в том и дело, что оригинал - не сохраняется. Его уборщик убирает. Теоретически. Тут бы надо кому-то в исходники глянуть. Я так понимаю, копия нужна для защиты оригинала от изменения. После вызова obj:command( act, false) действие добавляется в очередь. А вот какие странности будут, если попытаться изменить его после добавление в очередь local new_act = action_first(obj, что-то_там) new_act:set_action(что-то_ещё) - можно только догадываться. И кстати переменную act лучше переименовать, т.к. есть одноимённый экспортированный класс. Изменено 20 Ноября 2015 пользователем Полтергейст Поделиться этим сообщением Ссылка на сообщение
Полтергейст 38 Опубликовано 24 Ноября 2015 (изменено) Мой вариант (одна функция, работающая и в online, и в offline). function has_alife_info(info_id) if not (sim and info_id and info_id:len() > 0) then -- ругаемся в лог end if actor then -- online return actor:has_info(info_id) end -- offline return sim:has_info(0, info_id) end Для избавления от лишних проверок сделать немного по-другому - написать 2 разные функции для online и offline проверке, и в биндере игрока написать что-то такое _G.has_alife_info = has_info_online -- пишем в net_spawn _G.has_alife_info = has_info_offline -- в net_destroy Изменено 24 Ноября 2015 пользователем Полтергейст 1 Поделиться этим сообщением Ссылка на сообщение