IPB

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

История благодарностей участнику igrik. Спасибо сказали: 890
Дата поста: В теме: За сообщение: Спасибо сказали:
27 Jan 2024, 00:08 Horn of the Abyss: Factory
XEPOMAHT, достаточно просто (хотя это нифига не просто) пройти кампанию - и фабрика начинает ощущаться как влитая. Попробуй))

"Расхитители гробниц" мне была сложнее всего. Долбанейший лабиринт. Хотя всей кампании я пока не знаю - сейчас "В смоле и перьях"

Вообще, качество контента шикарно. Вот прям на все 146%. Хотя я пару раз сажал Дерижабль на кактус blush2.gif, когда ему не хватало хода. Это в баги

PS: но лично мне очень не хватало кол-ва отображаемых заклинаний на стеке во время боя. Благо, в моём случае - это легко решаемо ...


AlexSpl, hippocamus, Day7, PushKing, Striker X Fenix, VAS_SFERD, Sosok_Kentavra, MadMax, Nitrogenius
26 Jan 2024, 15:59 Вопросы
пятая часть
Цитата(Wic @ 26 Jan 2024, 01:24) *
То есть возможна охрана деревни, например, из войск 3-го и 4-го уровней без 1-го и 2-го ?

Я чето не припомню таких историй ...
Именно!

Можно же просто взять и проверить. Зачем гадать?
Вот скрин с Хоты 1.7.0


hippocamus, Day7, VAS_SFERD
25 Jan 2024, 23:31 Вопросы
пятая часть
Цитата(VAS_SFERD @ 25 Jan 2024, 22:35) *
Никто не знает, как формируется охрана нейтрального города в ГСК?
Есть ли страничка в физмиге для этого?

Для Сода - так. Для Хоты - не знаю, могли и изменить код генерации
Код
0x5C0BBB

do
{
  if ( Random(1, 100) <= GuardChance[i] ) // GuardChance[4] = {33, 33, 20, 13}
  {
    creatureType = MonstersInTowns_9x2x7[i + 14 * town->type];
    creatureCount = Random(GuardLow[i], GuardHight[i]); // GuardLow[4] = {8, 5, 3, 1}, GuardHight[4] = {15, 7, 5, 3}
    guardsStructure = Town_GetTownGuardsMonArr(town);
    Army_AddCreatures(guardsStructure, notUsedParam, creatureType, creatureCount, -1);
  }
  ++i;
} while ( i < 4 );
hippocamus, Wic, VAS_SFERD
19 Aug 2022, 13:02 Замедление, Система Магии, Баланс, Идеи по мотивам
Ломаем Копья в честь величия Магии Земли и ничтожества Магии Огня!
Цитата(Mantiss @ 19 Aug 2022, 10:40) *
Проблема замедления не в том, что оно не на том уровне, а в том, что геймдизайнером не предполагалось столь раннее получение навыка эксперта земли, чтоб массово, как сыр в масле нейтралов проезжать. Это должно было происходить уже в момент встречи с оппонентом (одним из). И даже более - замедление планировалось как часть арсенала воина, у которого маны меньше, чем у мага. Так что дешевое массовое замедление должно было быть в тему. У воина ж четвертого уровня вообще может не быть, как и мудрости.

Массовость - коренная проблема замедления и ускорения. И в дополнение их суровая зависимость от силы магии, что отлично ощущается на поздних этапах игры с большими первичными параметрами.

Моё мнение: длительность должна быть завязана на уровне силы магии земли/воздуха.
А действие - площадное, причём одновременно и на чужих и на своих.

