Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Без описания
Martin
Отправлено: 25 Мая, 2023 - 14:37:09
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 121
Дата рег-ции: Июнь 2022  
Репутация: 1




Мне нужно чтобы диалоговые окна появлялись рядом друг с другом через рандомное время. Если закрыть одно окно то на его месте появится другое через рандомное время. Можно ограничить количество новых окон в зависимости от ширины экрана. Так же на них должны рандомно появляться вопросы из переменных. На которые можно ответить да или нет вызывая другие функции.

CODE:
#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define WS_BORDER 0x00800000
#define BS_MULTILINE 0x00002000
#define SS_EDITCONTROL 0x00002000
#define TRUE 1
#define WM_SETFONT 0x0030
#define RUSSIAN_CHARSET 204

external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll");
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll");
external(INT, "GetWindowRect", "GetWindowRect", "User32.dll");
external(INT, "DeleteObject", "DeleteObject", "Gdi32.dll");
external(INT, "DeleteFile", "DeleteFileA", "kernel32.dll");
int h_font;
string rn = formatic(13)+formatic(10);
int dialogPosX_0 = 520, dialogPosY_0 = 361;
int button0[2];
int flag_button0[2] = { 0, 0 };

int vopros;

createdialog(0);createdialog(1);createdialog(3);
showdialog(0, "Диалог0", dialogPosX_0, dialogPosY_0, 217, 190, 4, 1);
showdialog(1, "Диалог1", dialogPosX_0+210, dialogPosY_0, 217, 190, 4, 1);
showdialog(2, "Диалог3", dialogPosX_0+410, dialogPosY_0, 217, 190, 4, 1);

loop()
{
int random(rand(100,12000));
string voprosi[99];
sleep(random);
voprosi[0]="первый вопрос";//вызвать диалог c вопросом
voprosi[1]="2 вопрос";
voprosi[2]="3 вопрос";
voprosi[3]="4 вопрос";
voprosi[4]="5 вопрос";
sleep(10);
}
end_0:;

function getmessage(0, WM_CREATE)
{
int i;
h_font = CreateFont(-12, 0, 0, 0, 400, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Arial");
button0[0] = CreateWindow(0, "BUTTON", "Да", WS_VISIBLE | WS_CHILD, 16, 96, 80, 48, gethwnd(0), 0, 0, 0);
button0[1] = CreateWindow(0, "BUTTON", "Нет", WS_VISIBLE | WS_CHILD, 112, 96, 80, 48, gethwnd(0), 0, 0, 0);
vopros = CreateWindow(0, "STATIC", "Вопрос: 1", WS_VISIBLE | WS_CHILD, 64, 48, 80, 16, gethwnd(0), 0, 0, 0);
for(i=0; i<2; i++)sendmessage(WM_SETFONT, h_font, TRUE, formatiw(button0[i]));
sendmessage(WM_SETFONT, h_font, TRUE, formatiw(vopros));
}

function getmessage(0, WM_COMMAND)
{
int i;
for(i=0; i<2; i++) // обработка нажатий кнопок
{
if(message.lparam == button0[i])
{
if(flag_button0[i])flag_button0[i] = 0;
else flag_button0[i] = 1;
return;
}
}
}

function getmessage(0, WM_CLOSE)
{
DeleteObject(h_font);
goto global end_0; // переход в метке
// close(); // закрыть кибор
}
 
 Top
Zireael
Отправлено: 25 Мая, 2023 - 14:51:43
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4399
Дата рег-ции: Нояб. 2017  
Репутация: 580




Чтобы в кибор создать больше 3 окон нужно регистрировать свой класс окна.
https://kibor-bot.com/forum/topi...=1&topic=166
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by