Проблема с крафт-гампом на инскрипт (to Grin ^))

Ask for help

Moderators: Murderator+, Murderator

Dolbo
Posts: 41
Joined: 2008-04-02 08:24:35

Проблема с крафт-гампом на инскрипт (to Grin ^))

Post by Dolbo »

Здравствуйте!


Image

Code: Select all

_____infogump_______
serial   0x0006910a
gumpid   0x0000003d
X   0
Y   0
1484   packet size
0   reply packet size
Buttons: ________
 page 0
    1 [  805] image=0x138F at 226:202
    2 [  806] image=0x138F at 314:202
    3 [  807] image=0x138F at 402:202
    4 [  808] image=0x138F at 490:202
    5 [  802] image=0x138F at 292:219
    6 [  803] image=0x138F at 380:219
    7 [  804] image=0x138F at 468:219
Checks&Radios: __
Entryes: ________
All commands: ____
    1] page 0
    2] resizepic 200 200 5100 390 250
    3] page 1
    4] button 226 202 5006 5007 1 5 805
    5] button 314 202 5006 5007 1 6 806
    6] button 402 202 5006 5007 1 7 807
    7] button 490 202 5006 5007 1 8 808
    8] gumppic 204 219 5007
    9] button 292 219 5006 5007 1 2 802
   10] button 380 219 5006 5007 1 3 803
   11] button 468 219 5006 5007 1 4 804
   12] text 220 218 0 0
   13] text 308 218 0 1
   14] text 398 218 0 2
   15] text 486 218 0 3
   16] text 242 200 0 4
   17] text 330 200 0 5
   18] text 420 200 0 6
   19] text 508 200 0 7
   20] text 260 240 50 8
   21] text 260 290 50 9
   22] text 260 340 50 10
   23] text 260 390 50 11
   24] text 440 240 50 12
   25] text 440 290 50 13
   26] text 440 340 50 14
   27] text 440 390 50 15
   28] text 260 260 0 16
   29] text 260 310 0 17
   30] text 260 360 0 18
   31] text 260 410 0 19
   32] text 440 260 0 20
   33] text 440 310 0 21
   34] text 440 360 0 22
   35] text 440 410 0 23
   36] BUTTON 210 240 2240 2240 1 0 1
   37] BUTTON 210 290 2241 2241 1 0 2
   38] BUTTON 210 340 2242 2242 1 0 3
   39] BUTTON 210 390 2243 2243 1 0 4
   40] BUTTON 390 240 2244 2244 1 0 5
   41] BUTTON 390 290 2245 2245 1 0 6
   42] BUTTON 390 340 2246 2246 1 0 7
   43] BUTTON 390 390 2247 2247 1 0 8
Text: ____________
    0] Circle 1
    1] Circle 2
    2] Circle 3
    3] Circle 4
    4] Circle 5
    5] Circle 6
    6] Circle 7
    7] Circle 8
    8] Clumsy
    9] Create Food
   10] Feeblemind
   11] Heal
   12] Magic Arrow
   13] Night Sight
   14] Reactive Armor
   15] Weaken
   16] Bm, Ns
   17] Ga, Gi, Mr
   18] Gi, Ns
   19] Ga, Gi, Ss
   20] Bp, Ns
   21] Ss, Sa
   22] Ga, Ss, Sa
   23] Ga, Ns



Image

Code: Select all

_____infogump_______
serial   0x0006910a
gumpid   0x0000003e
X   0
Y   0
1461   packet size
0   reply packet size
Buttons: ________
 page 0
    1 [  805] image=0x138F at 226:202
    2 [  806] image=0x138F at 314:202
    3 [  807] image=0x138F at 402:202
    4 [  808] image=0x138F at 490:202
    5 [  801] image=0x138F at 204:219
    6 [  803] image=0x138F at 380:219
    7 [  804] image=0x138F at 468:219