Отсюда можно вводить слабых существ с иммунитетом, а также арты с иммунитетом. Да и арты на длительность будут более востребованы.
Больше гибкости и разнообразия. Построения армий так же станут более востребованы. В банках существ ускорение также останется в силе, а замедление - нет.
hippocamus, laViper, Valintinus, Хоботов
11 Aug 2022, 16:02 Новые идеи для HotA
Обсуждение идей участниками форума
Цитата(Mantiss @ 11 Aug 2022, 12:01) *
Вот тут бы пригодился коллективный мозговой штурм от сообщества. К сожалению, заставить людей мыслить в этом направлении затруднительно. sad.gif Творческий максимум, который мне удавалось выдавить - "ну значица, замедление переносим на третий-четвертый, а на первый второй выдаем кастрированное замедление, которое не становится массовым и ваабче не действует на стрелков и нежить".
Как ни странно, но уже сто лет назад предлагался фикс Хаста и Слоу в формате площадных заклинаний, особенно на примере Берсерка. Для себя я даже писал такое - мне очень понравилось. Но думаю онлайн сообщество на такое совершенно не пойдёт.
laViper, Хоботов
16 Nov 2020, 19:05 Погиб Docent Picolan
Я в шоке!
Выражаю свои соболезнования в первую очередь семье Доцента, а также всей команде Hota Crew.

Мне очень жаль ....
hippocamus, Mefista, Berserker, XMenik, Doctor Tea, KypaToP_HM, Striker X Fenix, VAS_SFERD, redar2013, Aeternus, Elendion, Azbxcy Mnlokp
02 Oct 2020, 22:38 Новые идеи для HotA
Обсуждение идей участниками форума
Предлагаю отключить это доставучее окно:


Код
// отключить окно-сообщение тактики в начале боя
_PI->WriteHexPatch(0x462D98, "EB 30 90 90 90 90"); // 0x462D98 JMP SHORT 0x462DCA
призрак коммунизма, Aeternus
10 Sep 2020, 21:09 Новые идеи для HotA
Обсуждение идей участниками форума
Предложение: подредактировать Статистику существа



Покажу на примере Верховного Архангела из WoG'a:
Только текущие параметры атаки и защиты (без значений базовых параметров)
Текущий показатель здоровья существа: на скрине Архангелу был нанесен урон, и его текущее здоровье равно 330 ед.hp( из 500 при полных hp)
redar2013, Aeternus
25 Feb 2020, 09:26 Вопросы
пятая часть
Цитата(Positiff @ 25 Feb 2020, 08:09) *
Судя по добавлению целого нового города вы наверняка должны знать как изменить уникальные способности существ. Если более конкретно, то интересует способность к регенерации (та, что есть у Духов и Привидений замка Некрополис), хочу добавить такую способность Призрачным Драконам. Насколько я понимаю, эти способности жёстко прописаны в EXE игры, если так, то HEX-смещений где это задаётся будет достаточно.

Регенерация существ выполняется по этому адресу: 0x446BD6 (для патча в exe: 0046BD6). Но очень сомневаюсь, что это можно сделать патчем exe.

Вообще, для таких вопросов существует более подходящая тема: Инженерный анализ
Berserker, Positiff
19 Feb 2020, 11:49 Вопросы
пятая часть
Цитата(magoth @ 19 Feb 2020, 10:59) *
не, вы путаете закл действующий от силы магии по времени, с тем что действует только 2 хода не зависимо от силы магии..
Путаю с точки зрения чего: логики или механики игры?
Это важный момент в контексте вопроса lion-killer и вашего ответа на его вопрос.
lion-killer
19 Feb 2020, 10:08 Вопросы
пятая часть
Цитата(magoth @ 19 Feb 2020, 09:31) *
А как они действовать должны ?! у него же длительность как и у стены, 2 хода..
В этих артефактах явно указано, что они увеличивают длительность действия в раундах на +1/+2/+3/+50.
Логично, что длительность силового поля и стены должны становиться 3/4/5/52 раунда. Но это дикий чит в итоге.
Видимо поэтому разработчики и не ввели увел.длительности для данных спеллов.
Aeternus
17 Feb 2020, 20:35 (Мод для ЕРА) Трансцендентные Комбо Артефакты (обновлено 24.03.2020)
Изменяет крафт систему комбо, добавляет 13 новых комбо
Цитата(zur13 @ 17 Feb 2020, 19:33) *
но видимо он патчит не все функции установки замков, потому что в сценарии который я приводил ранее замки продолжают появляться, даже после выполнения вот этого кода
Да, он патчит не все функции, я видел это, но было лень дописывать. Теперь допишу, но нужно время.
Он не патчит сделаные в редакторе карт настройки героев со сборными артефактами.

