Dantes3000 |
Отправлено: 16 Ноября, 2018 - 09:24:15
|
Эксперт
Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016
Репутация: 58
|
CODE:int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
pos_size_button0[0][0]=54; pos_size_button0[0][1]=166; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Кнопка 0";
//////////
int pos_size_check0[5][4];
string text_check0[5];
int flag_check0[5];
pos_size_check0[0][0]=68; pos_size_check0[0][1]=13; pos_size_check0[0][2]=60; pos_size_check0[0][3]=20;
pos_size_check0[1][0]=67; pos_size_check0[1][1]=39; pos_size_check0[1][2]=60; pos_size_check0[1][3]=20;
pos_size_check0[2][0]=69; pos_size_check0[2][1]=69; pos_size_check0[2][2]=60; pos_size_check0[2][3]=20;
pos_size_check0[3][0]=70; pos_size_check0[3][1]=97; pos_size_check0[3][2]=60; pos_size_check0[3][3]=20;
pos_size_check0[4][0]=71; pos_size_check0[4][1]=126; pos_size_check0[4][2]=60; pos_size_check0[4][3]=20;
text_check0[0]="Руна 1"; text_check0[1]="Руна 2"; text_check0[2]="Руна 3"; text_check0[3]="Руна 4"; text_check0[4]="Руна 5";
flag_check0[0]=0; flag_check0[1]=0; flag_check0[2]=0; flag_check0[3]=0; flag_check0[4]=0;
//////////
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0]);
//////////
showdialog(0, "Диалог", 558, 234, 250, 238, 1, 1);
//////////
while(flag_button0[0]==0) sleep(100);
flag_button0[0]=0;
int r=3; //выпала руна 3
//flag_check0 начинается с 0, поэтому надо проверять -1
if(flag_check0[r-1]==1) beep(500, 500); //выполняем действие |
|
|
Zireael |
Отправлено: 16 Ноября, 2018 - 10:58:10
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Пробовал как то через цикл For
code (Отобразить)CODE:int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
pos_size_button0[0][0]=54; pos_size_button0[0][1]=166; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Старт";
int pos_size_check0[5][4];
string text_check0[5];
int flag_check0[5];
pos_size_check0[0][0]=68; pos_size_check0[0][1]=13; pos_size_check0[0][2]=60; pos_size_check0[0][3]=20;
pos_size_check0[1][0]=67; pos_size_check0[1][1]=39; pos_size_check0[1][2]=60; pos_size_check0[1][3]=20;
pos_size_check0[2][0]=69; pos_size_check0[2][1]=69; pos_size_check0[2][2]=60; pos_size_check0[2][3]=20;
pos_size_check0[3][0]=70; pos_size_check0[3][1]=97; pos_size_check0[3][2]=60; pos_size_check0[3][3]=20;
pos_size_check0[4][0]=71; pos_size_check0[4][1]=126; pos_size_check0[4][2]=60; pos_size_check0[4][3]=20;
text_check0[0]="Руна 1"; text_check0[1]="Руна 2"; text_check0[2]="Руна 3"; text_check0[3]="Руна 4"; text_check0[4]="Руна 5";
flag_check0[0]=0; flag_check0[1]=0; flag_check0[2]=0; flag_check0[3]=0; flag_check0[4]=0;
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0]);
showdialog(0, "Диалог", 558, 234, 250, 238, 1, 1);
//////////
while(window("Диалог")==0) sleep(100); // ждать пока не откроется диалог
sleep(200);
while(flag_button0[0]==0) sleep(100); // ждать пока не нажата кнопка 'Старт'
flag_button0[0]=0;
int rune[2]; // массив с выпавшими рунами
rune[0]=1; // руна 1
rune[1]=3; // руна 3
int size_rune=sizearray(rune); // количество рун
int count_check=sizearray(flag_check0); // количество галок
for(int i=0; i<size_rune; i++)
{
for(int j=0; j<count_check; j++)
{
if(flag_check0[j]==1 && j==rune[i]-1) // если галка выбрана и её номер равен выпавшей руне - 1
{
messagebox("Забрать руну: "+format(j+1));
}
}
} |
|
|
Dantes3000 |
Отправлено: 16 Ноября, 2018 - 13:03:09
|
Эксперт
Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016
Репутация: 58
|
Надо настройки сохранять в тхт и ставить галки после показа диалога через небольшую паузу
Спойлер (Отобразить)CODE:int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
pos_size_button0[0][0]=54; pos_size_button0[0][1]=166; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Кнопка 0";
//////////
int pos_size_check0[5][4];
string text_check0[5];
int flag_check0[5];
pos_size_check0[0][0]=68; pos_size_check0[0][1]=13; pos_size_check0[0][2]=60; pos_size_check0[0][3]=20;
pos_size_check0[1][0]=67; pos_size_check0[1][1]=39; pos_size_check0[1][2]=60; pos_size_check0[1][3]=20;
pos_size_check0[2][0]=69; pos_size_check0[2][1]=69; pos_size_check0[2][2]=60; pos_size_check0[2][3]=20;
pos_size_check0[3][0]=70; pos_size_check0[3][1]=97; pos_size_check0[3][2]=60; pos_size_check0[3][3]=20;
pos_size_check0[4][0]=71; pos_size_check0[4][1]=126; pos_size_check0[4][2]=60; pos_size_check0[4][3]=20;
text_check0[0]="Руна 1"; text_check0[1]="Руна 2"; text_check0[2]="Руна 3"; text_check0[3]="Руна 4"; text_check0[4]="Руна 5";
//////////
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0] |
CHECK, #pos_size_check0[0][0], #text_check0[0], #flag_check0[0]);
//////////
showdialog(0, "Диалог", 558, 234, 250, 238, 1, 1);
sleep(500);
flag_check0[0]=0; flag_check0[1]=0; flag_check0[2]=0; flag_check0[3]=0; flag_check0[4]=0;
//////////
while(flag_button0[0]==0) sleep(100);
flag_button0[0]=0;
int r=3; //выпала руна 3
//flag_check0 начинается с 0, поэтому надо проверять -1
if(flag_check0[r-1]==1) beep(500, 500); //выполняем действие |
|
|
|