Current time: 16.10.2018, 17:56 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 768
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: 94
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: 1427
Post: #5193

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

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


Скачать HoMM3 ERA 2.7.7 (Repack: Rus & HD) || (wogNativeDialogs)
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: 768
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: 1427
Post: #5195

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


Скачать HoMM3 ERA 2.7.7 (Repack: Rus & HD) || (wogNativeDialogs)
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: 768
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
Barin Offline

Posts: 768
Post: #5197

Когда к герою присоединяется Эмиссар - меняется картинка в окне героя (в данном случае появляется Кулак).
Image: bonusjpg_8135122_30494494.jpg
Есть ли способ самому в нужный момент менять картинки этого окна для конкретного героя? Т.е наличие Эмиссара в армии героя не обязательно, мне просто нужен контроль за этим окном - включать\отключать в нём картинки в любое время.
05.07.2018 15:01
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1427
Post: #5198

(05.07.2018 15:01)Barin Wrote:  Есть ли способ самому в нужный момент менять картинки этого окна для конкретного героя? Т.е наличие Эмиссара в армии героя не обязательно, мне просто нужен контроль за этим окном - включать\отключать в нём картинки в любое время.
Какие именно картинки? Их в этом окне масса.

Вот код изменения номера кадра дефа конкретно для бонуса богов (id = 139)


Обновлять можно через стандартный UN:R3/-1;


Скачать HoMM3 ERA 2.7.7 (Repack: Rus & HD) || (wogNativeDialogs)
05.07.2018 16:32
Visit this user's website Find all posts by this user Quote this message in a reply
Shiva Offline

Posts: 92
Post: #5199

Здравствуйте igrik после того как выхожу из игры, а потом снова захожу и загружаю сохраненную игру, перестает работать скрипт сказочные драконы - три вида наступательной магии...

(24.04.2018 17:08)igrik Wrote:  Потому что кроме триггера PI нужно еще использовать и GM0

Помогите разобраться. Ab

***

Заметил одну вещь, когда захожу в Героев и создаю новую игру, а потом загружаю сохраненную игру, то скрипт снова начинает работать...
06.07.2018 12:42
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1427
Post: #5200

Я тебе уже несколько раз объяснял почему.
(24.04.2018 17:08)igrik Wrote:  Потому что кроме триггера PI нужно еще использовать и GM0


Скачать HoMM3 ERA 2.7.7 (Repack: Rus & HD) || (wogNativeDialogs)
06.07.2018 13:09
Visit this user's website Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 768
Post: #5201

igrik, спасибо, отлично работает.



Механизм включения\отключения картинки понятен. Буду менять v50 туда-сюда. А как сделать проще, чтобы у конкретного героя была видна картинка? Сейчас картинка появляется у всех героев, а надо у одного.

Похоже, что через обычный ERM мне не сделать задумку. Мне нужно каким-то образом перехватывать момент, когда появляется окно любого героя. И к примеру, если он №63 - ставить v50 на 0 (установить картинку), а если любой другой герой - v50 на 1 (убрать картинку).
(This post was last modified: 07.07.2018 21:22 by Barin.)
07.07.2018 02:52
Find all posts by this user Quote this message in a reply
Shiva Offline

Posts: 92
Post: #5202

(06.07.2018 13:09)igrik Wrote:  Читай справку. Это основы ERM

Спасибо большое igrik, разобрался это - было совсем не сложно... Rolleyes

- - - Добавлено - - -

Можно ли сделать Сказочным Драконам, только два вида наступательной магии:

1. Цепная молния
2. Метеоритный дождь
07.07.2018 11:55
Find all posts by this user Quote this message in a reply
Algor Offline
Administrators

Posts: 2616
Post: #5203

Shiva, можно, тут уже выкладывали решение (вроде, тоже igrik). Используй поиск.


07.07.2018 12:40
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1427
Post: #5204

(07.07.2018 11:55)Shiva Wrote:  Можно ли сделать Сказочным Драконам, только два вида наступательной магии:
1. Цепная молния
2. Метеоритный дождь
Можно. Прямо в том коде видно как.


Скачать HoMM3 ERA 2.7.7 (Repack: Rus & HD) || (wogNativeDialogs)
08.07.2018 21:59
Visit this user's website Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 768
Post: #5205

igrik, мой вышеуказанный вопрос рассмотришь?
09.07.2018 16:48
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