Школа ERM

Ответить

Таверна | Столик Картостроителей

Важное сообщение

Страницы: на первую | пред | << | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | >> | след | на последнюю
Подписывайтесь на наши группы:
Перейти к столику:
Автор Сообщение
Сэр Kirinyale
+ + +
Kirinyale

HoMM V: Рыцарь
HoMM IV: Рыцарь
HoMM III: Граф (7)
HoMM II: Граф (4)
Сообщения: 5442
Откуда: Украина

Цитировать ссылка Добавлено: 2.08.2007 20:37
В параллельной теме уже вроде выяснили, что происходит при экспертном интеллекте. Проблема остаётся в том, что он может не быть таковым, а тогда всё куда сложнее... хотя, видимо, придётся его поставить экспертный в старте - проще будет (и логичнее, с учётом некоторых моментов).
Kirinyale
Особый статус:
Рыцарь Круглого Стола 1 созываРыцарь Круглого Стола 2 созываРыцарь Круглого Стола 3 созыва
Журналист Земель Героев 2005 годаЦензор КартХудожник-Лунный (HoMM-III)
Дуэлянт года 2011Бывший магистрВрата сгоревших надежд
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 2.08.2007 20:46
В принципе, отличия должны быть минимальными: что продвинутый, что эксперт... Всё равно идёт прибавка и, наверное, глюк с реальным увеличением. Мне кажется, что без разницы - учитывать или не учитывать уровень умения. Можно протестировать с разным уровнем и посмотреть, прибавка работает так же или как-то иначе. Если второй вариант, то, как Вы уже верно подметили, проще будет эксперт установить по дефолту.
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Kirinyale
+ + +
Kirinyale

HoMM V: Рыцарь
HoMM IV: Рыцарь
HoMM III: Граф (7)
HoMM II: Граф (4)
Сообщения: 5442
Откуда: Украина

Цитировать ссылка Добавлено: 2.08.2007 20:53
Уже потестировал, на разных уровнях интеллекта работает по-разному, и вникать во все тонкости как-то напрягает. Есть подозрение, что дело в работе игры со значениями с плавающей запятой, но при попытке использовать такие переменные в ERM получил вообще нечто странное... Так что пока остановлюсь на стартовом эксперте.
Kirinyale
Особый статус:
Рыцарь Круглого Стола 1 созываРыцарь Круглого Стола 2 созываРыцарь Круглого Стола 3 созыва
Журналист Земель Героев 2005 годаЦензор КартХудожник-Лунный (HoMM-III)
Дуэлянт года 2011Бывший магистрВрата сгоревших надежд
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 27.08.2007 11:33
Нужна помощь по такому вопросу: Записываются ли значения ненулевых переменных всех типов в файл сохранения? Единственное, что мне удалось установит точно, что инструкции и триггер !?PI; при загрузке сохранённых игр НЕ выполняются.
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр Kirinyale
+ + +
Kirinyale

HoMM V: Рыцарь
HoMM IV: Рыцарь
HoMM III: Граф (7)
HoMM II: Граф (4)
Сообщения: 5442
Откуда: Украина

Цитировать ссылка Добавлено: 27.08.2007 22:54
Насколько я знаю (и насколько показывает весь мой опыт), в сейв записываются все переменные, кроме локальных (что и понятно - посреди триггера или функции сохраниться нельзя, а после их завершения локальные всё равно потеряются).

Инструкции и пост-инструкции выполняются только один раз, в самом начале игры. Для того, чтобы поймать момент сохранения/загрузки игры, в WoG 3.58 были введены специальные триггеры: !?GM0 - сразу после загрузки, !?GM1 - сразу перед сохранением (включая автосейв).
Kirinyale
Особый статус:
Рыцарь Круглого Стола 1 созываРыцарь Круглого Стола 2 созываРыцарь Круглого Стола 3 созыва
Журналист Земель Героев 2005 годаЦензор КартХудожник-Лунный (HoMM-III)
Дуэлянт года 2011Бывший магистрВрата сгоревших надежд
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 28.08.2007 20:14
Спасибо. Вообщем-то я так и думал... Только вот из головы дурной вылетели сведения о локальных и глобальных переменных...
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр smolarek

Сообщения: 2
Откуда: Россия

