Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Создать txt файл, прописать в нем координаты - и затем считывать

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

1. PElllETO - 16 Августа, 2018 - 01:27:11 - перейти к сообщению
Возможно ли в Киборе допустим написать код: - при определенном начальном действии (к примеру кликов в определенном месте окна игры программы) создавать txt файл в на диске, прописывать туда записанные координат этих кликов мыши через попап Кибора - и затем уже от них отталкиваться на выполнение дальнейшего выполнения кода ехе, т.е. следующий цикл кода будет кликать по этим координатам?
Если этого txt файла нет на диске в определенном месте либо какое то другое условие - то всегда предлагать создать этот файл и прописывать туда нужные координаты Улыбка

Вот допустим игра Рыбалка, требуется: выбрать определенную локацию, забросить удочки в определенные места координат, - и все это нужно записать в файл для дальнейшего продолжения цикла, чтобы Код работал по этим координатам, всегда обращался к файлу txt/
Затем, когда перешел на другую локацию - то прописывать уже другие начальные координаты кликов в файл, а старые координаты затирать, либо дописывать лишнее условие.
2. Kibor - 16 Августа, 2018 - 02:44:15 - перейти к сообщению
Конечно.
3. Zireael - 16 Августа, 2018 - 03:30:16 - перейти к сообщению
code (Отобразить)

Если файл не существует он будет создан. При нажатии на левую кнопку мыши координаты будут записаны в файл. Для остановки скрипта нажать пробел.
Если файл существует файл будет прочитан в массив. Курсор будет наведён на указанные координаты.
4. Kibor - 16 Августа, 2018 - 03:43:03 - перейти к сообщению
Что то очень мудренно.

 Zireael пишет:
for(int i=0; fread(s[i])!=0; i++){}fclose(); // читаем весь файл в массив

for(int j=0; j {
crds[j][1]=formatsn(s[j*2]); crds[j][2]=formatsn(s[j*2+1]);
}
count=j; // количество координат


Заменить на
CODE:
count=0;
loop()
{
fread(crds[count][0]);
if (fread(crds[count][1])==0) break;
count++;
}
fclose();


Это приведет к краху если нет файла, так как fclose надо вызывать только в случае открытия файла. А тут он вынесен за пределы тела выполняемого только при открытие удачном. То есть fclose выполнится даже если файл не открыт и будет ошибка.
 Zireael пишет:
if(fopen("C:\Users\yacir\Desktop\filetxt.txt", "w")!=0) // открываем его для записи
{
loop()
{
if(getkeystate(1)==1) // если нажата левая кнопка мыши
{
getmouse(x, y); // получаем координаты, экранные
fwrite(format(x)+" "+format(y)); fwrite(ENDL); // записываем их в файл
while(getkeystate(1)==1)sleep(10); // ждём когда левая кнопка будет отпущена
}

if(getkeystate(32)==1)break; // если нажат пробел, выходим из цикла loop()
sleep(1);
}
}
fclose(); // закрываем файл
5. Zireael - 16 Августа, 2018 - 04:07:16 - перейти к сообщению
 Цитата:
Это приведет к краху если нет файла

Да, на одну скобку выше надо его поставить.
И с индексами косяк был. Исправил:
code (Отобразить)

Powered by ExBB FM 1.0 Final