DracoLich
19 Dec 2006, 14:53
!!HE#:O$; - установить героя # как принадлежащего игроку $, чего не выходит-то?
Цитата(DracoLich @ 19 Dec 2006, 17:53)
!!HE#

$; - установить героя # как принадлежащего игроку $, чего не выходит-то?
ненаю. просто не выходит. делаю всё вроди правильно, но не меняется. попробую ещё разок
вот. попробывал. получилось. НО! меняется только цвет флага,героем (если был твой) я имуправлять могу, но новые земли не открываются. и если герой был компа, то я им управлять не могу... чё делать?!
Azure Dragon
04 Jan 2007, 00:17
А у меня вот такой вопрос: Где взять в ЕRM скрипте триггер !?AE? В какой это версии? А можно сделать так, чтобы существо выглядело как например архимаг, а нападая на него, воюеш с импами? Не используя в скрипте провокацию героя в битве?
Цитата(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
04 Jan 2007, 04:35
!!OBx/y/l:T54 U42; - вместо x y l координаты архимага
А не будет ли при этом по нажатию второй клавиши писать что это имп, а не архимаг?... Блин... Негде щас проверить...
блин, да помогите мине с героем! не могу сделать!
Azure Dragon
04 Jan 2007, 23:06
Cпасибо за ответ, Druin. Да помогите мне пожалуйста... Пусть лучше будут писаться, что там архимаги. И ещё вопрос, если Я Триггер АЕ напишу в более старой версии ерм, то он будет работать в карте. Версия героев у меня 3. 58. Прошу оказать мне помощ, заранее спасибо...
DracoLich
05 Jan 2007, 00:29
Цитата(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 день) игрока...

Druin, может, ты пользовал, знаешь, что там?
Второй час ломаю голову но никак не могу доработать гребанный скрипт...

Суть: герой посещает обьект (какой-то домик из новых) там ему говорят иди принеси... Он идет натыкается на событие убивает монстра получает артефакт №161 (пустой) но с настроенными названием описанием и т.д. Он идет обратно отдает этот арт кузнецу и кузнец через день (хотя это не принципиально) отдает ему другой арт №36 (бошка ангелов) тоже настроенный, но плюс с измененными характеристиками.
И вот все это по порядку я поставить не могу!!! Вот скрипт:
Кузница:
ZVSE
!?OB20/14/1;
!!IF&v81=0:M^бла-бла-бла^; первый заход к кузнецу
!!IF&v81=1:M^бла2-бла2^; второй заход
!!VRv81&v81=0:S1;
Событие с монстром: (вроде бы здесь, что-то не так)
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;
Камрады! Памагайте кто чем может
DracoLich
05 Jan 2007, 06:40
Совет: поставь этого монстра в событии как охранника, чтобы проще было.
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;
Огромное Спасибо!!!

Сейчас буду тестировать...
Azure Dragon
05 Jan 2007, 22:22
Огромное спасибо DracoLich. А можно как нибудь героев улучшить до версии 3.88f? А как можно проверить есть или нет монстра на определенном квадрате? !?ОВ1:x/y/l/?v12? Если есть то v12=1? Правильно?
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. И после этого кузнец выдает сообщение типа привет...
И еще вопросик Как закрыть доступ к обьекту после его посещения? (Что-нибудь типа темница дракона закрывающаяся огненным столпом)
Заранее премного благодарен
Цитата(DracoLich @ 05 Jan 2007, 00:29)
Druin, может, ты пользовал, знаешь, что там?
Неа... не пользовал...

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

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

Уважаемый Azure Dragon, попробуйте яснее изьяснять свои мысли... Бо нифига не понятно что вы написали...
Цитата(Serco @ 05 Jan 2007, 23:11)
DracoLich
Я немного поправил твой скрипт:
...
Извини, но ты его только извратил... При беглом взгляде ошибок тьма... Точнее одна ошибка, но она ВЕЗДЕ... бррр...
DracoLich
06 Jan 2007, 04:56
Хехе. Ты же сам сказал, шоб через день заглянул )
Закрыть доступ: !!TRx/y/l:P1;
2 Azure
!!OBx/y/l:T?v10 U?v11;x y l - координаты, в переменой v10 будет хранить тип объекта (монстр - 54), в v11 - подтип (если монстр, то личный номер существа (0-196) )
Извиняюсь...

