Page 1 of 1
Обработка текста через Gump
Posted: 24.11.2017 8:41
by eugen319
Доброе время суток !
Я нашел пост еще 2009 года, когда Vizit0r
в этом топике сказал, что обработчика для текста не будет, да бы не отправлять лишние запросы на сервер, я хотел бы узнать, что-то изменилось за 8 лет ?
У меня задача приблизительно похожая, крафтятся банки через свиток, есть поле количества банок и кнопка. Кнопку обрабатывать научился, мне помог
этот топик и ответ Edreda
здесь
В инфогамп я вижу текстовое поле и номер текстового поля, который мне надо вводить, а вот как с ним работать не научился, буду рад услышать комментарии.
Code: Select all
Text: ____________
0] <BASEFONT COLOR="#00a500"><BASEFONT SIZE="7"><CENTER>Greater Clever Potion</CENTER></BASEFONT>
1] Ingredients:
2] - Mandrake Root 6
3] - Nightshade 4
4] - empty bottle 1
5] Is required:
6] - Alchemy 75.0
7] Amount:
8] 1
Re: Обработка текста через Gump
Posted: 24.11.2017 11:54
by nah nah
Можно картинку гампа и инфогамп целиком?
Re: Обработка текста через Gump
Posted: 25.11.2017 11:24
by eugen319
Буду благодарен за любую помощь.
Code: Select all
_____infogump_______
injection id 0x5748d800
serial 0x005490bc
gumpid 0xc6d0913e
X 25
Y 5
in client yes
876 packet size
0 reply packet size
Buttons: ________
17 [ 2] image=0x0FB1 at 317:389
18 [ 1] image=0x0FB7 at 417:389
Checks&Radios: __
Entryes: ________
16 [ 1] 405:349*50:20 [1]
All commands: ____
1] gumppic 233 127 2080
2] gumppic 250 164 2081
3] gumppic 250 234 2082
4] gumppic 250 304 2081
5] gumppic 250 374 2082
6] gumppic 250 369 2081
7] gumppic 251 434 2083
8] htmlgump 264 134 240 19 0 0 0
9] text 342 179 90 1
10] text 270 209 1152 2
11] text 270 234 1152 3
12] text 270 259 1152 4
13] text 342 289 90 5
14] text 270 319 1152 6
15] text 346 349 90 7
16] textentry 405 349 50 20 1152 1 8
17] button 317 389 4017 4019 1 0 2
18] button 417 389 4023 4025 1 0 1
Text: ____________
0] <BASEFONT COLOR="#00a500"><BASEFONT SIZE="7"><CENTER>Greater Clever Potion</CENTER></BASEFONT>
1] Ingredients:
2] - Mandrake Root 6
3] - Nightshade 4
4] - empty bottle 1
5] Is required:
6] - Alchemy 75.0
7] Amount:
8] 1
Re: Обработка текста через Gump
Posted: 25.11.2017 13:32
by nah nah
Code: Select all
NumGumpTextEntry(GetGumpsCount - 1, 1, '25')
Должно вписать 25
Re: Обработка текста через Gump
Posted: 25.11.2017 22:27
by eugen319
nah nah wrote:Code: Select all
NumGumpTextEntry(GetGumpsCount - 1, 1, '25')
Должно вписать 25
Потестил, делает 1 штуку. Подозреваю, что NumGumpTextEntry работает, но не в моем случае.
Code: Select all
NumGumpTextEntry(GetGumpsCount - 1, 1, '25'); // вводим 25
WaitGump('1'); // Жмем кнопку и крафтим 25 штук
Re: Обработка текста через Gump
Posted: 26.11.2017 9:42
by eugen319
Пошуршил немного в документации, вставил в скрипт
Заработало! Спасибо!
Вот, что у меня получилось в итоге:
Code: Select all
program Alchemi;
const
stupka = $0E9B;
recept = $14EF;
begin
Useobject(FindType(stupka,backpack));
WaitTargetObject(FindType(recept,backpack));
GumpAutoTextEntry(1, '30');
WaitGump('1');
end.
и у меня остался вопрос новичка, банки крафтятся, все ок, но бывают дисконекты и чар естественно перестает их делать. Как грамотно бы было сделать проверку ? Через журнал или таймер? И если можно бы было маленький пример проверки. Допустим сообщение при крафте: "Вы сделали бутылку"
Re: Обработка текста через Gump
Posted: 28.11.2017 8:19
by Vizit0r
проверку на что?
если на сообщение в журнале - то ищи через WaitJournalLine или InJournalBetweenTimes - на форуме полно скриптов с ними.
Re: Обработка текста через Gump
Posted: 29.11.2017 0:51
by eugen319
Vizit0r wrote:проверку на что?
если на сообщение в журнале - то ищи через WaitJournalLine или InJournalBetweenTimes - на форуме полно скриптов с ними.
Я уперся в эти две функции и уже пересмотрел много скриптов, в основном это скрипты на крафт, фишинг, мининг и т.д. Если я правильно понял в случае с WaitJournalLine - я жду определенную строку в журнале, в случае с InJournalBetweenTimes - я не до конца понял принцип работы, из-за того, что он принимает значения "больше-меньше-равно".
Допустим чар сделал N изделий и перестал делать. В журнале приблизительно следующие сообщения:
Code: Select all
[00:04] Чар: Сделал что-то полезное
[00:08] Чар: Сделал что-то полезное
[00:12] Чар: Сделал что-то полезное
....
И затем чара надо подтолкнуть на процедуру крафта снова. По сути условие простое: Если интервал между сообщениями 'Сделал что-то полезное' больше 20 секунд, тогда делай что-то. И вот я не знаю как прописать правильно условие через If, потому что здесь завязано и время и отслеживание журнала, хотя подозреваю, что мне может помочь InJournalBetweenTimes
Re: Обработка текста через Gump
Posted: 29.11.2017 0:55
by nah nah
Code: Select all
craft()
while not waitjournalline(line, 20000):
craft()
Re: Обработка текста через Gump
Posted: 29.11.2017 1:14
by eugen319
nah nah wrote:Code: Select all
craft()
while not waitjournalline(line, 20000):
craft()
Могу конечно из-за своей невнимательности ошибаться, но Stealth мне пишет: "Invalid number of parameters".
Code: Select all
begin
while not waitjournalline('Что-то скрафтили', 20000) do
begin
Addtosystemjournal('Крафтить будем ?');
end;
end.
Re: Обработка текста через Gump
Posted: 29.11.2017 1:21
by nah nah
Code: Select all
function WaitJournalLine(StartTime : TDateTime; Str : String; MaxWaitTimeMS : Integer) : Boolean
Code: Select all
const line = 'Что-то скрафтили';
var time : TDateTime;
time := now;
craft;
while WaitJournalLine(time, line, 20000) do
AddToSystemJournal('Крафтить будем ?');
Re: Обработка текста через Gump
Posted: 29.11.2017 13:24
by eugen319
nah nah wrote:Code: Select all
function WaitJournalLine(StartTime : TDateTime; Str : String; MaxWaitTimeMS : Integer) : Boolean
Code: Select all
const line = 'Что-то скрафтили';
var time : TDateTime;
time := now;
craft;
while WaitJournalLine(time, line, 20000) do
AddToSystemJournal('Крафтить будем ?');
Я так обрадовался, все оказалось намного проще, чем я думал. Да, невнимателен, вижу. Примного благодарен, все работает, как часы) Я бы еще с этими журналами бы сидел и ковырялся неделю )
Re: Обработка текста через Gump
Posted: 29.11.2017 20:23
by nah nah
а где большой пост со скриптом?)