Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ERM: Вопросы и ответы
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды > Скрипты
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52
DracoLich
!!HE#:O$; - установить героя # как принадлежащего игроку $, чего не выходит-то?
Лион
Цитата(DracoLich @ 19 Dec 2006, 17:53)
!!HE#ohmy.gif$; - установить героя # как принадлежащего игроку $, чего не выходит-то?

ненаю. просто не выходит. делаю всё вроди правильно, но не меняется. попробую ещё разок
Лион
вот. попробывал. получилось. НО! меняется только цвет флага,героем (если был твой) я имуправлять могу, но новые земли не открываются. и если герой был компа, то я им управлять не могу... чё делать?!
Azure Dragon
А у меня вот такой вопрос: Где взять в ЕRM скрипте триггер !?AE? В какой это версии? А можно сделать так, чтобы существо выглядело как например архимаг, а нападая на него, воюеш с импами? Не используя в скрипте провокацию героя в битве?
Druin
Цитата(Azure Dragon @ 04 Jan 2007, 00:17)
А у меня вот такой вопрос: Где взять в ЕRM скрипте триггер !?AE? В какой это версии?

В версии 2.8.1... Это вог 3.58f...
Код
Генератор Снятия/Одевания артефакта.
!?AE0; снят артефакт
!?AE1; одет артефакт

Эти генераторы используются для проверки: одет или снят артефакт героем. Генераторы вызываются когда герой надевает или снимает артефакт, а также когда артефакт собран и автоматически одет.

Эти генераторы могут быть полезны чтобы делать заскриптованные артефакты которые добавляют или вычитают первичные и вторичные навыки.

Текущий Герой (!!HE-1) - Герой-владелец.
v998 хранит номер артефакта.
v999 хранит позицию(слот) номера.

Комментарии:

Это не работает для рюкзака.

Если вы меняете один артефакт на другой, то это производит некоторый дополнительный запрос генераторов:
1. AE0 (предыдущий)
2. AE1 (предыдущий)
3. AE0 (предыдущий)
4. AE1 (новый)
5. AE0 (новый)
6. AE1 (новый)

Если вы берете артефакт из рюкзака помещаете его в слот, то он может быть занят, то вы получите следующую последовательность для каждого слота куда может быть помещен этот артефакт:
1. AE0 (предыдущий)
2. AE1 (предыдущий)

Будьте осторожны и не рассчитывайте на то что если определенный артефакт не снят вы не будете иметь AE0 генератора переключенного для этого искусства.


Цитата(Azure Dragon @ 04 Jan 2007, 00:17)
А можно сделать так, чтобы существо выглядело как например архимаг, а нападая на него, воюеш с импами? Не используя в скрипте провокацию героя в битве?

На карте стоит архимаг, но как наподаю на него то там например 20 импов? Можно... Тебе подробнее или я не угадал?...
DracoLich
!!OBx/y/l:T54 U42; - вместо x y l координаты архимага
Druin
А не будет ли при этом по нажатию второй клавиши писать что это имп, а не архимаг?... Блин... Негде щас проверить...
Лион
блин, да помогите мине с героем! не могу сделать!
Azure Dragon
Cпасибо за ответ, Druin. Да помогите мне пожалуйста... Пусть лучше будут писаться, что там архимаги. И ещё вопрос, если Я Триггер АЕ напишу в более старой версии ерм, то он будет работать в карте. Версия героев у меня 3. 58. Прошу оказать мне помощ, заранее спасибо...
DracoLich
Цитата(Azure Dragon @ 05 Jan 2007, 03:06)
Пусть лучше будут писаться, что там архимаги.

Тады так:
!?OBx/y/l;
!!OB998:U42;
Вместо x y l координаты Магов, и при посещении их попадешь на бесов.
Цитата(Azure Dragon @ 05 Jan 2007, 03:06)
если Я Триггер АЕ напишу в более старой версии ерм, то он будет работать в карте

Нет
Цитата
блин, да помогите мине с героем! не могу сделать!

