Page 1 of 1

Antimacros

Posted: 2009-10-27 03:40:35
by [MAD]
вот тут открылся уо.спот.лв и появился бесючий антимакрос каждые 5 мин вылетает я несилён в Инже прошу селать скриптик после Гампа и скрина раскажу как я думаю ево обоити !

Image

Code: Select all

 _____infogump_______
serial   0x00073fcd
gumpid   0x000004a5
X   200
Y   100
651   packet size
0   reply packet size
Buttons: ________
Checks&Radios: __
Entryes: ________
All commands: ____
    1] omove
    2] oclose
    3] esizepic 0 0 5120 320 24
    4] age
    5] utton 120 210 239 240 1 0
    6] esizepic 015 180 5100 280 2
    7] extentry 32 180 200 20 100 0
    8] esizepic 100  20 5100 100 8
    9] esizepic 20 120 5100  90 2
   10] esizepic 120 120 5100  90 2
   11] esizepic 220 120 5100  90 2
   12] esizepic 20 150 5100  90 2
   13] esizepic 120 150 5100  90 2
   14] esizepic 220 150 5100  90 2
   15] ilepic 120 30 784
   16] ext 30 120 100
   17] ext 130 120 100
   18] ext 230 120 100
   19] ext 30 150 100
   20] ext 130 150 100
   21] ext 230 150 100
Text: ____________
    0] What is in the picture?
    1] Grass
    2] Modern
    3] Farmacy
    4] Scroll
    5] Bench
    6] Net


Image


Code: Select all

_____infogump_______
serial   0x00073fcd
gumpid   0x000004a5
X   200
Y   100
651   packet size
0   reply packet size
Buttons: ________
Checks&Radios: __
Entryes: ________
All commands: ____
    1] omove
    2] oclose
    3] esizepic 0 0 5120 320 24
    4] age
    5] utton 120 210 239 240 1 0
    6] esizepic 015 180 5100 280 2
    7] extentry 32 180 200 20 100 0
    8] esizepic 100  20 5100 100 8
    9] esizepic 20 120 5100  90 2
   10] esizepic 120 120 5100  90 2
   11] esizepic 220 120 5100  90 2
   12] esizepic 20 150 5100  90 2
   13] esizepic 120 150 5100  90 2
   14] esizepic 220 150 5100  90 2
   15] ilepic 120 50 382
   16] ext 30 120 100
   17] ext 130 120 100
   18] ext 230 120 100
   19] ext 30 150 100
   20] ext 130 150 100
   21] ext 230 150 100
Text: ____________
    0] What is in the picture?
    1] Gold
    2] Mouse
    3] Hungry
    4] Mushroom
    5] Pike
    6] Forge


Так вот в аамакросе нада стерать What is in the picture? и вписывать правельный вариант на 2 скрине это Gold , и таких картинок 5-10 вариантов ... и вот что я хочю при появлении картинки он определял по вариантам ответов , тоесть если он видет (2-й скрин) Golg-Mouse-Hungry-Moushroom-Pike-Forge то вписывал бы Gold , если видет Grass-Modern-Farmacy-Scroll-Bench-Net то вписал бы Net и т.д. недеемся что вы справетесь ево обойти зарание спосибо...

Posted: 2009-10-28 16:48:09
by [MAD]
чтото 2-й день не ответов не приветов :(

Posted: 2009-10-28 18:10:17
by Scripts Writer
Это тебе грина ждать надо

Posted: 2009-10-28 22:17:20
by Destruction
Было бы над чем работать.

Грин нужен, если проблемой является определить, что именно нужно вводить.

Как нас заверяет автор - проблемы в этом нет.

Кто не знает таких команд как:
uo.press()
uo.say()
uo.lclick()
? - Встали и пошли вон отсюда!

Кто еще тут? - Напишите автору топика решение.

Posted: 2009-10-29 09:54:10
by Cubango
Проблема в том - что в гампе нужно стереть фразу "What is in the picture?" как это сделать, ума не приложу

Posted: 2009-10-29 12:06:25
by Scripts Writer
У каждой клавиши на клавиатуре есть свой код. Ищи, здесь было стирание через Backspace код и uo.Press

Posted: 2009-10-29 12:41:28
by Nmy
Я наверно года 3 назад на этом сервере сделал анти-макрос. Так и не могу вспомнить как я бекспей заставил нажать...

Posted: 2009-10-29 13:59:19
by [MAD]
Nmy нашол 3 скрипта на старый Антимакрос !

Code: Select all

sub antimacro() 

   while not uo.Dead()
      if not uo.LastGump("replyed") and uo.LastGump("command", 5) == "heckertrans 9 9 304 16" then
         uo.lclick(uo.LastGump('x')+180, uo.LastGump('y')+100)
         wait(300)
         uo.say(chr(8)+str(Calc()))
         wait(300)
         uo.lclick(uo.LastGump('x')+60, uo.LastGump('y')+140)
      endif
      wait(1500)
   wend

endsub

sub GetInfo(A)
   
   var s = ""
   var TextIndex = 0
   var num = 0
   
   for var i = 6 to 15
      s = uo.LastGump("command", i)
      if Left(s, 3) == "ext" then
         if s[3] == " " then
            A[Int(val(mid(s, 4, 3))/10-2)] = uo.LastGump("text", TextIndex)
         endif
         TextIndex = TextIndex+1
      end if
   next

end sub

sub Calc()

   Dim Operands[16]
   
   GetInfo(Operands)
   Operands[2] = val(Operands[2])
   Operands[10] = val(Operands[10])
   
   if Operands[8] == "+" then
      return Operands[10]+Operands[2]
   else
      if Operands[8] == "-" then
         return Operands[2]-Operands[10]
      else
         if Operands[8] == "*" then
            return Operands[2]*Operands[10]
         else
            return Operands[2]/Operands[10]
         end if
      endif
   endif
   
   return 0

end sub

Code: Select all

sub Calc() 
   
   Dim Operands[16]
       
   GetInfo(Operands)
   Operands[2] = val(Operands[2])
   Operands[10] = val(Operands[10])
   
   if Operands[8] == "+" then
      return Operands[10]+Operands[2]
   else
      if Operands[8] == "-" then
         return Operands[2]-Operands[10]
      else
         if Operands[8] == "*" then
            return Operands[2]*Operands[10]
         else
            return Operands[2]/Operands[10]
         end if
      endif
   endif
   
   return 0

end sub
sub antimacro() #Ealonzanu...

   while not uo.Dead()
      if uo.LastGump('replyed') == 0 and uo.LastGump('gumpid') == '00000445' then
         uo.lclick(uo.LastGump('x')+180, uo.LastGump('y')+100)
         wait(300)
         uo.say(chr(8)+str(Calc()))
         wait(300)
         uo.lclick(uo.LastGump('x')+60, uo.LastGump('y')+140)
      endif
      wait(1500)
   wend
   
endsub

Code: Select all

sub Calc() 
   
   var max, min, opr
   var s, n
   for var i = 0 to 8
      s = uo.LastGump('text', i)
      n = val(s)
      if n > 100 then
         max = n
      else
         if n > 0 then
            min = n
         else
            if s == '+' then
               opr = s
            endif
         endif
      endif
   next
   if opr == '+' then
      return max+min
   endif
   return max-min
   
endsub

sub antimacro() #Ealonzanu...

   while not uo.Dead()
      if uo.LastGump('replyed') == 0 and uo.LastGump('gumpid') == '00000445' then
         uo.lclick(uo.LastGump('x')+180, uo.LastGump('y')+100)
         wait(300)
         uo.say(chr(8)+str(Calc()))
         wait(300)
         uo.lclick(uo.LastGump('x')+60, uo.LastGump('y')+140)
      endif
      wait(1500)
   wend
   
endsub

Надеюсь помогут !

Posted: 2009-10-29 19:17:33
by Nmy

Code: Select all

uo.say(chr(8))


вот как... мне наверно тоже грин помогал так что тут без вариантов...

там на обьект кликнуть можно?

Posted: 2009-10-31 00:57:38
by [MAD]
ну поможет кто ?

Posted: 2009-11-07 03:40:24
by [MAD]
киньте хоть какието наброски

Posted: 2009-11-07 17:56:23
by Grin
Вроде уже была подобная тема.

Варианта 2
1. Перемолоть tiledata.mul и выдрать все имена.
2. Обучить свой скрипт на личном примере:) Наверняка список предметов не такой большой, объединив друзей быстро на тыкаете полный список вариантов.