Цитировать ссылка Добавлено: 2.09.2007 16:40
Здравствуйте всем. Не могли бы вы мне, ламеру, помочь?
около полгода назад я уже успешно писал ЕРМ-карту, но вот как-то форматнул диск, и они исчезли.
теперь вот бьюсь, бьюсь и не могу вспомнить, как же я активировал ети скрипты.

значит, пишу я вот такой скрипт
ZVSE
!?LE14/32/1;
!!UN:O12/33/1;
вроде бы при посещении события должен убираться с карты объект (если быть точным, бревно :-) герой наступает на событие, кажет сообщение, но удаление не происходит. Я уж замучился. Может дело во флагах и инструкциях? какая инструкция должна случиться при загрузке карты?
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 2.09.2007 19:14
Я скопировал скрипт и вставил в тест-карту. Изменил координаты на свои и вместо бревна взял камень. Не знаю почему, но у меня всё работает. Синтаксис скрипта верный - иначе бы при загрузке возникала ошибка. Делаем вывод, что проблема кроется в Ваших координатах события или бревна. Возможно, перепутан уровень карты (3-я координата). Тогда необходимо поменять 1 на 0 в конце этих строк. Возможно неверно набраны сами координаты (первая координата находиться вверху окна редактирования, вторая - слева).
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр smolarek

Сообщения: 2
Откуда: Россия

Цитировать ссылка Добавлено: 2.09.2007 23:03
Сэр mefisto, 2.09.2007 20:14
Я скопировал скрипт и вставил в тест-карту. Изменил координаты на свои и вместо бревна взял камень. Не знаю почему, но у меня всё работает. Синтаксис скрипта верный - иначе бы при загрузке возникала ошибка. Делаем вывод, что проблема кроется в Ваших координатах события или бревна. Возможно, перепутан уровень карты (3-я координата). Тогда необходимо поменять 1 на 0 в конце этих строк. Возможно неверно набраны сами координаты (первая координата находиться вверху окна редактирования, вторая - слева).


Действительно, Вы правы!!! Позор на мою голову - я перепутал координаты Х и У!!! Спасибо!!!
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр FlashBack
FlashBack

HoMM III: Безземельный
Сообщения: 40
Откуда: Россия

Цитировать ссылка Добавлено: 10.09.2007 18:26
К столику картостроителей подошел небольшого роста(приблизительно 185 сантиметров) Король Минотавров, который всегда обладал положительной моралью и очень любил метеоритный дождь, когда обрушается на нерадивых противников, и спросил:
- Сэр Mefisto, не могли бы Вы поведать тайну:

"Какой надо написать скрипт, чтобы при наподении моего Героя Чернокнижника Демеера на врага, обрушивался метиоритный дождь в начале боя на каждого вражеского юнита?"
FlashBack
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 11.09.2007 20:54
Сэр FlashBack, 10.09.2007 19:26
К столику картостроителей подошел небольшого роста(приблизительно 185 сантиметров) Король Минотавров, который всегда обладал положительной моралью и очень любил метеоритный дождь, когда обрушается на нерадивых противников, и спросил:
- Сэр Mefisto, не могли бы Вы поведать тайну:

"Какой надо написать скрипт, чтобы при наподении моего Героя Чернокнижника Демеера на врага, обрушивался метиоритный дождь в начале боя на каждого вражеского юнита?"


Такой скрипт сделать возможно, но он будет достаточно сложным. Если есть карта, где нужно его применить, присылайте её мне по почте и я постараюсь сделать как можно быстрее.
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр FlashBack
FlashBack

HoMM III: Безземельный
Сообщения: 40
Откуда: Россия

Цитировать ссылка Добавлено: 14.09.2007 17:40
Спасибо, как нарисую, так и пришлю.
FlashBack
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр GreenDrekon

HoMM III: Безземельный
Сообщения: 27
Откуда: Украина

Цитировать ссылка Добавлено: 20.09.2007 06:43
Как заставить артефакт 170 приносить грифонов:
- 5 штук в неделю, если у героя нет навыка "орлиный глаз"
- 7 штук в неделю, если у героя есть навык "базовый орлиный глаз".
- 10 штук в неделю, если у героя есть навык "продвиутый орлиный глаз".
- 14 штук в неделю, если у героя есть навык "эксперт орлиный глаз".
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 20.09.2007 14:06
ZVSE
!#TM4:S1/999/7/255;

!?AE0&v998=170;
!!VRv1200:S0;

!?AE1&v998=170;
!!VRv1200:S1;

!?TM4&v1200=1;
!!HE-1:A2/170/d/?v1;
!!HE-1:S11/?v2; *определить уровень навыка 0-нет...3-эксперт
!!FU&v1=0:E; *если у текущего героя не надет артефакт 170, то выйти из триггера
!!VRv3&v2=0:S5;
!!VRv3&v2=1:S7;
!!VRv3&v2=2:S10;
!!VRv3&v2=3:S14;
!!VRv780:S0;
!!DO2400/0/6/1:P4/v3; *добавить отряд типа 4(грифон) в количестве v3
!!IF&v780=1:Q1/21/4/1^В ваших рядах пополнение!^;

!?FU2400&v780=0;
!!HE-1:C0/x16/?y1/?y2;
!!VRy2&x1=y1:+x2;
!!HE-1&x1=y1:C0/x16/d/y2;
!!VRv780&x1=y1:S1;
!!HE-1&y2=0:C0/x16/x1/x2;
!!VRv780&y2=0:S1;

Попробуйте этот скрипт. Надеюсь, что он правильный.
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр GreenDrekon

HoMM III: Безземельный
Сообщения: 27
Откуда: Украина

Цитировать ссылка Добавлено: 20.09.2007 15:09
не роботает :-(
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 20.09.2007 21:54
Тест показал, что скрипт работает верно. Я установил герою навык "орлиный глаз" продвинутого уровня. Каждый n день (я использовал 2 - так быстрее), к отряду прибавлялись грифоны (10). Вы пишите подробнее: какой у вас герой, состояние его армии и т.д. Возможно, он не получает грифонов только потому, что в армии нет для них места.
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр GreenDrekon

HoMM III: Безземельный
Сообщения: 27
Откуда: Украина

Цитировать ссылка Добавлено: 23.09.2007 08:09
Спасибо, я нашел свою ошибку. Всё работает.
Ещё пара маленьких вопросиков:
1) как отключить все настройки WoG, включив только настройки, касающиеся Мифрила(мифрил, изумрудная башня, улучшение городов, жилищ, хижин провидца, верфей и т.д.)?
2)
Надо завести переменную(например y37). В начале каждой недели, если количество мифрила больше 0, задаётся вопрос с вариантами Да/Нет. Если нажать да, то количество мифрила уменьшиться на 1, а значение переменной y37 увеличиться на 1.

Если значение переменной y37 больше 0, то при нажатии нажатии правой кнопки мыши по объектам типа 137 задавался вопрос с вариантами Да/Нет. Если нажать да, то значение переменной y37 уменьшится на 1, а объект, по которому была нажата правая кнопка исчезнет.
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 23.09.2007 20:37
1) Просто где-нибудь в коде написать: !#UN:P5/0; Это отключит WoGoфикацию (уберёт сообщение при загрузке карты с предложением WoGофицировать). Чтобы включить мифрил, этой же командой нужно установить номера скриптов в WoGофикации: 36, 149, 170, 171, т.е.:

!#UN:P36/1 P149/1 P170/1 P171/1; (тут не известно одно: что включает скрипт (0 или 1), по этому нужно пробовать уже на карте).

2),3)
ZVSE
!#VRv4000:S0; *я имею право использовать переменные с номером >1000, т.к. отключена WoGoфикация и конфликтов не будет
!#TM80:S1/999/7/255;
!#MCv983:S@type@; *обзываем переменную v983 красивым именем type

!?TM80;
!!UN:P36/?v1;
!!UN:P149/?v2;
!!UN:P170/?v3;
!!UN:P171/?v4;
!!FU&v1=0/v2=0/v3=0/v4=0:E; *выйти, если мифрил не был подключен к карте
!!OW:R-1/7/?i;
!!IF&i>0:Q3^Вопрос:^;
!!VRv4000&3:+1;
!!OW&3:R-1/7/d-1;

!?CM0&v4000>0;
!!CM:P?x1/?x2/?y1;
!!OBx1/x2/y1:T?$type$; *узнать тип объекта по клику на карте
!!FU&$type$неравно137:E; *Выйти, если был клик по другому объекту, не по 137.
!!IF:Q4^Вопрос об уничтожении^;
!!VRv4000&4:-1;
!!UN:Ox1/x2/y1; *удалить объект
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр GreenDrekon

HoMM III: Безземельный
Сообщения: 27
Откуда: Украина