Фигня... Если делать как
!!HE-1:O1; - герой исчезает и повявляется только на следующий день, если его позиция ничем не занята, но может и сразу перейти под другой флаг, но под управлением (1 день) игрока... nunu.gif Druin, может, ты пользовал, знаешь, что там?
Serco
Второй час ломаю голову но никак не могу доработать гребанный скрипт...banghead.gif Суть: герой посещает обьект (какой-то домик из новых) там ему говорят иди принеси... Он идет натыкается на событие убивает монстра получает артефакт №161 (пустой) но с настроенными названием описанием и т.д. Он идет обратно отдает этот арт кузнецу и кузнец через день (хотя это не принципиально) отдает ему другой арт №36 (бошка ангелов) тоже настроенный, но плюс с измененными характеристиками.
И вот все это по порядку я поставить не могу!!! Вот скрипт:
Кузница:
ZVSE
!?OB20/14/1;
!!IF&v81=0:M^бла-бла-бла^; первый заход к кузнецу
!!IF&v81=1:M^бла2-бла2^; второй заход
!!VRv81&v81=0:S1;


Событие с монстром: (вроде бы здесь, что-то не так)sad.gif
ZVSE

!#MA:P109/260 A109/18 D109/18 M109/25 E109/30 S109/12 X109/16;
(A - атака, D - защита, P - здоровье, S - скорость, M-E - урон)

!?LE4/34/1;
!!VRv92:S1;
!!IF&v92=1;
!!TR18/16/1:P1;
!!VRv92:S1;
!!IF:Q1/21/109/1^Наконец-то в очередной яме, вы находите мерзкую тварь. Она тут же взмывает в воздух и бросается на вас.^;
!!HE-1:T4/34/1/109/1;
!!HE-1:A1/161/21;

!#VRz10:S^Измятый шлем^;
!#VRz11:S^Сильно помятый шлем. Его даже надеть нельзя.^;
!#UN:A161/1/5000;
!#UN:A161/3/4;
!#UN:A161/9/10;
!#UN:A161/10/11;
!!UN:А161/2/21;

Событие после убийства монстра:
!?LE4/34/1;
!#VRv99:S1;
!!IF&v99=1;
!!TR18/16/1:P1;
!!VRv99:S1;
!!IF:V8/0;
!!VRv8:S1;
!?OB17/15/1;
!!HE8:A3/161/1/0;
!!IF:W8;
!!IF&v8=1:M^ХХХХ^;

!!HE-1:A1/36/1;
!#VRz25:S^Новенький Шлем^;
!#VRz26:S^Великолепно сделанный шлем^;
!#UN:A36/1/15000;
!#UN:A36/3/16;
!#UN:A36/9/25;
!#UN:A36/10/26;


Камрады! Памагайте кто чем может fie.gif wacko.gif
DracoLich
Совет: поставь этого монстра в событии как охранника, чтобы проще было.

ZVSE

!#MA:P109/260 A109/18 D109/18 M109/25 E109/30 S109/12 X109/16;
!#VRz10:S^Измятый шлем^;
!#VRz11:S^Сильно помятый шлем. Его даже надеть нельзя.^;
!#UN:A161/1/5000 A161/3/4 A161/9/10 A161/10/11 А161/2/0;
!#VRz25:S^Новенький Шлем^;
!#VRz26:S^Великолепно сделанный шлем^;
!#UN:A36/1/15000 A36/3/16 A36/9/25 A36/10/26;

!?OB20/14/1;
!!IF&v81=0:M^бла-бла-бла^;
!!IF&v81=1:M^бла2-бла2^;
!!VRv81&v81=0:S1;

!$LE4/34/1;
!!HE-1:O?y1;
!!HE-1&y1>-1:A4/161;
!!TR18/16/1:P1;

!?OB17/15/1;
!!IF&50:M^ же сказал, заходи завтра^; - если приперся в тот же день
!!FU&50:E;
!!IF&v99=2:M^Привет^; - арт уже отремонтировали
!!IF&v99=1:M^На, я тебе сготовил арт. Примерь.^;
!!HE-1&v99=1:A4/36;
!!VRv99&v99=1:S2;
!!FU&v99>0:E;
!!HE-1:A2/161/?y1/d;
!!IF&y1=0/v81=0:M^Я тебя не знаю...^; - если нету арта и не посещен
!!IF&y1=0/v81=1:M^Привет бла бла бла^; - если нету арта, но 20/14/1 посещен
!!IF&y1>0/v81=0:M^Я тебя не знаю бла бла бла^; - если есть арт, но 20/14/1 не посещен
!!IF&y1>0/v81=1:M^О, сломанный шлем! Нафига он тебе? Давай я починю! Завтра за ним зайди.^;
!!HE-1&y1>0/v81=1:A-161;
!!VRy2:Sc;
!!VRy3:Sc+1;
!!TM5&y1>0/v81=1:Sy2/y3/1/255;
!!IF&y1>0/v81=1:V50/1;

