Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 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
major
Мне кажется, если ты отключил все недели монстров и чумы один раз, то они уже больше не появятся.
mrtone
Не может кто?
Как проверить у героя наличие определенного юнита? Причем без использования боя.
major
!!DO1/0/6/1:P$unit$/?v1;
!?FU1;
!!HE-1:C0/x16/?y1/d;
!!VRx2&x1=y1:+1;
вместо $unit$ подставить номер нужного монстра. в переменной v1 будет храниться результат, если v1=0, значит такого нет, если больше, значит есть. и номер функции поставь другой.

Еще можешь попробовать такой вариант, хотя он не совсем рабочий ИМХО
!!HE-1:C1/$unit$/$unit$/?y1;
в y1 должно быть количество этих монстров, если=0, значит их нет.
DracoLich
Почему же не совсем? Работает корректно, тем паче что число мобов не важно, важно их существование.
И кстати в y1 Будет количество монстров в последнем найденном слоте (т.е. 0 0 45 23 12 0 0 даст 12 как результат)
major
DracoLich, я тут на днях просто посмотрел твой скрипт за получение опыта, когда разгоняешь монстров на карте, не вступая в битву. В некоторых случаях мне опыт не прибавлялся.
Как я понял, суть была следующая. У меня 100 магогов, напал на стек магогов (их там 33 было), разогнал их, получил опыт. Далее напал на джинов (около 50), разогнал, а опыт не прибавился. Проверка показала, что количество монстров (джинов) у меня вычисляет 100 (а их у меня не было).
В общем, заменил ту проверку !!HE:C1 своей функцией, и все стало работать норм.
И еще добавил проверку на навык Learning, ведь он, как никак, увеличивает прирост опыта, и прирост опыта монстрам армии героя.
mrtone
major,

Спасибо, работает и второй вариант корректно:
Цитата
!!HE-1:C1/$unit$/$unit$/?y1;


Что подтверждает и DracoLich.
DracoLich
Цитата(major @ 25 May 2009, 15:36)
DracoLich, я тут на днях просто посмотрел твой скрипт за получение опыта, когда разгоняешь монстров на карте, не вступая в битву. В некоторых случаях мне опыт не прибавлялся.
Как я понял, суть была следующая. У меня 100 магогов, напал на стек магогов (их там 33 было), разогнал их, получил опыт. Далее напал на джинов (около 50), разогнал, а опыт не прибавился. Проверка показала, что количество монстров (джинов) у меня вычисляет 100 (а их у меня не было).
В общем, заменил ту проверку !!HE:C1 своей функцией, и все стало работать норм.

Эм...
Ок, буду думать laugh.gif
Попробую твой метод, не против совместного авторства? wink.gif
Цитата
И еще добавил проверку на навык Learning, ведь он, как никак, увеличивает прирост опыта, и прирост опыта монстрам армии героя.

А это в какую оперу, не понял )

Добавлено ([mergetime]1243245707[/mergetime]):
Цитата(mrtone @ 25 May 2009, 16:17)
major,

Спасибо, работает и второй вариант корректно:
Цитата
!!HE-1:C1/$unit$/$unit$/?y1;


Что подтверждает и DracoLich.

Нужно проверку на багоустойчивость провести тоже wink.gif Бо майор уже знает то о чем я не подумал wink.gif
major
Цитата(DracoLich @ 25 May 2009, 16:01)
Попробую твой метод, не против совместного авторства? wink.gif
Да можешь меня даже в соавторы не писать, если твой вариант у других работает. Просто мне показались там недочеты, и я поправил.
Цитата(DracoLich @ 25 May 2009, 16:01)
Цитата
И еще добавил проверку на навык Learning, ведь он, как никак, увеличивает прирост опыта, и прирост опыта монстрам армии героя.

А это в какую оперу, не понял )
В смысле навык увеличивает приобретенный опыт героя на некий процент, поэтому за роспуск монстров герой с этим навыком должен получать больше опыта. И если включен опыт существ, то им тоже неплохо бы добавлять опыт.
В общем, вот мой исправленный вариант, если хош, можешь заменить свой rolleyes.gif (я тут немного переменные поменял)
Код
!?OB54&1000; - посещаем монстра?
!!UN:P85/?y1; - скрипт включен?
!!FU&y1=0:E; - если нет - выходиим
!!VRv8513:C0/0;
!!OB998:U?v8510; - что за монстр?
!!HE-1:E?v8512; - сколько их у героя и сколько опыта у героя
!!DO8501/0/6/1:P8513;
!!MO998:G?v8511; - сколько их в группе, на которую напал?

