Это популярное сообщение. 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 Ссылка на комментарий
abramcumner 1 145 Опубликовано 12 Января 2012 Поделиться Опубликовано 12 Января 2012 Geoset, из папки bin masm32 скопируй в папку tools проекта ml.exe Добавлено через 58 мин.: abramcumner, ну и можно перейти на сборку в той же студии. Что-то типа такого: http://narod.ru/disk/37410961001/xray-extensions.7z.html Ссылка на комментарий
SkyLoader 53 Опубликовано 24 Января 2012 Поделиться Опубликовано 24 Января 2012 Просьба добавить ф-цию изменения положения худа. Ф-ция получения координат есть, а изменения - нет. Понимаю, что функция получения большая, но все же, было бы неплохо, много чего можно будет сделать. И все-таки неплохо было бы сделать управление видимостью костей не только для оружия. Ссылка на комментарий
*Shoker* 322 Опубликовано 24 Января 2012 Поделиться Опубликовано 24 Января 2012 (изменено) SkyLoader Тебе для настройки положения один раз нужно или хочешь в игре какие то манипуляции проводить? Изменено 24 Января 2012 пользователем *Shoker* Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
SkyLoader 53 Опубликовано 25 Января 2012 Поделиться Опубликовано 25 Января 2012 *Shoker*, манипуляции. Ну, например, сделать по формуле скриптовую раскачку оружия. Ссылка на комментарий
AK-103 15 Опубликовано 27 Января 2012 Поделиться Опубликовано 27 Января 2012 Такой вопрос. Раз уж дошло до вопроса про скриптовое управление положением худа, озвученное выше. Возможно ли хакнуть функцию отдачи оружия и делать снос точки прицеливания не только вверх, но и вправо с каким-то коэффициентом (очевидно, что все оружие будет уносить одинаково - чем сильнее уносит вверх, тем сильнее будет уносить вправо)? Понимаю, что тогда возникает проблема с расчетом функции возврата прицела (она то возвращается не от какого-то максимума вдоль оси Y до нормального положения, а и вдоль оси Х. Shoker, по поводу вопроса тов. SkyLoader также отмечу что и мой вопрос и его решаются одинаково - нужно просто получить из функции, которая управляет отдачей оружия, функцию, которая имеет в качестве аргументов переменные, полученные из скрипта, а не из конфига ствола: function SetCurrentWeaponXYZ(x_deg_inc, y_deg_inc, x_pos_inc, y_pos_inc, zoom_factor) Таким образом также не нужно будет восстанавливать билдовскую команду настройки худа hud_adjust_mode. Intel Centrino Mobile (Dual-core) T2700 2,328 GHz, Intel GMA 945GM, 2x1024 MB DDR2-667, WD Scorpio 1200BEVS Microsoft Windows 7 Professional N + Novell Linux 11.2 (OpenSUSE) Dual boot S.T.A.L.K.E.R. SHOC 1.0004 + AMK 1.4.1 + NS3 + NLC3 + Arsenal + Arsenal beta +New weapons Опытный американский дробовик XM1014 =O Хозяйке на заметку: Не спешите выбрасывать чеку от использованной гранаты Ф-1 или РГД-5 - с её помощью можно легко и удобно прикрепить игрушечного пингвинчика к своему рюкзаку. © not me Ссылка на комментарий
Marafon6540 757 Опубликовано 27 Января 2012 Поделиться Опубликовано 27 Января 2012 AK-103, Возможно ли хакнуть функцию отдачи оружия и делать снос точки прицеливания не только вверх, но и вправо с каким-то коэффициентом а в Зенобиан-моде случайно не эта ли функция реализована? Там идет вычитка из LTX для каждого оружия, а затем скриптом вывод на экран. Как пример - ПМ: [pm] strength = 1,2;-- 1,2 2,3 сила отдачи 1..5 strength_rnd = 1; 0 = 1.7 ; сдвиг вправо(0) влево (1) 1 = 0.6 ; сдвиг вверх(0) вниз (1) 2 = 0.8,1 ; сдвиг вперед(0) назад (1) 3 = 4,0 ; поворот вправо(0) влево (1) 4 = 2.1,0 ; наклон вниз(1) вверх (0) 5 = 0 ; наклон влево(1) вправо (0) ; pp effs black = 0,ppe blur = 0,ppe grey = 0,ppe duality_h = 0,ppe duality_v = 0,ppe В игре получается динамично и очень правдоподобно, особенно при автоматической стрельбе. Трилогия Апокалипсис. Упавшая звезда. Честь наемника. v. 1.2 УЗЧН v.1.3 + ОГСРх64 Последний сталкер v. 1.2 ПС v. 1.3 + ОГСРх64 Ссылка на комментарий
Real Wolf 34 Опубликовано 28 Января 2012 Поделиться Опубликовано 28 Января 2012 (изменено) malandrinus, r20 не собирается. matrix_fix.asm(233) : error A2008: syntax error : xmm matrix_fix.asm(238) : error A2008: syntax error : xmm ... Andrey07071977, С этой версией тоже не собрало. Причем r18 собирается нормально. С новым ml пишет лишь, что не найден путь. Изменено 30 Января 2012 пользователем Real Wolf Ссылка на комментарий
Andrey07071977 18 Опубликовано 30 Января 2012 Поделиться Опубликовано 30 Января 2012 Real Wolf, Скорее всего у тебя старая версия ml.exe - поставь вот эту версию, должно собрать. P.S. Не забудь подправить батники Ссылка на комментарий
SkyLoader 53 Опубликовано 2 Февраля 2012 Поделиться Опубликовано 2 Февраля 2012 Если кому надо, написал тут несколько функций новых: 1. Исправленная и переписанная ф-ция получения состояния актора: В game_object_fix.asm заменить ф-цию CScriptGameObject__ActorBodyState на эту: CScriptGameObject__ActorBodyState proc push ebp mov ebp, esp and esp, 0FFFFFFF8h push ecx call CScriptGameObject__IsActor test eax, eax jz short exit_fail ;--------------- mov eax, [eax+1428] jmp exit_ok exit_fail: xor eax, eax exit_ok: pop ecx mov esp, ebp pop ebp retn CScriptGameObject__ActorBodyState endp 2. "get_cam_effector", "get_pp_effector" - получить активность камеры/постпроцесса по айди: 1)В конце файла xrgame_stubs.asm дописать: org 10458864h - shift CCameraManager__GetCamEffector dword ? org 10458478h - shift CCameraManager__GetPpEffector dword ? org 10190CF7h - shift register__ns__int__int: 2) В level_ns_fix.asm после строк: call get_snd_volume_register; регистрируем функцию с прототипом как у get_snd_volume ;-------------------------------------- дописать: ;------------< регистрируем функцию получения активности эффекта камеры по айди >------ pop ecx pop ecx mov eax, esp push offset GetCamEffector push offset aGet_cam_effector; "get_cam_effector" push eax call register__ns__int__int ;-------------------------------------- ;------------< регистрируем функцию получения активности pp эффекта по айди >------ pop ecx pop ecx mov eax, esp push offset GetPpEffector push offset aGet_pp_effector; "get_pp_effector" push eax call register__ns__int__int ;-------------------------------------- 3) После строк: ; для get_target_dist mov ecx, eax call esi дописать: ; для get_cam_effector mov ecx, eax call esi ; для get_pp_effector mov ecx, eax call esi 4) В конце файла дописать: GetCamEffector proc id = dword ptr 4 mov edx, [esp+id] and edx, 0FFFFh mov ecx, g_Actor mov ecx, [ecx+554h] push edx call ds:CCameraManager__GetCamEffector test eax, eax jnz short exit xor al, al retn exit: mov al, 1 retn GetCamEffector endp GetPpEffector proc id = dword ptr 4 mov ecx, g_Actor mov edx, [esp+id] mov ecx, [ecx+554h] push edx call ds:CCameraManager__GetPpEffector test eax, eax jnz short exit xor al, al retn exit: mov al, 1 retn GetPpEffector endp aGet_cam_effector db "get_cam_effector", 0 aGet_pp_effector db "get_pp_effector", 0 Есть еще функции получения/назначения видимости объекта, но назначение требует теста. Также вскоре допишу фунцию, чтобы в окне продажи предметы в слотах зеленым выделялись. Может и Маландринус добавит ф-ции в себе, если захочет. Ссылка на комментарий
Andrey07071977 18 Опубликовано 7 Февраля 2012 Поделиться Опубликовано 7 Февраля 2012 (изменено) SkyLoader, Какие параметры принимает actor_body_state? Оригинальная функция маландринуса была без параметров. get_cam_effector and get_pp_effector работают, спасибо. Число которое возвращают эти функции (отличное от нуля) что-то означает (кроме того что эффект еще не завершен), или просто движковый id? Изменено 7 Февраля 2012 пользователем Andrey07071977 Ссылка на комментарий
SkyLoader 53 Опубликовано 7 Февраля 2012 Поделиться Опубликовано 7 Февраля 2012 Andrey07071977, Какие параметры принимает actor_body_state? И эта функция никакие аргументы не принимает. И, кстати, данная функция работает только на версии r18 и ниже. Для r20 нужно CScriptGameObject__IsActor заменить на CScriptGameObject__CActor. Число которое возвращают эти функции (отличное от нуля) что-то означает По идее, возвращать они должны 0 или 1. 1 - это как-бы true (эффект проигрывается по данному айди), 0 - false. Просто у меня не получилось сделать возвращение boolean значения. Ссылка на комментарий
Andrey07071977 18 Опубликовано 8 Февраля 2012 Поделиться Опубликовано 8 Февраля 2012 SkyLoader, Заменил call CScriptGameObject__IsActor на call CScriptGameObject__CActor (у меня r20), все равно вылетает с логом: FATAL ERROR [error]Expression : error handler is invoked! [error]Function : invalid_parameter_handler [error]File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp [error]Line : 804 [error]Description : stack trace: На всякий случай, вот такой вызов: local aaa = db.actor:actor_body_state() Ссылка на комментарий
SkyLoader 53 Опубликовано 8 Февраля 2012 Поделиться Опубликовано 8 Февраля 2012 Andrey07071977, у меня все работает. Подобная ошибка встречается при нехватке памяти. Ссылка на комментарий
FANAT 117 Опубликовано 8 Февраля 2012 Поделиться Опубликовано 8 Февраля 2012 malandrinus, Можешь сделать убран вылет "cannot find rank for ..." при выкидывании оружия, не прописанного в mp_ranks для ТЧ..? Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения' Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации Ссылка на комментарий
Malandrinus 615 Опубликовано 8 Февраля 2012 Автор Поделиться Опубликовано 8 Февраля 2012 FANAT, Давно уже есть эта правка для ТЧ. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
FANAT 117 Опубликовано 8 Февраля 2012 Поделиться Опубликовано 8 Февраля 2012 malandrinus, Где..? Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения' Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации Ссылка на комментарий
Malandrinus 615 Опубликовано 8 Февраля 2012 Автор Поделиться Опубликовано 8 Февраля 2012 FANAT, Погляди в corrections_list.txt Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
RayTwitty 492 Опубликовано 8 Февраля 2012 Поделиться Опубликовано 8 Февраля 2012 malandrinus, возможно ли сделать метод изменения максимально-переносимого веса ГГ? Через метод get_actor_float\int найти ничего не удалось, сканировал около 1000000 позиций в памяти, веса не нашел. Хотелось бы увидеть нормальный метод. Ссылка на комментарий
ColR_iT 171 Опубликовано 8 Февраля 2012 Поделиться Опубликовано 8 Февраля 2012 Я конечно дико извиняюсь, но где можно почитать список изменений, который привносит сие чудо? На странице проекта был, но понял далеко не всё (с английским на Вы). Интересует версия на ТЧ. Ссылка на комментарий
Andrey07071977 18 Опубликовано 9 Февраля 2012 Поделиться Опубликовано 9 Февраля 2012 (изменено) ColR_iT, Ответ на твой вопрос находится на два поста выше твоего SkyLoader, Подобная ошибка встречается при нехватке памяти не думаю что в данном случае вылет имеет какое то отношение к нехватке памяти. Ты у себя проверял с r20? Изменено 9 Февраля 2012 пользователем Andrey07071977 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти