Page 1 of 1

помогите пожалуйсто Боукравт

Posted: 2007-06-20 01:03:58
by pika
У меня есть скрипт на Боукрафт,чар делает шафты - но с шафтов медленно растёт и яб хотел делать луки (bow 8logs) обычные.

Code: Select all

### 
var Chest='0x40122EBF' ## - ID сундука из которого будем брать логи и класть шафты.
###
var Logs='0x1BDD' ## - Type логов.
###
var Shaft='0x13B1' ## - Type шафтов.
###
var dagger='0x0F52' ## - Type даггера.
###
#######################################################################################
sub BowCraft()
Open(Chest)
while 1==1
uo.FindType(Logs,-1,'backpack')
while uo.GetQuantity('finditem')==0
uo.FindType(Logs,'0x0000',Chest)
wait(1000)
uo.Grab('20','finditem')
wend
wait(700)
ChekLag()
uo.FindType(Logs,'0x0000','backpack')
uo.WaittargetType(Logs)
uo.Usetype(dagger)
uo.WaitMenu('What do you want to carve the wood into?','bow (8 log)')
wait(1000)
uo.DeleteJournal()
while not (uo.InJournal('You put') or uo.InJournal('You fail'))
wait(300)
wend
if uo.Weight>100 then
uo.SetReceivingContainer(Chest)
wait(500)
uo.FindType(Shaft)
if uo.GetQuantity('finditem')>0 then
uo.Grab('20','finditem')
wait(3000)
end if
uo.UnSetReceivingContainer()
end if
wend
end sub

sub Open(Container)
uo.DeleteJournal()
uo.UseObject(Container)
repeat
wait(500)
until uo.InJournal('Contains')
end sub

sub ChekLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(100)
until uo.InJournal("backpack")
end sub


Вообще этот скрипт - на шафты
Но я вставил лук.Он делает делает луки а потом почемуто перестаеет! =( После 8 луков он уже просто стоит и ничего не делает.Посмотрите пожалуйсто что нетак? Menu chose not found : Menu canceled
Вот что вылетает =( Ктото подскажите как сделать чтобы он эти луки кидал сразу в мусорное ведро?[/code]

Posted: 2007-06-23 12:48:52
by pika
можете сказать - как сделать так - чтобы он то что сделал не в сундук ложил а в траш кан?

Posted: 2007-06-23 17:37:16
by Laden
pika wrote:можете сказать - как сделать так - чтобы он то что сделал не в сундук ложил а в траш кан?


Очень просто... в переменную Chest='0x40122EBF'
вместо 0x40122EBF (ID твоего сундука) поставь ID Трэш чана.. И все дела)

Posted: 2007-06-25 22:38:28
by pika
ладен помагии плищ - просто я вгляделся в скрипт но - там надо эту бочку мусореую указать!! вот когда он сделает луки - там строчка идет
[/code]if uo.Weight>100 then
uo.SetReceivingContainer(Chest)
wait(500)

Code: Select all


но этоде сундук указан!! =( а вначале криипта надо указать - ид сундука иид дакггера и ид логов - а треш кан нет!
есл я просто поменяю сундун на траш кан - то получается мой чар -= будет брать логи из мусорного ведра (trash can) и ложить туда а там все пропадет а это беееедааа =( подскажите пожалуйсто
как сделать чтоб он как   надо в этом скрипте брал логи из сундука а потом ложил в траш кан!
сэнк

Posted: 2007-06-26 14:43:09
by Laden
Хм, ну да, логично...
Тогда попробуй так:
1) создай в начале скрипта ещё одну переменную
var Trash='ID_мусорной_корзины'

2) в коде

Code: Select all

if uo.Weight>100 then 
uo.SetReceivingContainer(Chest)
wait(500)


замени

Code: Select all

uo.SetReceivingContainer(Chest) 

на

Code: Select all

uo.SetReceivingContainer(Trash) 


Если до всех махинаций со скриптом он всё делал так, как тебе надо, то должно работать..


С другой стороны, тебе надо чтобы он делал лук и тут же его скидывал в Трэш.. Поскольку проверить и отладить нет ни желания ни, что является более определяющим фактором, возможности, то пробуй вот что:
Код

Code: Select all

if uo.Weight>100 then 
uo.SetReceivingContainer(Chest)
wait(500)
uo.FindType(Shaft)
if uo.GetQuantity('finditem')>0 then
uo.Grab('20','finditem')
wait(3000)
end if
uo.UnSetReceivingContainer()
end if

замени на

Code: Select all

uo.FindType(Shaft) 
if uo.findcount() then
uo.SetReceivingContainer(Trash)
wait(500)
if uo.GetQuantity('finditem')>0 then
uo.Grab('20','finditem')
wait(3000)
end if
uo.UnSetReceivingContainer()
end if

Posted: 2007-06-26 16:38:16
by pika
сэнк я попробовал написал как ты велел но чотонето =( первый твой способ просто вот что
он далает то чно надо а перед тем как положит в мусорник вот такое вылезает
ERROR 58: Runtime Error
и в мусорник не ложит а ложит себе в сумку! =()
если ченсо я както хочу сказать что есть еще коечто -
этот скрипт на шафты а я хочу луки делать

Я поставил Меню - Лук - 8 Логов
А перед этим

Code: Select all

 uo.FindType(Logs,'0x0000',Chest) 
wait(1000)
uo.Grab('20','finditem')
wend

но он почемуто берет 2 лога всегда и вылетает ошибка
Menu not FOUND!
Это иизатого что он два лога взял =(( Вот еще что1 хотел сказать - если чесно то один раз я вкоючил скрипт он брал логов 8 - 2 минуты постоял - потом 4 брать начал и ВСЁЁЁ! Можете сказать пожалусто чтото нетак?

Posted: 2007-06-26 16:59:04
by pika
мне очень надо чтоб он делал луки
вот я просмотрел весь скриптовой фольклёр на боукрафтинг и
переделал

Code: Select all

var dagger='0x0F52'

var Logs='0x1BDD'

var Chest='0x402F7A23


sub Bowcraft()
Open(Chest)
while 1==1
uo.FindType(Logs,-1,'backpack')
while uo.GetQuantity('finditem')==0
uo.FindType(Logs,'0x1BDD',Chest)
wait(1000)
uo.Grab('8',finditem')
wend
wait(700)
ChekLag()
uo.FindType(Logs,'0x0000','backpack')
uo.WaittargetType(Logs)
uo.Usetype(dagger)
uo.Waitmenu('What do you want to carve the wood into?','bow (8 log)')
wait(1000)
uo.DeleteJournal()
while not (uo.InJournal('You put') or uo.InJournal('You fail'))
wait(300)
wend
if uo.weight>100 then
uo.SetReceivingContainer(Chest)
wait(500)

sub Open(Container)
uo.DeleteJournal()
uo.UseObject(Container)
repeat
wait(500)
until uo.InJournal('Contains')
end sub
sub ChekLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(100)
until uo.Injournal("backpack")
end sub


 while not uo.Dead()
   uo.DeleteJournal()
   uo.WaitMenu('What do you want to carve the' ,'bow')
   uo.WaitTargetType(logs)
   uo.UseType(dagger)
   while not uo.InJournal('item') or uo.InJournal('pack') or uo.InJournal('you fail')
     wait(100)
   wend
 wend
end sub

он должен брать логи из сундука и делать луки
но он даже скрипт не запускается!! =(( можете сказать пожалуйсто что я нетак переделал?

Posted: 2007-06-26 20:49:36
by Rivory

Code: Select all

sub Bowcraft() 
var dagger='0x0F52'

var Logs='0x1BDD'

var Chest='0x402F7A23


Open(Chest)
while 1==1
uo.FindType(Logs,-1,'backpack')
while uo.GetQuantity('finditem')==0
uo.FindType(Logs,'0x1BDD',Chest)
wait(1000)
uo.Grab('8',finditem')
wend
wait(700)
ChekLag()
uo.FindType(Logs,'0x0000','backpack')
uo.WaittargetType(Logs)
uo.Usetype(dagger)
uo.Waitmenu('What do you want to carve the wood into?','bow (8 log)')
wait(1000)
uo.DeleteJournal()
while not (uo.InJournal('You put') or uo.InJournal('You fail'))
wait(300)
wend
if uo.Weight>100 then
uo.SetReceivingContainer(Chest)
wait(500)
uo.FindType(Shaft)
if uo.GetQuantity('finditem')>0 then
uo.Grab('20','finditem')
wait(3000)
end if
uo.UnSetReceivingContainer()
end if
wend
end sub

sub Open(Container)
uo.DeleteJournal()
uo.UseObject(Container)
repeat
wait(500)
until uo.InJournal('Contains')
end sub


sub ChekLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(100)
until uo.Injournal("backpack")
end sub

Выше написан какой-то бред... просто отрывки скриптов, работать они, разумеется, не будут.

Posted: 2007-07-04 14:52:12
by pika
бред то что ты на свет родился =( я спросил как переделать его а некак мне его ошибку показать - скажите пожалуйсто как переделать или напишите если несложно

Posted: 2007-07-05 18:41:21
by Rivory
pika wrote:бред то что ты на свет родился =(


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