Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Шестой слот для "разного"
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды
Страницы: 1, 2
feanor
Плагин для ЭРЫ, убирающий катапульту и позволяющий использовать освободившееся место под 6-ой слот типа "Разное" для артефактов.
Скачать набор:
Ссылка №1
Ссылка №2 (прямая!)
Автор плагина: Feanor
Коррекция графики: FCst1
Скриншот:

Инструкция по установке:
1) распаковать в корневой каталог Героев (например, C:\Games\Heroes3Wog)
2) запустить ERA 1.6 (1.7; 1.8)
3) наслаждение!
----------------------------------------------------
Оригинальный пост.
FCst1
Работает. Спасибо!
feanor
http://slil.ru/29538591

[+] изменены координаты для экрана героя, экрана встречи и жертвенника. Теперь шестой слот находится под правой рукой героя (как на скринах Хоты). Не поправлены пока в Торговцах Артефактами. Графика не изменена!
[+] артефакты из шестого слота можно продавать у Торговцев Артефактами. БМ и книгу - нет.

Кто-нибудь знает, как зовется спрайт желтой рамки в диалоге Торговцев?

Исходники:
Код
#include "main.h"

#define OPCODE_JUMP 0xE9
#define OPCODE_CALL 0xE8
#define OPCODE_NOP 0x90

#define HOOKTYPE_JUMP 0
#define HOOKTYPE_CALL 1

#define HOOK_SIZE 5

__fastcall int (*sub_4EA800)(int _this, int edx, short a2, short a3, short a4, short a5, short a6, const char *Source, int a8, int a9, char a10, short a11, short a12) =
(__fastcall int (*)(int , int , short , short , short , short , short , const char*, int, int, char, short, short))(0x4EA800);

inline void WriteHook( void *pOriginal, void *pNew, char type )
{
   *(byte*)pOriginal = (type==HOOKTYPE_JUMP)?OPCODE_JUMP:OPCODE_CALL;
   *(void**)( (byte*)pOriginal + 1 ) = (void*)( (byte*)pNew - (byte*)pOriginal - HOOK_SIZE );
}


__fastcall int HeroScrCoordFix(int _this, int edx, short a2, short a3, short a4, short a5, short a6, const char *Source, int a8, int a9, char a10, __int16 a11, __int16 a12)
{
   return(sub_4EA800( _this,  edx, 366, 135,  a4,  a5,  a6, Source,  a8,  a9,  a10,  a11,  a12));
}


void PatchGame()
{
   char _hack[10]={0xC6, 0x05, 0x0E, 0x39, 0x69, 0x00, 0x55, 0x90, 0x90, 0x90};
   *(char*)(0x5AFA8F+2) = 0xFF;    //spell book can be exchanged
   *(char*)(0x5AFA98+2) = 0xFF;    //catapult   can be exchanged

   //warfare and spellbook can be putted into backpack
   *(char*)0x4E3222 = 0xFF;
   *(char*)0x4E322B = 0xFF;
   *(char*)0x4E3234 = 0xFF;
   *(char*)0x4E3219 = 0xFF;


   *(char*)(0x4DE112+2) = 0xFF; //unlocking catapult slot

   //*(char*)(0x69390E) = 5; //allowing to misc arts be placed in catapult slot
   //memset((void*)0x44C9AA,0x90,5);

   //*(int*)0x44C9AB = 0x693910;
   //memset((void*)0x4D8BDD,0x90,10); //no more catapult
   memcpy ((void*)0x4D8BDD, (void*)_hack, 10);

   //coords
   //change screen patch

   *(int*)0x5AD153 = 96;
   *(int*)0x5ADCA7 = 96;

   *(int*)0x5AD14E = 293;
   *(int*)0x5ADCA2 = 293;


   *(int*)0x5ACB6B = 528;
   *(int*)0x5AD6F9 = 528;

   *(int*)0x5ACB66 = 293;
   *(int*)0x5AD6F4 = 293;

   //altar patch
   *(int*)0x6412B8 = 65;
   *(int*)0x6412BC = 131;

   //merchant
 //  *(char*)0x5EEAB5 = 1;  //unlocking slots
 //  *(char*)0x5EEAB6 = 1;
 //  *(char*)0x5EEAB7 = 1;
   *(char*)0x5EEAB8 = 1;   //unlocking catapult slot
 //  *(char*)0x5EEAB9 = 1;

 //mainheroscreen
 WriteHook((void*)0x4E049C, (void*)HeroScrCoordFix,HOOKTYPE_CALL);
 WriteHook((void*)0x4E0A9A, (void*)HeroScrCoordFix,HOOKTYPE_CALL);



}

extern "C" __stdcall BOOL DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
   switch (fdwReason)
   {
       case DLL_PROCESS_ATTACH:
           PatchGame();
           break;

       case DLL_PROCESS_DETACH:
           // detach from process
           break;

       case DLL_THREAD_ATTACH:
           // attach to thread
           break;

       case DLL_THREAD_DETACH:
           // detach from thread
           break;
   }
   return TRUE; // succesful
}


Добавлено ([mergetime]1281096968[/mergetime]):
Кстати, ТА не умеют работать и c SoD'овским пятым слотом.
gamecreator
надеюсь, в бою катапульта осталась?
Цитата(feanor @ 06 Aug 2010, 16:16)
Кстати, ТА не умеют работать и c SoD'овским пятым слотом.
да, есть такое sad.gif наверно добавляли как и ты, но не доделали.
feanor
Цитата
надеюсь, в бою катапульта осталась?

угу, осталась. Я не являюсь горячим фанатом НоММ1 smile.gif
В экзешнике даже нет связи между наличием артефакта "катапульта" и появлением существа "катапульта" при осаде.
gamecreator
Цитата(feanor @ 06 Aug 2010, 16:28)
В экзешнике даже нет связи между наличием артефакта "катапульта" и появлением существа "катапульта" при осаде.
а нафига он тогда нужен? tongue.gif
feanor
Ну..вероятно, чтоб выпилить его и отдать слот под "разное".

Хы, а вот и баги пошли.
  • Если надеть, скажем, Колодец Маны и Лук Снайпера - на шестом слоте не будет отображаться замок.
  • Какие-то эпизодические непонятки с героями, у которых на старте есть БМ.
    То их нет, то они есть, то их аж две штуки.
  • Возможно, шестой слот будет себя некорректно вести при сдаче в битве.
FCst1
Графика для шестого слота и сам плагин на шестой слот:
Сделано на коленке, особо не тестил...
Нужна Эра.
Распаковать в основную папку Героев.
feanor
По ссылке что-то не то..
Цитата
02-paranoize_-_night_projection-upe.mp3 (11 МБ)
Файл удален. Download 02-paranoize_-_night_projection-upe.mp3 from USENET for free!
feanor

оппа..
FCst1
Ну вот и славно, добавляю в первый пост smile.gif

Добавлено ([mergetime]1281101064[/mergetime]):
Добавил...
feanor
Если что, скриншот был демонстрацией одного бага (:
FCst1
Ага, заметил smile.gif
PS. Это ФИЧА!!1
Berserker
Ну, всё равно славно smile.gif
FCst1
серый, я не понял, что ты написал... и не уверен, что ты сам понял. facepalm.gif
Vade Parvis
Серый дело написал smile.gif Логичная возможность при определённых условиях герою покупать две или более одинаковые БМ и ставить их в разные слоты.
FCst1
Но сначала нужно спрашивать, реализуемо ли это!
Vade Parvis
Была, кстати, идея артефактных книг заклинаний, заменяющих стандартную (без потери героем заклов!) и дающих дополнительный бонус.
Grand Elf
Цитата(feanor @ 06 Aug 2010, 15:33)
Хы, а вот и баги пошли.
  • Если надеть, скажем, Колодец Маны и Лук Снайпера - на шестом слоте не будет отображаться замок.

А при разборке сборок, все артифакты на месте?
SerAlexandr
Цитата(cерый @ 06 Aug 2010, 21:14)
1 - почему книга в отдельном слоте, а не в руке, или например на шее на цепи ?
2 - Палатку первой помощи, можно носить как плащ-палатку.
3 - Встаём ногами в подводу с боеприпасами и подвязываем её к лошади - итог + 1 слот для армии.

Лично я бы, будучи героем, так бы и сделал.

1. Без книги герой не ходит никогда (кроме первых пары дней), занимать под нее слот меча или ожерелья - бессмысленно, меч/ожерелье не будут носить.
2,3 - ну дак они же не пустые. Подвода заполнена стрелами, а палатка - склянками и запчастями.

Кстати, счас задумался - что надо положить в подводу, чтобы повысились снаряды у бешков, элей, титанов etc ?
feanor
Цитата
Кстати, счас задумался - что надо положить в подводу, чтобы повысились снаряды у бешков, элей, титанов etc ?

Какие нибудь амулеты/сферы зарядов/заряженные конденсаторы.
Цитата
А при разборке сборок, все артифакты на месте?

Если не накрыть слот с замком другим артефактом (см.скрин) - на месте.
Цитата
Была, кстати, идея артефактных книг заклинаний, заменяющих стандартную (без потери героем заклов!) и дающих дополнительный бонус.

Посмотри предпоследнюю страницу "флуда" (:
хотя на самом деле там куча проблем
feanor
Я вас достал апдейтами, нэ?)

http://slil.ru/29539797
кажется, убил баги с сборниками и со стартовыми БМ.
С переходом артов при проигрыше боя - тоже все нормально.
FCst1
Гм, теперь нужно добавить это в полную сборку.
feanor
Думаю, пока не надо. Добью до чего-нить, похожего на финал, тогда и залью полную версию на нормальный хостинг.
FCst1
http://slil.ru/29539841
http://rghost.ru/2285467

Добавлено ([mergetime]1281124447[/mergetime]):
Да ничего, у меня теперь безлимиткa - делаю то, что хочу biggrin.gif

Добавлено ([mergetime]1281124537[/mergetime]):
Нужен добротный скрин...
Vizit0r
очень мило, надеюсь это попадет в какой-то из релизов
feanor
http://waper.ru/file/1418986/Release.rar
убит один баг (не, я определенно кретин. Перепутал на экране обмена правого и левого игроков) и добавлена работа с торговцами артефактами. Если завтра при проверке не случится еще какой фигни - все, релиз.
В архив добавлены сорцы и хинтфайл.
Алсо, скриншот.
FCst1
Полная сборка:
http://rghost.ru/2286062
Прямая ссылка:
http://tp-mod.ucoz.net/files/6th_Slot_Full.7z
В архив включено окно для Торговца Артефактами!

Добавлено ([mergetime]1281130808[/mergetime]):
А, да, без сорцев, но кому надо - скачают релизную.
Valery
Is it possible, by the same procedure, to enable hitting castle gates and destroy them?
I am dying to find a way to break the gate only using a roman Batteringram like this:



I know they have hit point, but only related to ballistic shoot?
FCst1
Небольшое дополнение для пользователей NI-Мода.
http://tp-mod.ucoz.net/files/nim/HEROSCR4_6thslot_NIM.7z
Экран Героя в стиле NIM.

Добавлено ([mergetime]1281291624[/mergetime]):
Скриншот:
feanor
Багрепорт автору.
Катапульта таки появляется, если в редакторе карт у героя настроены артефакты.

Добавлено ([mergetime]1281368518[/mergetime]):
Багрепорт принят. Нужно за-nop-ить команду по адресу 750321. Правда, это вызовет тонны разных глюков ^^.
Офф: никого не смущает, что я сам с собой разговариваю?
А то я имею склонность забывать все накопанное. Или забывать, куда записал накопанное.
sergroj
44C8D0 - настраивает маски замков на слотах. После нее надо [$69391C] прибавить к [$69390C] и занулить [$69391C].
feanor
В общем-то, если "[$69391C] прибавить к [$69390C] и занулить [$69391C]", то слот катапульты для "разного" блокируется. Я ведь прямо обратное в длл и делаю.
gamecreator
а замок появляется?
sergroj
Цитата(feanor @ 10 Aug 2010, 13:59)
В общем-то, если "[$69391C] прибавить к [$69390C] и занулить [$69391C]", то слот катапульты для "разного" блокируется. Я ведь прямо обратное в длл и делаю.

Почему? Это сделает слот катапульты слотом для разного. А как ты делаешь?
feanor
http://waper.ru/file/1492659/download/efcc...04/6th_slot.rar
разнообразия ради, исправил баг с 255ым артефактом
зачем?
Не знаю ведется ли еще работа над 6 ым слотом, плагин стоящий, но все таки о багах:
1) уже упоминался, в посте 11, потом вроде feanor говорил что избавился от бага сборников, не уверен что он этот баг имел в виду. В любом случае у меня он наблюдается (пробовал качать как с 1ого поста, так и с 37)
2) судя по всему есть конфликт со скриптом "Усиление артефактов", при правом клике по сборному выдает ошибку ERM.
3) ну и последний мелочь, проблемы с цветовой гаммой в торговцах артефактами (при продаже артов), возможно что только у меня, хотя в остальных местах все нормально.


UPD: Хотя насчет 2 ого бага наврал, похоже из за Эры это
Haart of the Abyss
Как это выглядит с главки:
Цитата
Шестой слот для "Разного"
зачем?

Заставляет задуматься.
FCst1
Цитата(зачем? @ 05 Mar 2011, 02:04) *
3) ну и последний мелочь, проблемы с цветовой гаммой в торговцах артефактами (при продаже артов), возможно что только у меня, хотя в остальных местах все нормально.
Ага, а я не замечал... Хорошо, сейчас исправим...
feanor
Цитата
при правом клике по сборному выдает ошибку ERM.

