abramcumner 1 146 Опубликовано 1 Марта 2020 1 час назад, WinCap сказал: Эксперимент-доказательство. А если переключиться на подствольник, сохранить игру и загрузить? Скорей всего можно задать, через клиент_дату в секретной(или как ее принято называть) части нет-пакета. Получается, UPDATE-пакет можно переписывать, но только для некоторых объектов. Да для всех объектов он переписывается. Просто ты столкнулся с особенностью класса оружия, что состояние подствольника берется не из апдейт-пакета. Ты же вроде сам писал, что вычитывал нет-пакет обратно и там было все, как нужно. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 1 Марта 2020 11 минут назад, Norman Eisenherz сказал: проблема возникает на следующей стадии – при переносе данных из временного пакета в новый объект. То есть, если после этого перенести данные из нового объекта в еще один нет-пакет, то там уже кривые данные будут? Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 1 Марта 2020 @Norman Eisenherz, попробуй через абстрактную часть нет-пакета. Смотри в доке у Артоса про net_abstract. Тогда станет доступно свойство co_props.grenade_mode. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 5 Июня 2020 (изменено) @phalcor, config/gameplay/info_l01escape.xml Цитата <info_portion id="escape_lager_killers_die"> <disable>escape_lager_spawn_killers</disable> </info_portion> Инфопоршень escape_lager_killers_die убирает escape_lager_spawn_killers и наемники уходят в оффлайн из-за условия в cекции spawner в all.spawn. Похоже надо удалить disable из выше процитированного кода. Или в секции spawner написать как-то так cond = {+escape_lager_spawn_killers}, {+escape_lager_killers_die} Изменено 5 Июня 2020 пользователем abramcumner 2 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 28 Июня 2020 @Norman Eisenherz, на самом деле совсем не смешно. Что выдает артосовский m_netpk.script? Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 28 Июня 2020 5 минут назад, Norman Eisenherz сказал: Arguments : LUA error: ...\common\stalker clear sky\gamedata\scripts\_g.script:975: bad argument #2 to 'format' (string expected, got nil) Это специальный вылет же. 975 строка - функция abort в ЧН. Что выше в логе? Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 28 Июня 2020 @Norman Eisenherz, первое правило велосипедиста: педалишь свой велосипед - сверяй с проверенным. По ошибке: 1. обрати внимание на пост @WinCap,в ЧН/ЗП конструктор net_packet не иницилизирует позиции чтения/записи. Надо делать w_seek 2. Я бы все-таки проверял класс объекта при разборе нет-пакета. cse_alife_weapon по-моему только нож использует. Ну и да, библиотека Artos`а учитывает все это и еще кучу другого. 3 часа назад, Norman Eisenherz сказал: Опять же, базовые методы, вокруг которых не требуется строить 20 дополнительных проверок – не костыли. Ну как не костыли. Не работают же эти базовые методы Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 28 Июля 2020 9 часов назад, _Sk8_AsTeR_ сказал: if snd_theme:play(npc_id) then -- ОТМЕТКА!!! ТУТ ЗАТЫК. Это условие не проходится, нпс не проигрывает звук!!! А snd_theme:play точно что-нибудь возвращает? А то может он ничего не возвращает, ну и if nil then естественно не срабатывает. 1 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 19 Августа 2020 56 минут назад, Zander_driver сказал: А зачем и почему это делалось, уже не помню, хоть убейте. Затем, что принтф не работает в оригиналах 1 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 6 Сентября 2020 (изменено) 2 часа назад, Norman Eisenherz сказал: Откуда берутся эти дробные части и как с этим бороться? Прочитать про числа с плавающей запятой. Не все рациональные числа могут быть представлены в этом формате. Например 0.1 нельзя. "Борьба" заключается в выводе чисел с нужным числом знаков(s = string.format("%.1f", x) - преобразует x в строку с округлением до одного знака). Изменено 6 Сентября 2020 пользователем abramcumner 1 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 22 Июля 2023 (изменено) 11 часов назад, Norman Eisenherz сказал: Вместо суммирования таблица очищается на каждом шаге при проверке наличия заданного ключа. А шагов не два случайно? 11 часов назад, Norman Eisenherz сказал: Вложенная таблица {0, 0} не успевает записаться в память до следующей проверки? Ошибка всегда в программе. В первый раз вместо того, чтобы прибавить p, ты пишешь нолики. Убери else. Ну и вариант с отдельной инициализаций count и отдельным заполнением в сто раз лучше. И ошибок в нем меньше. Изменено 22 Июля 2023 пользователем abramcumner 1 1 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 22 Июля 2023 (изменено) 2 часа назад, Norman Eisenherz сказал: проверка if not снова дает nil и значение перезаписывается парой нулей. Нет, не дает и не перезаписывается. Вот результат выполнения твоего кода local st={a=1} local arts ={"af_a", "af_b", "af_c"} i=1 stat=a count[stat]=nil i=2 stat=a count[stat][k]=0 i=3 stat=a count[stat][k]=1 count={a = {1 = 2,2 = 0}} Изменено 22 Июля 2023 пользователем abramcumner Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 22 Июля 2023 @Norman Eisenherz выложи полную функцию с тестовым выводом. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 28 Ноября 2023 3 часа назад, Norman Eisenherz сказал: Дополнительный вопрос: почему последовательно прочитанные значения diffSec при аргументах "текущее время / время 0" получаются одинаковыми при разнице до получаса игрового времени? https://drive.google.com/file/d/1z5AiT9F6ddl5fPDlOXjV9N8y10QS2d7I Точность флоата - 7 десятичных разрядов. У тебя на скрине какой-то смысл имеют старшие 7 разрядов у чисел, в остальных мусор. Интересное наблюдение - разница между числами у тебя на скрине 4096 Вот с такой точностю с такими большими значениями работает флоат. 1 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 28 Ноября 2023 1 час назад, Norman Eisenherz сказал: Еще вопрос: для чего полный набор значений читается показанным ниже способом, если метод ct:get() дает все те же значения и без ввода аргументов? Возможно это наследие старых версий luabind. Когда-то можно было писать только с полным набором значений. Потом стало можно писать и пустой get, но скрипты править уже не стали. 6 часов назад, Norman Eisenherz сказал: но после вычислений не получается и половины требуемого значения. Где ошибка? А это тебя еще и функция setHMS подводит в движке у нее аргументы типа int - так что да - больше 69 лет таким макаром не получишь. 1 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 7 Июня 43 минуты назад, Kirgudu сказал: Что-то я даже затрудняюсь сказать, что будет с глобальной кеширующей актора переменной db.actor, если её использовать в качестве выходного параметра. Обнулится со всеми вытекающими? Или будет создана локальная одноимённая переменная, не влияющая на глобальную, поскольку существует только внутри этой функции? У меня скрипт с таким объявление функции вообще не распарсился lua в ЗП. 2 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 7 Июня 1 час назад, Black_Raven_03 сказал: а какая связь между ЗП и ТЧ-ориентированным ОГСР-движком?! я же специально указал год сборки движка - 2020! ЛуаДжиты же разные! Такое не должно и на ТЧ/ОГСР парситься. Что было под рукой, на том и проверил. 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 1 Августа @Labadal попробуй запустить на OGSR-Engine. Так у тебя должен появиться нормальный лог. Без него так и будешь дальше тыкаться как слепой котенок. 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 26 Августа 12 часов назад, Labadal сказал: Партикл остаётся, т.е рестриктор никуда не делся. Я даже логику пробовал менять, изменял активную секцию, и тд. Партикл не уходит. В общем, подскажите, пожалуйста. Попробуй закомментировать строки: local se_obj = alife():object("rest_name_vagon") --if se_obj then alife():release(se_obj, true) --end 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 146 Опубликовано 26 Августа @Labadal похоже, что ГСЦ такого не ожидала. И рестриктор удаляется, а партиклы не отключаются. Попробуй сначала перевести рестриктор в другую секцию/nil и только потом удалять. Или можно в bind_restrictor.script в функции function restrictor_binder:net_destroy() if st.active_scheme then xr_logic.issue_event(zone, st[st.active_scheme], "deactivate") -- добавить отправку события отключения схемы перед удалением xr_logic.issue_event(zone, st[st.active_scheme], "net_destroy") end 1 Поделиться этим сообщением Ссылка на сообщение