sub autograb()
var n = 100 , q , i #n - eto po skolko regov vi obi4no berete
####Spisok Regov####
DIM Reags[8]
Reags[0] = '0x0F7B' #Blood Moss
Reags[1] = '0x0F86' #Mandrake Roots
Reags[2] = '0x0F7A' #Black Pearls
Reags[3] = '0x0F88' #Nightshades
Reags[4] = '0x0F8C' #Sulphorous Ash
Reags[5] = '0x0F84' #Garlics
Reags[6] = '0x0F85' #Ginsengs
Reags[7] = '0x0F8D' #Spider's Silk
####Dark Magic#####
#Reags[8] = '0x0F7D' #Vial of Blood
#Reags[9] = '0x0F7E' #Bones
#Reags[10] = '0x0F81' #Fertile Dirt
####Light Magic####
#Reags[11] = '0x0F8F' #Volcanic Ash
#Reags[12] = '0x0F7F' #Brimstone
wait(1000)
UO.Print('Viberi svou sumku s regami')
UO.AddObject('MyBag')
while UO.Targeting()
wait(1000)
wend
UO.SetCatchBag('MyBag')
wait(100)
UO.UseObject('MyBag')
wait(1000)
UO.Print('Viberi sumku gde lezhat VSE regi')
UO.AddObject('BigBag')
while UO.Targeting()
wait(1000)
wend
UO.UseObject('BigBag')
####SAM SKRIPT#####
for i=0 to 7
wait(1000)
UO.Count(Reags[i])
q = n - UO.Count(Reags[i])
wait(100)
If UO.Count(Reags[i]) < n then
UO.FindType(Reags[i],'0xffff','BigBag')
wait(100)
else
next
endif
If UO.GetQuantity('finditem') > q then
wait(500)
UO.Grab(q,'finditem')
else
UO.Grab('finditem')
endif
next
wait(2000)
UO.UnSetCatchBag()
UO.Print('AutoGrab Done')
end sub
Вот это скрипт для автограба регов из сумки. Он считает кол-во каждого рега у вас и, если нужно, берет столько, сколько нужно добрать до необходимого кол-ва.
Проблема в том что на моем шарде кроме есть четыре типа классов: обычные, зеленые, темные и светлые. Зеленые и обычные пользуются только стандартным набором регов, а у темных и светлых есть еще несколько своих(в скрипте их графики прописаны). Так вот, как замутить более-менее простую схему выбора комплекта регов, чтобы не загружать в автолоад три скрипта?
AzaToT wrote:[Вот это скрипт для автограба регов из сумки. Он считает кол-во каждого рега у вас и, если нужно, берет столько, сколько нужно добрать до необходимого кол-ва.
Проблема в том что на моем шарде кроме есть четыре типа классов: обычные, зеленые, темные и светлые. Зеленые и обычные пользуются только стандартным набором регов, а у темных и светлых есть еще несколько своих(в скрипте их графики прописаны). Так вот, как замутить более-менее простую схему выбора комплекта регов, чтобы не загружать в автолоад три скрипта?
sub autograb()
var n = 100 , q , i, a=0, b=0 #n - eto po skolko regov vi obi4no berete
####Spisok Regov####
DIM Reags[8]
Reags[0] = '0x0F7B' #Blood Moss
Reags[1] = '0x0F86' #Mandrake Roots
Reags[2] = '0x0F7A' #Black Pearls
Reags[3] = '0x0F88' #Nightshades
Reags[4] = '0x0F8C' #Sulphorous Ash
Reags[5] = '0x0F84' #Garlics
Reags[6] = '0x0F85' #Ginsengs
Reags[7] = '0x0F8D' #Spider's Silk
####Dark Magic#####
Reags[8] = '0x0F7D' #Vial of Blood
Reags[9] = '0x0F7E' #Bones
Reags[10] = '0x0F81' #Fertile Dirt
####Light Magic####
Reags[11] = '0x0F8F' #Volcanic Ash
Reags[12] = '0x0F7F' #Brimstone
wait(1000)
UO.Print('Viberi svou sumku s regami')
UO.AddObject('MyBag')
while UO.Targeting()
wait(1000)
wend
UO.SetCatchBag('MyBag')
wait(100)
UO.UseObject('MyBag')
wait(1000)
UO.Print('Viberi sumku gde lezhat VSE regi')
UO.AddObject('BigBag')
while UO.Targeting()
wait(1000)
wend
UO.UseObject('BigBag')
UO.Print('Kakoy klass?')
UO.DeleteJournal()
repeat
wait(100)
until UO.InJournal('normal') or UO.InJournal('dark') or UO.InJournal('light')
If UO.InJournal('normal') then
a = 0
b = 7
endif
If UO.InJournal('dark') then
a = 0
b = 10
endif
If UO.InJournal('light') then
a = 11
b = 12
endif
####SAM SKRIPT#####
for i = a to b
wait(1000)
UO.Count(Reags[i])
q = n - UO.Count(Reags[i])
wait(100)
If UO.Count(Reags[i]) < n then
UO.FindType(Reags[i],'0xffff','BigBag')
wait(100)
else
next
endif
If UO.GetQuantity('finditem') > q then
wait(500)
UO.Grab(q,'finditem')
else
UO.Grab('finditem')
endif
next
wait(2000)
UO.UnSetCatchBag()
UO.Print('AutoGrab Done')
a = 0
b = 0
end sub
Попробуй так, запускаешь, указываешь мешки, он спрашивает, какой класс говоришь normal, dark, light. Берет нужные реги, пробуй
Last edited by Kynep on 2008-01-20 15:31:47, edited 1 time in total.
мм спасибо
но
нельзя ли както сделать так чтобы не приходилось запускатть скрипт два раза? дело в том что лайт и дарк классы юзают нормальные+свои реги а зеленые и обычные классы юзают только нормальные.
AzaToT wrote:мм спасибо
но
нельзя ли както сделать так чтобы не приходилось запускатть скрипт два раза? дело в том что лайт и дарк классы юзают нормальные+свои реги а зеленые и обычные классы юзают только нормальные.
Ну для Дарка подправил, а вот с лайтом сложнее. ХЗ щас мыслей ни каких нет, может попозже появятся или кто то другой предложит решение.
и что получилось?
самый простой вариант это просто сделать 2 чередующих икла
первый накладывает только нормальные, второй дополнительные по выбору, разница только в первом цикле
...
If UO.InJournal('dark') then
a = 8
b = 10
endif
If UO.InJournal('light') then
a = 11
b = 12
endif
for i = 0 to 7
...
next
for i = a to b
...
next
...
Grin wrote:и что получилось?
самый простой вариант это просто сделать 2 чередующих икла
первый накладывает только нормальные, второй дополнительные по выбору, разница только в первом цикле
...
If UO.InJournal('dark') then
a = 8
b = 10
endif
If UO.InJournal('light') then
a = 11
b = 12
endif
for i = 0 to 7
...
next
for i = a to b
...
next
...
Ок, а как быть с нормальными? ведь скрипт будет ждать ввода слова. Если ввести normal? что будет делать второй цикл? Или приравнять обе переменные к нулю?
sub autograb()
var n = 100 #po skolko regov berete
var q , i , a , b
####Spisok Regov####
DIM Reags[8]
Reags[0] = '0x0F7B' #Blood Moss
Reags[1] = '0x0F86' #Mandrake Roots
Reags[2] = '0x0F7A' #Black Pearls
Reags[3] = '0x0F88' #Nightshades
Reags[4] = '0x0F8C' #Sulphorous Ash
Reags[5] = '0x0F84' #Garlics
Reags[6] = '0x0F85' #Ginsengs
Reags[7] = '0x0F8D' #Spider's Silk
####Dark Magic#####
#Reags[8] = '0x0F7D' #Vial of Blood
#Reags[9] = '0x0F7E' #Bones
#Reags[10] = '0x0F81' #Fertile Dirt
####Light Magic####
#Reags[11] = '0x0F8F' #Volcanic Ash
#Reags[12] = '0x0F7F' #Brimstone
wait(1000)
UO.Print('Viberi svou sumku s regami')
UO.AddObject('MyBag')
while UO.Targeting()
wait(1000)
wend
UO.SetCatchBag('MyBag')
wait(100)
UO.UseObject('MyBag')
wait(1000)
UO.Print('Viberi sumku gde lezhat VSE regi')
UO.AddObject('BigBag')
while UO.Targeting()
wait(1000)
wend
UO.UseObject('BigBag')
UO.Print('Viberi nabor regov (dark,light,normal)')
UO.DeleteJournal()
Repeat
wait(1000)
Until UO.InJournal('normal') or UO.InJournal('dark') or UO.InJournal('light')
####SAM SKRIPT#####
for i=0 to 7
wait(1000)
UO.Count(Reags[i])
q = n - UO.Count(Reags[i])
wait(100)
If UO.Count(Reags[i]) < n then
UO.FindType(Reags[i],'0xffff','BigBag')
wait(100)
else
next
endif
If UO.GetQuantity('finditem') > q then
wait(500)
UO.Grab(q,'finditem')
else
UO.Grab('finditem')
endif
next
If UO.InJournal('dark') then
a = 8
b = 10
endif
If UO.InJournal('light') then
a = 11
b = 12
endif
If UO.InJournal('normal') then
a = 0
b = 0
endif
####Special Reags####
for i=a to b
wait(1000)
UO.Count(Reags[i])
q = n - UO.Count(Reags[i])
wait(100)
If UO.Count(Reags[i]) < n then
UO.FindType(Reags[i],'0xffff','BigBag')
wait(100)
else
next
endif
If UO.GetQuantity('finditem') > q then
wait(500)
UO.Grab(q,'finditem')
else
UO.Grab('finditem')
endif
next
wait(2000)
UO.UnSetCatchBag()
UO.Print('AutoGrab Done')
end sub
sub autograb()
var n = 100 #po skolko regov berete
var q , i , a , b
####Spisok Regov####
DIM Reags[8]
Reags[0] = '0x0F7B' #Blood Moss
Reags[1] = '0x0F86' #Mandrake Roots
Reags[2] = '0x0F7A' #Black Pearls
Reags[3] = '0x0F88' #Nightshades
Reags[4] = '0x0F8C' #Sulphorous Ash
Reags[5] = '0x0F84' #Garlics
Reags[6] = '0x0F85' #Ginsengs
Reags[7] = '0x0F8D' #Spider's Silk
####Dark Magic#####
Reags[8] = '0x0F7D' #Vial of Blood
Reags[9] = '0x0F7E' #Bones
Reags[10] = '0x0F81' #Fertile Dirt
####Light Magic####
Reags[11] = '0x0F8F' #Volcanic Ash
Reags[12] = '0x0F7F' #Brimstone
wait(1000)
UO.Print('Viberi svou sumku s regami')
UO.AddObject('MyBag')
while UO.Targeting()
wait(1000)
wend
UO.SetCatchBag('MyBag')
wait(100)
UO.UseObject('MyBag')
wait(1000)
UO.Print('Viberi sumku gde lezhat VSE regi')
UO.AddObject('BigBag')
while UO.Targeting()
wait(1000)
wend
UO.UseObject('BigBag')
UO.Print('Viberi nabor regov (dark,light,normal)')
UO.DeleteJournal()
Repeat
wait(1000)
Until UO.InJournal('normal') or UO.InJournal('dark') or UO.InJournal('light')
If UO.InJournal('dark') then
a = 8
b = 10
endif
If UO.InJournal('light') then
a = 11
b = 12
endif
If UO.InJournal('normal') then
a = 0
b = 0
endif
####SAM SKRIPT#####
for i=0 to 7
wait(1000)
UO.Count(Reags[i])
q = n - UO.Count(Reags[i])
wait(100)
If UO.Count(Reags[i]) < n then
UO.FindType(Reags[i],'0xffff','BigBag')
wait(100)
endif
If UO.GetQuantity('finditem') > q then
wait(500)
UO.Grab(q,'finditem')
else
UO.Grab('finditem')
endif
next
####Special Reags####
for i=a to b
wait(1000)
UO.Count(Reags[i])
q = n - UO.Count(Reags[i])
wait(100)
If UO.Count(Reags[i]) < n then
UO.FindType(Reags[i],'0xffff','BigBag')
wait(100)
endif
If UO.GetQuantity('finditem') > q then
wait(500)
UO.Grab(q,'finditem')
else
UO.Grab('finditem')
endif
next
wait(2000)
UO.UnSetCatchBag()
UO.Print('AutoGrab Done')
end sub