Это популярное сообщение. Malandrinus 615 Опубликовано 22 Ноября 2010 Это популярное сообщение. Поделиться Опубликовано 22 Ноября 2010 (изменено) Проект X-Ray extensions Представляет собой набор добавлений, расширяющих возможности движка для скриптёров, а также, в ряде случаев, меняющих поведение игры. Изменения реализованы в виде бинарных патчей библиотек и исполняемых файлов. Адрес проекта на Google CodeДокументация одним файлом в chm формате (зеркало) по состоянию на 15 августа 2013 г. (собрана, отформатирована и скомпилирована @Kontro-zzz).Версии игры, поддерживаемые на данный момент:ТЧ (патч 1.0006): xrGame.dll, XR_3DA.exe, xrRender_R1/2ЧН (патч 10): xrGame.dll, xrRender_R1/2/3ЗП (патч 1.6.02): xrGame.dll, xrRender_R1/2/3/4 svn хранилище не содержит оригинальных файлов игры. Не забывайте делать резервные копии перед заменой файлов игры! Ссылка на адрес нового репозитария: https://github.com/KD87/xray-extensions Изменено 23 Июня 2016 пользователем Malandrinus 12 12 1 8 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
UriZzz 1 004 Опубликовано 4 Октября 2018 Поделиться Опубликовано 4 Октября 2018 @Earth2Space, конечно... Нет я про него забыл, надо будет докинуть дллки, у меня они уже есть пропатченые. Блин! Спасибо за наводку, меня пророй полезно тыкнуть носом. Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
НаноБот 742 Опубликовано 7 Октября 2018 Поделиться Опубликовано 7 Октября 2018 (изменено) В общем, новая ревизия под номером 232.14 https://yadi.sk/d/JPPFqqqWvTiGxg Почему 232? Оказывается изначально была 232 ревизия взята, тут я немного по путался, т.к. рабочая ревизия 230, а версированая версия именно 232, от макрона. Скрытый текст rev232.14 Для ТЧ ;---------------------- Рефакторинг shoc_10006_exe Добавил возможность задавать частоту монитора консольной командой vid_refresh_rate_hz ;---------------------- Для shoc_10006_xrgame, shoc_10006_xrcore, shoc_10006_exe адаптировал под компилятор(UASM.exe), линковщик(polink.exe), а так же утилиты bspatch и patcher заменил на add_code. Теперь есть возможность изменять адреса релокаций, так же добавляется секция данных. Теперь с помощью макроса static_str$ можно добавлять строки. Макрос ALIGN удалён, в место его, для выравнивания процедур, использовать только align_proc Сделал некоторые правки для нормальной работы ассемблера UASM Проведён масштабный рефакторинг. actor_input_fix_pda.asm console_commands_reg_macro.asm cuiwindow_reg_macro.asm game_object_castings.asm mydll.asm game_object_fix.asm level_ns_reg_macros.asm level_ns_fix.asm alife_simulator_fix.asm global_ns_fix.asm global_ns_fix2.asm Добавлены структуры. Доработал турель, фонарик актора светит куда смотрит актор, когда он в турели. Добавил некоторые макросы нужные для работы UASM Добавлено: Можно ли выронить оружие при смерти сталкера. Фикс для колбека "хит по вертолёту" оптимизация тупокода(в баллистике) Толщина трассера индивидуальна для каждого патрона. блокировать использования оружие НПСом Колбек на хит, вызывается для всех объектов, требует включения скриптом. obj:set_flag_callback_key(64)--1000000b Добавлены скриптовые методы: Для определения разных мутантов. is_crow() is_bloodsucker() is_boar() is_flesh() is_pseudodog() is_burer() is_chimera() is_pseudogigant() is_poltergeist() is_zombie() is_fracture() is_snork() is_controller() is_cat() is_tushkano() is_dog() Переопределить параметры оружия в технике. reload_car_weapon(sect_carwpn, name_bone_fire) sect_carwpn - секция оружия в технике name_bone_fire - имя кости в модели получить вектор прицеливания активного оружия, надо для разного скриптового оружия. get_LastFP() -- позиция огня get_LastFP2() -- позиция огня 2 get_LastFD() -- направления огня get_LastSP() -- позиция гильз заблокировать оружие НПС set_weapon_npc_blocked(bool) get_weapon_npc_blocked() Переработан метод set_visual_name, теперь для некоторых классов работает более корректно. Вычислить упреждающую точку. calc_future_position(velocity_target, res_pos_target) velocity_target -- вектор скорости цели res_pos_target -- вектор позиции цели ; задать инициатор броска для физической оболочки, т.е. кто кинул камень? set_initiator_id(id) get_initiator_id() В пространство имён level добавлено: ;улучшеная функция трассировки пересечения луча и геометрии. level.set_raypick_id_pos(id_ignor, pos) -- вернёт 0 level.test_raypick_flg_dir_dist(flags, dir, dist) -- вернёт номер елемента flags - флаги поиска pos - стартовая точка dir - направление трассировки dist - дистанция трассировки id_ignor - ID игнорируемого объекта ;нормаль треугольника геометрии level.get_static_normal_triangle(element) Переделана работа колбека на поедание предмета, номер колбека 35. Добавлено булева которая отключает удаления объекта при поедании: not_delete Исправил ошибку в actor_input_fix.asm (с) НаноБот 7.10.2018 ---------------------------------------------------------------- Изменений много, прежде всего использован ассемблер UASM, линкер polink, и сборщик AddCode.exe, это чисто мой продукт, с новыми возможностями. Хорошо переработан game_object_fix.asm поэтому некоторые методы могут не работать, а некоторые наоборот заработали. Метод set_visual_name работает с мутантами без проблем, главное что в моделях были одинаковые кости и анимации, с сталкерами работает неплохо, есть но проблемы, анимация начинается заново, при попадании взрывной пули был вылет, так что надо дорабатывать, с вертолётом не работает. Сборщик AddCode.exe позволяет менять адреса релокаций, так же добавляет секцию данных, пока одну, потом надо сделать что бы мог добавлять несколько, не инициализированные данных и константные. Вроде всё. Изменено 7 Октября 2018 пользователем НаноБот 2 1 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
UriZzz 1 004 Опубликовано 7 Октября 2018 Поделиться Опубликовано 7 Октября 2018 @НаноБот, привет, как бы вытянуть слоты шлема, детектора? Мне слот шлема очень нужен, может подскажешь как оформить батник? Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
НаноБот 742 Опубликовано 7 Октября 2018 Поделиться Опубликовано 7 Октября 2018 @UriZzz, Новые слоты в new_engine_slots.asm, но я ещё этот код не трогал, не знаю рабочий ли он. А нормально детектор реализовать, это надо вытягивать из ЧН и ЗП, потом может быть. ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
UriZzz 1 004 Опубликовано 7 Октября 2018 Поделиться Опубликовано 7 Октября 2018 @НаноБот, да дело не в детекторах (я в отличии от большинства начинающих, слюни по зп фичам не раняю), дело в слотах. Код вроде рабочий, по крайней мере я активировал слоты бинокля, фанарика, ножа, проблем не каких ещё не всплыло. Вот пытаюсь добраться до остальных. Активируются они с ключом -DOGSE (так по моему) но кажется я понял как их от туда вытянуть. Всё дело в ifdef OGSE_BUILD, я идиот пытался их передвигать удалять совсем не понимая что это ограда, она состоит из собственно ifdef OGSE_BUILD и endif, вместе они, как я понимаю, изалируют правку ативирующую нужные слоты. Их надо всех стереть но есть один нюанс, в коде встречаются вот такие участки: Цитата jz short no_item4 else jz short no_item7 Если мой мозг правильно работает то одна из этих строчек должна быть стёрта вместе с else, во время патчинга строчка выбирается патчером в зависимости от того с ключом патчится дллка или без. То есть нужно удалить ненужные строчки так что бы no_item шли по порядку и не было повторений, иначе при пропатчивании естественно выскочит ошибка. Но это всё пока в теории, так сказать шшавэлэния мозгамэ, проверить сие я смогу теперь уж только на следующих выходных. Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Marafon6540 765 Опубликовано 13 Октября 2018 Поделиться Опубликовано 13 Октября 2018 Парни, знает ли кто метод для определения смещения строковых переменных в конфиге предмета? Пробовал искать перебором с помощью вот такой функции: for bait = 1, 10000 do log1(bait) set_int_arg0(bait) local value = wpn:get_wpn_shared_str() if value then if value ~= nil then log1("Значение = "..value.." Смещение = "..bait) end else log1("нет значения") end end get_console():execute("flush") Но функция не отрабатывается и цикл прерывается. А вручную проверять каждый байт - это лет на пять работы. Может быть я функцию не верно составил? Или может кто уже знает точные значения? По большому счету меня интересуют значения visual, inv_name, hit_type и hit_type_2 в конфиге ножа. Трилогия Апокалипсис. Упавшая звезда. Честь наемника. v. 1.2 УЗЧН v.1.3 + ОГСРх64 Последний сталкер v. 1.2 ПС v. 1.3 + ОГСРх64 Ссылка на комментарий
UriZzz 1 004 Опубликовано 13 Октября 2018 Поделиться Опубликовано 13 Октября 2018 @НаноБот, тестировал твою 14ю сборку, правка на полноэкранные загрузочные заставки приводит к вечному чёрному экрану вместо загрузки игры, печально. Активировать ogse слоты получилось, вроде бы, буду тэстить дальше. Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
dsh 3 824 Опубликовано 13 Октября 2018 Поделиться Опубликовано 13 Октября 2018 @Marafon6540, если судить по названию, get_wpn_shared_str() должен возвращать что-то из класса оружия, вероятно из CWeapon. Я сомневаюсь, что visual и inv_name имеются в классе оружия. Второе, скорее всего, принадлежит инвентарному предмету, т.е. его в другом классе искать нужно. По поводу hit_type я сомневаюсь, что он хранится в классе в виде строки. Скорее всего, сейчас не могу посмотреть, он преобразуется в число, при чтении из конфига. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Marafon6540 765 Опубликовано 13 Октября 2018 Поделиться Опубликовано 13 Октября 2018 @dsh, на счет того к какому классу что относится я как-то не задумывался (темнейший лес это для меня). Почти сотню раз загрузившись и меняя вручную параметр bite в вышеприведенной функции в диапазоне 900-1000 я смог увидеть смещение для строк flame_particles и smoke_particles для wpn_ak74 - weapons\generic_weapon05 weapons\generic_shoot_00 Вот и подумалось, что и для остальных можно также определить и другие строки для нужного мне ножа. Буду благодарен за любую информацию по данному вопросу. Трилогия Апокалипсис. Упавшая звезда. Честь наемника. v. 1.2 УЗЧН v.1.3 + ОГСРх64 Последний сталкер v. 1.2 ПС v. 1.3 + ОГСРх64 Ссылка на комментарий
Это популярное сообщение. НаноБот 742 Опубликовано 31 Октября 2018 Это популярное сообщение. Поделиться Опубликовано 31 Октября 2018 Ревизия №15https://yadi.sk/d/14VQJTmNkdJOcg Скрытый текст rev232.15 Проекты: cop_1602_r1, cop_1602_r2, cop_1602_r3, cop_1602_r4, cop_1602_xrgame, cs_1510_r1, cs_1510_r2, cs_1510_r3, cs_1510_xrgame, shoc_10006_r1, shoc_10006_r2 адаптированы под компилятор(UASM.exe), линковщик(polink.exe) и add_code. В папке tools удалил ассемблер MASM, заменил add_code на новую версию(1.37), и изменил название на AddCode.exe. В новой утилиты есть возможность добавлять, кроме кодой секции, ещё две, секция const и data. В cs_1510_xrgame заменил xrGame_orig.dll на оригинальный файл, т.к. старый файл был нерабочий. В shoc_10006_r2 немного от рефакторил, и добавил вывод стартового адреса в лог. Так же для shoc_10006_r2 добавил структуры. Для ТЧ Новая баллистика, включается параметром type_ballistic в секции bullet_manager 0 - старая баллистика, 1 - баллистика из мультиплейера, 3 - вариант алгоритма №1 Функцию CBulletManager@@Load_ext переместил в level_explosive.asm. Доработал метод calc_future_position с учётом этих 3-х типов баллистик. Метод проверен, работает со всеми типами баллистики. Рефакторинг: cuiwindow_reg_macro.asm, cuipdawnd_fix.asm, cuistatic_fix.asm matrix_fix.asm, game_object_destructor_fix.asm, game_graph_distance_fix.asm, misc.asm, inventory_box_fix.asm. В пространсве имён matrix добавил два метода: transform_tiny(vec.x, vec.y, vec.z) transform_dir(vec.x, vec.y, vec.z) Результат получаем методом res:get_result() Добавлено пространство имён vector: get_result() -- получить вектор из глобальной переменой. Для класса game_object исправил несколько методов: get_hud_bone_pos(name_bone) -- возвращает позицию кости в худовой модели, координаты глобальные. specific_character() -- исправил ошибку, надо тестировать. get_hud_animation_length(name_anim) -- получить длину анимации. Удалил ненужные и переместил макросы и структуры из types.asm. Добавил колбек №35(хит для всех объектов) для вертолёта. Добавил проект shoc_10004_xrgame xrGame.dll для 1.0004 патча. Добавил вывод стартового адреса. (с) НаноБот 31.10.2018 ---------------------------------------------------------------- Как видно добавил проект xrGame.dll для 1.0004 патча, правда там кроме вывода стартового адреса в лог ничего и нет, но потом, можно что нибудь добавлять. Есть мысль инвентарь из "Судьбы Зоны" сделать правками движка, так можно повысить ФПС. Ещё исправил файл xrGame.dll в ЧН, там он оказался битым. В прочим надо проверить оригинальность файлов, могли попасть какие то левые, правленые неизвестно кем файлы. ЗЫ Ещё забыл/не успел добавить параметр k_speed, индивидуальная скорость пули. 3 3 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
UriZzz 1 004 Опубликовано 8 Ноября 2018 Поделиться Опубликовано 8 Ноября 2018 @НаноБот, привет, на твоей 15ой ревизии при попытке пропатчить xr_3da и xrcore высвечивается вот это: https://yadi.sk/i/J2NJ6jVWitk1ww , рендеры и xrgame нормально пропатчились. 1 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
НаноБот 742 Опубликовано 13 Ноября 2018 Поделиться Опубликовано 13 Ноября 2018 А, я это, переименовал утилиту, add_code на AddCode и забыл подправить некоторые батники. Можно самому открыть блокнотом батник и заменить строчку add_code.exe на AddCode.exe. Мелкий баг, в следующей ревизии исправим. 1 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Graff46 598 Опубликовано 18 Ноября 2018 Поделиться Опубликовано 18 Ноября 2018 (изменено) @НаноБот, Если я знаю название и нахождение ф-ции (Класс и метод) в исходниках, Вы можете в этом проекте экспортировать эту ф-цию? Изменено 18 Ноября 2018 пользователем Graff46 Ссылка на комментарий
UriZzz 1 004 Опубликовано 18 Ноября 2018 Поделиться Опубликовано 18 Ноября 2018 (изменено) @НаноБот, поправил - всё работает вот только правка exeшника на растяжку загрузочных заставок на весь экран не работает, при новой игре в место загрузки бесконечный чёрный экран, проклятье!!! мне очень нужна эта правка Придется пока вернуться на 13ую сборку Изменено 18 Ноября 2018 пользователем UriZzz 1 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
gam 117 Опубликовано 17 Декабря 2018 Поделиться Опубликовано 17 Декабря 2018 @НаноБот, Подскажите плиз, загрузил последнюю ревизию 15ую. Нет ли ошибки записи в строке 39 для shoc_10006_xrgame\corrections_list.txt 101562D5h 8 ; убираем лишние действия при выключении уже выключенной инфопорции Или можно смело пользоваться? Сам пока не делал попытки поюзать. Ссылка на комментарий
YTroll 0 Опубликовано 20 Декабря 2018 Поделиться Опубликовано 20 Декабря 2018 Коллеги, подскажите пожалуйста есть ли способ для ТЧ увеличить хранилище актора - pstor, стандартных 8кб хранилища - явно мало для модов Ссылка на комментарий
Marafon6540 765 Опубликовано 20 Декабря 2018 Поделиться Опубликовано 20 Декабря 2018 (изменено) @YTroll, Универсальное хранилище Изменено 20 Декабря 2018 пользователем Marafon6540 Трилогия Апокалипсис. Упавшая звезда. Честь наемника. v. 1.2 УЗЧН v.1.3 + ОГСРх64 Последний сталкер v. 1.2 ПС v. 1.3 + ОГСРх64 Ссылка на комментарий
YTroll 0 Опубликовано 21 Декабря 2018 Поделиться Опубликовано 21 Декабря 2018 (изменено) Marafon6540 , благодарю, это полезная вещь, хотя в данном случае я искал в первую очередь движковое изменение, знаю что таковое было реализовано в Prosectors Project, я надеялся что-то подобное есть и в Xray-extensions Изменено 21 Декабря 2018 пользователем YTroll Ссылка на комментарий
НаноБот 742 Опубликовано 28 Декабря 2018 Поделиться Опубликовано 28 Декабря 2018 @gam, парсер утилиты AddCode понимает три формата 16-ных чисел, ассемблер, С, паскаль, соответственно: 0FFFFh, 0xFFFF, $FFFF. Так что это не ошибка. Ещё хотел сделать правку XR_3DA.exe патча 1.0004, но жёсткий облом, утилита AddCode отказалась работать с этим файлом из-за не стандартных секций, точно так же не работает и утилита маландринуса, так что для 1.0004 правок файла XR_3DA.exe НЕ БУДЕТ. 1 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Graff46 598 Опубликовано 7 Января 2019 Поделиться Опубликовано 7 Января 2019 Можно ли в рамках данного проекта реализовать смену имени ГГ? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти