Page 1 of 3
Нужен хел по гампу
Posted: 22.08.2012 16:10
by Enkidoo
Плохо с пониманием, помогите разобратся кому не сложно.
Стоит такой себе антимакрос
Code: Select all
Serial: 19F67
GumpID: 00B3
X: 0000
Y: 0000
Pages: 1
Gump Options:
GumpPics: X Y ID Hue Page ElemNum
GumpPic: 189 243 2231 0 0 1
GumpPic: 242 237 2227 0 0 2
GumpPic: 190 242 2225 0 0 3
GumpPic: 243 234 2225 0 0 4
GumpPic: 191 224 2227 0 0 18
GumpPic: 232 241 2227 0 0 19
ResizePics: X Y ID Width Height Page ElemNum
0 ResizePic: 140 170 5170 240 240 0 7
GumpTexts: X Y Color Text_ID Page ElemNum
0 GumpText: 195 172 152 0 0 8
1 GumpText: 170 195 0 1 0 9
2 GumpText: 170 253 0 2 0 20
3 GumpText: 170 265 0 3 0 21
4 GumpText: 280 265 0 4 0 22
Text Lines:
Antimacros System
Choose this protection code
----------------------
Entering code:
0
GumpButtons: X Y Released_ID Pressed_ID Quit Page_ID Return_value Page ElemNum
0 GumpButton: 160 175 2227 2227 1 1 1 0 5
1 GumpButton: 340 175 2227 2227 1 1 2 0 6
2 GumpButton: 313 303 2228 2228 1 1 9 0 10
3 GumpButton: 196 321 2225 2225 1 1 10 0 11
4 GumpButton: 231 320 2226 2226 1 1 3 0 12
5 GumpButton: 269 303 2227 2227 1 1 4 0 13
6 GumpButton: 238 363 2230 2230 1 1 5 0 14
7 GumpButton: 321 364 2232 2232 1 1 6 0 15
8 GumpButton: 187 357 2229 2229 1 1 7 0 16
9 GumpButton: 265 356 2231 2231 1 1 8 0 17
Previous gump reply:
Button id: 4
В gumpinfo 2 верхние цыфры 3 3 ( картинка просто как пример вида гампа)
Re: Нужен хел по гампу
Posted: 22.08.2012 16:20
by Vizit0r
просто как пример не надо.
надо полный лист гампа + его картинка к нему. один гамп и картинка с другого гампа - это бессмысленно.
Re: Нужен хел по гампу
Posted: 22.08.2012 22:41
by Enkidoo
Ет да, сглупил...
Гамп с кодом 76
Code: Select all
Serial: 19F67
GumpID: 00B3
X: 0000
Y: 0000
Pages: 1
Gump Options:
GumpPics: X Y ID Hue Page ElemNum
GumpPic: 269 324 2227 0 0 1
GumpPic: 306 321 2232 0 0 2
GumpPic: 287 325 2230 0 0 3
GumpPic: 314 333 2230 0 0 4
GumpPic: 286 319 2231 0 0 18
GumpPic: 321 313 2230 0 0 19
ResizePics: X Y ID Width Height Page ElemNum
0 ResizePic: 220 260 5170 240 240 0 7
GumpTexts: X Y Color Text_ID Page ElemNum
0 GumpText: 275 262 152 0 0 8
1 GumpText: 250 285 0 1 0 9
2 GumpText: 250 343 0 2 0 20
3 GumpText: 250 355 0 3 0 21
4 GumpText: 360 355 0 4 0 22
Text Lines:
Antimacros System
Choose this protection code
----------------------
Entering code:
0
GumpButtons: X Y Released_ID Pressed_ID Quit Page_ID Return_value Page ElemNum
0 GumpButton: 240 265 2231 2231 1 1 1 0 5
1 GumpButton: 420 265 2230 2230 1 1 2 0 6
2 GumpButton: 399 391 2228 2228 1 1 9 0 10
3 GumpButton: 272 394 2225 2225 1 1 10 0 11
4 GumpButton: 318 395 2226 2226 1 1 3 0 12
5 GumpButton: 363 395 2227 2227 1 1 4 0 13
6 GumpButton: 309 435 2230 2230 1 1 5 0 14
7 GumpButton: 403 430 2232 2232 1 1 6 0 15
8 GumpButton: 278 443 2229 2229 1 1 7 0 16
9 GumpButton: 355 444 2231 2231 1 1 8 0 17
Гамп с кодом 48
Code: Select all
Serial: 19F67
GumpID: 00B3
X: 0000
Y: 0000
Pages: 1
Gump Options:
GumpPics: X Y ID Hue Page ElemNum
GumpPic: 213 371 2227 0 0 1
GumpPic: 259 394 2227 0 0 2
GumpPic: 222 373 2225 0 0 3
GumpPic: 248 394 2226 0 0 4
GumpPic: 227 380 2228 0 0 18
GumpPic: 246 377 2232 0 0 19
ResizePics: X Y ID Width Height Page ElemNum
0 ResizePic: 160 320 5170 240 240 0 7
GumpTexts: X Y Color Text_ID Page ElemNum
0 GumpText: 215 322 152 0 0 8
1 GumpText: 190 345 0 1 0 9
2 GumpText: 190 403 0 2 0 20
3 GumpText: 190 415 0 3 0 21
4 GumpText: 300 415 0 4 0 22
Text Lines:
Antimacros System
Choose this protection code
----------------------
Entering code:
0
GumpButtons: X Y Released_ID Pressed_ID Quit Page_ID Return_value Page ElemNum
0 GumpButton: 180 325 2228 2228 1 1 1 0 5
1 GumpButton: 360 325 2232 2232 1 1 2 0 6
2 GumpButton: 341 451 2228 2228 1 1 9 0 10
3 GumpButton: 223 466 2225 2225 1 1 10 0 11
4 GumpButton: 252 471 2226 2226 1 1 3 0 12
5 GumpButton: 296 460 2227 2227 1 1 4 0 13
6 GumpButton: 262 513 2230 2230 1 1 5 0 14
7 GumpButton: 336 497 2232 2232 1 1 6 0 15
8 GumpButton: 212 494 2229 2229 1 1 7 0 16
9 GumpButton: 298 492 2231 2231 1 1 8 0 17
Есть соображение что два первых гумпбатона и есть ключевые
Code: Select all
GumpButtons: X Y Released_ID Pressed_ID Quit Page_ID Return_value Page ElemNum
0 GumpButton: 180 325 2228 2228 1 1 1 0 5
1 GumpButton: 360 325 2232 2232 1 1 2 0 6
Помогите написать скрипт чтоб он отслеживал первые две гумпбутоны и потом нажимал теже из остальной восмерки

