Mining

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
Geoleo
Posts: 11
Joined: 2009-08-20 09:24:50
Location: Odessa
Contact:

Mining

Post by Geoleo »

Ребята привет! Помогите пожалуйста исправить ошибку, заранее очень признателен!
При запуске скрипта "start" выдает сообщение Line 111: parse error
Вот эта линия:
uo.findtype('0x0E86','-1','0x4001D78F') # добавляем ID ящика с кирками, командой => ,info

Code: Select all

sub start()
check()
uo.cast('Recall',0x4006ABDA) # руда 1
wait(2000)
mine(1339,2558,499,0) # добовляем координаты места копания, командой => ,infotile
wait(500)
check()
dom()
check()
uo.cast('Recall',0x4006AA97) # руда 2
wait(2000)
mine(0,2571,316,30) # добовляем координаты места копания, командой => ,infotile
wait(500)
check()
dom()
check()
uo.cast('Recall',0x4006AB76) # руда 3
wait(2000)
mine(0,2572,325,38) # добовляем координаты места копания, командой => ,infotile
wait(500)
check()
dom()
check()
uo.cast('Recall',0x4006ABC9) # руда 4
wait(2000)
mine(0,2592,314,31) # добовляем координаты места копания, командой => ,infotile
wait(500)
check()
dom()
check()
uo.cast('Recall',0x4006AB61) # руда 5
wait(2000)
mine(0,2595,325,21) # добовляем координаты места копания, командой => ,infotile
wait(500)
check()
dom()
check()
uo.cast('Recall',0x4006AB12) # руда 6
wait(2000)
mine(0,2586,258,23) # добовляем координаты места копания, командой => ,infotile
wait(500)
check()
dom()
check()
uo.cast('Recall',0x4006AB06) # руда 7
wait(2000)
mine(0,2578,285,31) # добовляем координаты места копания, командой => ,infotile
wait(500)
check()
dom()
check()
uo.cast('Recall',0x4006AB7F) # руда 8
wait(2000)
mine(0,2559,275,16) # добовляем координаты места копания, командой => ,infotile
wait(500)
check()
dom()
check()
uo.cast('Recall',0x4006ABDF) # руда 9
wait(2000)
mine(0,2569,369,31) # добовляем координаты места копания, командой => ,infotile
wait(500)
check()
dom()
check()
uo.cast('Recall',0x4006AB8A) # руда 10
wait(2000)
mine(0,2453,398,16) # добовляем координаты места копания, командой => ,infotile
wait(500)
check()
dom()
end sub

Sub mine(t,x,y,z)
uo.deletejournal()
repeat
wait(1500)
uo.waittargettile(str(t),str(x),str(y),str(z))
uo.usetype('0x0E86')          # тип кирки
until uo.injournal("cliloc# 0xAD00") or uo.injournal("cliloc# 0xA20D") or uo.injournal("cliloc# 0xA2DE") or uo.injournal("cliloc#

0x6B31")
uo.Canceltarget()
end sub

sub dom()
uo.cast('Recall',0x4006ABF6) # добавляем ID рунки на порог дома, командой => ,info
wait(2000)
repeat
UO.findtype('0x19B9','-1','my') # тип кучки руды
wait(600)
UO.waittargetobject('0x400B7214') # добавляем ID плавильни, командой => ,info
wait(600)
UO.useobject('finditem')
wait(600)
if uo.injournal("cliloc# 0xA2DE") then
uo.deletejournal()
uo.cast('Recall',0x4006ABF6) # ID рунки на порог дома
wait(2000)
goto a
else
a:
UO.useobject('finditem')
until uo.findcount() == 0
wait(600)
end if
repeat
UO.findtype('0x1bf2','-1','2') # тип слитков
uo.moveitem('finditem',-1,'0x4001D90F') # добавляем ID ящика для слитков, командой => ,info
wait(700)
until uo.findcount() == 0
while UO.Count(''0x0E86')<3
uo.findtype('0x0E86','-1','0x4001D78F') # добавляем ID ящика с кирками, командой => ,info
UO.moveitem('finditem','0','0x4001C403') #добавляем ID рюкзака, командой => ,info
wait (700)
wend
end sub

sub check()
while Uo.Mana <10
if UO.Mana <10 then
uo.Canceltarget()
UO.UseSkill("Meditation")
wait(7000)
end if
wend
end sub
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

while UO.Count(''0x0E86')<3

PS видел в скрипте маленькую кучку обчепяток и недочетов.
Geoleo
Posts: 11
Joined: 2009-08-20 09:24:50
Location: Odessa
Contact:

Post by Geoleo »

Mirage wrote:while UO.Count(''0x0E86')<3

PS видел в скрипте маленькую кучку обчепяток и недочетов.

Огромное, Вам спасибо исправил строчку которую Вы описали, заработало телепортиться на первую точку копания, но блин гад, что-то тупит после телепортации, на пороге дома. В окне ультимы справа желтым цветом выстроился столбик таких сообщений:

Code: Select all

Item found: 0
Object not found

Думаю, что наверное нужно во вкладку 'Object Types' прописать сундуки и кирки или нет ?
Geoleo
Posts: 11
Joined: 2009-08-20 09:24:50
Location: Odessa
Contact:

Post by Geoleo »

Да я в был прав насчет добавления в вкладку "Object Types" таких вещей как: axe и sunduk1 (это сундук в котором храняться кирки).
Теперь все работает и слава Богу :)
Спасибо за помощь!
П.С.
Ручки и глазги могут отдохнуть от копания ;)

Ув. администраторы тему можно закрывать.
Geoleo
Posts: 11
Joined: 2009-08-20 09:24:50
Location: Odessa
Contact:

Post by Geoleo »

Geoleo wrote:Да я в был прав насчет добавления в вкладку "Object Types" таких вещей как: axe и sunduk1 (это сундук в котором храняться кирки).
Теперь все работает и слава Богу :)
Спасибо за помощь!
П.С.
Ручки и глазги могут отдохнуть от копания ;)