!$OB54&1000; - пост-посещение
!!UN:P85/?y9; - скрипт включен?
!!FU&y9=0:E; - если нет, выходим
!!HE-1:O?y1; - кто хозяин героя?
!!FU&y1=-1:E; - если никто - выходим
!!DO8501/0/6/1:P8514; - сколько монстров у героя
!!FU&v8514>v8513:E; - если больше стало, значит, присоединил, следовательно, выходим
!!HE-1:E?y3; - сколько у героя опыта?
!!FU&v8512<y3:E; - если больше, чем было, значит убил, следовательно, выходим
!!MA:Pv8510/?y4; - сколько жизней было у монстра, на которого напал?
!!VRy5:Sv8511 *y4; - умножаем количество жизней на количество монстров
!!HE-1:S21/?y2 X?y6/?y7/?y8/?y9/?y10/?y11/?y12; - специализация героя и навык обучаемости
!!HE-1&y6=0/y7=21:Ed/?y8/1; - уровень героя
!!VRy2:*500; - дополнительный опыт (5% на уровень)
!!VRy8&y6=0/y7=21:-1; - реальный прирост дополнительного опыта
!!VRy8&y6=0/y7=21:*y2 *5 :100; - дополнительный опыт специализации (%)
!!VRy2&y6=0/y7=21:+y8;
!!VRy2:*y5 :10000; - дополнительный опыт
!!VRy5:+y2;
!!VRy5::2; - герой получает 50% опыта
!!HE-1:B0/?z1; - узнаем имя героя
!!IF:Lz185007; - выводим сообщение
!!HE-1:Edy5; - добавляем опыт герою
!!DO8500/0/6/1:Py5; - добавляем опыт войску

!?FU8500;
!!EX-1/x16:A?y-1/d/?y-2; - тип монстра, его опыт
!!FU&y-1=-1:E; - если нет монстра выходм
!!EAy-1:M?y-3 L?y-4 C?y-5; - процент опыта за битву, максимальное количество опыта
!!VRx1:*y-3 :1000; - полученный опыт за битву
!!VRy-4:*y-5 :100; - максимальный опыт за битву
!!VRx1&x1>y-4:Sy-4; - выбрать минимальное значение
!!EX-1/x16:Edx1;

!?FU8501;
!!HE-1:C0/x16/?y-1/?y-2;
!!VRvx1&v8510=y-1:+y-2;
DracoLich
Сделал _почти_ то же самое, но не учел вероятность наличия специализации wink.gif
MasterOfPuppets
Такая вот незадача.
В !?BG можно получить номер текущего стека. Однако этот триггер вообще не срабатывает, если действие - отдача. Триггер !?MF1 срабатывает при отдаче, но в нём нет команды определения номера текущего (наносящего урон) стека. Попытка совмещения (!!BG в !?MF1) приносит мусор.
Кто что может предложить?
Aleee
Если как раз и воспользоваться тем свойством, что !?BG на такое действие не реагирует, то получается, что с помощью чего-то вроде:
Код
!?MF1;
!!VRv333:+1;
!!FU&v333<2:E;
!!BG:E?y1;

!?BG0;
!!VRv333:S0;

можно определить номер стека, отвечающего на атаку. Принцип основан на том, что при ответе за один ход !?BG проходит две !?MF.

