[C++] Задержка кода ( иной вариант ) - Форум Cheat-Master.ru
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Sanoxxx, Alowir  
[C++] Задержка кода ( иной вариант )
TrueFalse Дата: Воскресенье, 06.01.2013, 23:00 | Сообщение # 1
Боец
Сообщений: 161
Статус: Offline
Здравствуйте, пользователи ЧитМастера.
Т.к. не всем понятен урок по написанию задержки кода от Wa3rix'a, я решил написать похожий, но с использованием другой функции.
Итак, например у нас стоит задача: Написать в чат "Привет", а через 10 секунд написать "Пока", если мы прямо сделаем задержку, тоесть при использовании Sleep, наша игра зависнет на 10 секунд, тоесть:
Код
addMessageToChatWindow("Привет");
Sleep(10000);
addMessageToChatWindow("Пока");

Поэтому мы будем это делать отдельным потоком. Например у меня есть функция, которая вызывается командой, мы ей приделаем поток и сделаем вывод "Привет" и секунд через 10, напишем "Пока", вот как она будет выглядеть:
Код
void privetiwe() {
         addMessageToChatWindow("Привет");
         Sleep(10000);
         addMessageToChatWindow("Пока");
}
void cmd_privet(char *params) {
         CreateThread(0, 0, (LPTHREAD_START_ROUTINE)privetiwe, 0, 0, 0);
}

Таким образом у нас всё прекрасно выведется и игра не зависнет. Что, что? Что-то не понятно?
А, ну да. Объясняю подробно.
Там, где мы хотим сделать задержку, вписываем
Код
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)name, 0, 0, 0);

там где name - любое название из латинских символов.
И где-то
Код
перед
функцией где мы использовали задержку пишем:
Код
void name() {
         code;
}

где:
name - тоже самое название из латинских символов
code - ваш код с задержкой.
Саму задержку используем функцией
Код
Sleep(time);
где: time - время задержки в миллисекундах.
Надеюсь я всё понятно объяснил.
Спасибо за внимание!


Мои работы:
1. Собейт SAMP-VL[MiniPrivate] - http://cheat-master.ru/forum/160-86302-1
2. [C++] /fkill (Fake Kill) - http://cheat-master.ru/forum/118-56909-1#409773
3. [C++] Skin Changer - http://cheat-master.ru/forum/118-56888-1
4. [C++] Задержка кода ( иной вариант ) - http://cheat-master.ru/forum/118-56904-1


Сообщение отредактировал TrueFalse - Воскресенье, 06.01.2013, 23:01
testing Дата: Понедельник, 07.01.2013, 15:50 | Сообщение # 2
Боец
Сообщений: 71
Статус: Offline
TrueFalse,
Код

void cmd_cmds ( char *param )  
{  
addMessageToChatWindow("Привет");  
Sleep(2500);  
addMessageToChatWindow("Пока");   
Sleep(2500);  
addMessageToChatWindow("Привет");  
Sleep(2500);  
addMessageToChatWindow("Пока");
Sleep(2500);   
addMessageToChatWindow("Пока");
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)cmd_cmds, 0, 0, 0);  
}

Вот код смотри что происходит активирую меня заморажевает через 2500 сек наченает работать
потом всё нормально идёт !


Я не набивал пост, я просто люблю много писать !
TrueFalse Дата: Понедельник, 07.01.2013, 15:59 | Сообщение # 3
Боец
Сообщений: 161
Статус: Offline
Я так понял, оно вызывается по команде /cmds?
Если да, то вот правильный код:
Код
void pizdec()
{
addMessageToChatWindow("Привет");
Sleep(2500);
addMessageToChatWindow("Пока");
Sleep(2500);
addMessageToChatWindow("Привет");
Sleep(2500);
addMessageToChatWindow("Пока");
Sleep(2500);
addMessageToChatWindow("Пока");
}
void cmd_cmds ( char *param )
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)pizdec, 0, 0, 0);
}


Мои работы:
1. Собейт SAMP-VL[MiniPrivate] - http://cheat-master.ru/forum/160-86302-1
2. [C++] /fkill (Fake Kill) - http://cheat-master.ru/forum/118-56909-1#409773
3. [C++] Skin Changer - http://cheat-master.ru/forum/118-56888-1
4. [C++] Задержка кода ( иной вариант ) - http://cheat-master.ru/forum/118-56904-1


