Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 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
Grimally
2Bourn
Цитата(Bourn @ 11 Aug 2005, 16:17)
Вот сгенеренный код для объекта, не пишет посещен он или нет, через месяц можно посещать вновь.

Веселенький "скриптик" shok.gif shok.gif blink.gif

Спасибо, посмотрел... Насчет жертвы одним объектом - норма. Я тут вот поподробней обдумал, что требуется, решил излить:
1. Назовем нужный объект "монолит мудрости", количество коих на карте планируется 5-30 шт;
2. Его базовые свойства: как у "камня знаний", только вместо 1000 ехр он будет давать 500-100000 ехр + первичные навыки;
3. реализация скрипта: чтоб был привязан к какому-либо объекту из редактора карт(а не к координате(ам) на карте): т.е. в редакторе карт берем "пустышку" (можно непроходимый объект), ставим ее на карту (5-30 раз) и всего лишь в одном месте описываем свойства данной пустышки( шоб не было надобности каждый раз менять координаты каждой пустышки в скрипте при урестановке и т п), ЕСЛИ ЭТО, КОНЕЧНО, РЕАЛЬНО..
4. "посещено/не посещено" должно работать для каждого героя поотдельности к каждому "монолиту"(во избежание ситуации когда одним героем подбежишь, а для остальных он потом считается посещенным)
5. учесть что при посещении "монолита" остальные игроки НЕ ВИДЕЛИ сообщений, выводящихся задействующему этот монолит игроку (аля - комп гдето в темноте подходит к нему, а ты видишь его сообщения и "жмешь вместо него ОК", т е проверку надо: комп иль человек видит мессагу)
6. Совместимость с "стандартными" скриптами из 3.58f(мож за крохотными исключениями)
+ подробности в вариантах:
(для ясности - игрок - это комп либо человек.)

Вариант №1(главный):
--------------------
1. возможность посещать любой "монолит" всем героям всех игроков(и компа в т ч) ОДИН РАЗ (итого 5-30 раз на каждого перса каждого цвета).
2. монолит дает 50000 опыта.

Вариант №2(ежедневный-уникальный):
----------------------------------
1. возможность посещать ОДИН любой из 5-30 "монолитов" одному из героев любого игрока(и компа в т ч) ОДИН РАЗ В ДЕНЬ, при этом остальные "монолиты" для всех остальных ИГРОКОВ считались посещенными.(не путать с п.2).
2. монолит дает 500 опыта.

Вариант №3(еженедельный-общий):
-------------------------------
1. возможность посещать любой "монолит" всем героям всех игроков(и компа в т ч) ОДИН РАЗ В НЕДЕЛЮ
2. монолит дает 8000 опыта и [+1 Атаки; +1 Защиты; +1 КС; +1 Знаний]

Вариант №4(еженедельный-единичный):
-----------------------------------
1. возможность посещать ОДИН любой из 5-30 "монолитов" одному из героев любого игрока(и компа в т ч) ОДИН РАЗ В НЕДЕЛЮ, при этом остальные "монолиты" для остальных героев этого игрока считались посещенными.(не путать с п.2).
2. монолит дает 12000 опыта и [+2 Атаки; +2 Защиты; +2 КС; +2 Знаний]

Вариант №5(ежемесячный-общий):
------------------------------
1. возможность посещать любой "монолит" всем героям всех игроков(и компа в т ч) ОДИН РАЗ В МЕСЯЦ
2. монолит дает 30000 опыта и [+5 Атаки; +5 Защиты; +5 КС; +5 Знаний]

Вариант №6(ежемесячный-единичный):
----------------------------------
1. возможность посещать ОДИН любой из 5-30 "монолитов" одному из героев любого игрока(и компа в т ч) ОДИН РАЗ В МЕСЯЦ, при этом остальные "монолиты" для остальных героев этого игрока считались посещенными.(не путать с п.2).
2. монолит дает 60000 опыта и [+7 Атаки; +7 Защиты; +7 КС; +7 Знаний]

