Добавлен Nekron
Здравствуйте! Всех с Новым годом!
Мне необходимо сделать систему развоза боеприпасов из хранилища (склад) к воинам, у которых боеприпасы имеют свойство кончаться, на грузовиках. При этом у грузовиков должна быть способность авто развоза (можно отключить, включить или приказать отвезти боеприпасы вручную), т.е. грузовик сам подъедет к хранилищу боеприпасов, загрузит их и отвезет воину, а тот сам их возьмет (или грузовик отдаст). Собственно, как это сделать?
+несколько пояснительных моментов:
+несколько пояснительных моментов:
- воины перемещаются
- при смерти грузовика все боеприпасы утратятся навсегда
- грузовиков по карте ездят столько, сколько сделает игрок
- грузовик едет к "самому нуждающемуся" + снабжает всех в определенной области вокруг этого нуждающегося
- если грузовик застрянет или еще что-то, то воин не получит боеприпасы
- грузовик отправляется, когда полностью заполнен или в хранилище кончаются боеприпасы (что быстрее произойдёт)
- когда у грузовика кончаются боеприпасы, то он едет на новую загрузку
- если грузовик не разгрузится за "ходку", то грузовик повторит пункт 4
Надеюсь все понятно объяснил.
Принятый ответ
Подводя итоги:
На основе способности медэвака создал способность передачи энергии от одного юнита к другому, добавил валидатор на авто применение, чтобы заклинатель (тот кто отдает) и цель способности не были грузовиками, которые развозят боеприпасы, иначе они вставали друг перед другом и начинали качать энергию между сабой вечно. Так же дал эту способность своему складу. (один выстрел тратит 1 ед. энергии)
Дальше дал грузовикам флажок рабочий, в итоге игрок видит, когда у него простаивает грузовик без дела (как рабочий).
На основе способности медэвака создал способность передачи энергии от одного юнита к другому, добавил валидатор на авто применение, чтобы заклинатель (тот кто отдает) и цель способности не были грузовиками, которые развозят боеприпасы, иначе они вставали друг перед другом и начинали качать энергию между сабой вечно. Так же дал эту способность своему складу. (один выстрел тратит 1 ед. энергии)
Дальше дал грузовикам флажок рабочий, в итоге игрок видит, когда у него простаивает грузовик без дела (как рабочий).
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован prog
Объяснил понятно, но где вопрос? xD
Реально ли это сделать? Да, реально.
Способов добиться нужного результата несколько, лично я предпочитаю гибридный, с минимумом триггеров и максимумом в редакторе данных, но без излишеств - перебор и сортировку целей можно и в данных реализовать, но заморочливо и если криво сделать, то дорого по производительности.
Если правильно помню, то я забивал в группу (по группе на игрока) все цели, у которых был соответствующий бехевиор (причем это был отдельный бехевиор, не делающий ничего, кроме как помечать юнита для триггеров) и, естественно, убирал из группы при смерти или получении статусов, несовместимых с пополнением ресурсов (при потере таких статусов, естественно, возвращал в группу). Потом делал выборку по группе для подбора подходящей цели и вешал на эту цель и грузовик по бехевиору, которые образовывали связь между грузовиком и его целью, а также гнали грузовик к цели (вешал триггерно запуская соответствующий эффект от имени грузовика, который и вешал оба бехевиора). Еще я тогда по извращался и приспособил для подсчета патронов систему ангара (как для интерцепторов), но раздающие использовали энергию вместо этой системы, уже не помню почему, то ли лень было, то ли еще что (а еще один юнит использовал патроны для пополнения своей энергии и уже энергию для атаки). Ну а раздача патронов у меня была реализована аналогично любым другим аурам (по оптимизированному способу), разве что вместо чистого эффекта на такт использовалась пустышка, на которую реагировал триггер т.к. с системой ангара проблематично на тот момент из данных работать было.
А может и не так все - давно это было, очень давно.
Отредактирован Nekron
Так, я немого поэкспериментировал, в итоге на основе способности медэвака на хилл, создал то же самое, но вместо здоровья восполнял энергию. Вопросы на основе полученной информации:
Отредактирован prog
Я собирал конструкцию, которая обходила все подходящие цели в радиусе, вешала на них баф, который держался чуть больше секунды и возобновлялся если носитель бафа в нужном радиусе от раздающего. Кроме того, этот баф каждую секунду вызывал запуск эффекта от имени раздающего, который тратил энергию у раздающего и пополнял энергию цели (или запускал триггер для работы с патронами в ангаре).
А если точнее, то у меня была полу-триггерная система аур, которая работала с любыми эффектами, главное было создать основу в данных и указать все связи в пользовательской таблице. И, соответственно, я абузил эту систему везде, где она подходила под мои задачи и уже не очень помню как она работала внутри.
prog, ты случаем не знаешь, как создать еще один базовый показатель или это что-то еще свое создавать надо?
Отредактирован Nekron
Отредактирован Nekron
Кстати, методом "научного тыка" я решил следующие вопросы: И нашел один новый: как выставить оружию сектор атаки, то есть оружие будет атаковать только перед юнитом в определенном секторе (+-30 градусов от направления куда повернут юнит), при этом юнит не должен поворачиваться сам (тобишь я могу развернуть его в редакторе в нужную мне сторону).
Отредактирован prog
Nekron:
На основе способности медэвака создал способность передачи энергии от одного юнита к другому, добавил валидатор на авто применение, чтобы заклинатель (тот кто отдает) и цель способности не были грузовиками, которые развозят боеприпасы, иначе они вставали друг перед другом и начинали качать энергию между сабой вечно. Так же дал эту способность своему складу. (один выстрел тратит 1 ед. энергии)
Дальше дал грузовикам флажок рабочий, в итоге игрок видит, когда у него простаивает грузовик без дела (как рабочий).