!?TM5;
!!VRv99:S1;
!!IF:V50/0;
Serco
Огромное Спасибо!!! clapping.gif victory.gif Сейчас буду тестировать...
Azure Dragon
Огромное спасибо DracoLich. А можно как нибудь героев улучшить до версии 3.88f? А как можно проверить есть или нет монстра на определенном квадрате? !?ОВ1:x/y/l/?v12? Если есть то v12=1? Правильно? buba.gif
Serco
DracoLich
Я немного поправил твой скрипт:
ZVSE

!#VRz10:S^Измятый шлем^;
!#VRz11:S^Сильно помятый шлем. Его даже надеть нельзя.^;
!!UN:A161/1/2000;
!!UN:A161/3/4;
!!UN:A161/9/10;
!!UN:A161/10/11;
!!UN:А161/2/0;

!#VRz25:S^Новенький Шлем^;
!#VRz26:S^Великолепно сделанный шлем^;
!!UN:A36/1/15000;
!!UN:A36/2/1;
!!UN:A36/3/16;
!!UN:A36/9/25;
!!UN:A36/10/26;

!?OB20/14/1;
!!IF&v81=0:M^Попробуй его найти..."^;


!?OB20/14/1;
!!IF&50:M^ Я же сказал, заходи завтра^; - если приперся в тот же день
!!FU&50:E;
!!IF&v99=2:M^Привет^; - арт уже отремонтировали
!!IF&v99=1:M^На, я тебе сготовил арт. Примерь.^;
!!HE-1&v99=1:A4/36;
!!VRv99&v99=1:S2;
!!FU&v99>0:E;
!!HE-1:A2/161/?y1/d;
!!IF&y1=0/v82=0:M^Я тебя не знаю...^; - если нету арта и не посещен
!!IF&y1>0/v82=1:M^"А-а! Вы принесли шлем! Ну что же посмотрим, что можно сделать..."
^;
!!HE-1&y1>0/v81=1:A-161;
!!VRy2:Sc;
!!VRy3:Sc+1;
!!HE-1:W0;
!!IF&y1>0/v81=1:V50/1;

!!VRv99:S1;
!!IF:V50/0;

Теперь у меня вопрос для чего строчки:
!!VRy2:Sc;
!!VRy3:Sc+1; ?
Скрипт получился немного неправильный. Я хочу, чтобы герой первый раз посещал "кузницу" ему как бы выдавались текст сообщения с квестом. Если тутже войти ещераз то уже сообщение типа: "сначала иди найди..."
Потом по сценарию герой идет и активирует событие где дереться с существом в награду за победу дается арт который нельзя надеть. Герой идет обратно в кузницу и отдает арт №161 ему в этот же день возвращают уже другой арт №36. И после этого кузнец выдает сообщение типа привет...

И еще вопросик Как закрыть доступ к обьекту после его посещения? (Что-нибудь типа темница дракона закрывающаяся огненным столпом)


Заранее премного благодарен biggrin.gif good.gif
Druin
Цитата(DracoLich @ 05 Jan 2007, 00:29)
Druin, может, ты пользовал, знаешь, что там?

Неа... не пользовал... sad.gif Если получится, то попробую на выходных попользовать и даже со всех сторон в особо извращенной форме... smile.gif А так че сказать даже не знаю...

Цитата(Azure Dragon @ 05 Jan 2007, 22:22)
Огромное спасибо DracoLich. А можно как нибудь героев улучшить до версии 3.88f? А как можно проверить есть или нет монстра на определенном квадрате? !?ОВ1:x/y/l/?v12? Если есть то v12=1? Правильно? buba.gif

Уважаемый Azure Dragon, попробуйте яснее изьяснять свои мысли... Бо нифига не понятно что вы написали...

Цитата(Serco @ 05 Jan 2007, 23:11)
DracoLich
Я немного поправил твой скрипт:
...

Извини, но ты его только извратил... При беглом взгляде ошибок тьма... Точнее одна ошибка, но она ВЕЗДЕ... бррр... crazy.gif
DracoLich
Хехе. Ты же сам сказал, шоб через день заглянул )
Закрыть доступ: !!TRx/y/l:P1;
2 Azure
!!OBx/y/l:T?v10 U?v11;x y l - координаты, в переменой v10 будет хранить тип объекта (монстр - 54), в v11 - подтип (если монстр, то личный номер существа (0-196) )
Serco
Извиняюсь... sorry.gif немного передумал... Я его сейчас переписал. Но мне все же нужен скрипт чтобы делать из любого обьекта "квестодаватель" tongue.gif search.gif
DracoLich Нет Ресейвер TR я знаю, но он ведь закрывает поле сразу после начала карты. А как сдлать, чтобы после посещения обьекта он как бы закрывался?
DracoLich
Почему это с начала карты? Он полноценный ресейвер, и может активироваться прямо в коде...
Azure Dragon
DracoLich. А как сделать артифакт без триггера АЕ?
DracoLich
В каком смысле сделать?
Serco
Цитата(DracoLich @ 06 Jan 2007, 18:56)
Почему это с начала карты? Он полноценный ресейвер, и может активироваться прямо в коде...