Вариант №7(ежемесячный-уникальный):
-----------------------------------
1. возможность посещать ОДИН любой из 5-30 "монолитов" одному из героев любого игрока(и компа в т ч) ОДИН РАЗ В МЕСЯЦ, при этом остальные "монолиты" для всех остальных ИГРОКОВ считались посещенными.(не путать с п.2).
2. монолит дает 100000 опыта и [+10 Атаки; +10 Защиты; +10 КС; +10 Знаний]

Ну вот, исходя из интереса, опыта и возможностей, какой вариант более реален, такой пиши! Желательно с комментариями!
А если целый скрипт написать никак, то хотябы частями по пунктам.

Best regards, Grimally
Bourn
Вот скрипт все я тебе не писал, сам бы поработал biggrin.gif ручками, сделал все кроме......функций объекта, по крайней мере он дает 2000 опыта, переменные заменишь на те которые требуються, на карте надо разместить камни знаний они будут заменены на магический монолит, название так же изменишь сам.
ZVSE
!#VRv8:C0;
!#VRz1:S^Магический монолит (+ 2000 опыта каждому герою 1 раз) (Не посещено)^;
!#VRz2:S^Магический монолит (+ 2000 опыта каждому герою 1 раз) (Посещено)^;
!#VRz3:S^Магический монолит (+ 2000 опыта каждому герою 1 раз)^;
!#VRz4:S^Герой не выбран.^;
!#VRz5:S^^;
!?PI;
!!UN:U100/-1/?v9;
!!DO4/1/v9/1:P;
!?FU4;
!!VRv8:+1;
!!UN:U100/-1/v8/10;
!!UN:Ov10/v11/v12/1;
!!UN:Iv10/v11/v12/100/0/63/22;
!!OBv10/v11/v12:BS;
!!OBv10/v11/v12:Hz3;
!?OB100;
!!HE-1:V2/?v1E?v2;
!!OW:G-1/?v6;
!!FU1&v1=0:P;
!!FU2&v1=1:P;
!?FU1;
!!IF&v6=1:Q1/17/2000/1^Вы тратите немного времени на изучение монолита
и обучаетесь некоторым премудростям.^;
!!VRv2:+2000;
!!HE-1:V2/1Ev2;
!?FU2;
!!IF&v6=1:M^Вы уже посещали данный объект.^;
!?CM0;
!!CM:P?v10/?v11/?v12;
!!VRv8:C0;
!!DO3/1/v9/1:P;
!?FU3;
!!VRv8:+1;
!!UN:U100/-1/v8/13;
!!CM&v13=v10/v14=v11/v15=v12:F512R0;
!!OW:A-1/?v7;
!!HEv7:V2/?v1;
!!IF&v13=v10/v14=v11/v15=v12/v1=0:M1/z1;
!!IF&v13=v10/v14=v11/v15=v12/v1=1:M1/z2;
!!IF&v13=v10/v14=v11/v15=v12/v1=-1:M1/z4;
P.S.Из вариантов нравиться 1 так как он самый приемлемый, в отличии от остальных, а то полнаяя халява.
sergroj
Цитата(Bourn @ 11 Aug 2005, 20:17)
Вот сгенеренный код для объекта, не пишет посещен он или нет, через месяц можно посещать вновь.

Ведь есть перенные w.
Bourn
Цитата(sergroj @ 12 Aug 2005, 13:23)
Ведь есть перенные w.

А мне надо было с 0 начать а переменной w0 нет. idontno.gif
sergroj
Не понял. Зачем может быть нужет w0? idontno.gif
Bourn
Цитата(sergroj @ 13 Aug 2005, 13:24)
Не понял. Зачем может быть нужет w0? idontno.gif

Так как запутаешься когда столько пременных и что нужно увеличивать ее индекс на 1. А тут какой у героя такой и у переменной
sergroj
Но ведь все эти переменные заменяются одной w-переменной.
Aster-tr
1). Хочу дать продвинутую защиту от воздуха титанам, гигантам и громовержцам:

ZVSE
!?FU7060;
!!BMx16:T?y1;
!!BMx16|y1=40/y1=41/y1=152:M30/100/2;

Не работает. В чём дело?

2). Как заменить при создании случайных карт один объект другим в заданном процентном отношении? Напр, хочу вместо 50% верфей сделать маяков.