Checks&Radios: __
Entryes: ________
All commands: ____
    1] page 0
    2] resizepic 200 200 5100 390 250
    3] page 1
    4] button 226 202 5006 5007 1 5 805
    5] button 314 202 5006 5007 1 6 806
    6] button 402 202 5006 5007 1 7 807
    7] button 490 202 5006 5007 1 8 808
    8] button 204 219 5006 5007 1 1 801
    9] gumppic 292 219 5007
   10] button 380 219 5006 5007 1 3 803
   11] button 468 219 5006 5007 1 4 804
   12] text 220 218 0 0
   13] text 308 218 0 1
   14] text 398 218 0 2
   15] text 486 218 0 3
   16] text 242 200 0 4
   17] text 330 200 0 5
   18] text 420 200 0 6
   19] text 508 200 0 7
   20] text 260 240 50 8
   21] text 260 290 50 9
   22] text 260 340 50 10
   23] text 260 390 50 11
   24] text 440 240 50 12
   25] text 440 290 50 13
   26] text 440 340 50 14
   27] text 440 390 50 15
   28] text 260 260 0 16
   29] text 260 310 0 17
   30] text 260 360 0 18
   31] text 260 410 0 19
   32] text 440 260 0 20
   33] text 440 310 0 21
   34] text 440 360 0 22
   35] text 440 410 0 23
   36] BUTTON 210 240 2248 2248 1 0 9
   37] BUTTON 210 290 2249 2249 1 0 10
   38] BUTTON 210 340 2250 2250 1 0 11
   39] BUTTON 210 390 2251 2251 1 0 12
   40] BUTTON 390 240 2252 2252 1 0 13
   41] BUTTON 390 290 2253 2253 1 0 14
   42] BUTTON 390 340 2254 2254 1 0 15
   43] BUTTON 390 390 2255 2255 1 0 16
Text: ____________
    0] Circle 1
    1] Circle 2
    2] Circle 3
    3] Circle 4
    4] Circle 5
    5] Circle 6
    6] Circle 7
    7] Circle 8
    8] Agility
    9] Cunning
   10] Cure
   11] Harm
   12] Magic Trap
   13] Magic Untrap
   14] Protection
   15] Strenght
   16] Bm, Mr
   17] Mr, Ns
   18] Ga, Gi
   19] Ns, Ss
   20] Ga, Ss, Sa
   21] Bm, Sa
   22] Ga, Gi, Sa
   23] Mr, Ns

------------------------------------------------------------------------
Вот имеется такая менюшка,
я реализовал выбор так

Code: Select all

uo.say (",ongump withtext 'Circle 3' 803")#  3круг
    wait (100)
    uo.UseType(Blank)
    wait (400)
    UO.LClick(412,311) #teleport skroll

впринципе работает...
но крашит клиент если не сразу после запуска, то через 10-15
минут работы макроса.
Придумать что то более рациональное нехватило
смекалки и знаний..


Немогли бы ВЫ задать правильное направление для дальнейшего полета мысли :))
ЗЫ
И в кратце объяснить как реализовать выбор для крафта другий скролей :)
Что бы я вас больше не беспокоил!
Жду с нетерпением. Спасибо.

(шард Fogotten World) если это имеет какое-то значение!
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

А стандартным способом (через UO.Recall) не сработает? Потому как по виду - просто нестандартная рунбука. Попробуй.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

гамп переает только инфу по 1 странице (если совсем придератся то по 2, но это не важно), за 1 гамп команду выбор спела из не дефолтного круга не получится...

по этому, если ongump часто крашит
остается 2 варианта...
uo.LastGump
и uo.Recall...

дефолтный (первый) достаточно через recall делать...
так же можно выбор круга осуществить...
а дальше... дальше LClick:)
Dolbo
Posts: 41
Joined: 2008-04-02 08:24:35

Post by Dolbo »

я так понимаю что
uo.recall (0x00001,36) имеет такой вид.
т.к. ID стопки бланков постоянно меняется. (используем бланки появляется гамп.)
то его нужно как то считать и запомнить . как я хз.

во время тестирования
случайно забыл убрать лишнюю сточку с
uo.recall на недоступный обьект
все время пытается дотянутся безуспешно ,
но крашить после этого вроде перестало
уже 3 часа валит без сбоев :))
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

