Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 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
Intofire
Как сделать так, что-бы если красный игрок выбрал начальным городом:
- замок, то в клетке 5,21,1 появлялся объект типа 17 и подтипа 96.
- оплот, то в клетке 5,21,1 появлялся объект типа 17 и подтипа 94.
- соспряжение, то в клетке 5,21,1 появлялся объект типа 97 и подтипа 0.
Intofire
И ещё вопрос: можно ли в зависимости от выбраного города менять ландшафт?
DracoLich
Сделать таймер на первый день, проверить тип замка и ставить объект (TM, CA, UN).
Ландшафт менять можно, но ужасно трудно проработать все варианты почв. Если устраивают квадратики, то конечно, легко
Intofire
Проблема в том, что я в этом мягко говоря не разбираюс и не знаю как поставить таймер и как проверить тип замка.
DracoLich
!#TM100:S1/1/1/255;
!?TM100;
!!TM100:S1/1/1/0;
!!CAx/y/l:T?y1;
!!VRy2:S97;
!!VRy2&y1<2:S17;
!!VRy3:S0;
!!VRy3&y1=0:S96;
!!VRy3&y1=1:S94;
!!UN|y1=0/y1=1/y1=8:I5/21/1/y2/y3;
Intofire
Спасибо.
snalltroll
Всем доброго времени суток!
Я в данный момент тружусь над картой RPG стиля, и так как я почти совсем ничего не понимаю в ЕРМ-е, и пользуясь существованием такой замечательной темы как эта, я буду задавать вам наиглупейшие вопросы по поводу скриптов.

Итак, подскажите, как написать 2 скрипта:

1)Необходимо отменить на карте вогификацию.
2)Решил обнулить герою все ресурсы, кое как, воспользовавшись справочником от Драколича (за что ему человеческое спасибо), написал простейший скрипт:
Код
ZVSE
!#OW:R1/0/0;
!#OW:R1/1/0;
!#OW:R1/2/0;
!#OW:R1/3/0;
!#OW:R1/4/0;
!#OW:R1/5/0;
!#OW:R1/6/0;
!#OW:R1/7/0;


При запуске, игра сильно ругаеться, и вылетает. Подскажите в чём ошибка)

(жестоко не судите, с ЕРМ-ом пока очень плохо знаком)
Bes
ZVSE
!#TM98:S1/1/1/255;
!?TM98;
!!DO2546/1/7/1:Px1; где х1 - цвет игрока
!?FU2546;
!!VRy1:Sx16 -1;
!!OW:Rx1/y1/0;

или

ZVSE
!?PI;
!!DO2546/1/7/1:Px1; где х1 - цвет игрока
!?FU2546;
!!VRy1:Sx16 -1;
!!OW:Rx1/y1/0;
gamecreator
или заменить
!!DO2546/1/7/1:Px1; где х1 - цвет игрока
!?FU2546;
!!VRy1:Sx16 -1;
!!OW:Rx1/y1/0;

на
!!DO2546/0/6/1:Px1; где х1 - цвет игрока
!?FU2546;
!!OW:Rx1/x16/0;
snalltroll
Не выходит :idontno:

Пробовал в ресейвере !!DO2546/1/7/1:Px1; менять x1 на 1 (т.к. цвет игрока - синий). Всё равно ошибка... Менял в ресейвере !!OW:Rx1/y1/0; опять же x1 на 1. И снова ошибка.. Пробовал менять и там и тут - ничего. Пробовал вообще ничего не трогать - всё равно вылетает...
DracoLich
2 Bes
Ресурсы появляются уже в начале игры, так что инструкции и пост-инструкции пытаются сменить не те адреса, которые надо, и потому не работают.
Необходимо использовать таймер на первый день для обнуления/изменения ресурсов:
!#TM8:S1/1/1/255;
!?TM8;
!!OW:R-1/0/0 R-1/1/0 R-1/2/0 R-1/3/0 R-1/4/0 R-1/5/0 R-1/6/0; - тотальное обнуление всех ресурсов всекм подряд smile.gif
WoGификация отключается
!#UN:P5/0;
Притом, используя эту команду, нельзя включать какие-либо стандартные скрипты WoG, т.к. они "заблокированы"
Intofire
Как при загрузке карты задать вопрос, если ответ да - то, например, телепортировать героя номер 20 в точку 5/5/0, а если ответ нет, то в точку 5/5/1.
DracoLich
!#IF:Q
Если операции с героями, то через таймер
!#TM87:S1/1/1/255;
!?TM87;
!!TM87:S1/1/1/0;
!!IF:Q2^Быть или не быть?^;
!!HE20&2:P5/5/0; - да
!!HE20&-2:P5/5/1; - нет
Здесь вопрос задастся уже в игре, тем не менее, способ оптимален.
Intofire
А если мне надо при ответе да подключить скрипт, например, включение/отключение командиров?
DracoLich
!#IF:Q1^Включить командеров?^;
!#UN&1:Px/0; -если да, то вкл
!#UN&-1:Px/1; - если нет, то выкл
x-номер опции, командеры - 3

Добавлено ([mergetime]1199714846[/mergetime]):
PS. Опция командиров не обычна, значение 0 у нее соотв. вкл, а 1 - откл, в то время как у большинства других опция наоборот. На будущее.
Intofire
Спасибо.
snalltroll
DracoLich, огромное спасибо!!! (смог бы - поставил +)
Вчера весь вечер кряхтел над скриптом, пытался понять - почему ошибка? Оказываеться сам скрипт был неправильный...
Изучая твой скрипт возник вопрос:
Насколько я понял, в ресейвере !!OW:R-1/0/0; между R и 1 дефис ставить необязательно?

з.ы.
и отдельное спасибо за !#UN:P5/0; !!!
snalltroll
Подскажите, как установить подсказку по правому клику мышкой на объекте в определённой клетке так, что бы остальные объекты такого же типа оставились со своими стандартными подсказками?
DracoLich
OW:R-1
Это не дефис, это номер -1, т.е. указывает текущего игрока.
Для подсказок используй
OB:H
snalltroll
Спасибо за пояснение good.gif

***

Поставил Магический Колодец, поменял ему подсказку по ПКМ, стёр все стандартные функции, установил вопрос при посещении с вариантами Да и Нет.
Вопрос: Как сделать так, что бы при положительном ответе восстанавливались все очки движения у посещаемого героя?
Bes
!!HE-1:G?y1 Wy1;
(это без учёта вроде артов и навыков для влияния на MP)
snalltroll
Bes, спасибо! Скрипт пашет!
Одного не могу понять - какую роль в этом скрипте играют ?y1 и y1 ?

з.ы.
а скрипт пришлось немного изменить. Там вышло так, что при любом ответе очки передвижения восстанавливались. Пришлось между HE-1 и : поставить &1.
Light Of The Truth
Вопросы:
1) Как у героя особую специальность убрать скриптами? Хотя бы визуально!
2) Как изменить названия класса героя? Например "Рыцарь" на "Мечник"
Intofire
Цитата
2) Как изменить названия класса героя? Например "Рыцарь" на "Мечник"
Насколько я знаю это невозможно сделать с помощью ERM. Хотя можно подправить текстовик и герои на всех картах будут называться по-другому.
Light Of The Truth
Ну раз с помощью скриптов можно изменить текст "Атака" или "Уволить Героя" то почему нельзя изменить текст "Рыцарь"?
http://forum.df2.ru/index.php?showtopic=5931&hl=
Bes
Цитата(Le0n @ 09 Jan 2008, 02:06)
Одного не могу понять - какую роль в этом скрипте играют ?y1 и y1 ?
Ну как же... тут через G?y1 в переменную y1 записывается начальный МР, а уже в Wy1 это значение выставляется в текущий МP героя-гостя.
Просто ЕРМ поддерживает операции получения и установки под одним и тем же ресиверо (вроде правильно выразилась)


Цитата(Light Of The Truth @ 09 Jan 2008, 03:14)
Вопросы:
1) Как у героя особую специальность убрать скриптами? Хотя бы визуально!
2) Как изменить названия класса героя? Например "Рыцарь" на "Мечник"
имхо.
1) У какого героя? у любого? Тогда см. команду !!HE-1:X в справочнике wink.gif
2) если просто сменить текст (без смены класса как такового), то полюбому тут без UN:C не обойтись... извини, я в этом не сильна (если только Bes* не загнлянит сюда и не поможет, благо он в этом профи)
А вариант типа смены текста в самом тектовике не очень целесообразен... тут уже решайте сами, для чего вам это (для мода/скрипта или отдельной карты)
Druin
Цитата(Deo @ 18 Dec 2007, 05:28)
Я удалил за ненадобностью.

banghead.gif banghead.gif banghead.gif
если в тему никто долго не писал это не значит что она не нужна... так что больше так не делай... мне вот например нужна эта функция... icon_evil.gif
Max96
Цитата(Light Of The Truth @ 09 Jan 2008, 13:45)
Ну раз с помощью скриптов можно изменить текст "Атака" или "Уволить Героя" то почему нельзя изменить текст "Рыцарь"?

Попробуй так (это для WOG) :
Код
ZVSE

!?FU29001;
!!UN:C6916984/4/?y1;
!!VRz1:S^Мечник^;
!!VRy2:S1*512+40225400;
!!VRy4:Sy2+4;
!!UN:Cy2/4/?y3;
!!UN:Cy1/4/y3;
!!VRy1:+4;
!!UN:Cy4/4/?y5;
!!UN:Cy1/4/y5;

!#FU29001:P;
Light Of The Truth
Цитата(Bes @ 09 Jan 2008, 14:45)
1) У какого героя? у любого? Тогда см. команду !!HE-1:X в справочнике wink.gif

Да я смотрел! МеНяяяю специальность а меНяяяется только картинка (Ну и возможно сама специальность) а описание старое остается!!! Как бы его подредактировать? dry.gif
Цитата(Bes @ 09 Jan 2008, 14:45)
тут без UN:C не обойтись... извини, я в этом не сильна

А ты женского пола? shok.gif
Цитата(Max96 @ 09 Jan 2008, 15:35)
Попробуй так (это для WOG) :
Код
ZVSE

!?FU29001;
!!UN:C6916984/4/?y1;
!!VRz1:S^Мечник^;
!!VRy2:S1*512+40225400;
!!VRy4:Sy2+4;
!!UN:Cy2/4/?y3;
!!UN:Cy1/4/y3;
!!VRy1:+4;
!!UN:Cy4/4/?y5;
!!UN:Cy1/4/y5;

!#FU29001:P;

Скрипт работает! Огромное спасибо! Но не мог бы ты указать где меНяяять класс? Вдруг я захочу Некромансеру помеНяяять название, а где сменить циферку ненаю idontno.gif
Bes
так тебе просто текст специальности сменить?
я просто сразу не въехала... тогда используй !!UN:G
Цитата(ERM-Help © DracoLich)
G2/#1/#2/#3
Позволяет вам установить текст и картинку специализации героя.
        #1 – номер героя
        #2 – что установить
                  2 – описание
                  3 – картинку
        #3 – это:
                  - номер z-переменной (0 – восстановить по умолчанию), если #2=2
                  - номер картинки (0-356), если #2 = 3

Картинки 0-155 соответствуют специализации героя того же номера, например, картинка драг. камней соответствует специальности Сауруга, номер 111, значит, и картинка будет под таким же номером.
izrukvruki
а специализацию (не текст) у героев как менять?
DracoLich
HE:X
Max96
Цитата(Light Of The Truth @ 09 Jan 2008, 17:52)
Скрипт работает! Огромное спасибо! Но не мог бы ты указать где меНяяять класс? Вдруг я захочу Некромансеру помеНяяять название, а где сменить циферку ненаю idontno.gif


Для некроманта
В строке !!UN:C6916984/4/?y1; поменять 6916984 на 6917020 и естественно поменять название (!!VRz1:S^Мечник^; )
Если менять номер z переменной (!!VRz1:S^Мечник^; ) то его нужно помонять и здесь !!VRy2:S1*512+40225400;
Bes
4 Max96
А не можешь написать универсальный этот скрипт, чтобы путём смены цифры класса героя можно было менять описание класса...По типу вызов !!FU29001:Px1/x2; (где x1 - класс героя, а x2 - номер глобальной z-переменной)
???
Было бы здорово sorry.gif