Сообщение отредактировал TrueFalse - Понедельник, 07.01.2013, 16:00
alex3931 Дата: Понедельник, 07.01.2013, 16:01 | Сообщение # 4
Боец
Сообщений: 129
Статус: Offline
testing,
void cmds ( char *param )
{
addMessageToChatWindow("Привет");
Sleep(2500);
addMessageToChatWindow("Пока");
Sleep(2500);
addMessageToChatWindow("Привет");
Sleep(2500);
addMessageToChatWindow("Пока");
Sleep(2500);
addMessageToChatWindow("Пока");
}

void cmd_cmds ()
{
_beginthread(cmds, 0, NULL);
}


Пишу софт на заказ.Скайп sprilt
testing Дата: Понедельник, 07.01.2013, 16:01 | Сообщение # 5
Боец
Сообщений: 71
Статус: Offline
TrueFalse, ok спасибо, да ты прав она вызывается пока команде cmds

Я не набивал пост, я просто люблю много писать !
TrueFalse Дата: Понедельник, 07.01.2013, 16:04 | Сообщение # 6
Боец
Сообщений: 161
Статус: Offline
alex3931, кстати, да, можно юзать бэгинтред как показывал Ваэря, но плюсик моего варианта - код будет выполнятся даже если свернуть игру

Мои работы:
1. Собейт SAMP-VL[MiniPrivate] - http://cheat-master.ru/forum/160-86302-1
2. [C++] /fkill (Fake Kill) - http://cheat-master.ru/forum/118-56909-1#409773
3. [C++] Skin Changer - http://cheat-master.ru/forum/118-56888-1
4. [C++] Задержка кода ( иной вариант ) - http://cheat-master.ru/forum/118-56904-1
testing Дата: Понедельник, 07.01.2013, 16:15 | Сообщение # 7
Боец
Сообщений: 71
Статус: Offline
Код

void cheat_handle_flooder ()     
{     
      traceLastFunc( "cheat_handle_flooder()" );     
      if ( KEY_PRESSED(set.key_flooder) )     
      {     
       cheat_state->_generic.flooder ^= 1;     
      }     

      if( cheat_state->_generic.flooder == 1 )     
       {     
           say("/capture");   
     Sleep(3200);
     say("/capture");   
     Sleep(3200);
     say("/capture");   
     Sleep(3200);
     say("/capture");   
     Sleep(3200);
     say("/capture");   
     Sleep(3200);
     say("/capture");   
     Sleep(3200);
   }
}

void flooder ( char *param )  
{  
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)flooder, 0, 0, 0);  
}

Правельно ли ? это Flooder


Я не набивал пост, я просто люблю много писать !
TrueFalse Дата: Понедельник, 07.01.2013, 16:20 | Сообщение # 8
Боец
Сообщений: 161
Статус: Offline
Всё наоборот хД
Код
void cheat_handle_flooder ()       
{       
        traceLastFunc( "cheat_handle_flooder()" );       
        if ( KEY_PRESSED(set.key_flooder) )       
        {       
         cheat_state->_generic.flooder ^= 1;       
        }       

        if( cheat_state->_generic.flooder == 1 )       
         {       
       CreateThread(0, 0, (LPTHREAD_START_ROUTINE)flooder, 0, 0, 0);    
     }
}

void flooder ( char *param )    
{    
       say("/capture");     
       Sleep(3200);
       say("/capture");     
       Sleep(3200);
       say("/capture");     
       Sleep(3200);
       say("/capture");     
       Sleep(3200);
       say("/capture");     
       Sleep(3200);
       say("/capture");     
       Sleep(3200);
}

только это тебе не поможет. cheat_handle_flooder очень часто вызывается. Слип будет всё только рушить. Лучше уж так:
Код
void cheat_handle_flooder ()       
{       
        traceLastFunc( "cheat_handle_flooder()" );       
        if ( KEY_PRESSED(set.key_flooder) )       
        {      
       CreateThread(0, 0, (LPTHREAD_START_ROUTINE)flooder, 0, 0, 0);    
     }
}

void flooder ( char *param )    
{    
       say("/capture");     
       Sleep(3200);
       say("/capture");     
       Sleep(3200);
       say("/capture");     
       Sleep(3200);
       say("/capture");     
       Sleep(3200);
       say("/capture");     
       Sleep(3200);
       say("/capture");     
       Sleep(3200);
}


