Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#3703
Старый 08.08.2022, 20:18
  #3703
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 226
Регистрация: 24.04.2016
Сообщения: 226
По умолчанию
Re: Скрипты

}{0TT@6bI4Точно не находит по "BUILDING_GARRISON"?

Да, к сожалению... Ни BUILDING_GARRISON, ни в принципе по BUILDING. Решил это дело протестировать на одной из карт где у бота во владении шахты, домики и гарнизоны. Через BUILDING набрал массив владений бота и сделал SetObjectOwner, и у всех зданий бота, кроме гарнизонов, сменился владелец. Не отслеживаются даже те гарнизоны, которые имеют имена.

 



Добавлено через 8 часов 26 минут
Прописал себе небольшой скрипт: 
function NoFlee( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20 )
    heroeslist = { n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20 }
    for key, heroes in heroeslist do
        if IsObjectExists( heroes ) ~= nil then
           DenyAIHeroFlee( heroes, 1 )
           print("<color=blue>Герой ", heroes, " <color=blue>больше не покидает бои пока не погибнет")
        end
    end
end

Всё работает, но дико напрягает ругань консоли на неверный первый аргумент в IsObjectExists, который возникает из-за незаполненых аргументов. Можно ли как-то переписать скрипт или что-то добавить, чтобы массив заполнялся только заполненными аргументами? Или же переписать так, чтобы консоль не ругалась на пустые аргументы. 

Азгалор вне форума
Ответить с цитированием