| Не могу разобраться со скриптом на мининг. Собственно есть сам скрипт:
 
 Code: sub Mining() VAR a = 0 # 0 <=> используемые объекты указаны # 1 <=> используемые объекты не указаны #
 uo.setglobal('recal', '1') #отвечает за телепортацию по шахтам#
 uo.setglobal('place', '1') #отвечает за перемещение чара по шахте#
 uo.setglobal('circle', '1') #отвечает за телепортацию в следующую шахту при обходе полного круга#
 uo.setglobal('back', '0') #отвечает за синхронизацию возвращения на место копки после сгрузки#
 if a == 1 then
 uo.print('Укажите сундук с регами, кирками, инвизками, манками')
 uo.exec('addobject Sunduk1')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите сундук для руды')
 uo.exec('addobject Sunduk2')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну к дому')
 uo.exec('addobject Home')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 1')
 uo.exec('addobject mine1')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 2')
 uo.exec('addobject mine2')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 3')
 uo.exec('addobject mine3')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 4')
 uo.exec('addobject mine4')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 5')
 uo.exec('addobject mine5')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 6')
 uo.exec('addobject mine6')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 7')
 uo.exec('addobject mine7')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 8')
 uo.exec('addobject mine8')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 9')
 uo.exec('addobject mine9')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 10')
 uo.exec('addobject mine10')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 11')
 uo.exec('addobject mine11')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 12')
 uo.exec('addobject mine12')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 13')
 uo.exec('addobject mine13')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 14')
 uo.exec('addobject mine14')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 15')
 uo.exec('addobject mine15')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 16')
 uo.exec('addobject mine16')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 17')
 uo.exec('addobject mine17')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 18')
 uo.exec('addobject mine18')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 19')
 uo.exec('addobject mine19')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 20')
 uo.exec('addobject mine20')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 21')
 uo.exec('addobject mine21')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 22')
 uo.exec('addobject mine22')
 while uo.targeting()
 wait(100)
 wend
 wait(1000)
 uo.print('Укажите руну в шахту 23')
 uo.exec('addobject mine23')
 while uo.targeting()
 wait(100)
 wend
 return
 endif
 uo.exec('exec CheckingItems')
 end sub
 
 sub CheckingItems()
 VAR b
 uo.findtype('0x0F0E') #тип пустых бутылок#
 if uo.findcount() > 0 then
 uo.moveitem('finditem', '-1', 'Sunduk1')
 wait(1000)
 checklag()
 endif
 DIM Ore[4]
 Ore[0] = '0x19B9' #тип 4ех и более оров#
 Ore[1] = '0x19B8' #тип 3ех оров#
 Ore[2] = '0x19BA' #тип 2ух оров#
 Ore[3] = '0x19B7' #тип 1го ора#
 for var a = 0 to 3
 uo.findtype(Ore[a])
 while uo.findcount() > 0
 uo.moveitem('finditem', '-1', 'Sunduk2')
 wait(1000)
 checklag()
 uo.findtype(Ore[a])
 wend
 next
 uo.useobject('Sunduk1')
 wait(1000)
 checklag()
 DIM Reg[3]
 Reg[0] = '0x0F7A' #Black Pearl#
 Reg[1] = '0x0F7B' #Bood Moss#
 Reg[2] = '0x0F86' #Mandrake Root#
 for b = 0 to 2
 if uo.count(Reg[b]) < 50 then
 uo.findtype(Reg[b], '-1', 'Sunduk1')
 if uo.findcount() > 0 then
 uo.moveitem('finditem', '50')
 wait(1000)
 checklag()
 else
 uo.print('Нет необходимого количества регов в сундуке')
 return
 endif
 endif
 next
 if uo.count('0x0F08') < 5 then #тип инвизок#
 uo.findtype('0x0F08', '-1', 'Sunduk1')
 if uo.findcount() > 0 then
 uo.moveitem('finditem', '5')
 wait(1000)
 checklag()
 else
 uo.print('Нет необходимого количества инвизок в сундуке')
 ;return
 endif
 endif
 uo.findtype('0x0E85') #тип кирок#
 while uo.findcount() < 7
 uo.findtype('0x0E85', '-1', 'Sunduk1')
 if uo.findcount() > 0 then
 uo.moveitem('finditem', '1')
 else
 uo.print('Нет необходимого количества кирок в сундуке')
 return
 endif
 wait(1000)
 checklag()
 uo.findtype('0x0E85')
 wend
 if val(uo.getglobal('back')) == 1 then
 wait(50)
 else
 uo.exec('exec Teleportation')
 endif
 end sub
 
 sub Teleportation()
 VAR a, b, c
 VAR d = uo.getx('self')
 repeat
 while uo.mana < 11
 uo.warmode('0')
 uo.useskill('Meditation')
 wait(1000)
 wend
 a = 0
 if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
 uo.usetype('0x0F08')
 uo.closeuo()
 else
 wait(50)
 endif
 uo.deletejournal()
 if val(uo.getglobal('recal')) == 1 then
 uo.waittargetobject('mine1')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 2 then
 uo.waittargetobject('mine2')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 3 then
 uo.waittargetobject('mine3')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 4 then
 uo.waittargetobject('mine4')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 5 then
 uo.waittargetobject('mine5')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 6 then
 uo.waittargetobject('mine6')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 7 then
 uo.waittargetobject('mine7')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 8 then
 uo.waittargetobject('mine8')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 9 then
 uo.waittargetobject('mine9')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 10 then
 uo.waittargetobject('mine10')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 10 then
 uo.waittargetobject('mine10')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 11 then
 uo.waittargetobject('mine11')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 12 then
 uo.waittargetobject('mine12')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 13 then
 uo.waittargetobject('mine13')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 14 then
 uo.waittargetobject('mine14')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 15 then
 uo.waittargetobject('mine15')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 16 then
 uo.waittargetobject('mine16')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 17 then
 uo.waittargetobject('mine17')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 18 then
 uo.waittargetobject('mine18')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 20 then
 uo.waittargetobject('mine20')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 21 then
 uo.waittargetobject('mine21')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 22 then
 uo.waittargetobject('mine22')
 uo.cast('Recall')
 else
 wait(50)
 endif
 if val(uo.getglobal('recal')) == 23 then
 uo.waittargetobject('mine23')
 uo.cast('Recall')
 else
 wait(50)
 endif
 repeat
 wait(100)
 a = a + 1
 until a > 35 or d <> uo.getx('self') or uo.injournal('The spell fizzles.')
 wait(500)
 until not uo.injournal('The spell fizzles.')
 b = val(uo.getglobal('recal')) + 1
 uo.setglobal('recal', str(b))
 if val(uo.getglobal('recal')) > 23 then
 uo.setglobal('recal', '1')
 endif
 uo.set('finddistance', '7')
 uo.findtype('0x000E', '-1', '1') #тип элементаля#
 if uo.findcount() > 0 then
 uo.usetype('0x0F08')
 uo.exec('exec Teleportation')
 return
 endif
 if val(uo.getglobal('back')) == 0 then
 uo.exec('exec CheckingPlayers')
 uo.setglobal('place', '1')
 uo.setglobal('circle', '1')
 uo.exec('exec Obkopka')
 else
 uo.setglobal('back', '0')
 endif
 end sub
 
 sub CheckingPlayers()
 VAR a, b
 uo.ignore('self', 'on')
 DIM Chars[2]
 Chars[0] = '0x0190' #тип игрока мужского пола#
 Chars[1] = '0x0191' #тип игрока женского пола#
 while not uo.dead()
 for a = 0 to 1
 if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
 uo.usetype('0x0F08')
 uo.closeuo()
 else
 wait(50)
 endif
 while val(uo.getglobal('find')) == 1
 wait(50)
 wend
 uo.set('finddistance', '15')
 uo.findtype(Chars[a], '-1', '1')
 if uo.findcount() > 0 then
 uo.usetype('0x0F08')
 uo.exec('terminate Teleportation')
 uo.exec('terminate Obkopka')
 uo.exec('terminate ChengePlace')
 uo.exec('exec Teleportation')
 return
 else
 wait(500)
 endif
 next
 wend
 end sub
 
 sub Obkopka()
 VAR mx, my, mz, a, b, c, d, e, f
 while not uo.dead()
 if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
 uo.usetype('0x0F08')
 uo.closeuo()
 else
 wait(50)
 endif
 uo.deletejournal()
 mx = uo.getx('self')
 my = uo.gety('self')
 mz = uo.getz('self')
 for a = mx-2 to mx+2
 for b = my-2 to my+2
 while not uo.Hidden()
 c = 0
 uo.warmode('0')
 uo.useskill('Stealth')
 repeat
 wait(100)
 c = c + 1
 until uo.Hidden() or c > 40
 wend
 uo.print('!!!КОПАЕМ ТУТ!!!>>> : '+str(mx-a)+' '+str(my-b))
 d = val(uo.getglobal('place')) + 1
 uo.setglobal('place', str(d))
 while not uo.injournal('no ore here') and not uo.injournal('location') and not uo.injournal('far away') and not uo.injournal('in rock') and not uo.injournal('You broke')
 if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
 uo.usetype('0x0F08')
 uo.closeuo()
 else
 wait(50)
 endif
 uo.deletejournal()
 if uo.waiting() then
 uo.canceltarget()
 else
 wait(50)
 endif
 uo.waittargettile('1341', str(a), str(b), str(mz))
 uo.usetype('0x0E85') #тип кирки#
 while not uo.injournal('You put') and not uo.injournal('location') and not uo.injournal('no ore') and not uo.injournal('but fail') and not uo.injournal('far away') and not uo.injournal('in rock') and not uo.injournal('You broke')
 wait(500)
 wend
 uo.setglobal('find', '1')
 wait(200)
 uo.set('finddistance', '7')
 uo.findtype('0x000E', '-1', '1') #тип элементаля#
 if uo.findcount() > 0 then
 uo.setglobal('find', '0')
 uo.usetype('0x0F08')
 uo.exec('exec Teleportation')
 uo.exec('terminate CheckingPlayers')
 return
 else
 uo.setglobal('find', '0')
 endif
 if val(uo.getglobal('place')) > 25 then
 uo.setglobal('place', '1')
 uo.exec('exec ChengePlace')
 return
 else
 wait(50)
 endif
 if uo.weight > 600 then #максимальный вес#
 uo.setglobal('back', '1')
 uo.exec('terminate CheckingPlayers')
 GoHome()
 CheckingItems()
 Teleportation()
 Back()
 uo.exec('exec CheckingPlayers')
 else
 wait(50)
 endif
 wend
 if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
 uo.usetype('0x0F08')
 uo.closeuo()
 else
 wait(50)
 endif
 uo.deletejournal()
 next
 next
 wend
 end sub
 
 sub ChengePlace()
 VAR a, b, c, d, e, f, g, h, i, j, k
 if val(uo.getglobal('circle')) > 3 then
 uo.setglobal('circle', '1')
 uo.exec('terminate CheckingPlayers')
 uo.exec('exec Teleportation')
 return
 endif
 if val(uo.getglobal('circle')) == 1 then
 if uo.getdir('self') == 3 then
 a = 1
 else
 a = 2
 endif
 for b = 1 to a
 uo.press(40)
 wait(300)
 next
 for c = 1 to 3
 uo.press(34)
 wait(300)
 next
 for d = 1 to 2
 uo.press(39)
 wait(300)
 next
 endif
 endif
 if val(uo.getglobal('circle')) == 2 then
 if uo.getdir('self') == 1 then
 a = 1
 else
 a = 2
 endif
 for e = 1 to a
 uo.press(39)
 wait(300)
 next
 for f = 1 to 3
 uo.press(33)
 wait(300)
 next
 for g = 1 to 2
 uo.press(38)
 wait(300)
 next
 endif
 if val(uo.getglobal('circle')) == 3 then
 if uo.getdir('self') == 7 then
 a = 1
 else
 a = 2
 endif
 for h = 1 to a
 uo.press(38)
 wait(300)
 next
 for i = 1 to 3
 uo.press(36)
 wait(300)
 next
 for j = 1 to 2
 uo.press(37)
 wait(300)
 next
 endif
 k = val(uo.getglobal('circle')) + 1
 uo.setglobal('circle', str(k))
 uo.exec('exec Obkopka')
 end sub
 
 sub checklag()
 uo.click('backpack')
 while not uo.injournal('backpack')
 wait(100)
 wend
 uo.deletejournal('backpack')
 end sub
 
 sub GoHome()
 VAR a, b, c, d, e
 uo.warmode('0')
 a = uo.getx('self')
 repeat
 while uo.mana < 11
 uo.warmode('0')
 uo.useskill('Meditation')
 wait(1000)
 wend
 if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
 uo.usetype('0x0F08')
 uo.closeuo()
 else
 wait(50)
 endif
 b = 0
 uo.deletejournal()
 uo.waittargetobject('Home')
 uo.cast('Recall')
 repeat
 wait(100)
 b = b + 1
 until b > 35 or a <> uo.getx('self') or uo.injournal('The spell fizzles.')
 until not uo.injournal('The spell fizzles.')
 for c = 1 to 6
 uo.press(33)
 wait(300)
 next
 uo.opendoor()
 wait(500)
 uo.press(33)
 wait(300)
 uo.opendoor()
 for d = 1 to 6
 uo.press(33)
 wait(300)
 next
 e = val(uo.getglobal('recal')) - 1
 uo.setglobal('recal', str(e))
 end sub
 
 sub Back()
 VAR a, b, c, d, e, f, g, h, i, j
 if val(uo.getglobal('circle')) > 1 then
 if uo.getdir('self') == 3 then
 f = 1
 else
 f = 2
 endif
 for a = 1 to f
 uo.press(40)
 wait(300)
 next
 for b = 1 to 3
 uo.press(34)
 wait(300)
 next
 for c = 1 to 2
 uo.press(39)
 wait(300)
 next
 endif
 endif
 if val(uo.getglobal('circle')) > 2 then
 if uo.getdir('self') == 1 then
 f = 1
 else
 f = 2
 endif
 for d = 1 to f
 uo.press(39)
 wait(300)
 next
 for e = 1 to 3
 uo.press(33)
 wait(300)
 next
 for g = 1 to 2
 uo.press(38)
 wait(300)
 next
 endif
 if val(uo.getglobal('circle')) > 3 then
 if uo.getdir('self') == 7 then
 f = 1
 else
 f = 2
 endif
 for h = 1 to f
 uo.press(38)
 wait(300)
 next
 for i = 1 to 3
 uo.press(36)
 wait(300)
 next
 for j = 1 to 2
 uo.press(37)
 wait(300)
 next
 endif
 end sub
 
 sub TestPlace()
 VAR a, b, c, d, e, f, g, h, i
 for a = 1 to 2
 uo.press(40)
 wait(300)
 next
 for b = 1 to 3
 uo.press(34)
 wait(300)
 next
 for c = 1 to 3
 uo.press(39)
 wait(300)
 next
 for d = 1 to 3
 uo.press(33)
 wait(300)
 next
 for e = 1 to 3
 uo.press(38)
 wait(300)
 next
 for f = 1 to 3
 uo.press(36)
 wait(300)
 next
 for g = 1 to 3
 uo.press(37)
 wait(300)
 next
 for h = 1 to 3
 uo.press(35)
 wait(300)
 next
 for i = 1 to 2
 uo.press(40)
 wait(300)
 next
 end sub
 
 
 и есть антимакрос:
 
 
 Code: sub aams() var gumpid=0
 var buttonid=0
 var buttontext
 var i=18,j,rand
 
 dim reindex[8]
 reindex[0]=11
 reindex[1]=12
 reindex[2]=13
 reindex[3]=10
 reindex[4]=16
 reindex[5]=14
 reindex[6]=17
 reindex[7]=15
 
 for j=1 to 2
 rand=uo.random(10)*100
 wait(100)
 wait(500+rand)
 if uo.LastGump('text',4)<>"0" then
 i=19
 endif
 GumpID =val(Mid(uo.LastGump('command',i),16,4))
 ButtonID=reindex[GumpID-2225]
 ButtonText=uo.LastGump('command', ButtonID)
 uo.LClick(Val(Mid(ButtonText,7,3)),Val(Mid(ButtonText,11,3)))
 next
 wait(500)
 endsub
 
 sub AntiMacro()
 while not uo.Dead()
 if not uo.LastGump('replyed') then
 if uo.LastGump('text', 0) == 'Antimacros System' then
 aams()
 end if
 endif
 wait(500)
 wend
 
 end sub
 
 И сам Вопрос куда вставить антимакрос что бы он работал не 1 раз а постоянно кагда вылазила табличка. Еще 1 вопрос в скрипте вписано что бы он реколился от ПК, а он это не делает что не правильно (исправьте плиз). И когда вылазиет антимакрос он его вводит правильно и стоит не копает приходится 2 раза кликать на кирку и такая же история когда он реколится в другую шахту. Плиз помогите...
 |