Norman Eisenherz 309 Опубликовано 6 Февраля 2020 Поделиться Опубликовано 6 Февраля 2020 Теперь у меня даже больше ответов, чем было вопросов. Всем спасибо. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
mole venomous 3 365 Опубликовано 8 Февраля 2020 Поделиться Опубликовано 8 Февраля 2020 (изменено) У меня такие дилетантские вопросы. Как сохраняются объекты в ОП-2.1 при перемещении в самопальный тайник? Сохраняются ли они вообще как объекты (т.к. по описанию эти тайники почти не "нагружают" систему)? Насколько сложно воссоздать подобную схему (или что-то вроде пересоздания объекта с переносом нет-пакета) или проще обратиться в другую тему с поиском нужных исходных файлов? Изменено 8 Февраля 2020 пользователем mole venomous Здесь могла быть ваша реклама. Ссылка на комментарий
naxac 2 445 Опубликовано 8 Февраля 2020 Поделиться Опубликовано 8 Февраля 2020 @mole venomous, думаю, там сохраняются только основные данные о объектах. Например, секция, состояние, количество патронов и наличие навесов для оружия, и т.д... 14 минут назад, mole venomous сказал: проще обратиться в другую тему с поиском нужных исходных файлов? Проще самому посмотреть, что и как, в файлах мода. 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Norman Eisenherz 309 Опубликовано 11 Февраля 2020 Поделиться Опубликовано 11 Февраля 2020 Здрасьте. Задача: вывести шкалу с последовательным заполнением делений: https://drive.google.com/open?id=1EBywWOQW3TvpG3rpP9Ula394q4LA4yzy Вроде бы простое решение: SEQ-файл с набором кадров. Проблема: анимация проигрывается со 2-го кадра, потом с 3-го, потом с 5-го, потом правильно, потом еще с какого-нибудь левого кадра – такое впечатление, что каждый второй-третий раз начальный кадр выбирается случайным образом, потом один-два раза сдвигается на +1, потом опять выбирается случайно. Как с таким поведением бороться? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
mole venomous 3 365 Опубликовано 11 Февраля 2020 Поделиться Опубликовано 11 Февраля 2020 5 часов назад, Norman Eisenherz сказал: последовательным заполнением делений А если привязать обновление текстуры на таймеры, и при каждой отсечке обновлять шкалу? Здесь могла быть ваша реклама. Ссылка на комментарий
Norman Eisenherz 309 Опубликовано 11 Февраля 2020 Поделиться Опубликовано 11 Февраля 2020 @mole venomous Это уже сложное решение – вдвое больше кода (хотя все равно не больше 60 строк). У меня вопрос в другом: как заставить SEQ-анимацию проигрываться всегда с 1-го кадра? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
naxac 2 445 Опубликовано 11 Февраля 2020 Поделиться Опубликовано 11 Февраля 2020 @Norman Eisenherz, а CUIProgressBar для твоих целей не подойдёт? Там при задании значения (SetProgressPos) длина шкалы изменяется плавно. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Norman Eisenherz 309 Опубликовано 12 Февраля 2020 Поделиться Опубликовано 12 Февраля 2020 @naxac 1. Нет, мне как раз нужна шкала с дискретным заполнением, по одной ячейке в секунду. 2. Можно картинку с примером применения CUIProgressBar? В имеющихся у меня файлах (ТЧ, OGSE, солянка 2010) только описание в lua_help. 3. Первым кадром анимации, описанной в SEQ-файле, все-таки можно управлять, или он всегда выбирается случайно? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
mole venomous 3 365 Опубликовано 12 Февраля 2020 Поделиться Опубликовано 12 Февраля 2020 Подскажите, существует ли скриптовый метод запретить автоматическую перезарядку оружия? Или на крайний случай, отловить момент начала перезарядки? Здесь могла быть ваша реклама. Ссылка на комментарий
Zander_driver 10 335 Опубликовано 12 Февраля 2020 Поделиться Опубликовано 12 Февраля 2020 5 минут назад, mole venomous сказал: существует ли скриптовый метод В нынешние времена, стоит делать оговорку, о том что наличие либо отсутствие тех или иных скриптовых методов, зависит от версии движка. И если задавать вопрос "существует ли" - то уточнять, о каком движке речь. 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. Ссылка на комментарий
UriZzz 1 004 Опубликовано 12 Февраля 2020 Поделиться Опубликовано 12 Февраля 2020 @mole venomous, если в чистом ТЧ, то нет, есть в x-ray ext последней ревизии, но там задаются в оружейных конфигах - запретить или нет авто-перезарядку. Есть в OGSR, но там, по моему, в самом движке железно отключена авто-перезарядка, если с того времени когда я тыкал тот двиг, не чего не изменилось. 1 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
naxac 2 445 Опубликовано 12 Февраля 2020 Поделиться Опубликовано 12 Февраля 2020 @Norman Eisenherz, 2. https://github.com/naxac/CP2_AddOn/commit/f34310407a98f13d24c5b36d3c1008b058b96f65 Можно через нужные промежутки времени прибавлять значение, передаваемое в SetProgressPos. 3. Всегда думал, что *.seq проигрывается с самой первой (верхней) текстуры. Интересно... Управлять первым кадром точно нельзя. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
gam 117 Опубликовано 19 Февраля 2020 Поделиться Опубликовано 19 Февраля 2020 Подскажите плиз с какой частотой апдейтится функция function set_fastcall(const function<boolean>&, object) в милисекундах. Ссылка на комментарий
Malandrinus 615 Опубликовано 19 Февраля 2020 Поделиться Опубликовано 19 Февраля 2020 gam, Вроде как с частотой кадров, т.е. точной частоты нет. 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Norman Eisenherz 309 Опубликовано 20 Февраля 2020 Поделиться Опубликовано 20 Февраля 2020 Здрасьте. Начал ковырять нетпакеты… По файлу [weap_data.script] из старого мода "Ночные прицелы" восстановил порядок и тип переменных, потом прочитал по одной с начала и с конца со сдвигом (lvid и condition) – результат сходится с тем, что выдают обычные функции. https://drive.google.com/open?id=1LvustUkaKFNZWCMUUsZ0V-7Rms8RwfoF Насколько я могу судить по записям на форуме, полученная таблица подходит только для типа предметов "огнестрельное оружие без гранатомета". Где можно найти аналогичную информацию (порядок и тип переменных) для нетпакетов NPC, брони, оружия с гранатометом и других типов игровых объектов? Можно ли эту информацию как-то получить из самого нетпакета, или в нем хранятся только значения, которые невозможно прочитать без знания их типов? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Zander_driver 10 335 Опубликовано 20 Февраля 2020 Поделиться Опубликовано 20 Февраля 2020 1 час назад, Norman Eisenherz сказал: Где можно найти аналогичную информацию В модулях Артоса, вроде как, параметры с названиями а не просто набором байт. Уж 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. Ссылка на комментарий
dsh 3 824 Опубликовано 20 Февраля 2020 Поделиться Опубликовано 20 Февраля 2020 6 hours ago, Norman Eisenherz said: хранятся только значения, которые невозможно прочитать без знания их типов? Именно так. Уже все изобретено до вас. Найди m_netpk и не изобретай велосипедов. Вообще совет и не только тебе. Прочитайте эту и соседнии темы с самого начала. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Zander_driver 10 335 Опубликовано 20 Февраля 2020 Поделиться Опубликовано 20 Февраля 2020 2 часа назад, dsh сказал: Прочитайте эту и соседнии темы с самого начала. Ох и добрый ты :) Я бы другой совет дал бы. Не засиживаться на ванильном ТЧ, каким бы новичком и вообще не-программистом вы ни были. Устарел он, для 2020 года. И соотв-но, не тратить слишком уж время на прочтение того, что только для него актуально. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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. Ссылка на комментарий
Norman Eisenherz 309 Опубликовано 21 Февраля 2020 Поделиться Опубликовано 21 Февраля 2020 @Zander_driver 1. В OGSE есть обработчик [m_net_utils.script] – это те самые "модули Артоса"? 2. Я ни в коем случае не пытаюсь освоить современное программирование ковырянием игры 2007 года – я пытаюсь уменьшить количество "кочек" в игре, в которой приятно убивать время, для чего перебираю существующие моды и пытаюсь их повторить в той мере, в которой это подходит для моих целей. Готовые решения уровня "электросамокат с гироскопом, GPS и подсветкой дороги" не годятся, если мне нужна просто табуретка. Опять же, даже чужие функции надо изучить, чтобы понять причину ошибок и вылетов. @dsh 1. Ссылка на [m_netpk.script] на GitHub у меня есть, но так как из этих черных ящиков под названием "нетпакеты" я пока докопался до начинки только одного, 3,5к строк кода я буду изучать долго. 2. Как вскрывали нет-пакеты на момент выхода игры? Вслепую перебирали тип данных для каждого параметра, потом так же вслепую сравнивали полученные значения с данными в игре, чтобы определить переменную? Должен же быть какой-то более продуктивный метод. Теперь практика: проверка состояния фонарика и ПНВ Spoiler function net_cse_alife_item_torch:__init(obj,mode) … self.st_props = {} self.up_props = { { name = 'torch_flags', type = 'u8', default = -1 }, … … _G.torch_flags = { --/ torch Active = 1, NightVisionActive = 2, Attached = 4 … Вывод: переменная состояния фонарика имеет тип u8 и находится в начале раздела UPDATE. Spoiler local item = db.actor:item_in_slot(9) if item then local sobj = alife():object(item:id()) local pk = net_packet() sobj:UPDATE_Write(pk) pk:r_seek(0) local v = pk:r_u8() news_manager.send_tip(db.actor, v) end Результат: 0 в любом состоянии. Эксперимент: читаю аналогичное значение от конца раздела UPDATE через сдвиг pk:r_seek(pk:w_tell() -1). Результат: все выключено – 4, фонарик – 5, ПНВ – 6, все вместе – 7. Я не знаю, что именно я прочитал, но это точно переменная размером 1 байт, которая меняется при переключении режима фонарика и остается на указанном значении до следующего переключения. Ну и как сие понимать? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
abramcumner 1 145 Опубликовано 21 Февраля 2020 Поделиться Опубликовано 21 Февраля 2020 8 минут назад, Norman Eisenherz сказал: Ну и как сие понимать? Прекратить заниматься ерундой и использовать таки m_netpk.script :) Вывод: переменная состояния фонарика имеет тип u8 и находится в начале раздела UPDATE. Вывод неверный. Перед блоком переменных фонарика идут блоки переменных классов родителей. 1 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти