Page 1 of 1

помогите нубу плз с правкой скрипта

Posted: 2013-02-22 20:55:14
by klim_killer
Всем привет! я базовые вещи инжекта знаю, но вот как он работает с файлами, первый раз столкнулся.
Я пытался сделать из скрипта Ветерана на ламбер, свой скрипт на фишинг. Скрипт очень простой: есть массив координат, записанный в файл, надо просто подгрузить его, и на каждом тыкать удочкой 1 раз. Я измыслил следующее:

Code: Select all

var f=file("C:\water.dat")
sub Lumberjacking()
   var i=0,j=0,k=0,r=0,q=0,ii,jj
   var TopX=324,TopY=65
   dim TreeX[5000], TreeY[5000],TreeT[5000]
   var flag=0,treeCount=0,
   uo.Print('Çàãðóæàåì êîîðäèíàòû èç ôàéëà...')
   f.open()
   treeCount=safe call f.ReadNumber()
   for i=1 to treeCount
      TreeT[i]=safe call f.ReadNumber()
      TreeX[i]=safe call f.ReadNumber()
      TreeY[i]=safe call f.ReadNumber()
   next
   f.close()
   while 1==1
      if treeCount>0 then
         for i=1 to treeCount
            if flag==1 then
               GetTree(str(TreeT[i]),str(TreeX[i]),str(TreeY[i]),str(uo.GetZ()))
            end if
         next
      end if
   wend
end sub
Sub GetTree(Type,X,Y,Z)
   var i
   uo.DeleteJournal()
   uo.WaitTargetTile(Type,X,Y,Z)
   uo.Usetype('0x0DBF')
   repeat
      wait(100)
   until UO.InJournal("stop fishing.") or UO.InJournal("can't") or UO.InJournal("waters") or UO.InJournal("far")
end sub


При попытке запустить виснет комп)))

Re: помогите нубу плз с правкой скрипта

Posted: 2013-02-22 21:12:29
by klim_killer
Или возможно есть графика воды, т.к. я не смог убрать из скрипта ветерана проверку, дерево ли этот тайл(((

Re: помогите нубу плз с правкой скрипта

Posted: 2013-02-22 22:54:37
by Juicy Fruit

Code: Select all

   while 1==1
      if treeCount>0 then
         for i=1 to treeCount
            if flag==1 then
               GetTree(str(TreeT[i]),str(TreeX[i]),str(TreeY[i]),str(uo.GetZ()))
            end if
         next
      end if
   wend

Этот фрагмент замени на

Code: Select all

   while 1==1
      if treeCount>0 then
         for i=1 to treeCount
            GetTree(str(TreeT[i]),str(TreeX[i]),str(TreeY[i]),'-5')
         next
      end if
   wend

У тебя flag всегда равен нулю. Из-за этого и виснет. Z координата воды всегда -5, на сколько я знаю, если другую указать в вэйттаргеттайле, то на некоторых шардах чар может отказываться рыбачить.

Re: помогите нубу плз с правкой скрипта

Posted: 2013-02-23 09:05:58
by klim_killer
спасибо огромное) все заработало)

Re: помогите нубу плз с правкой скрипта

Posted: 2013-02-23 19:45:38
by klim_killer
Теперь стала появляться новая проблемма, вылезает unhandled exeption in parser((( именно на этом скрипте

Code: Select all

var f=file("C:\water.dat")
sub Lumberjacking()
   var i=0,j=0,k=0,r=0,q=0,ii,jj
   var TopX=324,TopY=65
   dim TreeX[5000], TreeY[5000],TreeT[5000]
   var treeCount=0
   f.open()
   treeCount=safe call f.ReadNumber()
   for i=1 to treeCount
      TreeT[i]=safe call f.ReadNumber()
      TreeX[i]=safe call f.ReadNumber()
      TreeY[i]=safe call f.ReadNumber()
   next
   f.close()
      while 1==1
      if treeCount>0 then
         for i=1 to treeCount
            GetTree(str(TreeT[i]),str(TreeX[i]),str(TreeY[i]),'-5')
         next
      end if
   wend
end sub
Sub GetTree(Type,X,Y,Z)
   var i
   uo.DeleteJournal()
   uo.WaitTargetTile(Type,X,Y,Z)
   uo.Usetype('0x0DBF')
   repeat
      wait(100)
   until UO.InJournal("stop fishing.") or UO.InJournal("can't") or UO.InJournal("waters") or UO.InJournal("far")
   Loot3()
end sub

sub Loot3()
   DIM fish[9]
   fish[0] = '0x0E75'      ; Back Pack
   fish[1] = '0x0DD6'      ; Bood Moss
   fish[2] = '0x0DD7'      ; Mandrake Root
   fish[3] = '0x0DD8'      ; garlic
   fish[4] = '0x09CE'      ; Ginseng
   fish[5] = '0x09CC'      ; Night Shade
   fish[6] = '0x0DD6'      ; Sulphorous Ash
   fish[7] = '0x09CD'      ; Spiders Silk
   fish[8] = '0x09CF'
   VAR t
   For t = 0 To 8
   uo.Set('finddistance','0')
   uo.Ignore('self')
   uo.FindType('fish[i]','-1','ground')
   while uo.FindCount() && uo.Weight <= 60000
      uo.findtype('fish[i]','0xffff','ground')
      uo.moveitem('finditem','0','backpack')
      wait(200)
   wend
   uo.IgnoreReset()
endsub


не смотря на то, что в сабе лут 3 ошибка, и он поднимает абсолютно все, до этого вроде стабильно работал...

Re: помогите нубу плз с правкой скрипта

Posted: 2013-02-23 20:06:43
by Juicy Fruit

Code: Select all

sub Loot3()
   DIM fish[9]
   fish[0] = '0x0E75'      ; Back Pack
   fish[1] = '0x0DD6'      ; Bood Moss
   fish[2] = '0x0DD7'      ; Mandrake Root
   fish[3] = '0x0DD8'      ; garlic
   fish[4] = '0x09CE'      ; Ginseng
   fish[5] = '0x09CC'      ; Night Shade
   fish[6] = '0x0DD6'      ; Sulphorous Ash
   fish[7] = '0x09CD'      ; Spiders Silk
   fish[8] = '0x09CF'
   VAR t
   uo.Set('finddistance','0')
   uo.Ignore('self')
   For t = 0 To 8
      uo.FindType(fish[i],'-1','ground')
      while uo.FindCount() && uo.Weight <= 60000 #Чо за дикий вес? о_О
         uo.findtype(fish[i],'-1','ground')
         uo.moveitem('finditem','0','backpack')
         wait(200)
      wend
   next
   uo.IgnoreReset()
end sub


for не был закрыт некстом, переменные массива надо писать без ковычек (fish[i])

Re: помогите нубу плз с правкой скрипта

Posted: 2013-02-24 00:56:14
by klim_killer
спасибо, буду тестить) максимальный вес (в бэкпаке) допустимый на шарде)))) плюс к этому 4 руды весят 1 веса, 2 куска рыбы весят 1 веса)

Re: помогите нубу плз с правкой скрипта

Posted: 2013-02-24 07:20:22
by Mirage
while uo.FindCount() && uo.Weight <= 60000 #Чо за дикий вес? о_О

Он имел ввиду что независимо от того, весит ли рыба 0,0001 стоун или 100 стоунов чар будет набирать рыбу до тех пор пока вес БЭКПАКА не будет 60000 стоунов. При том что на сфере при силе 150 чар может поднять только 560 или 640 стоунов.
Символ && это AND.

Re: помогите нубу плз с правкой скрипта

Posted: 2013-02-24 09:14:40
by Juicy Fruit
klim_killer wrote:спасибо, буду тестить) максимальный вес (в бэкпаке) допустимый на шарде)))) плюс к этому 4 руды весят 1 веса, 2 куска рыбы весят 1 веса)

Адский шард))

Re: помогите нубу плз с правкой скрипта

Posted: 2013-02-24 19:26:48
by klim_killer
максимальный вес бэкпака не зависит от силы, и составляет 60000 стоунов. От силы зависит, сколько ты можешь носить веса без потери стамины

Re: помогите нубу плз с правкой скрипта

Posted: 2013-02-24 20:25:46
by Mirage
Шестьдесят ТЫСЯЧ?!? :shock:
*тут был звук падающего в обморок тела*