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

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

Проект

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

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

  • http://www.amk-team.ru/forum/uploads//ratings/bf.gif × 7
  • http://www.amk-team.ru/forum/uploads//ratings/thumb_up.png × 9
  • http://www.amk-team.ru/forum/uploads//ratings/tick.png × 1
  • http://www.amk-team.ru/forum/uploads//ratings/wrench_orange.png × 7
  • http://www.amk-team.ru/forum/uploads//ratings/spellcheck.png × 1

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
STRIFER   
STRIFER,

Может кто то поумнее меня даже написал бы почему так, но я тебе просто скажу, что нельзя из - за движка... Многие бы пользовались этой фишкой, уж очень было бы реалистично.

Ясный бублик что во всем виноват пресловутый движок. Только вот данная разработка как раз таки и расширяет функции движка, по тому я и спрашивал именно в этой теме

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Rolan   

А вот эти команды с ЗП работают?

self.object:set_callback(123, self.on_key, self)            -- нажатие клавиши. Принимает числовое значение
self.object:set_callback(124, self.on_key_free, self)        -- отпускание клавиши. Принимает числовое значение
self.object:set_callback(125, self.on_key_hold, self)        -- удержание клавиши. Принимает числовое значение
self.object:set_callback(126, self.on_wheel_rotation, self)    -- вращение колесика мыши. Принимает числовое значение, на которое было прокрученно колесико мыши
self.object:set_callback(127, self.on_mouse_move, self)        -- движение мыши. Принимает какие то число.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
7.9   

А у меня эти "колбеки" и на 1.006 не заработали.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Стандартно они не работают. Чтобы работали все колбеки нужно прописать в net_spawn(в принципе не важно куда, у меня прописано там):

set_extensions_flags(31)

А в net_destroy(прописывать обязательно, иначе будет потом вылет):

set_extensions_flags(0)

Если я где ошибся, прошу поправить. У меня так сделано и все колбеки работают.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Real Wolf,

Если я где ошибся, прошу поправить. У меня так сделано и все колбеки работают.

Так и задумано, всё правильно сделал. Активный колбек на нажатие клавиш вызывает вылет между загрузками. Разбираться в причинах было лень, потому просто сделал затычку. Ну и в общем полезно иметь функцию отключения. Не все колбеки одинаково полезны =)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кто-нибудь разбирал функцию bind_to_dik? Что в итоге она делает? Я только понял, что вроде туда надо передавать action_id.

-----------------------

malandrinus, а, спасибо, ясно.

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

SkyLoader,

Кто-нибудь разбирал функцию bind_to_dik? Что в итоге она делает?

Обратная dik_to_bind, переводит код клавиши в код назначенной ей команды.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Установил все правки движка, когда загружаю сохранения вылет:

stack trace:

001B:06F680ED xrGame.dll, CxImage::`copy constructor closure'()

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
БолотныйДоктор, Это из-за *.dll, как я понял решения пока нет. Как кроме удалить *.dll.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
*Shoker*   

Либо неправильно пропатчил, либо твой NoDVD изменяет xrGame.dll (как в ЧН)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

В r16 при компиляции с правками для получения объекта, на который смотрит камера и дистанции до него, перестала работать ф-ция:

level.get_snd_volume()

Возможно, не она единственная. При отключении данной правки, всё стабильно работает.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Real Wolf, у меня тоже эта функция не работает, я посмотрел исходники, походу в проекте она вырезана или заменена чем-нибудь

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Real Wolf,

В r16 при компиляции с правками для получения объекта, на который смотрит камера и дистанции до него, перестала работать ф-ция:

level.get_snd_volume()

Проверяйте последнюю версию, там с этим должно быть в порядке.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

У кого-нибудь работает db.actor:actor_body_state()? У меня все время возвращает число 40 с чем-то тысяч.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

SkyLoader,

У кого-нибудь работает db.actor:actor_body_state()? У меня все время возвращает число 40 с чем-то тысяч.

Возможно мусор остался, не помню уже.

Для этих целей сделана функция получения целого по смещению от начала объекта get_actor_int. Надо только знать смещение, по которому лежит нужный флажок.

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня db.actor:actor_body_state() возвращает где-то 36...

И еще get_sprint_factor() возвращает 0, зато set_sprint_factor работает

Может кто-нибудь r17 собрать? Я не понял как это делается

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Войти

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

Войти

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

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

×