Это популярное сообщение. 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 Ссылка на комментарий
Anonim 680 Опубликовано 9 Июня 2015 Поделиться Опубликовано 9 Июня 2015 @Xtreme1993, http://rusfolder.com/40577370 Ссылка на комментарий
dsh 3 824 Опубликовано 11 Июня 2015 Поделиться Опубликовано 11 Июня 2015 Подскажите, пожалуйста, у кого-нибудь получилось изменить высоту прыжка с помощью set_actor_float()? В частности, делаю db.actor:set_actor_float(nil, v, 1444) и никаких изменений не наблюдаю. Изначально, читая из 1444, получаю именно то значение, которое стоит в ltx. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
RayTwitty 492 Опубликовано 11 Июня 2015 Поделиться Опубликовано 11 Июня 2015 @dsh, насколько я помню, прыжок находится в CActorCondition - это другой класс и для него есть отдельный хак. Попробуй db.actor:set_actor_condition_float(nil, value, 276) 1 Ссылка на комментарий
dsh 3 824 Опубликовано 12 Июня 2015 Поделиться Опубликовано 12 Июня 2015 , не, это больше на jump_power похоже, по результату. Вывели 2000 значений через get_actor_condition_float() и не нашел там ничего похожего на 7.6. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
TIGER_VLAD 361 Опубликовано 12 Июня 2015 Поделиться Опубликовано 12 Июня 2015 у кого-нибудь получилось изменить высоту прыжка Тоже интересует. А как можно отключить функцию прыжка в игре, или изменить высоту к 0 или просто заставить игру не реагировать на клавишу Space? Ссылка на комментарий
aromatizer 4 429 Опубликовано 12 Июня 2015 Поделиться Опубликовано 12 Июня 2015 Обращаюсь к специалистам с предложением исследовать и, по возможности, исправить проблему с отдачей в игре. На данный момент в конфигах оружия реализован только увод ствола вверх с дисперсией. Нет возможности сделать отдачу, скажем, вверх-вправо или вниз-влево. Отношения между людьми- главная ценность в человеческом обществе.Любая полученная информация- это только повод для размышлений, а не побуждение к действию.Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAEНакопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt Ссылка на комментарий
Дормидонт 144 Опубликовано 13 Июня 2015 Поделиться Опубликовано 13 Июня 2015 с отдачей в игре В ТЧ - это, ИМХО, самая большая проблема. Палки-стрелялки в модах без отдачи бесят. Но есть эффекты стрельбы от Rulix aka Bak на все версии трилогии, тонко настраиваемые под любые хотелки. 1 Ссылка на комментарий
Shkiper2012 35 Опубликовано 24 Июля 2015 Поделиться Опубликовано 24 Июля 2015 Исх.данные: ТЧ 1.0006, XE_r.226 Нужда: Поймать момент окончания проигрывания анимации по методу play_hud_animation() Искал инфу: по форуму и вообще по инету - ничего вразумительного не нашел. (может плохо искал.) Как грамотно пользоваться вот этим: set_hud_animation_channel -- устанавливает номер канала блендинга анимации, который будет передан в колбек на завершение анимации. set_hud_animation_callback_param -- устанавливает произвольный параметр, который будет передан в колбек на завершение анимации. set_use_hud_animation_callback -- включает использование колбека на завершение анимации. get_hud_animation_remaining_time() -- возвращает время, оставшееся до окончания текущей анимации. У меня всегда = 0, почему-то... =) Вот, например у меня идет запуск анимации "Перезарядки"... local active_slot = db.actor:active_slot()if active_slot == 2and db.actor:item_in_slot(2) ~= niland (string.sub(db.actor:item_in_slot(2):section(),1,4) == "wpn_" or string.sub(db.actor:item_in_slot(2):section(),1,2) == "w_")thenlog1("--play reload begin")local slot_2 = db.actor:item_in_slot(2)slot_2:play_hud_animation("reload", true)local has_hud_reload = slot_2:has_hud_animation("reload")if has_hud_reload == true thenlog1("**has_hud_reload = true")elselog1("**has_hud_reload = false")endlocal time_reload = slot_2:get_hud_animation_remaining_time()log1("**time_reload = "..time_reload) -- В логе: почему-то у меня всегда = 0... Что не так?local time_reload_length = slot_2:get_hud_animation_length("reload")log1("**time_reload_length = "..time_reload_length)-- В логе это: **time_reload_length = 2541 -- Это надо думать в мили-секундах....log1("--play reload end")end Куда и как нужно добавить выше перечисленные методы? Если, кто знает, отзовитесь, пожалуйста. Заранее признателен. Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Ссылка на комментарий
UnLoaded 313 Опубликовано 24 Июля 2015 Поделиться Опубликовано 24 Июля 2015 Нужда: Поймать момент окончания проигрывания анимации После отыгрыша анимации перезарядки наступит состояние "idle", соответственно в состоянии "reload" взводишь флаг и проверяешь наступление "idle" при взведенном флаге - это и будет окончание перезарядки. У меня такой финт работает, хотя может это не то, что тебе нуно... Ссылка на комментарий
Shkiper2012 35 Опубликовано 24 Июля 2015 Поделиться Опубликовано 24 Июля 2015 (изменено) @UnLoaded, если проигрываешь анимацию по методу play_hud_animation(), то флаги оружия, кол-во патронов и их тип - не меняются. Проигрывается только анимация, всё остальное остается на своих местах. Изменено 24 Июля 2015 пользователем Shkiper2012 Адаптация мода "AtmosFear" для мода "Боевая Подготовка" v.2.0.2. Адаптация мода "Магазинное питание" для мода "Боевая Подготовка" v.2.0.2. Ссылка на комментарий
UnLoaded 313 Опубликовано 24 Июля 2015 Поделиться Опубликовано 24 Июля 2015 set_use_hud_animation_callback -- включает использование колбека на завершение анимации. Ну тогда это, видимо. Смотри описание и как подключать этот коллбэк к анимации... Ссылка на комментарий
RayTwitty 492 Опубликовано 24 Июля 2015 Поделиться Опубликовано 24 Июля 2015 (изменено) если проигрываешь анимацию по методу play_hud_animation(), то флаги оружия, кол-во патронов и их тип - не меняются. Верно, потому что при проигрывании анимации через скрипт, собсно анимация только и проигрывается) Этакий хак. set_hud_animation_channel -- устанавливает номер канала блендинга анимации, который будет передан в колбек на завершение анимации. set_hud_animation_callback_param -- устанавливает произвольный параметр, который будет передан в колбек на завершение анимации. set_use_hud_animation_callback -- включает использование колбека на завершение анимации. Подробностей не знаю, спрашивай у malandrinus - это его правки, а вот что касается: get_hud_animation_remaining_time - оставшееся время до окончания НЕ зацикленной анимации, меняется в реальном времени. Т.е. в начале, например твоей перезарядки метод вернет 2541, а в конце 0 (анимация закончена). Для зацикленных анимаций, НЕимеющих флаг Stop At End (idle, sprint и т.п.), всегда возвращает 0, т.к. они не имеют конца. get_hud_animation_length - собственно длительность анимации в миллисекундах. Тут мне нечего добавить. пример с использованием этих методов: local length = 0 ... local aitem = db.actor:actve_item() if aitem then aitem:play_hud_animation("reload", true) length = aitem:get_hud_animation_length("reload") end ... function update() if (length / 2) >= aitem:get_hud_animation_remaining_time() then ... Условие будет проходить, когда проиграно больше половины анимации. Нужда: Поймать момент окончания проигрывания анимации по методу play_hud_animation() Если тебе надо отловить момент окончания перезарядки, запущенной скриптом, можно к текущему времени прибавить длительность анимации и получить время окончания. local end_time = 0 ... local aitem = db.actor:actve_item() if aitem then aitem:play_hud_animation("reload", true) end_time = time_global() + aitem:get_hud_animation_length("reload") end ... function update() if time_global() == end_time then ... Изменено 24 Июля 2015 пользователем Shadows 1 Ссылка на комментарий
Alien_181 3 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 А в чем смысл правки jmp CUICustomItem__Render_fix - фикс для исправления соотношения сторон? У меня на широком мониторе также все растянуто как и без правки, или нужно делать скриптовую поддержку? Ссылка на комментарий
RayTwitty 492 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 @Alien_181, насколько я понял, для работы правки надо вызвать где-нибудь в _G: set_static_rescale_factor(device().height / device().width / 0.75) 1 Ссылка на комментарий
macron 1 831 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 насколько я понял, для работы правки надо вызвать где-нибудь в _G: Очередная правка для телепатов. И почему такие "мелочи" выясняются только через год после появления правки... 1 Ссылка на комментарий
Nazgool 250 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 (изменено) Я не знаю как сейчас действует эта правка, возможно что-то уже изменили, но расскажу предысторию её появления и собственно как я с ней работал. Началось с того, что когда я делал в OGSE сейф, то работа остановилась из-за поворачивающегося диска с цифрами. Дело в том, что для поворота статика, в xml-описателе необходимо было применять свойство "heading=1". Но после его применения статик движково (не могу знать зачем это вообще было сделано) поджимается по ширине (справа и слева) на величину 16/10. Это значит следующее : при соотношении сторон 4/3 правильный круг становиться вытянутым по верткали овалом ; при соотношении сторон 16/9 вытянутым по горизонтали овалом ; и только при разрешении 16/10 сжатие статика посредством 'heading' (тоже 16/10) компенсировалось растяжением по ширине монитора, и круг оставался кругом. Поэтому Malandrinus ввел правку указанную Shadows. Но... Чтобы она работала для всех статиков, в xml-описателях необходимо для каждого статика, независимо от того нужно это или нет, прописывать "heading=1". Если UI рисуется скриптово (а также - при использовании xml - всех не статиков, которым нужно исправление соотношения), то для координат 'x' и 'width' нужно явно указывать эту поправку local WIDTH_FACTOR = get_static_rescale_factor() ... weel_button.width = 32 * WIDTH_FACTOR Изменено 1 Августа 2015 пользователем Nazgool 3 1 Ссылка на комментарий
RayTwitty 492 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 (изменено) Очередная правка для телепатов. И почему такие "мелочи" выясняются только через год после появления правки...Отчасти так и есть - многие правки не документировались сразу, а по прошествии времени предназначение "забывалось" и восстановить ее становилось очень сложно (по сути, приходилось заново "прорабатывать" правку). Но тут тоже, у всех свои причины - нехватка времени, лень и т.п. Я старался всегда описывать свои правки либо в описании коммита, либо в файле, либо в ФАКе. @Nazgool, я у себя в исходниках планирую ввести параметр "auto" для height\width (как в CSS-стилях) - чтобы для нужных элементов окна пропорционально рассчитывать значение. Например, для заведомо квадратных и круглых поверхностей будет самое то. Уже протестировал на курсоре - работает отлично. З.Ы. Справа налево - "6 патч", "7 патч", "автоматический расчет пропорций". Изменено 1 Августа 2015 пользователем Shadows Ссылка на комментарий
Nazgool 250 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 (изменено) , Это хорошо. Вот работаю я с uip, wx, и если рисую 300х300, то получаю квадрат. И не понимаю, с какой такой такой радости в сталкере это прямоугольник Нет, ну понимаю конечно. Это так...к слову сказал. Я сделал подобное скриптово. Но это очень сложно. Лучше всего конечно, если есть возможность, сделать это в движке. Изменено 1 Августа 2015 пользователем Nazgool Ссылка на комментарий
Alien_181 3 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 насколько я понял, для работы правки надо вызвать где-нибудь в _G: set_static_rescale_factor(device().height / device().width / 0.75) Спасибо, все получилось. Также прописал в статиках heading="1", теперь ничего не растягивает. Ссылка на комментарий
macron 1 831 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 все получилось. Также прописал в статиках heading="1", теперь ничего не растягивает. Можете залить пример такого xml и _g.script ? 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти