Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » LII Помогите пожалуйста разобраться со скриптом

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

1. Andre Lenog - 09 Марта, 2015 - 08:56:15 - перейти к сообщению
Здравствуйте!
настроил кликер, скрипт, все.
не могу додуматься как написать чтобы если мое ХП низкое он проверял атакует ли меня моб и если не атакует то садился на 20-30 сек(восстановления хп) а потом обратно в бой
(Добавление)
сама функция:

CODE:
function malo_xp()//Ïðîâåðèòü èëè õï ìàëî è áàíêè ïèòü
{if (getcolor(X_pix2, Y_pix2)!=col_pix2)//Åñëè íàäî áàíêó âûïèòü - õï ìàëî
{
if (getcolor(X_pix, Y_pix)==col_pix) //Åñëè ìîá â òàðãåòå
{
if (getcolor(X_pix, Y_pix)!=col_pix)
{

key(F6);
pause(rand(15000, 30000));
key(F6);

}
}
}
}
2. Kibor - 09 Марта, 2015 - 09:15:43 - перейти к сообщению
кракозябры уберите. где тут низкое где не низкое не ясно..

но сразу видно логика не правильная..

 Цитата:
key(F6);
pause(rand(15000, 30000));
key(F6);

никогда не выполнится..

так как оно должно выполниться если одновременно цвет не совпал и совпал.
такого не может быть.
3. Andre Lenog - 09 Марта, 2015 - 09:37:40 - перейти к сообщению
 Kibor пишет:
кракозябры уберите. где тут низкое где не низкое не ясно..

но сразу видно логика не правильная..

 Цитата:
key(F6);
pause(rand(15000, 30000));
key(F6);

никогда не выполнится..

так как оно должно выполниться если одновременно цвет не совпал и совпал.
такого не может быть.

этот иф проверят мало ли у меня хп
CODE:
if (getcolor(X_pix2, Y_pix2)!=col_pix2)

этот иф проверяет есть ли моб в таргете
CODE:
if (getcolor(X_pix, Y_pix)==col_pix)

а этот проверяет что моб мертв
CODE:
if (getcolor(X_pix, Y_pix)!=col_pix)

как мне записать чтоб при нажатии (F6) он ничего не делал 20 сек и одновременно проверял бют ли персонажа?
4. Kibor - 09 Марта, 2015 - 09:44:15 - перейти к сообщению
 Цитата:
if (getcolor(X_pix, Y_pix)==col_pix) //Åñëè ìîá â òàðãåòå
{
if (getcolor(X_pix, Y_pix)!=col_pix)
{

key(F6);
pause(rand(15000, 30000));
key(F6);

}
}

очень интересная получилась конструкция....

она же в сокращение
CODE:
if (getcolor(X_pix, Y_pix)==col_pix && getcolor(X_pix, Y_pix)!=col_pix) //Åñëè ìîá â òàðãåòå
{

key(F6);
pause(rand(15000, 30000));
key(F6);

}


или в абстракции
CODE:
if (a==5 && a!=5) //Åñëè ìîá â òàðãåòå
{

key(F6);
pause(rand(15000, 30000));
key(F6);

}


или в расшифровке
 Цитата:
если (a равно 5 и a не равно 5) //Åñëè ìîá â òàðãåòå
{
//выполнить это
key(F6);
pause(rand(15000, 30000));
key(F6);

}


ошибка логики видно??
5. Andre Lenog - 09 Марта, 2015 - 09:49:25 - перейти к сообщению
 Kibor пишет:
 Цитата:
if (getcolor(X_pix, Y_pix)==col_pix) //Åñëè ìîá â òàðãåòå

}


ошибка логики видно??

Да. Я вас понял))
Попробую описать в разных переменных))
Еще хотел спросить язык программирования в среде кибор - "сишка"?
6. Kibor - 09 Марта, 2015 - 09:55:51 - перейти к сообщению
 Andre Lenog пишет:
язык программирования в среде кибор - "сишка"?

си подобный...
на самом деле выдуманный.. просто синтаксис подобный но не все идентично.
7. yo1 - 10 Марта, 2015 - 07:44:26 - перейти к сообщению
Примерно так, мб:

CODE:

тут начало скрипта

sd:;
if (getcolor(X_pix, Y_pix)!=col_pix) // хотя лучше использовать findimage
{
malo_hp();
pause(rand(500, 800));
nextarget();
}
goto sd;

