Almighty |
Отправлено: 18 Сентября, 2023 - 21:47:23
|
Участник
Покинул форум
Сообщений всего: 64
Дата рег-ции: Июнь 2018
Откуда: Kyiv
Репутация: 2
|
Добрый день.
У меня есть файл, в который я записываю нужны координати боссов.
Запись происходит через следующий код (прикреплено 1).
В даном файле всегда будет храниться по 6 координат: 3 по Y и 3 по X.
Суть: Нужно скоприровать эти координаты по отдельности так как поиск в игре требует отдельно вставлять X и Y. А при копировании коррдинаты каждого боса записываються в 1 строку.
Подскажите, пожалуйста, как правильно их скопировать,чтобы далее вставить в игру ?
CODE:string per, t;
readclipboard (per);
t=per;
if (fopen ("D:\bot\kibor_set\exe\koor.txt", "r")!=0)
{
fclose();
if (messageboxyn ("Перезаписать файл??")==1)
{
external(INT, "DeleteFile", "DeleteFileA", "kernel32.dll");
DeleteFile("D:\bot\kibor_set\exe\koor.txt");
}
}
loop()
{
readclipboard (per);
if (per!=t)
{
t=per;
if (fopen ("D:\bot\kibor_set\exe\koor.txt", "a")!=0)
{
fwrite(per);
fwrite(ENDL);
fclose();
}
}
sleep (10) ;
}
Как записываються координаты сейчас:
856 488
711 631
837 541 |
|
|
Almighty |
Отправлено: 19 Сентября, 2023 - 12:40:57
|
Участник
Покинул форум
Сообщений всего: 64
Дата рег-ции: Июнь 2018
Откуда: Kyiv
Репутация: 2
|
Zireael пишет: Цитата: writeclipboard(+preiemnik_a[0]);
Зачем тут +?
Убрал, все равно ошибка осталось.
Решил проверить и отдельно скоприровал совсем другое число.
На при запуске киборг вставляет preiemnik_a[1]) |
|
|
Almighty |
Отправлено: 19 Сентября, 2023 - 12:48:31
|
Участник
Покинул форум
Сообщений всего: 64
Дата рег-ции: Июнь 2018
Откуда: Kyiv
Репутация: 2
|
[code][/code]win W_Kib=window ("Sneska", "Qt5QWindowIcon", -1);
int Size_Key_Char_Kib = -1;
int eX_Kib, eY_Kib;
eX_Kib=W_Kib.widthclient;
eY_Kib=W_Kib.heightclient;
string preiemnik_a[6];
//Чтение смешанными типами
if (fopen ("D:\bot\kibor_set\exe\koor.txt", "r"!=0)//открываем файл для чтения "r"
{//если открылся
fread(preiemnik_a[0]);//чтение одного слова
fread(preiemnik_a[1]);
fread(preiemnik_a[2]);
fread(preiemnik_a[3]);
fread(preiemnik_a[4]);
fread(preiemnik_a[5]);
writeclipboard(preiemnik_a[0]);
activate(W_Kib);
Key(1, W_Kib, 0, 49, "mail@mail.com - Почта", "Клик", 0);
enabledeactive(W_Kib);
pause (10000);
fclose();//закрываем файл
}
//Чтение смешанными типами
if (fopen ("D:\bot\kibor_set\exe\koor.txt", "r"!=0)//открываем файл для чтения "r"
{//если открылся
fread(preiemnik_a[0]);//чтение одного слова
fread(preiemnik_a[1]);
fread(preiemnik_a[2]);
fread(preiemnik_a[3]);
fread(preiemnik_a[4]);
fread(preiemnik_a[5]);
writeclipboard(preiemnik_a[2]);
fclose();//закрываем файл
}
activate(W_Kib);
Key(1, W_Kib, 0, 50, "mail@mail.com - Почта", "Клик", 0);
enabledeactive(W_Kib);
pause (10000);
function Key(int ew, win w, int p1, int c, string text, string k, int p2)
{
pause(p1);
if (ew==0)
{
if (k=="Клик"{key(c); goto hy;}
if (k=="Нажать"{keydown(c); goto hy;}
if (k=="Отпустить"{keyup(c); goto hy;}
if (k=="Ввод текста"{key(text, 0, 1, getwindow()); goto hy;}
}
if (ew==1)
{
if (k=="Клик"{if ((c>191 && c<256) || c==168 || c==184) sendlanguage("00000419", formatiw(gethwnd())); sendmessage(WM_CHAR, c, 1, w); goto hy;}
if (k=="Нажать"{sendkeydown(c, w); goto hy;}
if (k=="Отпустить"{sendkeyup(c, w); goto hy;}
if (k=="Ввод текста"
{
if (Size_Key_Char_Kib==-1)
{
Size_Key_Char_Kib=100;
new char Key_CHAR[Size_Key_Char_Kib+1];
}
int size_key=size(text);
if (Size_Key_Char_Kib<size_key)
{
delete Key_CHAR;
Size_Key_Char_Kib=size_key;
new char Key_CHAR[Size_Key_Char_Kib+1];
}
strcpy(#Key_CHAR[0], text);
for (int n=0; n<size_key; n++)
{
if ((Key_CHAR[n]>191 && Key_CHAR[n]<256) || Key_CHAR[n]==168 || Key_CHAR[n]==184) sendlanguage("00000419", formatiw(gethwnd()));
sendmessage(WM_CHAR, Key_CHAR[n], 1, w);
sleep(20);
}
}
}
hy: pause (p2);
}
Zireael пишет: Нужен весь код, который не работает.
Нажатие клавиши 1 - запускает макрос в нокс. Макрос содержит просто комбинацию Ctrl+V(Отредактировано автором: 19 Сентября, 2023 - 12:55:32) |
|
|
|