немного передумал... Я его сейчас переписал. Но мне все же нужен скрипт чтобы делать из любого обьекта "квестодаватель"
DracoLich Нет Ресейвер TR я знаю, но он ведь закрывает поле сразу после начала карты. А как сдлать, чтобы после посещения обьекта он как бы закрывался?
DracoLich
06 Jan 2007, 18:56
Почему это с начала карты? Он полноценный ресейвер, и может активироваться прямо в коде...
Azure Dragon
06 Jan 2007, 20:13
DracoLich. А как сделать артифакт без триггера АЕ?
DracoLich
06 Jan 2007, 20:23
В каком смысле сделать?
Цитата(DracoLich @ 06 Jan 2007, 18:56)
Почему это с начала карты? Он полноценный ресейвер, и может активироваться прямо в коде...
Как? Через !!TM?
DracoLich
07 Jan 2007, 04:22
Закрой доступ после улучшения арта, вставь ресейвер !!TRx/y/l:P1; сразу после того, как герой улучшит арт
Azure Dragon
07 Jan 2007, 22:37
DracoLich?z имею ввиду, как проверить артефакт на герое и сделать так, чтобы он прибавлял, например 20 фениксов в неделю?
gamecreator
07 Jan 2007, 23:31
ставишь таймер на начало или другой день недели (!#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
08 Jan 2007, 05:14
Но только в этом примере игрок получит фениксов 20*кол-во игроков в игре. На таймер проверку надо, либо давать фениксов исключительно героям ходящего игрока.
gamecreator
08 Jan 2007, 18:57
почему? если у героя есть арт, то переменная _этого_ героя ставится в 1. но я не знаю при проверке проверяется ли переменная текущего героя или какого-то левого
DracoLich
08 Jan 2007, 20:32
Упс, соррь, не заметил... Но если красного игрока нет в игре? Тады таймер работать не будет, как и арт.
Berserker
08 Jan 2007, 22:07
В таком случае проверяй других. Напиши маленькую функцию для поиска первого живого игрока, проверяя !!OW:Ix/?y1/?y2;
DracoLich
09 Jan 2007, 04:50
??? Я делаю по другому, чуть длиннее, но правильней:
!#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
09 Jan 2007, 16:26
Можно и так. Я говорил без траты переменной. Но это опасно, если игрок погибает...У тебя же класический вариант
DracoLich
09 Jan 2007, 17:13
Чем опасно?
Фениксы дадутся только при ходе игрока, как и нужно...
Классический?
Уважаемый DracoLich, как сделать проверку на определенный тип существ в армии героя?
DracoLich
09 Jan 2007, 18:47
...
!!HE-1:C1/номер искомого монстра/еще раз его номер/?y1; - в переменной y1 теперь будет окл-во требуемых монстров (0 если нет)
Azure Dragon
09 Jan 2007, 21:47
а без !?AE? В более ранних сериях героев?
DracoLich
10 Jan 2007, 06:13
Какой AE???
Azure Dragon
11 Jan 2007, 00:15
DracoLich/ Ладно, я в АЕ разобрался(триггер проверки надет артифакт на герое или нет.). А как можно проверить, есть kvb у героя например swordsman?
DracoLich
11 Jan 2007, 02:22
!!HE-1:C1/6/6/?y1; - в переменной y1 теперь будет кол-во мечников героя (0 если нет)
Berserker
11 Jan 2007, 22:06
Драколич, такого синтаксиса нет.
Есть:
!!HE-1:C1/6/?y1;
А я так делаю:
!!HE-1:C0/d/6/?v10;
Berserker
12 Jan 2007, 23:17
Кому что, а лысому...расчёска. Если работает, то почему бы и нет? (риторический вопрос)
DracoLich
13 Jan 2007, 14:14
Цитата(Berserker @ 12 Jan 2007, 02:06)
Драколич, такого синтаксиса нет.
Есть:
!!HE-1:C1/6/?y1;
Внимательно прочитай хелп
C1/#1/$2/$3
Изменить монстров. Все монстры типа # будут изменены на
$2 – тип монстра
$3 – кол-во
Пример:
!!HE-1:C1/0/1/d; - изменить всех копейщиков на алербардистов
Мы говорили о количестве, а притопали к замене...
DracoLich
13 Jan 2007, 14:36
Это "скрытая" возможность этой команды! И она великолепно работает!!! Синтаксис в моем случае:
!!HE-1:C1/номер искомого монстра/d/?v10;
Berserker
13 Jan 2007, 14:58
Я читал, поэтому не видя явного значения этой команды, которая всёже длиннее моей!, написал следующее *Кому что, а лысому...расчёска. Если работает, то почему бы и нет? (риторический вопрос)*
Azure Dragon
13 Jan 2007, 23:08
а как проверить, есть ли существо в определённом квадрате?
Добавлено ([mergetime]1168718890[/mergetime]):
а ещё назначить функцию, чтоб она повторилась только три раза???
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
14 Jan 2007, 08:21
Цитата(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тот_же_номер;
...
Спасибо всем кто ответил на мой вопрос. Квест я докончил...
И у меня накопилась еще парочка: Как поставить на карту обьект типа сосна или любой лес? Функция !!UN:I15/23/1/188/0; у меня почему-то не работает?! Появляется большая ошибка со множеством цифр...
А также создать огонь
!?LE12/15/1;
!!UN:F11/14/1/3/3; - также почему-то не работает, при активизации события вообще ничего не происходит!
DracoLich
15 Jan 2007, 00:57
1) С деревьями очень сложно - долго подбирать варианты.
2) А в 11/14/1 стоит дерево, которое может загораться?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.