Dart_Zaiac |
Отправлено: 01 Декабря, 2016 - 22:04:13
|
Участник
Покинул форум
Сообщений всего: 59
Дата рег-ции: Март 2014
Репутация: 0
|
Данный скрипт для игроков EVE Online. Используется игровой жаргон и если вы его не понимаете, то он не для вас))
Данный скрипт предназначен для того, чтобы предупреждать карибасов, обитающих в клайм нулях. Во время копки или отстрела неписи внимание рассеивается и есть большая вероятность пропустить залет нейтралов в систему и соответственно потерять свой шип.
Данный скрипт - это банальная писчалка, которая начнет писчать при появлении нейтралов и перестает, когда они уходят.
Для предварительной работы потребуются начальные навыки работы в кибор как работа с картинками и умение настраивать Овервью в EVE.
В первую очередь настройте win w. Где "EVE - @Имя персонажа@" - это имя окна EVE Online. Затем в настройках овервью сосканируйте и сохраните соответственно значки опасности. Цвет значков не важен, как вам угодно, главное, чтобы все опасные были наверху и уникального, отличного от зеленого или синего цвета.(для просмотра ссылки Вам необходимо авторизоваться)
Затем отсканируйте и сохраните значки в затемненном виде (затемнение происходит, например, при добавление контакта). Даже в этот момент враг может подкрасться.(для просмотра ссылки Вам необходимо авторизоваться)
X0, Y0 - начальные координаты окна Локал (левый верхний угол)
X1, Y1 - конечные координаты окна Локал (правый нижний угол)
Затем сделаете эти-же значки на затемненном фоне
Скрипт каждую секунду сканирует зону локального чата на наличие опасных значков и в случае появление таковых начинает писчать как сирена. Удобен тем, что можно системные звуки выкрутить на минимум и заниматься другими делами, пока опасность не улетит. Как только опасность минует, писчалка замолкает.
Отмена скрипта происходит комбинацией Ctrl+Shift+Z. (Как и все скрипты Кибора)
Пользуйтесь на здоровье. Буду рад, если скрипт поможет сохранить ваш карибасский КАР))
Вопросы приветствуются!
CODE:win w= window ("EVE - @Имя персонажа@", "triuiScreen", -1);
//Значки опасности
int Image_25[9][9];loadimage (#Image_25[0][0], "C:\games\Kibor\EVE\Опасности значки\Красная звезда.bmp");
int Image_26[9][9];loadimage (#Image_26[0][0], "C:\games\Kibor\EVE\Опасности значки\Красный минус.bmp");
int Image_27[9][9];loadimage (#Image_27[0][0], "C:\games\Kibor\EVE\Опасности значки\Оранжевый Минус.bmp");
int Image_28[9][9];loadimage (#Image_28[0][0], "C:\games\Kibor\EVE\Опасности значки\Красный нейтрал.bmp");
int Image_36[9][9];loadimage (#Image_36[0][0], "C:\games\Kibor\EVE\Опасности значки\Красный нейтрал темный.bmp");
int Image_37[9][9];loadimage (#Image_37[0][0], "C:\games\Kibor\EVE\Опасности значки\Красная звезда темный.bmp");
int Image_38[9][9];loadimage (#Image_38[0][0], "C:\games\Kibor\EVE\Опасности значки\Красный минус темный.bmp");
int Image_39[9][9];loadimage (#Image_39[0][0], "C:\games\Kibor\EVE\Опасности значки\Оранжевый Минус темный.bmp");
int PosX_0[512];int PosY_0[512];
int S;
int x;
int a=0;
//Координаты окна Локала
int X0=1771;
int Y0=11;
int X1=1910;
int Y1=894;
while (a<1)
{
Trevoga();
}
function Trevoga()
{
S=0;
x=0;
x = findimage(1, #Image_25[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_26[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_27[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_28[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_36[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_37[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_38[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_39[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
if(S>0)
{
beep(1200, 500);
PokaTrevoga();
return 1;
}
}
function PokaTrevoga()
{
S=1;
while(S>0)
{
S=0;
x = findimage(1, #Image_25[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_26[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_27[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_28[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_36[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_37[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_38[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
x = findimage(1, #Image_39[0][0], 0, #PosX_0[0], #PosY_0[0], X0, Y0, X1, Y1, 20,20,20,20,20,20,80,1, w);
S=S+x;
beep(500, 500);
beep(300, 500);
}
}
|
|
|
evp |
Отправлено: 24 Марта, 2017 - 13:08:21
|
Прохожий
Покинул форум
Сообщений всего: 1
Дата рег-ции: Март 2017
Репутация: 0
|
Добрый день!
Играю в Еву, живу в нулях, занимаюсь крабством, копкой. Подобный скрипт мне бы очень пригодился, но он не работает, писк идёт постоянно, независимо от того есть нейтралы или нет. Я разумеется прописал своё имя персонажа, пути к отснятым картинкам значков нейтралов и минусов, а также расширил область поиска картинок значков, почти на весь экран, т.к. до сих пор не определюсь где мне лучше всего расположить окно локала.
Я хоть и не знаю язык C, но почитав в интернете справку по используемым в вашем скрипте операторам, всё же написал свой, более простой скрипт . Вот что получилось:
CODE:
//Скрипт системы обнаружения нейтралов и минусов (СОН) в EVE Online
win okno= window ("EVE - Catherine Khema");
//Загрузка значков нейтралов и минусов
//Для обычного состояния
int Image_1[30][30];
loadimage (#Image_1[0][0], "D:\My Documents\EVE_ONLINE_моя папка\Система обнаружения нейтралов\Значки\1.bmp"); //Для нейтралов
int Image_2[30][30];
loadimage (#Image_2[0][0], "D:\My Documents\EVE_ONLINE_моя папка\Система обнаружения нейтралов\Значки\2.bmp"); //Для красных минусов
int Image_3[30][30];
loadimage (#Image_3[0][0], "D:\My Documents\EVE_ONLINE_моя папка\Система обнаружения нейтралов\Значки\3.bmp"); //Для оранжевых минусов
int Image_4[30][30];
loadimage (#Image_4[0][0], "D:\My Documents\EVE_ONLINE_моя папка\Система обнаружения нейтралов\Значки\4.bmp"); // Для пилотов, с корпорациями которых идёт война
//Для затемнённого состояния окна (например при добавлении контакта)
int Image_1d[30][30];
loadimage (#Image_1d[0][0], "D:\My Documents\EVE_ONLINE_моя папка\Система обнаружения нейтралов\Значки\1d.bmp"); //Для нейтралов
int Image_2d[30][30];
loadimage (#Image_2d[0][0], "D:\My Documents\EVE_ONLINE_моя папка\Система обнаружения нейтралов\Значки\2d.bmp"); //Для красных минусов
int Image_3d[30][30];
loadimage (#Image_3d[0][0], "D:\My Documents\EVE_ONLINE_моя папка\Система обнаружения нейтралов\Значки\3d.bmp"); //Для оранжевых минусов
int Image_4d[30][30];
loadimage (#Image_4d[0][0], "D:\My Documents\EVE_ONLINE_моя папка\Система обнаружения нейтралов\Значки\4d.bmp"); // Для пилотов, с корпорациями которых идёт война
int pos_X_0[512];
int pos_Y_0[512];
int T; //счётчик найденых значков
int n; //вспомогательная переменная
int x0=0; //начальная x координата области поиска
int y0=0; //начальная y координата области поиска
int x1=okno.widthclient; //конечная x координата области поиска=ширина окна Евы
int y1=okno.heightclient; //конечная y координата области поиска=высота окна Евы
1:
function proverka_lokala() // Функция проверяет всё окно Евы на наличие значков нейтралов и минусов
{
T=0;
n=0;
n = findimage (1, #Image_1[0][0], 0, #posX_0[0], #posY_0[0], x0, y0, x1, y1, 20,20,20,20,20,20,80,1 okno);
T=T+n;
n = findimage (1, #Image_2[0][0], 0, #posX_0[0], #posY_0[0], x0, y0, x1, y1, 20,20,20,20,20,20,80,1, okno);
T=T+n;
n = findimage (1, #Image_3[0][0], 0, #posX_0[0], #posY_0[0], x0, y0, x1, y1, 20,20,20,20,20,20,80,1, okno);
T=T+n;
n = findimage (1, #Image_4[0][0], 0, #posX_0[0], #posY_0[0], x0, y0, x1, y1, 20,20,20,20,20,20,80,1, okno);
T=T+n;
n = findimage (1, #Image_1d[0][0], 0, #posX_0[0], #posY_0[0], x0, y0, x1, y1, 20,20,20,20,20,20,80,1, okno);
T=T+n;
n = findimage (1, #Image_2d[0][0], 0, #posX_0[0], #posY_0[0], x0, y0, x1, y1, 20,20,20,20,20,20,80,1, okno);
T=T+n;
n = findimage (1, #Image_3d[0][0], 0, #posX_0[0], #posY_0[0], x0, y0, x1, y1, 20,20,20,20,20,20,80,1, okno);
T=T+n;
= findimage (1, #Image_4d[0][0], 0, #posX_0[0], #posY_0[0], x0, y0, x1, y1, 20,20,20,20,20,20,80,1, okno);
T=T+n;
if(T>0)
{
beep(300, 500); //пищать если есть нейтралы и минуса
beep(500, 500);
}
else
{
sleep(1000); //Ждать 1 секунду если нет нейтралов и минусов
}
}
goto 1; //Рекурсивный запуск функции проверки локала на нейтралов и минусов
Но и он не работает. Кибор слегка подвисает, растёт нагрузка на процессор, как при бесконечном цикле (видно в заголовке окна Кибора):
Проведя отладку путём выяснения значения переменной T (я добавил messagebox(T) в код), выяснилось вот что:
Что это за число такое? - 842150451
Погуглив обнаружил, что не только у меня оно возникает, но причину так и не понял.
Так в чём же проблема? |
|
|
|