Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 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
Сатарыч
1 это "изголовье" объекта, тоесть его главная точка.
Ров никак не обозначается.
Serco
Спасибо Гипо) Придется обойтись)))
hippocamus
Ну должен ров как-то обозначаться. Чем он хуже Зыбучего песка?
Сатарыч
Возможно это уже внутри *.exe шника.
У обоих рвов флаг равен 0
Pir@t
Как зделать скелетам: "-30% урона стрелами" ?

По ресейву из ERM-help: ЕА:В : #1 - бонусная линия (0-19)(нельзя получить значение) ,Какпонимать?

Покажите пример,как установить свои параметры монстру при прокачке! Например на скорости: +0;+0;+0;+0;+1;+1;+1;+2;+2;+3
gamecreator
с помощью боевого триггера

так и понимать. бонусная линия - это как полка с книгами. ее обязательно надо выбрать
sergroj
-30% урона - можно в !?MF1 уменьшить
бонусная линия - по свойству на каждый уровень существа.

gamecreator, если лень отвечать, не отвечай.
BlackStuff
Меняю специлизацию герою, применяя инструкцию
!#HE141:X1/121/d/d/d/d/d;

В игре меняется только картинка специализации, описание и сама специализация остается прежней.

Что делать?
DracoLich
!#UN:G2/#1/#2/#3;
См. справку
И кста, вместо d ставь нули, как и сказано wink.gif
Tasan
Всем привет. Как можно прописать чтобы на пустом месте появился город.
DracoLich
!!UN:Ix/y/l/98/z; z - номер города (0-8)
Tasan
А его место положение не нужно прописывать. И что значит номер города если он нейтральный.

Добавлено ([mergetime]1225009504[/mergetime]):
А я понял 0 значит нейтральный. Так. Как указать его местоположение
Хмм..
нейтральный наверно -1
Миханик
номер города:
0 - замок
1 - оплот
2 - башня
3 - инферно
4 - некрополис
5 - подземелье
6 - варвары
7 - болото
8 - конфлюкс
x/y/l - положение: x - по горизонтали, y- по вертикали, l - уровень (0 - поверхность, 1 - подземелье)
а нейтрального хозяина потом ставишь командой !!CAx/y/l:O-1;
Tasan
Отлично.good.gif Большое спасибо.
Alex-EEE
Цитата(Миханик @ 26 Oct 2008, 14:10)
а нейтрального хозяина потом ставишь командой !!CAx/y/l:O-1;