upd: вопрос замков при старте настроенной карты решен
!#UN:C5123521/2/63723; только инструкцией
Berserker, zur13
17 Feb 2020, 17:01 (Мод для ЕРА) Трансцендентные Комбо Артефакты (обновлено 24.03.2020)
Изменяет крафт систему комбо, добавляет 13 новых комбо
Так вы русскоговорящий? Тогда я буду писать на русском

Вот код для выпиливания функционала сферы запрещений
Код
!?BA52; start battle
!!FU(ChangeArtID_OrbOfInhibitionEffect):P2; to grail

!?BA53; end battle
!!FU(ChangeArtID_OrbOfInhibitionEffect):P126; restore


!?FU(ChangeArtID_OrbOfInhibitionEffect);
; x1 - art id
!!UN:C4323947/1/x1;
!!UN:C4323975/1/x1;
!!UN:C4324250/1/x1;
!!UN:C4324275/1/x1;
!!UN:C4328726/1/x1;
!!UN:C4328750/1/x1;
!!UN:C4330554/1/x1;
!!UN:C4330579/1/x1;
!!UN:C4337706/1/x1;
!!UN:C4337731/1/x1;
!!UN:C4341604/1/x1;
!!UN:C4341739/1/x1;
!!UN:C4792396/1/x1;
!!UN:C5403247/1/x1;
!!UN:C5893338/1/x1;
!!VRx1:*32;
!!UN:C5893500/4/x1;


Цитата(zur13 @ 17 Feb 2020, 16:54) *
Спасибо за помощь, если я не ошибаюсь эта функция есть в вашем моде "Era Scripts", я не понимаю что именно она делает потому я боюсь ее использовать, вместо нее я сделал решение с отключением замков используя !!UN:A.
Но с этим решением есть проблема:
1. Мой мод отключает стандартные комбо артефакты обнуляя таблицу UN:A(Combo) и обнуляя у всех комбо частей и комбо результатов !!UN:A#1/#2/$; 4 - Number of combo artifact (Format CO) и 5 - Part of combo artifact (Format CO)
2. В результате стандартный комбо менеджер отключается но функция удаления артефакта у героя !!HEx:A-<номер артефакта>, неправильно отрабатывает одетые комбо артефакты, сам одетый артефакт исчезает, но внезапно появляются неудаляемые замки на тех слотах где должны были бы быть его части. Т.е. замки не появляются при нормальном одевании и снятии комбо артефакта, и до удаления артефакта через скрипт замков на слотах не было.

Соответственно, прошу помощи у спецов умеющих в !!UN:C в написании функции которая удалит такой замок из заданного слота.
Мой код выпиливает функционал установки замков от сборных артефактов методом патчинга кода игры

Но если вас это не устраивает, то на ВогФоруме есть тема UN:C, там есть код снятия и установки замков на герое (ссылка)

"Era Scripts" не мой мод. Его автор Algor.
zur13
17 Feb 2020, 16:02 (Мод для ЕРА) Трансцендентные Комбо Артефакты (обновлено 24.03.2020)
Изменяет крафт систему комбо, добавляет 13 новых комбо
Цитата(zur13 @ 17 Feb 2020, 03:05) *
Нужна помощь с (если тут вообще кто-то этим еще занимается):

1. Перевод мода на русский
2. Полностью рабочая функция для убирания замочка из слота для артефактов героя (чтобы можно было сделать нормальную разборку комбо без опускания в рюкзак)
3. Отключение эффекта Сферы Запрещения в битве (чтобы можно было убрать хак с перемещением сферы в рюкзак до битвы и возвратом после)
1. About the translation is better to ask here this forum WoG Forum
2. See code below
3. I will answer a little later

Код
NO LOCKED SLOTS
!?FU7700; need FUN.erm
; hero screen
!!UN:C5103396/4/4;
!!UN:C5103297/2/17899;
!!UN:C5103429/4/54321;
; meeting screen
!!UN:C5086930/4/4;
!!UN:C5086678/1/233 C5086679/4/213;
!!UN:C5962191/4/54321;
; some functions
!!UN:C5123506/2/5355;
!!UN:C5123868/2/5355;
!!UN:C5122319/1/233 C5122320/4/386;
Berserker
06 Dec 2019, 20:50 Новые артефакты
emerald.dll v2.01
Цитата(Sandris @ 04 Dec 2019, 20:23) *
После размещения новых артефактов на карте через редактор, сама игра при запуске так же крашится.

