-отсутствие старфорсоов и сопутствующих проблем -в nodvd-вариантах из за сбоев в циклах движка могли происходить вылеты, которые здесь невозможны -нормальная система отлова багов, в nodvd её по сути не было, движковые логи не писало -если у НПЦ проблемы с логикой, nodvd-вариант сразу крешится без лога и бьются сейвы, тут это пофиксено -фикс ошибки "(bytes_need<=mSize) && vl_Count" на r2, связанной с перегрузками видеобуфера -оптимизация требований к памяти (GlobalMemoryStatus вместо GlobalMemoryStatusEx) -возможность менять hud_fov (несколько предустановок, рассчитано исключительно на данный экзешник) -возможность менять fov для xrgame.dll от 1.0006 (несколько предустановок) -отключено загаживание консоли/лога сообщениями "CL setdestroy" -расширено меню установки fov для xrgame.dll -добавлены опциональные (необязательные к установке) фиксы. Запуск и выбор - через 10006_patcher.cmd: -увеличение числа стеков памяти -увеличение DVB (Vertices Buffer) до 6 mb -увеличение DIB (Indices Buffer) до 1 mb -отключение ругательств рендера на шейдеры -отключение ругательств на неправильное положение солнца в погодном конфиге (by lvg_brest) -отключение разных дебаг-сообщений в xrgame.dll -основан на новом экзешнике от GSC с принудительным ограничением кадров (защита от перегрева видеокарт/БП) -возможность опционально отключать ограничитель кадров (защиту от перегрева видеокарт/БП) -теперь единый экзешник + внешние патчеры ru/ww -теперь единый fov/hud_fov switcher -новый xrGameSpy.dll (сетевая игра переключается на сервер GSC)
2) новые скриптовые методы inv_weight - получить вес макс. вес set_inv_weight - установить макс. вес move_on_belt - переместить предмет на пояс item_on_belt - получить предмет на поясе set_ammo_type - установить тип патронов
3) новые скриптовые кaллбэки on_item_belt - перемещение предмета на пояс on_item_ruck - перемещение предмета в рюкзак on_item_slot - перемещение предмета в слот on_switch_nightvision - переключение ПНВ
4) новые консольные команды fov [5.0, 180.0] - глобальный fov камеры k_ammo_on_belt [on\off] - патроны на поясе https://yadi.sk/d/4snyxLdTVfcEt
7) артефакты работают только из рюкзака, на поясе не действуют на ГГ - пояс теперь по сути контейнер артефактов. Из инвентаря действуют абсолютно все свойства артефактов (радиоизлучение, пулестойкость, хим. защита и т.д.).
--NeedToDestroyObject Destroying local grenade sv destroy object ge_destroy not found on server sv ownership id_parent id_entity sv !ownership (entity already has parent) sv reject. id_parent id_entity [16-9] get_xml_name for
Проверялся как на чистой dll, так и на пропатченной через x-ray extensions/cut x-ray. С мультиплеером правка несовместима.
Установка: Скопировать clear_xrGame.cmd и patch2.exe в папку с xrgame.dll и запустить clear_xrGame.cmd.
Также для полной чистоты лога рекомендуется использовать "Исправленный экзешник для S.T.A.L.K.E.R ТЧ 1.0006 (v2)" или в своем экзешнике хекс-редактором найти и обнулить байты фразы: cl setDestroy [%d][%d]
Всем привет! Я решил перенести имя денег в конфиг, и вот что я сделал (пример ниже) во всех файлах CPP в которых объявляется имя денег. Все остальные файлы понимают что такое translate и cstringtable, кроме одного UIActorMenu.
20>.\ui\UIActorMenu.cpp(851) : error C2228: left of '.translate' must have class/struct/union 20> type is ''unknown-type'' 20>.\ui\UIActorMenu.cpp(851) : error C2228: left of '.c_str' must have class/struct/union 20>.\ui\UIActorMenu.cpp(851) : error C3861: 'CStringTable': identifier not found
В других файлах ничего кроме этого "LPCSTR kg_str= CStringTable().translate( "st_kg" ).c_str();" нет. Я решил добавить Actor.h в include, но только хуже стало. Вопрос такой как инициализировать этои "идентификаторы"? Используется 1.6.02. Заранее спасибо.
Добавлено (20.05.2018, 14:21) --------------------------------------------- И ещё вопрос, но скорее это уже для какого-нибудь гуру кода. В файле Inventory.cpp есть такая переменная
//актер всегда может взять вещь if(!pActor && (TotalWeight() + inventory_item->Weight() > m_pOwner->MaxCarryWeight())) return false;
Я хотел сделать так, чтобы при достижении максимально веса, ГГ не смог брать предметы, и я поставил true вместо false. После компиляции в игре при достижении максимального веса игра вылетела со следующим логом:
Expression : !m_error_code Function : raii_guard::~raii_guard File : ..\xrServerEntities\script_storage.cpp Line : 748 Description : ...- stalker\gamedata\scripts\xr_corpse_detection.script:337: bad argument #1 to 'random' (interval is empty)
Как сделать правильно, так чтобы нельзя было брать предметы? Огромное спасибо за ответ, если он будет .
Добавь класс айтемов, в функциях take через smart_cast сравнивай на класс
Вот в коде уже есть smart_cast в функции CanTakeItem. Я просто не знаю как написать условие правильно. Короче, я не знаю как воспользоваться вашим советом. Не могли бы вы привести пример пожалуйста? Заранее спасибо.
Парни как исправить это? нигде ничего не менял.. Компилил с Microsoft DirectX SDK (August 2009).. Так-же с Microsoft DirectX SDK (March 2009) и Microsoft DirectX SDK (June 2010)
Сообщение отредактировал nicemoder - Пятница, 01.06.2018, 17:21
Вынес зашитый в движок экран загрузки в XML. Теперь его, наконец-то, можно легко его изменять! Кому интересно, можете посмотреть здесь, а кому интересно, как это было сделано – код в репозитории на [url="https://github.com/OpenXRay/xray-16/commit/dae188f2b212cd95042f9dc1297aa98905d0b150"]Github[/url].
Сообщение отредактировал Xottab_DUTY - Вторник, 19.06.2018, 22:39
Собрал исходники зп 1.6.02, но нету DX11, р4 собирается, мне посдказали убрать 2 строку из stdafx.cpp, убрал но ошибки, после исправления дх11 нет в настройках. Подсккажите кто знает как исправить?