Current time: 23.04.2024, 00:48 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 622
Post: #6781

Or via calling of WinAPI functions from ERM
https://docs.microsoft.com/en-us/windows...-a-process
11.07.2020 17:22
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #6782

PerryR, the right way for Era plugins is:
plg10Skills will be 0 if not loaded, 1 otherwise. Don't specify *.dll/*.era extension or paths, both are checked.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
11.07.2020 21:53
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #6783

Здравствуйте..

Помогите пожалуйста разобраться в двух вопросах:
(знаю что уже с этим обращался ранее, но допилить до конца логического один никак не могу)

1. Почему так происходит:
Чтобы удалить ненужных существ с карты приключений, я использовал код, предложенный на форуме (сам бы подобную задумку никогда бы не смог составить, ибо не понимаю!) и вот какой результат вышел (может снова, я что-то делаю не правильно):

Мне надо удалить с карты приключений прочь таких монстров: 40, 168, 110, 159, 144,69,68,167,23,22,94,95,35 и объекты 63/15 - зикурат (черепа) и пещеру приключений 63/57

Попытался сделать так на трёх монстров
и прекрасно сработало – всё удалило как надо, когда делаю так на всех монстров
- ничего не срабатывает вообще

Если переменную менять
, то вообще всё перестаёт работать, а если разбивать код по три монстра, то выходит ошибка, но удаляется всё полностью!
Возился с этим неделю, но ничего не смог так придумать и решил помощи как всегда попросить Bad

2. С биографией тоже всё пробовал, возился очень долго и думал смогу сам что-то сделать, но результат плачевный!
Может что-то снова делаю не верно, но биография труса в случае побега не присваивается дезертиру с поля брани
Уже вроде всё готово, но почему-то игнорируется и любой беглец с поля-боя так и остаётся безнаказанным! Что-то где-то не срабатывает и я никак не пойму что именно?
У меня есть сомнения в некоторых строчках биографии и я их выделил! Играю я за красного и синего всадника.

Заранее благодарен за содействие в двух вопросах….
14.07.2020 11:48
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2270
Post: #6784

(14.07.2020 11:48)fatsawhorse Wrote:  

Этот код изначально неверный. То, что он вообще как-то работал - чудо.

Удаление монстра - примерно как-то так (теоретически должно работать):

(This post was last modified: 14.07.2020 12:50 by XEPOMAHT.)
14.07.2020 12:49
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #6785

Здравствуйте XEPOMAHT, спасибо (скрипт рабочий), но с некоторыми изъянами:

- в начале перед удалением выходит много сообщений касаемо ставок с картинками (видимо какие-то переменные, что уже заняты в игровом процессе, были употреблены в работу данного кода)

- вот с этой строчкой думаю понятно
- тут как бы зациклены значения и по аналогу можно сделать для других монстров с определённым интервалом повторения, а я наверное не смогу взять в этой строчке
такие цифры как 59474 55520 и 65526 для других монстров.. Я же понимаю что они только для гидр, горынычей и гигантов, а для других я не имею понятия где брать подобное или можно на угад написать?
(This post was last modified: 14.07.2020 13:41 by fatsawhorse.)
14.07.2020 13:35
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4338
Post: #6786

fatsawhorse, тебе надо добавлять номера к переменной 2000, что в начале кода и добавлять do по образу и подобию.


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
14.07.2020 14:01
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2270
Post: #6787

(14.07.2020 13:35)fatsawhorse Wrote:  - в начале перед удалением выходит много сообщений касаемо ставок с картинками (видимо какие-то переменные, что уже заняты в игровом процессе, были употреблены в работу данного кода)

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

(14.07.2020 13:35)fatsawhorse Wrote:  такие цифры как 59474 55520 и 65526 для других монстров.. Я же понимаю что они только для гидр, горынычей и гигантов, а для других я не имею понятия где брать подобное или можно на угад написать?

Это технический код - изменять и что-то брать наугад в нём крайне не рекомендуется.
14.07.2020 14:04
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #6788

daemon_n и XEPOMAHT спасибо Вам... Попробуем протестировать..
14.07.2020 14:39
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1292
Post: #6789

fatsawhorse,
по первому скрипту у меня есть другое решение, возможно, оно будет для тебя более приемлемым.

По второму скрипту, с биографиями.
Во-первых: проверку на битву между ИИ достаточно сделать один раз в триггере !?BA0; и это будет работать на все битвы (поправьте меня если я неправ).
Во-вторых: в Хэлпе сказано, что через !!HE#:B3/?z1; ты получишь оригинальную биографию героя, независимо от того, изменял ли ты текст в его биографии или нет. То есть, изменённую скриптом биографию, нужно получать через !!HE#:B1/?z1;
В третьих: зачем тебе столько проверок на принадлежность героя к разным статусам? Просто в !?BG0; изменяем биографию активного героя, если он сбежал или откупился.
А если надо поменять биографию труса на биографию воина, то в конце любой битвы ( !?BA1; ) после проверки жив ли твой герой (то есть, если он выиграл бой), устанавливаешь ему новую биографию.


Карта-мод "Война на Холсте"
(This post was last modified: 15.07.2020 02:35 by SergOz.)
15.07.2020 02:30
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1292
Post: #6790

(14.07.2020 12:49)XEPOMAHT Wrote:  !?FU1;
!!UN:U54/x1/-1/2001 Ov2001/v2002/v2003/0/0;
!!OBv2001/v2002/v2003:C-1;

Объясните, пожалуйста, зачем после удаления объекта выставлять ему контрольное число в -1?


Карта-мод "Война на Холсте"
15.07.2020 02:51
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2270
Post: #6791

(15.07.2020 02:51)SergOz Wrote:  зачем после удаления объекта выставлять ему контрольное число в -1?

Потому что контрольное число пустой клетки карты = -1. После удаления объекта остаточный мусор так же рекомендуется подчищать.
15.07.2020 11:04
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1292
Post: #6792

XEPOMAHT, спасибо. А после убийства героя !!HE#:K; тоже желательно это делать?


Карта-мод "Война на Холсте"
15.07.2020 11:20
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4338
Post: #6793

SergOz, герой может стоять на объекте


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
15.07.2020 11:25
Visit this user's website Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1292
Post: #6794

daemon_n, да, об этом я не подумал! Спасибо!


Карта-мод "Война на Холсте"
(This post was last modified: 15.07.2020 13:54 by SergOz.)
15.07.2020 11:38
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #6795

Здравствуйте..

SergOz как всегда Вам огромная благодарность и за готовые и очень компактные решения моих двух вопросов.. Всё работает просто замечательно..

Так всё просто составили и особенно второй скрипт, я в шоке.. Я возился с ним так долго и ничего не получалось.. А у Вас так всё легко и главное безупречно работает как должен...

XEPOMAHT Ваш скрипт также прекрасно работает.. Я в нём разобрался - это была моя ошибка.. Спасибо Вам..

SergOz, а можно у Вас уточнить касаемо скрипта с биографией: чтобы он действовал только на меня (красного) и синего игрока, а на врагов нет.. Можно ли так сделать (добавить строки !!BA:O?y15/O?y16;
!!FU&y15>1:E; ) или это не сработает:
?
(This post was last modified: 15.07.2020 17:54 by fatsawhorse.)
15.07.2020 17:52
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