Если это кому-то ещё интересно - я нашёл простое решение. Условие - юнит не умеет сражаться в ближнем бою и может атаковать исключительно при наличии стрел. Полагаю изначальный вопрос именно это подразумевал.
-Нужно дать юниту способность предметы(герой). Установить в РО юниту: Бой-атака1-допустимые цели-Нет.
-Н настроить все нужные данные во второй атаке. Не забыв указать тип атаки и тип оружия.
-Стрелы сделать на основе предмета огненного шара (и иже с ним).
-Взять какую-нибудь наработку для стака предметов. Чтобы подбирая стрелы они складывались в инве у юнита в одну ячейку.
-Использовать триггер, для того, чтобы стрелы расходовались:
События:
-Unit Атакован.
Условия:
-Unit-Type of Atacking Unit равно <нужный тип войск(лучники)> Через Or можно ввести несколько типов юнитов
Действия:
-Предмет - Set charges remaining in (Item carried by (attacking unit) of type <наши стрелы>) - выбираем arithmetic, выбираем в нём то же - Set charges remain... ставим знак минус и выбираем 1. в спиcке чарджз ремеининга выбрать Item carried by Hero of Type назначить вместо героя тип атакующего юнита и указать тип артефакта. Теперь нужно сделать, чтобы стрелы, после того, как кончатся, однозначно исчезли из инвентаря боевой единицы.
-If/then/else
указать условие integer compasion set charges... (всё точно как в предыдущем действии) меньше 1
то
-Предмет - remove (Item cerried By (Attacking unit) of type <стрелы>)
иначе Do nothing
Насчёт ОРПГ - это почти однозначно. Хотя совсем без новшеств нельзя, иначе будет уже работа под копирку (как в отечественной эстраде).
Но если бы речь шла об одиночной игре - то мы закрываем статью так же быстро, как открывали :)
человек-кувшин был на упаковке со сметаной :)
Статья помогла понять, что я двигаюсь в правильном направлении относительно фич и задумок, думаю многие ощутили такой эффект :)
Ancient, нынче и меня заинтересовал вопрос - как же заставить юнита расходовать стрелы. Подобный триггер пришёл мне в голову, как описал Sergant1000, но триггер довольно-таки неполноценен.
Ага! Это же то, что нужно) Теперь этот скрипт надо интегрировать в 50 прописанных абил :-D
Самое обидное, что вся система описанная мной в верхнем посте уже была исполнена и работала... Но, думаю, стоит переделать, потому что можно удалить аж четыре лишних триггера! :)
Статья хороша, хоть и немного банальна. Впрочем благодаря ей я решил перенести свой сюжет из головы на бумагу.
Ещё хочется добавить, что линии сюжета можно ветвить! Представьте, как здорово, когда игрок имеет непосредственное воздействие на сюжет, а его выбор влечёт за собой различные последствия. Например, героя отправили внедриться ко врагу, и там уже решать - выведать планы врага и вернуться, чтобы победить этого врага, или перейти на его сторону и помочь уничтожить бывших союзников. И уже автор сюжета решает, каковы будут последствия, если герой играл за злых, то их действия приведут к какой-нибудь большой беде, на которую появится новый квест, который придётся разруливать герою. А если за добрых, то будет эпическая битва с боссом злодеев...
Вот такой абсолютно прозрачный пример создания нелинейности сюжетной линии, если всё хорошо проработать, то в игру захочется играть снова и снова, чтобы попытаться открыть все повороты, посмотреть все концовки и тд и тп :) я, например, обожаю такие вещи в РПГ, жаль что подобных игр так мало...
Jusper, спасибо за мысль, поэкспериментирую над этим.
Стоп.. "после функции добавления способности" то есть перед скриптом всё равно нужно добавить способность? Тогда я не совсем понимаю смысл данной манипуляции.
xDanteZx, может я совсем дурак, или просто плохо искал, но мне так и не удалось найти условия, которое бы заставило триггер воздействовать на цели попавшие под эффект волны.
Sergant1000, так урон наносить не нужно - вот в чём штука. Например: представь способность: Волна разочарования - все, кто попал в область воздействия - засыпают. Или FusRoDah - все кто попал под волну сносятся на десяток метров назад.
Как снести персонажа, положим, я бы смог придумать. А вот как определить, кто попал под эффект волны...
Разве что создать региончик небольшой, двигать его по направлению к указанной точке, а там уже проверять, если в регионе кто-то оказался, то с ним случается конфуз.)
Sergant1000, ты прав, конечно. Это ж более 50 изучаемых абилок персонажа, и ещё неизвестно сколько абилок предметов. Просто ряд переменных, чтобы не запутаться, какие абилки куда определены и какими функциями вызываются. Систематизация)) Может это как-то замедляет процесс загрузки, зато помогает не заблудиться в триггерах)
А если нужно создать способность на основе, например, тёмной стаи, или волны силы, чтобы если юнит попадает под волну, то на него навешивается определенный эффект(Бафф)?
Jusper, если есть какой-нибудь замечательный cs, который мне поможет - я буду только рад) God_of_light, да, идею с триггером по применению и окончанию применения я тоже думал, но не заладилось у меня с реализацией...
А вообще я создал этакий триггер - реестр добавляемых способностей, присвоив каждой номер из массива абил. И логическую, которая определяет давать или нет персонажу ту или иную абилку. И при любых изменениях отсылаю к циклу, проверяющему все значения этой логической. Вроде как и собственная наработка, но я видел как тут на сайте на джаззе было выполнено примерно то же, но чище, быстрее и лучше, но разобраться не смог)) Поэтому в ГУИ и изощряюсь наколдовывать столбы массивов переменных.
God_of_light, благодарю) Ох и гемморно это будет в моём случае) God_of_light, любопытно, что это срабатывает, только если после морфа поставить wait хотя бы долю секунды. Это, конечно, не критично, но на панели способностей в этот момент происходит краткое мелькание добавленных абил..
При проверке подбирания стрел получается наложение триггера снимания/одевания лука и триггера с подбиранием и заменой стрел. В момент убирания лука из дамми-инвентаря срабатывает триггер, заменяющий боевые стрелы муляжными и одновременно срабатывает триггер подбирания муляжных стрел юнитом (так как создание стрел в инвентаре является событием "юнит получил предмет"), при этом условие, что лук всё ещё находится у дамми-инвентаря почему-то сохраняется. Проблем бы не было, если бы сначала условие изменилось, а потом подействовал бы триггер подбирания стрел.
Handragor, сделай триггер, распространяющийся на всех юнитов данного типа, который при условии, что ресурсов достаточно (требуемые ресурсы можно вписать в описание обилки), будет: триггерный юнит удалён из игры, на позиции триггерного юнита будет создан новый, необходимый юнит с цветом команды данного юнита и углом поворота данного юнита.
Diaboliko, Jusper, Кстати, есть какие то адекватные причины тому, что импортированные из одной карты модели совершенно не хотят отображаться в другой карте?
» WarCraft 3 / Пошаговый бой
» WarCraft 3 / Система Боеприпасов
-Н настроить все нужные данные во второй атаке. Не забыв указать тип атаки и тип оружия.
-Стрелы сделать на основе предмета огненного шара (и иже с ним).
-Взять какую-нибудь наработку для стака предметов. Чтобы подбирая стрелы они складывались в инве у юнита в одну ячейку.
-Использовать триггер, для того, чтобы стрелы расходовались:
-Unit Атакован.
Условия:
-Unit-Type of Atacking Unit равно <нужный тип войск(лучники)> Через Or можно ввести несколько типов юнитов
Действия:
-Предмет - Set charges remaining in (Item carried by (attacking unit) of type <наши стрелы>) - выбираем arithmetic, выбираем в нём то же - Set charges remain... ставим знак минус и выбираем 1.
в спиcке чарджз ремеининга выбрать Item carried by Hero of Type назначить вместо героя тип атакующего юнита и указать тип артефакта.
Теперь нужно сделать, чтобы стрелы, после того, как кончатся, однозначно исчезли из инвентаря боевой единицы.
-If/then/else
указать условие integer compasion set charges... (всё точно как в предыдущем действии) меньше 1
то
-Предмет - remove (Item cerried By (Attacking unit) of type <стрелы>)
иначе Do nothing
» WarCraft 3 / RPG House system
» WarCraft 3 / Постулаты создания грамотных ORPG карт: олдскул
Но если бы речь шла об одиночной игре - то мы закрываем статью так же быстро, как открывали :)
» WarCraft 3 / Творческое воображение: приемы и методы
Статья помогла понять, что я двигаюсь в правильном направлении относительно фич и задумок, думаю многие ощутили такой эффект :)
» WarCraft 3 / Система Боеприпасов
» WarCraft 3 / Система Боеприпасов
Ред. MrSlap
» WarCraft 3 / База примеров на GUI
Самое обидное, что вся система описанная мной в верхнем посте уже была исполнена и работала... Но, думаю, стоит переделать, потому что можно удалить аж четыре лишних триггера! :)
» WarCraft 3 / Написание сюжета для РПГ
Ещё хочется добавить, что линии сюжета можно ветвить! Представьте, как здорово, когда игрок имеет непосредственное воздействие на сюжет, а его выбор влечёт за собой различные последствия. Например, героя отправили внедриться ко врагу, и там уже решать - выведать планы врага и вернуться, чтобы победить этого врага, или перейти на его сторону и помочь уничтожить бывших союзников. И уже автор сюжета решает, каковы будут последствия, если герой играл за злых, то их действия приведут к какой-нибудь большой беде, на которую появится новый квест, который придётся разруливать герою. А если за добрых, то будет эпическая битва с боссом злодеев...
Вот такой абсолютно прозрачный пример создания нелинейности сюжетной линии, если всё хорошо проработать, то в игру захочется играть снова и снова, чтобы попытаться открыть все повороты, посмотреть все концовки и тд и тп :) я, например, обожаю такие вещи в РПГ, жаль что подобных игр так мало...
» WarCraft 3 / База примеров на GUI
Стоп.. "после функции добавления способности" то есть перед скриптом всё равно нужно добавить способность? Тогда я не совсем понимаю смысл данной манипуляции.
» WarCraft 3 / Как сделать тригерное заклинание?
» WarCraft 3 / Как сделать тригерное заклинание?
Как снести персонажа, положим, я бы смог придумать. А вот как определить, кто попал под эффект волны...
Разве что создать региончик небольшой, двигать его по направлению к указанной точке, а там уже проверять, если в регионе кто-то оказался, то с ним случается конфуз.)
» WarCraft 3 / База примеров на GUI
» WarCraft 3 / База примеров на GUI
» WarCraft 3 / Как сделать тригерное заклинание?
» WarCraft 3 / База примеров на GUI
God_of_light, да, идею с триггером по применению и окончанию применения я тоже думал, но не заладилось у меня с реализацией...
» WarCraft 3 / База примеров на GUI
God_of_light, любопытно, что это срабатывает, только если после морфа поставить wait хотя бы долю секунды. Это, конечно, не критично, но на панели способностей в этот момент происходит краткое мелькание добавленных абил..
» WarCraft 3 / База примеров на GUI
Ред. MrSlap
» WarCraft 3 / Стрельба из лука/расход стрел
Спасибо, God_of_light :)
» WarCraft 3 / Стрельба из лука/расход стрел
» WarCraft 3 / Триггерные наработки
» WarCraft 3 / Улучшения юнитов
» WarCraft 3 / Огненная магия
Желаю каждый импорт проименовать в своей карте по всем правилам :)
» WarCraft 3 / Задержка при исчезновении аттачей
» WarCraft 3 / Задержка при исчезновении аттачей
Jusper, так я, собсно, и делал.