Wake of Gods Forum | Форум Во Имя Богов

Full Version: ERA II
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
daemon_n, не нашёл такой строки и такого скрипта. Нужен код.
Berserker, это может быть из-за плагина какого-то, а я не проверил. Позднее займусь. Или это что-то вшитое в exe
Подарки от Санты зашиты в exe (только адрес я не помню уже)
А есть сейв с таким сообщением?
daemon_n , у меня на твоём сейве не выскакивает сообщение о подарках.
Ежели код Славин, то ЕРМ тут не при чём. Верно понимаю?
(16.12.2019 18:28)daemon_n Wrote: [ -> ]Или это что-то вшитое в exe

Там текущий юзер сравнивается с хозяином ходящего героя. Если структура героя получена правильно и данные по адресу 69CCF4 не испорчены, то ошибки быть не должно.

if(CurrentUser()==p->Owner)
{
Request2Pic(ITxt(195,0,&Strings),21,173,8,art,1);
}
XEPOMAHT, так в оригинале на ИИ не проверяется? Или эта та CurrentUser, что возвращает локального игрока-человека?
(17.12.2019 01:02)Berserker Wrote: [ -> ]так в оригинале на ИИ не проверяется?

Нет. По идее нужно проверять Структура_игрока.ИИ_контроль (по крайней мере в MoP можно сделать так).

(17.12.2019 01:02)Berserker Wrote: [ -> ]Или эта та CurrentUser, что возвращает локального игрока-человека?

Она возвращает номер текущего игрока (т.е. игрока с номером -1 по ВоГу). Т.е. по адресу 69CCF4 не должно быть ИИ-игроков, иначе будут глюки воговского кода.
Во время битв, в которых присутствуют Волшебники и Волшебницы, способные творить заклинание Клон, появляются окна с ошибками ERM.
А ещё, прошу переработать артефакты командиров. Пусть они дают бонусы не за выигранные битвы, а за уровень командира. Иначе получается много муторной возни с кучками слабых нейтралов, которых жалко отпускать, чтобы не пропустить возможность увеличить бонус от артефакта командира.
(17.12.2019 13:36)Reinc Wrote: [ -> ]А ещё, прошу переработать артефакты командиров. Пусть они дают бонусы не за выигранные битвы, а за уровень командира...
Это к функционалу платформы уже не относится. Такие вещи делаются отдельными скриптами/модами.

Да и сама идея, имхо, противоречит исходной, где командир должен был в боях обучаться владению артефактом. А так, например, командир не сможет стрелять из лука до 20го уровня, даже если провел с ним 100500 битв, но впервые взяв в руки тот же лук на 30м уровне сразу окажется гранд-снайпером... Так себе расклад.
(17.12.2019 01:22)XEPOMAHT Wrote: [ -> ]Она возвращает номер текущего игрока (т.е. игрока с номером -1 по ВоГу). Т.е. по адресу 69CCF4 не должно быть ИИ-игроков, иначе будут глюки воговского кода.
А что за глюки "Воговского кода"? Ошибки ERM?

Berserker, данная проверка находится по адресу 0x75AB65
По правильному тут дополнительно должна быть проверка на AI.
Например вот стандартаня геройская функция:
0x4CE600 char __thiscall Player_IsHuman(_GameMgr_ *gm, int player_id)
Результат: 1 - человек, 0 - AI

(17.12.2019 13:36)Reinc Wrote: [ -> ]А ещё, прошу переработать артефакты командиров. Пусть они дают бонусы не за выигранные битвы, а за уровень командира. Иначе получается много муторной возни с кучками слабых нейтралов, которых жалко отпускать, чтобы не пропустить возможность увеличить бонус от артефакта командира.
Это серьезное изменение механики игры (пусть это даже и ВОГ). Никто в рамках базовой ЭРЫ этого делать не станет.
Что мешает такие слабые кучки нейтралов бить на автобое?

(17.12.2019 10:46)Reinc Wrote: [ -> ]Во время битв, в которых присутствуют Волшебники и Волшебницы, способные творить заклинание Клон, появляются окна с ошибками ERM.
Ваш отчёт не несёт ни грамма информативности: ни сейва, ни списка модов, ни списка дополнительных скриптов и т.п.
igrik, спасибо.
(17.12.2019 14:02)igrik Wrote: [ -> ]А что за глюки "Воговского кода"? Ошибки ERM?

Кто знает, кто знает... В воговском коде может быть всё что угодно.

(17.12.2019 14:02)igrik Wrote: [ -> ]Например вот стандартаня геройская функция:
0x4CE600 char __thiscall Player_IsHuman(_GameMgr_ *gm, int player_id)
Результат: 1 - человек, 0 - AI

Можно и самопальную воговскую использовать (раз она всё равно есть):

Code:
int IsAI(int gamer)
{
    STARTNA(__LINE__, 0)
    char r,*hspo;

    if((gamer<0)||(gamer>7)) RETURN(1)
    __asm{
        mov  eax,BASE
        mov  eax,[eax]
        add  eax,0x20AD0
        mov  hspo,eax
    }
    r=hspo[0x168*gamer+0xE2];
    if(r==0) RETURN(1) else RETURN(0)
}
Quote:Что мешает такие слабые кучки нейтралов бить на автобое?
Потери в своих войсках.
В пещерах троглодитов можно бесконечно фармить бонус артефактов)
Reference URL's