Но придется этот код серьезно расширить.
Во-первых, атака дыханием и гидры. Я представляю себе, как это сделать: при каждом вызове !?MF записывать в отдельную переменную номер атакуемого стека, а в основном коде сравнивать значения. И если они разные, то "счетчик" не добавляет единицу, потому что это не ответ, а просто атака нескольких разных существ сразу (потому и вызвалось несколько !?MF).
Во-вторых, атаки как у ржавого дракона, насколько я помню, тоже вызывают две !?MF - сама атака и ржавчина. Такое можно предусмотреть для каждого существа отдельно (но выйдет долго - всякие огненные щиты, слабость сюда же), либо как-то ограничить через !!BG:A (если оно обновится для следующего !?MF, насчет чего есть сомнения.

Надеюсь, я хоть правильно понял суть задачи.
major
Master Of Puppets, смотри. Через !!BG:N можно узнать текущего монстра, который атакует, через !!BG:E можно узнать, кого атакают, а через !!MF:N можно узнать стек, который получает дамаг. Сравнивая эти три значения можно узнать в триггере !?MF, кто атакует, а кто отвечает.
Ну и наверно известно, что урон смертельного взгляда приписан горгонам, молнии - птицам грома, а огненный щит - тот на ком он висит.

Вот простой пример, в y7 должен храниться стек нападающего, а в y8 - отвечающего.
Код
!?MF1;
!!BG:N?y1 E?y2;
!!MF:N?y3;
!!VRy7&y2=y3:Sy1;
!!VRy7&y1=y3:Sy2;
!!VRy8&y2=y3:Sy2;
!!VRy8&y1=y3:Sy1;
Aleee
Так вопрос в определении номера стека атакуемого существа или того, которое бьет в ответ? Ведь мы получим номер стека существа в независимости от того, ответит ли нам оно или нет.
gamecreator
нет, если атакующее существо получает урон, значит есть ответ или огненный щит
snalltroll
Доброго всем времени суток, уважаемые форумчане!
Если не затруднит, поделитесь тонкостями использования ЕРМ-а при создании РПГ карт. Какие нибудь советы, что-как проще, что-как лучше.

На данный момент интересует вопрос:
Как при выведении изображения с помощью ресейвера !!IF убрать его подпись? Например, при вогификации задаётся вопрос "На что играть? На ресурсы или артефакты?" Далее приведены 2 изображения - ресур (не помню какой) и артефакт (волшебная палочка). И под изображением волшебной палочки попись "Волшебная палочка".
"А накол тебе это нада?" -спросите вы? Отвечу: вот, как то вся атмосфера теряется, когда Лесной Эльф по имени Эллерат говорит тебе какую нибудь эпическую фразу, снизу показан портрет Эллерата, а под ним подпись: "Лесные Эльфы". Думаю, Вы уловили смысл.

з.ы.
При рисовании карт и написании скриптов, я собираюсь использовать лишь внутренние файлы, которые уже есть в ВоГ 3.58ф.
"У него что, шило в ж...!?" -вновь воскликните вы. Нет, просто я расчитываю, что кто-то... когда нибудь... будет играть в мою карту, и я хочу максимально избавится от всего того гемороя, который обычно появляется при возможности поиграть в более-менее приличную Рпг-карту. Да, я наверно утрирую, но это моё ИМХО...

Извеняюсь за столь объёмный пост...
Aleee
Хз, у меня написано под артефактом "Волшебная палочка".
Могу лишь посоветовать перед показом задавать артефакту пустое имя, а после показа восстанавливать обратно.
DracoLich
Цитата
При рисовании карт и написании скриптов, я собираюсь использовать лишь внутренние файлы, которые уже есть в ВоГ 3.58ф.
"У него что, шило в ж...!?" -вновь воскликните вы. Нет, просто я расчитываю, что кто-то... когда нибудь... будет играть в мою карту, и я хочу максимально избавится от всего того гемороя, который обычно появляется при возможности поиграть в более-менее приличную Рпг-карту. Да, я наверно утрирую, но это моё ИМХО...

Не понял связи шила и стандартной не хитро*****нной карты. Наоборот, не люблю когда карты строгаются под какие-то определенные перерисовки, бо это такой гемор восстанавливать.
Для артов
!!VRz1:S^Текст под картинкой^;
!!VRz2:S^Текст по правому щелчку^;
!!UN:Ax/9/z1 Ax/10/z2;
Для монстров
!!VRz1:^Эллезар^;
!!UN:G2/...
(тут не помню синтаксис, посмотри хелп)
snalltroll
я хотел сказать, что обычно для того, что бы поиграть в более-менее приличную РПГ-карту, необходимо ставить доп. изображения и объекты, используемые картой, которые в дальнейшем необходимо искать в папке с героями, которая и так переполнена патчами, модами, и т.п, что так любит ставить народ.
А с диологами (вернее с расширенными диологами) проблема в том, что они (расширенные диологи) могут работать только с внешними файлами. Поправьте меня, если я что-то не так сказал...

з.ы.
ДракоЛич - спасибо

з.ы.ы
Возник очередной вопрос:
Можно ли с помощью ЕРМ-а вывести в сообщении портрет героя, не используя при этом расширенный диолог? То бишь как с артефактами и монстрами - указать тип и подтип, а не путь к внешнему файлу.

А так же:
Можно ли изменить имя постройки в городе (например "Префектура" на "Казна"), и... не сердись народ, я юзаю поиск и ЕРМ-хелп, но порой возникают вопросы, на которые опытный скриптер ответит в 2 секунды, а у меня на поиск ответа уйдёт пол часа.
major
Переименовать строения в городе можно только в тхт.
А вот насчет портрета героя, такого вроде бы не предполагалось. Возможно стоит попробовать указать значения больше 36 для типа.
snalltroll
Попробовал - выкинуло с сообщением об ошибке, что впринципи не удивительно) ИМХО, если бы после 36 были ещё какие то типы изображений, в хелпе бы об этом говорилось... обидно...

