Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Если нужен скрипт
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, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67
tolich
Согласен, причем, есть подозрение, что второй вариант только закодить.
totkotoriy
Я в скриптах сильно не разбираюсь.... может поможете?
Как сделать перерисовку существ на поле боя при движении одного из них?

!?BA0;
Есть перерисовка заднего фона:
!!BU:R;
Есть перерисовка, как я понимаю существа:
!!BU:S?/?/?/?/?/1;

А как вызвать аналогичное условие !?HM-1 для существа на поле боя или может есть что-то подобное или как-то по другому сделать?
Если это сделать я думаю глюки альфы на поле боя пропадут...

И еще кое что:
Можно ли выполнять какие либо действия до начала нового дня, но после конца предыдущего, а то некоторые значения если поставить меняться в начале дня (например ходы героя) они будут при смене дня скакать по 3 раза mad.gif


Еще lupa.gif : Как сделать чтоб заклинание при экспертной магии НЕ действовало на все войско, а только на один отряд????? - уже сделал....

Буду очень признателен....
porpr
Помогите пожалуйста со скриптом! У меня например в координатах 0/83/0 стоит дерево знаний. Можно сделать так, чтоб оно не давало опыт, а работало как хижина провидца? Мне нужно чтоб оно давало знамя полководца, если я убью героя например номером 74? Помогите)
tolich
Мне кажется, проще поставить хижину провидца, а затем в патченом редакторе заменить def на дерево знаний.
porpr
а как это сделать?
tolich
В контекстном меню хижины выбрать "Дополнительные свойства", указать рисунок "AVXtrek0.def".
porpr
блин, а если у меня не работает пропатченный редактор, а только простой?? sad.gif
tolich
Пропатчить простой. smile.gif
Etoprostoya
По-моему, знамя полководца нельзя поставить как квестовый артефакт.
porpr
ну я как бы пробовал через скрипт, а там просто номер артефакта написал ивсё. Так получается чтоб мне дерево дало знамя, никак не получится сделать? huh.gif
tolich
Цитата(etoprostoya @ 27 Mar 2011, 22:14) *
По-моему, знамя полководца нельзя поставить как квестовый артефакт.

ЛПП:
porpr
tolich, спасибо)

у меня тогда ещё вопрос пл редактору. например я поменял вид врат в подземный мир на шахту. можно сделать так чтоб над шахтой развивался зелёный флаг?
tolich
Цитата(porpr @ 27 Mar 2011, 22:47) *
можно сделать так чтоб над шахтой развивался зелёный флаг?
думаю, что можно, но как — не знаю.
porpr
ладно. У меня ещё один вопрос по скрипту) Вот у меня есть скрипт для объекта
ZVSE
!?OB1/5/0;
!!HE-1:A2/156/?v51/d;
!!VRv50&v51>0/v50=1:S2;
!!IF&v50=0:Q1/8/156/1^Принеси знамя, дам конфету^;
!!IF&v50=1:M^Нет знамя, нет конфеты.^;
!!VRv50&v50=0:S1;
!!IF&v50=2/v51>0:Q1/21/133/1^Ололо, ты молодец, на конфету^;
!!HE-1&v50=2/v51>0:A-156;
!!HE-1&v50=2/v51>0:O5/6/0;
!!IF&v50=3:M^никого нет^;
!!VRv50&v50=2/v51>0:S3;
Дело в том, что когда заходишь в объеккт, все сообщения высвечиваются, но герой пропадает. а когда нажимаешь кнопку следующий герой, он опять появляется! И ещё, после того, как в объект надо принести знамя, у меня должны пропасть драконы в точке 5/6/0, но они не пропадают, и выскакивает ошибка! Помогите разобраться, где здесь ошибки)
Etoprostoya
tolich, ты прав, но и не прав - нужно было привести скрин с выдачей артефакта, а не отдачей. Но в патченном редакторе знамя полководца тоже есть и в выдаче и в приёмке.

Зеленый флаг на шахте -> !!MNX/Y/L:O3; (3 - зелёный; X, Y, L - координаты)
Цитата
!!HE-1&v50=2/v51>0:O5/6/0;
Тут какой-то глюк. Видимо должно быть !!UNv50=2/v51>0:O5/6/0; но никакой гарантии smile.gif
porpr
Глюк так и не пропал(( А с шахтами ты не совсем понял) Я в редакторе изменил вид подземных врат на шахты, и у них стал прозрачный флаг, только контуры видны! вот про это я и спрашивал
tolich
Как шахтам владельца назначать, я как раз знаю. smile.gif
А вот у врат владельца нет.
Etoprostoya
У врат не может быть владельца и флаг по умолчанию всегда будет серый.
porpr
ясно, спасибо) это не столь важно у меня! А вот насчёт глюка в скрипте, не знает никто, что там не так?
Farlin
Цитата
Дело в том, что когда заходишь в объеккт, все сообщения высвечиваются, но герой пропадает. а когда нажимаешь кнопку следующий герой, он опять появляется! И ещё, после того, как в объект надо принести знамя, у меня должны пропасть драконы в точке 5/6/0, но они не пропадают, и выскакивает ошибка! Помогите разобраться, где здесь ошибки)


Могу помочь одним советом.

Я так понимаю, этим ресивером
Цитата
!!HE-1&v50=2/v51>0:O5/6/0;
ты хотел удалить объект? Для этого используй ресивер

!!UN&v50=2/v51>0:O5/6/0;


porpr
Во, спасибо огромное, работает)))))
Etoprostoya
Цитата(etoprostoya @ 28 Mar 2011, 11:39) *
!!UNv50=2/v51>0:O5/6/0;

Цитата(porpr @ 28 Mar 2011, 13:33) *
Глюк так и не пропал((


Цитата(Farlin @ 29 Mar 2011, 00:59) *
!!UN&v50=2/v51>0:O5/6/0;

Цитата(porpr @ 29 Mar 2011, 03:46) *
Во, спасибо огромное, работает)))))

Блин, то же самое ведь предложил, только с опечаткой gigi.gif
porpr
я не знал, что там опечатка)
porpr
ну у меня ещё один вопрос) возможно ли сделать, что в определённый момент один компьютерный игрок стал союзником?
tolich
Цитата
!!OW:T#1/$2;
Установить/проверить/получить команды
#1 – игрок
$2 – команда (0…6, -1)
Примечание: заметьте, что если хозяин - нейтрал (значение хозяина объекта равно -1), не нужно проверять команду. Если вы все же проделаете это, то получите 0 (который в большинстве случаев означает команду с красным игроком. Если игрок не в команде, значение равно -1.
porpr
Цитата(tolich @ 29 Mar 2011, 16:09) *
Цитата
!!OW:T#1/$2;
Установить/проверить/получить команды
#1 – игрок
$2 – команда (0…6, -1)
Примечание: заметьте, что если хозяин - нейтрал (значение хозяина объекта равно -1), не нужно проверять команду. Если вы все же проделаете это, то получите 0 (который в большинстве случаев означает команду с красным игроком. Если игрок не в команде, значение равно -1.



Хорошо, если например я красный, а игрок зелёный, то допустим в событии 0/0/0 он должен стать моим союзником.
!?LE0/0/0;
!!OW:T3/0;
ТАк правильно будет?
tolich
Насколько я помню, с командами не всё так просто. Они, вроде бы, должны быть в карте изначально и игроки должны быть по ним расписаны. Впрочем, я в этом совсем не уверен.

Тем не менее: !!OW:T3/0; - присоединить зелёного к команде 0, но если красный в команде -1 (или в команде 3), то союзниками они не станут.
porpr
проерил, всё работает))
Vade Parvis
Я уже два года жду такой скрипт...
Уже давно есть идея "общего" навыка, и интересно, насколько сложно это реализовать в теории.
Навык — "Инициатива (n)", где n — показатель инициативы для юнита. Суть навыка в том, что когда юнит неактивен, скрипт выставляет ему значение скорости, соответствующее заранее заданному показателю инициативы юнита; при этом в окне статуса юнита фактическая скорость в этот момент подменяется его обычной скоростью с указанием инициативы в скобках. Когда наступает ход юнита, его скорость снова изменяется на соответствующую стандартной скорости (в окне юнита — всё то же). Интересует, помимо сложности реализации, также взаимодействие с замедлением и ускорением.

