PT153, был на работе и затупил. Думал, что вы имеете ввиду, что мёртвые юниты удаляются из группы автоматически(
DeathOnLavaRemoveUnit не удаляет из группы героев и если его отключат, чтоб использовать Воскрешение, то добавлена проверка, что юнит жив и триггер не будет спамить эффектами.
Чтоб это исправить, пришлось бы проверять четыре точки вокруг юнита, но на гуях это только бы переусложнило триггер. А центр юнита встаки находился на лаве.
Все юниты делятся на 3 группы: Духи/Не духи; Воздушные/Наземные; Здания/Не здания. Они сочетаются по принципу "или". Т.е. если установить разрешённые цели (для заклинания или для атаки юнита, далее - Р.Ц.) Духи, Здания, Наземные, то это покроет все основные б.ед.
Для того, чтобы являться Самоубийцей: установленный в Классификации: Самоубийца. Установка в Т.Ц. Самоубийца не даёт ничего. С Древом и Механикой тоже самое как и с Самоубийцей. Эти три Р.Ц. являются единственными действующими "по принципу И". Т.е. они сужают область допустимых целей. Если установить галки Древо, Самоубийца, это будет значить, что заклинание или атака действует только на тех, кто является и Древом и Самоубийцей.
function GetUnitsSelectedAll takes player whichPlayer returns group
local group g = CreateGroup()
call SyncSelections()
call GroupEnumUnitsSelected(g, whichPlayer, null)
return g
endfunction
set bj_wantDestroyGroup = true
set udg_InfoPick[GetConvertedPlayerId(GetTriggerPlayer())] = GroupPickRandomUnit(GetUnitsSelectedAll(GetTriggerPlayer()))
function GroupPickRandomUnit takes group whichGroup returns unit
// If the user wants the group destroyed, remember that fact and clear
// the flag, in case it is used again in the callback.
local boolean wantDestroy = bj_wantDestroyGroup
set bj_wantDestroyGroup = false
set bj_groupRandomConsidered = 0
set bj_groupRandomCurrentPick = null
call ForGroup(whichGroup, function GroupPickRandomUnitEnum)
// If the user wants the group destroyed, do so now.
if (wantDestroy) then
call DestroyGroup(whichGroup)
endif
return bj_groupRandomCurrentPick
endfunction
function GroupPickRandomUnitEnum takes nothing returns nothing
set bj_groupRandomConsidered = bj_groupRandomConsidered + 1
if (GetRandomInt(1,bj_groupRandomConsidered) == 1) then
set bj_groupRandomCurrentPick = GetEnumUnit()
endif
endfunction
» WarCraft 3 / Смерть в лаве
PT153:
» WarCraft 3 / Смерть в лаве
DeathOnLavaRemoveUnit не удаляет из группы героев и если его отключат, чтоб использовать Воскрешение, то добавлена проверка, что юнит жив и триггер не будет спамить эффектами.
Ред. nazarpunk
» WarCraft 3 / Смерть в лаве
» WarCraft 3 / Смерть в лаве
pro100master, для начала нужно хотябы проверку по четырём точкам сделать.
» WarCraft 3 / Смерть в лаве
» WarCraft 3 / Смерть в лаве
» WarCraft 3 / Смерть в лаве
» WarCraft 3 / Синхронизация
» WarCraft 3 / Сборные предметов/Респавн мобов/Супер Предмет/Порча и другое...
» WarCraft 3 / Сборные предметов/Респавн мобов/Супер Предмет/Порча и другое...
Ред. nazarpunk
» WarCraft 3 / Как убрать функцию "Страх" у ИИ
» WarCraft 3 / почему у zinc jass нету хук?
» WarCraft 3 / Как убрать функцию "Страх" у ИИ
» WarCraft 3 / Сборные предметов/Респавн мобов/Супер Предмет/Порча и другое...
» WarCraft 3 / Как убрать функцию "Страх" у ИИ
» WarCraft 3 / почему у zinc jass нету хук?
» WarCraft 3 / Как регистрировать тип widgetevent
» WarCraft 3 / Как избавиться от утечки?
» WarCraft 3 / Как избавиться от утечки?
Ред. nazarpunk
» WarCraft 3 / Как использовать тайл-сеты?
» WarCraft 3 / Как использовать тайл-сеты?
» WarCraft 3 / Как избавиться от утечки?
» WarCraft 3 / Как использовать тайл-сеты?
» WarCraft 3 / Сборные предметов/Респавн мобов/Супер Предмет/Порча и другое...
» WarCraft 3 / Сборные предметов/Респавн мобов/Супер Предмет/Порча и другое...