Page 1 of 1
Drag...
Posted: 2004-05-15 12:45:54
by Xoma
How can i drag many items from the floor? Is there any function which take all the items near my character? I tryed to do it so:
Code: Select all
sub move()
var obj
var cont
uo.addobject("cont")
while uo.targeting()
wait(50)
wend
uo.addtype("obj")
while uo.targeting()
wait(50)
wend
uo.set("finddistance","1")
uo.setreceivingcontainer("cont")
uo.findtype("obj","-1","ground")
while uo.findcount() > 0
uo.findtype("ob","-1","ground")
UO.grab(0,"finditem")
uo.print("Found "+str(uo.findcount()))
wait(1000)
wend
end sub
but it didn't pick up all the items... It takes only 5-6 and then i get so message "You can't pick up it"... Could any explain me, where is my mistake??? Or write well variant..... Thanks....
Posted: 2004-05-15 17:04:23
by Xoma
Как я могу перетащить много однотиных вещей с пола к себе??? Ессть ли какаянить функция что бы собрать все вещи около чара? Я пробовал сделать так:
Code: Select all
sub move()
var obj
var cont
uo.addobject("cont")
while uo.targeting()
wait(50)
wend
uo.addtype("obj")
while uo.targeting()
wait(50)
wend
uo.set("finddistance","1")
uo.setreceivingcontainer("cont")
uo.findtype("obj","-1","ground")
while uo.findcount() > 0
uo.findtype("ob","-1","ground")
UO.grab(0,"finditem")
uo.print("Found "+str(uo.findcount()))
wait(1000)
wend
end sub
но так не получается, Он поднимает тока 5-6 вещей а потом говорит типа "I can't pick up". Причем после этого, получается такой баг, что он вобще больше ничего сдвинуть не может... Ктонить может объяснить мне, что там такое??? Илинапишите правильный вариант... Спасибо....
Posted: 2004-05-16 09:59:11
by Xpol
это не баг

просто ты пытаешься поднять что-то что прибито к полу и не можешь а после этого пытаешся поднять еще вещь только у тебя в руках та что ты не смог поднять
нада сначала посмотреть все что нашел и записать в игнор то что не можешь поднять ... как-то так наверное
а вообше попробуй поставить задержку после файнда перед грабом может поможет и ничего не перетаскивай руками во время работы скрипта иначе получишь месагу типа олреди холдинг эн айтем (про этот баг говоришь ?) просто нельзя одновременно перетаскивать более одного предмета

Posted: 2004-05-16 15:15:25
by Lord Ruslan Nightmare
Code: Select all
sub move()
var obj
var cont
var i
uo.addobject("cont")
while uo.targeting()
wait(50)
wend
uo.addtype("obj")
while uo.targeting()
wait(50)
wend
uo.set("finddistance","1")
uo.setreceivingcontainer("cont")
uo.ignorereset()
uo.findtype("obj","-1","ground")
while uo.findcount() > 0
UO.grab(0,"finditem")
uo.print("Found "+str(uo.findcount()))
uo.ignore("finditem")
i = 0
while uo.containerof("finditem") <> uo.getserial("cont") and i < 10
i = i + 1
wait(100)
wend
uo.findtype("obj","-1","ground")
wend
uo.ignorereset()
end sub
Posted: 2004-05-16 22:38:54
by Yoko
Xoma wrote:Code: Select all
uo.findtype("obj","-1","ground")
while uo.findcount() > 0
uo.findtype("ob","-1","ground")
UO.grab(0,"finditem")
wait(1000)
wend
согласно твоему коду даже если не существует вторая например вещь ты всё равно один раз делаешь граб на неё.
правильный вариант:
Code: Select all
uo.findtype("obj","-1","ground")
while uo.findcount() > 0
UO.grab(0,"finditem")
wait(1000)
uo.findtype("ob","-1","ground")
wend
ну и конечно лучше сделать не конкретную задержку а проверять пока вещь не положится, как писалолсь выше
Posted: 2004-05-16 23:16:42
by Xoma
точно.... ступил.... спасибо...=)