Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Zander_driver 10 333 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 10 минут назад, Kirgudu сказал: либо, как мы раньше писали, для NPC это не сработает Вообще я бы предложил. Для начала попробовать на совершенно простейшем объекте. Аптечке там или пачке патронов. Потом переходить к более сложным, объектам, поэтапно выясняя где работает, а где уже нет. Подозрения что живого NPC оторвать малой кровью от AI-сетки, нельзя - очень сильны. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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 7 минут назад, Kirgudu сказал: Или так, наверное. Только что-то одно. Пробовал через bit_xor с bit_or и bit_and как Вы написали, но пока не дало результата... Копаю дальше... 6 минут назад, Zander_driver сказал: Для начала попробовать на совершенно простейшем объекте. Аптечке там Аптечки (II_MEDKI) в class_registrator.script у себя не нашел, и честно, не знаю как их там прописывать (знаний маловато для этого) Ссылка на комментарий
Zander_driver 10 333 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 18 минут назад, div сказал: не знаю как их там прописывать А зачем прописывать новый класс? Аптечка в игре и так уже есть. И пачка патронов есть. Можно и любой другой простой тип объекта. В class_registrator ничего прописывать для этого не надо, классы объектов указаны в их конфиге. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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, класс есть, но в se_item.script нужно к чему обращаться? se_... Не к identity_immunities же? se_medkit? Изменено 22 Декабря 2023 пользователем div Ссылка на комментарий
Zander_driver 10 333 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 Так, стоп. А разве Артос-модуль обязательно требует скриптового биндера серверного класса? se_...что-то там, для него обязательны? Насколько помню, древние версии работали и без этого. Но возможно Артос уже после такое требование накрутил... @Kirgudu прокомментируй? Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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, он требует минимум if self.cb_netpk then self.cb_netpk(self, packet) end в методе STATE_Write... Просто я не знаю, что для аптечек нужно использовать в se_... Пробовал на костюме, там понятно что писать нужно в se_outfit:STATE_Write(packet) Подводя промежуточный итог, я заметил, что если использовать код: data.object_flags = bit_and(data.object_flags, bit_not(128)) -- сброс UsedAI_Locations вместо: data.object_flags = bit_xor(data.object_flags, 128) data.object_flags = bit_or(data.object_flags, 128) экзоскелет (exo_outfit) реально падает, в то время как вариант с xor + or он практически сразу же лежит на поверхности карты.... @Zander_driver, @Kirgudu,можно ли сказать в таком случае, что если каким-то образом зафиксировать data.object_flags, то костюм будет висеть в воздухе? Я так понимаю, смотреть в сторону update не стоит, нужен искать способ, как заморозить это значение? Ссылка на комментарий
Zander_driver 10 333 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 1 час назад, div сказал: можно ли сказать в таком случае, что если каким-то образом зафиксировать data.object_flags, то костюм будет висеть в воздухе? Для этого надо не только отключать привязку к AI-сетке, но и отключать для него физику, что делает другой флаг (не скажу какой, у меня это получалось манипуляциями в движке, но доступный скриптово флаг для этого вроде тоже существует). При включенной физике объект упадет. При выключенной - на пули и другие коллизии он реагировать не будет тоже. 1 час назад, div сказал: self.cb_netpk(self, packet) А что внутри этого метода? Он ведь добавленный. В оригинале игры нет такого. 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. Ссылка на комментарий
Kirgudu 1 207 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 (изменено) 1 час назад, Zander_driver сказал: прокомментируй Ну конечно. Иначе как раз переключение оффлайн-онлайн работать не будет. А class_registrator в большинстве случаев нужен только затем, чтобы посмотреть, какой биндер и где искать. 1 час назад, div сказал: data.object_flags = bit_xor(data.object_flags, 128) data.object_flags = bit_or(data.object_flags, 128) Потому что вызов данных команд в паре приводит к исходному положению дел. Ведь даже в комментарии поста сказано, что первая - сброс флага, тогда как вторая - поднятие оного. В итоге флаг привязки к сетке после парного выполнения остаётся установленным. Аптечки... честно говоря, не помню, есть ли у них биндер в принципе. Изменено 22 Декабря 2023 пользователем Kirgudu Инструмент Ссылка на комментарий
Zander_driver 10 333 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 1 минуту назад, Kirgudu сказал: Иначе как раз переключение оффлайн-онлайн работать не будет. Ээм, а почему? Оно же делается методами-флагами самого sobj-объекта. Во всяком случае, так можно сделать и в серверном биндере оно нуждаться не будет. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
Kirgudu 1 207 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 (изменено) @Zander_driver, оговорился. Не будет работать запись в абстрактную часть пакета, которая возможна только при выходе в онлайн. А это - STATE_Write. Изменено 22 Декабря 2023 пользователем Kirgudu Инструмент Ссылка на комментарий
Zander_driver 10 333 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 В общем, если собрать увод объекта в оффлайн ручками самостоятельно, и возврат оттуда также ручками самостоятельно, то от ряда приблуд поздних Артосо-модулей, и от требований к class_registra-ции, можно избавиться. Но работу с оффлайн-онлайн переходами придется писать самостоятельно в этом случае. Только что, Kirgudu сказал: А это - STATE_Write. Но это ведь базовый метод, который можно вызывать у любого серверного объекта. Зачем скриптовые биндеры? Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
Kirgudu 1 207 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 (изменено) Вот как раз чтобы не писать руками в каждом необходимом случае. Один раз поправил нужные биндеры - и затем хоть сотню разных однотипных объектов в разных местах кода и с разными условиями перемещай, коллбэк сделает всё за тебя. Не знаю. Мне это кажется достаточно удобным. Зависит от требований к масштабируемости. Изменено 22 Декабря 2023 пользователем Kirgudu Инструмент Ссылка на комментарий
div 1 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 @Kirgudu, а вес (массу) m_netpk для npc поменять нельзя, так же? Ссылка на комментарий
Zander_driver 10 333 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 Вообще если в предельно упрощенном виде. Модуль Артоса читает нетпакет объекта методом STATE_Read, Позволяет изменить там некоторые параметры (Предоставляя более-менее удобный доступ к полям, а не по hex-смещению) Записывает эти параметры в нетпакет методом STATE_Write После чего надо увести объект в оффлайн И затем ввести его в онлайн, чтобы сделанные изменения применились. В принципе, всю эту последовательность действий спокойно делали до всяких Артосо-модулей, правда тогда это выливалось в огромные простыни кода, но тем не менее. Оно работало и в голом виде, и без скриптовых биндеров на серверный объект. А 1.0004 не всем классам позволяет вообще дать такой биндер. И ранние версии Артосо-модулей еще работали на хард-уровне, позволяя просто "читать нетпакет какого-то объекта", и затем "писать нетпакет какого-то объекта", на свой страх и риск, полагаясь на то что юзер знает что делает. Правда, накосячив можно было получить последствия любой степени неожиданности, но это работало с любым объектом. Вообще любым. 5 минут назад, Kirgudu сказал: Мне это кажется достаточно удобным Да никто ж не спорит. Удобно, и с "защитой от дурака", сделано. Но в 1.0004 нельзя биндер сделать на некоторые вещи. Что тогда?) 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. Ссылка на комментарий
Kirgudu 1 207 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 2 минуты назад, div сказал: @Kirgudu, а вес (массу) m_netpk для npc поменять нельзя, так же? Масса, емнип, есть только для физических объектов в state части их пакета. Инструмент Ссылка на комментарий
Zander_driver 10 333 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 @div обрати внимание: 6 минут назад, Zander_driver сказал: После чего надо увести объект в оффлайн и 6 минут назад, Zander_driver сказал: И затем ввести его в онлайн, чтобы сделанные изменения применились. Эти два действия НЕЛЬЗЯ делать сразу. Тогда ты их просто обнуляешь. Сначала увести в оффлайн. Потом подождать один апдейт. Потом вводить в онлайн. А не сразу-подряд в одном блоке кода. 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 @Zander_driver, @Kirgudu, то есть, с npc проблема, что они анимацмей управляются? Хочешь npc, который над локацией, нужно как-то с анимацией это химичить? Ссылка на комментарий
Zander_driver 10 333 Опубликовано 22 Декабря 2023 Поделиться Опубликовано 22 Декабря 2023 @div Думаю что нет таких анимаций. Если только сделать специально модель, в которой такая анимация есть (это к моделлерам, аниматорам), и скриптом у нее вызывать нужную анимацию... тогда сработает, но только с этой специально сделанной моделью. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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, нет возможности такую создать, или нет в игре? Я просто с анимациями в этой игре еще работал, но если принцип схож с общими правилами для разных игр, то должна быть родительская кость, которая определяет положение в пространстве... @Zander_driver, @Kirgudu, кстати, а вентилятор из примера спокойно зависает в воздухе без всяких изменений флагов, пока ГГ его не затронет... Скрытый текст 1 Ссылка на комментарий
EugenXS12_12 23 Опубликовано 23 Декабря 2023 Поделиться Опубликовано 23 Декабря 2023 19.12.2023 в 21:47, Купер сказал: @EugenXS12_12 , slot = X забыл закомментировать в конфиге. В оригинале он хитро "скрытый" от ГГ, ну так и вот. Закомментировать это всмысле поставить точку с запятой? 2 Возрождаем ТЧ Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти