Current time: 23.03.2024, 07:47 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA II
» WoG Era 2: Русская и Английская версии
Author Message
igrik Offline
Administrators

Posts: 2807
Post: #2956

Кстати, Berserker, ты в Эру не добавлял расчет AI_Value и Fight_Value командиров?
Если нет, то вот рабочий код:

Code:
// ===============================================================================
//                              добавление AIValue командира
// ===============================================================================

_int64_ getAIValue_NPC(int heroID){

    if ( heroID < 0 && heroID > 155 )
        return 0; // выход, если номер героя неправильный

    _Npc_* npc = GetNpc(heroID);                // структура командира
    if ( npc->on < 1 || npc->alive ) return 0;    // выход, если командиров нет (-1), уволен или мертв

    _Hero_* hero = o_GameMgr->GetHero(heroID);

    _int64_ value = 0;

    int attNPC = Get_NpcSkillPower(npc, 0);        
        attNPC += hero->attack;    

    int defNPC = Get_NpcSkillPower(npc, 1);        
        defNPC += hero->defence;

    int hpNPC = Get_NpcSkillPower(npc, 2);    
    int damageNPC = Get_NpcSkillPower(npc, 3);    
    int speedNPC = Get_NpcSkillPower(npc, 5);                                
    int isShoot = npc->specBon[0] & 0x10 ? 2 : 1;

    // формула: (атака * макс.урон * скорость * стреляет [1-нет / 2-да] + защита * здоровье ) / 2
    value = (_int64_)((attNPC * damageNPC * speedNPC * isShoot + defNPC * hpNPC) >> 2);
    return value;
}

bool check_AIValue_isNotHero = false;

_int64_ __stdcall get_AIValue_Hook(HiHook* hook, int army)
{
    _int64_ value;

    int armyNPC = army;

    value = CALL_1(_int64_, __thiscall, hook->GetDefaultFunc(), army);

    if (!check_AIValue_isNotHero) {
        int heroID = *(int*)(armyNPC -119);

        if ( heroID >= 0 && heroID < 156)
            value += getAIValue_NPC(heroID);

    }
    check_AIValue_isNotHero = false;
    return value;
}


int __stdcall get_AIValue_And_NPC_Error(LoHook* h, HookContext* c)
{
    check_AIValue_isNotHero = true;
    return EXEC_DEFAULT;
}

int __stdcall get_Fight_Value_Hook(LoHook* h, HookContext* c)
{
    _Hero_* hero = o_BattleMgr->hero[c->ebx];

    if (!hero) return EXEC_DEFAULT;

    c->ecx += getAIValue_NPC(hero->id);

    return EXEC_DEFAULT;
}

// ==========================================================================
// ==========================================================================

// исправление бага блока командира, когда защита падала из-за флага "в защите"
_PI->WriteCodePatch(0x76E7D7, "%n", 24); // 15 nop
_PI->WriteCodePatch(0x76E80B, "%n", 13); // 13 nop
_PI->WriteHexPatch(0x76E7D7, "8B4D 08 C601 01 C641 02 04");    

// добавляем расчет командиров в проверку Fight_Value
_PI->WriteLoHook(0x41EAD2, get_Fight_Value_Hook);

// продобавляем в расчет AI_Value и расчет командиров
_PI->WriteHiHook(0x44A950, SPLICE_, EXTENDED_, THISCALL_, get_AIValue_Hook);
// ставим лоухук, чтобы понять что идет расчет AI_Value без наличия героя
_PI->WriteLoHook(0x5C1867, get_AIValue_And_NPC_Error);
_PI->WriteLoHook(0x42758F, get_AIValue_And_NPC_Error);
_PI->WriteLoHook(0x42CA6B, get_AIValue_And_NPC_Error);
_PI->WriteLoHook(0x52846A, get_AIValue_And_NPC_Error);


game bug fixes extended.dll || My Plugins || My GitHub
06.06.2018 15:48
Visit this user's website Find all posts by this user Quote this message in a reply
Heromant Offline

Posts: 348
Post: #2957

(06.06.2018 15:23)Berserker Wrote:  Heromant, так в HD+ нет ЕРМ/Луа/Плагинов и иной нагрузки в бою. Большинство скриптов считают по мануалу, что бои с ИИ только расчётные. Прикинь, проигрывание звуков и попытки проигрывания анимации в таком быстром бою. А то ещё и всплывающий диалог. В целом идею, конечно, понимаю, но она ведь неспроста отключена в HD+ для Вога?
Кто-то хочет играть в WoG/ERA только с баллансирующими настройками с небольшим четко ограниченным набором скриптов. Я прекрасно понимаю, что Бараторч включил "защиту от дураков". Но думаю, если тщательно проверить каждый активируемый ERM скрипт, касающийся боёвки, то нормально будет. Не будут работать нормально только те, в которых делается предположение, что если быстрый бой, то в нём одна из сторон обязательно человек. Таких, думаю, меньшинство, так как на человека есть одна проверка, а на быстрый бой другая. Может он нам даст версию хотя бы с обещанием нераспространения, где "защита дураков" будет отключенаSpiteful.
06.06.2018 16:32
Find all posts by this user Quote this message in a reply
Vedmedkin Offline

Posts: 10
Post: #2958