Спасибо
Bourn
Цитата(Aster-tr @ 17 Aug 2005, 00:29)
1). Хочу дать продвинутую защиту от воздуха титанам, гигантам и громовержцам:
ZVSE
!?FU7060;
!!BMx16:T?y1;
!!BMx16|y1=40/y1=41/y1=152:M30/100/2;
Не работает. В чём дело?
2). Как заменить при создании случайных карт один объект другим в заданном процентном отношении? Напр, хочу вместо 50% верфей сделать маяков.
Спасибо

1)Странно у меня все работает.
2)Чтото в этом роде
!!VRv11:C-1;
!!UN:U87/-1/?v10;
!!DO1/1/v10/2:P;
!?FU1;
!!VRv11:+2;
!!UN:U87/-1/v11/12;
!!UN:Ov12/v13/v14/1;
!!IUN:Iv12/v13/v14/42/0;
Aster-tr
Пасиб. Не мог бы ты теперь разъяснить каждую строчку поподробнее. А то я в общих чертах понял, а чтоб аналогично сделать что-нить - еще никак. Да, и любое ли число может стоять после FU? Оно не как не переплетается с другими скриптами?
Bourn
Цитата(Aster-tr @ 18 Aug 2005, 03:59)
Пасиб. Не мог бы ты теперь разъяснить каждую строчку поподробнее. А то я в общих чертах понял, а чтоб аналогично сделать что-нить - еще никак. Да, и любое ли число может стоять после FU? Оно не как не переплетается с другими скриптами?

!!VRv11:C-1;[значение переменной устанавливаем на -1]
!!UN:U87/-1/?v10;[количество всех объектов типа верфь на карте]
!!DO1/1/v10/2:P;[цикл, запускаем функцию 1(можешь выбрать любую главное чтобы ее не было больше нигде)]
!?FU1;[сама функция(первый параметр в DO)]
!!VRv11:+2;[берем каждый 2й объект]
!!UN:U87/-1/v11/12;[получаем координаты верфи в переменные 12-14]
!!UN:Ov12/v13/v14/1;[удаляем верфь в полученных координатах]
!!IUN:Iv12/v13/v14/42/0;[ставим на пустое(уже) место маяк]
[незабудь что все переменные и функции не должны совпадать с уже существующими.]
Aster-tr
Цитата
!!VRv11:+2;[берем каждый 2й объект]


А если не каждый второй, а напр. 2 из 3-х?
Bourn
Цитата(Aster-tr @ 19 Aug 2005, 01:27)
А если не каждый второй, а напр. 2 из 3-х?

попбробуй ввести 2 счетчика:
!!VRv12:+3;[берем каждый 3й объект]
+ добавить для него код замены объекта
к сожалению вроде как операция типа MOD в ЕРМ отсутствует.
Андер
Два вопроса.

1) Как заставить скриптом Героя провести битву с героем, а не с монстрами?
2) Вот есть, например, объекты на карте. Надо оставить один из них, а остальные заменить на другие объекты.

Например, надо оставить один объект 63/5(тип/подтип), а остальные заменить на арены. Напишите скрипт, плз.
Solmyr2000
Цитата(Андер @ 19 Aug 2005, 21:47)
Два вопроса.
2) Вот есть, например, объекты на карте. Надо оставить один из них, а остальные заменить на другие объекты.
Например, надо оставить один объект 63/5(тип/подтип), а остальные заменить на арены. Напишите скрипт, плз.

Это делается, увы локационно.
Тоесть для каждой карты индивидуально

Добавлено ([mergetime]1124481917[/mergetime]):
То есть тип,подтип НЕ ВЛИЯЕТ а только локация
Bourn
Цитата(Андер @ 19 Aug 2005, 22:47)
2) Вот есть, например, объекты на карте. Надо оставить один из них, а остальные заменить на другие объекты.

Например, надо оставить один объект 63/5(тип/подтип), а остальные заменить на арены. Напишите скрипт, плз.

