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

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

Posts: 2265
Post: #4861

(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: 2807
Post: #4862

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

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


game bug fixes extended.dll || My Plugins || My GitHub
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: 803
Post: #4863

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: 2807
Post: #4864

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


game bug fixes extended.dll || My Plugins || My GitHub
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: 803
Post: #4865

(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: 803
Post: #4866

Когда к герою присоединяется Эмиссар - меняется картинка в окне героя (в данном случае появляется Кулак).
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: 2807
Post: #4867

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

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

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


game bug fixes extended.dll || My Plugins || My GitHub
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: 122
Post: #4868

Здравствуйте 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: 2807
Post: #4869

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


game bug fixes extended.dll || My Plugins || My GitHub
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: 803
Post: #4870

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: 122
Post: #4871

(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 Away
Administrators

Posts: 3880
Post: #4872

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


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
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: 2807
Post: #4873

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


game bug fixes extended.dll || My Plugins || My GitHub
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: 803
Post: #4874

igrik, мой вышеуказанный вопрос рассмотришь?
09.07.2018 16:48
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #4875

(07.07.2018 02:52)Barin Wrote:  Мне нужно каким-то образом перехватывать момент, когда появляется окно любого героя. И к примеру, если он №63 - ставить v50 на 0 (установить картинку), а если любой другой герой - v50 на 1 (убрать картинку).

Все верно. И в чем проблема? Триггер на открытие окна героя есть:

ERA Manual - New ERM triggers Wrote:Open hero window
!?FU77004;
Parameters: none.
!!HE-1 syntax works.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
09.07.2018 19:03
Visit this user's website 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