Получается вот это:
- Код: Выделить всё
random_device rd;
mt19937 gen(rd());
uniform_int_distribution<int> uid(1, 100);
Можно заменить, например, вот этим:
- Код: Выделить всё
mt19937 gen(2147483647);
uniform_int_distribution<int> uid(1, 100);
Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Как создать плагин для HD модаНо этот способ у Мерсенна будет более оптимален чем у Randint, даже без случайного seed, так же?
Получается вот это:
Можно заменить, например, вот этим:
|
Re: Как создать плагин для HD модаДля генерации случайных событий в бою вполне достаточно того ГПСЧ, который есть. Но подойдёт и Mersenne twister с установкой одинакового Seed для обоих игроков.
|
Re: Как создать плагин для HD модаОк. С ГПСЧ разобрались.
AlexSpl, у меня сейчас возникла необходимость написать плагин к HD-моду, который бы подтягивал портреты героев (меленький и большой) и заменял бы оригинальные картинки теми, которые находятся в папке с плагином при подключении этой папки-плагина с самим плагином и кастомными картинками к HD-моду. Все дело в том, что мод сейчас не подтягивает именно портреты героев как из "Папка_с_игрой\Data", так и с "Папка_с_игрой\_HD3_Data\Common". Остается только один выход - перепаковка ресурсов игры (lod-файлов), что не совсем удобно. Вот, например, наименования портретов Оррина: hps000kn.pcx (маленький) и hpl000kn.pcx (большой). Мне бы пример с заменой по одному герою, а для остальных бы я и сам, думаю, сделал. Всего, кстати, 163 маленьких и 163 больших портретов героев (144 дефолтных героя и 19 из кампаний и тп). Хотя если есть возможность сделать без прописывания оригинальных названий картинок по каждому герою, то было бы вообще здорово. Просто все картинки, которые находятся в папке с плагином (в оригинальном формате *.pcx) и совпадают по названию с оригинальными подгружаем вместе с плагином и подменяем нашими кастомными картинками оригинальные. Есть вообще идеи как это сделать? |
Re: Как создать плагин для HD модаПоменять портрет одного героя на портрет другого легко. Например, Оррина на Валески:
Можно прописать полный путь к кастомным портретам (как получить текущую директорию, Вы знаете), но это вряд ли сработает (хотя попробовать стоит). Если не сработает, нужно хукать функцию, отображающую портреты. Брейкпоинт на перечисленные выше поля - и вперёд |
Re: Как создать плагин для HD модаAlexSpl писал(а): Вот здесь поподробней, пжл. Лучше, конечно, с готовым примером, например, на примере портретов Оррина. Или это решается сразу для всех подгружаемых вместе с плагином портретов? Хук один нужен будет? |
Re: Как создать плагин для HD модаЕсли Вам так интересен моддинг, почитали бы для начала про ассемблер и IDA. С++ Вы же знаете. Без хотя бы базовых знаний, требующихся для реверсинга, много не наплагинишь Я могу, конечно, помочь, но основную работу Вы должны сделать самостоятельно.
|
Re: Как создать плагин для HD модаЦитата: Очень интересен на самом деле. Обязательно почитаю и поизучаю как появится больше свободного времени. Цитата: Ну знаете это громко сказано. Самые азы разве что. Цитата: Пока будьте добры немного помогите. В моем списке плагинов, которые мне нужно закончить уже немного осталось. Буду пытаться сам делать то, что знаю. Но кроме ассма и IDA я еще не так глубоко знаю Героев как Вы изнутри. |
Re: Как создать плагин для HD модаЗамена портретов - отличный способ попрактиковаться в реверсинге для начинающего мододела. Попробуйте хотя бы с помощью брейкпоинтов найти функцию, которая отображает большой портрет в окне героя. Самые азы в этой теме (жаль, правда, картинки удалили). Вам понадобится IDA, адрес поля _byte_ pic; // +52 (я надеюсь, этого будет достаточно) какого-нибудь героя и брейкпоинт на чтение этого поля.
|
Re: Как создать плагин для HD модаА что за формат PCX используется? Я сохранил портрет в формате PCX в mtPaint, и игра пытается подгружать его из папки DATA после замены hpl_name, но, может быть, я размеры перепутал или формат, потому как вместо того, чтобы отобразить портрет, игра показывает окно командной строки с полным путём к портрету, а после закрытия этого окна завершает работу.
Даже если распаковать какой-нибудь портрет с помощью MMArchive в формате PCX и положить его в DATA, возникает эта ошибка (в HD_TC2.dll + 0x4882). * * * Так, разобрался. HD мод подтягивает портреты уже в формате BMP. Просто пересохраните портрет в формате PCX в BMP. Можно кидать не только в корень, но и во вложенные папки (в этом случае относительный путь придётся прописать в hps_name и hpl_name). Последний раз редактировалось AlexSpl 20 апр 2021, 17:37, всего редактировалось 1 раз.
|
Re: Как создать плагин для HD модаAlexSpl писал(а): Поставил IDA 7.0 причем платную пропатченную версию с расширенным функционалом. Есть также WinHex и Hex Editor Neo. AlexSpl писал(а): Я без понятия что это и как ставить эти брейкпоинты. По ссылке, которую вы дали речь за Герои 2. Я понимаю, что там все похоже делается, но есть и нюансы, плюс все Ваши картинки умерли. Очень сложно без них разобраться в общем. Да и Вы сами же писали: AlexSpl писал(а): Какие есть варинты? 1. Вы можете быстро помочь найти адрес хука лично. 2. Помогать пошагово здесь уже по моей задаче подробно с картинками на моем примере (по ассемблеру, отладке, поиску адресов, IDA + WinHex). 3. Написать подробную детальную инструкцию по всем приемам и нюансам отладки, анализа кода и поиска адресов для хуков для Героев 3 (IDA + WinHex/Hex Editor Neo), как для найболее популярной в плане моддинга части Героев (да и вообще), особенно после появления патчера. Такой темы до сих пор нет. Понимаю, что на это нужно много времени и сил. Это большой труд. Но именно по этой причине большинство начинающих мододелов быстро забрасывают эту тему. Тех кто это умеет можно пересчиать по пальцам одной руки. Среди постоянных посетителей данного форума Вы, вероятно, лучше всех знаете ассемблер и лучше всех владете реверс-инжинирингом. Так что писать и помогать то особо и некому. Те кто пытаються что-то сделать и в чем-то разобраться в любом случае будут задавать вопросы, все знать невозможно. Тот кто не спрашивает, значит даже и не пытается. Но много ли за последний год появилось новых активных мододелов, которые задают вопросы и пытатються что-то сделать? Очевидно, что первый вараинт самый быстрый и простой. Третий самый объемный. Но если будет такая тема, то, вероятно, появится и больше мододелов. Можно пойти по второму варианту, что-то среднее между первым и вторым. Выбор за Вами. Последний раз редактировалось Rolex 20 апр 2021, 17:43, всего редактировалось 4 раз(а).
|
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2