Сборка от igrik с Эрой 2.8.7, редактором 3.3.0.0.
У меня никогда не было сборки под таким id.
Я остановился на 2.8.3. Дальше сборкой занимается Daemon_n

Насколько я помню - с версией ЭРЫ 2.8.7 были серьезные проблемы у emerald, которые в свою очередь были исправлены в ЭРЕ 2.8.8
Berserker, Sandris
29 Nov 2019, 03:51 А где тема "вопрос-ответ"?
Цитата(Richter @ 29 Nov 2019, 02:38) *
Приветствую всех форумчане. Возник вопрос. Кто нибудь новые города из VCMI переносит на стандартные герои 3 (wog, era) или это уже есть изначально где то?
Нет, не переносят. Это достаточно сложный процесс. Полноценно добавить город(а), как всем известно, выполнила только команда Хоты.
Также (жаль, что не полноценно) добавить новый город для ЭРЫ смог XEPOMAHT. Тема: тут

Во всех других случаях были произведены только замены оригинальных городов. На данный момент мне известно только 3 таких замены для ЭРЫ:
1) Пучина (заменяет Темницу). Автор переноса: StasPV. Мод завершен. Тема: тут
2) Кузница(заменяет Сопряжение). Автор переноса: feanor. Неизвестно завершен ли мод. Вроде нигде не выкладывался в открытый доступ.
3) Причал (заменяет Сопряжение). Автор переноса: igrik. Мод завершен, но никогда не выкладывался в открытый доступ и не будет.
Richter
15 Oct 2019, 09:21 Новые идеи для HotA
Обсуждение идей участниками форума
Цитата(Docent Picolan @ 18 Mar 2018, 00:07) *
Цитата(igrik @ 17 Mar 2018, 23:46) *

Ув.разработчики, запилите баттлфилд для утопы и прочих подобных объектов (погост и т.п.)
Зашёл в него и как поймёшь у кого какие бонусы скорости? Внешность фона ещё и игромеханическую функцию выполняет.
Понятно, что почву можно запомнить заранее, но бывает что клетка стоит на неясном визуально участке. Да и забыть во время боя не грех, потом всех драконов протыкивать.
Вернусь я к своему старому вопросу:
А если в игре "склеивать" сразу 2 баттлфилда?

Кодом, навскидку, реализуется не сложно:
- нижняя часть изображения это стандартный баттлфилд.
- верхняя часть - это изображение размерами 800х120


Для художников, правда, работы много...



Dead_89, Aeternus
06 Aug 2019, 14:29 Отчеты об ошибках
багрепорты
В дополнение, для "просмотров" уже давно нужно добавить отображение телепортов и подземных врат.



Код
// фиксим неотображение Монолитов и Подземных врат в диалоге заклинания Просмотр Земли и Воздуха
_bool_ isVisible_Monoliths;
_bool_ isVisible_Gates;

int __stdcall Y_Fix_ViewEarthOrAirSpell_Add_Monoliths_Show(LoHook* h, HookContext* c)
{
    c->edi = c->ecx;                    // mov edi, ecx
    c->ecx = *(_dword_*)(c->esi +30);    // mov ecx, [esi+1Eh]
    int obj_id = c->ecx; // номер объекта
    _byte_ isVisible = *(_byte_*)(c->ebp +8 +3);

    int type = 0;
    if ( obj_id == 43 || obj_id == 44 || obj_id == 45 ) { // Монолиты
        if ( isVisible_Monoliths || isVisible ) {
            type = 3;
        }
    }

    if ( obj_id == 103 ) { // Подземные врата
        if ( isVisible_Gates || isVisible) {
            type = 4;
        }
    }

    if ( type == 3 || type == 4 ) { // выполняем функцию отображения Монолитов или Подземных Врат при касте Просмотра Земли или Воздуха
        CALL_6(_int_, __fastcall, 0x5F7760, *(int*)0x6AAC88, c->esi, type, *(int*)0x6AAC80 + (*(int*)(c->ebp +0x14) * *(int*)0x68C70C), c->edi +8, *(int*)(c->ebp +0x12) );
    }

    c->return_address = 0x5F854A;
    return NO_EXEC_DEFAULT;
}