т.к. ID стопки бланков постоянно меняется


Ну это-то просто. Поиск в цикле, взять сериал найденной стопки и использовать его.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Не понял почему ID меняется...
или бланки заканчиваютс или ты их на кучи делишь?
в цикле ничего искать не надо.
или findtype или через сокращеный вариант ^, _, ~
Dolbo
Posts: 41
Joined: 2008-04-02 08:24:35

Post by Dolbo »

Grin wrote:Не понял почему ID меняется...
или бланки заканчиваютс или ты их на кучи делишь?
в цикле ничего искать не надо.
или findtype или через сокращеный вариант ^, _, ~

беру с пола по 100 шт. пишу выкладываю . ID стопки каждый раз новый
но это уже пройденный этап, посидел разобрался findtype освоил
но дело не продвинулось
пробывал через uo.Recall...
если выбирать спелл из дефолтного круга все замечательно работает.
но если вместо спела пытаться выбрать круг нет продолжения...
тоесть оно может и выбирает что то там.
но гампа с переключенным кругом уже нет (не появляется он..)
сначала весь выбор спела хотел постоить на uo.lcliсk
но тогда возникает побочный эффект в написании
спелов которые мне ненужны (при лагах. сейвах. большом пинге)
поэтому хотя бы один выбор (спелла или круга)
должен быть без LClick

uo.LastGump для меня вообще загадка...
пытался понять чесно.. неполучилось
так же как и Val Mid и тд. не тот склад ума наверное...

Вообщем на вас вся надежда! :)
Dolbo
Posts: 41
Joined: 2008-04-02 08:24:35

Post by Dolbo »

Ещё вопрос
Можно ли проверить открыт ли какой небуть из гампов.
И если открыт закрыть его?
#####################################
Ещё вопрос
Нужно в начале скрипта вызвать таргет и ожидать пока
не ткнут в пачку скролей. Запомнить type выбранной стопки
и патом сравнивать его с заранее извесным условием

Code: Select all

if obrazec==1 then
uo.Print('Выбери Скроли: ')
uo.Exec('addobject scrolltype')
while uo.Targeting()
wait(100)
wend
end if


Вот как из указанного обьекта выдрать тип и записать в переменную?
to4a
Posts: 265
Joined: 2006-03-10 00:19:11
Location: http://drw.ru/

Post by to4a »

UO.Set('norbcalc',0)
UO.Set('norbcheck',0)

и онгамп не будет крашить

Dolbo wrote:Ещё вопрос
Можно ли проверить открыт ли какой небуть из гампов.
И если открыт закрыть его?

Узнать нельзя, закрыть можно если гамп не в рэндомном месте экрана появляется при помощи uo.rclick(x,y)

Dolbo wrote:#####################################
Ещё вопрос
Нужно в начале скрипта вызвать таргет и ожидать пока
не ткнут в пачку скролей. Запомнить type выбранной стопки
и патом сравнивать его с заранее извесным условием

Code: Select all

UO.Print('Target scroll')
UO.AddObject('xxx')
while UO.Targeting()
   wait(50)
wend
VAR TYPE=UO.GetGraphic('xxx')
if TYPE==ZARANEE_IZVESTNIJ_TIP then
....
endif
DRW - Glorior Belli
Image
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

ongump крашить будет

узнать можно
uo.LastGump('replyed')
to4a
Posts: 265
Joined: 2006-03-10 00:19:11
Location: http://drw.ru/

Post by to4a »

Grin wrote:ongump крашить будет

узнать можно
uo.LastGump('replyed')


может и будет но не так часто
по крайней мере у меня было так, пока норбчек/норбкалк были 0, у меня ни крашил не разу хотя в день я скрипт на онгампе(для рекола) юзал по несколько десятков раз в день, а вот с uo.recall были траблы, уже не понмю какие, потом поставил 1, рекол заработал а онгамп стал через раз крашить...

uo.LastGump('replyed') насколько я помню так можно узнать последний ответ на гамп, а открытые гампы не узнать
DRW - Glorior Belli
Image
Dolbo
Posts: 41
Joined: 2008-04-02 08:24:35