Скрипт аналогичен примеру выше, просто немного его надо изменить вот примерно так:
!!VRv11:C1;[значение переменной устанавливаем на 1, первый объект на карте останеться неизменным]
!!UN:U87/-1/?v10;[количество всех объектов типа верфь на карте]
!!VRv10:-1;[уменьшим также количество и в переменной v10]
!!DO1/1/v10/2:P;[цикл, запускаем функцию 1(можешь выбрать любую главное чтобы ее не было больше нигде)]
!?FU1;[сама функция(первый параметр в DO)]
!!VRv11:+1;[берем каждый 2й объект]
!!UN:U63/5/v11/12;[получаем координаты объекта 63/5 в переменные 12-14]
!!UN:Ov12/v13/v14/1;[удаляем объект 63/5 в полученных координатах]
!!IUN:Iv12/v13/v14/4/0;[ставим на пустое(уже) место арену ]
[незабудь что все переменные и функции не должны совпадать с уже существующими.]
Андер
Спасибо, Борн. А на первый вопрос???

У меня вот что - скрипт дома, где герой может сразиться всего один раз со своей собственной тенью - героем, которого так же зовут, такая же специализация, такие же войска. Героя я создал, для этого принудительно отключаем одного героя в начале игры.

Теперь мне только нужно заставить героя посетителя сразить с "ТЕНЬЮ" КАК???
Bourn
Посмотри script72.erm.
Annoh
Как создать нового героя с новой специализацией? Не заменяя старого (аля Нагаш и Жеддит), а совсем нового (как делают в Новом Городе)?
bomw
Прописывать (точно не помню где) В ЕХЕ вроде!
Annoh
Эх... А мы с Солмиром размахнулись новых сделать... Придется заменять ненужных...
Aster-tr
Как сделать скрипт, чтобы мельницы принадлежали к какому-нить цвету? Ну, чтобы каждый раз по ним не бегать. Захватил - и сё. Получай прибыль
Bourn
Самое простое заменить мельницы шахтами с видом мельниц biggrin.gif , но ресурсы будут нести каждый день.
Miller
Цитата(Bourn @ 22 Aug 2005, 10:31)
Самое простое заменить мельницы шахтами с видом мельниц biggrin.gif , но ресурсы будут нести каждый день.

Ты как всегда в своем репертуаре... biggrin.gif
Поражаешь тонкостью ответа biggrin.gif good.gif
Bourn
Цитата(Miller @ 22 Aug 2005, 08:59)
Ты как всегда в своем репертуаре...  biggrin.gif
Поражаешь тонкостью ответа  biggrin.gif  good.gif

Я напишу нормальный скрипт только ближе к вечеру. spiteful.gif
BARS
Цитата(Bourn @ 22 Aug 2005, 10:03)
Цитата(Miller @ 22 Aug 2005, 08:59)
Ты как всегда в своем репертуаре...  biggrin.gif
Поражаешь тонкостью ответа  biggrin.gif  good.gif

Я напишу нормальный скрипт только ближе к вечеру. spiteful.gif

Ага, а где скрипт?!!!
Bourn
Цитата(BARS @ 23 Aug 2005, 15:54)
Ага, а где скрипт?!!!

Ну не успеваю малясь, просто дел много, да тут еще брат приехал ему помочь надо+ сад, вообщем по полной программе отдыхаю. shum_lol.gif
Efrit
Подскажите, можно ли как-нибудь дать допополнительных существ для найма в определённый стек города, не прибегая к помощи !!CE.
Bourn
Цитата(Efrit @ 23 Aug 2005, 16:13)
Подскажите, можно ли как-нибудь дать допополнительных существ для найма в определённый стек города, не прибегая к помощи !!CE.

!!CAx/y/l:M1/$1/$2/$3;
подойдет?
Efrit
Цитата(Bourn @ 23 Aug 2005, 15:34)
Цитата(Efrit @ 23 Aug 2005, 16:13)
Подскажите, можно ли как-нибудь дать допополнительных существ для найма в определённый стек города, не прибегая к помощи !!CE.

!!CAx/y/l:M1/$1/$2/$3;
подойдет?

