Для тех, кто столкнётся с подобной проблемой, добавлю. Отмена через приказ "stop" почему-то не срабатывает. Зато есть приказ по ID. В Custom script это выглядит так: call IssueImmediateOrderById( GetTriggerUnit(), 851976 ) Найдено здесь
Steal nerves, вот-вот. Там написано, что это реакция на событие "Завершает подготовку...", а в твоей карте пишет реакцию на все события.
То есть вроде как одна вещь, но работает по-разному в разных условиях.
Steal nerves, главное - тип юнита отследить, тренируемый юнит - пустышка, он удаляется.
На скрине - TrainED Unit-type, это не подходит, я этот вариант изначально проверял. Он срабатывает, когда тренировка завершена.
HillDemon, я через доступность юнитов (названных, к примеру, Доска х4, Камень х3 и т. д.) делаю доступность создания построек. С одной стороны, удобно. Но есть минусы: занимает место на карте (текстура пути 2х2 у каждого такого здания), и каждого юнита нужно редактировать в РО.
Сейчас тренировка занимает 1 секунду, и только после этого идёт проверка предметов в здании (если не хватает ресурсов - пишется сообщение), после чего создаётся предмет. Неудобно, и выглядит некрасиво. Хотелось бы попроще систему.
В окошке с триггерами сверху 2 галочки: включен и изначально включен. Убери у первого триггера (где разговор) галочку "включен".
А в конце второго триггера (после всех действий) добавь действия:
Триггер - выключить (этот триггер);
Триггер - включить (первый триггер);
если это ещё не сделано.
DemonoiD,
1 - слишком много юнитов будет => лаги.
2 - ресурсы-то видны - они являются юнитами
3 - ресурсы привязаны к ландшафту - не подходит
Система ресурсов сделана ценой многих усилий и времени. Ничего лучше, чем использовать в их качестве юнитов (из-за невозможности отловить урон по декорациям), не получилось. Вопрос всё же в ландшафте. Моих навыков явно не хватит, чтобы сделать это через мемхак, так что пока пусть будет как есть.
DemonoiD, тогда нужно будет скопировать условия и пересчитать для каждого квадрата количество объектов. Например, всего 100 камней должно быть на карте. Из них 10 в в поле, 20 - в лесу, 30 - в пустыне и т.д. Делим карту на квадраты. И получается, что один кусок леса в одном квадрате, другой - в другом, причём они не равны. И надо переделать формулы таким образом, чтобы приблизительно равномерно всё было.
Совет полезный, и, если способов попроще не найдётся - придётся всё перерассчитывать, по ходу.
DemonoiD, карта действительно не стратегическая, но игроку должно быть видно, где какая местность (а значит, ресурсы, присутствующие только в этой местности), а то неудобно будет.
Если в триггере много действий, загружающих память, то лучше не использовать малый период. А если в нём ещё утечки памяти, то рано или поздно лаги сделают игру невозможной.
По сути, и таймер, и периодическое событие запускают действия в определённое время, то есть действуют одинаково. Смотри, что тебе удобнее.
» WarCraft 3 / Изменение текстового сообщения (в игре)
Команда для очистки сообщений:
» W3 Model Pack / W3 Model Pack
» WarCraft 3 / Возможно ли сделать юнита неуязвимым и считать урон?
Ред. Maniac_91
» WarCraft 3 / Как создать диалоговое окно?
» WarCraft 3 / Любая скачимавая модель дренея не идёт
» WarCraft 3 / Как отловить начало тренировки юнита?
В Custom script это выглядит так: call IssueImmediateOrderById( GetTriggerUnit(), 851976 )
Найдено здесь
Ред. Maniac_91
» WarCraft 3 / Как отловить начало тренировки юнита?
То есть вроде как одна вещь, но работает по-разному в разных условиях.
» WarCraft 3 / Как отловить начало тренировки юнита?
Ред. Maniac_91
» WarCraft 3 / Как отловить начало тренировки юнита?
На скрине - TrainED Unit-type, это не подходит, я этот вариант изначально проверял. Он срабатывает, когда тренировка завершена.
Ред. Maniac_91
» WarCraft 3 / Как отловить начало тренировки юнита?
» WarCraft 3 / Как отловить начало тренировки юнита?
Я пытался вывести на экран сообщение, ничего не выдало.
Ред. Maniac_91
» WarCraft 3 / Как отловить начало тренировки юнита?
Сейчас тренировка занимает 1 секунду, и только после этого идёт проверка предметов в здании (если не хватает ресурсов - пишется сообщение), после чего создаётся предмет. Неудобно, и выглядит некрасиво. Хотелось бы попроще систему.
» WarCraft 3 / Похищение маны у своих юнитов
Ред. Maniac_91
» WarCraft 3 / Очередь Тригеров
Триггер - выключить (этот триггер);
Триггер - включить (первый триггер);
если это ещё не сделано.
» WarCraft 3 / Очередь Тригеров
Когда синематика закончится - выключи её и включи триггер с разговором
» WarCraft 3 / Размер имеет значение
» WarCraft 3 / Размер имеет значение
» WarCraft 3 / Баг со звуком в карте.
» WarCraft 3 / Размер имеет значение
Сделал ожидание каждые 100 выполнений триггера. Не очень тормозит, а главное - никаких вылетов)
» WarCraft 3 / Неправильная мини-карта
1 - слишком много юнитов будет => лаги.
2 - ресурсы-то видны - они являются юнитами
3 - ресурсы привязаны к ландшафту - не подходит
Система ресурсов сделана ценой многих усилий и времени. Ничего лучше, чем использовать в их качестве юнитов (из-за невозможности отловить урон по декорациям), не получилось. Вопрос всё же в ландшафте. Моих навыков явно не хватит, чтобы сделать это через мемхак, так что пока пусть будет как есть.
Ред. Maniac_91
» WarCraft 3 / Размер имеет значение
если остаток (количество выполнений триггера / 1000) = 0, то ждать.
Надеюсь, это сработает. Завтра попробую так сделать.
» WarCraft 3 / Размер имеет значение
Совет полезный, и, если способов попроще не найдётся - придётся всё перерассчитывать, по ходу.
Ред. Maniac_91
» WarCraft 3 / Размер имеет значение
» WarCraft 3 / Неправильная мини-карта
» WarCraft 3 / Что же лучше, таймеры или периодик