1

Тема: SAMP: Нужно дописать ahk.

Привет
Ребят мне нужно что-бы ахк смотрел в текстовой документ (который находится вместе с этим же ahk в 1 папке) и смотрел есть ли сходство к примеру
[Информация] Вы успешно купили новую SIM карту. Ваш новый номер телефона: "+checkNumber ".
+checknumber он брал из текстового документа, если есть то он останавливался, если же нет то он продолжал
путь к чат логу - %A_MyDocuments%/GTA San Andreas User Files/SAMP/chatlog.txt

2

Re: SAMP: Нужно дописать ahk.

Если нужно дописать то допишите, в чем проблема?

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

3 (изменено: VechnoMolodoy, 2017-08-08 19:40:18)

Re: SAMP: Нужно дописать ahk.

belyankin12 я не знаю как это написать и вшить в мой "топовый" код.

NumPad5::
send, {n down}
sleep 300 
send, {n up}
sleep 300
send, {enter}
sleep 300
nachalo:
send, {down 9} {enter}
Вот сюда его надо.
sleep 5100
goto nachalo
return
NumPad1::Pause

4 (изменено: belyankin12, 2017-08-08 20:40:40)

Re: SAMP: Нужно дописать ahk.

Так.. Значит вы хотите подобрать себе элитный номер, верно? А то ваше объяснение понятно чуть больше чем совсем непонятно.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

5

Re: SAMP: Нужно дописать ahk.

belyankin12 я умею объяснять, дак что выручите?)

6

Re: SAMP: Нужно дописать ahk.

Объясните, если мне по силам, я помогу, нет, спрошу того, кто может.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

7

Re: SAMP: Нужно дописать ahk.

belyankin12 да я же вроде всё сказал, я не знаю как больше обьяснить

8

Re: SAMP: Нужно дописать ahk.

Я не знаю что мне нужно делать, потому помочь я вам никак не могу. Мне ничего не понятно с вашего объяснения.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

9 (изменено: Pplus, 2017-08-09 19:54:18)

Re: SAMP: Нужно дописать ahk.

belyankin12 короче говоря, ему нужен скрипт, который бы чекала чат во время покупки номера, при покупке нужного номера, которые вынесенны в отдельный файл, останавливать работу скрипта.

10

Re: SAMP: Нужно дописать ahk.

Вот это другое дело, нормально объяснил. Нужна строка с чатлога и пример файла с номерами.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

11

Re: SAMP: Нужно дописать ahk.

belyankin12
Строчка в чате - [Информация] Вы успешно купили новую SIM карту. Ваш новый номер телефона: 2121.   (2121 это типа номер)
текстовой документ будет выглядеть так -
5555551
5555552
5555553
т.е в каждой новой строчке будет новый номер

12

Re: SAMP: Нужно дописать ahk.

global path_log := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"

HasVal(haystack, needle) {
	if !(IsObject(haystack)) || (haystack.Length() = 0)
		return 0
	for index, value in haystack
		if (value = needle)
			return index
	return 0
}

arr := []
Loop {
	FileReadLine, line, путь к файлу с номерами, %A_Index%
	if ErrorLevel
		break
	arr[A_Index] := line
}

Loop {
	log := {str:"",find:0,num:0}    ,    log.str := []
    Loop, read, %path_log%
    log.str.Insert(A_LoopReadLine)    ,log.num := A_Index
	
    loop 100
		if RegExMatch(log.str[log.num + 1 - A_Index],"\[Информация\] Вы успешно купили новую SIM карту. Ваш новый номер телефона: (.*)", end_oo) and (log.find:=log.num + 1 - A_Index)
	break
	
	var := HasVal(arr, end_oo1)
	
	if (var != 0) {
		break
	}
}
msgbox, Ваш номер телефона теперь: %end_oo1%
ExitApp
return

Нет возможности проверить. Проверяйте сами, жду замечаний либо похвал.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

13 (изменено: VechnoMolodoy, 2017-08-14 22:32:15)

Re: SAMP: Нужно дописать ahk.

belyankin12 скрипт может и работает, но..  в него ещё надо всунуть вот эти строчки  ибо без этого он бесполезен и можно и сделать что-бы он брал номера из блокнота находившегося в этой же папке что и он, потому что если перемещать постоянно надо будет  менять путь

send, {n down} 
sleep 300 
send, {n up}
sleep 300
send, {enter}
sleep 300
nachalo:
send, {down 9} {enter}
Вот сюда его надо.
sleep 5100
goto nachalo
return

14

Re: SAMP: Нужно дописать ahk.

Это должно сработать если номер будет найдет, или если нет?

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

15

Re: SAMP: Нужно дописать ahk.

belyankin12 это должно работать до этого, а твой скрипт должен это останавливать

16

Re: SAMP: Нужно дописать ahk.

send, {n down} 
sleep 300 
send, {n up}
sleep 300
send, {enter}
sleep 300
nachalo:
send, {down 9} {enter}

я так понял это некий процесс выбора команды "купить новый номер" или что-то такое, верно?

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

17

Re: SAMP: Нужно дописать ahk.

belyankin12
Не совсем.

send, {n down} 
sleep 300 
send, {n up}
sleep 300
send, {enter}
sleep 300 

  это путь к диалогу в котором находится "строчка" покупки симки, она проигрываться должна 1 раз.
А вот это уже сам скрипт покупки симки

send, {down 9} {enter}
И вот сюда надо твой скрипт что-бы он проверял на совпадение из блокнота номера и если выпадает нужный приостанавливался, если не нужный продолжал дейтвие
sleep 5100

Задержка 5секунд обязательно ибо система сервера не даст так быстро покупать симки

18 (изменено: belyankin12, 2017-08-14 22:39:56)

Re: SAMP: Нужно дописать ahk.

Подогнал под требования. Пробуйте.

global path_log := A_MyDocuments "\GTA San Andreas User Files\SAMP\chatlog.txt"

HasVal(haystack, needle) {
	if !(IsObject(haystack)) || (haystack.Length() = 0)
		return 0
	for index, value in haystack
		if (value = needle)
			return index
	return 0
}

arr := []
Loop {
	FileReadLine, line, путь к файлу с номерами, %A_Index%
	if ErrorLevel
		break
	arr[A_Index] := line
}

send, {n down} 
sleep 300 
send, {n up}
sleep 300
send, {enter}
sleep 300

Loop {
	send, {down 9} {enter}
	log := {str:"",find:0,num:0}    ,    log.str := []
    Loop, read, %path_log%
    log.str.Insert(A_LoopReadLine)    ,log.num := A_Index
	
    loop 100
		if RegExMatch(log.str[log.num + 1 - A_Index],"\[Информация\] Вы успешно купили новую SIM карту. Ваш новый номер телефона: (.*)", end_oo) and (log.find:=log.num + 1 - A_Index)
	break
	
	sleep 5100
	var := HasVal(arr, end_oo1)
	
	if (var != 0) {
		break
	}
}
msgbox, Ваш номер телефона теперь: %end_oo1%
ExitApp
return
Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

19

Re: SAMP: Нужно дописать ahk.

belyankin12 всё работает превосходно