exDeMODER 100 Опубликовано 21 Февраля 2019 Поделиться Опубликовано 21 Февраля 2019 Есть один вопрос. Как сделать через движок отдельную заглушку музыкального эмбиента на локациях? Как в OGSR например, но без перезахода на локацию. Хотелось бы чтобы всё срабатывало сразу и так же сразу его можно было бы обратно включить. Ссылка на комментарий
НаноБот 735 Опубликовано 28 Февраля 2019 Поделиться Опубликовано 28 Февраля 2019 (изменено) Тут, кое кто, писал о проблеме потери патронов в шотгане при загрузке. Скрытый текст BOOL CWeaponShotgun::net_Spawn(CSE_Abstract* DC) { BOOL res = inherited::net_Spawn(DC); CSE_ALifeItemWeaponShotGun* E = smart_cast<CSE_ALifeItemWeaponShotGun*>(DC); u32 ammoCount = E->m_AmmoIDs.size(); if(ammoCount>0){ m_magazine.clear(); for (u32 i=0; i<ammoCount; i++){ u8 ammoType = E->m_AmmoIDs[i]; CCartridge cartidge; cartidge.m_flags.zero(); cartidge.Load(*m_ammoTypes[ammoType], ammoType); m_magazine.push_back(cartidge); } } return res; } Ещё надо в заголовках не забыть прописать этот метод. virtual BOOL net_Spawn (CSE_Abstract* DC); Да если кто не заметил, то при загрузке, весь магазин шотгана оказывается заряжен последним типом патрона, наследник РГ-6 соответственно тоже. Изменено 28 Февраля 2019 пользователем НаноБот ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Tolyan 7 Опубликовано 3 Марта 2019 Поделиться Опубликовано 3 Марта 2019 (изменено) Ребят, поясните с чего начать, чтобы поковырять движок. Я ноль в программировании, но принцип мне понятен. Я имею ввиду, что разобраться постепенно я смогу. Вопрос с чего начать? Допустим движок версии ТЧ, для начала неплохо было бы научиться разбирать и собирать... Изменено 3 Марта 2019 пользователем Tolyan Ссылка на комментарий
WizziGun 376 Опубликовано 3 Марта 2019 Поделиться Опубликовано 3 Марта 2019 @Tolyan, Мой опыт окончился на том что я скачал исходники, и установил студию. Всё ☭- Пролетарии всех стран, соединяйтесь! Ссылка на комментарий
Tolyan 7 Опубликовано 3 Марта 2019 Поделиться Опубликовано 3 Марта 2019 3 минуты назад, WizziGun сказал: @Tolyan, Мой опыт окончился на том что я скачал исходники, и установил студию. Всё А откуда качать их? И какие студии нужны для открытия и как это вообще делать? Есть где-то хоть какие-то инструкции? Ссылка на комментарий
WizziGun 376 Опубликовано 3 Марта 2019 Поделиться Опубликовано 3 Марта 2019 (изменено) @Tolyan, Как я заметил, основная тусовка парней которые в этом точно шарят на gameru. ИМХО Изменено 3 Марта 2019 пользователем WizziGun 1 ☭- Пролетарии всех стран, соединяйтесь! Ссылка на комментарий
Tolyan 7 Опубликовано 3 Марта 2019 Поделиться Опубликовано 3 Марта 2019 @WizziGun, Хотелось бы тут узнать, регаться на другом форуме вообще не хочется. Ну в конце концов может кто-то знающий прочитает мои посты.. 1 Ссылка на комментарий
AndreySol 215 Опубликовано 3 Марта 2019 Поделиться Опубликовано 3 Марта 2019 33 минуты назад, Tolyan сказал: регаться на другом форуме вообще не хочется. У тебя с этим проблемы ? 1 час назад, Tolyan сказал: Вопрос с чего начать? Начни с этого... 2 Ссылка на комментарий
Tolyan 7 Опубликовано 3 Марта 2019 Поделиться Опубликовано 3 Марта 2019 @AndreySol, Нет. Я просто не хочу регаться на другом форуме. За ссылку спасибо, посмотрел. Пока конечно, ничерта не понятно)) Ссылка на комментарий
Minya 800 Опубликовано 4 Марта 2019 Поделиться Опубликовано 4 Марта 2019 Доброе утро всем всем всем. Парни Вы смотрели фильм " Тупой ещё тупее". Это про меня. Хуч убейте, ни как не могу понять. Игра одна. Движок один и тот же. Патчи разные. Почему я не могу взять блоки из движка первого патча и тупо вставить в движок пятого патча? Я не вношу ни каких изменений. Эти блоки с этого движка. Тем более они вырезаны только в xrGame.dll. В XR_3DA они присутствуют, и в остальных файлах тоже. Ссылка на комментарий
lordmuzer 743 Опубликовано 4 Марта 2019 Поделиться Опубликовано 4 Марта 2019 (изменено) @Minya это странное описание для модификаций движка и программ в целом. Нету там никаких блоков. Любая версия (читай патч) движка - это правильно собранный (скомпилированный) набор инструкций и данных который может выполнять операционная система. Нельзя взять кусок этого в засунуть в другой файл. Частично это можно делать, пример проект XRE, но сложность таких изменений еще выше чем сборка из исходников. Если есть желание вносить туда правки - добро пожаловаться в мир движков из исходников. Пример проекта для ТЧ https://github.com/OGSR/OGSR-Engine Сложность сборки минимальная, сложность правок уже зависит от того, что хочеться поменять. ЗЫ: это если я правильно понял смысл вопроса, если нет - уточняйте. Изменено 4 Марта 2019 пользователем lordmuzer 1 Ссылка на комментарий
AndreySol 215 Опубликовано 4 Марта 2019 Поделиться Опубликовано 4 Марта 2019 (изменено) 20 часов назад, Tolyan сказал: Пока конечно, ни черта не понятно)) Начало для всех одинаковое: - скачать исходники соответствующей версии движка. - скачать VS от мелкомягких, установить, запустить. - портировать проект в выбранную студию. Родная VS, в которой изначально создан движок ТЧ(для других частей не знаю) - Visual Studio 2005. В статье, с указанного выше ресурса, "Сборка движка X-Ray" - читаем как портировать проект на более современную студию(там для 2010 разжевано). - собираем проект. Если все срослось - радуемся жизни. Если нет - курим скачанные из инета самоучители по работе с VS, задаем вопросы в профильных темах тута и на Stalkerin. - после того, как удалось собрать проект, на мой взгляд лучше всего начать с внесения мелких правок, описанных в теме "Мелкие правки движка". Полезно будет для начала. Изменено 4 Марта 2019 пользователем AndreySol 1 1 Ссылка на комментарий
Minya 800 Опубликовано 4 Марта 2019 Поделиться Опубликовано 4 Марта 2019 (изменено) 1 час назад, lordmuzer сказал: ЗЫ: это если я правильно понял смысл вопроса, если нет - уточняйте. Уточняю. В ОП-2.1 разработчики вырезали в третьем патче команду blinker. Вырезана она только в движке xrGame.dll. Я установил программу IDA PRO, обнаружил от куда её вырезали. В остальном он везде присутствует. Может я туплю, прошу не судить строго. В этой команде два блока. Взять эти блоки из первого патча и вставить в пятый. Вот я и хотел узнать что для этого требуется? Игра одна движки одни и те же. Я не собираюсь вносить изменения в движок. просто слегка подлечить. Изменено 4 Марта 2019 пользователем Minya Ссылка на комментарий
lordmuzer 743 Опубликовано 4 Марта 2019 Поделиться Опубликовано 4 Марта 2019 (изменено) Такой возможно. Но туториала как сделать - нету. Это с родни правок exe файлов на ассемблере. Нужно точно знать что ты правишь и где. Просто так вставить в то же самое место не получиться. Изменено 4 Марта 2019 пользователем lordmuzer 1 Ссылка на комментарий
AndreySol 215 Опубликовано 4 Марта 2019 Поделиться Опубликовано 4 Марта 2019 @Minya, Тебе наверное в соседнюю тему "X-Ray extensions", там основное обсуждение ассемблерных врезок в движок... Ссылка на комментарий
Minya 800 Опубликовано 5 Марта 2019 Поделиться Опубликовано 5 Марта 2019 (изменено) @AndreySol Там тишина. Изменено 5 Марта 2019 пользователем W.A.S.P. оверквотинг Добавлено Опричник, 5 Марта 2019 Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/ Ссылка на комментарий
Romann 619 Опубликовано 24 Марта 2019 Поделиться Опубликовано 24 Марта 2019 Всем привет, кто нибудь делал подобную правку на ЗП? Подскажите куда копать? Ибо в ЗП иной спавн/респавн артов. Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
AndreySol 215 Опубликовано 4 Апреля 2019 Поделиться Опубликовано 4 Апреля 2019 Нашел такое в движке: Скрытый текст LPCSTR CFontManager::GetFontTexName (LPCSTR section) { static char* tex_names[]={"texture800","texture","texture1600"}; int def_idx = 1;//default 1024x768 int idx = def_idx; #if 0 u32 w = Device.dwWidth; if(w<=800) idx = 0; else if(w<=1280)idx = 1; else idx = 2;#else u32 h = Device.dwHeight; if(h<=600) idx = 0; else if(h<=900) idx = 1; else idx = 2;#endif while(idx>=0) { if( pSettings->line_exist(section,tex_names[idx]) ) return pSettings->r_string(section,tex_names[idx]); --idx; } return pSettings->r_string(section,tex_names[def_idx]); } Поясните, как работает в этом случае #if 0... ? Ссылка на комментарий
lordmuzer 743 Опубликовано 4 Апреля 2019 Поделиться Опубликовано 4 Апреля 2019 Никак по сути. Часть кода между #if 0 ... #else никогда не будет выполняться Ссылка на комментарий
AndreySol 215 Опубликовано 7 Апреля 2019 Поделиться Опубликовано 7 Апреля 2019 Скрытый текст void CFontManager::Render() { FONTS_VEC_IT it = m_all_fonts.begin(); FONTS_VEC_IT it_e = m_all_fonts.end(); for (; it != it_e; ++it) { if (**it) (**it)->OnRender(); } } Кто в курсе, для чего собственно это ->OnRender() ? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти