Добавлен FIRERANGER
Всем доброго времени суток, подскажите пожалуйста: у меня есть стандартный ИИ на развитие, и он строит только одного героя.
И этому герою нужно дать предметы (как будто бы он их сам купил): к примеру спустя 100 сек дать первый предмет, спустя 300 сек второй предмет, и спустя 600 сек третий предмет. Проблема в том, что этот герой может быть мёртвым на момент выдачи предмета...Как можно реализовать данную механику без багов?
Может есть карта с примером у кого-нибудь
И этому герою нужно дать предметы (как будто бы он их сам купил): к примеру спустя 100 сек дать первый предмет, спустя 300 сек второй предмет, и спустя 600 сек третий предмет. Проблема в том, что этот герой может быть мёртвым на момент выдачи предмета...Как можно реализовать данную механику без багов?
Может есть карта с примером у кого-нибудь
Принятый ответ
Короче, вот тебе наработка.
Первый триггер отвечает за появление героя (если у компа есть выбор кого нанять, то ты будешь давать шмотки первому герою, которого он купит, но для себя ты можешь изменить этот триггер). Если игрок может купить несколько героев то добавь действие отключить этот триггер.
Так-же запускаем таймер до выдачи предмета (окно чисто для теста, у себя ты можешь удалить это действие).
Первый триггер отвечает за появление героя (если у компа есть выбор кого нанять, то ты будешь давать шмотки первому герою, которого он купит, но для себя ты можешь изменить этот триггер). Если игрок может купить несколько героев то добавь действие отключить этот триггер.
Так-же запускаем таймер до выдачи предмета (окно чисто для теста, у себя ты можешь удалить это действие).
Далее уже шаблон каждого триггера, где проверяем, если герой мертв или инвентарь заполнен - то запустить таймер еще раз. Иначе выдаем предмет, выключаем этот триггер, запускаем таймер и запускаем следующий триггер на следующий предмет. Второй триггер с предмет будет абсолютно такой-же, и так по цепочке.
Можно, конечно, сделать один триггер на все предметы, усложнив систему, добавив переменные времени, предметов за счет использования массивов. Могу показать как.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. konvan5
Уловил идею? Знаешь как работать с таймерами?
Примерно знаю. Тут много всяких но... А если у героя уже заполнен инвентарь? И как остановить этот триггер после того, как герою уже выдан предмет? Или может как-то можно проверить, есть ли у героя уже такой предмет в инвентаре и тд.
По поводу полного инвентаря - ну после такого запускай таймер на 30 секунд чтобы снова чекнуло, если есть место то выдаст.
Как и было сказано выше проверяй, жив ли герой.
Ред. N7 Molot
Ред. konvan5
Первый триггер отвечает за появление героя (если у компа есть выбор кого нанять, то ты будешь давать шмотки первому герою, которого он купит, но для себя ты можешь изменить этот триггер). Если игрок может купить несколько героев то добавь действие отключить этот триггер.
Так-же запускаем таймер до выдачи предмета (окно чисто для теста, у себя ты можешь удалить это действие).
Ред. FIRERANGER
Только добавить доп таймер, и доп переменные?
По поводу зелек ну не проблема, можешь даже запилить один общий таймер для всех игроков, каждые 50 сек чекать.
В целом советую такие вещи делать через циклы и массивы. К примеру героев можно занести в массив. Так тебе просто меньше строк триггеров придется писать. Когда запускаешь цикл для всех игроков для каждого героя чекнуть зельки и инвентарь и дать этому герою зельку если надо.