Цитировать ссылка Добавлено: 24.09.2007 20:17
Выдаёт букет ошибок :-(
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 24.09.2007 21:29
1) Читайте внимательно скрипт. Ошибка произошла из-за того, что Вы поленились заменить слово "неравно" на соответствующие значки "больше-меньше".

2) Скрипт работать не будет, если не проводить WoGoфикацию. Дело в том, что если в ручную включать опции 36/149/170/171 и отключать опцию 5 (вогофикация), то после загрузки карты автоматом вырубаются все подключаемые скрипты.
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр FlashBack
FlashBack

HoMM III: Безземельный
Сообщения: 40
Откуда: Россия

Цитировать ссылка Добавлено: 27.09.2007 15:15
У меня еще вопрос вопрос, но уже на существующем примере:
У меня один могущественный лич с координатами 5/10/0. Мне надо, чтобы когда я на него нападу, у него изменились параметры урона, защиты, нападения, скорости и главное, чтобы он атакавал безответно, вокруг, стрелял без штрафа. Еще чтобы если у моего героя были могущественные личи, они не должны менять свои параметры, а если это не возможно, то пусть тогда они превратяться до боя в снайперов, а после ими же и останутся. Случая повторного нападения на лича не будет, так как это компания и героя терять нельзся.
FlashBack
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 27.09.2007 18:22
Я не шибко силён в бонусах для стека в бою, и даже не знаю, как их делать, так что придётся в армии героя менять личей на снайперов.
ZVSE

!?BA0;*триггер, срабатывающий непосредственно перед битвой
!!BA:P?v1/?v2/?v3; *координаты битвы
!!FU&v1неравно5/v2неравно10/v3неравно0:E; *выйти, если будет битва не с нужным отрядом в точке 5/10/0 ("неравно" заменить на соответствующие значки)
*Увеличить базовые параметры очень легко:
!!MA:A65/d+6; *атака +6
!!MA:D65/d+4; *защита +4
!!MA:S65/d+2; *скорость +2
!!MA:M65/d+3; *минимальный урон +3
!!MA:E65/d+4; *максимальный урон +4
*теперь надо повозиться с флагами. За особые "навыки", вроде атаки всех вокруг, без ответа, или двойной выстрел, отвечает специальный флаг
*для начала узнаем его текущее значение:
!!MA:X65/?i; *записать битовый флаг в переменную
*теперь к этому значению прибавим значения тех флагов которые нам нужны
!!VRi:+4096+32768+65536+524288+1048576;
*где:
*4096 - нет штрафа при рукопашной
*32768 - стрелять дважды
*65536 - враг не отвечает
*524288 - атаковать всех вокруг
*1048576 - улучшеный радиус поражения для стрелков
*можно убрать ненужные параметры, удалив из соответсвующей строки это число
!!MA:X65/i; *устанавливаем новый флаг

!!DO2300/0/6/1:P65/137; *меняем всех личей в армии героя на снайперов

!?FU2300;
!!HE-1:C0/x16/?y1/d;
!!HE-1&y1=x1:C0/x16/x2/d;*меняем тип монстра 65 на 137


Вот, вроде как, и всё. Осталось только не забыть поменять "неравно" на знаки "меньше-больше", удалить, если нужно, комментарии; запустить и посмотреть, что получилось.
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр GreenDrekon

HoMM III: Безземельный
Сообщения: 27
Откуда: Украина

Цитировать ссылка Добавлено: 10.10.2007 06:06
А как поселить в городе других существ? Как сделать так, чтобы одни существа могли улутшаться в других?
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр FlashBack
FlashBack

HoMM III: Безземельный
Сообщения: 40
Откуда: Россия

Цитировать ссылка Добавлено: 16.10.2007 17:32
Спасибо сэр mefisto, Вам цены нет. Странно почему у Вас нет до сих пор феодов wow ? Сначала скрипт не работал - когда я на них нападал у них небыло количества, и бой автоматически оканчивался с моей победой. Потом я что-то исправил и все стало на свои места, но почему-то личи после своей смерти умирали как клоны, т.е. падали на землю и исчезали, а опыт за бой не дают, но это мне как раз и нравится :). Спасибо.
Сэр GreenDrekon, 10.10.2007 07:06
А как поселить в городе других существ? Как сделать так, чтобы одни существа могли улутшаться в других?

Это вобще легко, только что Вы подразумеваете под "одни существа могли улутшаться в других"? Везде или в армии определенного героя?
FlashBack
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр GreenDrekon