int __stdcall Y_Fix_ViewEarthOrAirSpell_Add_Monoliths_Prepare(LoHook* h, HookContext* c)
{
    int spell = *(int*)(c->ebp +8);
    int power = *(int*)(c->ebp +12);

    isVisible_Gates = false;
    isVisible_Monoliths = false;

    if ( spell == 5 ) // Просмотр воздуха
    {
        if ( power >= 2 ) { // показываем Подземные Врата
            isVisible_Gates = true;
        }
        if ( power >= 3 ) { // показываем Монолиты
            isVisible_Monoliths = true;
        }
    }

    return EXEC_DEFAULT;
}


// ################################################################################
#############
// ################################################################################
#############

// фиксим неотображение Монолитов и Подземных врат в диалоге заклинания Просмотр Земли и Воздуха        
_PI->WriteLoHook(0x5FC3EC, Y_Fix_ViewEarthOrAirSpell_Add_Monoliths_Prepare);
_PI->WriteLoHook(0x5F8545, Y_Fix_ViewEarthOrAirSpell_Add_Monoliths_Show);
Sav, drevoborod
31 Jul 2019, 07:53 Обсуждение инженерного анализа
Цитата(Richter @ 30 Jul 2019, 19:47) *
Решился заняться созданием dll
Как ни смешно, дальше двинуться не получается
Может у кого нибудь есть желание обсудить эту тему)

Как дальше на FASM создать dll, скажем начать выполнение с адреса 4E3287h
далее код....... потом чтобы программа дальше продолжала работать.
Может немного не грамотно обрисовал. Надеюсь понятно)
А С++ не?
По С++ вот тема (link), вот тема (link)

Код
int __stdcall LoHook_Name(LoHook* h, HookContext* c)
{
    /*
    *
    * тут пишем необходимый нам код код
    *
    */


    return EXEC_DEFAULT; // вернуться в код игры
}


// начать выполнение с адреса 4E3287h
// означает поставить хук на адрес 0x4E3287h
// итого: ставим хук с названием LoHook_Name
_PI->WriteLoHook(0x4E3287, LoHook_Name);
Richter
16 Jul 2019, 15:46 Новые идеи для HotA
Обсуждение идей участниками форума
Вот это простыни текста - неосилить ваще. Когда уже начнутся раздачи "Рид_Онли"?)))

А зачем подрезать, когда можно вообще выпилить массовость у них (ха, не кисло так у онлайнщиков порвёт).
Это было бы интересно. Надо кстати попробовать smile.gif.

... Ушёл тестить.


upd: и вот что получилось



Код
#define SPL_SLOW 54
#define SPL_HASTE 53
#define SPL_BERSERK 59

// фукнция ведения мыши по площади
int __stdcall Y_Haste_MouseMoove(LoHook* h, HookContext* c)
{
    if (c->esi == SPL_HASTE || c->esi == SPL_SLOW || c->esi == SPL_BERSERK) {
        c->return_address = 0x59FA88;
    } else c->return_address = 0x59FA8C;

    return NO_EXEC_DEFAULT;
}

// радиус затемнения гексов
int __stdcall Y_Haste_RadiusGex(LoHook* h, HookContext* c)
{
    if (c->ecx == SPL_HASTE || c->ecx == SPL_SLOW || c->ecx == SPL_BERSERK) {
        c->return_address = 0x59FD09;
    } else c->return_address = 0x59FD1E;

    return NO_EXEC_DEFAULT;
}

// на кого может дейстовать (проверка на сторону действия и на гипноз (в данном случае)
int __stdcall Y_Haste_WhoCanBeAffected(LoHook* h, HookContext* c)
{

    int spell_id = *(int*)(c->ebp +12);
    if (spell_id == SPL_HASTE || spell_id == SPL_SLOW )
    {
        c->return_address = 0x5A6A2D;
        return NO_EXEC_DEFAULT;
    }

    return EXEC_DEFAULT;
}

