Мне кажется, если ты отключил все недели монстров и чумы один раз, то они уже больше не появятся.
mrtone
24 May 2009, 21:02
Не может кто?
Как проверить у героя наличие определенного юнита? Причем без использования боя.
!!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
25 May 2009, 08:04
Почему же не совсем? Работает корректно, тем паче что число мобов не важно, важно их существование.
И кстати в y1 Будет количество монстров в последнем найденном слоте (т.е. 0 0 45 23 12 0 0 даст 12 как результат)
DracoLich, я тут на днях просто посмотрел твой скрипт за получение опыта, когда разгоняешь монстров на карте, не вступая в битву. В некоторых случаях мне опыт не прибавлялся.
Как я понял, суть была следующая. У меня 100 магогов, напал на стек магогов (их там 33 было), разогнал их, получил опыт. Далее напал на джинов (около 50), разогнал, а опыт не прибавился. Проверка показала, что количество монстров (джинов) у меня вычисляет 100 (а их у меня не было).
В общем, заменил ту проверку !!HE:C1 своей функцией, и все стало работать норм.
И еще добавил проверку на навык Learning, ведь он, как никак, увеличивает прирост опыта, и прирост опыта монстрам армии героя.
mrtone
25 May 2009, 12:17
major,Спасибо, работает и второй вариант корректно:
Цитата
!!HE-1:C1/$unit$/$unit$/?y1;
Что подтверждает и DracoLich.
DracoLich
25 May 2009, 13:01
Цитата(major @ 25 May 2009, 15:36)
DracoLich, я тут на днях просто посмотрел твой скрипт за получение опыта, когда разгоняешь монстров на карте, не вступая в битву. В некоторых случаях мне опыт не прибавлялся.
Как я понял, суть была следующая. У меня 100 магогов, напал на стек магогов (их там 33 было), разогнал их, получил опыт. Далее напал на джинов (около 50), разогнал, а опыт не прибавился. Проверка показала, что количество монстров (джинов) у меня вычисляет 100 (а их у меня не было).
В общем, заменил ту проверку !!HE:C1 своей функцией, и все стало работать норм.
Эм...
Ок, буду думать

Попробую твой метод, не против совместного авторства?

Цитата
И еще добавил проверку на навык Learning, ведь он, как никак, увеличивает прирост опыта, и прирост опыта монстрам армии героя.
А это в какую оперу, не понял )
Добавлено ([mergetime]1243245707[/mergetime]):
Цитата(mrtone @ 25 May 2009, 16:17)
major,Спасибо, работает и второй вариант корректно:
Цитата
!!HE-1:C1/$unit$/$unit$/?y1;
Что подтверждает и DracoLich.
Нужно проверку на багоустойчивость провести тоже

Бо майор уже знает то о чем я не подумал
Цитата(DracoLich @ 25 May 2009, 16:01)
Попробую твой метод, не против совместного авторства?

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

(я тут немного переменные поменял)
Код
!?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
25 May 2009, 17:56
Сделал _почти_ то же самое, но не учел вероятность наличия специализации
MasterOfPuppets
28 May 2009, 15:47
Такая вот незадача.
В !?BG можно получить номер текущего стека. Однако этот триггер вообще не срабатывает, если действие - отдача. Триггер !?MF1 срабатывает при отдаче, но в нём нет команды определения номера текущего (наносящего урон) стека. Попытка совмещения (!!BG в !?MF1) приносит мусор.
Кто что может предложить?
Если как раз и воспользоваться тем свойством, что !?BG на такое действие не реагирует, то получается, что с помощью чего-то вроде:
Код
!?MF1;
!!VRv333:+1;
!!FU&v333<2:E;
!!BG:E?y1;
!?BG0;
!!VRv333:S0;
можно определить номер стека, отвечающего на атаку. Принцип основан на том, что при ответе за один ход !?BG проходит две !?MF.
Но придется этот код серьезно расширить.
Во-первых, атака дыханием и гидры. Я представляю себе, как это сделать: при каждом вызове !?MF записывать в отдельную переменную номер атакуемого стека, а в основном коде сравнивать значения. И если они разные, то "счетчик" не добавляет единицу, потому что это не ответ, а просто атака нескольких разных существ сразу (потому и вызвалось несколько !?MF).
Во-вторых, атаки как у ржавого дракона, насколько я помню, тоже вызывают две !?MF - сама атака и ржавчина. Такое можно предусмотреть для каждого существа отдельно (но выйдет долго - всякие огненные щиты, слабость сюда же), либо как-то ограничить через !!BG:A (если оно обновится для следующего !?MF, насчет чего есть сомнения.
Надеюсь, я хоть правильно понял суть задачи.
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;
Так вопрос в определении номера стека атакуемого существа или того, которое бьет в ответ? Ведь мы получим номер стека существа в независимости от того, ответит ли нам оно или нет.
gamecreator
28 May 2009, 22:47
нет, если атакующее существо получает урон, значит есть ответ или огненный щит
snalltroll
02 Jun 2009, 19:37
Доброго всем времени суток, уважаемые форумчане!
Если не затруднит, поделитесь тонкостями использования ЕРМ-а при создании РПГ карт. Какие нибудь советы, что-как проще, что-как лучше.
На данный момент интересует вопрос:
Как при выведении изображения с помощью ресейвера !!IF убрать его подпись? Например, при вогификации задаётся вопрос "На что играть? На ресурсы или артефакты?" Далее приведены 2 изображения - ресур (не помню какой) и артефакт (волшебная палочка). И под изображением волшебной палочки попись "Волшебная палочка".
"А накол тебе это нада?" -спросите вы? Отвечу: вот, как то вся атмосфера теряется, когда Лесной Эльф по имени Эллерат говорит тебе какую нибудь эпическую фразу, снизу показан портрет Эллерата, а под ним подпись: "Лесные Эльфы". Думаю, Вы уловили смысл.
з.ы.
При рисовании карт и написании скриптов, я собираюсь использовать лишь внутренние файлы, которые уже есть в ВоГ 3.58ф.
"У него что, шило в ж...!?" -вновь воскликните вы. Нет, просто я расчитываю, что кто-то... когда нибудь... будет играть в мою карту, и я хочу максимально избавится от всего того гемороя, который обычно появляется при возможности поиграть в более-менее приличную Рпг-карту. Да, я наверно утрирую, но это моё ИМХО...
Извеняюсь за столь объёмный пост...
Хз, у меня написано под артефактом "Волшебная палочка".
Могу лишь посоветовать перед показом задавать артефакту пустое имя, а после показа восстанавливать обратно.
DracoLich
03 Jun 2009, 14:33
Цитата
При рисовании карт и написании скриптов, я собираюсь использовать лишь внутренние файлы, которые уже есть в ВоГ 3.58ф.
"У него что, шило в ж...!?" -вновь воскликните вы. Нет, просто я расчитываю, что кто-то... когда нибудь... будет играть в мою карту, и я хочу максимально избавится от всего того гемороя, который обычно появляется при возможности поиграть в более-менее приличную Рпг-карту. Да, я наверно утрирую, но это моё ИМХО...
Не понял связи шила и стандартной не хитро*****нной карты. Наоборот, не люблю когда карты строгаются под какие-то определенные перерисовки, бо это такой гемор восстанавливать.
Для артов
!!VRz1:S^Текст под картинкой^;
!!VRz2:S^Текст по правому щелчку^;
!!UN:Ax/9/z1 Ax/10/z2;
Для монстров
!!VRz1:^Эллезар^;
!!UN:G2/...
(тут не помню синтаксис, посмотри хелп)
snalltroll
03 Jun 2009, 16:17
я хотел сказать, что обычно для того, что бы поиграть в более-менее приличную РПГ-карту, необходимо ставить доп. изображения и объекты, используемые картой, которые в дальнейшем необходимо искать в папке с героями, которая и так переполнена патчами, модами, и т.п, что так любит ставить народ.
А с диологами (вернее с расширенными диологами) проблема в том, что они (расширенные диологи) могут работать только с внешними файлами. Поправьте меня, если я что-то не так сказал...
з.ы.
ДракоЛич - спасибо
з.ы.ы
Возник очередной вопрос:
Можно ли с помощью ЕРМ-а вывести в сообщении портрет героя, не используя при этом расширенный диолог? То бишь как с артефактами и монстрами - указать тип и подтип, а не путь к внешнему файлу.
А так же:
Можно ли изменить имя постройки в городе (например "Префектура" на "Казна"), и... не сердись народ, я юзаю поиск и ЕРМ-хелп, но порой возникают вопросы, на которые опытный скриптер ответит в 2 секунды, а у меня на поиск ответа уйдёт пол часа.
Переименовать строения в городе можно только в тхт.
А вот насчет портрета героя, такого вроде бы не предполагалось. Возможно стоит попробовать указать значения больше 36 для типа.
snalltroll
03 Jun 2009, 18:42
Попробовал - выкинуло с сообщением об ошибке, что впринципи не удивительно) ИМХО, если бы после 36 были ещё какие то типы изображений, в хелпе бы об этом говорилось... обидно...
очередной вопрос:
подскажите, как работать со звуком? Основная проблема в том, что при посищении ВоГ-объектов проигрывается один и тот же мрачный-замогильный звук (мелодия?). Как с этим бороться?
Капитан очевидность отвечает:
!!SN
Astaroth
03 Jun 2009, 19:44
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
03 Jun 2009, 20:50
Demon of Time,
большое спасибо за скрипт! но, если не зхатруднит, разъясни как он работает. дело в том, что я начал осваивать ЕРМ (отсюда столько глупых вопросов) и мне важен не сам скрипт, а то, как он работает.
Заране Спасибо...
Astaroth
03 Jun 2009, 21:06
Легко! Сейчас все разложу по полочкам:
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, дабы описанный выше триггер, не выскакивал при посещении ВСЕХ объектов (Если этого не сделать, то при посещении пирамид, ящиков пандоры, гильдий воров и т.п. вместо звука будет тишина, что тебе вряд ли нужно
Фух! Постарался все понятно изложить. Если что, обращайся
snalltroll
03 Jun 2009, 21:52
АРХИСПАСИБО!!!
Кстати, хотелось бы выслушать твоё мнение по поводу моих прошлых постов. Как уже говорилось, может дашь какие нибудь советы по поводу создания РПГ-карт?
Astaroth
03 Jun 2009, 22:12
В принцепи, много можно сказть об РПГ картах. Хотя бы то, что я сейчас создаю именно РПГ карту
Вот парочка предложений:
Во первых - герой, а точнее его связь с существом в армии (Пусть будет для простоты крестьянин)
Допустим за тобой в бой идут человек сто крестоносцев, и ты вдруг теряешь крестьянина и... продолжаешь играть. Но по идее должен был проиграть. Задумайся над этим.
Что насчет надписей под существами или артефактами, то тут используй динамическую смену имени
Код
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; Сброс на стандартное
...
//Последующий код
Вот примерно так можно показывать красивые диалоги с нормальными названиями.
Если есть еще вопросы пиши, не стесняйся
snalltroll
03 Jun 2009, 22:17
Не работает скрипт на замену звука mystery.wav

Все переменные свободны (ставил скрипт на пустой карте), перечитывал что ты написал, сверял с ЕРМ-Хелпом, вроде бы всё должно работать, хотя скрипт я понял процентов на 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
03 Jun 2009, 22:40
Украл идею 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
03 Jun 2009, 22:44
Вот исправленный код. Оказывается в Хелпе неправильно указано название звука. А тип возвращаемый при посещении всегда равен 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
03 Jun 2009, 22:46
Нет. Я официальный представитель русскоязычного сообщества по ERM-хелпу в области косяков и ошибок )
Т.е. размер имеет значение?
Astaroth
03 Jun 2009, 22:49
Не понял насчет размера, то ли я такой сонный, то ли не знаю.
Просто хотел сказать, мол в Хелпе написано mystery.wav, а на самом деле Mystery.wav, разница хоть и не большая, но обидная. Может мне прогнать все названия звуков для поиска ошибок?
DracoLich
03 Jun 2009, 22:53
зачем? просто проверь другой звук, сделав из него вместо Rogue.wav roGUe.wAv
Если не сработает, size does matter!
snalltroll
03 Jun 2009, 22:54
Кстати, ДракоЛич, я идею не крал. Просто придумать что-то новое - нереально. ВСЁ когда то уже придумывалось (относительно). К тому же такую банальную идею, как выбор первичного навыка при левеле, явно придумали задолго до меня. Извеняюсь за свои слова... (насчёт того, что придумал сам)
з.ы.
а звук проигрывается раз в день...
Astaroth
03 Jun 2009, 22:55
Логично... глуповатая была затея...
snalltroll, как у тебе дела? Работают скрипты по изменению названий монстров/артефактов?
DracoLich
03 Jun 2009, 22:58
Это был сарказм
Мне табличку вешать на каждое 2ое сообщение? )
Слава стал автором мода, но авторов было множество. Так же и моя идея в конце концов была чьей-то.
И мне как то безразлично на авторство, главное чтобы суть была ценной
snalltroll
03 Jun 2009, 23:02
да, они у меня ещё сегодня днём работали)) больше интересует вопрос выведения портретов героев, а так же переименования зданий в городах (первое мне нужно для диологов, дабы помимо сообщения показывалась ещё и физиономия говорящего, а второе всё по той же причине - избавится от лишнего текста под изображением, либо для изменения этого текста)
Добавлено ([mergetime]1244059356[/mergetime]):
Цитата
И мне как то безразлично на авторство, главное чтобы суть была ценной
поддерживаю...
Astaroth
03 Jun 2009, 23:07
Новая версия (Дай бог последняя!). А оказывается со звуками работать - нудная вещь!
Код
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
03 Jun 2009, 23:12
Морду лица героев выводить никому еще не удавалось, вероятнее всего просто нельзя. Переименовывать здания - опять же только через анналы !!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
03 Jun 2009, 23:16
А было бы хорошо, если б морду можны было вывести. Скажем новый тип для !!IF:Q
А названия зданий - ...... может стоит помудрить с !?CM1 для описания... а для надписи внизу... может !?MM1, вроде должно получится, сам пока не пробовал
Но стоит поэксперементировать!
Добавлено ([mergetime]1244060128[/mergetime]):
DracoLich, проще

, ступил немножко, лишнюю переменную подпряг...
Добавлено ([mergetime]1244060194[/mergetime]):
Ага! На последнюю строчку взгляни, может вместо &j=1 стоит z599=z600, м?
snalltroll
03 Jun 2009, 23:17
эмм...
с одной стороны всё просто-с другой аЦЦки непонятно...
я к тому, что когда найдёте имхалучший вариант этого скрипта - распишите пожалуйста, как он работает, ибо, повторюсь, мне не важен сам скрипт, а мне важно знать как он работает, опять же, ибо, я только разбераюсь с ЕРМом, дабы знать все его возможности\недостатки.
DracoLich
03 Jun 2009, 23:17
СМ в окне построек не работает
snalltroll
03 Jun 2009, 23:20
Кстати, ДракоЛич, а ты уверен, что в показанном тобой скрипте {вотэтискобки} работают, как нада?
Astaroth
03 Jun 2009, 23:21
!?MM тоже походу не работает... блин, обидно то как! А такие задумки были
Вместо портала славы, например, портал грома... и титаны в нем...
Все равно надо будет разобраться! хоть через !?CM, хоть через !!UN:C, но я это выясню!
DracoLich
03 Jun 2009, 23:29
Цитата
вместо &j=1 стоит z599=z600, м?
Безпорно )
Цитата
распишите пожалуйста, как он работает
!?SN; - триггер
!!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
03 Jun 2009, 23:36
Ну да, мой код был не идеален, но зато он был именно в таком стиле в каком я привык писать ERM-Скрипты (Без малого уже года четыре)
Насчет проверки звука... то х.з. зачем! У меня этот код ловил только определенные звуки (а точнее chest.wav), неважно от чего они исходили, позже я его откорректировал и выложил
snalltroll
03 Jun 2009, 23:36
хм... похоже вместо всего этого гемороя со звуком объектов ВоГ проще брать любой другой объект, и затирать его свойства...
Astaroth
03 Jun 2009, 23:39
snalltroll, как знаешь. Но теперь то ты понял как работать со звуками через !?SN, это тебе очень пригодится. Например для создания музыкальных объектов! Гы-гы-гы
DracoLich
03 Jun 2009, 23:41
ниразу. Просто звук еще никому не мешал ) У меня он вообще отключен, бо за 7 лет то можно хоть наизусть исполнять.
Цитата
Ну да, мой код был не идеален, но зато он был именно в таком стиле в каком я привык писать ERM-Скрипты (Без малого уже года четыре)
Критик - человек, который знает дорогу, но не умеет водить.

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

. Только вот обидно, что столько строк напечатал "старым", не оптимизированным стилем...
Добавлено ([mergetime]1244062102[/mergetime]):
Цитата
За сегоднешний день (и вечер)
У кого вечер, а у кого уже утро... и экзамен через три часа