Да я пробовал, почему-то не работало...
Пример: при постройке жилища Гноллов скриптом их кол-во должно увеличиваться на 14.
Bourn
Ну ведь жилище только что построено как я понял ну и армия будет прибавляться к первому уровну. Вот наверное чтото типа этого(в игре не пробовал):
!!CA-1:M1/1/?y-1/?y-2;
!!VRy-1:+14;
!!CA-1:M1/1/y-1/y-2;
Efrit
Да я именно так и пробовал smile.gif

А, понял! Всё просто... Нумерация-то идёт с нуля, а не с единицы, и поэтому для Гноллов надо писать 0, а не 1. Вот и всё smile.gif
Но всё равно спасибо!
Bourn
Цитата(Aster-tr @ 22 Aug 2005, 00:23)
Как сделать скрипт, чтобы мельницы принадлежали к какому-нить цвету? Ну, чтобы каждый раз по ним не бегать. Захватил - и сё. Получай прибыль

Вот наконец то и скрипт
ZVSE
!#TM1:S1/999/7/255;
!?OB112;
!!HE-1:O?y-5;
!!OW:Gy-5/?y-6;
!!OBv998/v999/v1000&y-6=1:Dy-5;
!!UN:U112/-1/?y-4;
!!VRv1:C0;
!!DO25000/1/y-4/1:Pv998/v999/v1000/y-5/y-6;
!?FU25000;
!!VRv1:+1;
!!UN:U112/-1/v1/2;
!!VRy1:Sv1+8000;
!!IF&x5=1/vy1<>x4/v2=x1/v3=x2/v4=x3:M^Вы завоевали мельницу.^;
!!IF&x5=1/vy1=x4/v2=x1/v3=x2/v4=x3:M^Мельница уже принадлежит вам.^;
!!VRvy1&vy1<>x4/v2=x1/v3=x2/v4=x3:Cy-5;
!?TM1;
!!UN:U112/-1/?y-2;
!!OW:C?y-1;
!!VRv1:C0;
!!DO25001/1/y-2/1:Py-1/0/0;
!?FU25001;
!!VRv2:Cx2/x3;
!!VRv2:R7;
!!VRv3:R6;
!!VRv3&v2=6:*100;
!!VRv1:+1;
!!VRy1:Sv1+8000;
!!OW:Rx1/v2/?v4;
!!VRv4:+v3;
!!OW&vy1=x1:Rx1/v2/v4;
Получился малясь тормозный, ну ничего, когда отключаешь совсем приемник мельниц, комп начинает глючить, он так от нее и норовит получить ресурс, поэтому отключил только для игрока приемник, а ком может и захватывать мельницы, и получать ресурсы с них, как обычно, если союзник завоевал мельницу, вы можете отвоевать ее biggrin.gif ,нет сообщений о том какой ресурс прибывает каждую неделю, да думаю и не надо, а то охота будет жать на 20 кнопок ОК?
Результат: Скрипт сырой, и требуеться в доработке.
Beavis_seattle
ща тестить буду на работе biggrin.gif spiteful.gif
Чёртос-2 (Chortos-2)
Цитата(Bourn @ 26 Aug 2005, 07:53)
Получился малясь тормозный, ну ничего, когда отключаешь совсем приемник мельниц, комп начинает глючить, он так от нее и норовит получить ресурс, поэтому отключил только для игрока приемник, а ком может и захватывать мельницы, и получать ресурсы с них, как обычно, если союзник завоевал мельницу, вы можете отвоевать ее biggrin.gif ,нет сообщений о том какой ресурс прибывает каждую неделю, да думаю и не надо, а то охота будет жать на 20 кнопок ОК?

Ась? Повторите, пожалуйста, по-русски, с расстановкой, и поподробнее про приемник... idontno.gif
Bourn
Цитата(Chortos-2 @ 26 Aug 2005, 13:33)
Ась? Повторите, пожалуйста, по-русски, с расстановкой, и поподробнее про приемник... idontno.gif

