Это популярное сообщение. 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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/
Anonim 680 Опубликовано 9 Июня 2015 Поделиться Опубликовано 9 Июня 2015 @Xtreme1993, http://rusfolder.com/40577370 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-943057
dsh 3 824 Опубликовано 11 Июня 2015 Поделиться Опубликовано 11 Июня 2015 Подскажите, пожалуйста, у кого-нибудь получилось изменить высоту прыжка с помощью set_actor_float()? В частности, делаю db.actor:set_actor_float(nil, v, 1444) и никаких изменений не наблюдаю. Изначально, читая из 1444, получаю именно то значение, которое стоит в ltx. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-943491
RayTwitty 562 Опубликовано 11 Июня 2015 Поделиться Опубликовано 11 Июня 2015 @dsh, насколько я помню, прыжок находится в CActorCondition - это другой класс и для него есть отдельный хак. Попробуй db.actor:set_actor_condition_float(nil, value, 276) 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-943506
dsh 3 824 Опубликовано 12 Июня 2015 Поделиться Опубликовано 12 Июня 2015 , не, это больше на jump_power похоже, по результату. Вывели 2000 значений через get_actor_condition_float() и не нашел там ничего похожего на 7.6. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-943557
TIGER_VLAD 361 Опубликовано 12 Июня 2015 Поделиться Опубликовано 12 Июня 2015 у кого-нибудь получилось изменить высоту прыжка Тоже интересует. А как можно отключить функцию прыжка в игре, или изменить высоту к 0 или просто заставить игру не реагировать на клавишу Space? Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-943599
aromatizer 4 572 Опубликовано 12 Июня 2015 Поделиться Опубликовано 12 Июня 2015 Обращаюсь к специалистам с предложением исследовать и, по возможности, исправить проблему с отдачей в игре. На данный момент в конфигах оружия реализован только увод ствола вверх с дисперсией. Нет возможности сделать отдачу, скажем, вверх-вправо или вниз-влево. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-943601
Дормидонт 144 Опубликовано 13 Июня 2015 Поделиться Опубликовано 13 Июня 2015 с отдачей в игре В ТЧ - это, ИМХО, самая большая проблема. Палки-стрелялки в модах без отдачи бесят. Но есть эффекты стрельбы от Rulix aka Bak на все версии трилогии, тонко настраиваемые под любые хотелки. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-943781
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 Куда и как нужно добавить выше перечисленные методы? Если, кто знает, отзовитесь, пожалуйста. Заранее признателен. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-953177
UnLoaded 313 Опубликовано 24 Июля 2015 Поделиться Опубликовано 24 Июля 2015 Нужда: Поймать момент окончания проигрывания анимации После отыгрыша анимации перезарядки наступит состояние "idle", соответственно в состоянии "reload" взводишь флаг и проверяешь наступление "idle" при взведенном флаге - это и будет окончание перезарядки. У меня такой финт работает, хотя может это не то, что тебе нуно... Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-953187
Shkiper2012 35 Опубликовано 24 Июля 2015 Поделиться Опубликовано 24 Июля 2015 (изменено) @UnLoaded, если проигрываешь анимацию по методу play_hud_animation(), то флаги оружия, кол-во патронов и их тип - не меняются. Проигрывается только анимация, всё остальное остается на своих местах. Изменено 24 Июля 2015 пользователем Shkiper2012 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-953194
UnLoaded 313 Опубликовано 24 Июля 2015 Поделиться Опубликовано 24 Июля 2015 set_use_hud_animation_callback -- включает использование колбека на завершение анимации. Ну тогда это, видимо. Смотри описание и как подключать этот коллбэк к анимации... Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-953209
RayTwitty 562 Опубликовано 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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-953293
Alien_181 3 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 А в чем смысл правки jmp CUICustomItem__Render_fix - фикс для исправления соотношения сторон? У меня на широком мониторе также все растянуто как и без правки, или нужно делать скриптовую поддержку? Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-954698
RayTwitty 562 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 @Alien_181, насколько я понял, для работы правки надо вызвать где-нибудь в _G: set_static_rescale_factor(device().height / device().width / 0.75) 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-954723
macron 1 905 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 насколько я понял, для работы правки надо вызвать где-нибудь в _G: Очередная правка для телепатов. И почему такие "мелочи" выясняются только через год после появления правки... 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-954732
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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-954734
RayTwitty 562 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 (изменено) Очередная правка для телепатов. И почему такие "мелочи" выясняются только через год после появления правки...Отчасти так и есть - многие правки не документировались сразу, а по прошествии времени предназначение "забывалось" и восстановить ее становилось очень сложно (по сути, приходилось заново "прорабатывать" правку). Но тут тоже, у всех свои причины - нехватка времени, лень и т.п. Я старался всегда описывать свои правки либо в описании коммита, либо в файле, либо в ФАКе. @Nazgool, я у себя в исходниках планирую ввести параметр "auto" для height\width (как в CSS-стилях) - чтобы для нужных элементов окна пропорционально рассчитывать значение. Например, для заведомо квадратных и круглых поверхностей будет самое то. Уже протестировал на курсоре - работает отлично. З.Ы. Справа налево - "6 патч", "7 патч", "автоматический расчет пропорций". Изменено 1 Августа 2015 пользователем Shadows Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-954747
Nazgool 250 Опубликовано 1 Августа 2015 Поделиться Опубликовано 1 Августа 2015 (изменено) , Это хорошо. Вот работаю я с uip, wx, и если рисую 300х300, то получаю квадрат. И не понимаю, с какой такой такой радости в сталкере это прямоугольник Нет, ну понимаю конечно. Это так...к слову сказал. Я сделал подобное скриптово. Но это очень сложно. Лучше всего конечно, если есть возможность, сделать это в движке. Изменено 1 Августа 2015 пользователем Nazgool Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-954748
Alien_181 3 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 насколько я понял, для работы правки надо вызвать где-нибудь в _G: set_static_rescale_factor(device().height / device().width / 0.75) Спасибо, все получилось. Также прописал в статиках heading="1", теперь ничего не растягивает. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-954964
macron 1 905 Опубликовано 2 Августа 2015 Поделиться Опубликовано 2 Августа 2015 все получилось. Также прописал в статиках heading="1", теперь ничего не растягивает. Можете залить пример такого xml и _g.script ? 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/45/#findComment-954965
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти