[Помощь] Некорректно работает код. - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
Форум » Программирование » AHK Программирование » [Помощь] Некорректно работает код.
[Помощь] Некорректно работает код.
ArrowOfDeath Дата: Понедельник, 28.09.2015, 16:35 | Сообщение # 1
Советник
Сообщений: 629
Статус: Offline
Данный код проверяет чатлог на опр. фразу, после нахождения этой фразы, он отсчитывает время, далее выводит сообщение о том, что вы снова можете подать гос.новость. Нужно немного другое.
К примеру, в чатлоге появляется фраза "Гос.", запускается таймер ( по окончанию которого выводиться фраза "Вы снова можете подать гос.новости") , но при появлении еще одной такой-же фразы , скрипт сразу пишет "Вы снова можете подать гос.новости". Не знаю как это фиксануть. Вообщем нужно сделать так: Если таймер ведет отсчет, и появляется еще одна фраза ( которая запустила таймер ), то таймер идет заново ( обнуляется ) , отсчитывая указанное время, и только тогда , когда время выходит, и в чатлоге не появилось ни одной строчки "Гос." ( за все время ) , скрипт выводил фейк-текст , что "Вы снова можете подать гос.новость".

Код

#IfWinActive GTA:SA:MP

!1::

global path_chatlog := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt" ; указываем путь к чатлогу через переменную
SetTimer, FOX, 1000 ; Включение таймера.

FOX:
Gui, submit, no hide
text_search := "Гос." ; Текст который будем искать
FileRead, text_chatlog, %path_chatlog% ; Читаем чатлог
if text_chatlog contains %text_search% ; Если чатлог содержит стройчку "Гос."
     
{
   SetTimer, FOX, off ; Отключаем таймер
   FileDelete, %path_chatlog% ; Удаляем чатлог, чтобы не сработало дважды на один и тот же текст
   Sleep, %timer%000 ; Ждем заданное кол-во секунд.  ;   
   SetTimer, FOX, on ; Включаем таймер
        Text := "Вы снова можете подать гос.новость" ; Выводит фейк текст в чат.
       Addchatmessage(text)       
}

Return


Заранее спасибо за помощь.


Мои AHК скрипты | Темы:

AHK



Сообщение отредактировал [LSD]Magnum - Понедельник, 28.09.2015, 16:35
Demy Дата: Понедельник, 28.09.2015, 22:08 | Сообщение # 2
Бывалый
Сообщений: 422
Статус: Offline
С твоим кодом время будет отсчитываться от первогого "гос."а в чатлоге.. Позже помогу, сейчас занят..

Код за 3 минуты. Тестил с .txt файлом, все работает. Код без пояснений снизу.

Код
CL = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
NeededTime = 5000 ; время, которое должно пройти с последних гос.новостей, мс

FileDelete, %CL% ; удаляем файл, чтобы скрипт реагировал только на новые гос.новости
SetTimer, CheckGnews, 1000 ; таймер для проверки появившихся новостей, он не офается!
exit

CheckGnews:
FileRead, File, %CL% ; считываем чатлог
If RegExMatch(File, "`[[0-9:]+`]Гос.новости:") ; если в чатлоге будет найдена строка с гос.новостями, то идем дальше (данный шаблон может работать криво!!! Сам переделаешь)
{
   FileDelete, %CL% ; удаляем чатлог, чтобы скрипт не сработал на одни и те же новости
   TimePassed := "0" ; Это наш таймер, обнуляется с появлением новых новостей.
   SetTimer, Notification, Off  ; Данная строка выключит старый таймер,  если отсчет уже был запущен, но появилась новоя строка (как и прошлая строка)
   SetTimer, Notification, 1010 ; запуск нового таймера
}
exit ; конец потока

Notification:
TimePassed += 1000 ; Переменная, где хранится время, прошедшее с запуска таймера
If (TimePassed >= NeededTime) ; если прошеднее время больше или равно нужному нам временю
{
   SetTimer, Notification, Off ; офаем таймер оповещения
   MsgBox, NEEDED TIME ; тут нужные тебе действия
}
exit

Чистый код


AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ


Сообщение отредактировал Demy - Понедельник, 28.09.2015, 22:10
ArrowOfDeath Дата: Вторник, 29.09.2015, 13:49 | Сообщение # 3
Советник
Сообщений: 629
Статус: Offline
Demy, Чтож, благодарю , реально помог!

Добавлено (29.09.2015, 13:49)
---------------------------------------------
Demy, Тестил в сампе, ( Вместо гос.новостей, поставил Чатлог ) , скрипт удаляет чатлог, далее ничего не происходит. Ждал 5 сек и тд..

