Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#3817
Старый 06.01.2023, 19:13
  #3817
^
IchGViji
 
Аватар для IchGViji
📖
Регистрация: 23.08.2022
Сообщения: 98
Регистрация: 23.08.2022
Сообщения: 98
Хорошо
Re: Скрипты

Gerterвероятно, проблема в этих двух строчках:
DEFENDER = GetDefenderHero();
print(DEFENDER);
ATTACKER = GetAttackerHero();
print(ATTACKER);

суть в чем - в игре определены 2 константы ATTACKER и DEFENDER, которые соответственно определяют атакующую и защищающуюся стороны боя. Этими строчками ты по сути перезаписываешь эти константы, назначая в них имена юнитов героев вместо стандартных сторон. Дальнейшие ошибки очевидны - GetAttackerCreatures() и GetDefenderCreatures() это просто обертки над функцией более низкого уровня - внутри них происходит вызов GetCreatures(ATTACKER) и GetCreatures(DEFENDER) соответственно. Из-за переопределенных констант, эти функции не могут отработать корректно, что и провоцирует ошибку. Остальной скрипт просто не отрабатывает из-за этих ошибок. Соответственно, решение простое - использовать другие названия для твоих констант имен героев.

Gerter, благодарю за помощь!

Действительно, стоило эти константам дать другие имена, как скрипт пошел как по маслу! По крайней мере, пока я его еще чем-то не сломаю
Получается, ATTACKER и DEFENDER это зарезервированные слова, как к примеру, CREATURE_VAMPIRE.
IchGViji вне форума
Ответить с цитированием