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
Шестьдесят ТЫСЯЧ?!?
*тут был звук падающего в обморок тела*