Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Kirgudu 1 182 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 1 час назад, Zander_driver сказал: Но, что при этом отвалится в логике НПС? Любопытный вопрос, на который у меня нет ответа. Но памятуя о том, что в коде обслуживающем действия НПС, обращения к АИ-сетке встречаются на каждом шагу, подозреваю что будут проблемы. Тоже не знаю. Убирал флаги перехода в оффлайн у БТР, сбрасывал какие-то флаги у физ. объектов - проблем не было. НПС спавнить в воздухе в голову не приходило. 1 Инструмент Ссылка на комментарий
div 1 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 @Zander_driver, у OGSR системные требования, как я понял, выше ТЧ 1.0004 даже на старом железе без тормозов работает. @Kirgudu, @Zander_driver, несколько раз перечитал readme_m_netpk, и если правильно понял, то менять статус объекта (или npc) online / offline не нужно? Отталкиваюсь от части: Цитата При спавне нового игрового объекта: изменения вступят в силу, как только мы выйдем из текущей скриптовой работы и управление вернется движку - он создаст объект и начнет записывать в него параметры. ... Для уже существующих объектов в игре: требуется после задания изменений свойст объекта, перевести объект в оффлайн и обратно в онлайн, что модулем делается автоматически. Изменения вступят в силу в момент выхода объекта в онлайн. или я не правильно понял эту часть? 1 Ссылка на комментарий
mole venomous 3 327 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 Только что, div сказал: у OGSR системные требования, как я понял, выше Конечно выше. Особенно, если речь о последних публичных версиях движка с вырезанными рендерами R2/R3. Но ведь есть ЩПЫКи постарше и посговорчивее с системой. А адаптация старых и того проще. Здесь могла быть ваша реклама. Ссылка на комментарий
div 1 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 7 часов назад, Kirgudu сказал: Для NPC - скорее se_stalker.script у меня загвоздка еще с примером из readme, с перемещением trader_ventilyator_0000, как указано в test_abstract() Не совсем понял, как применить пункты 1), 2) и 3) из раздела "Как получить возможность менять абстрактную часть пакетов?" или trader_ventilyator к этому не имеет отношения? Если да, то я совсем не понимаю, почему после вызова test_abstract() не происходит перемещение вентилятора... Ссылка на комментарий
Zander_driver 10 331 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 1 час назад, div сказал: у OGSR системные требования, как я понял, выше А установить-запустить, пробовал? Они хоть и выше, но на железе десятилетней давности (причем изначально не особо мощном даже 10 лет назад) - все нормально работало, хоть и не на максималках. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
div 1 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 6 минут назад, Zander_driver сказал: А установить-запустить, пробовал? пробовал два раза, у меня перезагрузка системного сразу после запуска... Списал это на старое железо, позже, как разберусь с m_netpk, посмотрю по совету @mole venomous другие версии. Сейчас ищу проблему, почему даже тестовый пример из m_netpk у меня не работает... 1 Ссылка на комментарий
mole venomous 3 327 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 Только что, div сказал: другие версии До версии 2.1.386 включительно ещё есть рендеры на выбор. Более новые уже только Dx11 и, соответственно, минимальные требования по железу выше. 1 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Zander_driver 10 331 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 Только что, div сказал: у меня перезагрузка системного сразу после запуска... Такое может быть на мой взгляд, от двух причин. 1) Может быть ЦП в перегрев уходит - проверь температуру проца при запуске, и если это оно, то надо кулер получше и/или термопасту обновить. 2) Может быть под нагрузкой не вывозит блок питания. Если с температурами ЦП все нормально, то это оно, и его надо менять на более хороший. Кулер и Блок питания денег конечно стоят, но мне кажется это не такой уж страшно дорогой апгрейд, и его можно осилить. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Купер 2 793 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 И ключевое здесь: работало, ровно до тех самых пор (а это было уже давненько), пока разработчиков не понесло в ультимативные красивости. 4 минуты назад, mole venomous сказал: включительно ещё есть рендеры на выбор Беда только в том, что в каждом последующем билде, помимо прочего, исправлялись и внутренние ошибки и недоработки движка. И разобрать по diff-ам сейчас что, где и когда правилось - та ещё задачка. Ох, уж эти адепты ЩПЫКа. 1 1 Ссылка на комментарий
Zander_driver 10 331 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 1 минуту назад, Купер сказал: работало, ровно до тех самых пор (а это было уже давненько), пока разработчиков не понесло в ультимативные красивости Ну, при желании можно же и старый OGSR откопать. @div а какое железо если не секрет? Мне кажется, OGSR таки должен быть к железу в том числе старому, достаточно демократичен. О таких проблемах на нем первый раз слышу. ЗЫ. У меня если что, старый OGSR-Original где-то на старом ПК должен валяться... хотя вряд ли это кому-то понадобится. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
div 1 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 @Zander_driver, блок питания с запасом, кулер по тестам тоже держит температуру, скорее всего дело в процессоре, который старенький и еще видеокарты нет, так что отдувается за всех... Планировал обновить сборку, но с ситуацией на железо в предыдущее года желание отпало Скажите, пожалуйста, в чем может быть причина, что после вызова test_abstract(), код которого приведен в readme: Скрытый текст function test_abstract() --/ Переносим вентилятор из каморки Сидоровича на тумбочку в подвальчике деревни новичков (на Кордоне) local sobj = alife():object("trader_ventilyator_0000") --/ находим в игре серверный объект вентилятора if sobj then --/ нашли? local pk = get_netpk(sobj,0) --/ или m_netpk.net_cse_abstract(sobj) if pk:isOk() then local vPos = vector():set(-212.8,-22.28,-127.20) --/ координаты 'на тумбочке в подвальчике' local vDir = vector():set(0,3.14,0) --/ направление: 'лопастями от стены' --/ var-1: установка колбэка с таблицей local status = pk:setCallback( { position = vPos, direction = vDir } ) --[[ --/ var-2: установка колбэка с функцией local status = pk:setCallback( function(data) data.position = vPos --/ change property 'position' in 'cse_abstract' data.direction = vDir --/ change property 'direction' in 'cse_abstract' end ) --]] end end end вентилятор не меняет своего положения? Ссылка на комментарий
Zander_driver 10 331 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 5 минут назад, Купер сказал: Ох, уж эти адепты ЩПЫКа. Движок удобен для отладки ЛЮБЫХ вылетов - с этим спорить невозможно. 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
div 1 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 3 минуты назад, Zander_driver сказал: а какое железо если не секрет? Процессор Intel Pentium G3250, 4 ГБ DDR, 1 ТБ HDD Ссылка на комментарий
Zander_driver 10 331 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 (изменено) 10 минут назад, div сказал: Intel Pentium G3250, 4 ГБ DDR Вообще-то, не так уж и плохо. У меня в команде тестеров были ребята с железом послабее, и у них мод на базе OGSR работал. Хотя это около минимальной для него планки... но запускаться и работать он должен. По нетпакету к сожалению не подскажу. Я эту версию модуля Артоса уже не использовал. Сидел на более ранних-древних, а потом уже на OGSR пересел. Изменено 22 Декабря 2023 пользователем Zander_driver Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
div 1 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 @Zander_driver возможно, если на чистой системе будет работать... У меня почему ТЧ стабильно работает только с патчем 1.0004, хотя пробовал разные по очереди ставить с переустановкой самой ТЧ... @Zander_driver, @Kirgudu, 2 часа назад, Kirgudu сказал: 5 часов назад, Zander_driver сказал: Но, что при этом отвалится в логике НПС? Любопытный вопрос, на который у меня нет ответа. Но памятуя о том, что в коде обслуживающем действия НПС, обращения к АИ-сетке встречаются на каждом шагу, подозреваю что будут проблемы. Тоже не знаю. Убирал флаги перехода в оффлайн у БТР, сбрасывал какие-то флаги у физ. объектов - проблем не было. НПС спавнить в воздухе в голову не приходило. У меня не как В se_stalker.script я дописал: if self.cb_netpk then self.cb_netpk(self, packet) end в нужное место... Скрытый текст function clear_useful_for_ai(sobj) local pk = get_netpk(sobj, 1) -- [m_netpk] прочитать нетпакет local data = pk:get() -- [m_netpk] вывести данные в таблицу data.object_flags = bit_xor(data.object_flags, 8) -- двоичное сравнение и сброс флага "интерактивно" на 0 (позиция 8 или 2^3 справа налево: …1xxx или …0xxx –> …0xxx) data.object_flags = bit_or(data.object_flags, 8) -- то же для поднятия флага при любых исходных значениях pk:set(data) -- [m_netpk] записать данные в нетпакет по измененной таблице end function test_abstract_npc() local sobj = alife():create("esc_unik_npc", vector():set(-218.20, -20.2, -145.63), 35362, 47) clear_useful_for_ai(sobj) if sobj then --/ нашли? local pk = get_netpk(sobj, 0) --/ или m_netpk.net_cse_abstract(sobj) if pk:isOk() then local vPos = vector():set(-218.20, -20.2 + 10, -145.63) local vDir = vector():set(0, 3.14, 0) --/ var-1: установка колбэка с таблицей local status = pk:setCallback( { position = vPos, direction = vDir } ) end end end Ссылка на комментарий
Kirgudu 1 182 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 @div готовый тестовый пример с вентилятором:https://disk.yandex.ru/d/T2v4KZ0WfBOp4g Внутри сейвы у Сидоровича и в подвале деревни после переноса (сделаны на Steam версии ТЧ, поэтому скорее всего не загрузятся), скриншоты для визуального подтверждения. Для лёгкости понимания вставок упаковал 2 папки: оригинальную из Steam-версии и уже с изменениями. WinMerge или аналог покажет разницу между изменёнными файлами. Не мудрствуя лукаво, повесил запуск телепорта вентилятора на апдейт актора, через 10 секунд после первого апдейта (чтобы успеть сбросить начальный ролик и увидеть телепорт глазами). Дальше самостоятельно, код писать больше не буду. Имхо, технических сведений вполне достаточно, может просто не хватило внимательности при реализации. 1 3 Инструмент Ссылка на комментарий
div 1 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 @Kirgudu, @Zander_driver, какие еще есть "подводные камни"? Условие 1) и 2) тоже выполнено, код вроде полный... P. S. @Kirgudu, спасибо Вам за код, изучаю... 28 минут назад, Kirgudu сказал: Имхо, технических сведений вполне достаточно, может просто не хватило внимательности при реализации. @Kirgudu, да, Вы правы, я se_physic не додумался правильно отредактировать в тот момент, сейчас поправил, работает... С npc правда пока код не работает, хотя se_stalker.script соответствует требованиям пунктов 1), 2) и 3) 1 час назад, div сказал: код (Скрыть) function clear_useful_for_ai(sobj) local pk = get_netpk(sobj, 1) -- [m_netpk] прочитать нетпакет local data = pk:get() -- [m_netpk] вывести данные в таблицу data.object_flags = bit_xor(data.object_flags, 8) -- двоичное сравнение и сброс флага "интерактивно" на 0 (позиция 8 или 2^3 справа налево: …1xxx или …0xxx –> …0xxx) data.object_flags = bit_or(data.object_flags, 8) -- то же для поднятия флага при любых исходных значениях pk:set(data) -- [m_netpk] записать данные в нетпакет по измененной таблице end function test_abstract_npc() local sobj = alife():create("esc_unik_npc", vector():set(-218.20, -20.2, -145.63), 35362, 47) clear_useful_for_ai(sobj) if sobj then --/ нашли? local pk = get_netpk(sobj, 0) --/ или m_netpk.net_cse_abstract(sobj) if pk:isOk() then local vPos = vector():set(-218.20, -20.2 + 10, -145.63) local vDir = vector():set(0, 3.14, 0) --/ var-1: установка колбэка с таблицей local status = pk:setCallback( { position = vPos, direction = vDir } ) end end end function clear_useful_for_ai(sobj) local pk = get_netpk(sobj, 1) -- [m_netpk] прочитать нетпакет local data = pk:get() -- [m_netpk] вывести данные в таблицу data.object_flags = bit_xor(data.object_flags, 8) -- двоичное сравнение и сброс флага "интерактивно" на 0 (позиция 8 или 2^3 справа налево: …1xxx или …0xxx –> …0xxx) data.object_flags = bit_or(data.object_flags, 8) -- то же для поднятия флага при любых исходных значениях pk:set(data) -- [m_netpk] записать данные в нетпакет по измененной таблице end function test_abstract_npc() local sobj = alife():create("esc_unik_npc", vector():set(-218.20, -20.2, -145.63), 35362, 47) clear_useful_for_ai(sobj) if sobj then --/ нашли? local pk = get_netpk(sobj, 0) --/ или m_netpk.net_cse_abstract(sobj) if pk:isOk() then local vPos = vector():set(-218.20, -20.2 + 10, -145.63) local vDir = vector():set(0, 3.14, 0) --/ var-1: установка колбэка с таблицей local status = pk:setCallback( { position = vPos, direction = vDir } ) end end end Ссылка на комментарий
Kirgudu 1 182 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 @div, ну тут одно из двух: либо дьявол в неучтённых мелочах, либо, как мы раньше писали, для NPC это не сработает. Изучать и экспериментировать. Инструмент Ссылка на комментарий
div 1 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 я наверно не тот флаг снимаю data.object_flags = bit_xor(data.object_flags, 128) data.object_flags = bit_or(data.object_flags, 128) так же должно быть? Ссылка на комментарий
Kirgudu 1 182 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 (изменено) 10 минут назад, div сказал: я наверно не тот флаг снимаю data.object_flags = bit_and(data.object_flags, bit_not(128)) -- сброс UsedAI_Locations Полный список флагов можно посмотреть в том же m_netpk в конце файла, где "_G.object_flags = ..." и далее. 10 минут назад, div сказал: так же должно быть? Или так, наверное. Только что-то одно. Изменено 22 Декабря 2023 пользователем Kirgudu Инструмент Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти