function InitSummonableCaps takes nothing returns nothing
local integer index
set index = 0
loop
// upgraded units
// Note: Only do this if the corresponding upgrade is not yet researched
// Barrage - Siege Engines
if (not GetPlayerTechResearched(Player(index), 'Rhrt', true)) then
call SetPlayerTechMaxAllowed(Player(index), 'hrtt', 0)
endif
// Berserker Upgrade - Troll Berserkers
if (not GetPlayerTechResearched(Player(index), 'Robk', true)) then
call SetPlayerTechMaxAllowed(Player(index), 'otbk', 0)
endif
// max skeletons per player
call SetPlayerTechMaxAllowed(Player(index), 'uske', bj_MAX_SKELETONS)
set index = index + 1
exitwhen index == bj_MAX_PLAYERS
endloop
endfunction
Это функция, которая запускается из InitBlizzard, которая в свою очередь запускается из функции main. Она блокирует Берсеркера, Паровой танк и устанавливает лимит на скелетов.
Чтобы убрать Охотника за головами из казармы, но сделать доступным Берсеркера, нужно заблокировать у каждого игрока Охотника за головами и разблокировать Берсеркера.
Это функция, которая запускается из InitBlizzard, которая в свою очередь запускается из функции main.
Я это к тому, что если в карте нет //! inject main, то эта функция вызывается.
P. S. Чтобы не тратил время и EVENT_PLAYER_UNIT_SPELL_ENDCAST и EVENT_PLAYER_UNIT_SPELL_FINISH срабатывают в момент начала вихря.
А, ну в целом логично, тогда лучше периодическим таймером. Событие на начало каста запускает пеиод. таймер в 0.2, например, который по своему завершению запускает триггер, где наносится урон всем окружающим противникам, если есть бафф. Если баффа нет, то тогда стопим триггер. Думал также, что можно сделать через отлов урона и проверку баффа на герое, но это вариант хуже: герой может наносить урон от предметов (которые делают это тоже триггерно) во время поддержания вихря, что может вызвать баги.
Также есть наработка вот тут.
На самом деле наработки по Стальному Вихрю там нет, прошу прощения.
у него рабочие не относили ресурсы автоматом, рисовал новую карту путей ему, чтобы работало.
Сам это не тестировал. В таком случае лесопилка B должна быть юнитом без модели с неуязвимостью и с отключённым pathing, но с большим colision. Сам как-то делал ратушу в виде юнита, всё работало отлично.
Так Стальной вихрь отменить нельзя иначе, как только смертью героя (и триггерно), зачем проверки на анимации, баффа, либо завешения способности?
А зачем использовать вейты, которые совсем неточные? Завершение способности отличный способ, если герой умирает, то, я полагаю, сработает событие EVENT_PLAYER_UNIT_SPELL_ENDCAST. А для отлова завершения способности использовать EVENT_PLAYER_UNIT_SPELL_FINISH.
Можно создать лесопилку А, которая непроходима и не собирает ресурсы, и лесопилку В с москитами, без карты путей, собирающая ресурсы. Рабочий строит лесопилку А, а как она построится, создаёшь в том же месте лесопилки B всех союзных игроков. И тогда не надо ставить блокираторы путей.
Скопируй триггер с этой функцией, в меню перейди по Window в новую карту и вставь туда твой триггер.
Если триггеров несколько, скопируй все, следуя пункту 3.
Сохрани карту и экспортируй триггеры из новой карты в файл.
Закрой JNPG и открой редактор 1.29.
Создай новую карту и импортируй туда сохранённые триггеры. Также можно попытаться открыть карту, сохранённую в JNPG.
Я не вижу смысла использовать в WC3 точки, так как абсолютно ВСЕ операции, которые точки могли облегчить, всё равно делаются через координаты. Вот если бы были native функции, которые дают расстояние между точками, угол и прочее, то точки действительно были бы полезны. Но все эти функции BJ, а некоторые и утечны к тому же.
Raised, а зачем ты сначала добавляешь в массив с помощью EnumItemsInRect, а потом идёшь по нему циклом?
library RegionRemoveItemType
globals
private integer CurrentType
endglobals
function RemoveItemOfType takes nothing returns nothing
if GetItemTypeId(GetFilterItem()) == CurrentType then
call RemoveItem(GetFilterItem())
endif
endfunction
function RemoveItemOfTypeInRect takes rect r, integer iT returns nothing
set CurrentType = iT
call EnumItemsInRect(r, function RemoveItemOfType, null) // да, в filter можно передавать функции, которые ничего не возвращают.
endfunction
endlibrary
Да и вариант 8gabriel8 нормальный, как раз для человека, который не разбирается в Jass.
Ищи бэкап. Если не успел еще другую карту открыть и сохранить, то есть шанс что редактор еще сохранил бэкап карты. Проверь в настройках редактора куда он ее сохраняет.
Человек дело говорит. В папке JNPG есть папка backups, там есть много копий тех карт, что ты сохранял в JNPG.
Зачем ты вновь запускаешь GetUnitState(c,UNIT_STATE_MANA)*xx, если это значение уже записано в manaCaster? И при этом, ты это значение даёшь цели.
Как должна выжигаться мана? Сколько у цели, сколько у кастера?
Пытаетесь построить триггерно или "руками"? Я вот знаю, что если сделать людского рабочего летающим (вроде бы) или отобрать способность, то он ничего не будет строить.
» WarCraft 3 / Сделать берсерка доступным
Чтобы убрать Охотника за головами из казармы, но сделать доступным Берсеркера, нужно заблокировать у каждого игрока Охотника за головами и разблокировать Берсеркера.
Ред. PT153
» WarCraft 3 / Проверка на уровень предмета.
» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4
» WarCraft 3 / Возможно ли убрать тени в компании Рексара (~подобные ей)?
» WarCraft 3 / О способности Стальной вихрь...
» WarCraft 3 / Общая лесопилка
Ред. PT153
» WarCraft 3 / О способности Стальной вихрь...
Ред. PT153
» WarCraft 3 / Общая лесопилка
» WarCraft 3 / SharpCraft XGM Addon
Ред. PT153
» WarCraft 3 / SharpCraft XGM Addon
Ред. PT153
» WarCraft 3 / Удалить предметы в области
Да и вариант 8gabriel8 нормальный, как раз для человека, который не разбирается в Jass.
» WarCraft 3 / SharpCraft XGM Addon
» WarCraft 3 / Не открывается карта
» WarCraft 3 / Не открывается карта
Ред. PT153
» WarCraft 3 / Fatal при отлове завершения строительства
» WarCraft 3 / Fatal при отлове завершения строительства
» WarCraft 3 / Выжечь ману и сравнить её показатели
Как должна выжигаться мана? Сколько у цели, сколько у кастера?
UrsaBoss, ты про что?
» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4
» WarCraft 3 / Самая крупная целочисленная переменная
» WarCraft 3 / Самая крупная целочисленная переменная
» WarCraft 3 / Самая крупная целочисленная переменная
» WarCraft 3 / Считывание иконок героев в мултиборде
Ред. PT153
» WarCraft 3 / Редактирование приказов
» WarCraft 3 / Проблемы с постройкой зданий
» WarCraft 3 / Краш