Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (2): [1] 2 »   

> Без описания
Keeper
Отправлено: 25 Августа, 2013 - 04:49:55
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2013  
Откуда: Россия, Иркутск
Репутация: 0




Сегодня было обновление программы, после этого любая ошибка в синтаксисе приводила вот к этому

ОшиПка1

После повторного запуска к этому

ОшиПка2

Ну да ладно не беда... была ещё вчера, после повторного запуска программы и устранения ошибки всё работало. Сейчас же после вышеуказанных ошибок не работает ни одни ранее написанный 100% работоспособный код. Чтобы избавиться от этого приходится перезагружать комп. И после перезагрузки всё о5 работает. Или я дурак или лыжи не едут... Объясните пожалуйста.

(Отредактировано автором: 25 Августа, 2013 - 04:52:00)

 
 Top
Kibor
Отправлено: 25 Августа, 2013 - 09:51:08
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Что объяснить?
Мне нужен код при запуске которого выходит эта ошибка, так как я не знаю какой код считается рабочим....
Код должен быть полным без изменений с приложением используемых .bmp
 
 Top
Keeper
Отправлено: 25 Августа, 2013 - 11:28:10
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2013  
Откуда: Россия, Иркутск
Репутация: 0




 Kibor пишет:
Что объяснить?
Мне нужен код при запуске которого выходит эта ошибка, так как я не знаю какой код считается рабочим....
Код должен быть полным без изменений с приложением используемых .bmp



int Box1[5][5],Box1X,Box1Y;
int Box2[5][5],Box2X,Box2Y;
int Box3[5][5],Box3X,Box3Y;
int RunLut,Wait;

..........................................