очередной вопрос:
подскажите, как работать со звуком? Основная проблема в том, что при посищении ВоГ-объектов проигрывается один и тот же мрачный-замогильный звук (мелодия?). Как с этим бороться?
Aleee
Капитан очевидность отвечает:
!!SN
Astaroth
snalltroll, попробуй следующее:

Код
ZVSE

!?OB63;
!!OB:U?i;
!!IF&i>0:V99/1;

!?SN&99;
!!SN:S?z99;
!!VRj:S0;
!!VRz100:S^mystery.wav^;
!!VRj&z100=z99:S1;
!!VRz99&j=1:S^ZQUIET.WAV^;
!!SN&j=1:Sz99;
!!IF&j=1:99/0;


z99, z100 и флаг 99 поменяй на свои, неиспользуемые. Вместо ZQUIET.WAV, можешь вставить любой стандартный звук. Триггер сработает для любого объекта WoG. Триггер не подействует для пирамиды
snalltroll
Demon of Time,
большое спасибо за скрипт! но, если не зхатруднит, разъясни как он работает. дело в том, что я начал осваивать ЕРМ (отсюда столько глупых вопросов) и мне важен не сам скрипт, а то, как он работает.
Заране Спасибо...
Astaroth
Легко! Сейчас все разложу по полочкам:

ZVSE

!?OB63; - Триггер срабатывает при посещении объекта типа 63 (пирамида и путсые объекты WoG)
!!OB:U?i; - Проверяем подтип объекта
!!IF&i>0:V99/1; Присваеваем флагу 99 значение 1 только если подтип больше 0 (т.к 63 тип, 0 подтип - это пирамида)

