Здравствуйте! Всех с Новым годом!
Мне необходимо сделать систему развоза боеприпасов из хранилища (склад) к воинам, у которых боеприпасы имеют свойство кончаться, на грузовиках. При этом у грузовиков должна быть способность авто развоза (можно отключить, включить или приказать отвезти боеприпасы вручную), т.е. грузовик сам подъедет к хранилищу боеприпасов, загрузит их и отвезет воину, а тот сам их возьмет (или грузовик отдаст). Собственно, как это сделать?
+несколько пояснительных моментов:
  1. воины перемещаются
  2. при смерти грузовика все боеприпасы утратятся навсегда
  3. грузовиков по карте ездят столько, сколько сделает игрок
  4. грузовик едет к "самому нуждающемуся" + снабжает всех в определенной области вокруг этого нуждающегося
  5. если грузовик застрянет или еще что-то, то воин не получит боеприпасы
  6. грузовик отправляется, когда полностью заполнен или в хранилище кончаются боеприпасы (что быстрее произойдёт)
  7. когда у грузовика кончаются боеприпасы, то он едет на новую загрузку
  8. если грузовик не разгрузится за "ходку", то грузовик повторит пункт 4
Надеюсь все понятно объяснил.

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

Подводя итоги:
На основе способности медэвака создал способность передачи энергии от одного юнита к другому, добавил валидатор на авто применение, чтобы заклинатель (тот кто отдает) и цель способности не были грузовиками, которые развозят боеприпасы, иначе они вставали друг перед другом и начинали качать энергию между сабой вечно. Так же дал эту способность своему складу. (один выстрел тратит 1 ед. энергии)
Дальше дал грузовикам флажок рабочий, в итоге игрок видит, когда у него простаивает грузовик без дела (как рабочий).
0
24
7 лет назад
Отредактирован prog
0
С новым годом.
Объяснил понятно, но где вопрос? xD
Реально ли это сделать? Да, реально.
Я даже когда-то делал похожее, только без авторазвоза т.е. игрок жал кнопку "доставить" и из склада выезжал грузовик (карта, увы, не сохранилась).
Способов добиться нужного результата несколько, лично я предпочитаю гибридный, с минимумом триггеров и максимумом в редакторе данных, но без излишеств - перебор и сортировку целей можно и в данных реализовать, но заморочливо и если криво сделать, то дорого по производительности.
Если правильно помню, то я забивал в группу (по группе на игрока) все цели, у которых был соответствующий бехевиор (причем это был отдельный бехевиор, не делающий ничего, кроме как помечать юнита для триггеров) и, естественно, убирал из группы при смерти или получении статусов, несовместимых с пополнением ресурсов (при потере таких статусов, естественно, возвращал в группу). Потом делал выборку по группе для подбора подходящей цели и вешал на эту цель и грузовик по бехевиору, которые образовывали связь между грузовиком и его целью, а также гнали грузовик к цели (вешал триггерно запуская соответствующий эффект от имени грузовика, который и вешал оба бехевиора). Еще я тогда по извращался и приспособил для подсчета патронов систему ангара (как для интерцепторов), но раздающие использовали энергию вместо этой системы, уже не помню почему, то ли лень было, то ли еще что (а еще один юнит использовал патроны для пополнения своей энергии и уже энергию для атаки). Ну а раздача патронов у меня была реализована аналогично любым другим аурам (по оптимизированному способу), разве что вместо чистого эффекта на такт использовалась пустышка, на которую реагировал триггер т.к. с системой ангара проблематично на тот момент из данных работать было.
Сделает ли это кто-то за тебя? Скорее всего, нет. Напоминаю, что это раздел QA, а не раздел "заказы". В будущем буду сразу закрывать такие "вопросы", в которых нет формулировки вопроса.
А может и не так все - давно это было, очень давно.
0
9
7 лет назад
Отредактирован Nekron
0
А можно по подробнее с данными? Основу то я понял.
Так, я немого поэкспериментировал, в итоге на основе способности медэвака на хилл, создал то же самое, но вместо здоровья восполнял энергию. Вопросы на основе полученной информации:
  1. почему у меня хранилище тратит 1000 энергии, а грузовик получает только 999, но при передачи этого же количества энергии, которое получил грузовик, от грузовика к морпеху, он получает так же 999?(примечание: вроде нашел это соотношение и выставил 1)
  2. как увеличить скорость передачи энергии
  3. как увеличить количество целей, которым можно передавать эту энергию одновременно?
0
24
7 лет назад
Отредактирован prog
0
Nekron, Без понятия, так получилось, что я не пользовался способностью медэвака ни разу.
Я собирал конструкцию, которая обходила все подходящие цели в радиусе, вешала на них баф, который держался чуть больше секунды и возобновлялся если носитель бафа в нужном радиусе от раздающего. Кроме того, этот баф каждую секунду вызывал запуск эффекта от имени раздающего, который тратил энергию у раздающего и пополнял энергию цели (или запускал триггер для работы с патронами в ангаре).
А если точнее, то у меня была полу-триггерная система аур, которая работала с любыми эффектами, главное было создать основу в данных и указать все связи в пользовательской таблице. И, соответственно, я абузил эту систему везде, где она подходила под мои задачи и уже не очень помню как она работала внутри.
0
9
7 лет назад
0
Ясно, попробую сам добиться нужных мне эффектов, но я уже почти создал эту систему такой, какой она мне нужна.
prog, ты случаем не знаешь, как создать еще один базовый показатель или это что-то еще свое создавать надо?
0
24
7 лет назад
0
Nekron, что ты подразумеваешь под базовым показателем?
0
9
7 лет назад
0
prog:
Nekron, что ты подразумеваешь под базовым показателем?
Энергия, здоровье, щиты. Это же базовые показатели, разве не?
0
24
7 лет назад
0
Nekron, насколько я знаю, вот такого простого способа нет, чтобы раз и новая строка появилась во всех способностях, которые умеют юзать хп, энергию и щиты.
0
9
7 лет назад
Отредактирован Nekron
0
Но у Керриган в совместке (может еще где, я просто не помню еще примеры) есть строка брони... Алгоритм?
0
17
7 лет назад
0
Nekron, если юниту с расой зерг вручить щит протосса, то он будет другого(вроде бы зеленого) цвета. Помимо прочего он будет называться "панцирь"
0
24
7 лет назад
0
Nekron, например, есть такая штука как аттрибуты, аналог статов у героев из варкрафта, их можно делать какие угодно, но работать с ними не очень удобно, если пытаться приспособить под задачи, для которых они не предназначены.
0
9
7 лет назад
Отредактирован Nekron
0
То есть никак нельзя?
Кстати, методом "научного тыка" я решил следующие вопросы:
  1. почему у меня хранилище тратит 1000 энергии, а грузовик получает только 999, но при передачи этого же количества энергии, которое получил грузовик, от грузовика к морпеху, он получает так же 999?(примечание: вроде нашел это соотношение и выставил 1)
  2. как увеличить скорость передачи энергии
И нашел один новый: как выставить оружию сектор атаки, то есть оружие будет атаковать только перед юнитом в определенном секторе (+-30 градусов от направления куда повернут юнит), при этом юнит не должен поворачиваться сам (тобишь я могу развернуть его в редакторе в нужную мне сторону).
0
24
7 лет назад
Отредактирован prog
0
И нашел один новый: как выставить оружию сектор атаки, то есть оружие будет атаковать только перед юнитом в определенном секторе (+-30 градусов от направления куда повернут юнит), при этом юнит не должен поворачиваться сам (тобишь я могу развернуть его в редакторе в нужную мне сторону).
Еффекту выбора целей в радиусе можно выдать границы, превратив круг в сектор. Но это решит только половину проблемы - надо еще понять как научить юнит атаковать цель, но не пытаться следить за ней, что-то такое в свойствах оружия и/или юнита и/или турели я видел и даже использовал, но уже не помню что и как и насколько хорошо работало. Или, как вариант, если допустима постоянная атака - можно просто повесить поиск целей в секторе на цикл (который persistant в данных).
Nekron:
То есть никак нельзя?
Смотря зачем тебе это - какого результата ты добиться пытаешься? Если индикатор патронов и их не слишком много в обойме, то в самый раз взять способность на основе ангара или как там базовая способность для интерцепторов называется. Естественно, без выпуска чего-либо наружу - юзать только в роли счетчика. В таком случае, конечно, надо будет переделывать раздачу патронов.
А если просто хранить какие-то данные о юните, то UserData в помощь - аналог custom value из варкрафта.
0
9
7 лет назад
0
Разобрался, как выставить оружию сектор атаки. Оказывается турель Immortal может поворачиваться, если сам юнит при этом не поворачивается (всегда считал, что эта турель не может повернуться, если не может повернуться юнит). Но я ограничил её сектор поворота и таким образом решил вопрос.
prog:
Смотря зачем тебе это - какого результата ты добиться пытаешься?
Я хочу, чтобы у меня просто отражалось кол-во патрон, которое есть у бойца. Остановлюсь на энергии пока что.
0
9
7 лет назад
0
Подводя итоги:
На основе способности медэвака создал способность передачи энергии от одного юнита к другому, добавил валидатор на авто применение, чтобы заклинатель (тот кто отдает) и цель способности не были грузовиками, которые развозят боеприпасы, иначе они вставали друг перед другом и начинали качать энергию между сабой вечно. Так же дал эту способность своему складу. (один выстрел тратит 1 ед. энергии)
Дальше дал грузовикам флажок рабочий, в итоге игрок видит, когда у него простаивает грузовик без дела (как рабочий).
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.