Мои работы:
1. Собейт SAMP-VL[MiniPrivate] - http://cheat-master.ru/forum/160-86302-1
2. [C++] /fkill (Fake Kill) - http://cheat-master.ru/forum/118-56909-1#409773
3. [C++] Skin Changer - http://cheat-master.ru/forum/118-56888-1
4. [C++] Задержка кода ( иной вариант ) - http://cheat-master.ru/forum/118-56904-1


Сообщение отредактировал TrueFalse - Понедельник, 07.01.2013, 16:21
pr9n Дата: Понедельник, 07.01.2013, 16:22 | Сообщение # 9
Авторитет
Сообщений: 921
Статус: Offline
testing, Неа, если ты это пихнешь в cheat_generic.cpp , У тебя игра зависнет т.к этот воид будет вызываться всегда, пока cheat_state->_generic.flooder == 1

[url=http://vk.com/ipr9n][img]http://i.imgur.com/kaVwM9K.png[/img][/url][url=http://instagram.com/ipr9n][img]http://i.imgur.com/eNAwOKh.jpg[/img][/url]
TrueFalse Дата: Понедельник, 07.01.2013, 16:23 | Сообщение # 10
Боец
Сообщений: 161
Статус: Offline
pr9n, по-моему не только игра :DD

Мои работы:
1. Собейт SAMP-VL[MiniPrivate] - http://cheat-master.ru/forum/160-86302-1
2. [C++] /fkill (Fake Kill) - http://cheat-master.ru/forum/118-56909-1#409773
3. [C++] Skin Changer - http://cheat-master.ru/forum/118-56888-1
4. [C++] Задержка кода ( иной вариант ) - http://cheat-master.ru/forum/118-56904-1
alex3931 Дата: Понедельник, 07.01.2013, 16:24 | Сообщение # 11
Боец
Сообщений: 129
Статус: Offline
pr9n, vo vo нужно ставить в конце кода cheat_state->_generic.flooder =0; но это не удобно, лучше делай функции в dumb_menu.cpp

Пишу софт на заказ.Скайп sprilt
_AMG_ Дата: Понедельник, 07.01.2013, 16:36 | Сообщение # 12
Бывалый
Сообщений: 319
Статус: Offline
Цитата
void cheat_handle_flooder ()
{
traceLastFunc( "cheat_handle_flooder()" );
if ( KEY_PRESSED(set.key_flooder) )
{
cheat_state->_generic.flooder ^= 1;
}

if( cheat_state->_generic.flooder == 1 )
{
static DWORD time = 0;
if (GetTickCount() - 1000 > time) // время
{
say("/capture");
time = GetTickCount();
}
return;
}
}


Юзайте GetTickCount, нах этот sleep
Прикрепления: 9310708.png (7.1 Kb)


--MURDERED--
AMG CARTEL DOBRA
Skype: murdered1017
pr9n Дата: Понедельник, 07.01.2013, 16:49 | Сообщение # 13
Авторитет
Сообщений: 921
Статус: Offline
alex3931,
Охенно пофлудишь небось biggrin Один раз флуданет и выключится + зависнет на кол-во слипов, т.к все сделано в одном потоке.


[url=http://vk.com/ipr9n][img]http://i.imgur.com/kaVwM9K.png[/img][/url][url=http://instagram.com/ipr9n][img]http://i.imgur.com/eNAwOKh.jpg[/img][/url]
alex3931 Дата: Понедельник, 07.01.2013, 17:02 | Сообщение # 14
Боец
Сообщений: 129
Статус: Offline
pr9n,
Цитата
+ зависнет на кол-во слипов
:DDDD. Это да, но как она закончится можно включить заного:)


Пишу софт на заказ.Скайп sprilt
RedisKa Дата: Понедельник, 07.01.2013, 21:59 | Сообщение # 15
Бывалый
Сообщений: 332
Статус: Offline
_AMG_,
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:
Статистика Форума
Лучшие пользователи
Admin [39113]

GеNius [7210]

[CM]Russel [5557]

kenlo763 [4952]

[CM]AGRESSOR [4639]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4223]

[CM]Durman [3204]

[CM]Рафаэль [3080]

iMaddy [2855]

sky_Woker [2854]

getrekt [2745]

Новые пользователи
PUPS12124 [02:09]

Bioksit [00:15]

Dafdaf [23:27]

ячеченец [21:00]

balbesbizad [12:02]

cpark [11:40]

Mario_Imperator [11:33]

leonovichstas97 [22:40]

ubeyefudu [18:53]

zheniakuzma [17:47]

Moonberg [16:04]

tamararl6 [15:04]

consuelobm3 [08:03]