Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

> Редактирование движка
RayTwitty
сообщение 22.01.2016, 17:18
Сообщение #4661


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа



Редактирование собранного движка
Проект X-Ray extensions и его вики
Lua-перехватчик от alpet
xrLuaFix от RvP
xrLuaFix в редакции от Artos
xrLuaFix в редакции от svarog2741
LuaXML библиотека парсинга xml-файлов из скриптов (подключается при помощи функции require, которая есть в xrLuaFix)
NoProtect 1.0006 исполнительные файлы из Steam-версии без защиты
Документация к X-Ray (11.10.2004)
Файл заголовков от отладочного 6 патча
Cut X-Ray
Цель проекта - создание отдельных изменений движка игры с их последующей комбинацией с другими правками.
Авторы: SkyLoader, _призрак_
Для платформ: ТЧ 1.0004 и 1.0006, ЧН 1.5.10, ЗП 1.6.02
Адрес проекта на Google Code: https://code.google.com/p/cut-x-ray-project/
Страница на Moddb: http://www.moddb.com/mods/cut-x-ray-project-soc-cs-cop
Пак 1
1. Исправление вылета "can't find rank" для оружий.

2. Смерть от первого лица.
Видео: https://www.youtube.com/watch?v=c-4dNyvizxY

3. Collide
Возвращена коллизия мертвых тел с неписями и актором, как она сделана в старой физике билдов.
Видео: https://www.youtube.com/watch?v=1xNn04f3djc

4. Круглый прицел.
Возвращен круглый прицел вместо перекрестья, как билдах.

5. Исправление вида от 3-го лица.
Изменено положение камеры от 3-го лица (1). Стрельба идет по перекрестью, а не по направлению актора. Если включить вид от 3-го лица (1) и удерживать Shift, то ГГ будет автоматически целиться в ближайшего непися или монстра.
Проблемы: Стрельба по перекрестью идет также при виде от 3-го лица (2). Если при автоматическом нацеливании непись/монстр удалится или перейдет в оффлайн, будет движковый безлоговый вылет. Я думал вырезать это нацеливание, но решил оставить.
Пак 2
1. Luminosity progress (только ТЧ)
Возвращение шкалы освещения вместо шкалы "заметности" ГГ, как в билдах.

2. Запрет на доставание оружия в машине (только ТЧ и ЧН) и на лестнице (ТЧ, ЧН, ЗП).

3. Руки на руле в машине. (только ТЧ и ЧН)
Видео: https://www.youtube.com/watch?v=nYrnrfGkO7Y

4. Отсутствие распознавания неписей перекрестием:
При наведении на непися перекрестье имеет дефолтный цвет. Также не показывает информацию о неписе, если смотреть на него.

5. Bind_object:
Возможность использовать скрипты в мультиплеере.

6. Из оружия на классе бинокля можно стрелять (только ТЧ)
Пак 3
1. Включение некоторых команд без использования ярлыка. Можно патчить по отдельности. Команды: -smap_4096 (максимально улучшенные карты теней), -mblur (включение блюра).

2. Измененная анимация безоружного гг.

3. Увеличение дистанции диалога с неписями (для создания сценок на расстоянии)

4. Исправление вылета при использовании предметов из трупов неписей.
В отличии от версии Kolmogor'а, здесь отключено само меню использования.

5. Возможность поднимать болты как обычные инвентарные предметы (комбинировать с модом Charsi "Заканчивающиеся болты")
Скачать все паки
Правки от RayTwitty aka Shadows
Geometry LOD fix (CS 1.5.10) – расширение диапазона консольной команды r__geometry_lod
Camblu crosshair for build 1865 – замена перекрестия прицела на кружок в билде 1865
Vertex buffer fix for NC Project – исправление вылета по переполнению буфера в NC Project
NO 100 sovetov fix (COP 1.6.02) – убирает надписи "100 советов" с экрана загрузки
Demo Record fix (SOC 1.0006) – убирает красные надписи в режиме demo_record
Weapon Bobbing Beta (SOC 1.0006) – раскачка оружия при ходьбе (бета-версия)
Build Loadscreen (SOC 1.0006) – билдовский экран загрузки со статичным изображением
Detail Density fix (SOC 1.0006) – расширение диапазона консольной команды r__detail_density
Mipbias fix (SOC 1.0006) – расширение диапазона консольных команд r1_tf_mipbias и r2_tf_mipbias
No Quick Use fix (SOC 1.0006) – запрет на использование аптечек и бинтов по быстрым клавишам
Sun Near fix (SOC 1.0006) – расширение диапазона консольной команды r2_sun_near
Target Font (SOC 1.0006) – замена шрифта под перекрестием прицела на шрифт DI
Unload Magazine fix (SOC 1.0006) – фикс скриптовой функции unload_magazine - теперь патроны разряжаются в инвентарь
PNG Screenshots (SOC 1.0006) – игра теперь делает качественные скриншоты в формате png

Скачать все правки
Правки от K.D.
xrPatch v0.8 – патчер для увеличения радиуса прорисовки травы
detail radius+density fix [SOC 1.0006] – добавляет регулировку радиуса отрисовки травы через консольную команду и расширяет диапазон регулировки плотности травы до 0.02
Правки от macron
Исправленный экзешник для SoC 1.0006
Доработанный и исправленный экзешник для ТЧ 1.0006 (на основе Steam-версии без защиты)
Включает в себя исправления вылетов, а также очистку лога игры от засоряющих сообщений. Более подробное описание внутри архива.

Ссылка: https://yadi.sk/d/At9Tw0ueSaDyS
X-Ray extensions portable
Портативная версия расширений движка "X-Ray extensions"
Платформы: ТЧ 1.0006, ЧН 1.5.10, ЗП 1.6.02
Эта версия имеет все нужные библиотеки и патчеры, а также настроенные bat-файлы для успешной компиляции. Более подробное описание внутри архива.

Ссылка: https://yadi.sk/d/OLYPbDXWjyEkH
Правки от Kolmogor
Правленный xrGame для SoC 1.0004
Изменения:
1. Добавлена консольная команда fov [5.0, 180.0] - изменяет глобальный FOV камеры.
2. Добавлена консольная команда k_ammo_on_belt [on\off] - включает\выключает использование патронов с пояса.
3. Артефакты работают из рюкзака, а пояс служит контейнером.

Ссылка: http://rusfolder.com/42636653
Правки от Kontro-zzz
Изменение значения hud_fov
Правки фиксированных значений параметра hud_fov - 0.37 либо 0.53, для CS 1.5.10 и для билда 3120.
Должно работать на GOG версии и no DVD.
Редактирование исходников
Скачать все исходники отсюда или с оригинальных постов SoC 1.0007rc1 SoC и CS CoP X-Ray 2
Репозитории

[SoC]
() Alpet & KD / оригинальное репо [Архивная ценность]
() xrDev [Архивная ценность]
() CleanXR [Архивная ценность]
() KRoddin [Архивная ценность][/b]
() Lost Alpha old [Архивная ценность]
() Репозиторий OGSE | Самый актуальный форк (KRoddin) | Версия от Abramcumner с небольшими исправлениями
() 1exx [Архивная ценность]
() Shkiper2012 [Архивная ценность]
() Morrey (dx10) [Архивная ценность]
() OP Engine (Winsor)
() Kondr48 [Архивная ценность]

[CS]
() RedPython [Архивная ценность]
() xrDev [Архивная ценность]
() OpenXRay [Архивная ценность]
() Charsi82 [Архивная ценность]
() Abramcumner | drksnc (MP) [Архивная ценность]
() RainbowZerg [Архивная ценность]

[CoP]
() Forser
() OpenXRay
() CoC | Demosfen | Last Day
() Abramcumner
() Im-Dex [Архивная ценность]
() xrDev [Архивная ценность]
() Tron [Архивная ценность]
() mrmnwar [Архивная ценность]
() Avo [Архивная ценность]
() vincent-t [Архивная ценность] | Старый репозиторий
() Shoкer
() Morrey CS-COP [Архивная ценность]
() Morrey [Архивная ценность]