Post by Dolbo »

to4a
Спасибо.

Собственно после сегодняшней работы над скриптом
опять начало крашить клиент. До этого сутки работал макрос без перерыва
Я теряюсь в догадках.. ппц вроде ongump не трогал сильно.
И почти нечего в этой части скрипта не менял..


Было замечено что чаще всего краш случается
когда по какой небуть причине не получается начать писать скроль.

Code: Select all

   
   uo.UseType(Blank)
   wait (400)
   uo.lClick (xclick,yclick)
   wait (1000)
   uo.say (,ongump withtext 'Circle 5' 805)
   wait (1000)
   uo.rclick (565,426)

тоесть lclick из за лага или перемещений мыши не попадает по координатам
rclick закрывает гамп
и при следующем появлении гампа сразу краш.
№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№
Собственно макрос полностью готов.
Сегодня думал будет релиз..
Но вот краши портят всю малину...... :((((
Неужели нет надежного способа нажимать эти кнопки ?
На асисте эта процедура выполняется без проблем.
но там нет всего остального...
видимо придется делать оба выбора на LClic ..
№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№
Если кто небуть знает как помочь нестеснгяемся пишем..
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

to4a wrote:uo.LastGump('replyed') насколько я помню так можно узнать последний ответ на гамп, а открытые гампы не узнать


и что ты узнаешь про ответ на гамп?
to4a
Posts: 265
Joined: 2006-03-10 00:19:11
Location: http://drw.ru/

Post by to4a »

Вот тут хз пользовать не приходилось)

2 Dolbo:

ну если начало крашить опять то верни обратно norbcalk и norbcheck и не юзай онгамп, мой случай к тебе не подойдет
DRW - Glorior Belli
Image
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

тайну...
даный параметр указывает скольеко байт было в ответе на гамп...
следовательно если там 0, то на гампа пока ответа не было... он весит себе и ждет когда его пошлют...
Dolbo
Posts: 41
Joined: 2008-04-02 08:24:35

Post by Dolbo »

Собственно
UO.Set('norbcalc',0)
UO.Set('norbcheck',0)
и
UO.OnGump('0x0006910a',xclick,yclick)
зделали свое дело.
Краши позабыли
макрос пишет без остановок
все пучком . :)
Всем спасибо. :) :D
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

UO.OnGump('0x0006910a',xclick,yclick)
какая то магическая команда...
Dolbo
Posts: 41
Joined: 2008-04-02 08:24:35

Post by Dolbo »

это просто переменные которые задаются выше для каждого отдельного скроля

Code: Select all

  
if scrvar=='0x1F4C' then
    x1click = 514
    y1click = 226
    Arrow = '0x1F4C' ; Тип скроллов Реколл
    xclick = '0x00000040'
    yclick = '0x0020'
    uo.Print(' Реколл ')
........ для десятка скролей
  end if

и потом

Code: Select all

   UO.OnGump('0x0006910a',xclick,yclick)
   checklag()
   uo.UseType(Blank)
   r = 1
   wait (500)
   repeat
   uo.LClick (x1click,y1click)
   wait (50)
   r = r+1
   until r < 7
   wait (500)
   checklag()
   uo.rclick (565,426) # Закрываем зависшие гампы



Просто я систему выбора для крафта нужных скролей
построил на системе образца.
тоесть после запуска скрипта он просит указать образец
скроля. показываешь он крафтит скроли этого вида..
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

да нет просто я придал другое значение меременых xclick
yclick...
to4a
Posts: 265
Joined: 2006-03-10 00:19:11
Location: http://drw.ru/

Post by to4a »

Grin wrote:тайну...
даный параметр указывает скольеко байт было в ответе на гамп...
следовательно если там 0, то на гампа пока ответа не было... он весит себе и ждет когда его пошлют...


Ну в случае если гамп 1 то да можно узнать висит он или нет, ну и в данном случае он может быть только 1
DRW - Glorior Belli
Image
Post Reply