|
Таймер - Вопросы и ответы, обсуждения - Ваши вопросы по C/C++ только в данном разделе |
09.09.2011, 07:59
|
#1
|
|
|
|
Фельдмаршал
|
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Таймер
Нужна помощь по написанию отключения функции по таймеру.
Код:
if(cItem.megok400==0)DetourCreate((PBYTE)ADDRES_Damage,(PBYTE)DamageUnhook,5); выкл
if(cItem.megok400==0)DetourCreate((PBYTE)ADDRES_Damage,(PBYTE)Damage,5); вкл
это пример функции
|
|
|
10.09.2011, 00:09
|
#2
|
|
|
|
Разведчик
|
Регистрация: 30.07.2011
Сообщений: 19
Популярность: 115
Сказал(а) спасибо: 34
Поблагодарили 32 раз(а) в 30 сообщениях
|
Re: Таймер
я конечно ниче не понял, более конкретно бы.... и кстати у тебя условия один в один
Код:
...
/* запуск таймера */
System.Timers.Timer timer1 = new System.Timers.Timer();
timer1.Elapsed += new ElapsedEventHandler(timer1_Tick);
timer1.Enabled = true; //запускаем таймер
timer1.Interval = 15000; /интервал таймера в мс (sec*1000);
GC.KeepAlive(timer1); //не помню полное описание, но это чтобы таймер не был "собран" сборщиком мусора.
/* end */
...
private void timer1_Tick(object sender, EventArgs e) //выполнение каждые 15 сек (15000 мс);
{
if (cItem.megok400 == 0) //если true выполняем и вырубаем таймер;
{
DetourCreate((PBYTE)ADDRES_Damage, (PBYTE)DamageUnhook, 5); //твоя функция
timer1.Enabled = false; //выключаем таймер
timer1.Dispose(); //освободить ресурсы, хотя может и лишнее;
}
else //если false выполняем, таймер не трогаем
{
DetourCreate((PBYTE)ADDRES_Damage, (PBYTE)Damage, 5);
}
}
Надеюсь понятно. Тут запускается таймер и каждые n сек (в д.с. 15 сек) выполняется проверка условия...
Если тебе нужно чередовать их выполнение (a,b,a,b,a,b...) код в тике (timer1_Tick) нужно изменить. напишешь подробно - может и помогу.
________________
«Шрёдингер ходил по комнате в поисках котёнка, а тот сидел в коробке ни жив ни мертв.»
|
|
|
Пользователь сказал cпасибо:
|
|
10.09.2011, 13:14
|
#3
|
|
|
|
Фельдмаршал
|
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Re: Таймер
iVs.Dark, более подробно
Код:
if(GetAsyncKeyState(VK_NUMPAD1)&1)//ON
{
DetourCreate((PBYTE)ADDRES_Knife,(PBYTE)knife,5);
MessageBeep(0);
это включение.
И теперь надо, что-бы она выключилась.
|
|
|
10.09.2011, 14:11
|
#4
|
|
|
|
Разведчик
|
Регистрация: 30.07.2011
Сообщений: 19
Популярность: 115
Сказал(а) спасибо: 34
Поблагодарили 32 раз(а) в 30 сообщениях
|
Re: Таймер
не понял, подробнее что должно происходить. функция значения не имеет.
тебе нужно ее включить, а потом проверять условие и если оно выполнилось ее выключить?
или тебе нужно ее включить, выключить, включить.... ?
________________
«Шрёдингер ходил по комнате в поисках котёнка, а тот сидел в коробке ни жив ни мертв.»
|
|
|
10.09.2011, 15:06
|
#5
|
|
|
|
Фельдмаршал
|
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Re: Таймер
Это DLL (ВХ), функция изменяет код игры (асма), после включения с игры кикает (срабатует защита), что-бы не кикнуло её нужно отключить в течении 3 с.
Это включение
Код:
__declspec(naked)void Damage()
Это выключение и возврат к исходному коду.
Код:
__declspec(naked)void DamageUnhook()
Соответственно кнопки вкл и выкл.
Код:
if(GetAsyncKeyState(VK_NUMPAD1)&1)//ON
{
DetourCreate((PBYTE)ADDRES_Damage,(PBYTE)Damage,5);
if(GetAsyncKeyState(VK_NUMPAD2)&1)//OFF
{
DetourCreate((PBYTE)ADDRES_Damage,(PBYTE)DamageUnhook,5);
|
|
|
10.09.2011, 15:10
|
#6
|
|
|
|
Разведчик
|
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
|
Re: Таймер
Код:
bool state=false;
if(GetAsyncKeyState(VK_NUMPAD1)&1)
{
if(!state){
DetourCreate((PBYTE)ADDRES_Damage,(PBYTE)Damage,5); //ON
state=1;
}
else{
DetourCreate((PBYTE)ADDRES_Damage,(PBYTE)DamageUngook,5); //off
state=0;
}
если я правильно понял, тебе нужно это?
___
added:
в чем заключается вопрос?
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой
Последний раз редактировалось •theSaboteur•; 10.09.2011 в 15:14.
|
|
|
Пользователь сказал cпасибо:
|
|
10.09.2011, 15:21
|
#7
|
|
|
|
Фельдмаршал
|
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,534 раз(а) в 911 сообщениях
|
Re: Таймер
•theSaboteur•, мне надо, что-бы через некоторое время сработал возврат функции "DetourCreate((PBYTE)ADDRES_Damage,(PBYTE)DamageUn gook,5);"
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 21:24.
|
|