Перейти к контенту

Рекомендуемые сообщения

Такой вопрос ещё, который, думаю, интересует многих - возможно ли вернуть воздействие аномалий на сталкеров в ЗП?

Изменено пользователем Shredder
Ссылка на комментарий

Получить количество патронов в пачке:

n = obj:get_go_int16("", 476)

  • Спасибо 1
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

malandrinus, хотелось бы узнать, что делают методы get_car_shift(), get_id(), test_str(), cast_inventory_box() и is_inventory_box1()? По второму - вроде же итак была стандартная функция obj:id()...

Также heal_wounds() на ГГ не действует... Только для НПС менять скорость кровотечения можно?

Изменено пользователем Shadows
Ссылка на комментарий

Shadows,

что делают методы ...

В основном мусор, остатки от экспериментов. Не обращай на них внимания.

 

heal_wounds() на ГГ не действует...

У меня отлично работает

 

Akella-96 aka SvD,

используй любой svn клиент.

Изменено пользователем malandrinus
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

И ещё вопросец : может кто - нибудь выложить тутор по добавлению нового раздела в ПДА? Я пытался сам сделать, но ничего путного не вышло.

AWRP : Re - Load 0.2 ©

Ссылка на комментарий

Товарищи, я извиняюсь, если торможу, но возможно ли создать dll-правку для оружия с автоматической стрельбой на предмет автозахвата целей? Вроде такая правка только для оружия, стреляющего одиночными есть, или я не прав? Класс бинокля не позволяет автоогонь?

Ссылка на комментарий

student91122, на геймру давно уже все разжевано:

Добавил правки на xray-extensions. Для ТЧ 6 патч R2 есть полный набор правок рендера (дальность, плотность, тени), для остальных пока только заготовки.

Как этим пользоваться:

1) скачиваете себе свн (с помощью TortoiseSVN, например). Кидаете в папку 3312_shoc_10006/R2 оригинальную библиотеку под именем xrRender_R2_orig.dll

2) выбираете нужные правки в corrections_list.txt. Ненужные можно закомментить символом ;

3) запускаете батники в таком порядке: patch_diff, make_src_dll, patch.

4) кидаете получившуюся dll в игру и настраиваете под себя

 

P.S. Для совершения пункта 3 должен быть установлен masm32.

 

Добавьте в ревизию файл ml.exe.

Ты делаешь это сам в зависимости от твоей версии MASM32, кидаешь этот файл из папки, где эта программа установлена.

Ссылка на комментарий

Что я делаю неправильно?

Вот текст из консоли.

"..\tools\ml" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Системе не удается найти указанный путь.
Не удается найти D:\CoP\xr_ext\3967_cop_1602\mydll.obj
Не удается найти D:\CoP\xr_ext\3967_cop_1602\mydll.dll
Не удается найти D:\CoP\xr_ext\3967_cop_1602\mydll.exp
Не удается найти D:\CoP\xr_ext\3967_cop_1602\mydll.lib
Для продолжения нажмите любую клавишу . . .

Насколько я понял, нужен ml.exe, но где его взять?

Изменено пользователем S.T.R.E.L.O.K
Ссылка на комментарий

Ассемблер в составе masm32 старый и, к сожалению, не годится, поскольку по неизвестной мне причине компилирует с ошибками. Я об этом ранее сообщал. Использовать надо версию не ниже девятой. Достать можно в составе Microsoft Visual Studio. Качаете бесплатную express версию. Если не знаете, как оттуда извлекать без установки, значит устанавливаете. Там есть этот файл и также необходимые для его работы либы.

 

В составе проекта этого файла не будет, как и любых других файлов коммерческого происхождения, включая непатченные файлы из игры.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
malandrinus, можно ли как-то из другого бинарника получить значение переменной? В частности нужно импортировать значение hud_fov из экзешника... Сам адрес известен.
Ссылка на комментарий

Shadows,

Можно разумеется, но с определённым геморроем. Отдельные образы загружаются по произвольным адресам, которые так сразу неизвестны. Для их получения есть разумеется функции из Win32 API. Но вызывать их ассемблера несколько хлопотно (ну по крайней мере мне хлопотно: надо подключать заголовки от винды и линковать системные библиотеки, что изрядно утяжелит и усложнит проект). Задача относительно легко решается с помощью наработок RvP по расширению Lua, но это уже выходит за рамки данного проекта.

 

Самое простое конечно - это делать врезку непосредственно в тот файл, откуда надо получать значение, но я так понимаю, что хочется остаться в пределах xrgame. Однако, как видно из сказанного, по-любому придётся что-то добавлять и усложнять.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

malandrinus, экзешник же вроде всегда грузится по своему базовому адресу, а он известен.

Насчет winapi - с xrlc я делал так: подгружал нужную системную библиотеку через LoadLibraryA и получал адрес нужной мне функции через GetProcAddress. Эти функции импортированы в xrlc, так что получалось без излишних хлопот. Если нужных функций в таблице импорта нет - можно попробовать поковырять саму эту таблицу :)

Изменено пользователем KD87
Ссылка на комментарий

KD87,

экзешник может грузиться по любому адресу, он имеет такую же таблицу релокаций, как и dll. Будет ли грузиться по одному и тому-же адресу, зависит от версии винды и настроек системы. Начиная с висты появилась такая штука как "Address Space Layout Randomization". Т.е. винда специально грузит абы как, типа из соображений большей безопасности.

 

С API всё конечно решаемо, просто мне крайне лень этим заниматься в ассемблере. К тому же, мне вроде особенно и не надо. И да, ты прав, про функции, уже имеющиеся в таблице импорта я как-то не подумал. В конечном счёте, можно получить любые функции системы динамически, вообще не имея ничего. Но ещё раз, проще всего это всё делается за пределами ассемблера.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
malandrinus, возможно ли в следующих ревизиях увидеть функцию с регистрацией консольных команд со значением 1/0, on/off? Самому мне пока не получилось сделать.
Ссылка на комментарий

Народ, помогите! Как пропатчить длл-ку?

Я помещаю xrGame_orig.dll в папку 3967_cop_1602, запускаю make_src_dll.cmd, он выдает:

 

thumb.png

 

Что делать?

 

AWRP : Re - Load 0.2 ©

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...