sd2:;
if (getcolor(X_pix, Y_pix)==col_pix)
{
atacka();
heal(); // банки, самохил, прочее
pause(100);
goto sd2:;
}
pause(100);
goto sd:;


///////////////////////////////


function malo_xp()
{
if (getcolor(X_pix2, Y_pix2)!=col_pix2) // нет хп
{
key(F6);
pause(rand(15000, 30000)); // цифры не считал, смотри сам уже
key(F6);
}
}


(Добавление)
Можно даже так сделать:
CODE:

function malo_xp()
{
if (getcolor(X_pix2, Y_pix2)!=col_pix2) // нет хп
{
key(F6); // сел
}
if (getcolor(X_pix2, Y_pix2)==col_pix2) // есть хп
{
key(F6); // встал
}
}
8. Fogsand - 10 Марта, 2015 - 14:38:24 - перейти к сообщению
Здравствуйте!
Помогите разобраться с findeimage
Вот такой скрипт.
Задача под скриптом!
win w=window ("Ôðàíöóçñêàÿ ðóëåòêà - Casino King", "PTIODEVICE", -1);
activate (w);
w.leftclient=10; w.topclient=30;
moveclient(w);



int Image_0[21][25];
loadimage (#Image_0[0][0], "C:\Kibor\king\Image_0.bmp"Подмигивание;
int PosX_0[1];int PosY_0[1];
int Image_1[23][26];
loadimage (#Image_1[0][0], "C:\Kibor\king\Image_1.bmp"Подмигивание;
int PosX_1[1];int PosY_1[1];
int Image_2[27][27];
loadimage (#Image_2[0][0], "C:\Kibor\king\Image_2.bmp"Подмигивание;
int PosX_2[1];int PosY_2[1];
int Image_3[27][27];
loadimage (#Image_3[0][0], "C:\Kibor\king\Image_3.bmp"Подмигивание;
int PosX_3[1];int PosY_3[1];

loop: if (poisk()==-1){messagebox("ÍÀÉÄÅÍÎ"Подмигивание;goto error;}
mouse(LEFT, 458, 539);
sleep (200);
goto loop;

error:;

function poisk()
{
if (poisk_level(#Image_0[0][0])==1) return 1;
if (poisk_level(#Image_1[0][0])==1) return 1;
if (poisk_level(#Image_2[0][0])==1) return 1;
if (poisk_level(#Image_3[0][0])==1) return 1;

return -1;


}

function poisk_level(int #Image_par)
{
if (findimage(-1, #Image_par[0][0], 65280, #PosX_0[0], #PosY_0[0], 0, 0, 800, 600, w)<1)
{
return 1;
}

return -1;

}
(Добавление)
Вопрос почему не находит картинки?
если ставить ретурн 1 в функции поис в фигурные скобки находит только одну первую в списке картинку другие не ишет.
В таком виде ниодной не находит. подсмотрел в солитёре!

Вопрос
1 как сделать так что бы из допустим 10 картинок он находил 9 не учитывая повторяюшиеся картинки при выпадении и показывал оставшиюся не найденую.

2 допустим у меня 10 картинок 5 из нх красные картинки с разным содержанием а другие чёрные как сделать так чтоб он искал цепочку например из 4 красных катинок появляющихся подподрят..
(сюдаже например надо в течении 10 мин искать самые длинные цепочки красных или чёрных записать или сохранить найденную самую длинную а потом, отключаем таймер и находим цепочку найденой длины зарание (выполнять функции это сам думаю допру). потом закольцевать но уже без таймера и приэтом продолжать анализировать длинну выпадающих цепочек. Простите за бордак но както так.

Хотябы с вопросом 2 хелп поподробнее. Даже не представлю как реализовать или в обших чертах поэтапно напишите что делать!

3 Можно ли функции mouse(LEFT) указать сколько ей подподрят нажать раз. можно и со слипом.
9. Andre Lenog - 10 Марта, 2015 - 16:50:43 - перейти к сообщению
yo1 , спасибо за ответ! а куда именно вставлять метки?? в начало основного цикла?
10. yo1 - 10 Марта, 2015 - 22:42:40 - перейти к сообщению
 Andre Lenog пишет:
а куда именно вставлять метки?? в начало основного цикла?

Какие метки? А что у вас в начале основного цикла?

Powered by ExBB FM 1.0 Final