Могу подсказать сложное решение, однако я уверен найдется что-то более легкое, просто надо подумать.
Моё решение: перехватывать приказ игрока через модификатор висящий на боссе, через событие OnOrder.
Далее в отношений босса запретить все ордера, которые отвечают за атаку. Или вообще все ордера (при условии что в игре босса нельзя хилить или выполнять с ним какие-либо манипуляции)
ну фигли у меня куча этих луа файлов хз в какой имено вставить, вставил в gamemode.lua не сработало, да и 5 дней всего работаю над кастомкой особо не понимаю луа пока чтоТы не учишься ничему...
тобишь мне это надо сделать дописать?target - это entindex юнита. Это просто набор цифер, типо айдишника юнита. А ты сравниваешь цифры со строкой wr_treant. Молодец
function GameMode:FilterExecuteOrder(filterTable)
local order = filterTable["order_type"]
local units_table = filterTable["units"]
local target = filterTable["entindex_target"]
if order == DOTA_UNIT_ORDER_ATTACK_MOVE or order == DOTA_UNIT_ORDER_ATTACK_TARGET and target:GetUnitName() == "wr_treant"
return
end
return true
end
А вообще я предлагал не писать это всё в основной фильтр приказов, а сделать через модификатор.
wiki написал(а):OnOrder : Event that fires when an order is given to the parent.