Yoko
http://forum.yoko.com.ua/

помогите нубу плз с правкой скрипта
http://forum.yoko.com.ua/viewtopic.php?f=17&t=17196
Page 1 of 1

Author:  klim_killer [ 2013-02-22 20:55:14 ]
Post subject:  помогите нубу плз с правкой скрипта

Всем привет! я базовые вещи инжекта знаю, но вот как он работает с файлами, первый раз столкнулся.
Я пытался сделать из скрипта Ветерана на ламбер, свой скрипт на фишинг. Скрипт очень простой: есть массив координат, записанный в файл, надо просто подгрузить его, и на каждом тыкать удочкой 1 раз. Я измыслил следующее:
Code:
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


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

Author:  klim_killer [ 2013-02-22 21:12:29 ]
Post subject:  Re: помогите нубу плз с правкой скрипта

Или возможно есть графика воды, т.к. я не смог убрать из скрипта ветерана проверку, дерево ли этот тайл(((

Author:  Juicy Fruit [ 2013-02-22 22:54:37 ]
Post subject:  Re: помогите нубу плз с правкой скрипта

Code:
   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:
   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, на сколько я знаю, если другую указать в вэйттаргеттайле, то на некоторых шардах чар может отказываться рыбачить.

Author:  klim_killer [ 2013-02-23 09:05:58 ]
Post subject:  Re: помогите нубу плз с правкой скрипта

спасибо огромное) все заработало)

Author:  klim_killer [ 2013-02-23 19:45:38 ]
Post subject:  Re: помогите нубу плз с правкой скрипта

Теперь стала появляться новая проблемма, вылезает unhandled exeption in parser((( именно на этом скрипте
Code:
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 ошибка, и он поднимает абсолютно все, до этого вроде стабильно работал...

Author:  Juicy Fruit [ 2013-02-23 20:06:43 ]
Post subject:  Re: помогите нубу плз с правкой скрипта

Code:
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])

Author:  klim_killer [ 2013-02-24 00:56:14 ]
Post subject:  Re: помогите нубу плз с правкой скрипта

спасибо, буду тестить) максимальный вес (в бэкпаке) допустимый на шарде)))) плюс к этому 4 руды весят 1 веса, 2 куска рыбы весят 1 веса)

Author:  Mirage [ 2013-02-24 07:20:22 ]
Post subject:  Re: помогите нубу плз с правкой скрипта

Quote:
while uo.FindCount() && uo.Weight <= 60000 #Чо за дикий вес? о_О

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

Author:  Juicy Fruit [ 2013-02-24 09:14:40 ]
Post subject:  Re: помогите нубу плз с правкой скрипта

klim_killer wrote:
спасибо, буду тестить) максимальный вес (в бэкпаке) допустимый на шарде)))) плюс к этому 4 руды весят 1 веса, 2 куска рыбы весят 1 веса)

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

Author:  klim_killer [ 2013-02-24 19:26:48 ]
Post subject:  Re: помогите нубу плз с правкой скрипта

максимальный вес бэкпака не зависит от силы, и составляет 60000 стоунов. От силы зависит, сколько ты можешь носить веса без потери стамины

Author:  Mirage [ 2013-02-24 20:25:46 ]
Post subject:  Re: помогите нубу плз с правкой скрипта

Шестьдесят ТЫСЯЧ?!? :shock:
*тут был звук падающего в обморок тела*

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/