Wolf_Quest |
Отправлено: 13 Декабря, 2015 - 20:16:12
|
Участник
Покинул форум
Сообщений всего: 71
Дата рег-ции: Нояб. 2015
Репутация: 0
|
Во так заработал)
(Добавление)
А без изменений PosX и PosY нельзя?) И как функцию писать) пробовал не получалось) на том же примере что скинул выше моно?)
(Добавление)
Вот убрал PosX1 и т.п. вроде все правильно тыкает как надо)
(Добавление)
Сейчас с функцией попробую)
(Добавление)
Вот полный код
Код (Отобразить)win w=window ("Adobe Flash Player 11", "ShockwaveFlash", -1);
int Test[25][16];
int A[9][6];
loadimage (#Test[0][0], "C:\Бот\Лич\Test.bmp" ;
loadimage (#A[0][0], "C:\Бот\Лич\A.bmp" ;
int PosX, PosY;
function A()
{
if (findimage(1, #Test[0][0], 0, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, w)==1)
{
sendmousedbl(LEFT, PosX, PosY, w);
}
}
function B()
{
if (findimage(1, #A[0][0], 0, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, w)==1)
{
sendmousedbl(LEFT, PosX, PosY, w);
}
}
Выдает ошибку "Ошибка идентификации указателя: #go_fun
Что там не так?) |
|
|
Kibor |
Отправлено: 13 Декабря, 2015 - 20:27:28
|
Эксперт
Покинул форум
Сообщений всего: 8203
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Wolf_Quest пишет: Вот убрал PosX1 и т.п. вроде все правильно тыкает как надо)
пока не совпадет..
я описал какие проблемы бывают..
Wolf_Quest пишет: И как функцию писать)
CODE:win w=window ("Adobe Flash Player 11", "ShockwaveFlash", -1);
int Test[25][16];
int A[9][6];
loadimage (#Test[0][0], "C:\Áîò\Ëè÷\Test.bmp");
loadimage (#A[0][0], "C:\Áîò\Ëè÷\A.bmp");
int PosX, PosY, PosX1, PosY1;
enabletimer(0);
enabletimer(1);
a:
tatatatata();
sleep(20);
goto a;
function tatatatata()
{
beep(1000, 100);
sleep(100);
}
CREATE_TIMER(0, 250)
{
if (findimage(1, #Test[0][0], 0, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, w)==1)
{
sendmousedbl(LEFT, PosX, PosY, w);
}
}
CREATE_TIMER(1, 500)
{
if (findimage(1, #A[0][0], 0, #PosX1, #PosY1, 0, 0, w.widthclient, w.heightclient, w)==1)
{
sendmousedbl(LEFT, PosX1, PosY1, w);
}
}
(Добавление)
Цитата: Выдает ошибку "Ошибка идентификации указателя: #go_fun
имена всех переменных, меток, функций уникальные.
функция A одинково называется как переменная A |
|
|
Wolf_Quest |
Отправлено: 13 Декабря, 2015 - 20:34:51
|
Участник
Покинул форум
Сообщений всего: 71
Дата рег-ции: Нояб. 2015
Репутация: 0
|
Вот еще )))
К примеру 2 разные функции.
Вот полный код:
Код (Отобразить)win w=window ("Adobe Flash Player 11", "ShockwaveFlash", -1);
int Test[25][16];
int A[9][6];
loadimage (#Test[0][0], "C:\Бот\Лич\Test.bmp");
loadimage (#A[0][0], "C:\Бот\Лич\A.bmp");
int PosX, PosY;
a:
AB();
sleep(1000);
goto a;
c:
BB();
sleep(1000);
goto c;
function AB()
{
if (findimage(1, #Test[0][0], 0, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, w)==1)
{
sendmousedbl(LEFT, PosX, PosY, w);
}
}
function BB()
{
if (findimage(1, #A[0][0], 0, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, w)==1)
{
sendmousedbl(LEFT, PosX, PosY, w);
}
}
В этом коде работает только первая функция, почему так?(
(Добавление)
Это из за 2х меток вверху, работает только первая до второй не доходит.. Как исправить?( |
|
|
Kibor |
Отправлено: 13 Декабря, 2015 - 20:48:00
|
Эксперт
Покинул форум
Сообщений всего: 8203
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Wolf_Quest пишет: a:
AB();
sleep(1000);
goto a;
c:
BB();
sleep(1000);
goto c;
Wolf_Quest пишет: Это из за 2х меток вверху, работает только первая до второй не доходит.. Как исправить?(
CODE:a: AB();
BB();
sleep(1000);
goto a;
может вот так?
и еще...
во время sleep и pause таймер тоже не отрабатывает..
надо самому их реализовать.. для кода основного..
CODE:my_pause(1000);
function my_pause(int pp)
{
int tim=gettime();
a: if (gettime()-tim>pp)return;
sleep(5);goto a;
}
в таймерах оставить стандартные функции паузы |
|
|
Wolf_Quest |
Отправлено: 13 Декабря, 2015 - 20:57:52
|
Участник
Покинул форум
Сообщений всего: 71
Дата рег-ции: Нояб. 2015
Репутация: 0
|
Kibor пишет: во время sleep и pause таймер тоже не отрабатывает..
То есть в таймере не работает пауза и сон?
Kibor пишет: a: AB();
BB();
sleep(1000);
goto a;
Не надо что бы отдельно работали, просто планирую бота на игру писать вот с этим пока что разбираюсь, так как некоторые функции надо будет отдельно в функции с повтором и паузой, а тут они обе работают, мне надо что бы одна работала раз в 10 минут, а вторая постоянно, третья раз в мину 8 - 12... Kibor пишет: my_pause(1000);
function my_pause(int pp)
{
int tim=gettime();
a: if (gettime()-tim>pp)return;
sleep(5);goto a;
}
А это куда и что это?((Отредактировано автором: 13 Декабря, 2015 - 20:58:59) |
|
|
Kibor |
Отправлено: 13 Декабря, 2015 - 21:10:33
|
Эксперт
Покинул форум
Сообщений всего: 8203
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
CODE:win w=window ("Adobe Flash Player 11", "ShockwaveFlash", -1);
int Test[25][16];
int A[9][6];
loadimage (#Test[0][0], "C:\Aio\Ee?\Test.bmp");
loadimage (#A[0][0], "C:\Aio\Ee?\A.bmp");
int PosX, PosY, PosX1, PosY1;
enabletimer(0);
enabletimer(1);
enabletimer(2);
a:
tatatatata(); //всегда
sleep(20); goto a;
function tatatatata()
{
beep(1000, 100);
my_pause(100);
}
function AA()
{
messagebox ("раз на 10 мин......");
my_pause(1000);
}
function my_pause(int pp)
{
int tim=gettime();
a: if (gettime()-tim>pp)return;
sleep(5);goto a;
}
CREATE_TIMER(0, 250)
{
if (findimage(1, #Test[0][0], 0, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, w)==1)
{
sendmousedbl(LEFT, PosX, PosY, w);
sleep(100);
}
}
CREATE_TIMER(1, 500)
{
if (findimage(1, #A[0][0], 0, #PosX1, #PosY1, 0, 0, w.widthclient, w.heightclient, w)==1)
{
sendmousedbl(LEFT, PosX1, PosY1, w);
sleep(100);
}
}
CREATE_TIMER(2, 600000)//10 мин
{
AA();
}
иль так
CODE:win w=window ("Adobe Flash Player 11", "ShockwaveFlash", -1);
int Test[25][16];
int A[9][6];
loadimage (#Test[0][0], "C:\Aio\Ee?\Test.bmp");
loadimage (#A[0][0], "C:\Aio\Ee?\A.bmp");
int PosX, PosY, PosX1, PosY1;
int temer=gettime();
enabletimer(0);
enabletimer(1);
a:
tatatatata(); //всегда
if (gettime()-temer>600000)
{
temer=gettime();
AA();//10 мин
}
sleep(20); goto a;
function tatatatata()
{
beep(1000, 100);
my_pause(100);
}
function AA()
{
messagebox ("раз на 10 мин......");
my_pause(1000);
}
function my_pause(int pp)
{
int tim=gettime();
a: if (gettime()-tim>pp)return;
sleep(5);goto a;
}
CREATE_TIMER(0, 250)
{
if (findimage(1, #Test[0][0], 0, #PosX, #PosY, 0, 0, w.widthclient, w.heightclient, w)==1)
{
sendmousedbl(LEFT, PosX, PosY, w);
sleep(100);
}
}
CREATE_TIMER(1, 500)
{
if (findimage(1, #A[0][0], 0, #PosX1, #PosY1, 0, 0, w.widthclient, w.heightclient, w)==1)
{
sendmousedbl(LEFT, PosX1, PosY1, w);
sleep(100);
}
}
изучайте...
так же я показал как свою паузу.. в таймерах свою не надо.. |
|
|
Kibor |
Отправлено: 13 Декабря, 2015 - 21:37:52
|
Эксперт
Покинул форум
Сообщений всего: 8203
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Wolf_Quest пишет: Почему нельзя все по блокам раскидать к примеру с нужным повтором
потому что в кибор нет многопоточности..
но.. мне это еще ни разу не помешало написать какой угодно алгоритм, где требуется быстрая проверка всего и сразу..
таймеры прекрасно справляются с этой задачей..
(Добавление)
Wolf_Quest пишет: А в чем разница между таймером и функцией?)
функция - часть кода, которая исполняется при вызове.
таймер - часть коды который исполняется по времени, прерывая исполнение любого основного кода.
ну и нюансы про переменные в таймере, функциях.. и метках.. |
|
|
|