!?SN&99; - Триггер срабатывает при воспроизведении звука, &99 означает, что триггер сработает если значение флага 99 равно 1
!!SN:S?z99; - Проверяем, какой сейчас проигрывается звук и заносим его название в переменную z99
!!VRj:S0; - Присваеваем j значение 0 (Нужно для дальнейшей обработке скрипта)
!!VRz100:S^mystery.wav^; - Присваеваем переменной z100 значение звука, который воспроизводится при посещении объектов WoG, пирамиды, ящиков пандоры, гильдий воров и... дальше не помню
!!VRj&z100=z99:S1; - Присваеваем переменной j значение 1 только если проигрываемый в данный момент звук (переменная z99) тот же который нам надо отключить (переменная z100)
!!VRz99&j=1:S^ZQUIET.WAV^; - Если j равно 1, т.е. если тот звук, который сейчас проигрывается ИМЕННО ТОТ, который нам надо отключить, тогда заносим в переменную z99 значение пустого файла звука (просто тишина)
!!SN&j=1:Sz99; - Опять же если j равно 1, проигрываем новый "тихий" звук
!!IF&j=1:99/0; - Обнуляем флаг 99, дабы описанный выше триггер, не выскакивал при посещении ВСЕХ объектов (Если этого не сделать, то при посещении пирамид, ящиков пандоры, гильдий воров и т.п. вместо звука будет тишина, что тебе вряд ли нужно

Фух! Постарался все понятно изложить. Если что, обращайся yes.gif
snalltroll
АРХИСПАСИБО!!!

Кстати, хотелось бы выслушать твоё мнение по поводу моих прошлых постов. Как уже говорилось, может дашь какие нибудь советы по поводу создания РПГ-карт?
Astaroth
В принцепи, много можно сказть об РПГ картах. Хотя бы то, что я сейчас создаю именно РПГ карту spiteful.gif

Вот парочка предложений:

Во первых - герой, а точнее его связь с существом в армии (Пусть будет для простоты крестьянин)
Допустим за тобой в бой идут человек сто крестоносцев, и ты вдруг теряешь крестьянина и... продолжаешь играть. Но по идее должен был проиграть. Задумайся над этим.

Что насчет надписей под существами или артефактами, то тут используй динамическую смену имени

Код
ZVSE
// Код до показа сообщения
...
!!VRz99:S^Ваш герой^; - имя существа
!!UN:G1/<номер монстра>/1/z99; Имя нескольких существ
!!UN:G1/<номер монстра>/0/z99; Имя одного существа
!!IF:Q1/21/<номер монстра>/1^Трам пам пам!!!^; В сообщении будет корректно показано имя твоего существа (Героя, персонажа и т.п.)
!!UN:G1/<номер монстра>/1/0; Сброс имени на стандартное
!!UN:G1/<номер монстра>/0/0; Сброс имени на стандартное
...
//Последующий код


То же самое можно сделать и с артефактами

Код
// Код до показа сообщения
...
!!VRz99:S^Ваша сабелька^; - название артефакта
!!VRz100:S^Хорошая сабелька^; - его описание
!!UN:A<номер артефакта>/9/z99; Новое название
!!UN:A<номер артефакта>/10/z100; Новое описани (Если вдруг нажмешь правой кнопкой)
!!IF:Q1/8/<номер артефакта>/1^ - Уух! Какая у меня сабелька - сказали вы пригразив орку своей саблей^; В сообщении будет корректно показано новое название предмета
!!UN:A<номер артефакта>/9/0; Сброс названия на стандартное
!!UN:A<номер артефакта>/10/0; Сброс  на стандартное
...
//Последующий код


Вот примерно так можно показывать красивые диалоги с нормальными названиями.

Если есть еще вопросы пиши, не стесняйся yes.gif
snalltroll
Не работает скрипт на замену звука mystery.wav huh.gif
Все переменные свободны (ставил скрипт на пустой карте), перечитывал что ты написал, сверял с ЕРМ-Хелпом, вроде бы всё должно работать, хотя скрипт я понял процентов на 70...

з.ы.
написал скрипт для раскачки первичных навыков по выбору.
всё работает, только симпотичнее смотрелось бы, если бы "2го Уровня!" писалось жёлтым цветом... пробовал вносить в {скобки}, но они, отчего то не используются по назначению, а просто пишутся как скобки. Вот, собственно сам скрипт:

Код
ZVSE

!#VRz67:S^Атака^;
!#VRz68:S^Защита^;
!#VRz69:S^Сила магии^;
!#VRz70:S^Знания^;


!?HL-1;
!!HE-1:E2/?v77;
!!VRz66:S^Поздравляем! Вы получили %V77й Уровень!

Какой из первичных навыков вы хотите повысить?^;
!!IF:G1/88/1/66/67/68/69/70/0/0/0/0/0/0/0/0;
!!HL&v88=1:S0/-2/-2;
!!HL&v88=2:S1/-2/-2;
!!HL&v88=4:S2/-2/-2;
!!HL&v88=8:S3/-2/-2;
DracoLich
Украл идею xD
Код
!?HL-1;
!!HE-1:Ed/?y1;
!!VRz-1:S^Поздравляем! Вы получили уровень {%Y1}!

Какой из первичных навыков вы хотите повысить?^;
!!VRz-2:S^Атака^;
!!VRz-3:S^Защита^;
!!VRz-4:S^Сила^;
!!VRz-5:S^Знание^;
!!IF:G1/1/1/-1/-2/-3/-4/-5;
!!HL&v1=1:S0/-2/-2;
!!HL&v1=2:S1/-2/-2;
!!HL&v1=4:S2/-2/-2;
!!HL&v1=8:S3/-2/-2;

оптимизировал.
Кстате использовать постоянные глобальные переменные, если они не нужны для долгого хранения, не есть гут. Лучше использовать локальные
Astaroth
Вот исправленный код. Оказывается в Хелпе неправильно указано название звука. А тип возвращаемый при посещении всегда равен 0 (Пробовал на 5 (!) пустых объектах WoG)

Код
ZVSE

!?OB63;
!!IF:V99/1;

!?SN&99;
!!SN:S?z99;
!!VRj:S0;
!!VRz100:S^Mystery.wav^;
!!VRj&z100=z99:S1;
!!VRz99&j=1:S^ZQUIET.WAV^;
!!SN&j=1:Sz99;
!!IF:V99/0;


Заметь название звука не mystery.wav, а Mystery.wav. Кстати, при самом первом посещении звук все же проиграет, но при остальных не будет проигрывать. Проверил. Попробуй это исправить изначальным присваеванием флагу 99 значения 1, может получится.

Добавлено ([mergetime]1244058260[/mergetime]):
Dracolich, это ведь ты Help русский составляешь?
DracoLich
Нет. Я официальный представитель русскоязычного сообщества по ERM-хелпу в области косяков и ошибок )
Т.е. размер имеет значение?
Astaroth
Не понял насчет размера, то ли я такой сонный, то ли не знаю.
Просто хотел сказать, мол в Хелпе написано mystery.wav, а на самом деле Mystery.wav, разница хоть и не большая, но обидная. Может мне прогнать все названия звуков для поиска ошибок?
DracoLich
зачем? просто проверь другой звук, сделав из него вместо Rogue.wav roGUe.wAv
Если не сработает, size does matter!
snalltroll
Кстати, ДракоЛич, я идею не крал. Просто придумать что-то новое - нереально. ВСЁ когда то уже придумывалось (относительно). К тому же такую банальную идею, как выбор первичного навыка при левеле, явно придумали задолго до меня. Извеняюсь за свои слова... (насчёт того, что придумал сам)

