Bers, ошибка повторялась назависимо от того, как я меня скрипт. Кроме того, она повторялась не при схватке компа, а при передаче хода. Думал, что проблема в действиях бота, и перепробовал твой вариант. Не прокатило. С самого начала запретил давать боту стеки неиспользуемых существ. Потом - ещё что-то. Проблема не исчезала. В итоге я внимательно посмотрел на адрес ошибки (текст ошибки менялся, а адрес - нет). Там был указан адрес 0x42437D. Ну, я психанул и забил его нулями (точнее, NOP). Ошибки пропали, всё работает отлично.
На всякий пожарный привожу полный текст скрипта.
!?PI; Пост-инструкция
!!VRz800:S^Заблокированный слот^; Изменить название неиспользуемого существа
!!UN:G1/122/0/z800; Установить название неиспользуемого существа
!!UN:G1/122/1/z800; Установить название неиспользуемых существ
!!DO80000/0/155/1:P; Запустить функцию для добавления заблокированных слотов
!?BA0; Триггер при начале битвы для игрока
!!BA:H0/?y1 H1/?y2; Запомнить номера сражающихся героев
!!FU80001:Py1/y2; Запустить функцию для удаления заблокированных слотов
!?BA1; Триггер в конце битвы для игрока
!!FU80000:P; Запустить функцию для добавления заблокированных слотов
; Необходимые функции
!?FU80000; Функция для пересчитывания количества заблокированных слотов
!!HEx16:S6/?v800; Запомнить текущий уровень навыка "Лидерство"
!!HEx16:C1/122/-1/0; Удалить всех неиспользуемых существ
!!HEx16&v800=0:C0/4/122/1; Добавить неиспользуемое существо
!!HEx16&v800=0:C0/5/122/1; Добавить неиспользуемое существо
!!HEx16&v800=0:C0/6/122/1; Добавить неиспользуемое существо
!!HEx16&v800=1:C0/5/122/1; Добавить неиспользуемое существо
!!HEx16&v800=1:C0/6/122/1; Добавить неиспользуемое существо
!!HEx16&v800=2:C0/6/122/1; Добавить неиспользуемое существо
!?FU80001; Функция для удаления заблокированных слотов на время битвы
!!HEx1:C1/122/-1/0; Удалить всех неиспользуемых существ у левого героя
!!HEx2:C1/122/-1/-; Удалить всех неиспользуемых существ у правого героя
; Лидерство - При повышении уровня
!?FU90002; Функция для повышения уровня
!!DO80000/0/155/1:P; Запустить функцию для добавления заблокированных слотов
; Лидерство - Окно города
!?FU90001; Функция для входа на экран города
!!CA-1:H1/?y1; Запомнить номер героя
!!FU80001:Py1; Запустить функцию для удаления заблокированных слотов
!!DO80000/0/155/1:P; Запустить функцию для добавления заблокированных слотов
!?CM1; Триггер при клике в окне замка
!!CM:S?y1 F?y2 I?y3 P?y4/?y5/?y6 H?y7/?y8; Запомнить подтип клика, флаг для клика, место клика, позицию в x/y/l и номера героев
!!CM&y1=12/y2=0/y3=123:R0; Запретить перемещение героя в гарнизон
!!CA-1:H1/?y7; Запомнить номер героя
!!HEy7:S6/?v801; Запомнить текущий уровень лидерства
!!HEy7:B0/?z801; Запомнить имя героя
; Установить количество доступных слотов
!!IF&y2=512/y3>143/y3<147/v801=0:Q1/20/21/4^{Герой} {%Z801}
{Лидерство:} навык отсутствует
{Доступно:} четыре отряда
Чтобы иметь возможность взять под командование ещё один отряд, необходимо иметь навык "Лидерство" не ниже базового уровня.^;
!!CM&y3=144/v801=0:R0; Запретить пятый слот
!!CM&y3=145/v801=0:R0; Запретить шестой слот
!!CM&y3=146/v801=0:R0; Запретить седьмой слот
!!IF&y2=512/y3>144/y3<147/v801=1:Q1/20/22/4^{Герой} {%Z801}
{Лидерство:} базовый уровень
{Доступно:} пять отрядов
Чтобы иметь возможность взять под командование ещё один отряд, необходимо иметь навык "Лидерство" не ниже продвинутого уровня.^;
!!CM&y3=145/v801=1:R0; Запретить шестой слот
!!CM&y3=146/v801=1:R0; Запретить седьмой слот
!!IF&y2=512/y3=146/v801=2:Q1/20/23/4^{Герой} {%Z801}
{Лидерство:} продвинутый уровень
{Доступно:} пять отрядов
Чтобы иметь возможность взять под командование ещё один отряд, необходимо иметь навык "Лидерство" не ниже экспертного уровня.^;
!!CM&y3=146/v801=2:R0; Запретить седьмой слот
; Лидерство - Окно героя
!?FU77004; Функция для захода в окно героя
!!FU80001:P; Запустить функцию для удаления заблокированных слотов
!!DO80000/0/155/1:P; Запустить функцию для добавления заблокированных слотов
!?CM2; Триггер при клике в окне героя
!!CM:S?y1 F?y2 I?y3 P?y4/?y5/?y6 H?y7/?y8; Запомнить подтип клика, флаг для клика, место клика, позицию в x/y/l и номера героев
!!DO80000/0/155/1:P; Запустить функцию для добавления заблокированных слотов
!!HEy7:S6/?v801; Запомнить текущий уровень лидерства
!!HEy7:B0/?z801; Запомнить имя героя
; Установить количество доступных слотов
!!IF&y2=512/y3>71/y3<75/v801=0:Q1/20/21/4^{Герой} {%Z801}
{Лидерство:} навык отсутствует
{Доступно:} четыре отряда
Чтобы иметь возможность взять под командование ещё один отряд, необходимо иметь навык "Лидерство" не ниже базового уровня.^;
!!CM&y3=72/v801=0:R0; Запретить пятый слот
!!CM&y3=73/v801=0:R0; Запретить шестой слот
!!CM&y3=74/v801=0:R0; Запретить седьмой слот
!!IF&y2=512/y3>72/y3<75/v801=1:Q1/20/22/4^{Герой} {%Z801}
{Лидерство:} базовый уровень
{Доступно:} пять отрядов
Чтобы иметь возможность взять под командование ещё один отряд, необходимо иметь навык "Лидерство" не ниже продвинутого уровня.^;
!!CM&y3=73/v801=1:R0; Запретить шестой слот
!!CM&y3=74/v801=1:R0; Запретить седьмой слот
!!IF&y2=512/y3=74/v801=2:Q1/20/23/4^{Герой} {%Z801}
{Лидерство:} продвинутый уровень
{Доступно:} пять отрядов
Чтобы иметь возможность взять под командование ещё один отряд, необходимо иметь навык "Лидерство" не ниже экспертного уровня.^;
!!CM&y3=74/v801=2:R0; Запретить седьмой слот