И снова продолжаем совершенствовать бота.
Логика, которую пытаюсь реализовать следующая:
- ищем мобов на экране через finddynamic;
- если не нашли то поворачиваем экран на какой-то угол;
- ищем мобов повторно и т.д.
Этап поворота принципиально можно реализовать:
1. либо через клавиатуру (стрелками) это просто и вопросов нет, но со стороны такие повороты клавой, причем постоянно происходящие, выглядят более чем похожими на бота (клавишами пользуются только если персонаж застрял в текстурах).
2. либо, ЗАЖАВ правую кнопку мыши, НЕ ОТПУСКАЯ перемещать ее вправо/влево/вверх/вниз. Такой вариант бы устроил вполне, ибо живые игроки делают в 99% случаях именно так.
Код для реализации второго варианта следующий:
CODE:
int X_start = X1+300+rand(50,100);
int Y_start = Y1+120+rand(30,70);
int X_finish = X_start+rand(100,150);
int Y_finish = Y_start+rand(2,15);
mousetransfer(RIGHT, X_start, Y_start, X_finish, Y_finish, 0.001);
int X_start = X1+300+rand(50,100);
int Y_start = Y1+120+rand(30,70);
int X_finish = X_start+rand(100,150);
int Y_finish = Y_start+rand(2,15);
mousetransfer(RIGHT, X_start, Y_start, X_finish, Y_finish, 0.001);
где X1 и Y1 определяются ранее как левый верхний угол области для поиска в finddynamic (как абсолютные координаты экрана), определяются вполне корректно, проверно.
Результаты:
- курсор не перемещается (в принципе по механике игры, когда я выполняю это действие руками он и не должен перемещаться, вместо этого вращается экран);
- но экран стоит на месте;
- для примера пытался явно задать координаты - mousetransfer(RIGHT, 300, 300, 450, 450, 0.001) - также не работает;
- mousetransfer(RIGHT, X_start, Y_start, X_finish, Y_finish, 0.001, 1, 0) - также не работает;
- при этом mousetransfer(-1, X_start, Y_start, X_finish, Y_finish, 0.001); - корректно перемещает мышь (как и должен, но без нажатия какой-либо кнопки);
- просто клики мышкой, mousedown и mouseup работают корректно;
- никаких ошибок, корректное завершение скрипта во всех случаях.
Вопрос:
это особенности Lineage2 или есть возможность все-таки реализовать поворот через мышку?
Спасибо.
ЗЫ тесты пока провожу на фришке