(04.06.2018 22:16)Berserker Wrote:  Heromant, первое не планируется лично мной (может кто осилит плагин), второе — если не ошибаюсь, один из бинарных патчей в Фениксе как раз это и делает.

Vedmedkin, подскажите версию Эры и путь к игре, пожалуйста.

путь к игре F:\Games\Heroes 3 wog
А где смотреть версию Era II?
(This post was last modified: 08.06.2018 01:16 by Vedmedkin.)
08.06.2018 00:31
Find all posts by this user Quote this message in a reply
SATCHEL Offline

Posts: 13
Post: #2959

Здравствуйте, кто-нибудь знает где можно русификатор найти под Эровский вог ( В виде мода )? А то рабочих ссылок я найти не могу, стоит Эра 2.75. В титуле ссылка на русификатор дохлая.
(This post was last modified: 16.06.2018 10:17 by SATCHEL.)
16.06.2018 10:08
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #2960

SATCHEL, тремя постами выше у igrik'а в подписи ссылка Скачать HoMM3 ERA 2.7.4 (Repack: Rus & HD).
Скачай и возьми оттуда WoG Rus.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
16.06.2018 15:17
Visit this user's website Find all posts by this user Quote this message in a reply
SATCHEL Offline

Posts: 13
Post: #2961

Algor, Уже )

И вот еще , вылазит такая фигня wog getbitmap816 could not be "bitmap8" resource "" . Ресурс не указан. Играю с модом на XXL карты, что это может быть?
(This post was last modified: 18.06.2018 14:27 by SATCHEL.)
17.06.2018 15:39
Find all posts by this user Quote this message in a reply
Maxop Offline

Posts: 11
Post: #2962

Ни у кого нет скрипта Архитектор (автозастройка городов) для Era.
24.06.2018 10:40
Find all posts by this user Quote this message in a reply
Valery Offline

Posts: 2196
Post: #2963

Bersy, we have tons of complaints in HC about latest Era versions, people can't just start it. Same people said 2.46 worked fine. personally I have no problems with 2.72 and uploaded full installed version, yet they can't fix it, still LUA missing messages. Maybe you have a few time and see if possible to get back to 2.46 installing configuration.
26.06.2018 14:23
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2807
Post: #2964

(26.06.2018 14:23)Valery Wrote:  Maybe you have a few time and see if possible to get back to 2.46 installing configuration.
So why should not they just not install 2.46?
Installer ERA 2.46


game bug fixes extended.dll || My Plugins || My GitHub
26.06.2018 14:28
Visit this user's website Find all posts by this user Quote this message in a reply
Valery Offline

Posts: 2196
Post: #2965

Well, according to Berserker notes, saves from 246 will no longer be compatible with later versions and I already experienced that. I see no point having people submitting 246 saves for debug that we can't open. Aren't also some technical additions in latest, new events or so?
26.06.2018 15:31
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2807
Post: #2966

This can only be answered by Bersy.


game bug fixes extended.dll || My Plugins || My GitHub
26.06.2018 18:48
Visit this user's website Find all posts by this user Quote this message in a reply
Vedmedkin Offline

Posts: 10
Post: #2967

Может кто то поможет таки решить проблему, которую не смог решить и гугл мне не помог. все было нормально, играл без проблем, а недавно стал получать это:

Assert violation in file (Дальше ссылка на несуществующую директорию) on line 489
Error at adress:
Message: "Failed to load angel.dll"

Причем герои HotA работают без проблем.

Версия ERA 2 2.7.5
(This post was last modified: 30.06.2018 00:02 by Vedmedkin.)
29.06.2018 23:27
Find all posts by this user Quote this message in a reply
Heromant Offline

Posts: 348
Post: #2968

(04.06.2018 22:16)Berserker Wrote:  
Heromant Wrote:Второй вопрос:
Есть ли в ERA или каких-то скриптах к ней фикс повышения (вместо понижения) урона от башен, если есть втор. навык доспехи или закл. защита от стрельбы?
второе — если не ошибаюсь, один из бинарных патчей в Фениксе как раз это и делает.
Это в папке After WoG которые? Не нашел что-то.
03.07.2018 11:16
Find all posts by this user Quote this message in a reply
Reinc Offline

Posts: 145
Post: #2969

Скачал версию 2.7.5, всё стало лучше работать, стабильнее и красивее, но я встретил новые для себя проблемы:

1) при разделении отрядов во время битвы, количество существ в изначальном стеке становится огромным (2637756). В старой версии Эры и ещё просто в ВоГе скрипт с разделением такую проблему не создавал.

2) мои оруженосцы не поднимаются ни заклинанием "оживление мертвецов", ни "воскрешением".

3) если командир был воскрешён в битве, то после битвы он всё равно считается мёртвым.

4) палатка первой помощи лечит/воскрешает без всякой анимации и звуков, я даже не сразу понял, что лечение вообще происходит.

Старый-престарый баг с ВоГ-сундуками по-прежнему существует: получаю и ресурсы и параметр, а не что-то одно.
(This post was last modified: 21.07.2018 20:33 by Reinc.)
21.07.2018 18:07
Find all posts by this user Quote this message in a reply
ALEXALEX3434 Offline

Posts: 272
Post: #2970

Какие отличия era 2.7.5 от старой 2.4.3.
Никак не могу найти описание.Поиск тоже не дал результата.Если есть описание ткните носом.
26.07.2018 14:37
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group