з.ы.
а звук проигрывается раз в день...
Astaroth
Логично... глуповатая была затея... biggrin.gif
snalltroll, как у тебе дела? Работают скрипты по изменению названий монстров/артефактов?
DracoLich
Это был сарказм
Мне табличку вешать на каждое 2ое сообщение? )
Слава стал автором мода, но авторов было множество. Так же и моя идея в конце концов была чьей-то.
И мне как то безразлично на авторство, главное чтобы суть была ценной
snalltroll
да, они у меня ещё сегодня днём работали)) больше интересует вопрос выведения портретов героев, а так же переименования зданий в городах (первое мне нужно для диологов, дабы помимо сообщения показывалась ещё и физиономия говорящего, а второе всё по той же причине - избавится от лишнего текста под изображением, либо для изменения этого текста)

Добавлено ([mergetime]1244059356[/mergetime]):
Цитата
И мне как то безразлично на авторство, главное чтобы суть была ценной


поддерживаю...
Astaroth
Новая версия (Дай бог последняя!). А оказывается со звуками работать - нудная вещь!

Код
ZVSE

!?SN;
!!OBv998/v999/v1000:T?i;
!!VRj&i=63:S1;
!!FU&j<>1:E;
!!SN:S?z-2;
!!VRj:S0;
!!VRz-3:S^Mystery.wav^;
!!VRj&z-2=z-3:S1;
!!VRz-2&j=1:S^ZQUIET.WAV^;
!!SN&j=1:Sz-2;


Я проверил, теперь НИКОГДА звук от пустых WoG объектов не будет воспроизводится!
DracoLich
Морду лица героев выводить никому еще не удавалось, вероятнее всего просто нельзя. Переименовывать здания - опять же только через анналы !!UN:C

Добавлено ([mergetime]1244059939[/mergetime]):
Код
!?SN;
!!OBv998/v999/v1000:T?i;
!!FU&i<>1:E;
!!SN:S?z599;
!!VRz600:S^Mystery.wav^;
!!VRz599&z600=z599:S^ZQUIET.WAV^;
!!SN&j=1:Sz599;

Так не проще?
Astaroth
А было бы хорошо, если б морду можны было вывести. Скажем новый тип для !!IF:Q
А названия зданий - ...... может стоит помудрить с !?CM1 для описания... а для надписи внизу... может !?MM1, вроде должно получится, сам пока не пробовал
Но стоит поэксперементировать!

Добавлено ([mergetime]1244060128[/mergetime]):
DracoLich, проще biggrin.gif, ступил немножко, лишнюю переменную подпряг... rolleyes.gif