Posted: 2009-11-08 17:47:19
by [MAD]
Здраствуй Грин рад тебя услышать ! там список предметов постоянно пополняется админами мне-бы на эти 2 варианта а там думаю сами допишем остальные

Posted: 2009-11-08 20:42:46
by Grin
Изучаете формат tiledata.mul и выдергиваете все имена оттуда.
тот же POL эмулятор конвертирует в файл tiles.cfgб от туда уже можете забрать почти в готовом виде.

Ну а первый вариант давно уже должны были сами сделать, да и первый тоже...

Posted: 2009-11-09 00:32:00
by [MAD]
чото я нехрена непонемаю :( мне ненужно знать какие тама есчо варианты , мне нада сам скрипт на обход Антимакроса , чтоб варианты постепенно добовлять можно было !

Posted: 2009-11-09 01:09:16
by Nmy
Grin wrote:Изучаете формат tiledata.mul и выдергиваете все имена оттуда.
тот же POL эмулятор конвертирует в файл tiles.cfgб от туда уже можете забрать почти в готовом виде.

Ну а первый вариант давно уже должны были сами сделать, да и первый тоже...


Привет.

Он говорит - он не знает что писать :roll:

Posted: 2009-11-09 14:05:40
by [MAD]
а можите сделать по 1 варианту find Gold == say Gold ?

Posted: 2009-11-09 16:10:52
by Nmy
1. не знаю
2. должен кликнуть там где текст и удалить эго

Code: Select all

sub backspace()
   var x=123
   var y=123
   var n
   checklag()
   uo.click(x,y)
   wait(1000)
   for n=0 to 30
      uo.say(chr(8))
      checklag()
      wait(100)
   next
endsub
sub checklag()
   repeat
      UO.DeleteJournal()
      UO.Click('backpack')
   until backpack()==1
endsub
sub backpack()
   var n
   for n=0 to 200
      if uo.injournal('a backpack') then
         return 1
      endif
      wait(200)
   next
endsub


Сказать что в картинке просто - uo.say('Gold')

15] ilepic 120 30 784
15] ilepic 120 50 382
это наверно отвечате за картинку. я думаю это x y и ид

Posted: 2009-11-09 22:06:14
by [MAD]
Так несудите я в прогрессе :lol: крч непонемаю откуда берётса надпесь Result is underfined Вот скрин.
Image
Вот скрипт.

Code: Select all

sub decode()
if uo.LastGump('text',1) == "Sco*" then
  uo.msg('Scorpion')
  Else
  uo.print('No Fond')
End if
end sub

sub AAmacro()
   while not uo.dead()
      if uo.LastGump('text',0) == 'What is in the picture?' and uo.LastGump('replyed') == 0 then
         wait(300)
         uo.say(backspace())
         uo.lclick(uo.LastGump('x')+32, uo.LastGump('y')+180)
         uo.say(decode())
         wait(300)
         ;uo.lclick(uo.LastGump('x')+120, uo.LastGump('y')+210)
      end if
      wait(10000)
   wend
end sub

sub backspace()
   var n 
   wait(500)
   for n=0 to 23
      uo.lclick(uo.LastGump('x')+32, uo.LastGump('y')+180)
      uo.say(chr(8))
      wait(500)
   next
endsub

Posted: 2009-11-10 09:02:52
by Destruction
uo.say(backspace())
uo.say(decode())