Это проблемы совместимости скрипта с Эрой. Где-то был фикс..
зачем?
Спасибо фикс поищу, а что насчет 1 ого бага, он есть или опять у меня проблемы ? Просто у меня постоянно навязчивая идея что я что то неправильно поставил, что то скачал не оттуда (старую версию) или еще что нибудь неправильно сделал )
FCst1
Проверил изображение. Не знаю, в чём проблема, с палитрой всё нормально.
feanor
Цитата
а что насчет 1 ого бага, он есть или опять у меня проблемы

а черт его знает. Что-то там неправильно работает, но как, где, когда и при каких условиях - я забыл
зачем?
Цитата(feanor @ 05 Mar 2011, 01:40) *
а черт его знает. Что-то там неправильно работает, но как, где, когда и при каких условиях - я забыл

Понятно, и на том спасибо )

Цитата(FCst1 @ 05 Mar 2011, 00:24) *
Проверил изображение. Не знаю, в чём проблема, с палитрой всё нормально.

Хммм... может пока сюда выкладывал что то с ним случилось (ты же наверняка пробовал с тем, который рисовал сам, а не скачивал отсюда)? Пробую запихнуть его в лод через MMArchive - пишет invalid PCX file. Заметил еще что фон у меня синий, хотя играю я за красного.
Достал из лода этот же файлик, дорисовал слоты, вставил в лод - все цвета в норме. Ну в общем то уже не важно, я думаю, т.к. у меня одного такая проблема.

P.S. Раз уж на то дело пошло, не подскажете как из лодов доставать PCX без преобразования в BMP, пробовал разные редакторы, все в BMP достают. Найденные конвертеры BMP-PCX в теме полезных утилит тоже отказываются корректно работать, а то BPM файлики не подцепить из папки DATA.
FCst1
В лодах лежат BMP с подписью '.PCX'.
И PCX в лод не положишь, это невозможно. Данные изображения должны лежать в папке Data.
packa
А подскажите из какого поста писать, и какое описание брать?
Описание я так понял с 1-го поста, но смутило то, что со старым описанием - небо и земля...
зачем?
Цитата(FCst1 @ 05 Mar 2011, 08:11) *
В лодах лежат BMP с подписью '.PCX'.
И PCX в лод не положишь, это невозможно. Данные изображения должны лежать в папке Data.

Покапался немного, возможно информация кому то пригодится. Там не bmp, а Zsoft Paintbrush, если просто нарисовать bmp допустим в пейнте, переименовать в pcx и засунуть в дату, то игра вылетит (по крайней мере у меня). Кроме того, там опять же не простой Zsoft Paintbrush, а со сжатием RLE. Если кароче, то можно производить конвертацию любым редактором который может сохранять PCX со сжатием RLE. Первый который мне под руку подвернулся был XnView, легко рисую что надо в любом графическом редакторе и конвертирую c помощью XnView в PCX который подходит для героев. Нарисовал таким способом новый экран для торговцев артефактами, с которым у меня все нормально, выкладываю здесь, мало ли еще у кого-нибудь такие же проблемы будут, я ж не 1 такой).
Слот катапульты не убирал, потому что иногда играю по сети в SOD на тех же лодах, а там катапульта без слота выглядит не очень. Вообще подумываю перерисовать все экраны вместе с катапультой в слоте, вроде как и она на месте и слот новый добавился).

Кстати пока всем этим занимался, заметил что в торговцах артефактами отсутствует 5 ый оригинальный доп слот, артефакт там просто не видно, а если использовать стандартный PCX то и слота нету. Видимо баг разработчиков при переходе от AB к SOD.

По поводу невозможности запихивания PCX в лод, я вроде без проблем запихиваю через стандартный H3wUpd.exe или через MMArhive - все работает (копии PCX из папки DATA удаляю), в т. ч. без проблем запихиваются HEROSCR4.PCX и HEROSCR5.PCX (кстати не нашел оригинально файла с таким именем, может тут ошибка и он не нужен ?) из архива 6th_Slot_Full.7z, а вот TPMrkAsS.PCX не хочет, пишет invalid PCX. Возможно дело в разных версиях, у меня вог ставился на лицензионную английскую Heores 3 complete.

TPMrkAsS.PCX
FCst1
Цитата(зачем? @ 05 Mar 2011, 02:04) *
3) ну и последний мелочь, проблемы с цветовой гаммой в торговцах артефактами (при продаже артов), возможно что только у меня, хотя в остальных местах все нормально.
Прошу меня извинить, да, эта ошибка действительно присутствовала! (просто я посмотрел другой файл, в котором всё было в порядке)
Спасибо за то, что помогли её найти и устранить.
Обновил сборку.


Обновил первый пост.
Bes
http://files.mail.ru/0WU0ZF

Видео,показывающее баг со сборными артами, а точнее с замочками

Описание бага:
возможность поместить лишний артефакт, в то время как сборный артефакт должен блокировать все свободные слоты "замочками"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.