Ну вот что так сложно понять? idontno.gif
Когда я отключаю для всех мельниц их приемник, команда !!OBx/y/l:S; Коп начинает глючить те заходит на мельницу пока ходы не закончаться, типа ему надо сообщение о ресурсе, поэтому отключил приемник мельниц только для хъюманов,
а комп получает с мельниц ресы + еще их захватывает как хъюман. С союзниками нет никаких разделений, такчто ты можешь спокойно захватить его мельницу, а он твою. Сообщения о том что появляеться ресурс не делал, тк если у тебя захвачено 20 мельниц ты будешь 20 раз жать кнопку ОК.
Теперь понятно?
Чёртос-2 (Chortos-2)
А зачем этот приемник нужен? И где он в скрипте?
Bourn
Цитата(Chortos-2 @ 26 Aug 2005, 18:49)
А зачем этот приемник нужен? И где он в скрипте?

опять начинаеться......эх
1)чтобы когда заходит герой на мельницу ему не давали ресурс
2)шестая строка
sergroj
Цитата(Bourn @ 19 Aug 2005, 11:21)
Цитата(Aster-tr @ 19 Aug 2005, 01:27)
А если не каждый второй, а напр. 2 из 3-х?

попбробуй ввести 2 счетчика:
!!VRv12:+3;[берем каждый 3й объект]
+ добавить для него код замены объекта
к сожалению вроде как операция типа MOD в ЕРМ отсутствует.

Ну, это не большая проблема. Можно x mod y = x-(x/y)*y (деление, ессно, нацело).
Чёртос-2 (Chortos-2)
А как же !!VR:%
Bourn
Цитата(sergroj @ 26 Aug 2005, 20:33)
Ну, это не большая проблема. Можно x mod y = x-(x/y)*y (деление, ессно, нацело).

а да точног я же челочисленные переменные использую
Morn
Можно ли как нибудь отменить стандартный агрейд монстров и заместо этого сделать так чтобы они грейдились при достижении последнего уровня
Например Лесные Эльфы при достижении последнего уровня опыта автоматически превращались в Гранд Эльфов. При этом желательно чтобы показатели атаки защиты и др. начального уровня Гранд эльфов начинался с
последнего лесных +1.
И шоб при этом вываливалась картинка наподобие 4-х когда герой переходит на новый уровень


ЗАРАНЕЕ БЛАГОДАРЕН
Annoh
Авто грейд? Неплохо... А если сделать так, чтобы купленные грейженные юниты были опытными (до нужной стадии) по умолчанию... Это сильно изменит игру. Но круто... Только вот не знаю, можно ли это сделать с помощью ERM?
Чёртос-2 (Chortos-2)
Вообще-то он сказал "отменить стандартный апгрейд монстров и ЗАМЕСТО этого сделать так"...! laugh.gif
YURA-a-a-a
Посоветуй:

1) Надо, чтобы это событие могло совершаться только один раз в неделю (1 раз в неделю Герой может получить 10 Копейщиков, при посещении объекта):
!?OB61/71/0;
!!HE-1:C2/0/10/0; Дать Герою 10 Копейщиков (№ 0)
Чёртос-2 (Chortos-2)
Лень код писать biggrin.gif, но алгоритм такой - есть таймер, срабатывающий каждую неделю и обнуляющий какую-нибудь w-переменную для всех героев. А при посещении объекта пусть этой переменной задается значение 1. Вот и все...
Annoh
//Offtop to Chortos-2: не читать посты, а смотреть только на клавиатуру и печатать - хороший способ сберечь зрение.
Bourn
Есть команда !!PM: , правда я ей не разу не пользовался.
Guest
Как сделать, чтобы в списке глобальных заклинаний (там, где вызов элементарей навечно) появился пункт про найм крестьян? Причём этот найм не требовал бы никакую магию и за золото. + лимит на 20 крестьян в день. Блин, наверно оч сложно будет. Ну ладно, мож кто-нить возьмётся wink.gif
Miller
Цитата(Guest @ 04 Sep 2005, 03:33)
Как сделать, чтобы в списке глобальных заклинаний (там, где вызов элементарей навечно) появился пункт про найм крестьян? Причём этот найм не требовал бы никакую магию и за золото. + лимит на 20 крестьян в день. Блин, наверно оч сложно будет. Ну ладно, мож кто-нить возьмётся wink.gif


Да нет наоборот - легче легкого biggrin.gif

Только спрашивай по существу... Что не ясно?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.