Добавлено ([mergetime]1244060194[/mergetime]):
Ага! На последнюю строчку взгляни, может вместо &j=1 стоит z599=z600, м?
snalltroll
эмм...
с одной стороны всё просто-с другой аЦЦки непонятно...
я к тому, что когда найдёте имхалучший вариант этого скрипта - распишите пожалуйста, как он работает, ибо, повторюсь, мне не важен сам скрипт, а мне важно знать как он работает, опять же, ибо, я только разбераюсь с ЕРМом, дабы знать все его возможности\недостатки.
DracoLich
СМ в окне построек не работает
snalltroll
Кстати, ДракоЛич, а ты уверен, что в показанном тобой скрипте {вотэтискобки} работают, как нада?
Astaroth
!?MM тоже походу не работает... блин, обидно то как! А такие задумки были rolleyes.gif
Вместо портала славы, например, портал грома... и титаны в нем...
Все равно надо будет разобраться! хоть через !?CM, хоть через !!UN:C, но я это выясню!
DracoLich
Цитата
вместо &j=1 стоит z599=z600, м?

Безпорно )
Цитата
распишите пожалуйста, как он работает

!?SN; - триггер sleep.gif
!!OB998:T=63; - сравниваем тип объекта в координатах посещения (а они как известно из хелпа всегда находятся в v998/v999/v1000 соответственно x/y/уровень; а синтаксис !!ZZ998 превращается интерпретатором в вид "!!ZZv998/v999/v1000") с 63 (пирамиды+все новые объекты). Если это они, то флаг 1 истина, иначе ложь
!!FU&-1:E; если ложь выходим
!!SN:S?z599; записываем имя звука
!!VRz600:S^Mystery.wav^; записываем имя предполагаемого звука (хотя хз зачем, в пирамидах другого и не бывает ))
!!FU&z600<>z599:E; но если таки не такой звук, то выходим
!!VRz599:S^ZQUIET.WAV^; если звук именно искомый, заменяем его тишиной...
!!SN:Sz599; подменой истинного имени файла на тишину

Добавлено ([mergetime]1244060972[/mergetime]):
Цитата
Кстати, ДракоЛич, а ты уверен, что в показанном тобой скрипте {вотэтискобки} работают, как нада?

Нет (не уверен). Но они должны, бо это фича игры. Вот {{}} буду показаны как скобки. А одинарные - не должны.
Кстате, насчет звука пирамид - мой вариант будет работать для объектов типа 63, т.е. всех пирамид и новых объектов. Если где в другом месте будет этот звук, он пройдет.
Задержка связи имеет место быть, ибо интернет видал веб 2.0
Astaroth
Ну да, мой код был не идеален, но зато он был именно в таком стиле в каком я привык писать ERM-Скрипты (Без малого уже года четыре)
Насчет проверки звука... то х.з. зачем! У меня этот код ловил только определенные звуки (а точнее chest.wav), неважно от чего они исходили, позже я его откорректировал и выложил
snalltroll
хм... похоже вместо всего этого гемороя со звуком объектов ВоГ проще брать любой другой объект, и затирать его свойства...
Astaroth
snalltroll, как знаешь. Но теперь то ты понял как работать со звуками через !?SN, это тебе очень пригодится. Например для создания музыкальных объектов! Гы-гы-гы crazy.gif
DracoLich
ниразу. Просто звук еще никому не мешал ) У меня он вообще отключен, бо за 7 лет то можно хоть наизусть исполнять.
Цитата
Ну да, мой код был не идеален, но зато он был именно в таком стиле в каком я привык писать ERM-Скрипты (Без малого уже года четыре)

Критик - человек, который знает дорогу, но не умеет водить. wink.gif не хочу быть похожим на такого, вот и лезу с оптимизацией wink.gif
snalltroll
Большое Спасибо ребят!
За сегоднешний день (и вечер) я со многим разобрался... вот только со скобками всё какая то по**ень...((
Astaroth
Цитата
Критик - человек, который знает дорогу, но не умеет водить.  не хочу быть похожим на такого, вот и лезу с оптимизацией


За оптимизацию - отдельное спасибо good.gif. Только вот обидно, что столько строк напечатал "старым", не оптимизированным стилем... unsure.gif

Добавлено ([mergetime]1244062102[/mergetime]):
Цитата
За сегоднешний день (и вечер)

У кого вечер, а у кого уже утро... и экзамен через три часа crazy.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.