HoMM III: Безземельный
Сообщения: 27
Откуда: Украина

Цитировать ссылка Добавлено: 18.10.2007 20:17
Я уже сам разобрался.
Как заменить 25% объектов типа 49/0 на объекты типа 49/2?
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 19.10.2007 21:24
Сэр FlashBack, 16.10.2007 18:32
Спасибо сэр mefisto, Вам цены нет. Странно почему у Вас нет до сих пор феодов wow ?


Мдя... Действительно, почему это?biglol

Сэр FlashBack, 16.10.2007 18:32
Это вобще легко, только что Вы подразумеваете под "одни существа могли улутшаться в других"? Везде или в армии определенного героя?


Просто через !!MA можно настроить в кого будет улучшатся данный монстр. В замках всё будет по-прежнему: например, зелёный дракон и золотой дракон. Однако, при установке улучшения зелёный дракон -> горыныч, он больше не сможет превратиться в золотого. Улучшить же его можно в специальном строении, или герой может улучшить его прямо в армии, если он обладает особой специальностью.

Сэр GreenDrekon, 18.10.2007 21:17
Как заменить 25% объектов типа 49/0 на объекты типа 49/2?


Можно но сложно. Сперва попробуйте поменять просто один объект 49/0 на 49/2. У Вас ничего не выйдет, просто заменяя его тип. Придется сначала удалить первый объект, а затем поставить второй. Допустим, что мы знаем координаты первого объекта (удаление возможно, используя координаты любой клетки, занимаемой объектом, будь-то красная или жёлтая). Удаляем его:

!!UN:Ox/y/l; - произошло удаление.

Теперь нужно поставить новый объект в ту же позицию. Тут, как говориться, 2 варианта:
1 - объект занимает 1 клетку на карте, поэтому x=x1,y=y1,l=l1, где x1,y1,l1 - координаты установки объекта.
2 - если объект занимает несколько клеток, то нужно проверить (экспериментально), по какому принципу интерпретатор ставит его на карту. Например, по левой верхней клетке. Если оба объекта занимаю равное количество клеток, то всё равно x=x1,y=y1,z=z1, только нужно правильно выбрать точку удаления (в моём случае это левая верхняя). Если размеры не совпадают, тогда нужно ввести простые коэффициенты для перевода (сдвиг по координатам):x1=x+a, y1=y+b, l1=l+c, где a,b,c - постоянные.

!!UN:Ix1/y1/l1/49/2; - поставили объект 49/2.

Если всё вышеизложенное проделано, то можно переходить к самой сложной части скрипта.

В ERM есть функция калькулирования количества объектов данного типа и подтипа. Допустим, что на карте их ровно 100. Тогда нам нужно 25 из них удалить, и вместо них поставить 25 объектов второго типа. Эти две вещи делаются, конечно, не по отдельности.

!!UN:U49/0/?i; - записали в переменную i количество объектов 49/0 (общий случай, когда не известно, сколько таких объектов на карте. У меня эта цифра равна 100).

!!UN:U49/0/i/#; - координаты текущего объекта записываются, соответственно, в v[#]=x, v[#+1]=y, v[#+2]=l. Например, #=5, тогда координаты будут записаны в v5,v6 и v7. i должно пробегать все значения от 1 до общего числа таких объектов.

Теперь мат часть. Нам необходимо удалить 25% объектов. Причём будем считать, что удалять будем ПРОИЗВОЛЬНЫЕ объекты, используя вероятность "замены". Т.е., взяв конкретный объект, у него шанс быть удалённым - 25%, шанс пропуска - 75% соответственно. Если я не ошибаюсь, то из 100 таких объектов, при таком подходе, останется 75, что нам собственно говоря и надо. Просчёт вероятности осуществляется с помощью произвольных значений какой-либо переменной:

!!VRv3:S1 T100; - присвоили переменной v3 "рэндомное" значение, находящееся в промежутке от 1 до 100 включая оба конца.

Вероятность нахождения полученного таким образом числа в промежутке от 1 до 25 как раз равна 25% (это условно, так как не известен алгоритм выбора произвольного числа из этого промежутка, но будем считать, что это 25%). Она нам и нужна:

!!UN&v3}=1/v3{=25:Ox/y/l; - если выпал шанс "замены", то удалить объект...
!!UN&v3}=1/v3{=25:Ix/y/l/49/2; -...и поставить новый

Остальное - дело техники. Узнав количество объектов (переменная i), можно пробежаться по каждому из них с помощью цикла и "кидать монетку", определяя дальнейшие действия.

Данный код, нужно разместить в том месте (триггере), где это необходимо:

!!UN:U49/0/?i;
!!DO7/1/i/1:P; - запуск функции 7 в цикле

Этот код можно разместить где угодно под ZVSE:

!?FU7;
!!VRv3:S1 T100; - для каждого нового i (~x16 в этой функции) считать заново вероятность (шанс)
!!UN:U49/0/x16/4; - запись координат
!!UN&v3}=1/v3{=25:Ov4/v5/v6;
!!UN&v3}=1/v3{=25:Iv4/v5/v6/49/2; - учитывая то обстоятельство, что размеры объектов одинаковы, иначе - привить константами v4,v5 и v6 сразу после удаления первого объекта и перед установкой нового.

Теоретически скрипт должен работать. Теперь, к чему я развернул подробный ответ, скажу следующее. Всё, что написано выше, уважаемые картогрфы, Вы должны делать САМОСТОЯТЕЛЬНО. Разберите по пунктам, продумайте алгоритм и задавайте вопросы именно по этим пунктам. Мне сложно постоянно ломать пальцы и голову над очередной задачей, и пусть даже она будет не такой уж и сложной, всё равно приходиться как-то правильно передавать свои знания.

Если данный скрипт не работает вообще, или работает но не правильно, то подробное описание ошибки сюда.

P.S. предполагалось, что всё написанное, было написано НЕ ЗРЯ
P.P.S. ВНИМАНИЕ!!! в скрипте вместо знака "больше" использован знак "}", а вместо "меньше" - "{". Заменить на нужные обозначения, при использовании!!!
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр FlashBack
FlashBack

HoMM III: Безземельный
Сообщения: 40
Откуда: Россия

Цитировать ссылка Добавлено: 22.10.2007 16:18
Не благодарное дело объекты на карте менять, однажды, когда моя сестра играла в Героев 3.5 с вогификацией, какой-то объект находящийся рядом с единственным проходом к врагу был заменен на лагерь беженцев, в итоге карта стла не играбельна, и чтобы завершить игру пришлось набрать код на все заклинания и воспользоваться полетом abuse.
FlashBack
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр mefisto
mefisto

HoMM V: Рыцарь
HoMM III: Рыцарь
Сообщения: 430
Откуда: Россия

Цитировать ссылка Добавлено: 22.10.2007 16:56
Если карта делалась специально под WoG, то её автору следовало бы указать те скрипты wogофикации, которые нужно отключить. Или просто отключить wogофикацию командой !#UN:P5/0;.
mefisto
Особый статус:
Автор самой красивой карты размера НММ4 L (2006)
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр wquolz

Сообщения: 4
Откуда: Россия

Цитировать ссылка Добавлено: 7.11.2007 09:18
Помогите пожалуйста разобрать с такой ситуацией. Есть два героя союзника (допустим, синий и красный). Красным играет человек, синим - компьютер. Красный выполняет какое-то задание (может убивает зеленого героя) и синий игрок становится красным. Но не все синие герои, а только конкретный. Если это возможно, то как?
Анкета История героя ЛС E-mail
В форму ответа Наверх
Сэр FlashBack
FlashBack

HoMM III: Безземельный
Сообщения: 40
Откуда: Россия

Цитировать ссылка Добавлено: 11.01.2008 17:50
Сэр mefiso, а почему бы вам не сделать какой-нибудь FAQ по ерм-скриптам, с интересными частыми вопросами, можно былобы и оболочку для базы данных написать, хотя в этом я не шурупю, но если кто-нибудь знает VB(я не знаю), то на сайте (это не реклама) www.eggsheaven.ho.com.ua/, можно скачать исходник старой версии программы, и переделать ее. Хотя народ здесь не благодарный, и еслибы я мог написать это, то не зделал бы, хоть за 10000000000000@, хотя, почему, за 10000000000000@ сделал бы, ведь это аж 10000000000 $ :), только выменивал бы я это 1000000 месяцев, т.е. 2739 лет :) , героев 3.59 раньше выпустят :)
FlashBack
Анкета История героя ЛС E-mail
В форму ответа Наверх
Перейти к столику:
Страницы: на первую | пред | << | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | >> | след | на последнюю

Важное сообщение

Ответить

Таверна | Столик Картостроителей