Решил встроить в сценарий переменную _Жизни_В_%_Врага и столкнулся с тем, что она работает только 1 раз из 3-5. Вот эта часть сценария:
------------------------------------------------------------------------
Магия:
_Молния
Позиция 1
Камни:
Красные 15
Синие 15
Зеленые 0
Магия:
_СУ
Позиция 2
Камни:
Красные 3
Синие 3
Зеленые 3
Переменные:
_i 0
_a 0
_b 0
_d 0
_Выбор -1
_Случ 0
Успешное_считывание_камней:
{
ЕСЛИ ( (_Жизни_В_%_Врага < 4) & ((_Красных_Моих > _СУ.Красные) | (_Красных_Моих = _СУ.Красные)) & ((_Синих_Моих > _СУ.Синие) | (_Синих_Моих = _СУ.Синие)) & ((_Зеленых_Моих > _СУ.Зеленые) | (_Зеленых_Моих = _СУ.Зеленые)) )
{
~Клик _СУ.Позиция
~Спать 3000
~Выход_Из_Обработки
}
}
Успешное_считывание_поля:
{
ЕСЛИ ( (_Жизни_В_%_Врага < 8) & (_Синих_На_Поле > 5) & ((_Красных_Моих > _Молния.Красные) | (_Красных_Моих = _Молния.Красные)) & ((_Синих_Моих > _Молния.Синие) | (_Синих_Моих = _Молния.Синие)) & ((_Зеленых_Моих > _Молния.Зеленые) | (_Зеленых_Моих = _Молния.Зеленые)) )
{
~Клик _Молния.Позиция
~Спать 3000
~Выход_Из_Обработки
}
~Сортировка 1 Ч К С З
/далее идет расчет поля
-----------------------------------------------------------------
Как правило, при заданных условиях не срабатывает как Молния, так и СУ (Скользящий Удар). Например, начинается мой ход. У противника из 800 жизней осталось 21. Для срабатывания СУ стоит условие _Жизни_В_%_Врага < 4, то есть СУ должно сработать , если у противника жизни меньше, чем 800х0,04 = 32. На деле же происходит заново расчет хода, и бот двигает камни. Хотя и все другие условия для срабатывания магии выполняются. То же самое касается и Молнии. Повторяю, что иногда магия все же срабатывает. В чем же дело? Где-то ошибка в коде бота? Или я неправильно использую переменную?