DenjaGanjubass wrote:a mozno stavitj str x 3,5 ili 3,7 k primeru ?
Можно. А еще можно вместо UO.STR*х просто указать 200 или 300 или какой там у тебя максимальный вес будет при полной загрузке. UO.STR - это сила твоего персонажа, а максимальный вес который может поднять персонаж имеет зависимость от веса. UO.WEIGHT - текущий вес.
Кстати у меня он подбирает все, что вокуг чара набросано (проверял).
Скрипт с проверкой на другого персонажа:
Code: Select all
sub AFKLoot2()
If uo.getglobal('AFKLoot')=='On' then
uo.setglobal('AFKLoot',0)
uo.print(' !!! -= AFKLoot Terminated =- !!! ')
uo.exec('terminate AFKLoot')
else
uo.setglobal('AFKLoot','On')
uo.print(' !!! -= AFKLooting =- !!! ')
endif
uo.set('finddistance','3')
uo.exec('addobject bag')
while uo.targeting()
wait(100)
wend
UO.Ignore('self') # Вот что я имел в виду.
while uo.weight < uo.str*4
UO.FindType( -1 , -1 ,'ground')
# Проверяем не нашли ли мы другого персонажа, если нашли, то в
# игнор его и снова делаем поиск.
if UO.GetGraphic('finditem') == '0x0190' or UO.GetGraphic('finditem') == '0x0191' then
UO.Ignore('finditem')
UO.FindType( -1 , -1 ,'ground')
endif
# Подбираем все что нашли на земле.
while UO.FindCount()
uo.moveitem('finditem', 0 ,'bag')
uo.ignore('finditem')
Wait(500)
CheckLag()
UO.FindType( -1 , -1 ,'ground')
wend
# добавлю сообщение о достижении максимального веса.
if uo.weight >= uo.str*4 then
UO.Print("Набран максимальный вес. Иди разгружаться.")
endif
wait(100)
wend
uo.setglobal('AFKLoot',0)
endsub
sub CheckLag()
if uo.Waiting()>0 then
uo.Exec('canceltarget')
endif
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('backpack')
endsub
НО с таким же успехом он может находить и НПС, и тогда он будет дергать их. Наверное лучше организовать лут с массивом, тогда не будет проблем с нахождением других чаров и нпс. А еще поищи по форуму разные луталки и попробуй разобраться как они работают.
Кстати если ты лутишь из трупа то вместо ground подставь lastcorpse, и тогда проверку на других персонажей можно убрать.