Ув. администраторы тему можно закрывать.

:cry: Беру свои слова обратно, тему не нужно закрывать.
Появилась новая проблема. Заключаеться в следующем: после того как персонаж облетел все места копания, после последнего места копания он летит в дом плавит руду затем кладет ее в сундук и скрипт останавливается. Чего тут не хватает, чтобы он работал без остановок ?
Пожалуйста помогите!
Mirage Вы наверное эти недочеты и имели в виду...
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Не хватает цикла в главном модуле. Он делается один раз у тебя.
Попробуй так:

Code: Select all

var i
var runahome = '0x4006ABF6'
var Sunduk = '0x4001D90F'
var SundukTools = '0x4001D78F'
var backpack = '0x4001C403'

sub start()
DIM runa[10]
runa[1] = '0x4006ABDA'
runa[2] = '0x4006AA97'
runa[3] = '0x4006AB76'
runa[4] = '0x4006ABC9'
runa[5] = '0x4006AB61'
runa[6] = '0x4006AB12'
runa[7] = '0x4006AB06'
runa[8] = '0x4006AB7F'
runa[9] = '0x4006ABDF'
runa[10] = '0x4006AB8A'
DIM mine[10]
mine[1]=1339,2558,499
mine[2]=0,2571,316,30
mine[3]=0,2572,325,38
mine[4]=0,2592,314,31
mine[5]=0,2595,325,21
mine[6]=0,2586,258,23
mine[7]=0,2578,285,31
mine[8]=0,2559,275,16
mine[9]=0,2569,369,31
mine[10]=0,2453,398,16

   repeat ; ВОТ ЭТОГО НЕ ХВАТАЕТ
      for i=1 to 10    
         check()
         uo.cast('Recall',runa[i])
         wait(2000)
         mine(mine[i])
         wait(500)
         check()
         dom()
      next
   until UO.Dead(); ВОТ ЭТОГО НЕ ХВАТАЕТ
end sub
Sub mine(t,x,y,z)
   uo.deletejournal()
   repeat
      wait(1500)
      uo.waittargettile(str(t),str(x),str(y),str(z))
      uo.usetype('0x0E86')          # тип кирки
   until uo.injournal("cliloc# 0xAD00") or uo.injournal("cliloc# 0xA20D") or uo.injournal("cliloc# 0xA2DE") or uo.injournal("cliloc# 0x6B31")
   uo.Canceltarget()
end sub
Sub dom()
   uo.cast('Recall',runahome)
   wait(2000)
   repeat
      UO.findtype('0x19B9','-1','my') # тип кучки руды
      wait(300)
      UO.waittargetobject('0x400B7214')
      UO.useobject('finditem')
      wait(600)
;не совсем понял
      if uo.injournal("cliloc# 0xA2DE") then
         uo.deletejournal()
         uo.cast('Recall',runahome) # ID рунки на порог дома
         wait(2000)
         goto a
      else
         a:
         UO.useobject('finditem')
      until uo.findcount() == 0
      wait(600)
   end if
;до сюда
   repeat
      UO.findtype('0x1bf2','-1','2') # тип слитков
      uo.moveitem('finditem',-1,Sunduk) # добавляем ID ящика для слитков, командой => ,info
      wait(700)
   until uo.findcount() == 0
   while UO.Count('0x0E86')<3
      uo.findtype('0x0E86','-1',SundukTools)
      UO.moveitem('finditem','0',backpack) ; если просто в сумку персонажа то сделать 'backpack'
      wait (700)
   wend
end sub
Sub check()
   while Uo.Mana <10
      if UO.Mana <10 then
         uo.Canceltarget()
         UO.UseSkill("Meditation")
         wait(7000)
      end if
   wend
end sub
Last edited by Mirage on 2009-08-22 06:30:22, edited 2 times in total.
Geoleo
Posts: 11
Joined: 2009-08-20 09:24:50
Location: Odessa
Contact:

Post by Geoleo »

Mirage браво красиво исправлено мне очень нравиться!!! Но есть проблема при запуске выдает ошибку в 7-й строке, вот эта строка:
runa[1] = '0x4006ABDA'
Вот ошибка: Line 7:Variable undefined - RUNA
Че делать?!
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Geoleo wrote:Mirage браво красиво исправлено мне очень нравиться!!! Но есть проблема при запуске выдает ошибку в 7-й строке, вот эта строка:
runa[1] = '0x4006ABDA'
Вот ошибка: Line 7:Variable undefined - RUNA
Че делать?!

пробежать глазами скрипт - я опечатался :) Щаз поправил - проверь.
Geoleo
Posts: 11
Joined: 2009-08-20 09:24:50
Location: Odessa
Contact:

Post by Geoleo »

Mirage wrote:
Geoleo wrote:Mirage браво красиво исправлено мне очень нравиться!!! Но есть проблема при запуске выдает ошибку в 7-й строке, вот эта строка:
runa[1] = '0x4006ABDA'
Вот ошибка: Line 7:Variable undefined - RUNA
Че делать?!

пробежать глазами скрипт - я опечатался :) Щаз поправил - проверь.

:( Проверил, при запуске вылетает такая штукенция:
Unhandled exception in parser.
Думаю судя по ошибке, что-то не правильно указано, может и ошибаюсь. Вы всетаки проффи. С нетерпением жду ответа. Спасибо!
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

я лично не эксперт :lol:
Поправил, убрал ошибку но осталось придумать как записать координаты без введения дополнительных функций. Может кто нито подскажет еще?
Geoleo
Posts: 11
Joined: 2009-08-20 09:24:50
Location: Odessa
Contact:

Post by Geoleo »

Mirage wrote:я лично не эксперт :lol:
Поправил, убрал ошибку но осталось придумать как записать координаты без введения дополнительных функций. Может кто нито подскажет еще?

Спасибо ;) Ребята пожалуйста не молчите, помогите, подкиньте ваши варианты решения.
Mirage Вы были правы насчет координат т.к. в этой линии
(mine[1]=1339,2558,499 ) что-то не в порядке вылетает ошибка:
Line 7: parse error
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

  Dim treeX[300],treeY[300],treeZ[300],treeT[300]

  uo.WaitTargetTile(treeT[i],treeX[i],treeY[i],uo.GetZ('self'))
Geoleo
Posts: 11
Joined: 2009-08-20 09:24:50
Location: Odessa
Contact:

Post by Geoleo »

Scripts Writer wrote:

Code: Select all

  Dim treeX[300],treeY[300],treeZ[300],treeT[300]

  uo.WaitTargetTile(treeT[i],treeX[i],treeY[i],uo.GetZ('self'))

Подскажите, где это вписать нужно? Спасибо!
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Scripts Writer wrote:

Code: Select all

  Dim treeX[300],treeY[300],treeZ[300],treeT[300]

  uo.WaitTargetTile(treeT[i],treeX[i],treeY[i],uo.GetZ('self'))

так будет громоздко - 4 столбика по 10 элементов :(
Нельзя оформить так как я сделал чуть подкорректировав?
mine[1]=1339,2558,499
Скобки может? Гдето на форуме видел запись массива строкой в несколько переменных.


PS кстати автор попробуй вот так будет ли работать:

Code: Select all

var i
var runahome = '0x4006ABF6'
var Sunduk = '0x4001D90F'
var SundukTools = '0x4001D78F'
var backpack = '0x4001C403'

sub start()
DIM runa[10]
runa[1] = '0x4006ABDA'
runa[2] = '0x4006AA97'
runa[3] = '0x4006AB76'
runa[4] = '0x4006ABC9'
runa[5] = '0x4006AB61'
runa[6] = '0x4006AB12'
runa[7] = '0x4006AB06'
runa[8] = '0x4006AB7F'
runa[9] = '0x4006ABDF'
runa[10] = '0x4006AB8A'
DIM mine[10]
mine[1]=mine(1339,2558,499,0) ; СТРАННО отличается от остальных
mine[2]=mine(0,2571,316,30)
mine[3]=mine(0,2572,325,38)
mine[4]=mine(0,2592,314,31)
mine[5]=mine(0,2595,325,21)
mine[6]=mine(0,2586,258,23)
mine[7]=mine(0,2578,285,31)
mine[8]=mine(0,2559,275,16)
mine[9]=mine(0,2569,369,31)
mine[10]=mine(0,2453,398,16)

   repeat ; ВОТ ЭТОГО НЕ ХВАТАЕТ
      for i=1 to 10   
         check()
         uo.cast('Recall',runa[i])
         wait(2000)
         mine(mine[i])
         wait(500)
         check()
         dom()
      next
   until UO.Dead(); ВОТ ЭТОГО НЕ ХВАТАЕТ
end sub
Sub mine(t,x,y,z)
   uo.deletejournal()
   repeat
      wait(1500)
      uo.waittargettile(str(t),str(x),str(y),str(z))
      uo.usetype('0x0E86')          # тип кирки
   until uo.injournal("cliloc# 0xAD00") or uo.injournal("cliloc# 0xA20D") or uo.injournal("cliloc# 0xA2DE") or uo.injournal("cliloc# 0x6B31")
   uo.Canceltarget()
end sub
Sub dom()
   uo.cast('Recall',runahome)
   wait(2000)
   repeat
      UO.findtype('0x19B9','-1','my') # тип кучки руды
      wait(300)
      UO.waittargetobject('0x400B7214')
      UO.useobject('finditem')
      wait(600)
;не совсем понял
      if uo.injournal("cliloc# 0xA2DE") then
         uo.deletejournal()
         uo.cast('Recall',runahome) # ID рунки на порог дома
         wait(2000)
         goto a
      else
         a:
         UO.useobject('finditem')
      until uo.findcount() == 0
      wait(600)
   end if
;до сюда
   repeat
      UO.findtype('0x1bf2','-1','2') # тип слитков
      uo.moveitem('finditem',-1,Sunduk) # добавляем ID ящика для слитков, командой => ,info
      wait(700)
   until uo.findcount() == 0
   while UO.Count('0x0E86')<3
      uo.findtype('0x0E86','-1',SundukTools)
      UO.moveitem('finditem','0',backpack) ; если просто в сумку персонажа то сделать 'backpack'
      wait (700)
   wend
end sub
Sub check()
   while Uo.Mana <10
      if UO.Mana <10 then
         uo.Canceltarget()
         UO.UseSkill("Meditation")
         wait(7000)
      end if
   wend
end sub



у меня ошибка пропала - но работоспособность проверить не могу - шард без клилоков и у меня нет рунок :)
Geoleo
Posts: 11
Joined: 2009-08-20 09:24:50
Location: Odessa
Contact:

Post by Geoleo »

"Ёлки зеленый" :) Думал, что уже все будет хорошо. Короче затестил, слева появлялись сообшения, которые можно увидеть в журнале на скриншоте, после 10-20 секунд таких сообщений персонаж начал кастовать Recall, но сразу же после этого появилась ошибка.
ошибка: Line 36: Invalid number of arguments - MINE
Скриншот
Скриншот 2 (продолжение журнала)
Спасибо!
Post Reply