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())