Re: Нужен хел по гампу
Posted: 23.08.2012 11:22
by CFA
Получаем информацию о гампа в переменную
Запоминаем в переменных значения released_id у двух первых кнопок, среди оставшихся кнопок ищем кнопки с таким же released_id, с помощью NumGumpButton нажимаем эту кнопку используя return_value.
В гампах я не силен, поэтому вероятно нажатие кнопки приведет к закрытию гампа и открытию нового.
В виде кода это выглядит примерно так
Code: Select all
GetGumpInfo(GetGumpsCount-1, gi);
code1 := gi.GumpButtons[0].released_id; // код картинки первой кнопки
code2 := gi.GumpButtons[1].released_id; // код картинки второй кнопки
// цикл по оставшимся кнопкам
for i := 2 to GetArrayLength(gi.GumpButtons)-1 do
begin
if gi.GumpButton[i].released_id = code1 then // если код картинки совпадает, то...
begin
NumGumpButton(GetGumpsCount-1, gi.GumpButton[i].return_value); // нажимаем эту кнопку
break; // и заканчиваем цикл
end;
end;
Этот код нажимает только первую кнопку и считает, что первые две кнопки это и есть нужные (те нет необходимости в сортировке по координатам). И вообще гамп выглядит знакомым, где то на форуме я его видел.
Re: Нужен хел по гампу
Posted: 23.08.2012 14:52
by Enkidoo
Получился такой вот код
Code: Select all
Program New;
var
gi :TGumpInfo;
code1 : Cardinal;
code2 : Cardinal;
i : Integer;
released_id : Cardinal;
begin
GetGumpInfo(GetGumpsCount-1,gi);
code1 := gi.GumpButtons[0].released_id; // код картинки первой кнопки
code2 := gi.GumpButtons[1].released_id; // код картинки второй кнопки
// цикл по оставшимся кнопкам
i :=0
for i := 2 to GetArrayLength(gi.GumpButtons)-1
do
begin
if gi.GumpButtons[i].released_id = code1 then // если код картинки совпадает, то...
begin
NumGumpButton(GetGumpsCount-1, gi.GumpButtons[i].return_value); // нажимаем эту кнопку
break; // и заканчиваем цикл
end;
end;
end.
Но работа его не совсем корректна, первую клавишу он нажимает правильно.
Но после правильного нажатия руками на первую цифру, гамп обновляется. А когда ето делает скрипт то появляется второй идентичный гам но в нем перва цифра не введена.
Читоделать?
Re: Нужен хел по гампу
Posted: 23.08.2012 16:20
by Vizit0r
я бы посмотрел отличия в пакетных логах пакет 0xB0, отправляемый скриптом, и такой же, но отправляемый руками.
результаты сюда. без картинок, просто GumpInfo обоих и пакеты 0xB0.
Re: Нужен хел по гампу
Posted: 23.08.2012 17:53
by Enkidoo
Код 54. Два гампинфо, первый пустой, второй после нажатия руками пятерки
Code: Select all
Serial: 19F67
GumpID: 00B3
X: 0000
Y: 0000
Pages: 1
Gump Options:
GumpPics: X Y ID Hue Page ElemNum
GumpPic: 236 265 2229 0 0 1
GumpPic: 277 258 2231 0 0 2
GumpPic: 234 266 2229 0 0 3
GumpPic: 276 267 2226 0 0 4
GumpPic: 233 250 2229 0 0 18
GumpPic: 267 257 2228 0 0 19
ResizePics: X Y ID Width Height Page ElemNum
0 ResizePic: 180 200 5170 240 240 0 7
GumpTexts: X Y Color Text_ID Page ElemNum
0 GumpText: 235 202 152 0 0 8
1 GumpText: 210 225 0 1 0 9
2 GumpText: 210 283 0 2 0 20
3 GumpText: 210 295 0 3 0 21
4 GumpText: 320 295 0 4 0 22
Text Lines:
Antimacros System
Choose this protection code
----------------------
Entering code:
0
GumpButtons: X Y Released_ID Pressed_ID Quit Page_ID Return_value Page ElemNum
0 GumpButton: 200 205 2229 2229 1 1 1 0 5
1 GumpButton: 380 205 2228 2228 1 1 2 0 6
2 GumpButton: 351 344 2228 2228 1 1 9 0 10
3 GumpButton: 237 350 2225 2225 1 1 10 0 11
4 GumpButton: 279 342 2226 2226 1 1 3 0 12
5 GumpButton: 313 341 2227 2227 1 1 4 0 13
6 GumpButton: 288 391 2230 2230 1 1 5 0 14
7 GumpButton: 347 390 2232 2232 1 1 6 0 15
8 GumpButton: 234 378 2229 2229 1 1 7 0 16
9 GumpButton: 317 380 2231 2231 1 1 8 0 17
Previous gump reply:
Button id: 0
Serial: 19F67
GumpID: 00B3
X: 0000
Y: 0000
Pages: 1
Gump Options:
GumpPics: X Y ID Hue Page ElemNum
GumpPic: 242 265 2228 0 0 1
GumpPic: 281 260 2225 0 0 2
GumpPic: 242 253 2229 0 0 3
GumpPic: 279 264 2228 0 0 4
GumpPic: 241 266 2229 0 0 18
GumpPic: 265 254 2228 0 0 19
ResizePics: X Y ID Width Height Page ElemNum
0 ResizePic: 180 200 5170 240 240 0 7
GumpTexts: X Y Color Text_ID Page ElemNum
0 GumpText: 235 202 152 0 0 8
1 GumpText: 210 225 0 1 0 9
2 GumpText: 210 283 0 2 0 20
3 GumpText: 210 295 0 3 0 21
4 GumpText: 320 295 0 4 0 22
Text Lines:
Antimacros System
Choose this protection code
----------------------
Entering code:
5
GumpButtons: X Y Released_ID Pressed_ID Quit Page_ID Return_value Page ElemNum
0 GumpButton: 200 205 2229 2229 1 1 1 0 5
1 GumpButton: 380 205 2228 2228 1 1 2 0 6
2 GumpButton: 360 335 2228 2228 1 1 9 0 10
3 GumpButton: 232 353 2225 2225 1 1 10 0 11
4 GumpButton: 273 333 2226 2226 1 1 3 0 12
5 GumpButton: 318 345 2227 2227 1 1 4 0 13
6 GumpButton: 288 380 2230 2230 1 1 5 0 14
7 GumpButton: 357 380 2232 2232 1 1 6 0 15
8 GumpButton: 246 388 2229 2229 1 1 7 0 16
9 GumpButton: 308 388 2231 2231 1 1 8 0 17
Previous gump reply:
Button id: 7
Код 53. Тоже в начале пустой, потом нажатый макросом. (при етом в клиенте висит два гампа один под другим)
Code: Select all
Serial: 19F67
GumpID: 00B3
X: 0000
Y: 0000
Pages: 1
Gump Options:
GumpPics: X Y ID Hue Page ElemNum
GumpPic: 227 242 2225 0 0 1
GumpPic: 276 242 2230 0 0 2
GumpPic: 243 221 2231 0 0 3
GumpPic: 287 236 2232 0 0 4
GumpPic: 248 228 2229 0 0 18
GumpPic: 280 241 2227 0 0 19
ResizePics: X Y ID Width Height Page ElemNum
0 ResizePic: 180 170 5170 240 240 0 7
GumpTexts: X Y Color Text_ID Page ElemNum
0 GumpText: 235 172 152 0 0 8
1 GumpText: 210 195 0 1 0 9
2 GumpText: 210 253 0 2 0 20
3 GumpText: 210 265 0 3 0 21
4 GumpText: 320 265 0 4 0 22
Text Lines:
Antimacros System
Choose this protection code
----------------------
Entering code:
0
GumpButtons: X Y Released_ID Pressed_ID Quit Page_ID Return_value Page ElemNum
0 GumpButton: 200 175 2229 2229 1 1 1 0 5
1 GumpButton: 380 175 2227 2227 1 1 2 0 6
2 GumpButton: 346 318 2228 2228 1 1 9 0 10
3 GumpButton: 227 311 2225 2225 1 1 10 0 11
4 GumpButton: 283 314 2226 2226 1 1 3 0 12
5 GumpButton: 311 302 2227 2227 1 1 4 0 13
6 GumpButton: 265 355 2230 2230 1 1 5 0 14
7 GumpButton: 348 341 2232 2232 1 1 6 0 15
8 GumpButton: 234 350 2229 2229 1 1 7 0 16
9 GumpButton: 311 345 2231 2231 1 1 8 0 17
Previous gump reply:
Button id: 0
бштащпгьз
Serial: 19F67
GumpID: 00B3
X: 0000
Y: 0000
Pages: 1
Gump Options:
GumpPics: X Y ID Hue Page ElemNum
GumpPic: 226 229 2226 0 0 1
GumpPic: 276 223 2231 0 0 2
GumpPic: 246 221 2226 0 0 3
GumpPic: 279 241 2232 0 0 4
GumpPic: 239 229 2229 0 0 18
GumpPic: 267 231 2227 0 0 19
ResizePics: X Y ID Width Height Page ElemNum
0 ResizePic: 180 170 5170 240 240 0 7
GumpTexts: X Y Color Text_ID Page ElemNum
0 GumpText: 235 172 152 0 0 8
1 GumpText: 210 195 0 1 0 9
2 GumpText: 210 253 0 2 0 20
3 GumpText: 210 265 0 3 0 21
4 GumpText: 320 265 0 4 0 22
Text Lines:
Antimacros System
Choose this protection code
----------------------
Entering code:
5
GumpButtons: X Y Released_ID Pressed_ID Quit Page_ID Return_value Page ElemNum
0 GumpButton: 200 175 2229 2229 1 1 1 0 5
1 GumpButton: 380 175 2227 2227 1 1 2 0 6
2 GumpButton: 345 322 2228 2228 1 1 9 0 10
3 GumpButton: 243 323 2225 2225 1 1 10 0 11
4 GumpButton: 267 319 2226 2226 1 1 3 0 12
5 GumpButton: 324 308 2227 2227 1 1 4 0 13
6 GumpButton: 289 352 2230 2230 1 1 5 0 14
7 GumpButton: 365 340 2232 2232 1 1 6 0 15
8 GumpButton: 233 347 2229 2229 1 1 7 0 16
9 GumpButton: 311 344 2231 2231 1 1 8 0 17
Previous gump reply:
Button id: 7
Но есть мысли что он просто не нажимает вторую из-за обновления гампа
Re: Нужен хел по гампу
Posted: 23.08.2012 18:06
by Vizit0r
не вижу различий...
тебе надо нажимать сначала кнопку с первой цифрой в первом гампе, потом проверять последнюю строку из TextLines на = '0' (как в первом гампе). Если не ноль - значится это второй гамп, и надо жать на вторую кнопку.
Re: Нужен хел по гампу
Posted: 23.08.2012 18:18
by Enkidoo
Все-же думаю скрипт не нажимает вторую, если нажать скриптом первую а потом руками вторую то клиент пишет, что проверка пройдена.
Но гамп с невведеным кодом остается висеть ( и на гампинфо ничего не выводит)
Как поправить код чтоб он после нажатия первой клавиши и обновления гампа нажал вторую?
Re: Нужен хел по гампу
Posted: 23.08.2012 19:05
by Vizit0r
Enkidoo wrote:Все-же думаю скрипт не нажимает вторую, если нажать скриптом первую а потом руками вторую то клиент пишет, что проверка пройдена.
я тоже так думаю - ведь в скрипте ни слова про использование второй кнопки
а как дописать на второй гамп - я написал в общих чертах выше, пробуй. не получится - я или CFA завтра напишу(ет).
Re: Нужен хел по гампу
Posted: 24.08.2012 1:25
by Enkidoo
Получился вот такой кривокод
Вводит значения правильно, клиент информирует об етом но окно гампов не закрывает 8(
Подправьте если не сложно
И как его в писать в тело другого скрипта чтоб при появлении гампа срабатывал етот скрипт?
Еще он почемуто не хочет работать когда две одинаковые цифры 8(
Если сложно вписывать, может можно отдельным скриптом чтоб запускался, ждал появления гампа и срабатывал.
Code: Select all
Program New;
var
gi :TGumpInfo;
code1 : Cardinal;
code2 : Cardinal;
i : Integer;
released_id : Cardinal;
begin
GetGumpInfo(GetGumpsCount-1,gi);
code1 := gi.GumpButtons[0].released_id; // код картинки первой кнопки
// код картинки второй кнопки
// цикл по оставшимся кнопкам
i :=0
for i := 1 to GetArrayLength(gi.GumpButtons)-1
do
begin
if gi.GumpButtons[i].released_id = code1 then // если код картинки совпадает, то...
begin
NumGumpButton(GetGumpsCount-1, gi.GumpButtons[i].return_value); // нажимаем эту кнопку
If IsGump then
if IsGumpCanBeClosed(GetGumpsCount-1) then
CloseSimpleGump(GetGumpsCount-1);
wait (1000)
GetGumpInfo(GetGumpsCount-1,gi);
code2 := gi.GumpButtons[1].released_id;
for i := 2 to GetArrayLength(gi.GumpButtons)-1
do
begin
if gi.GumpButtons[i].released_id = code2 then // если код картинки совпадает, то...
begin
NumGumpButton(GetGumpsCount-1, gi.GumpButtons[i].return_value);
break; // и заканчиваем цикл
If IsGump then
if IsGumpCanBeClosed(GetGumpsCount-1) then
CloseSimpleGump(GetGumpsCount-1);
end;
end;
end;
Re: Нужен хел по гампу
Posted: 24.08.2012 8:32
by Vizit0r
в клиенте не закрывает, потому что клиент версии меньше чем 4.
а код может и рабочий, но невеселый
когда будет время - перепишу полностью на ивент.
Re: Нужен хел по гампу
Posted: 27.08.2012 11:50
by Enkidoo
Всем спасибо за помощь, зхапилил рабочий код, добавил как процедуру в инклюд, и потом вставил после юза топора.
Re: Нужен хел по гампу
Posted: 28.08.2012 0:03
by Vizit0r
на ивент гампа переделай лучше, это правильнее.
мне сейчас не до скриптов, потому отмалчиваюсь)
Re: Нужен хел по гампу
Posted: 20.09.2012 11:06
by admir
Уххх честно говоря с возможностями стелса этот антимакрос просто ни о чем

Даже инжектом можно словить 2 подряд гампа и протыкать кнопки...
Эт на каком шарде такое ?