P.S. Имхо, разделение скорости и инициативы (очерёдности хода) смогло бы заметно разнообразить геймплей игры, а также повысить ценность некоторых нынешних аутсайдеров, традиционно используемых лишь в обороне. Мечты, мечты rolleyes.gif
MasterOfPuppets
Цитата(tolich @ 29 Mar 2011, 16:09) *
Цитата
!!OW:T#1/$2;
Установить/проверить/получить команды
#1 – игрок
$2 – команда (0…6, -1)
Примечание: заметьте, что если хозяин - нейтрал (значение хозяина объекта равно -1), не нужно проверять команду. Если вы все же проделаете это, то получите 0 (который в большинстве случаев означает команду с красным игроком. Если игрок не в команде, значение равно -1.


На самом деле, тут ошибка в описании. Команды -1 вовсе не существует. Номер команды игрока равен номеру игрока, чей номер первый в списке союзников. Если в команде синий, оранжевый и зелёный игроки, номером команды у всех будет 1 (синий). Если игрок не в команде (одиночка), то номер его команды равен его номеру.
При смерти "главаря", "главарём" вроде становится следующий по номеру член команды.
Berserker
Vade Parvis, в Эре инициативу можно реализовать естественным путём, но никому не нужно. Ибо придётся всем юнитам назначать эти параметры и балансировать, трюки ИИ с колдовством ускорения и получения права хода станут выглядить смешными.
Сулейман
Реально ли с помощью скриптов добавить абсолютно новый навык герою? Изменить количество ступеней навыка? (По типу как меняются скрытые навыки).
tolich
!!HE:S#1/$2; же, не?
Сулейман
То есть таким образом можно добавить четыре ступени прокачки вместо стандартных трех? Сорри если глупость спрашиваю, в скриптах не сильно пока разобрался.
tolich
А, ты об этом... Нет, сломать игру полностью ты так не сможешь.
hippocamus
Картинки навыка нужно менять соответсвующими дефами. Описание и название можно поменять и скриптами. Действие тоже можно поменять скриптами. А вот количество ступеней - только правкой экзешника.
Но в принципе, уровень навыка 4 - это значит Эксперт + специализация по этому навыку у героя.
А если ещё более в принципе - есть такой рессивер !!UN:C, с его помощью можно сделать почти всё (за исключением того, что происходит раньше старта карты).
Sav
Можно сэмулировать сколько угодно уровней навыка, но картинок - не более 3-х, свойства надо реализовывать самому, ИИ - в пролёте.
Dendroid3000
Мне одному было бы интересно поиграть сразу с прокаченными по максимуму монстрами? На мой взгляд задумка не плохая. Пока что такого нигде не встречал.
hippocamus
Это совсем не трудно написать, просто пройтись по всем объектам, и если монстр - установить уровень 10. Второй вариант - перед битвой всем враж.юнитам выставлять уровень 10.
Скриптёры видно уже перевелись, а мне некогда...
Algor
Цитата(hippocamus @ 10 Sep 2012, 01:46) *
Это совсем не трудно написать, просто пройтись по всем объектам, и если монстр - установить уровень 10. Второй вариант - перед битвой всем враж.юнитам выставлять уровень 10.

Перед битвой проставлять правильнее, только не понятно, почему вражеским (по сообщению Dendroid3000 я так понял, что все должны быть сразу 10 уровня, или как минимум свои).
И опять же, что именно привлекает в существах 10 уровня? Появляющиеся абилки и увеличенные параметры?
Вообще, если нужно чтобы все монстры были прокачены, можно в Crexpbon.txt прописать значения из поля R10 во все остальные поля R* и получить сразу всех "ветеранов". И скрипты писать не нужно, и можно попробовать, что получится и насколько понравится.
Dendroid3000
Чтобы абсолютно все монстры были с максимальным опытом,я это имел в виду. Даже при покупке,в стартовой армии,везде и сразу. В "Crexpbon.txt" можно попробовать,но это же постоянно будет,а если сделать в опциях,то можно вкл\выкл и так удобнее ведь. Я сам не скриптодел,вообще никак в этом не разбираюсь,просто решил подкинуть идейку. Вот (:
Но я всё же попробую "Crexpbon.txt" изменить как Algor предлагает и проверить чё там получится (:
hippocamus
Если хочешь опцией - тогда нужно на старте карты сделать цикл с инструкцией #!EA? прочитать параметры 10-го уровня, и записать во все остальные. Для всех 196 существ.
Dendroid3000
Цитата(hippocamus @ 10 Sep 2012, 15:44) *
Если хочешь опцией - тогда нужно на старте карты сделать цикл с инструкцией #!EA? прочитать параметры 10-го уровня, и записать во все остальные. Для всех 196 существ.


Я в этих инструкциях #!EA? и циклах вообще не секу,но так подозреваю что это уж очень нудное занятие (:

PS: Поменял я в CREXPBON значения из поля R10 во все остальные поля R* - работает! Ваще хардкор!!!)
"Crexpbon.txt"

Вот только существа ещё поверх этого получают опыт и становятся мега-матёрыми!!!!!!!
Jlepbl4
нужно 2 скрипта,
первый: заклинание вызов элементалей призывает не элементалей а посланников
второй: изменить скипт "Хозяева жизни" так чтоб крестьяне превращались только в алебардщиков и скелетов
Algor
Цитата(Jlepbl4 @ 08 Jan 2013, 05:49) *
первый: заклинание вызов элементалей призывает не элементалей а посланников
Код
ZVSE
!?BG0;                        [действие в бою]
!!BG:A?y1;                    [y1 - тип действия]
!!FU&y1<>1:E;                 [выход, если не колдовство героя]
!!BG:S?y1 Q?y2;               [y1 - номер колдующегося заклинания, y2 - текущая сторона]
!!FU|y1<66/y1>69:E;           [выход, если не призыв элементалей]
!!VRy4&y1=66:S164;            [y4 - номер призываемого существа для призыва огня]
!!VRy4&y1=67:S165;            [y4 - номер призываемого существа для призыва земли]
!!VRy4&y1=68:S167;            [y4 - номер призываемого существа для призыва воды]
!!VRy4&y1=69:S166;            [y4 - номер призываемого существа для призыва воздуха]
!!SSy1:S?y11;                 [y11 - биты Школ Магии заклинания]
!!BHy2:N?y12;                 [y12 - номер колдующего героя]
!!HEy12&y11=1:S15/?y13;       [y13 - уровень Школы героя [0..3]]
!!HEy12&y11=2:S14/?y13;       [...]
!!HEy12&y11=4:S16/?y13;       [...]
!!HEy12&y11=8:S17/?y13;       [...]
!!HEy12:Fd/d/?y14/d;          [y14 - Сила магии героя]
!!SSy1:Ey13/?y15;             [y15 - Эффект заклинания]
!!VRy3:Sy14 *y15;             [y3 - количество призываемых существ]
!!VRy16:Sy2 *14 +1;           [y16 - базовая позиция для призыва 1/15]
!!VRv1:S-1;                   [инициализация v1]
!!DO22222/y16/186/17:P0;      [v1 - количество свободных позиций]
!!if&v1=-1;                   [если нет свободной позиции в крайнем ряду, ищем во 2м ряду с края]
  !!VRy16:Sy2 *12 +2;         [y16 - базовая позиция для призыва 2/14]
  !!DO22222/y16/186/17:P0;    [v1 - количество свободных позиций]
  !!if&v1=-1;                 [если нет свободной позиции во 2м ряду, ищем в 3м ряду с края]
    !!VRy16:Sy2 *10 +3;       [y16 - базовая позиция для призыва 3/13]
    !!DO22222/y16/186/17:P0;  [v1 - количество свободных позиций]
    !!IF&v1=-1:M^Algor'у было лень проверять больше трех рядов. Заклинание не сработало!^;
    !!FU&v1=-1:E;             [выход, если в 3м ряду нет свободной позиции для призыва]
    !!VRy17:S1 Rv1;           [y17 - случайный номер свободной позиции]
    !!VRv1:S0;                [инициализация v1]
    !!DO22222/y16/186/17:Py17;[v1 - y17-я позиция]
  !!el:;
    !!VRy17:S1 Rv1;             [y17 - случайный номер свободной позиции]
    !!VRv1:S0;                  [инициализация v1]
    !!DO22222/y16/186/17:Py17;  [v1 - y17-я позиция]
  !!en;
!!el:;
  !!VRy17:S1 Rv1;             [y17 - случайный номер свободной позиции]
  !!VRv1:S0;                  [инициализация v1]
  !!DO22222/y16/186/17:Py17;  [v1 - y17-я позиция]
!!en:;
!!BU:Sy4/y3/v1/y2/-1/1;       [призыв нового отряда]
!!BG:A0;                      [отмена стандартного действия]
!!SSy1:Cy13/?y18;             [y18 - стоимость заклинания]
!!VRy18:*-1;                  [...]
!!HEy12:Idy18;                [уменьшение маны героя]
!!BHy2:M1;                    [запрет герою колдовства в текущем раунде]

!?FU22222;                    [подсчет кол-ва свободных позиций (x1=0) или возврат x1-й свободной позиции в v1]
!!BU:Dx16/?y1 Ox16/?y2;       [y1=-1, y2=0 если на позиции нет отрядов и препятствий]
!!FU|y1<>-1/y2>0:E;           [выход, если позиция занята]
!!VRv1:+1;                    [инкремент v1]
!!if&x1>0/v1=x1:;             [возврат x1-й свободной позиции]
  !!VRv1:Sx16;                [v1 - номер искомой позиции]
  !!VRx16:S200;               [прерывание цикла]
!!en:;
Собственно, готовый скрипт (только под ERA II).
Т.к. я ужасно ленивый, в скрипте:
- не учитывается повышение/снижение стоимости заклинаний существами (маги, пегасы)
- не проверяется тип уже призванных элементов (т.е. можно призывать в одном бою разных посланников)
- не проигрывается звук призыва
- не пишется сообщение в лог битвы

Со вторым скриптом копаться не буду - не интересно.
Jlepbl4
Algor
спасиба , (только под ERA II). - я как понимаю в обычном Wog не будет работать , или я не прав ?
Algor
Цитата(Jlepbl4 @ 08 Jan 2013, 13:21) *
Algor
спасиба , (только под ERA II). - я как понимаю в обычном Wog не будет работать , или я не прав ?

Не будет. Там используется SS-ресивер, к-й только для ТЕ и выше.
В принципе, его можно обойти "захардкодив" параметры заклинаний призыва (школы, стоимости и эффекты) или используя WoG'овский макрос $spell$ (вроде так называется, но по сути это тот же hardcode).
А вообще, пользовать чистый WoG сейчас резону нету никакого, так что смелее - эра не кусается (да да, это снова агитация. У нас с Берсом негласная такая договоренность, я проповедую, а он спасибы мне накручивает).
Iv
Кстати, поддерживаю предложение перехода на 2ую Эру.

К теме:
Нужно допилить скрипт 6 wog - random hero.erm

Минимум:
Добавить герою книжку и случайные боевые заклинания по уровню за неделю, т.е. на 1ой неделе - заклинания 1ого уровня, на 2ой - 2ого и т.д.

Оптимум:
Добавить герою кол-во уровней, равное коэфф. сложности*2*номер недели, кол-во маны до 10*KN, книжку и случайные боевые заклинания по уровню за неделю

Максимум:
Оптимум + герои поддерживают 2-3 самых сильных отряда нейтралов в зоне (включая нейтральные деревни) +портрет героя виден при просмотре ПКМ на отряде монстра. Если отряд нейтралов хочет присоединиться, герой тоже присоединяется, если для него есть место.
hippocamus
Jlepbl4
тоже поддерживаю - переходи на Эру. Ты бы ещё под ДОС писал!
Sar
А у кого-нибудь скрипт резервных отрядов сохранился? И скрипт науки тоже бы нужен...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.