Система Боеприпасов

Добавлен
Пожалуйсто обьясните как реализовать следующие: Например у меня в карте есть лукари.Как сделать так чтобы каждый их выстрел потреблял 1 стрелу (предмет),а если стрел нету в инвентаре то герой не мог атаковать?

Принятый ответ

Если это кому-то ещё интересно - я нашёл простое решение. Условие - юнит не умеет сражаться в ближнем бою и может атаковать исключительно при наличии стрел. Полагаю изначальный вопрос именно это подразумевал.
-Нужно дать юниту способность предметы(герой). Установить в РО юниту: Бой-атака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
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
25
11 лет назад
0
Проверять целое число.
Если
Количество зарядов предмета "Стрелы" меньше 1, то
Отдать приказ стоп
Иначе
Ничего не делать.
Как-то так.
0
5
11 лет назад
0
А как при атаке отнимать кол-во стрел)?
0
25
11 лет назад
0
Надо делать систему отлова атаки. Это 2 трига, но лень их рассписывать.
Скажу что через событие - боевая еденица получает урон.
0
17
11 лет назад
0
а не проще
событие:
юнит атакован
условие:
атакующий юнит равно наш юнит
действие:
иф\зен\елс
если количество зарядов равно больше 1
то отнять заряд
иначе приказ стоп юнит
0
3
11 лет назад
0
Sergant1000, хоть вопрос уже староват, но замечу - что если лучник атакует деструкт, то триггер не сработает.
0
25
11 лет назад
0
MrSlap, я даже больше отмечу. Тригер будет срабатывать только 1 раз, при первой атаке на юнита. Ибо автоатака не отлавливается.
0
3
11 лет назад
0
Ancient, нынче и меня заинтересовал вопрос - как же заставить юнита расходовать стрелы. Подобный триггер пришёл мне в голову, как описал Sergant1000, но триггер довольно-таки неполноценен.
0
3
11 лет назад
0
Если это кому-то ещё интересно - я нашёл простое решение. Условие - юнит не умеет сражаться в ближнем бою и может атаковать исключительно при наличии стрел. Полагаю изначальный вопрос именно это подразумевал.
-Нужно дать юниту способность предметы(герой). Установить в РО юниту: Бой-атака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
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.