Этим скриптом можно поставить больше 50 городов на карте, или игра вылетит?
Tasan
То есть, мне нужно на карту установть не менее 50 городов?
sergroj
Если поставить больше 48 либо вылетит, либо начнутся глюки.
Tasan
Хороше спасибо учту.
Tasan
А где можно взять таблицу, где указано у какого монстра какой номер. Если можно скиньте кто-нибудь.
BlackStuff
Tasan, смотри подпись DracoLich.
Septimus
Как можно прописать джинна к нейтралам, не изменяя текстовики или exe`шник?

Добавлено ([mergetime]1225088932[/mergetime]):
Такой скрипт есть?
Iv
ZVSE
!#MA: O36/-1;
DracoLich
Мля, даже как-то лень модерировать сейчас %)
Threrdec
Код
ZVSE
_WARNING_#1=IMPORTANT! This file is not in a plain text format. NEVER use any editor except ERM_S for making any kind of changes!
ERMS_PoweredBy=ERM Scripter v. 2005.9.7.814
ERMS_ScriptDate=31.10(October).2008
!?FU29001;
!!UN:P501/?v5011;
!!FU29812&v5011=1:P;

!?FU29812;
!!MA:P52/d1;

!?BA0;
!!BA:E?y1; [это сетевая битва?]
!!FU29002&y1=0:Py1; [если нет, продолжить скрипт]

** за миг до битвы
**VRi:&33554432; [проверить на ожидание]

!?FU29002;
**BG:N?j;
**BM:T?k;
!!BU:Ev2/?v101;
!!BU:Ev3/?v102;
!!BU:Ev4/?v103;
!!BU:Ev5/?v104;
!!BU:Ev6/?v105;
!!BU:Ev7/?v106;
!!BMv101&101>=0:T?v10;
!!BMv102&102>=0:T?v11;
!!BMv103&103>=0:T?v12;
!!BMv104&104>=0:T?v13;
!!BMv105&105>=0:T?v14;
!!BMv106&106>=0:T?v15;
!!UN&v40=512:N3/?z20/v10/0;
!!UN&v40=512:N3/?z21/v11/0;
!!UN&v40=512:N3/?z22/v12/0;
!!UN&v40=512:N3/?z23/v13/0;
!!UN&v40=512:N3/?z24/v14/0;
!!UN&v40=512:N3/?z25/v15/0;
!!IF&v40=512:Q1/-1/-1/4^%Z20 %Z21 %Z22 %Z23 %Z24 %Z25^;
**IF&v40=512:Q1/-1/-1/4^%V101 %V102 %V103 %V104 %V105 %V106^;
**IF&y1=0:M^Скрипт работает.^;


!?BG;
!!BG:N?j;[Определяем стэк текущего хода]
!!BMj:T?k;[Определяем тип существа в нём]
!!UN:N3/?z10/45/0; – имя монстра ($1) (одиночного: $2=0, нескольких: $2 = 1)
!!IF&k=45:M^Ходит =%Z10^;
**CM:D?p F512;

!?CM4; - вызывается при клике на поле боя
!!CM:D?v1 F?v40;
!!VRv2:Sv1-1;
!!VRv3:Sv1-17;
!!VRv4:Sv1-18;
!!VRv5:Sv1+1;
!!VRv6:Sv1+16;
!!VRv7:Sv1+17;
**VRv1:Si-1/i-18/i-17/i+1/i+18/i+17; - ВОТ ЭТА СТРОЧКА!!! ПОЧЕМУ АРИФМЕТИКУ НЕЛЬЗЯ СДЕЛАТЬ ТУТ?
**VRv1:-1;
**IF&v40=512:Q1/-1/-1/4^%V2 %V3 %V4 %V5 %V6 %V7^;
!!FU29002&v40=512:P/v2/v3/v4/v5/v6/v40;


!#FU29001:P;


Язык изучаю пару часов, он немного "грамоздкий", либо я ещё не знаю чего...куча переменных постоянно нужна....это неудобно
Вопрос возник потому как уже мозг не варит:
Я пытаюсь писать скрипт для инферно, чтоб магоги не наносили урон своим...
Этот скрипт пока тока куча проверок.....но вообщем пока его смысл таков:
В битве проверяется какой юнит ходит, если магог то...(пока ничего)
Сделал по клику правой кнопки показывать кто находится на соседних позициях...но кроме как на проверку живых существ в позиции я другого ненашёл...если в позиции нет живого существа -1 если есть передаёт номер его стэка. По номеру стэка узнаю номер монстра и соответственно вывожу его "имя", но загвоздка в том что если параметр будет -1 компилятор выдаёт ошибку а если ставить условия >=0, то показывает что на соседних клетках копейщики.
Хмм..
Я себе так представляю этот скрипт. Разбирайся.
Код
ZVSE
!?BG0;
!!FU1:P;

!?MF1;
!!FU2:P;

!?FU1;
!!BG:N?y1;
!!BMy1:T?y2;
!!if&y2=45:;
  !!BG:Q?v1;
!!el;
  !!VRv1:S-1;
!!en;

!?FU2;
!!if&v1>-1:;
  !!MF:N?y1;
  !!BMy1:I?y2;
  !!if&y2=v1:;
     !!MF:E0;
  !!en;
!!en;


З.Ы. Не тестировал
Threrdec
я думал условия не работают (у меня не работали во всяком случае)
с ними половина кода ненужна если не больше...кстати твой скрипт блочит урон для всех....в т.ч. и для врага(даже прямой и не только от магогов)
Threrdec
мля это для ТЕ а мне для вог
Threrdec
сделал поддержку ТЕ для вог, теперь другая проблема в ближнем бою если магог бьёт отвечающий ему не наносит урон.
Threrdec
Решил проблему(сорри за мультипостинг)
спс Хмм..
Iv
А можешь выложить финальный вариант?
major
попробуй просто не на носить урон другим существам, кроме атакуемого, командой !!MF:E0; кажется...

Добавлено ([mergetime]1225473780[/mergetime]):
кроме вражеских естественно...
там скрипт в несколько строк
Хмм..
Цитата(major @ 31 Oct 2008, 20:23)
попробуй просто не на носить урон другим существам, кроме атакуемого,

Сюда могут попасть и существа противника. Нужно проверять на принадлежность существа
Сатарыч
На каникулах появилось свободное время. Надеюсь доделаю своего 3-х клеточного мутанта.
Вопросы:
1. Как заставить "мигать" жёлтым цветом нужный стек?
2. Можно ли командой !!BM:P переместить монстра на позицию 0, 16, 17, 33 и т.п.? Если нет то как?
hippocamus
1. В дефе есть специальные кадры, уже с жёлтой обводкой. Только она не совсем жёлтая, это один из спеццветов, например при наведении магии она становится голубой. Посмотри любой стандартный деф.
2. Да, конечно. Но когда до них дойдёт ход игрока (не компьютера), игра вырубится. А компьютер нормально походит с этих позиций. И при автоматическом режиме боя походит. Нужно копаться в экзешнике, и убрать баг.
Сатарыч
1. То что в дефё это спец цвет я знаю. Вопрос в том как заставить так мигать во время боя конкретный стек с помощью скриптов.
2. !!BM:P не хочет перемещать стек в эти позиции. Нужно просто временно убрать в сторонку один стек, чтобы не мешался.

Добавлено:
3. В чужих скриптах видел команду !!FU:E не в триггере !?FU; . Тоесть она может завершить работу кода любого триггера? И как эта команда работает в !!DO; ? Завершит работу всех циклов или только одного?
gamecreator
да, как ни странно работает во всех триггерах.
емнип, в DO она выйдет из цикла
hippocamus
1. Кто-то выкладывал скрипт, для инициирования определённой анимации стека. Поищи. Нужно инициировать анимацию "стоит".
2. Да, действительно. Потому что эти позиции некорректны. Но на них можно поставить стек с помощью BU:S
3. Работает. Так по-моему и написано в её описании. Насчёт DO нужно пробовать.

Добавлено ([mergetime]1225705033[/mergetime]):
а чтобы стек не мешался, лучше ему присвовить флаг "мёртв". Тогда он будет лежать, пока этот флаг не снимешь, и никому мешать не будет.
major
DO завершит текущее действие цикла и вернет выполнение сначала. если конечно цикл не закончился.
major
как узнать, кто первый ходит в битве? !!BG:N В НАЧАЛЕ НЕ РАБОТАЕТ...
hippocamus
!?BA0;
!!BA:H0/?y1;
Хмм..
А почему атакующий герой?
hippocamus
А, я неправильно понял, думал - левого героя нужно узнать.
Ну, тогда нужно скорости всех стеков посмотреть.
Хмм..
Цитата(major @ 06 Nov 2008, 20:53)
как узнать, кто первый ходит в битве? !!BG:N В НАЧАЛЕ НЕ РАБОТАЕТ...

Ну а остальное? BG:Q H ? или имеется ввиду стек?
major
да нужен именно стек...
насчет скоростей это понятно, просто подумал может у кого свежая идея появится по-проще...
Aнгeл
smile.gif Идеи есть, есть и практические реализации. Мне в Фениксе зачастую нужно было узнать, а кто вообще сейчас ходит (номер монстра). BG:N ещё не инициализированно, но можно насильно это сделать. Как?

Код
!!BG:A0; ! ! ! Вызываем ресивер, тот обновляет инфу, ничего не произходит.
!!BG:N?y1; Вот оно родимое :-)
major
smile.gif тоже была такая идея, токо думал бессмысленная...

кстати, не пойму баг это, или ЕРМ надо мной издевается.
Ситуация такая. Во время битвы мне нужно подсчитать некоторое дробное значение, такого содержания !!VRe49:S1 :20; (номер переменной e не имеет значения, пробовал всякие разные), так вот при подсчете e49=0.05, и если в этом же триггере написать !!IF:M^%E49^; то он покажет соответственно 0.05, однако как только нажать ENTER и триггер закончится, в переменной будет первоначальное значение 0. К тому же, если я через !!UN:C в том же триггере считаю из памяти по адресу этой переменной это значение и присвою его другой НЕ float-point переменной (например v), то значение в v останется как положено (только целочисленное), а если в другую e-переменную, то ни та, ни эта не сохранятся.
Вобщем, почему float-point variables не сохраняет свое значение???
Хотя насколько помню вне битвы нормально работает.
Aнгeл
Потому что e-переменные временные и обнуляются на триггерах. Копируй через !!UN:C в v.
sergroj
Цитата(Aнгeл @ 08 Nov 2008, 02:54)
Код
!!BG:A0; ! ! ! Вызываем ресивер, тот обновляет инфу, ничего не произходит.
!!BG:N?y1; Вот оно родимое :-)

На самом деле BG:A0 ничего не обновляет, все будет работать точно так же и без него.

В некоторых триггерах, по крайней мере в BA, битва еще не инициализирована, или инициализирована частично, поэтому многие команды возвращают значения от прошлой битвы. Надо попробовать другие триггеры и найти тот, в котором BG:N уже инициализирован. Я еще этим не занимался. Если такой триггер не найдется, есть функция Чертоса-2, вычисляющая, какой монстр ходит в первый ход битвы.
Aнгeл
Сергей, простейший скрипт: по щелчку выдать номер монстра. Без BG:A выдаётся старая инфа, а С - новая. Проверь сам, у меня бы отказали арты в Фениксе и способности, если бы это было не так. Или бред на поле боя пошёл бы, если бы я брал старую инфу BA:N.

Добавлено ([mergetime]1226224816[/mergetime]):
Глянул код, да, не обновляет, но действует в ТЕ ведь. Ладно, напишу скрипт, проверю и скажу финальный результат.

Добавлено ([mergetime]1226225635[/mergetime]):
Проверил, код верен. BG:A лишь изменяет значение переменной в памяти (как и в исходниках), а на CM уже даны верные значения.
Пытаюсь найти выход для !?BR
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.