так или иначе, респект тебе за ф-цию good.gif
snalltroll
Bes, спасибо, что пояснил! Просто я пока в переменных не особо шарю...

з.ы.
Light Of The Truth, я тоже всегда думал, что Bes - парень biggrin.gif
Max96
Bes
Если нужно вот :
Код
ZVSE
!?FU29001;
!!VRy1:S6916984;
!!VRy2:Sx1*4;
!!VRy3:Sy1+y2;
!!UN:Cy3/4/?y7;
!!VRy4:Sx2*512+40225400;
!!VRy5:Sy4+4;
!!VRy6:Sy5+4;
!!UN:Cy4/4/?y10;
!!UN:Cy5/4/?y11;
!!UN:Cy6/4/?y12;
!!VRy8:Sy7+4;
!!VRy9:Sy8+4;
!!UN:Cy7/4/y10;
!!UN:Cy8/4/y11;
!!UN:Cy9/4/y12;

!#FU29001:P#1/#2;

#1-Класс героя(0-17)
#2-z-переменная

Длина нового класса героя не должна превышать 12 символов.
Функция сделана под WOG. Не работает под TE.
NickLee
Цитата(Max96 @ 09 Jan 2008, 17:39)
Длина нового класса героя не должна превышать 12 символов.
Функция сделана под WOG. Не работает под TE.


Спасибо, приятный скриптик... good.gif
Bes
Я немного подправлю скрипт для простоты.
Код
ZVSE
!?FU29001;
!!VRy1:Sx1 *64 +6805612;
!!VRy2:Sx2*512+40225400;
!!UN:Cy1/4/y2;

!#FU29001:Px1/x2;

Это функция немного хуже. Так как в переменной должно постоянно храниться имя (но длина нового класса может быть 512 символов biggrin.gif). Если кому нужно мультииспользуемая переменная... я думаю не составит труда немного подправить smile.gif Но зато не нужно перезапускать игру для восстановления названий

[перенесла]
А вообще, Макс96, МОЛОДЕЦ!!!!!!!!!!!!!
NickLee
Цитата(Bes @ 09 Jan 2008, 20:19)
Я немного подправлю скрипт для простоты.
[code]
ZVSE
!?FU29001;
!!VRy1:Sx1 *64 +6805612;
!!VRy2:Sx2*512+40225400;
!!UN:Cy1/4/y2;

!#FU29001:Px1/x2;


Видимо, твое раздвоение личности благотворно влияет на созидательные процессы... biggrin.gif
Спасибо за скрипт, использую его в IF2... hb.gif
Ежели ты не против...
Light Of The Truth
Как отрубить QuestLog? МеНяяя уже бесят надписи типа "Принести 10 криссталов чтоб открыть ворота"
И как когда заходишь в гарнизон сменить сверху надпись "Гарнизон"? dry.gif
Intofire
Как сделать так, что-бы при первом посещении объекта выдавалось одно сообщение, а при последующих - другое?
Max96
Green Drekon

Код
!?OBx/y/l;
!!IF&-501:M^1-ое сообщение^;
!!IF&501:M^2-ое сообщение^;
!!IF&-501:V501/1;
Intofire
Спасибо. А как сделать так, что-бы если за коричневого играет компьютер, то удалить объект в координатах x/y/z?
Bes
А я всё таки теперь уже (когда чуть поднатарела в ЕРМ) предпочитаю использоват для таких вот целей (если это именно в таком условии) не флаги, а !!PO
Т.е. посмотрите здесь.... http://forum.df2.ru/index.php?showtopic=74...ndpost&p=212387
(я как раз там в первой части поста и привела способ...)

