Требуется помощь, вылетает ошибка

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
TutankHameN
Posts: 8
Joined: 2005-03-24 19:44:56

Требуется помощь, вылетает ошибка

Post by TutankHameN »

Форумчане, требуется помощь.. Есть Скрипт на Майнинг, рабочий.. Он работает без ошибок у моих знакомых, а вот у меня выдает хорошо известную ошибку - Error: Unhandled exception in parser.
Как мне можно решить данную проблему? Поясняю, у всех у нас инжа одной версии, натсроена одинакого, так что тут дело в чем-то другом...

Привожу Сам скрипт, ошибка в основном возникает после данной строчки " Копаем Тут... "

Code: Select all

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

Полностью Скрипт

Code: Select all

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
   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
  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
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Проц какой? Если с пень с HT выруби HT(через биос)
TutankHameN
Posts: 8
Joined: 2005-03-24 19:44:56

Post by TutankHameN »

Grin wrote:Проц какой? Если с пень с HT выруби HT(через биос)


Угадал, с ХТ, сейчас вырублю.. Спасибо за Совет..
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Grin wrote:Проц какой? Если с пень с HT выруби HT(через биос)

А при чём тут ХТ? У меня тож ХТ и все скрипты норм работают...
DerMeister сейчас на нейрале!
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

ХТ может обрабатывать 2 треда "одновременно". С чем это связано в инжекте хз... Но даже сперлом я часто сталкивался с отсутствиемсинхронизации между тредами... В общем трабла не изученая но такое есть
TutankHameN
Posts: 8
Joined: 2005-03-24 19:44:56

Post by TutankHameN »

Спасибо Грин за Совет, скрипт работает уже около часа без ошибок.
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

:shock: :shock: :shock:
У меян никогда с ХТ проблем не было... может и крашило, но через пару суток например :wink:
DerMeister сейчас на нейрале!
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Так может утебя ХТ авно отключен?;) или на системнеке просто наклейка модная?;)
Запусти его скрипт и посмотри;))
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Grin wrote:Так может утебя ХТ авно отключен?;) или на системнеке просто наклейка модная?;)
Запусти его скрипт и посмотри;))


1) В биосе включен
2) В таск менеджере показывает 2 проца
3) uo.exec('exec CheckingItems') - когда такое вижу, скрипт запускать сообсем нету желания :wink:
DerMeister сейчас на нейрале!
Post Reply