function Lut()
{

if (findimage(1,#Box1[0][0],0,#Box1X,#Box1Y,0,0,w.widthclient,w.heightclient,w)==1)
{

RunLut=1;Wait=0;
mousemove(Box1X+2,Box1Y+2,w);mouse(LEFT);
sleep(rand(500,800));
}//if (findimage(1,#Box1[0][0],0,#Box1X,#Box1Y,0,0,w.widthclient,w.heightclient,w)==1)
else
{
if (findimage(1,#Box2[0][0],0,#Box2X,#Box2Y,0,0,w.widthclient,w.heightclient,w)==1)
{

RunLut=1;Wait=0;
mousemove(Box2X+2,Box2Y+2,w);mouse(LEFT);
sleep(rand(500,800));
}//if (findimage(1,#Box2[0][0],0,#Box2X,#Box2Y,0,0,w.widthclient,w.heightclient,w)==1)
else
{
if (findimage(1,#Box3[0][0],0,#Box3X,#Box3Y,0,0,w.widthclient,w.heightclient,w)==1)
{

RunLut=1;Wait=0;
mousemove(Box3X+2,Box3Y+2,w);mouse(LEFT);
sleep(rand(500,800));
}//if (findimage(1,#Box3[0][0],0,#Box3X,#Box3Y,0,0,w.widthclient,w.heightclient,w)==1)
else
{

RunLut=0;
}//else
}//else
}//else
}//function Lut()

..........................................

Файлы картинок

Этот код рабочий.
(Добавление)
 Kibor пишет:
Что объяснить?
Мне нужен код при запуске которого выходит эта ошибка, так как я не знаю какой код считается рабочим....
Код должен быть полным без изменений с приложением используемых .bmp


Добавляю функцию:

int RD=300,Att;

....................................

function Moving()
{

if (Att==0 && RunLut==0) Wait++;
if (Wait>=rand(3,5))
{

x0=300;
y0=10;
Ang=rand(10,170);
mX=x0+sin(Ang)*RD;
mY=y0+cos(Ang)*RD;
mousemove(mX,mY,w);
Wait=0;
}
}


И код приведённый в прошлом посте перестаёт работать.
 
 Top
Kibor
Отправлено: 25 Августа, 2013 - 11:38:52
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Keeper пишет:
int Box1[5][5],Box1X,Box1Y;

 Keeper пишет:
if (findimage(1,#Box1[0][0],0,#Box1X,#Box1Y

Ошибка. Допускается только одномерные массивы
int Box1[5][5],Box1X[1],Box1Y[1];
if (findimage(1,#Box1[0][0],0,#Box1X[0],#Box1Y[0],
mousemove(Box1X[0]+2,Box1Y[0]+2,w)

Сканирование экрана и поиск изображений

Ошибка работы с памятью. Так и есть из за ошибок в fingimage
 
 Top
Keeper
Отправлено: 25 Августа, 2013 - 11:49:46
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2013  
Откуда: Россия, Иркутск
Репутация: 0




 Kibor пишет:
 Keeper пишет:
int Box1[5][5],Box1X,Box1Y;

 Keeper пишет:
if (findimage(1,#Box1[0][0],0,#Box1X,#Box1Y

Ошибка. Допускается только одномерные массивы
int Box1[5][5],Box1X[1],Box1Y[1];
if (findimage(1,#Box1[0][0],0,#Box1X[0],#Box1Y[0],
mousemove(Box1X[0]+2,Box1Y[0]+2,w)

Сканирование экрана и поиск изображений


Да вот тут вы не правы!
Я нашёл ошибку, если её можно таковой назвать

Описываю:

После написания функции Moving() я объявил переменную int RD=300; после чего запустил код, спустя несколько секунд остановил его по нажатию Ctrl+Shift+Z, вместе с тем нажатие Ctrl+Z отменяет последнее действие в программе, уж не знаю каким образом это происходит, но переменная int RD=300; которую я объявил сразу перед запуском кода исчезла, вот и ошибка!

Объявил переменную заново, теперь выше приведённые мой функции работают!
 
 Top
Kibor
Отправлено: 25 Августа, 2013 - 11:59:08
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Еп... Подзабыл устройство своей функции Радость . Да, там нет ошибки.
Можно и так.
Да, есть такая проблема... Возникает при неоднократном нажатие на Ctrl+Shift+Z...
Надо поправить..
 
 Top
Keeper
Отправлено: 25 Августа, 2013 - 12:43:05
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2013  
Откуда: Россия, Иркутск
Репутация: 0




 Kibor пишет:
Еп... Подзабыл устройство своей функции Радость . Да, там нет ошибки.
Можно и так.
Да, есть такая проблема... Возникает при неоднократном нажатие на Ctrl+Shift+Z...
Надо поправить..


Да, было бы замечательно, а то вот столкнулся и понять не мог в чем дело Улыбка

В любом случае, спасибо за помощь
 
 Top
Kibor
Отправлено: 25 Августа, 2013 - 17:51:41
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Запретил сочетание Ctrl+Z... Теперь не отменится...


Приведенный код можно представить проще...
function Lut()
{
if (findimage(1,#Box1[0][0],0,#Box1X,#Box1Y,0,0,w.widthclient,w.heightclient,w)==1)
{
RunLut=1;Wait=0;
mousemove(Box1X+2,Box1Y+2,w);mouse(LEFT);
sleep(rand(500,800));
return;
}//if (findimage(1,#Box1[0][0],0,#Box1X,#Box1Y,0,0,w.widthclient,w.heightclient,w)==1)

if (findimage(1,#Box2[0][0],0,#Box2X,#Box2Y,0,0,w.widthclient,w.heightclient,w)==1)
{
RunLut=1;Wait=0;
mousemove(Box2X+2,Box2Y+2,w);mouse(LEFT);
sleep(rand(500,800));
return;
}//if (findimage(1,#Box2[0][0],0,#Box2X,#Box2Y,0,0,w.widthclient,w.heightclient,w)==1)

if (findimage(1,#Box3[0][0],0,#Box3X,#Box3Y,0,0,w.widthclient,w.heightclient,w)==1)
{
RunLut=1;Wait=0;
mousemove(Box3X+2,Box3Y+2,w);mouse(LEFT);
sleep(rand(500,800));
return;
}//if (findimage(1,#Box3[0][0],0,#Box3X,#Box3Y,0,0,w.widthclient,w.heightclient,w)==1)
RunLut=0;
}//function Lut()
 
 Top
Keeper
Отправлено: 25 Августа, 2013 - 18:12:50
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2013  
Откуда: Россия, Иркутск
Репутация: 0




 Kibor пишет:
Запретил сочетание Ctrl+Z... Теперь не отменится...


Приведенный код можно представить проще...
function Lut()
{
if (findimage(1,#Box1[0][0],0,#Box1X,#Box1Y,0,0,w.widthclient,w.heightclient,w)==1)
{
RunLut=1;Wait=0;
mousemove(Box1X+2,Box1Y+2,w);mouse(LEFT);
sleep(rand(500,800));
return;
}//if (findimage(1,#Box1[0][0],0,#Box1X,#Box1Y,0,0,w.widthclient,w.heightclient,w)==1)

if (findimage(1,#Box2[0][0],0,#Box2X,#Box2Y,0,0,w.widthclient,w.heightclient,w)==1)
{
RunLut=1;Wait=0;
mousemove(Box2X+2,Box2Y+2,w);mouse(LEFT);
sleep(rand(500,800));
return;
}//if (findimage(1,#Box2[0][0],0,#Box2X,#Box2Y,0,0,w.widthclient,w.heightclient,w)==1)

if (findimage(1,#Box3[0][0],0,#Box3X,#Box3Y,0,0,w.widthclient,w.heightclient,w)==1)
{
RunLut=1;Wait=0;
mousemove(Box3X+2,Box3Y+2,w);mouse(LEFT);
sleep(rand(500,800));
return;
}//if (findimage(1,#Box3[0][0],0,#Box3X,#Box3Y,0,0,w.widthclient,w.heightclient,w)==1)
RunLut=0;
}//function Lut()


За запрет сочетания Ctrl+Z спасибо Улыбка
А насчёт кода, я так сделал изначально. но мне важна очерёдность, объясняю почему. Пока я не реализовал расчет расстояния и времени потраченного для прохождения до найденной цели, в этом упрощённом коде персонаж будет метаться между лутом как дурной.(sleep(статическое_значение) - не вариант) Так вот эта очерёдность сбора, с помощью if else, даёт относительную упорядоченность в сборе. Код я позже перепишу, когда реализую расчёт времени и расстояния. Да и переменной RunLut должно присваиваться значение 0 если не найден ни один ящик и значение 1 если найден хоть один(Надеюсь временная замена переменной типа boolean Смущение )
 
 Top
Keeper
Отправлено: 26 Августа, 2013 - 01:49:20
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 34
Дата рег-ции: Авг. 2013  
Откуда: Россия, Иркутск
Репутация: 0




Извиняюсь за вчерашний пост, пургу написал, return не заметил
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Отчет о ошибках »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by