ЗЫ: очень убедительнаяпросьба, не пишите посты типа "Спасибо" голыми... это чистой воды флуд. Понятно ваше стремление поблагодарить, но уж лучше совмещайте вопрос очередной с благодарностяи... я так всегда и делаю (чтоб флудописалкой меня не звали)... и понятно, что вы такими вот сообщениями хоть и не вольно но приближаете себя к смене группы пользователя
Извините за занудство (но я не модер)


Добавлено ([mergetime]1199953513[/mergetime]):
Цитата(Light Of The Truth @ 10 Jan 2008, 04:12)
Как отрубить QuestLog? МеНяяя уже бесят надписи типа "Принести 10 криссталов чтоб открыть ворота"
И как когда заходишь в гарнизон сменить сверху надпись "Гарнизон"? dry.gif
В первом вопросе не совсем понятно, что ты имеешь ввиду? Поясни, если можно.
А вот убрать надпись гарнизон - никак (если я правильно поняла тебя), если только не прибегнуть опять к !!UN:C (ох уж эта команда, в мои годы про неё никто особо то и не знал, и жизнь козалась намного сложнее... во ныньче времена пошли)



Добавлено ([mergetime]1199954556[/mergetime]):
Цитата(Green Drekon @ 10 Jan 2008, 11:04)
как сделать так, что-бы если за коричневого играет компьютер, то удалить объект в координатах x/y/z?

например, способ такой (только проверьте)
!?PI;
!!OW:I2/?y1;
!!UN&y1=1:Ox/y/l;

Здесь 2 - это цвет (коричневый в данном случае)
Bes
А так?
!#TM2:S1/1/1/4;
!?TM2;
!!OW:I2/?y1;
!!UN&y1=1:Ox/y/l;

4 - это бит коричневого игрока

PS: и поясняй пожлуйста, если вдруг или ошщибки или ещё что выскакивает...
Light Of The Truth
Цитата(Bes @ 10 Jan 2008, 12:42)
В первом вопросе не совсем понятно, что ты имеешь ввиду? Поясни, если можно.

Ну когда заходишь в хижину провидца или к стражу прохода в журнале появляется строчка типа
"Достигнуть 5 уровня чтобы открыть ворота"
или
"Принести Секира Кентавра к Провидец Рэй"
Хочу чтоб не было их dry.gif
Цитата(Bes @ 10 Jan 2008, 12:42)
А вот убрать надпись гарнизон - никак (если я правильно поняла тебя), если только не прибегнуть опять к !!UN:C (ох уж эта команда, в мои годы про неё никто особо то и не знал, и жизнь козалась намного сложнее... во ныньче времена пошли)

Ну щас то про неё знают)

Новые вопросы:
1)Как при посещении события был 10% шанс получить сообщение, а после подвергнутся нападению каких то монстров? idontno.gif

2) Можно ли отрубить мини-карту? И если да то как?
Bes
Нет, убрать надписи из журнала точно нельзя ЕРМом, имхо.

2) миникарту тоже не отрубить... боюсь тут и UN:C вам не поможет
1) Ну, например так...
!?LEx/y/l;
!!VRy1:S0 R9;
!!IF&y1<1:M^сообщение^;
!!HE-1&y1<1:Tv998/v999/v1000/T/N;

здесь T - это тип монстра атакера, а N - его кол-во
условие (&y1<1) обеспечивает 10% шанс
Light Of The Truth
А как изменить 10% шанс например на 23%?
DracoLich
Да, надписи в журнале не убираются ERM, хотя можно попробовать UN:C, но не уверен.
Миникарта в любом случае обновляется каждый шаг героя... Не думаю, что будет смысле скрывать ее. (PS. Можно попробовать использовать нестандартный размер карты, говорят, там миникарта исчезает)
По 10% шансу Bes уже ответила.

Добавлено ([mergetime]1200058320[/mergetime]):
А насчет шанса 23%:
!!VRy1:S0 R100;
!!IF&y1<=23...
!!HE-1&y1<=23...
Принцип ясен?
Bes
не совсем верно, сэн-сэй!
надо тогда уж так
!!VRy1:S0 R99;
!!IF&y1<23...
!!HE-1&y1<23...

ибо лишние символы - это лишние мэгабайты (в итоге) wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.