// подсветка курсора (широкого затемнения) при ведении мыши
int __stdcall Y_Haste_SetCursorShadow(LoHook* h, HookContext* c)
{
    // восстанавливаем пропущенные параметры
    *(char*)(c->ebp -0x4) = c->edi;
    *(char*)(c->ebp -0xD) = 0;

    if (c->eax == SPL_HASTE || c->eax == SPL_SLOW || c->eax == SPL_BERSERK) {
        c->return_address = 0x59FBF7;
    } else c->return_address = 0x59FC09;

    return NO_EXEC_DEFAULT;
}

// функция накладывания спеллов
int __stdcall Y_Haste_PlayDefAnim(LoHook* h, HookContext* c)
{
    int anim_id;
    int spell_id = *(int*)(c->ebp +8);
    switch (spell_id){
        case SPL_HASTE:        anim_id = 31; break;    
        case SPL_SLOW:        anim_id = 19; break;    
        case SPL_BERSERK:    anim_id = 35; break;    
        default:            anim_id = 35; break;
    }
    _BattleMgr_* bm = (_BattleMgr_*)c->ebx;
    int caster = *(int*)(c->ebp +0x10); // 0 - герой, 1 - монстр, 2 - артефакт, 3 - герой без вычета маны

    if ( caster == 1 ) {
        if ( bm->stack[bm->current_stack_ix]->creature_id == 136 ) { // если Чародей
            o_Spell[SPL_HASTE].type = 1;
            o_Spell[SPL_SLOW].type = -1;
            CALL_7(void, __thiscall, 0x5A69E0, c->ebx, *(int*)(c->ebp -0x14), *(int*)(c->ebp +0x8), c->esi, *(int*)(c->ebp +0x1C), bm->current_side, caster );
            o_Spell[SPL_HASTE].type = 0;
            o_Spell[SPL_SLOW].type = 0;
        }
    }

    CALL_5(char, __fastcall, 0x5A6AD0, c->ebx, (int)c->ebx +0x547C, (int)c->ebx +0x547C, anim_id, 0);

    c->return_address = 0x5A2168;
    return NO_EXEC_DEFAULT;
}


void New_Haste_and_Slow()
{
    // запрещаем масс.ускорение на экспертном уровне
    o_Spell[SPL_HASTE].flags = 266373; // 266261;
    o_Spell[SPL_HASTE].type = 0;
    o_Spell[SPL_HASTE].effect[0] = 2;
    o_Spell[SPL_HASTE].effect[1] = 3;
    o_Spell[SPL_HASTE].effect[2] = 4;
    o_Spell[SPL_HASTE].effect[3] = 5;
    // запрещаем масс.замедление на экспертном уровне
    o_Spell[SPL_SLOW].flags = 266373; //266261;
    o_Spell[SPL_SLOW].type = 0;
    o_Spell[SPL_SLOW].effect[0] = 80;
    o_Spell[SPL_SLOW].effect[1] = 70;
    o_Spell[SPL_SLOW].effect[2] = 60;
    o_Spell[SPL_SLOW].effect[3] = 50;
    // убираем эффект молитвы (бонус скорости)
    _PI->WriteHexPatch(0x444956, "90 E9");    // при касте молитвы
    _PI->WriteHexPatch(0x44440D, "90 E9");    // при снятии заклинания

    // патчим свитчи заклинаний
    _PI->WriteByte(0x59F9BC +SPL_HASTE -10, 5);
    _PI->WriteByte(0x59F9BC +SPL_SLOW -10, 5);
    _PI->WriteByte(0x5A2B48 +SPL_HASTE -10, 24);
    _PI->WriteByte(0x5A2B48 +SPL_SLOW -10, 24);

    // ставим хуки
    _PI->WriteLoHook(0x59FA83, Y_Haste_MouseMoove);
    _PI->WriteLoHook(0x59FD04, Y_Haste_RadiusGex);
    _PI->WriteLoHook(0x5A6A23, Y_Haste_WhoCanBeAffected);
    _PI->WriteLoHook(0x59FBED, Y_Haste_SetCursorShadow);    
    _PI->WriteLoHook(0x5A2156, Y_Haste_PlayDefAnim);

    // нужно исследовать для ИИ в местах
    // 0x5A4C36 +2 AI
    // 0x5A4CDE +2 AI

    return;
}


// ################################################################################
#############
// ################################################################################
#############