[2.0]
() Saas
() xrOxy
Компиляторы x64: SoC CS CoP
NDA GSC
Оригинальные версии движков
Могут понадобиться для восстановления оригинальных библиотек.
SoC SoC ENG CS CoP
GOG version [1.0006, 1.5.10, 1.6.02]
Multi-patch version [1.0006, 1.5.10, 1.6.02]
Официальный мультиплеерный (невышедший) патч для SoC 1.0007rc1.
Уроки
Изменение плотности травы и создание патча через IDA Pro
Автор: _призрак_
edited by: RayTwitty aka Shadows

Для редактирования нам понадобится программа IDA Pro.

1. Запускаем IDA Pro.
2. Загружаем бинарник рендера xrRender_R1.dll или xrRender_R2.dll.
3. Теперь необходимо найти, где регистрируется консольная команда. Жмем Ctrl+T и вводим r__detail_density.
4. Находим функцию и тщательно ее разбираем (я ее полностью разбирать не буду, только укажу, где задаются параметры:
Код регистрации консольной команды
Код
fld ds:flt_10064400 -- нижнее ограничение равное 0.6
or dword_1007CACC, 8
sub esp, 8
fstp [esp+30h+var_2C]
mov ecx, offset unk_1007CA9C
fld ds:flt_10064380 -- верхнее ограничение равное 0.2
fstp [esp+30h+var_30]
push offset aSs; "ЪЩЩ>"
push offset aR__detail_dens; "r__detail_density"
call ds:??0CCC_Float@@QAE@PBDPAMMM@Z; CCC_Float::CCC_Float(char const *,float *,float,float)
push offset sub_1005E080; void (__cdecl *)()
call _atexit
add esp, 4
Если вы заметили, чтобы трава стала плотней нужно уменьшить параметр, а чтобы травы стало меньше, нужно параметр увеличить
5. Нам нужно увеличить плотность травы: следовательно нужно изменить верхнее ограничение. Как это сделать? Есть три варианта:

Первый и самый логичный вариант: изменить переменную. Но тут есть небольшой подвох на котором я попался - этой переменной может пользоваться не одна функция, а несколько. И не ясно, что вы можете сломать, поменяв одну циферку на другую.

Второй: взять другую, уже существующую переменную с подходящим значением. Хороший вариант которым я и воспользовался. Но и тут есть недостаток - переменных в бинарнике не так уж и много и можно просто не найти нужную.

Третий: создать переменную. Отличный вариант. Единственный минус - я не знаю как это сделать smile.gif

Я пошел по второму пути. Два раза щелкнув на ds:flt_10064380, IDA отправила меня в дебри под названием .rdata. Там я нашел переменную, которая называлась - flt_1006452C и которая имела значение 0.0720999.
Насколько я понял, flt_1006452C - не является названием переменной, это сборка из двух показателей - (тип числа)_(смещение). В нашем случае это число типа float, которое находится по адресу 1006452C. Ну что же, приступим к редактированию!
6. Отправляемся в самое начало файла. Как? Сверху есть что-то типа статус-бара - строка состоящая из синего, серого, черного цвета. Нажимаем там в любом месте мышкой и ведем влево до конца.
7. Опять ищем r__detail_density. Находим в этой функции строку fld ds:flt_10064338. Дальше самое интересное - жмем на вкладку Hex View и там у нас выделяются какие-то цифры. Это наша переменная 10064338, только написано наоборот. Сравните:
Код
38 43 06 10
10 06 43 38
Похоже, не правда ли? smile.gif
8. Начинаем редактировать. Нам нужно поменять 4338 на 452C (т.е. заменить ссылку с одной переменной на другую). Жмем правой кнопкой мыши на этих цифрах и выбираем пункт Edit. Меняем 38 43 на 2С 45. Дальше жмем где-нибудь в коде (это нужно сделать обязательно!).
9. После этого жмем правой кнопкой мыши и выбираем commit changes. Таким образом, мы поменяли ссылку на переменную и теперь верхнее ограничение будет равно значению из другой переменной.
Но IDA не меняет исходный файл. В нашем случае мы можем только создать файл изменений. Делается это так: File -> Produce file -> Create DIF file. Назовем его test. Этот файл можно открыть при помощи блокнота и посмотреть, что получилось.
10. Теперь необходимо внести изменения из этого файла в движок. Это можно сделать при помощи патчера bpatch. Качаем, смотрим и запускаем bpatch.cmd. Я думаю, что батник вы сможете изменить самостоятельно (настроить пути файлов и т.п.) - там все элементарно.
11. Все! Изменения внесены в движок, можно тестировать smile.gif

Огромное спасибо Kolmogor'у и malandrinus'у. Если бы не они, я бы ничего не сделал. Спасибо вам еще раз.
Спасибо и Rolan'у, с которым я очень много беседовал и тоже узнал много чего smile.gif




Сообщение отредактировал RayTwitty - 27.08.2021, 00:15
Перейти в начало страницы
 
242 страниц V  « < 232 233 234 235 236 > »   
Начать новую тему
Ответов
xrModder
сообщение 20.01.2021, 08:39
Сообщение #4662


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Нужны исходники и коммиты X-Ray Engine v1.0007rc1 от Aplet и K.D. для переноса на github, оригинальный репозитории на xp-dev.com (https://xp-dev.com/svn/210311) отсутствует.
Перейти в начало страницы
 
FozeSt
сообщение 20.01.2021, 10:46
Сообщение #4663


Ветеран
*****

Репутация:   13  
Группа: Участник
Сообщений: 83
Регистрация: 10.01.2017




Вставить ник Цитировать выделенное в форуму быстрого ответа


xrModder, https://github.com/xer-urg/xp-dev_xray воть


--------------------
Специально для ПЫСов: особо одаренных у меня нет, остальных дебилов спрашивать у вульфа
Перейти в начало страницы
 
xrModder
сообщение 20.01.2021, 10:59
Сообщение #4664


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(FozeSt @ 20.01.2021, 13:46) *

Это точно репозиторий с начальными коммитами, а но форк ревизии?
Перейти в начало страницы
 
Yara
сообщение 22.01.2021, 21:12
Сообщение #4665


Опытный Геймер
*******

Репутация:   50  
Группа: Участник
Сообщений: 157
Награды: 2
Регистрация: 20.03.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Правка вылета demo_play в главном меню, а также при выполнение команды без имени файла, или если .xrdemo нулевого размера (без кейфреймов).
\xr_3da\xrGame\console_commands.cpp

CODE
class CCC_DemoPlay : public IConsole_Command
{
public:
CCC_DemoPlay(LPCSTR N) :
IConsole_Command(N)
{ bEmptyArgsHandled = TRUE; };
virtual void Execute(LPCSTR args) {
if (!g_pGameLevel) // если уровень не загружен
{
Msg("! Demo Play: there are no level(s) started.");
return;
}
#ifndef DEBUG
if (GameID() != GAME_SINGLE)
{
Msg("! Demo Play: disabled for this game type.");
return;
};
#endif
if (0==g_pGameLevel)
{
Msg("! Demo Play: there are no level(s) started.");
}
else
{
string_path fn;
u32 loops = 0;
LPSTR comma = strchr(const_cast<LPSTR>(args),',');
if (comma) {
loops = atoi (comma+1);
*comma = 0; //. smile.gif
}
strconcat (sizeof(fn),fn, args, ".xrdemo");
FS.update_path (fn, "$game_saves$", fn);
if (!FS.exist(fn)) // если не указать имя файла или его нет
{
Msg("! Demo Play: filename is empty or file does not exist.");
return;
}
if (!FS.file_length(fn)) // если файл нулевого размера (без кейфреймов)
{
Msg("! Demo Play: file is zero size, without keyframes.");
return;
}
Console->Hide ();
if (MainMenu()->IsActive()) // как при записи,
MainMenu()->Activate(false); // закрыть главное меню, если открыто
g_pGameLevel->Cameras().AddCamEffector(xr_new<CDemoPlay> (fn, 1.0f, loops));
}
}
};

Перейти в начало страницы
 
xrModder
сообщение 01.02.2021, 12:40
Сообщение #4666


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Как сделать так чтобы значение переменной для шейдера бралась из значения консольной команды? К примеру вместо #define SUN_NEAR float(12) использовать значение r2_sun_near?

Сообщение отредактировал xrModder - 01.02.2021, 12:42
Перейти в начало страницы
 
atanda
сообщение 01.02.2021, 13:55
Сообщение #4667
Pro gamer

Почти Игроман
*********

Репутация:   72  
Группа: Участник
Сообщений: 622
Регистрация: 05.11.2017




Вставить ник Цитировать выделенное в форуму быстрого ответа


Очевидно, установить константу. Смотри CBlender_Compile::SetMapping.
Перейти в начало страницы
 
AndreySol
сообщение 02.02.2021, 11:49
Сообщение #4668


Опытный Геймер
*******

Репутация:   3  
Группа: Участник
Сообщений: 150
Награды: 3
Регистрация: 16.02.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


В мультиплеере ЗП, скриптовая подсистема не работает совсем, или работает, но ограниченно? К примеру рестриктор можно поставить и прописать ему логику? Или дверь, соответственно, то же с логикой?

И есть ли где нибудь, на репозиториях, сборки движка с попытками оживить скрипты в мультике?
Перейти в начало страницы
 
Infaer
сообщение 06.02.2021, 02:22
Сообщение #4669


Новичок
*

Репутация:   0  
Группа: Участник
Сообщений: 8
Регистрация: 05.06.2020




Вставить ник Цитировать выделенное в форуму быстрого ответа


Здравствуйте. Нужна помощь знающего. При переезде на VS2017 появилась одна ошибка(на более старой версии ошибки нет). Кусочек кода совсем небольшой, может кто подскажет как адаптировать под новый компилятор? Буду рад вашей помощи. Спасибо.
Код в xr_ini.cpp
void CInifile::release()
{
ref_count--;
if (ref_count <= 0)
xr_delete( (CInifile*)this); - error
}

В заголовочном xr_ini.h
virtual void release();

Ошибка.
Error C2664 'void xr_delete<CInifile>(T *&)': cannot convert argument 1 from 'CInifile *' to 'T *&' xrCore x:\trunk\xray\xrcore\xr_ini.cpp 196

На всякий случай IntelliSense:
E0304 no instance of function template "xr_delete" matches the argument list xrCore X:\trunk\xray\xrCore\Xr_ini.cpp 196
Перейти в начало страницы
 
mortan
сообщение 06.02.2021, 14:50
Сообщение #4670


Продвинутый геймер
********

Репутация:   16  
Группа: Участник
Сообщений: 222
Награды: 3
Регистрация: 28.06.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Кстати, у кого тоже перестал работать русский ввод в сохранениях после апдейта win 10 sdk на ЗП сорцах, то вот фикс этого дела:
В xrEngine\edit_actions.cpp в функции on_key_press замените строчку
Код
if (_isalpha_l(buff[0], current_locale) || buff[0] == char(-1)) // "я" = -1

на
Код
if (_isalpha_l((unsigned char)buff[0], current_locale) || buff[0] == char(-1)) // "я" = -1


После этого ввод должен заработать.
Перейти в начало страницы
 
RayTwitty
сообщение 09.02.2021, 05:39
Сообщение #4671


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Что-то я не понял, в каком формате указывается цвет аномалии:
Код
light_color                    = 1.8,1.7,1.4

По идее это стандартный RGB деленный на 255, вот только он больше единицы быть не может dontgetit.gif По логике, такой цвет должен выйти за пределы и вернуть полностью белый, что и происходит в игре визуально, но зачем тогда мудрить? В погоде такое кстати тоже видел не раз.

ЗЫ может это рудимент и раньше был диапазон 0..2? Если эти числа поделить на 2 и потом умножить на 255, то вроде получается похожий по логике аномалии цвет.


--------------------
Перейти в начало страницы
 
atanda
сообщение 09.02.2021, 12:40
Сообщение #4672
Pro gamer

Почти Игроман
*********

Репутация:   72  
Группа: Участник
Сообщений: 622
Регистрация: 05.11.2017




Вставить ник Цитировать выделенное в форуму быстрого ответа


Хмм, больше похоже на ляп =\
Перейти в начало страницы
 
SkyLoader
сообщение 09.02.2021, 13:39
Сообщение #4673


Почти Игроман
*********

Репутация:   153  
Группа: Участник
Сообщений: 614
Награды: 4
Регистрация: 03.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Лайт колор у аномалий же не в u32 хранится, а в Fcolor. Он может иметь интенсивность света выше единицы.
Перейти в начало страницы
 
Pavel_Blend
сообщение 09.02.2021, 19:46
Сообщение #4674


Продвинутый геймер
********

Репутация:   51  
Группа: Участник
Сообщений: 489
Награды: 3
Регистрация: 12.11.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Вопрос чисто теоретический:
насколько сложен движок? Возможно ли одному человеку осознать и понять весь код?
Или движок настолько обширный, что один человек сможет вникнуть только в какой либо компонент движка?

И ещё: вот много кто правил движок. А кто нибудь нашёл что-то интересное в нём, что будет интересно даже не программисту? Может есть какие либо интересные факты?


--------------------
Перейти в начало страницы
 
macron
сообщение 09.02.2021, 20:07
Сообщение #4675


Игровой Бог
**********************

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Pavel_Blend @ 09.02.2021, 19:46) *
Возможно ли одному человеку осознать и понять весь код?

Неа. z_5.gif
Перейти в начало страницы
 
RayTwitty
сообщение 09.02.2021, 22:40
Сообщение #4676


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(SkyLoader @ 09.02.2021, 13:39) *
Лайт колор у аномалий же не в u32 хранится, а в Fcolor. Он может иметь интенсивность света выше единицы.

А какой там диапазон? Вроде же стандартный 0..1

xrCore\_color.h
Код
    ICF    SelfRef    set        (u32 dw)
    {
        const T f = T(1.0) / T(255.0);
        a = f * T((dw >> 24)& 0xff);
        r = f * T((dw >> 16)& 0xff);
        g = f * T((dw >>  8)& 0xff);
        b = f * T((dw >>  0)& 0xff);
        return *this;
    };


ЗЫ ну собсна прописал
Код
light_color                    = 1,0,0

и оно как положено стало светить красным. Значения больше единицы по-прежнему непонятны.

Цитата(Pavel_Blend @ 09.02.2021, 19:46) *
А кто нибудь нашёл что-то интересное в нём, что будет интересно даже не программисту? Может есть какие либо интересные факты?

Говнокод и костыли. Не рекомендую с наскока лезть в иерархии CWeapon и классы аттачментов z_lol1.gif

Сообщение отредактировал RayTwitty - 10.02.2021, 01:21


--------------------
Перейти в начало страницы
 
JustChiller
сообщение 10.02.2021, 12:36
Сообщение #4677


Новичок
*

Репутация:   1  
Группа: Участник
Сообщений: 9
Регистрация: 11.09.2019




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(AndreySol @ 02.02.2021, 11:49) *
В мультиплеере ЗП, скриптовая подсистема не работает совсем, или работает, но ограниченно? К примеру рестриктор можно поставить и прописать ему логику? Или дверь, соответственно, то же с логикой?

И есть ли где нибудь, на репозиториях, сборки движка с попытками оживить скрипты в мультике?


Скрипты в мультиплеере не работают по умолчанию. Оживление скриптов и другие правки по мультиплееру можно посмотреть тут:
https://github.com/Alexandr682/xray-omp

Репозиторий под геймдату:
https://github.com/pavelspitsin/omp-gamedata

Есть пример рестриктора под зону прятания оружия.
Перейти в начало страницы
 
cjayho
сообщение 11.02.2021, 10:30
Сообщение #4678


Мастер Игры
************

Репутация:   248  
Группа: Участник
Сообщений: 1363
Награды: 4
Регистрация: 08.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


QUOTE (Infaer @ 06.02.2021, 01:22) *
Здравствуйте. Нужна помощь знающего. При переезде на VS2017 появилась одна ошибка(на более старой версии ошибки нет). Кусочек кода совсем небольшой, может кто подскажет как адаптировать под новый компилятор? Буду рад вашей помощи. Спасибо.
Код в xr_ini.cpp
void CInifile::release()
{
ref_count--;
if (ref_count <= 0)
xr_delete( (CInifile*)this); - error
}

В заголовочном xr_ini.h
virtual void release();

Ошибка.
Error C2664 'void xr_delete<CInifile>(T *&)': cannot convert argument 1 from 'CInifile *' to 'T *&' xrCore x:\trunk\xray\xrcore\xr_ini.cpp 196

На всякий случай IntelliSense:
E0304 no instance of function template "xr_delete" matches the argument list xrCore X:\trunk\xray\xrCore\Xr_ini.cpp 196


А над вышеописанным куском кода нету конструкции вроде template <class T> или template <typename T> ?


--------------------
Набор шейдеров для S.T.A.L.K.E.R: Shadow of chernobyl: ECB-Shaderpack - https://github.com/cjayho/ecb-shaderpack/

------

Продюсер электронной музыки в стиле Dark Ambient, автор саундтрека для Desowave S.T.A.L.K.E.R.: Lost Alpha.

Spotify | Apple Music | YouTube | BandCamp | AudioMack
Перейти в начало страницы
 
Infaer
сообщение 12.02.2021, 16:32
Сообщение #4679


Новичок
*

Репутация:   0  
Группа: Участник
Сообщений: 8
Регистрация: 05.06.2020




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(cjayho @ 11.02.2021, 10:30) *
А над вышеописанным куском кода нету конструкции ?

Нет, нету. Но уже решил самостоятельно эту проблему.

Новый вопрос. Существует ли в природе дебустовый luabind на оригинальный Тень Чернобыля? Вроде версия 0.7 там используется. Видел репозиторий с версией 0.9, также под ЧН. Брал OGSR luabind, но дальше главного меню успеха не достиг, краш на загрузке игры. Плюс, там какой-то свой менеджер памяти от GSC. Не хотелось бы забивать на это, все-таки дебуст дает очень весомый прирост в скорости компиляции xrGame.
Ошибка
0 0023:52F4B850 (0x00000000 0x00000000 0x00000000 0x00000000) luabind.dll, luabind::detail::object_rep::crep, x:\trunk\xray\luabind\luabind\detail\object_rep.hpp, 55
1 0023:190AA39D (0x0018CF3C 0x36288308 0x0018CF00 0x00000005) xr_3da.EXE
2 0023:190ABD7D (0x36288308 0x548E14FB 0x548E3A3D 0x36288308) xr_3da.EXE
3 0023:548E273E (0x36288308 0xFFFFFFFF 0x0018CFF0 0x3628838E) lua5.1.dll, lua_gettable(), x:\trunk\xray\luajit\src\lapi.c, 546
4 0023:548E3A3D (0x00000005 0xFFFFFFFE 0x548E14FB 0x0018CFF4) lua5.1.dll, lua_type(), x:\trunk\xray\luajit\src\lapi.c, 239
5 0023:548E328F (0x0018D068 0x25ECDB18 0x0018D098 0x25ECDAC8) lua5.1.dll, lua_remove(), x:\trunk\xray\luajit\src\lapi.c, 179
6 0023:52F515AE (0x36288308 0x25ECDA48 0xFFFFFFFF 0x25ECDA48) luabind.dll, luabind::detail::class_rep::function_dispatcher(), x:\trunk\xray\luabind\src\class_rep.cpp, 700
7 0023:548F885D (0x36288308 0x25ECDA48 0xFFFFFFFF 0x25ECDA58) lua5.1.dll, luaJIT_run(), x:\trunk\xray\luajit\src\ljit_core.c, 226
8 0023:548EC715 (0x36288308 0x00000020 0xFFFFFFFF 0x36288308) lua5.1.dll, luaD_precall(), x:\trunk\xray\luajit\src\ldo.c, 286
9 0023:548EC215 (0x36288308 0x363FF720 0xFFFFFFFF 0x548ECB59) lua5.1.dll, luaD_call(), x:\trunk\xray\luajit\src\ldo.c, 397
10 0023:548E1FB2 (0x36288308 0x0018D278 0xFFFFFFFF 0x00000000) lua5.1.dll, f_call(), x:\trunk\xray\luajit\src\lapi.c, 816
11 0023:548ECB59 (0x36288308 0x548E1FA0 0x0018D278 0x36288308) lua5.1.dll, luaD_rawrunprotected(), x:\trunk\xray\luajit\src\ldo.c, 124
12 0023:548EC45B (0x36288301 0x548E1FA0 0x0018D278 0x00000020) lua5.1.dll, luaD_pcall(), x:\trunk\xray\luajit\src\ldo.c, 478
13 0023:548E2C27 (0x36288308 0x00000000 0xFFFFFFFF 0x00000001) lua5.1.dll, lua_pcall(), x:\trunk\xray\luajit\src\lapi.c, 837
14 0023:024C074D (0x2527F5B8 0x0018D790 0x024C244E 0x0018D470) luaicp.dll, ExpDumpVar()
15 0023:024C2423 (0x2527F5B8 0x255B7A50 0x00000001 0x255B7A50) luaicp.dll, LuaSafeCall()
16 0023:548F885D (0x2527F5B8 0x255B7A50 0x00000001 0x2527F5B8) lua5.1.dll, luaJIT_run(), x:\trunk\xray\luajit\src\ljit_core.c, 226
17 0023:548EC715 (0x2527F5B8 0x00000070 0x00000001 0x2527F5B8) lua5.1.dll, luaD_precall(), x:\trunk\xray\luajit\src\ldo.c, 286
18 0023:548EC215 (0x2527F5B8 0x255B7A50 0x00000001 0x548ECB59) lua5.1.dll, luaD_call(), x:\trunk\xray\luajit\src\ldo.c, 397
19 0023:548E1FB2 (0x2527F5B8 0x0018D5A8 0x00000001 0x00000000) lua5.1.dll, f_call(), x:\trunk\xray\luajit\src\lapi.c, 816
20 0023:548ECB59 (0x2527F5B8 0x548E1FA0 0x0018D5A8 0x2527F5B8) lua5.1.dll, luaD_rawrunprotected(), x:\trunk\xray\luajit\src\ldo.c, 124
21 0023:548EC45B (0x2527F501 0x548E1FA0 0x0018D5A8 0x00000070) lua5.1.dll, luaD_pcall(), x:\trunk\xray\luajit\src\ldo.c, 478
22 0023:548E2C27 (0x2527F5B8 0x00000000 0x00000001 0x00000005) lua5.1.dll, lua_pcall(), x:\trunk\xray\luajit\src\lapi.c, 837
23 0023:00411DD4 (0x2527F5B8 0x0018D5D3 0x19658CE0 0x284D6FD8) xr_3da.EXE, LuaExecute(), x:\trunk\xray\xr_3da\lua_tools.cpp, 144
24 0023:18E5B44B (0x76827F7C 0x76828015 0x0018DA30 0x76828024) xr_3da.EXE
25 0023:76827FFB (0x0018DA30 0x76828024 0x00000000 0x40001380) GDI32.dll, D3DKMTSignalSynchronizationObject()
26 0023:76828015 (0x00000000 0x40001380 0x15F1ACF0 0x00000001) GDI32.dll, D3DKMTSignalSynchronizationObject()
27 0023:76828024 (0x00000001 0x80000E80 0x00000000 0x00000000) GDI32.dll, D3DKMTSignalSynchronizationObject()
28 0023:15F1ACF0 (0x80000E80 0x00000000 0x00000000 0x00000000) xr_3da.EXE


И еще вопрос. Класс крыс в ЧН вообще рабочий? Там есть ИИ и модель поведения для них. Ну и класс в движке объявлен.

Сообщение отредактировал Infaer - 12.02.2021, 17:39
Перейти в начало страницы
 
macron
сообщение 12.02.2021, 22:32
Сообщение #4680


Игровой Бог
**********************

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Infaer @ 12.02.2021, 16:32) *
Существует ли в природе дебустовый luabind на оригинальный Тень Чернобыля?

В 2012-2013 был популярен проект xrluafix. Поковыряй, может что найдешь в архивах или инете.

https://disk.yandex.ru/d/YpHqCwEqBDKkgQ
Перейти в начало страницы
 
macron
сообщение 13.02.2021, 15:01
Сообщение #4681


Игровой Бог
**********************

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




Вставить ник Цитировать выделенное в форуму быстрого ответа


Еще что-то по xrLua
https://disk.yandex.ru/d/BK7lfI8wDO2iKQ
Перейти в начало страницы
 

242 страниц V  « < 232 233 234 235 236 > » 
Ответить в данную темуНачать новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.03.2024, 11:33