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

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

 Страниц (7): « 1 2 3 4 5 6 [7]   

> Без описания
Kibor
Отправлено: 08 Декабря, 2017 - 11:30:52
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




А зачем делать пробел разделителем?
Он должен быть редким символом.
 
 Top
007wan
Отправлено: 08 Декабря, 2017 - 12:58:45
Post Id



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


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




CODE:
if (size_char>15 || size_char<5 || a[0]==' ' || a[1]==' '|| a[2]==' '|| a[3]==' '|| a[4]==' '|| a[5]==' '|| a[6]==' '|| a[7]==' '|| a[8]==' '|| a[9]==' '|| a[10]==' '|| a[11]==' '|| a[11]==' '|| a[12]==' '|| a[13]==' '|| a[14]==' ')
{
external(INT, "my_message", "MessageBoxA", "user32.dll");
my_message(0, "Íèê äîëæåí èìåòü > 5 ñèìâîëîâ èëè < 15 è íåëüçÿ èñïîëüçîâàòü ÏÐÎÁÅË", "Îãðàíè÷åíèå", 0);
}

(Добавление)
Kibor , Ну хорошо, тогда не пробел, как это сделать?
(Добавление)
Как упростить выше код, не используя метки гото, потому что наверняка понадобится переменная, которая будет прибавлять n++; ,а без метки никак.
(Добавление)
А не, я for поставлю
(Добавление)
CODE:
char a[256];
string b=text_edit0[0];
strcpy(#a[0], b);
int size_char=size(#a[0]);
for (int d=0; n<15; d++)
{
if (size_char>15 || size_char<5 || a[d]==' ')
{
external(INT, "my_message", "MessageBoxA", "user32.dll");
my_message(0, "Ник должен иметь > 5 символов или < 15 и нельзя использовать ПРОБЕЛ", "Ограничение", 0);
}
}
else
{
Выбрать_ник();
}

Ну так вообще не то... он зацикливает
(Добавление)
Ой, только не пробел, забыл исправить))
 
 Top
Kibor
Отправлено: 08 Декабря, 2017 - 13:34:15
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




CODE:
string nic="наш корявый ник";

if (проверить(nic)==-1)messagebox ("ник не правильный");



function проверить(string t)
{
char cnic[20];
int aw=size(t);
if (aw<5 || aw>15)return -1;
strcpy(#cnic[0], t);
for (int n=0; n<aw; n++)
{
if (cnic[n]==' ')return -1;
}
return 1;
}
 
 Top
007wan
Отправлено: 08 Декабря, 2017 - 13:37:51
Post Id



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


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




Kibor , Спасибо, вроде понятно всё, а вот работать должно)
 
 Top
007wan
Отправлено: 16 Декабря, 2017 - 17:10:28
Post Id



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


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




В чем ошибка? С логикой вроде в порядке:
CODE:
//...Куча скриптов
//Для сервера:loop()
{
mu_pause (1000);
if (flag_button20[0]==1 && text_button20[0]=="Отправить")
{
if (text_edit20[0]!="")
{
text_static20[0]="[]" + text_edit0[0]+": "+text_edit20[0]+perevod+text_static20[0];
text_edit20[0]="";
strcpy(#sends[0], text_static20[0]);//заполним массив передачи текстом с второго edit
sendport (#sends[0], size(#sends[0]));//отправим

}
else
{
flag_button20[0]=0;
}
}

}

/////////////////////////////
function mu_pause(int p)//реализация паузы что бы не зависал на время ее скрипт
{
for (int t=gettime(); gettime()-t<p; sleep(10)){}
}
//////////////////////////
CREATE_TIMER(0, 50)
{
if (flag_recv==1)//если тут 1 - пришло сообщение
{
flag_recv=0;//обнулим
text_static20[0]=format(#recvs[0]);//запишем это сообщение
}
recvport (#recvs[0], 256, #flag_recv); // опять слушаем
}

(Добавление)
CODE:
//для клиента:
//куча скриптов...
//////////////////
function mu_pause(int pu)//реализация паузы что бы не зависал на время ее скрипт
{
for (int ty=gettime(); gettime()-ty<pu; sleep(10)){}
}
/////////////////////
loop()
{
textout(0, 0, 0, format(nh), 0);
nh++;
mu_pause (500);
}
/////////////////////
CREATE_TIMER(3, 50)
{
if (flag_button20[0]>0 && text_button20[0]=="Отправить")//если нажата кнопка
{
if (text_edit20[0]!="")//если поле не пустое
{
if (count==10)//если время вышло(паузка после отправки)
{
text_static20[0]=status+text_edit0[0]+": "+text_edit20[0]+perevod+text_static20[0];
text_edit20[0]="";
strcpy(#sends[0], text_static20[0]);//заполним массив передачи текстом с второго edit
sendhtml(#sends[0], size(#sends[0]))>0;
enabletimer(1);
}
}
else
{
flag_button20[0]=0;
}
if (opensocket ("127.0.0.1", 10005)==1)//откроем сокет на 10005 порту сервера (самому выбирать)
{
if (recvhtml(#recvs[0], 256)>0) text_static20[0]=format(#recvs[0]);//когда примем ответ запишем ответ в edit
}
closesocket ();//Закрываем сокет
}
}




 
 Top
Zireael
Отправлено: 16 Декабря, 2017 - 17:30:25
Post Id



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


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




 Цитата:
//Для сервера:loop()

Может:
CODE:
//Для сервера:
loop()
 
 Top
007wan
Отправлено: 16 Декабря, 2017 - 18:40:41
Post Id



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


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




 Zireael пишет:
 Цитата:
//Для сервера:loop()

Может:
CODE:
//Для сервера:
loop()

без разницы. так просто получилось. проблема в логике и работе этого скрипта. а тут всё верно
(Добавление)
А не все работает просто таймер не активировал
(Добавление)
Как сделать ,что бы работало по принципу чата обе сборки? я знаю что там нужен сервер, просто очень надо. У меня вообще такой принцип действия: я отправил из сервера клиенту, он завис, что бы отвис мне пришлось отправлять из клиента серверу, короче это долг ои принцип просто галимый)))
 
 Top
Страниц (7): « 1 2 3 4 5 6 [7]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by