Как? Через !!TM?
DracoLich
Закрой доступ после улучшения арта, вставь ресейвер !!TRx/y/l:P1; сразу после того, как герой улучшит арт
Azure Dragon
DracoLich?z имею ввиду, как проверить артефакт на герое и сделать так, чтобы он прибавлял, например 20 фениксов в неделю?
gamecreator
ставишь таймер на начало или другой день недели (!#TM)
пишешь тригер функции(!?FU)(ниже написано для чего) со строчками:
!!HEx16&переменная_героя==1:C2/131/20/1;
где х16 - текущий номер цикла DO(поправьте если не так), 131 - номер фениксов, 20 - кол-во, 1 - спросить игрока о добавлении(aka диалог в гарнизоне)
пишешь тригер на одевание арта - переменная_героя=1, на снятие - переменная_героя=0 (!?AE)
пишешь тригер на таймер(!?TM) и вставляешь туда рисивер на циклический вызов функции которую ты раньше писал(!!DO) на перебор всех героев(тригер функции надо писать раньше рисивера)


Добавлено ([mergetime]1168200754[/mergetime]):
щас напишу как это примерно будет выглядеть...

Добавлено ([mergetime]1168201903[/mergetime]):
!#TMномер_таймера:S1/999/7/1; таймер на 1-й день каждой недели при ходе красного

!?FUномер_функции;
!!IF:Wx16; - на всякий случай
!!HEx16&переменная_героя==1:C2/131/20/1;

!?AE1;
!!IF:W-1;
!!VRпеременная_героя&v998=номер_арта:S1;

!?AE0;
!!IF:W-1;
!!VRпеременная_героя&v998=номер_арта:S0;

!?TMномер_таймера;
!!DOномер_функции/0/155/1:P;
DracoLich
Но только в этом примере игрок получит фениксов 20*кол-во игроков в игре. На таймер проверку надо, либо давать фениксов исключительно героям ходящего игрока.
gamecreator
почему? если у героя есть арт, то переменная _этого_ героя ставится в 1. но я не знаю при проверке проверяется ли переменная текущего героя или какого-то левого
DracoLich
Упс, соррь, не заметил... Но если красного игрока нет в игре? Тады таймер работать не будет, как и арт.
Berserker
В таком случае проверяй других. Напиши маленькую функцию для поиска первого живого игрока, проверяя !!OW:Ix/?y1/?y2;
DracoLich
??? Я делаю по другому, чуть длиннее, но правильней:
!#TM1:S8/999/7/255;

!?TM1;
!!DO1/0/155/1:P;

!?FU1;
!!OW:C?y1;
!!HEx16:O?y2;
!!FU&y1<>y2:E;
!!HEx16:A2/160/d/?y3;
!!FU&y3=0:E;
!!HEx16&1000:C2/131/20/1;
!!HEx16&-1000:C2/131/20/0;
Berserker
Можно и так. Я говорил без траты переменной. Но это опасно, если игрок погибает...У тебя же класический вариант
DracoLich
Чем опасно?
Фениксы дадутся только при ходе игрока, как и нужно...
Классический?
Serco
Уважаемый DracoLich, как сделать проверку на определенный тип существ в армии героя?
DracoLich
...
!!HE-1:C1/номер искомого монстра/еще раз его номер/?y1; - в переменной y1 теперь будет окл-во требуемых монстров (0 если нет)
Azure Dragon
а без !?AE? В более ранних сериях героев?
DracoLich
Какой AE???
Azure Dragon
DracoLich/ Ладно, я в АЕ разобрался(триггер проверки надет артифакт на герое или нет.). А как можно проверить, есть kvb у героя например swordsman?
DracoLich
!!HE-1:C1/6/6/?y1; - в переменной y1 теперь будет кол-во мечников героя (0 если нет)
Berserker
Драколич, такого синтаксиса нет.
Есть:
!!HE-1:C1/6/?y1;
Aleee
А я так делаю:

!!HE-1:C0/d/6/?v10;
Berserker
Кому что, а лысому...расчёска. Если работает, то почему бы и нет? (риторический вопрос)
DracoLich
Цитата(Berserker @ 12 Jan 2007, 02:06)
Драколич, такого синтаксиса нет.
Есть:
!!HE-1:C1/6/?y1;

Внимательно прочитай хелп
Aleee
C1/#1/$2/$3
Изменить монстров. Все монстры типа # будут изменены на
$2 – тип монстра
$3 – кол-во
Пример:
!!HE-1:C1/0/1/d; - изменить всех копейщиков на алербардистов

Мы говорили о количестве, а притопали к замене...
DracoLich
Это "скрытая" возможность этой команды! И она великолепно работает!!! Синтаксис в моем случае:
!!HE-1:C1/номер искомого монстра/d/?v10;
Berserker
Я читал, поэтому не видя явного значения этой команды, которая всёже длиннее моей!, написал следующее *Кому что, а лысому...расчёска. Если работает, то почему бы и нет? (риторический вопрос)*
Azure Dragon
а как проверить, есть ли существо в определённом квадрате?

Добавлено ([mergetime]1168718890[/mergetime]):
а ещё назначить функцию, чтоб она повторилась только три раза???
Druin
1. Я так понимаю на поле боя? Тогда:
!!BM: P;

2.
Код
!!DO#1/#2/#3/#4:XXXX;
Вызывает триггер функции несколько раз:
  #1 номер функции,
  #2 начальное значение
  #3 конечное значение
  #4 шаг

P$/$/$...
up to 15#s.
Запускает функцию много раз: P
Чтобы получить доступ к параметрам используйте x# (#=1...15) синтаксис.
Они могут быть использованы где угодно (в пределах функции), используются стандартные переменные.
Когда вы вызываете другую функцию (смотрите пример), все невыставленные параметры будут унаследованы.

Заметка: P параметр должен быть помещён в !!DO вызов (даже если нет значений для помещения в петлю), чтобы петля работал корректно.
Пример:
!!DO1/1/15/1:P; верно
но !!DO1/1/15/1; неверно
Все ERM команды (приёмники, инструкции) должны использовать хотя бы один параметр для корректной работы.
DracoLich
Цитата(Azure Dragon @ 14 Jan 2007, 03:08)
а как проверить, есть ли существо в определённом квадрате?

Добавлено ([mergetime]1168718890[/mergetime]):
а ещё назначить функцию, чтоб она повторилась только три раза???

1) В квадрате на карте или на поле боя??? На карте:
...
!!OBx/y/l:T?v50 U?v51; - если v50 = 54, значит, там монстр, тип монстра = v51, вместо x y l координаты
2) Druin привел только выдержку из хелпа...
...
!!DOномер_функции/1/3/1:P;
!?FUтот_же_номер;
...
Serco
Спасибо всем кто ответил на мой вопрос. Квест я докончил...
И у меня накопилась еще парочка: Как поставить на карту обьект типа сосна или любой лес? Функция !!UN:I15/23/1/188/0; у меня почему-то не работает?! Появляется большая ошибка со множеством цифр...
А также создать огонь
!?LE12/15/1;
!!UN:F11/14/1/3/3; - также почему-то не работает, при активизации события вообще ничего не происходит!
DracoLich
1) С деревьями очень сложно - долго подбирать варианты.
2) А в 11/14/1 стоит дерево, которое может загораться?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.