Diman Master, ты в параметрах DO писал (переменная)-1, вместо того, чтобы сначала вычесть единицу, и писать в параметр просто (переменная).
Потому и не работало.
Спасибо Efrit и Sav! Теперь я разобрался.
Вот так должен выглядеть скрипт:
!!HE-1:A2/y21/?y30/0; проверить артефакты у героя
!!VRy21&y30>0:*-1; сделать число отрицательным
!!HE-1&y30>0:Ay21; удалить все артефакты такого вида
!!VRy21&44/y30>0:*-1; сделать число положительным
Действия по возвращению артефактов:
!!VRv289&y30>0:+y30; записать в v289 количество артефактов
!!VRv289&y30>0:-1; убрать 1 арт
!!VRv290&y30>0:+y21; записать в v290 тип артефакта
!!DO281/1/v289/1:P-1;
!?FU281;
!!HEx1:A4/v290; дать герою артефакт
P.S. В многоразовой функции установленная v289 означает, что функция 281 запустится столько раз, сколько записано в v289?
Да, если стоит !!DOxxxx/1/(переменная)/1:P...
Каким скриптом менять артефакты в черном рынке? Именно у одного на карте, чтобы можно было рынку с другими координатами, поставить др. артефакты
Вроде для всех чёрных рынков общие артефакты. Можно изменять их перед посещением, в зависимости от того, какой рынок посещается.
Только, насколько я помню, продаваемые на чёрном рынке артефакты не меняются стандартными средствами ERM (!!UN:J7 не управляет ими).
Но, думаю, этим не очень сложно управлять с помощью UN:C. Мне кажется, что кто-то писал уже что-то подобное.
Да, на df2 это уже было..
Автор: feanor, 29 Aug 2010, 17:35
Quote:Аналогично для настройки черных рынков:
!?FU9000;
!!UN:C6919480/4/?y1;
!!VRy1:+128644;
!!UN:Cy1/4/?y2;
!!VRy3:Sx1 *7 + x2 *4 + y2;
!!UN:Cy3/4/x3;
x1 - номер рынка(0..31)
x2 - номер слота (0..6)
x3 - номер артефакта
Пример:
!!FU9000:P0/0/3; - продаем катапульту в первом слоте первого рынка.
Возможно ли запретить неписю нанимать в одном из замков героев, если там построена таверна? Здание таверны выполняет у меня иную функцию, но, увы, неписям триггер !?CM1 ни о чем не говорит.

P.S. И сразу второй вопрос: можно ли узнать, какой игрок сейчас ходит и какой герой активен (причем так, чтобы и для неписей это действовало)?
Quote:Возможно ли запретить неписю нанимать в одном из замков героев, если там построена таверна? Здание таверны выполняет у меня иную функцию, но, увы, неписям триггер !?CM1 ни о чем не говорит.
Только в одном из замков - никак. Можно только для всех замков сразу...
Quote:P.S. И сразу второй вопрос: можно ли узнать, какой игрок сейчас ходит и какой герой активен (причем так, чтобы и для неписей это действовало)?
Внутри какого именно триггера?
Внутри триггера при передаче хода игроку (появилось желание создать такое). Каждый ход каждого игрока проверять, какого он цвета и, коли цвет этот мне неугоден, рушить для него таверну в замке. А при ходе нужного цвета (моего ^_^) восстанавливать. Так и я смог бы таверну под свои нужды использовать, и бот бы не стал нагло использовать ее под свои, машинные.

Вообще, по идее, OW:C должен сработать.
feanor, Bes, огромное спасибо!
GhostManSD Wrote:Внутри триггера при передаче хода игроку (появилось желание создать такое).
Используй таймер. Он как раз срабатывает примерно в этот момент. В любом случае, до его срабатывания комп ничего не сможет сделать.
Такой принцип написан в справочнике:
Quote:!?OB63/48;
!!HE-1:O?y1 N?y2; - y1=хозяин, y2=номер
!!OB998:T?y3 U?y4; - y3=тип объекта, y4=подтип объекта
!!PO998:Hy2 Oy1 Ty3 Sy4; - установить хозяина, последнего посетителя, тип и подтип объекта.
Нужно чтобы каждый герой после посещения данного объекта больше не смог его посетить. Как проверить его посещение?
!?OB63/48;
!!POv998/v999/v1000:H?y10; - здесь должен быть записан номер героя?
!!FU&y10__:E; - какое здесь условие должно быть, чтобы герой повторно не посетил?
!!IF:M^Сообщение^;
!!HE-1:O?y1 N?y2;
!!OB998:T?y3 U?y4;
!!PO998:Hy2 Oy1 Ty3 Sy4;
!?OB63/48;
!!POv998/v999/v1000:H?y10; - здесь
должен быть записан номер героя? Да, предыдущего.
!!HE-1:O?y1 N?y2;Номер текущего героя.
!!FU&y10=y2:E; - какое здесь условие
должно быть, чтобы герой повторно не
посетил? y10=y2.
!!IF:M^Сообщение^;
!!OB998:T?y3 U?y4 ;
!!PO998:Hy2 Oy1 Ty3 Sy4;
но два героя могут повторно посетить.
Получилось так, герой посетил 3 объекта, каждый по 1 разу и объекты для него закрылись. Теперь 2-й герой посетил объекты также. Но теперь первым героем посещаю эти объекты и они снова для него открыты.
Получается один герой сбивает установки другого. Как-то не записывается конкретный герой в объект, то-ли проверка не работает...
!!POv998/v999/v1000:N?y-1; !!FU&y-1>0:E; - вот это работает для каждого объекта безотказно.
А здесь получается нет? !!POv998/v999/v1000:H?y-1;