New_Haste_and_Slow();
Iv, hippocamus
12 Jul 2019, 15:37 Обсуждение инженерного анализа
Цитата(Richter @ 11 Jul 2019, 21:15) *
Очередной вопрос. Как вычислить значение (зеленый прямоугольник на скриншоте) зная откуда безусловный переход и куда.
Необходимо для работы с !!UN:C и !!SN:M.
Пример для использования: Выделяю массив числовой с помощью !!SN:M, необходимо написать на ERM JMP из одного места в этот массив.
Поскольку в !!SN:M0/?y2/0; адрес всегда разный, то и необходимо вычислить что на скриншоте. Если непонятно написал , поправьте пожалуйста.
Это не самая большая проблема.
Насущный вопрос: как вернуться таким способом назад, в исходное место?
Эровский числовой массив состоит из интов, а чтобы записать команду JMP нужен байт. Можно конечно запилить сначала 3 нопа, а потом JMP и адрес прыжка назад (который тоже еще нужно высчитать!), но как по мне всё это еще тот гемор. Это нужно вычислить адрес переменной массива, которая будет указывать на обратный адрес, потом через UN:C по этому адресу записать нопы и опткод джампа, в следующей перменной массива нужно указать высчитанное смещение назад и правильно его записать обратно в массив, смещение к тому же будет зависеть от длинны массива. В во всём этом винигрете нужно еще не запороть регистры. Ахтунг, одним словом...

И что это за такая интересная команда?!
Код
!!UN:Cy1/5/?"G"

Во первых: UN:C поддерживает только 1, 2 или 4 байта для патчинга.
Во вторых: ?"G" - WTF?!

И еще: не забываем про точки с запятой...
Richter
09 Jul 2019, 13:40 Обсуждение инженерного анализа
Цитата(Richter @ 07 Jul 2019, 21:22) *
Подскажите есть возможность(триггер, хук, лом железный)) поймать AI на постройке здания в городе? Например (!?)AI построил здание, далее (!!) ресивер.

Код
!!SN:Ex1/1/6025702/(AI_Building);

!?FU(AI_Building)&-1000;
!!SN:X?y1;
; получаем номер города
!!VRy2:Sy1 +24;
!!UN:Cy2/4/?y3;
!!UN:Cy3/1/?y5;  y5 - номер города
; получаем номер строения
!!VRy2:Sy1 +8;
!!UN:Cy2/4/?y3;
!!VRy4:Sy3 +8;
!!UN:Cy4/4/?y6;  y6 - номер здания
!!IF:M^AI строит здание: {%Y6}
В городе: {%Y5}^;
hippocamus, Berserker, Richter, Sandris
07 Jun 2019, 20:58 HD Флуд
Флуд и офф-топ высокого разрешения
Чего нет? Перестройки ГМ? Ну-ну))
Это в Хоте перестойки нет. В Хоте есть "Исследование заклинаний", что никак не может являться перестройкой гильдии магов.

Короче, Sergeich, если у тебя вопрос относительно SoD, то вот инструкция (и специально для hippocamus'a):

Перестройка ГМ в SOD - это фича HD мода, а точнее его надстройки HW.

Сначала настраиваешь опции при выборе карты:


Потом в городе (только когда отстроены ВСЕ уровни гильдии магов (ГМ)) наводишь мышь на ГМ и жмешь Левую кнопку мыши с зажатым Шифтом.
hippocamus, lion-killer, Berserker, KypaToP_HM, BratetsVolk, Sergeich
26 Apr 2019, 14:03 Юмор
геройский и не только
В сеть утекли кадры 3 серии Игры Престолов.

hippocamus, Spartak, Dead_89, Mefista, zeryss
23 Apr 2019, 10:50 Era II [ENG]
New concept in modding
Почему вылезает конкретно это окно - ответить сложно. Тут проблем может быть с десяток, но все они будут приводить к этой ошибке.

Поэтому если нужна работающая ERA и срочно, то используй мою.
https://yadi.sk/d/V6OW_MDi8I7OQQ

А если нужна именно ENG версия, поставленная на GOG версию, то:
https://yadi.sk/d/mTcdlU3lOyGDLg
Axolotl

14 страниц V   1 2 3 > » 
Текстовая версия Сейчас: 19 March 2024 - 06:57
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика