Есть возможность нереально разогнать работу скриптов.
Для этого достаточно выполнить две операции за один просчет поля)
Пример 1
Типичный скрипт. Для активации бурки и применение сдвиг два раза прогоняется скрипт, соответственно скорость работы скрипта падает катастрофически)
//Все события происходят, только если ваш ход
//Ваши камни(жизни) и врага распознаны
Успешное_считывание_камней:
{
//юзаем бурляшку, если не пили
ЕСЛИ ( _Бур = 0 )
{
_Бур 1
~Клик _Бурл.Позиция
~Трассировка "BUR"
ИДТИ конец_хода
}
}
//Распознаны камни(жизни)свои и врага, а также поле
Успешное_считывание_поля:
{
Тут типа сдвиг под бурку
:конец_хода
~Случайное_Число 500 _Случ
_Случ _Случ + 500
~Спать _Случ
}
Пример 2. Теперь тоже самое, но используем один просчет камней-поля для активации бурки и применения сдвига.
Скрипт простой (фармерский), нет проверок ни н что, но он явно демонстрирует разгон скорострельности бота))))
Кста, скрипт рабочий)
//ВЕРСИЯ 1.0 ФИНАЛ
/ ОПИСАНИЕ... фантическия скорость нанесения удара буркой, подводимый сдвигом.
/ Используется для для одноударных боев.
/ Скрипт стабилен.
/ Дополничельных настроек не требуется.
/ ВАЖНО!!! Будьте с ним аккуратны. Если случайно войдете в бой против человека, запалят 100%))
Магия:
_Сдвиг
Позиция 4
Камни:
Красные 0
Синие 18
Зеленые 18
Магия:
_Бурка
Позиция 5
Камни:
Красные 18
Синие 18
Зеленые 0
Переменные:
_ЗАДЕРЖКА 200
_АУРА_БК 0
_i 0
_Выбор 0
_Случ 0
_Кр 0
_Син 0
_Зел 0
_Аура_БК 0
_Рнд11 0
_Рнд2 0
_Камни_поле 0
Успешное_считывание_камней:
{
}
Успешное_считывание_поля:
{
ЕСЛИ (((_Красных_Моих > _Сдвиг.Красные)| (_Красных_Моих = _Сдвиг.Красные)) & ((_Синих_Моих > _Сдвиг.Синие)| (_Синих_Моих = _Сдвиг.Синие)) & ((_Зеленых_Моих > _Сдвиг.Зеленые)| (_Зеленых_Моих = _Сдвиг.Зеленые)))
{
~Расчитать_Сдвиг
_i -1
:начало_сдвиг
_i _i + 1
ЕСЛИ (_i < _Вариантов_Ходов)
{
ЕСЛИ (( _Ход[_i].Красных_Без_Уровня_После > _Ход[_i].Синих_Без_Уровня_После) & (_Ход[_i].Красных_Без_Уровня_После > _Ход[_i].Зеленых_Без_Уровня_После ))
{
//проверяем, активируем буку
ЕСЛИ (_Аура_БК = 0)
{
~Клик _Бурка.Позиция
~Случайное_Число _ЗАДЕРЖКА _Случ
_Аура_БК 7
_Случ _Случ + _ЗАДЕРЖКА
~Спать _Случ
}
_Выбор _i
ИДТИ конец_сдвиг
}
ИНАЧЕ
{
ЕСЛИ _i = (_Вариантов_Ходов - 1 )
{
// нет варианта сдвига с остатком красных больше, берем любой вариант
_Выбор 0
ИДТИ конец_сдвиг
}
}
ИДТИ начало_сдвиг
}
:конец_сдвиг
~Случайное_Число _ЗАДЕРЖКА _Случ
_Случ _Случ + _ЗАДЕРЖКА
~Спать _Случ
~Клик _Сдвиг.Позиция
~Спать 300
~Клик _Ход[_Выбор].Ячейка_11 _Ход[_Выбор].Ячейка_12
~Спать _Случ
ЕСЛИ (_Аура_БК > 0)
{
_Аура_БК _Аура_БК - 1
}
}
}
Отредактировано Noter (2009-11-12 21:56:50)