S.T.A.L.K.E.R.: Global War <<<>>> Инструмент - теперь и для ТЧ! <<<>>> NS OGSR: Сборка от 30.12.2023
-
Число публикаций
255 -
Регистрация
-
Последнее посещение
-
Дней в топе
2 -
AMKoin
150 [Подарить AMKoin]
Весь контент пользователя Winsor
-
Если репозитарий xp-dev - посмотрите все что касается #define INV_COLORIZE.
-
Скриптовая консоль не попадалась ли кому? Подойдет даже для ЗП, адаптирую самостоятельно. Благодарю!
-
Язык Lua. Общие вопросы программирования
Winsor ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
- для простоты , все что дальше я буду писать - будет касаться bind_stalker.actor_binder.update. по логике автора - код должен заменить вызов этой функции на функцию автора, без изменения непосредственно кода самого actor_binder с сохранением старого функционала. - это и есть непосредственно сама замена (fn=="update" ), внутри которой и вызывается свой код + сохраненная версия. по поводу цикла - ничего не скажу. Возможно автор предполагал через дополнительные параметры при первоначальном инжекте добавлять в таблицу t несколько функций, и таким образом их вызывать. в том же скрипте автопаузы есть -
Язык Lua. Общие вопросы программирования
Winsor ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Перенеся сохранение функции в модуль - избавился от ошибки. данную подмену необходимо делать после загрузки модуля но до инициализации класса , методы которого пытаемся подменить. Движок создает, например, биндер актора один раз, и любые подмены после вызова __init ни к чему не приводят. Но это частности. Интересовала вообще корректность такого подхода, насколько он оправдан. -
Язык Lua. Общие вопросы программирования
Winsor ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Уважаемое сообщество, хотел бы поинтересоваться Вашим мнением по такому вопросу: Все видели, наверное, мод автопаузы, который использует инжектор кода через подмену, например, апдейта актора. Но xray считает по другому, и на такие попытки разместить именно в коде класса функцию он уверенно сообщает, что "RUNTIME ERROR - no static '_update' in class 'actor_binder'". Вот меня и интересует - 1) Отходит ли от стандарта языка такая технология инжектора кода? 2) если язык это поддерживает - в данном случае luabind "не прав" (ибо сообщение о ошибке - выдает именно он)? 3) игнорировать ли мне такое сообщение или переписать код в соответствие со стандартами языка? Благодарю за Ваше мнение! - эээ... да никаких секретов... у меня в тексте сообщение так и написано - "мод автопаузы", впервые мне встретился, наверное в НС в каком то репаке. в ооп еще был. мод, который после загрузки добавляет паузу на нажатие любой клавиши (ТЧ). inj.script - там есть такой код, который не нравиться xray 1.0007 -
Добрый день. Ищу 1) скриптовую консоль для ТЧ (к сожалению, видел только для ЗП "МОД-КОНСОЛЬ") 2) последнюю версию мода автопауза для ТЧ (все что попадалось ранее - очень старое, ссылка, попавшаяся в одной из тем - уже не существует) Благодарю!
-
- имелось в виду что данную строку я hex эдитором могу попробить и в бинарнике... не говоря уже про исходный код. Имелось в виду что данная переменная не есть 100% вариант правильности версии. ну почему же... небольшое пример - в собранной dll (версия x) в экспорте есть функция, которую разработчики вырезали в следующей версии (x+1). Найдя у себя в экспортах эту функцию , я могу с определенной вероятность сказать что я использую версию x. вот о таком признаке я и спрашивал. Не говоря уже что например, те же символьные названия функций. и я не думаю что те люди, которые сейчас пересобирают движок, для того чтобы оставить о себе след в истории, сидят и переименовывают все подряд.
-
Страница недоступна, ну и способа сравнить адекватно нет xr_3da\xrGame\xrGameSpy\xrGameSpy_MainDefs.h\GAME_VERSION я могу написать что угодно кстати - а кто может знает - как действительно проверить, на основании каких исходников (какой версии) собран xr_3da? есть какие то ключевые особенности именно в 6? имена переменных, которые были только в нем, например...
-
Хм. к сожалению - исходников 1.0006 не нашел,утверждать точно не могу. 1.0006 (предыдущий бинарник) эти же ресурсы читает и выводит в энциклопедию без проблем... в моем случае - макроновская адаптация движка 1.0006 (но там xrCore.dll не менялся), до этого был обычный 1.0006 - т.е. явно есть отличия в работе со строками. использование dwCrc в движке есть только в менеджере управления shared memory - судя по всему для контроля за целостностью общих ресурсов. это понятно. я думал - это как то попроще сделано... и в Inventory.cpp ... Хм. так там и отбивается. т.е. один блок в тегах <text></text> более 4к, разбитый на несколько абзацев переводами строки, вычитывается парсером одним куском. Просто так заккоментировать эту проверку нельзя, неизвестно к чему это приведет , слишком много где в игре используется буфер в 4к при работе со строками...
-
ТЧ 1.0006 + НС есть такой конфиг например - arc_string_table.xml - там дневники контролера, они больше 4к... ~7k по длинне. каждый.
-
Уважаемые, очередное отличие непонятное 1.0006 от 1.0007 при чтении строковых ресурсов 1.0007 получает вылет при чтении строки больше 4096 байта [error]Expression : HEADER+s_len_with_zero < 4096 [error]Function : str_container::dock [error]File : xrstring.cpp [error]Line : 24 1) зачем ПЫСы придумали str_container (crc зачем то....) и хранят в нем строковые данные, прочитанные из xml? 2) кто как обходил эту проблему? Притом что 1.0006 эти же строки вычитывал и выводил прекрасно. Речь идет, например, о дневниках контроллера из НС. Благодарю за разъяснения!
-
Хм. наверное я ввел в заблуждение по забывчивости. Вот порядок действий. 1) конвертируем нужные тексуры в tga ВНЕ папки import 2) в rawdata создаем нужную структуру каталогов, копируем сконверченные tga 3) В LevelEditor Images->Synchronize textures 4) в LevelEditor Images->Image Editor видим нашу структуру если не делать 3-й пункт, то в едиторе получаем вылет.
-
Учитывайте что CUIScrollView хорошо работает с увеличением своего размера, и очень плохо с уменьшением ... Мне пришлось удалять и вставлять заново контрол в CUIScrollView при уменьшении размеров.
-
Да, именно. Единственное - реализация конвертирования во вложенных директориях - лежит на плечах пользователя
-
Возможно патчили не ту версию, для которой сделан патч?
-
- понимает. давеча переносил одну текстуру в levelEditor - если в import создать структуру необходимую - то в rawdata переноситься нормально и после синхроницазии в gamedata - структура каталогов сохраняется.
-
Их как раз и много... и разложены по папкам с несколькими уровнями вложенности. нет у кого либо батника для автоматизации процесса? - До ImageEditor их еще дотянуть надо через импорт, вот и интересно - это надо всё конвертить в tga или можно как то "обмануть" импорт СДК?
-
Подскажите пожалуйста, можно ли сразу всю папку textures из мода подключить к sdk? или необходимо все текстуры конвертить в tga и только потом через import подключать?
-
- а если бы был 1.0006 - порядок действий правильный? или я что-то не так делаю на каком либо этапе?
-
Уважаемые знающие. Закралось подозрение что я что-то делаю не так при алгоритме размещения скомпилированного x-ray 1.0007 rc1. Помогите разобраться, что именно не так: игра установлена в D:\Games\stalker_soch\ 1) компилирую исходники, результат в X:\binaries\ 2) копирую dll и exe в чистую папку D:\Games\stalker_soch\bin 3)
-
-
- а почему нет? Какие у Вас проблемы с ним?
-
Уважаемые знающие, подскажите пожалуйста Пытаюсь собрать 1.0007 rc1 в vs2012, не собирается xrRender_R* с такими ошибками:
-
Подскажите пожалуйста, существует ли чистые (без каких либо правок) исходники ТЧ 1.0006, адаптированные под VS2012 (VS2010)?
-
Нормальная музыка - это ogg файл, с форматом заголовка , понятным игре. т.е. не достаточно сконвертировать mp3 в ogg. На тему редактирования музыки для сталкера на форуме есть несколько обширных тем. Денис, все мои эксперименты приводят к тому что НПС "зависают" (поза - руки на ширине плеч стоя ) - при этом дошел с дебагом до xr_logic.activate_by_section - секция и схема "замершему" сталкеру назначаются, но он ничего не делает (utils.send_to_nearest_accessible_vertex может его вводить в такой ступор?). Есть ли у Вас работающий пример прописывания правильно при скриптовом спавне НПС в конкретный смарт? Либо Вы видели где это реализовано? Благодарю за информацию!