Current time: 23.06.2018, 20:50 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Ваши вопросы по ERM-скриптам
Author Message
Barin Offline

Posts: 764
Post: #5191

(31.05.2018 17:08)XEPOMAHT Wrote:  
(31.05.2018 16:34)Barin Wrote:  После битвы "Эмиссар с флагом осадного орудия" - исчезает, а соответственно накопленные его бонусы. Это не хорошо.

Перед битвой устанавливаешь флаг, а после битвы (если выжил) перед окном "выигрыш/проигрыш" флаг убираешь.

(31.05.2018 16:34)Barin Wrote:  или "передвигать по карте" бестолковое занятие.

Таким образом отменяешь тактику "мишень": ИИ любит дубасить отряды, которые не отвечают (например те же боевые машины). Удобно послать эмиссара например к вражеским стрелкам, да и вообще подставлять его под удар (как раз он этим и ценен в битве). Так же точно можно закрывать эмиссаром собственных стрелков (что тоже очень полезно).

1) Это как? Есть команда !?BA1; после неё отключал флаг - не помогло.

2) Согласен, полезность Эмиссара есть в описанных тобой примерах. Но я специально хочу снизить эту полезность. Здоровье тоже ему надо снизить. Знал бы как снизить бонус - тоже сделал бы. 1-3 первичного параметра в неделю - это много. 1 единицу бы сделал.
31.05.2018 17:52
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline

Posts: 78
Post: #5192

(31.05.2018 17:52)Barin Wrote:  1) Это как? Есть команда !?BA1; после неё отключал флаг - не помогло.

Где-то видел этот хук на окно, вылезающее после битвы, но сейчас его найти в свалке не могу.

Если не жалко ресурсов ПК, то можно выставлять нужный тебе флаг в триггере "после передачи контроля" (функция 77006), а в триггере "перед передачей контроля" (функция 77007) снимать флаг, с проверками на тип и ходячесть монстра.

Если же делать по уму, то эмиссара можно перед битвой вообще убирать с поля боя, если он тебе так сильно мешается. Или сразу давать флаг "труп" и ставить на ячейку, на которую не может ступать нога монстра. Для особых извращений можно заменить спрайты эмиссара на пустышку, чтобы его совсем никто не тревожил. 148

(31.05.2018 17:52)Barin Wrote:  Знал бы как снизить бонус - тоже сделал бы. 1-3 первичного параметра в неделю - это много. 1 единицу бы сделал.

Данную функцию бонуса богов можно найти и отредактировать (т.е. чтобы в bv всегда записывалась единица вместо рамдома).

Code:
void DaylyGodsBonus(int Owner)
{
    int     bv,gt,hv;
    _Hero_ *hr;
    STARTNA(__LINE__, 0)
    if((GetCurDate()%7)!=1) RETURNV // не понедельник
    for(int i=0;i<GODMONNUM;i++){
        gt=GodMonInfo[i].SubType;
        if(gt==0) continue;
        hr=GetHeroStr(GodMonInfo[i].HeroInd);
        if(hr->Owner!=Owner) continue;
        bv=Random(1,3);
        hv=hr->PSkill[gt-GODMONTSTRT]+bv;
        if(hv>99){
            hv=99;
            bv=hv-hr->PSkill[gt-GODMONTSTRT];
        }
        hr->PSkill[gt-GODMONTSTRT]+=(char)bv;
        GodMonInfo[i].BonusVal+=bv;
    }
    RETURNV
}
31.05.2018 18:48
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1331
Post: #5193

(31.05.2018 18:48)XEPOMAHT Wrote:  Где-то видел этот хук на окно, вылезающее после битвы, но сейчас его найти в свалке не могу.
0x46FE3E. Но это не поможет.
И с флагами возиться в данном случае слишком геморно.
Проще через хук сделать проверку на тип существа (как указано ниже)

(31.05.2018 16:34)Barin Wrote:  После битвы "Эмиссар с флагом осадного орудия" - исчезает, а соответственно накопленные его бонусы. Это не хорошо.
Вот решение:


Скачать HoMM3 ERA 2.4.6 || (myMods)
Скачать HoMM3 ERA 2.7.5 (Repack: Rus & HD)
01.06.2018 12:51
Visit this user's website Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 764
Post: #5194

1) Всё-таки сделал условие, чтобы Эмиссара не приходилось убивать для достижения победы. Перебрал стеки, выявил последний, уточнил кто он и т.д.

2) Мощные erm-коды предлагаете, спасибо.

3) Думаю, что Эмиссару наоборот нужно увеличить AI value, чтобы комп желал его вырубить из моего строя. Так будет интересней.
01.06.2018 22:30
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1331
Post: #5195

(01.06.2018 22:30)Barin Wrote:  1) Всё-таки сделал условие, чтобы Эмиссара не приходилось убивать для достижения победы. Перебрал стеки, выявил последний, уточнил кто он и т.д.
Так ты сам сделал, или сделал через мной указанный скрипт?
Если сделал сам - то покажи код (ради интереса)


Скачать HoMM3 ERA 2.4.6 || (myMods)
Скачать HoMM3 ERA 2.7.5 (Repack: Rus & HD)
02.06.2018 18:09
Visit this user's website Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 764
Post: #5196

(02.06.2018 18:09)igrik Wrote:  
(01.06.2018 22:30)Barin Wrote:  1) Всё-таки сделал условие, чтобы Эмиссара не приходилось убивать для достижения победы. Перебрал стеки, выявил последний, уточнил кто он и т.д.
Так ты сам сделал, или сделал через мной указанный скрипт?
Если сделал сам - то покажи код (ради интереса)

Твой код расширил. Там если враг выполняет свои ходы и убил у меня последний отряд кроме Эмиссара - битва конечно не сразу заканчивается - враг завершает все свои ходы и уже тогда - выход(мой проигрыш). Меня это устраивает.

(This post was last modified: 03.06.2018 16:12 by Barin.)
03.06.2018 15:16
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-2018 MyBB Group