AdryV |
Отправлено: 11 Июня, 2016 - 12:12:03
|
Специалист
Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016
Репутация: 11
|
Простой кликер кнопок по таймеру для игры Blade & Soul, настройки игры должны быть по умолчанию и на правую кнопку мыши поставить "\", работает на Ру Офе(с помощью публичного антиантикликера PS/2 клавиатура) и EU, разрешение 1920/1080, привязки к окну нет, для сбора ищет изображения лута, для квестов ищет в открытом диалоге над выйти и контур кнопки Y(минус у торгашей и на складе жмет постоянно F), для атаки ищет изображение рамки полоски мобов и босов, пауза скрипта по нажатию средней кнопки мыши.
В общем в окне все включается и настраивается.
Все настройки окна берутся из текстового файла
Кликер B&S v0.1 (Отобразить)CODE:int pos_size_edit0[14][4], pos_size_check0[23][4], flag_check0[23], pos_size_combo0[1][4], strok_combo0[1], flag_combo0[1], pos_size_button0[1][4], flag_button0[1], t[14], t1[14], kod[16], kodi[17], galki[23][4], edit[23][4], tim, n, n1, n2, zona[16], koordinati[16], x[1], y[1];
string text_edit0[14], text_check0[23], text_combo0[1][8], text_button0[1], text[23], kombo[1][8];
int flag_combo=-1;
int f=0;
int sozdat=0;
//настройки которые считываются из текстового файла
if (fopen ("настройки окна", "r")!=0)//открываем настройки
{
for(n=0; n<14; n++){for(n1=0; n1<4; n1++){fread(edit[n][n1]);}}//параметры полей эдит
for(n=0; n<23; n++){for(n1=0; n1<4; n1++){fread(galki[n][n1]);}}//параметры галок
for(n=0; n<23; n++){freadline(text[n]);}//тескт галок
for(n=0; n<1; n++){for(n1=0; n1<8; n1++){freadline(kombo[n][n1]);}}//комбо списки класы персонажей
for(n=0; n<17; n++){fread(kodi[n]);}//коды клавишь
for(n=0; n<16; n++){fread(koordinati[n]);}//координаты поиска изображений X Y начало, X Y конец
fclose();//закрываем файл
}
//настройки полей эдит..... считывается из текстового файла
for(n=0; n<14; n++){text_edit0[n]="0";for(n1=0; n1<4; n1++){pos_size_edit0[n][n1]=edit[n][n1];}}
//настройки галок и текст..... считывается из текстового файла
for(n=0; n<23; n++){flag_check0[n]=0;text_check0[n]=text[n];for(n1=0; n1<4; n1++){pos_size_check0[n][n1]=galki[n][n1];}}
//комбо список... класы персонажей..... считывается из текстового файла
for(n=0; n<1; n++){for(n1=0; n1<8; n1++){text_combo0[n][n1]=kombo[n][n1];}}
//расположение списка комбо
pos_size_combo0[0][0]=150; pos_size_combo0[0][1]=200; pos_size_combo0[0][2]=140; pos_size_combo0[0][3]=140;
strok_combo0[0]=8;//количество строк
flag_combo0[0]=0;
//расположение кнопки сохранить
pos_size_button0[0][0]=300; pos_size_button0[0][1]=200; pos_size_button0[0][2]=80; pos_size_button0[0][3]=20;
text_button0[0]="Сохранить";
//создание окна
createdialog(0, EDIT, #pos_size_edit0[0][0], #text_edit0[0] | CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0] | COMBO, #pos_size_combo0[0][0], #text_combo0[0][0], #strok_combo0[0], #flag_combo0[0] | BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
//название окна, положение и размеры, поверх окон
showdialog(0, "B&S Кликер", 1400, 400, 400, 550, 1, 0);
//настройки антиантикликера
options ("antianticlicker", 2, 1, 0, 0, 5, 0, 0);
//коды кнопок..... считывается из текстового файла
for(n=0; n<17; n++){kod[n]=kodi[n];}
//количество и максимальные размеры изображений
int Image_[25][200][100];
//загрузка изображений
for(n=16; n<25; n++){loadimage (#Image_[n][0][0], "Image_"+format(n)+".bmp");}
//координаты зон поиска изображений..... считывается из текстового файла
for(n=0; n<16; n++){zona[n]=koordinati[n];}
//время
for(n1=0; n1<14; n1++){t1[n1]=gettime();}
//включаем таймер 0
enabletimer(0);
//основной код
loop()
{
//поднять лут и тд
for(n2=16; n2<21; n2++)
{
if (flag_check0[n2]==1)
{
if (findimage(1, #Image_[n2][0][0], 0, #x[0], #y[0], zona[0], zona[1], zona[2], zona[3], 0, 0, 0, 0, 0, 0, 70, 0, -1)==1){key(kod[11]);pause(70);}
}
}
//Квесты ищем изображение над кнопкой выйти
if (flag_check0[21]==1)
{
keyf: if (findimage(1, #Image_[21][0][0], 0, #x[0], #y[0], zona[8], zona[9], zona[10], zona[11], 5, 5, 5, 5, 5, 15, 70, 0, -1)==1)
{
key(kod[11]);//кнопка F
if (findimage(1, #Image_[22][0][0], 0, #x[0], #y[0], zona[12], zona[13], zona[14], zona[15], 5, 5, 5, 5, 5, 5, 70, 0, -1)==1)
{//ищем изображение кнопки Y
pause(50);
key(kod[14]);//кнопка Y
pause(50);
}
else {pause(200); goto keyf;}//не нашли возвращаемся к нажатию кнопки F
}
}
//Атака ищет изображения рамки ХП мобов и босов
if (flag_check0[22]==1)
{
if (findimage(1, #Image_[23][0][0], 0, #x[0], #y[0], zona[4], zona[5], zona[6], zona[7], 0, 0, 0, 0, 0, 0, 80, 0, -1)==1 || findimage(1, #Image_[24][0][0], 0, #x[0], #y[0], zona[4], zona[5], zona[6], zona[7], 0, 0, 0, 0, 0, 0, 80, 0, -1)==1)
{
if (f==0)
{
for(n1=0; n1<14; n1++){t1[n1]=gettime();}
f=1;
}
}
else f=0;
sleep(50);
}
}
//таймер
CREATE_TIMER(0, 50)//Номер таймера, выполнение таймера через мсек.
{
//чек галок и паузы в поле едит
if (f==1)
{
tim=gettime();
for(n=0; n<14; n++)
{
if (flag_check0[n]==1)
{
if (tim-t1[n]>=formatsn(text_edit0[n])){key(kod[n]);t1[n]=tim;}
}
}
}
//антиантикликер
antianticlicker(flag_check0[15]);
//Проверка кнопки Капс пауза скрипта
if(flag_check0[14]==1)
{
if (getkeystate(kod[16])==1)
{
ha:if (getkeystate(kod[16])==1){sleep(10); textout(0, 100, 120, "Остановлен", 2); goto ha;}
{
sa: if (getkeystate(kod[16])==1)
{
ha1:if (getkeystate(kod[16])==1){sleep(10); f=0; textout(0, 100, 120, "Запущен", 2); goto ha1;}
goto ex;
}
sleep(10);
goto sa;
}
}
ex:;
}
//считывание пауз из списка файлов
for(n1=0; n1<8; n1++) //перебираем список
{
if (flag_combo0[0]==n1)
{
if (flag_combo!=flag_combo0[0])//если флаг не равен прежнему выбору то выполнять
{
flag_combo=flag_combo0[0];
if (fopen (text_combo0[0][n1], "r")!=0)//открываем выбранный файл
{
for(n=0; n<14; n++){fread(text_edit0[n]);fread(flag_check0[n]);}//считываем поля эдит и галки
fclose();//закрываем файл
}
//если не нашли открываемый файл
else {sozdat=1; goto soz;}//переходим на его создание с обнулением галок
}
}
}
//кнопка сохранить если нажата то выполнять сохранение
if (flag_button0[0]==1)
{
soz: for(n1=0; n1<8; n1++) //перебираем какой пункт активен
{
if (flag_combo0[0]==n1)
{
if (fopen (text_combo0[0][n1], "w")!=0) //открываем для записи файл
{
for (n=0; n<14; n++)
{
if (sozdat==1)//если создать = 1 то выполняем обнуление полей и галок
{
text_edit0[n]="0";//обнуление поля
flag_check0[n]=0;//обнуление галки
}
fwrite(text_edit0[n]);//поле ввода
fwrite(ENDL);//переход строки
fwrite(flag_check0[n]);//записываем галки
fwrite(ENDL);//переход строки
}
fclose();//закрываем открытый файл
sozdat=0;//создать =0, отключаем обнуление
}
}
}
flag_button0[0]=0; //отпускаем кнопку
}
//
}
изображения файл настройки и скомпиленый exe
вроди ничего не упустил. |
|
|
AdryV |
Отправлено: 13 Июня, 2016 - 18:34:27
|
Специалист
Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016
Репутация: 11
|
Кликер B&S v0.2
+весь лут сбор и тд обьединен в одну галку
+убран лишний код
+добавлена пауза всего скрипта по нажатию любой из кнопок умений
пауза срабатывает если она нажата именно на клавиатуре
пауза применяется для использования умений с подготовкой, к примеру у Мастер Кунг-фу и Мастер Клинка на 1-це весит блок 1-2 секунды держит
для этого вводим в поле напротив 2000 и после нажатия 1 будет пауза всего скрипта на 2-е секунды
-при нажатии любой кнопки умений происходит пауза 0мс немного сбивает
Код Кликер B&S v0.2 (Отобразить)CODE:int pos_size_edit0[28][4], pos_size_check0[19][4], flag_check0[19], pos_size_combo0[1][4], strok_combo0[1], flag_combo0[1], pos_size_button0[1][4], flag_button0[1], t1[14], kod[28], tim, n, n1, n2, zona[16], x[1], y[1];
string text_check0[19], text_edit0[28], text_combo0[1][8], text_button0[1];
int flag_combo=-1;
int f=0;
int sozdat=0;
//настройки которые считываются из текстового файла
if (fopen ("настройки окна", "r")!=0)//открываем настройки
{
for(n=0; n<28; n++){for(n1=0; n1<4; n1++){fread(pos_size_edit0[n][n1]);}}//параметры полей эдит
for(n=0; n<19; n++){for(n1=0; n1<4; n1++){fread(pos_size_check0[n][n1]);}}//параметры галок
for(n=0; n<1; n++){for(n1=0; n1<4; n1++){fread(pos_size_combo0[n][n1]);}}//комбо расположение
for(n=0; n<19; n++){freadline(text_check0[n]);}//текст галок
for(n=0; n<8; n++){freadline(text_combo0[0][n]);}//текст комбо
for(n=0; n<28; n++){fread(kod[n]);}//коды клавиш
for(n=0; n<16; n++){fread(zona[n]);}//координаты поиска изображений X Y начало, X Y конец
fclose();//закрываем файл
}
//по умолчанию в поле эдит 0
for(n=0; n<28; n++){text_edit0[n]="0";}
//по умолчанию все галки отключены
for(n=0; n<19; n++){flag_check0[n]=0;}
//комбо
flag_combo0[0]=0;
strok_combo0[0]=8;
//расположение кнопки сохранить
pos_size_button0[0][0]=330; pos_size_button0[0][1]=120; pos_size_button0[0][2]=80; pos_size_button0[0][3]=20;
text_button0[0]="Сохранить";
//создание окна
createdialog(0, EDIT, #pos_size_edit0[0][0], #text_edit0[0] | CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0] | COMBO, #pos_size_combo0[0][0], #text_combo0[0][0], #strok_combo0[0], #flag_combo0[0] | BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
//название окна, положение и размеры
showdialog(0, "B&S Кликер", 100, 140, 420, 350, 1, 0);
//настройки антиантикликера
options ("antianticlicker", 2, 1, 0, 0, 5, 0, 0);
//количество и максимальные размеры изображений
int Image_[10][200][100];
//загрузка изображений
for(n=0; n<10; n++){loadimage (#Image_[n][0][0], "Image_"+format(n)+".bmp");}
//время
for(n1=0; n1<14; n1++){t1[n1]=gettime();}
//включаем таймер 0
enabletimer(0);
//основной код
loop()
{
//поднять лут и тд
if (flag_check0[16]==1)
{
for(n2=4; n2<10; n2++)
{
if (findimage(1, #Image_[n2][0][0], 0, #x[0], #y[0], zona[0], zona[1], zona[2], zona[3], 0, 0, 0, 0, 0, 0, 70, 0, -1)==1){key(kod[11]);pause(50);}
}
}
//Квесты ищем изображение над кнопкой выйти
if (flag_check0[17]==1)
{
keyf: if (findimage(1, #Image_[2][0][0], 0, #x[0], #y[0], zona[8], zona[9], zona[10], zona[11], 5, 5, 5, 5, 5, 15, 70, 0, -1)==1)
{
key(kod[11]);//кнопка F
if (findimage(1, #Image_[3][0][0], 0, #x[0], #y[0], zona[12], zona[13], zona[14], zona[15], 5, 5, 5, 5, 5, 5, 70, 0, -1)==1)
{//ищем изображение кнопки Y
pause(50);
key(89);//кнопка Y
pause(50);
}
else {pause(200); goto keyf;}//не нашли возвращаемся к нажатию кнопки F
}
}
//Атака ищет изображения рамки ХП мобов и босов
if (flag_check0[18]==1)
{
if (findimage(1, #Image_[0][0][0], 0, #x[0], #y[0], zona[4], zona[5], zona[6], zona[7], 0, 0, 0, 0, 0, 0, 80, 0, -1)==1 || findimage(1, #Image_[1][0][0], 0, #x[0], #y[0], zona[4], zona[5], zona[6], zona[7], 0, 0, 0, 0, 0, 0, 80, 0, -1)==1)
{
if (f==0)
{
for(n1=0; n1<14; n1++){t1[n1]=gettime();}
f=1;
}
}
else f=0;
sleep(50);
}
}
//таймер
CREATE_TIMER(0, 50)//Номер таймера, выполнение таймера через мсек.
{
//пауза всего скрипта при нажатии кнопок,
for (int n4=14; n4<28; n4++)
{
if (getkeystate(kod[n4])==1)
{
f=0;
textout(0, 100, 120, "Пауза", 2);
pause(formatsn(text_edit0[n4]));
textout(0, 100, 120, "Запущен", 2);
}
}
//чек галок и паузы в поле едит
if (f==1)
{
tim=gettime();
for(n=0; n<14; n++)
{
if (flag_check0[n]==1)
{
if (tim-t1[n]>=formatsn(text_edit0[n])){key(kod[n]);t1[n]=tim;}
}
}
}
//антиантикликер
antianticlicker(flag_check0[15]);
//Проверка кнопки колеса мыши пауза скрипта
if(flag_check0[14]==1)
{
if (getkeystate(4)==1)
{
ha:if (getkeystate(4)==1){sleep(10); textout(0, 100, 120, "Остановлен", 2); goto ha;}
{
sa: if (getkeystate(4)==1)
{
ha1:if (getkeystate(4)==1){sleep(10); f=0; textout(0, 100, 120, "Запущен", 2); goto ha1;}
goto ex;
}
sleep(10);
goto sa;
}
}
ex:;
}
//считывание пауз из списка файлов
for(n1=0; n1<8; n1++) //перебираем список
{
if (flag_combo0[0]==n1)
{
if (flag_combo!=flag_combo0[0])//если флаг не равен прежнему выбору то выполнять
{
flag_combo=flag_combo0[0];
if (fopen (text_combo0[0][n1], "r")!=0)//открываем выбранный файл
{
for(n=0; n<14; n++){fread(text_edit0[n]);fread(flag_check0[n]);}//считываем поля эдит и галки
fclose();//закрываем файл
}
//если не нашли открываемый файл
else {sozdat=1; goto soz;}//переходим на его создание с обнулением галок
}
}
}
//кнопка сохранить если нажата то выполнять сохранение
if (flag_button0[0]==1)
{
soz: for(n1=0; n1<8; n1++) //перебираем какой пункт активен
{
if (flag_combo0[0]==n1)
{
if (fopen (text_combo0[0][n1], "w")!=0) //открываем для записи файл
{
for (n=0; n<14; n++)
{
if (sozdat==1)//если создать = 1 то выполняем обнуление полей и галок
{
text_edit0[n]="0";//обнуление поля
flag_check0[n]=0;//обнуление галки
}
fwrite(text_edit0[n]);//поле ввода
fwrite(ENDL);//переход строки
fwrite(flag_check0[n]);//записываем галки
fwrite(ENDL);//переход строки
}
fclose();//закрываем открытый файл
sozdat=0;//создать =0, отключаем обнуление
}
}
}
flag_button0[0]=0; //отпускаем кнопку
}
//
}
Все файлы(Отредактировано автором: 13 Июня, 2016 - 18:36:33) |
|
|
AdryV |
Отправлено: 15 Июня, 2016 - 07:10:05
|
Специалист
Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016
Репутация: 11
|
BigZee , кстати только сегодня додумался, если ты хочешь что бы был простой макрос нажимающий кнопки то можно сделать так:
CODE:options ("antianticlicker", 2, 1, 0, 0, 5, 0, 0);//настройка публичного антиантикликера
antianticlicker (1);//включение
loop()
{
if(getkeystate(4)==1)// ждет нажатия кнопки колеса мыши любую кнопку можно
{//если нажата выполнить код в скобках
key(70);//кнопка F
pause(1000); //пауза сек
key(69);//кнопка E
pause(1000); //пауза сек
key(51);//кнопка 3
}
sleep(50);
}
Коды кнопок
ну это простой вариант без поиска изображений
этот кусок прекрасно пашет на ру офе
а так вообще я бы реализовал все кнопки через комбо список, в поля эдит паузы или геттайм...
может когданить и добавлю(Отредактировано автором: 15 Июня, 2016 - 07:12:35) |
|
|
AdryV |
Отправлено: 16 Июня, 2016 - 10:50:31
|
Специалист
Покинул форум
Сообщений всего: 449
Дата рег-ции: Май 2016
Репутация: 11
|
Скриншот окна
Кликер B&S v0.3
+добавлена галка включения паузы
+изменены фалы настройки класов
+пауза теперь включается только если вы в бою
+все галки и поля пауз сохраняются в класах
пожалуй на этом все, идеи закончились. меня вполне устраивает как он работает, может позже добавлю в него макросы...
Код Кликер B&S v0.3 (Отобразить)CODE:int pos_size_edit0[28][4], pos_size_check0[20][4], flag_check0[20], pos_size_combo0[1][4], strok_combo0[1], flag_combo0[1], pos_size_button0[1][4], flag_button0[1], t1[14], kod[28], tim, n, n1, n2, zona[16], x[1], y[1];
string text_check0[20], text_edit0[28], text_combo0[1][8], text_button0[1];
int flag_combo=-1;
int f=0;
int sozdat=0;
//настройки которые считываются из текстового файла
if (fopen ("настройки окна", "r")!=0)//открываем настройки
{
for(n=0; n<28; n++){for(n1=0; n1<4; n1++){fread(pos_size_edit0[n][n1]);}}//параметры полей эдит
for(n=0; n<20; n++){for(n1=0; n1<4; n1++){fread(pos_size_check0[n][n1]);}}//параметры галок
for(n=0; n<1; n++){for(n1=0; n1<4; n1++){fread(pos_size_combo0[n][n1]);}}//комбо расположение
for(n=0; n<20; n++){freadline(text_check0[n]);}//тескт галок
for(n=0; n<8; n++){freadline(text_combo0[0][n]);}//текст комбо
for(n=0; n<28; n++){fread(kod[n]);}//коды клавишь
for(n=0; n<16; n++){fread(zona[n]);}//координаты поиска изображений X Y начало, X Y конец
fclose();//закрываем файл
}
//по умолчанию в поле эдит 0
for(n=0; n<28; n++){text_edit0[n]="0";}
//по умолчанию все галки отключены
for(n=0; n<20; n++){flag_check0[n]=0;}
//комбо
flag_combo0[0]=0;
strok_combo0[0]=8;
//расположение кнопки сохранить
pos_size_button0[0][0]=330; pos_size_button0[0][1]=140; pos_size_button0[0][2]=80; pos_size_button0[0][3]=20;
text_button0[0]="Сохранить";
//создание окна
createdialog(0, EDIT, #pos_size_edit0[0][0], #text_edit0[0] | CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0] | COMBO, #pos_size_combo0[0][0], #text_combo0[0][0], #strok_combo0[0], #flag_combo0[0] | BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
//название окна, положение и размеры
showdialog(0, "B&S Кликер", 100, 140, 420, 350, 1, 0);
//настройки антиантикликера
options ("antianticlicker", 2, 1, 0, 0, 5, 0, 0);
//количество и максимальные размеры изображений
int Image_[10][200][100];
//загрузка изображений
for(n=0; n<10; n++){loadimage (#Image_[n][0][0], "Image_"+format(n)+".bmp");}
//время
for(n1=0; n1<14; n1++){t1[n1]=gettime();}
//включаем таймер 0
enabletimer(0);
//основной код
loop()
{
//поднять лут и тд
if (flag_check0[16]==1)
{
for(n2=4; n2<10; n2++)
{
if (findimage(1, #Image_[n2][0][0], 0, #x[0], #y[0], zona[0], zona[1], zona[2], zona[3], 0, 0, 0, 0, 0, 0, 70, 0, -1)==1){key(kod[11]);pause(50);}
}
}
//Квесты ищем изображение над кнопкой выйти
if (flag_check0[17]==1)
{
keyf: if (findimage(1, #Image_[2][0][0], 0, #x[0], #y[0], zona[8], zona[9], zona[10], zona[11], 5, 5, 5, 5, 5, 15, 70, 0, -1)==1)
{
key(kod[11]);//кнопка F
if (findimage(1, #Image_[3][0][0], 0, #x[0], #y[0], zona[12], zona[13], zona[14], zona[15], 5, 5, 5, 5, 5, 5, 70, 0, -1)==1)
{//ищем изображение кнопки Y
pause(50);
key(89);//кнопка Y
pause(50);
}
else {pause(200); goto keyf;}//не нашли возвращаемся к нажатию кнопки F
}
}
//Атака ищет изображения рамки ХП мобов и босов
if (flag_check0[18]==1)
{
if (findimage(1, #Image_[0][0][0], 0, #x[0], #y[0], zona[4], zona[5], zona[6], zona[7], 0, 0, 0, 0, 0, 0, 80, 0, -1)==1 || findimage(1, #Image_[1][0][0], 0, #x[0], #y[0], zona[4], zona[5], zona[6], zona[7], 0, 0, 0, 0, 0, 0, 80, 0, -1)==1)
{
if (f==0)
{
for(n1=0; n1<14; n1++){t1[n1]=gettime();}
f=1;
}
}
else f=0;
sleep(50);
}
}
//таймер
CREATE_TIMER(0, 50)//Номер таймера, выполнение таймера через мсек.
{
//чек галок и паузы в полях едит
if (f==1)
{
tim=gettime();
for(n=0; n<14; n++)
{
if (flag_check0[n]==1)
{
if (tim-t1[n]>=formatsn(text_edit0[n])){key(kod[n]);t1[n]=tim;}
}
}
if (flag_check0[19]==1)
{
for (n=14; n<28; n++)
{
if(getkeystate(kod[n])==1)
{
f=0;
textout(0, 100, 120, "Пауза", 2);
pause(formatsn(text_edit0[n]));
textout(0, 100, 120, "Запущен", 2);
}
}
}
}
//антиантикликер
antianticlicker(flag_check0[15]);
//Проверка кнопки колеса мыши пауза скрипта
if(flag_check0[14]==1)
{
if (getkeystate(4)==1)
{
ha:if (getkeystate(4)==1){sleep(10); textout(0, 100, 120, "Остановлен", 2); goto ha;}
{
sa: if (getkeystate(4)==1)
{
ha1:if (getkeystate(4)==1){sleep(10); f=0; textout(0, 100, 120, "Запущен", 2); goto ha1;}
goto ex;
}
sleep(10);
goto sa;
}
}
ex:;
}
//считывание пауз из списка файлов
for(n1=0; n1<8; n1++) //перебираем список
{
if (flag_combo0[0]==n1)
{
if (flag_combo!=flag_combo0[0])//если флаг не равен прежнему выбору то выполнять
{
flag_combo=flag_combo0[0];
if (fopen (text_combo0[0][n1], "r")!=0)//открываем выбранный файл
{
for(n=0; n<28; n++){fread(text_edit0[n]);}
for(n=0; n<20; n++){fread(flag_check0[n]);}//считываем поля эдит и галки
fclose();//закрываем файл
}
//если не нашли открываемый файл
else {sozdat=1; goto soz;}//переходим на его создание с обнулением галок
}
}
}
//кнопка сохранить если нажата то выполнять сохранение
if (flag_button0[0]==1)
{
soz: for(n1=0; n1<8; n1++) //перебираем какой пункт активен
{
if (flag_combo0[0]==n1)
{
if (fopen (text_combo0[0][n1], "w")!=0) //открываем для записи файл
{
for(n=0; n<28; n++){if(sozdat==1){text_edit0[n]="0";}fwrite(text_edit0[n]+" ");}
fwrite(ENDL);
for(n=0; n<20; n++){if(sozdat==1){flag_check0[n]=0;}fwrite(flag_check0[n]);fwrite(" ")}
fclose();//закрываем открытый файл
sozdat=0;//создать =0, отключаем обнуление
}
}
}
flag_button0[0]=0; //отпускаем кнопку
}
//
}
все файлы
(Добавление)
забыл добавать что кнопка \ заменена на кнопку T и отплов нажатий этих кнопок происходит как левая кнопка мыши и правая |
|
|
|