Код
CheckGnews:  
FileRead, File, %CL%  
If RegExMatch(File, "`[[0-9:]+`]Чатлог")  
{  
   FileDelete, %CL%  
   TimePassed := "0"  
   SetTimer, Notification, Off  
   SetTimer, Notification, 1000  
}  
exit  

Notification:  
TimePassed += 1000  
If (TimePassed >= NeededTime)  
{  
   SetTimer, Notification, Off  
   SendInput, {F6}Успешно{enter}  ; <<< ?
}  
exit


Мои AHК скрипты | Темы:

AHK

Demy Дата: Вторник, 29.09.2015, 15:43 | Сообщение # 4
Бывалый
Сообщений: 422
Статус: Offline
Хреново ты поставил.
Напиши в игре в чат "чатлог" (или другое слово) и в chatlog.txt найди эту строчку и скинь сюда, именно строку


AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
ArrowOfDeath Дата: Вторник, 29.09.2015, 17:17 | Сообщение # 5
Советник
Сообщений: 629
Статус: Offline
Цитата Demy ()
Хреново ты поставил.
Напиши в игре в чат "чатлог" (или другое слово) и в chatlog.txt найди эту строчку и скинь сюда, именно строку

[17:16:28] - Чатлог {FFFFFF}(Killer_Mazafaka)



Мои AHК скрипты | Темы:

AHK

Demy Дата: Вторник, 29.09.2015, 18:13 | Сообщение # 6
Бывалый
Сообщений: 422
Статус: Offline
Код
If RegExMatch(File, "`[[0-9:]+`] - Чатлог")

Замени..
Для гос.новостей нужно будет писать другой шаблон ("`[[0-9:]+`] - Чатлог"), пиши, если сам не осилишь


AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ


Сообщение отредактировал Demy - Вторник, 29.09.2015, 18:15
ArrowOfDeath Дата: Вторник, 29.09.2015, 20:09 | Сообщение # 7
Советник
Сообщений: 629
Статус: Offline
Цитата Demy ()
пиши, если сам не осилишь

Да, сам не справлюсь, не желает он писать в чат то , что нужно.



Мои AHК скрипты | Темы:

AHK

Demy Дата: Вторник, 29.09.2015, 21:23 | Сообщение # 8
Бывалый
Сообщений: 422
Статус: Offline
Полностью то, что ты хочешь, чтоб писалось в чат, скинь мне. Еще обязательно пример гос.новостей из чатлога

AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
ArrowOfDeath Дата: Четверг, 01.10.2015, 21:22 | Сообщение # 9
Советник
Сообщений: 629
Статус: Offline
Цитата Demy ()
Полностью то, что ты хочешь, чтоб писалось в чат, скинь мне. Еще обязательно пример гос.новостей из чатлога

Скинул все тебе в лс. Напиши пожалуйста с комментариями


Мои AHК скрипты | Темы:

AHK

Demy Дата: Среда, 07.10.2015, 18:03 | Сообщение # 10
Бывалый
Сообщений: 422
Статус: Offline
[LSD]Magnum, занят кое-чем важным, пока не могу :с

Добавлено (07.10.2015, 18:03)
---------------------------------------------

Код
CL = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt  
NeededTime = 2000  

FileDelete, %CL%  
SetTimer, CheckGnews, 1000  
exit  

CheckGnews:  
FileRead, File, %CL%  
If RegExMatch(File, "`[[0-9:]+`] Гос. новости:")  
{  
   FileDelete, %CL%  
   TimePassed := "0"  
   SetTimer, Notification, Off  
   SetTimer, Notification, 1000  
}  
exit  

Notification:  
TimePassed += 1000  
If (TimePassed >= NeededTime)  
{  
   SetTimer, Notification, Off  
   ;Теперь будет срабатывать на гос. новости, но UDF подключи в начале!; и напишешь то, что тебе нужно, вместо этой строчке.
}  
exit


AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
ArrowOfDeath Дата: Пятница, 09.10.2015, 22:02 | Сообщение # 11
Советник
Сообщений: 629
Статус: Offline
Demy, Что-то тоже не робит

Мои AHК скрипты | Темы:

AHK

Demy Дата: Суббота, 10.10.2015, 11:51 | Сообщение # 12
Бывалый
Сообщений: 422
Статус: Offline
[LSD]Magnum, подробней

AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
Форум » Программирование » AHK Программирование » [Помощь] Некорректно работает код.
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Лучшие пользователи
Admin [39113]

GеNius [7209]

[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]

Новые пользователи
Stanislav_ss [16:05]

123131312312314534 [13:41]

Pan40xxl [12:36]

chinazes000 [11:29]

donaldga2 [05:28]

rubenia18 [21:17]

pokotiloroman91 [18:24]

stephensh5 [12:00]

calliesv7 [06:11]

louqm16 [22:14]

artushak [16:32]

Kingpolker [15:42]

leeyv11 [15:12]