Current time: 13.04.2025, 05:01 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 2819
Post: #4876

(09.07.2018 16:48)Barin Wrote:  igrik, мой вышеуказанный вопрос рассмотришь?
  1. !?LE42/42/0; герой посещает точку 1
  2. !!SN:L^EraPlugins\erm_hooker.era^/?y1;
  3. !!FU&y1=0:E;
  4. !!SN:Ay1/^SetHook^/?y2;
  5. !!SN:Ey2/1/5120854/51208;
  6. !!VRv50:S1;
  7. !?LE41/42/0; герой посещает точку 2
  8. !!VRv50:S0;
  9. !?FU51208&v50=1;
  10. !!UN:C6916976/4/?y1;
  11. !!VRy2:Sy1 +26;
  12. !!UN:Cy2/4/?y3; y3 - номер героя
  13. !!FU&y3<>0:E; Если не Орин, то выход
  14. !!UN:C6916808/4/?y1;
  15. !!SN:E6288816/2/y1/139;
  16. !!VRy2:Sv1 +52;
  17. !!UN:Cy2/4/0;


game bug fixes extended.dll || My Plugins || My GitHub
09.07.2018 19:43
Visit this user's website Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 812
Post: #4877

Спасибо, прекрасно работает.
09.07.2018 20:36
Find all posts by this user Quote this message in a reply
Shiva Offline

Posts: 122
Post: #4878

Сфера Илистого Озера перед началом боя - вызывает отряд элементалей магмы по формуле (T*8), где T - это количество Титанов в армии героя. Вызванные элементами участвуют в тактическом построении отряда, а после боя все призванные элементали исчезают.
(This post was last modified: 09.07.2018 21:05 by Shiva.)
09.07.2018 21:00
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #4879

Shiva, так в чём именно вопрос? Вопросов по скриптам не вижу, а написать тебе скрипт - это не тема для заказов.


game bug fixes extended.dll || My Plugins || My GitHub
09.07.2018 23:08
Visit this user's website Find all posts by this user Quote this message in a reply
Shiva Offline

Posts: 122
Post: #4880

(09.07.2018 23:08)igrik Wrote:  Shiva, так в чём именно вопрос? Вопросов по скриптам не вижу, а написать тебе скрипт - это не тема для заказов.

Перенаправил свой пост в тему, если просто нужен скрипт... Ab
11.07.2018 19:21
Find all posts by this user Quote this message in a reply
Reinc Offline

Posts: 145
Post: #4881

Как редактировать встроенные скрипты? Хочется попробовать отключить обновление охраны у ограбленных банков существ. В идеале вообще заставить банк существ исчезнуть с карты после ограбления.
27.07.2018 17:43
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #4882

Все скрипты одинаково редактируются - ERM редактором.
Встроенные опции отключаются через UN:P

Удалить банк существ после грабежа можно, но я бы не сказал, что это "идеально". После удаления любого объекта нужно либо мириться с поломкой структуры карты (вероятно открытие непредусмотренных шаблоном проходов) либо запрещать освободившееся место для прохода (напр. заполнять какими-нить камнями), что не очень красиво.
Можно просто запрещать объект для посещения.
В любом случае, в посттриггере !$OB проверяй охрану/награду и при их отсутствии блокируй/удаляй объект.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
27.07.2018 20:01
Visit this user's website Find all posts by this user Quote this message in a reply
Reinc Offline

Posts: 145
Post: #4883

(27.07.2018 20:01)Algor Wrote:  Встроенные опции отключаются через UN:P
...
В любом случае, в посттриггере !$OB проверяй охрану/награду и при их отсутствии блокируй/удаляй объект.

То есть надо писать свой скрипт? Это мне не по силам. Я только редактирую.
28.07.2018 07:08
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #4884

Дык, редактирование - первый шаг к написанию. Тем более что тут (для случая простой блокировки объекта) всего два действия:
  1. !$OB16; [после посещения объекта 16 (банк существ), переменные v998/v999/v1000 содержат координаты посещаемого объекта]
  2. !!CBv998/v999/v1000:G0/d/?y1 G1/d/?y2 G2/d/?y3 G3/d/?y4 G4/d/?y5 G5/d/?y6 G6/d/?y7; [y1-y7 - кол-ва стражей в отрядах, охраняющих банк]
  3. !!OBv998/v999/v1000&y1=0/y2=0/y3=0/y4=0/y5=0/y6=0/y7=0:S; [запрет посещения объекта для всех игроков, если ни одного стража нет (банк разграблен)]


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
28.07.2018 15:44
Visit this user's website Find all posts by this user Quote this message in a reply
ModWizard Offline

Posts: 8
Post: #4885

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

учусь писать скрипты)

пытаюсь сделать скрипт, который при щелчке по сельской управе выдает диалог, а экран со зданиями не показывается.

Code:
ZVSE
!!VRv1:S0; - установим значение переменной
!?CM1; - при щелчке по городскому экрану....
!!CM:I?v1; - узнаем куда щелкнули и сохраним номер объекта в переменную...
!!IF&v1=10:M^Сообщение^; - если по сельской управе покажем диалог...

выдает ошибку. и кстати, по идее после этого экран застройки все равно должен всплывать. возможно ли вообще его убрать силами ЕРМ или подменить заглушкой, загрузив другой def?
(This post was last modified: 15.08.2018 13:50 by ModWizard.)
15.08.2018 13:40
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #4886

Вот так правильнее и читабельно.
  1. !?CM1; [триггер клика в городе]
  2. !!CM:I?y1 F?y2 S?y3; [y1 - id клика / y2 - флаг клика / y3 - подтип клика
  3. *!IF:M^%Y1 %Y2 %Y3^; [отладочное сообщение]
  4. !!if&y2=0/y3=12:; [если это клик ЛКМ...]
  5. !!if&y1=10; [... и по Сельской управе]
  6. !!CM:R0; [отменяем стандартное действие]
  7. !!IF:M^ЛКМ на Сельской управе^;[показать сообщение]
  8. !!en:; [закончили условие: y1=10 - Сельская управа]
  9. !!en:; [закончили условие: y2=0/y3=12 - Клик по ЛКМ]

Использовать глобальную переменную v1 тут совершенно не нужно, и даже более - это зло.
Потому что она очень много где используется, и в любой момент может быть изменена в другом скрипте. А вы потратите массу сил и времени, чтобы найти эту ошибку...

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


game bug fixes extended.dll || My Plugins || My GitHub
15.08.2018 14:01
Visit this user's website Find all posts by this user Quote this message in a reply
ModWizard Offline

Posts: 8
Post: #4887

(15.08.2018 14:01)igrik Wrote:  Вот так правильнее и читабельно.

спасибо, теперь работает.

хотелось бы уточнить, что такое подтип клика?

я знаю, что y2 - отслеживает сочетания вроде cntrl+click, при ПКМ дает 512.

а у3 - просто выдает указание ЛКМ это или ПКМ? в русской справке по ЕRМ я этого не нашел.

далее, опция для !!СМ Mz# - в справке написано,

Quote:Установить текст – описание в окне города, изменив обычное на свое.

имеется ввиду название здания внизу, в строке подсказок? хотел проверить сам, но к сожалению так и не смог сообразить как применить ее к конкретному объекту.

и еще, вот любопытный момент. при помощи !!CM:R; мы можем включить или выключить стандартное действие. а допустим, вызвать это стандартное действие из другой точки? например, показать экран строительства при щелчке по области городского экрана 158?
(This post was last modified: 15.08.2018 15:56 by ModWizard.)
15.08.2018 15:53
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #4888

Если у вас в ERM-Help нет описания CM:S, значит у вас старая версия хелпа. В первом сообщении данной темы есть ссылка на последний хелп
СМ:Mz# как то муторно работает. Я сам её не особо понимаю
CM:S$ подтип клика работает так:
Code:
Подтип действия $:
        10 – Отпущена кнопка ОК в экране города
        12 – Левая кнопка нажата
        13 – Левая кнопка отпущена
        14 – Правая кнопка нажата

Открыть окно Городского Холла по нажатию на элемент 158 можно и ниже показано как.
Но такие моменты уже из разряда тяжелой артиллерии UN:C

Выглядеть вкупе это будет так:
  1. !?CM1; [триггер клика в городе]
  2. !!CM:I?y1 F?y2 S?y3; [y1 - id клика / y2 - флаг клика / y3 - подтип клика
  3. *!IF:M^%Y1 %Y2 %Y3^; [отладочное сообщение]
  4. !!if&y2=0/y3=12:; [если это клик ЛКМ...]
  5. !!if&y1=10; [... и по Сельской управе]
  6. !!CM:R0; [отменяем стандартное действие]
  7. !!IF:M^ЛКМ на Сельской управе^;[показать сообщение]
  8. !!en:; [закончили условие: y1=10 - Сельская управа]
  9. !!if&y1=158; [... на иконке Городского Холла]
  10. !!UN:C6919500/4/?y1; [o_TownMgr]
  11. !!SN:E6106032/2/y1; [открыть Городской Холл]
  12. !!en:; [закончили условие: y1=158 - Иконка Городской Холл]
  13. !!en:;


game bug fixes extended.dll || My Plugins || My GitHub
15.08.2018 16:45
Visit this user's website Find all posts by this user Quote this message in a reply
VandaLM Offline

Posts: 14
Post: #4889

Доброго времени суток!

Нужна помощь по скриптингу. Задача такова: есть два-героя, Оранжевый - герой-человек и красный - герой-компьютер, который является союзником для Оранжевого. Они двигаются к определённой точке, по дороге и должны встретиться. Когда это произойдёт, контроль игрок должен получить над обоими героями и при этом их цвет должен смениться на Коричневый.

Вот как я это реализовал:
Code:
ZVSE

!#OW:D0/128; [увеличиваем количество жизни для красного]
!#OW:D2/128; [увеличиваем количество жизни для коричневого]
!#OW:D4/128; [увеличиваем количество жизни для оранжевого]


!#AI:S49/0/0/61/58/0/999999999/2; [задаём точку движения для красного (место, где он должен встретиться с оранжевым)]
!#UN:S61/59/0/0/4; [открываем часть местности, где должны встретиться оранж. и красный на карте]

!?LE61/60/0; [событие на карте, активируемое орнаж.]
!!HE49:O2; [перекрашиваем красного в коричн.]
!!HE53:O2; [перекрашиваем оранжевого в коричн.]

Так вот, по достижении события на карте, красный меняет свой цвет, а вот Оранжевый просто пропадает и игра на следующий ход соответственно заканчивается.
Понимаю, глупо, ведь можно же просто красного перекрасить в оранжевого, но мне захотелось именно чтобы оба поменяли цвет. Возможно ли такое реализовать? Можно ли вообще герою-человеку изменить цвет?


Мой репак музыки
20.09.2018 14:40
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #4890

Поймал очередной жуткий глюк, при действии команды на вражеском герое !!EXy-1/0:A?y1/?y2/d; или !!HEy-1:C0/0/?y1/?y2; выдает что у него полно войск (герой находится в замке), если нападаешь на него, то у него кроме командира и оруженосца никого нет, причем команда !!CAx1/x2/x3:M2/0/?y1/?y2; тоже показывает что у него нет армии. А если пропустить ход (7 день недели), то он уже сам нападает с непонятно откуда взявшейся армией в 170 титанов и других примерно также, количества и типы существ ПРИМЕРНО такие же как показывались за день до.

Ещё часто встречается глюк, что герой ИИ не имеет владельца (-1).

Вот сейв с моего мода... Igrik как то смотрел сейвы от моего мода, даже не знаю как он это делал, то ли мод мой был, то ли как-то по-другому...

Буду очень признателен, если кто-то поможет разобраться.


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 05.10.2018 22:05 by totkotoriy.)
05.10.2018 22:02
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-2025 MyBB Group