Yoko

All sides of Injection
It is currently 2025-10-15 11:34:44

All times are UTC+02:00




Post new topic  Reply to topic  [ 11 posts ] 
Author Message
 Post subject: Проверка
PostPosted: 2010-03-30 12:27:16 
Offline

Joined: 2004-10-20 06:04:42
Posts: 62
Помогите написать и вставить в скрипт проверку на голод

Code:
if uo.InJournal('are hungry') then
ищем в сумке ('молоко')
если меньше трех добираем из сундука
кушаем пока в журнале не будет надписи- Water: You can't drink more.
ищем в сумке ('бекон')
если меньше двух добираем из сундука
кушаем пока в журнале не будет надписи- Hungry: Your are stuffed!

надо вставить в этот скрипт:
Code:
##################################################################### 
; Tinker. v.1.00b (c) Edred
;
; Чар берет из сундука инготы, крафтит из них бутылки
; и складывает эти бутылки в этот же сундук.
; Если инги закончились - выход.
;
sub tinker()
VAR Sunduk = '0x40018837' ; Сериал сундука
VAR Ingi = '0x1BDD' ; Тип ингов
VAR Instrum = '0x1034' ; Тип инструмента тинкера
VAR Bottle = '0x0E34' ; Тип бутылки
VAR Kolvo = 300 ; Брать ингов
VAR k = 0
While TRUE
UO.FindType( Ingi, -1, Sunduk ) ; Ищем инги в сундуке
If UO.FindCount() == 0 Then
UO.Print("Iron Ingots not found, script terminated")
return
Endif
UO.Grab( Str( Kolvo ), 'finditem' )
wait( 2000 )
While UO.Count( Ingi ) > 5
; Пока в паке есть инги
UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
UO.DeleteJournal()
uo.findtype('0x1034','0x0000','backpack')
if uo.findcount() then
uo.recall('finditem','3')
k = 0
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
k = k + 1
wait(500)
wend
if UO.Count( Bottle ) > 30 then
UO.FindType( Bottle, -1, -1 )
UO.MoveItem( 'finditem', 0, Sunduk )
wait( 1000 )
UO.Print( 'Bottle moved' )
end if
Wend
Wend
end sub


Top
   
 Post subject: Re: Проверка
PostPosted: 2010-03-30 12:43:53 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Так детально расписал алгоритм что мог бы уже и сам написать скрипт :)

Что-то вроде такого:
Code:
var moloko = '0x1234'
var beckon = '0x4321'
var sunduk = '0x12345678'

Sub eat()
    if uo.InJournal('are hungry') then
        ;ищем в сумке ('молоко')
        ;если меньше трех добираем из сундука
        if (UO.Count(moloko)<3) then
            ;открываем сундук
            UO.UseObject(sunduk)
            Wait(500)
            ;ищем в нём молоко
            UO.FindType(moloko,-1,sunduk)
            ;перемещаем 10 штук в рюкзак
            UO.MoveItem('finditem',10,'backpack')
        endif
        UO.DeleteJournal()
        ;кушаем пока в журнале не будет надписи- Water: You can't drink more.
        while (NOT UO.InJournal("Water: You can't drink more."))
            UO.UseType(moloko)
            Wait(500)
        wend

        ;ищем в сумке ('бекон')
        ;если меньше двух добираем из сундука
        if (UO.Count(beckon)<2) then
            ;открываем сундук
            UO.UseObject(sunduk)
            Wait(500)
            ;ищем в нём бекон
            UO.FindType(beckon,-1,sunduk)
            ;перемещаем 10 штук в рюкзак
            UO.MoveItem('finditem',10,'backpack')
        endif
        UO.DeleteJournal()
        ;кушаем пока в журнале не будет надписи- Hungry: Your are stuffed!
        while (NOT UO.InJournal('Hungry: Your are stuffed!'))
            UO.UseType(beckon)
            Wait(500)
        wend
    endif
endsub


Last edited by Beyonder on 2010-03-30 13:34:13, edited 2 times in total.

Top
   
 Post subject: Re: Проверка
PostPosted: 2010-03-30 12:50:46 
Offline

Joined: 2004-10-20 06:04:42
Posts: 62
Beyonder wrote:
Так детально расписал алгоритм что мог бы уже и сам написать скрипт :)


Да еслибы мог не просил бы помощи :)

Можешь склейт свой скрипт со скриптом на тинкер, сам я точно несмогу.

Code:
while (NOT UO.InJournal('Water: You can't drink more.') 


вот на этой строчке он ошибку выдает


Top
   
 Post subject: Re: Проверка
PostPosted: 2010-03-30 13:16:36 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Ошибку исправил в верхнем своём сообщении.

Воткнуть в тинкер примерно вот так:

Code:
While UO.Count( Ingi ) > 5
; Пока в паке есть инги


Между строками нужно воткнуть eat()
Code:
While UO.Count( Ingi ) > 5
eat()
; Пока в паке есть инги


Top
   
 Post subject: Re: Проверка
PostPosted: 2010-03-30 13:25:41 
Offline

Joined: 2004-10-20 06:04:42
Posts: 62
Beyonder wrote:
Ошибку исправил в верхнем своём сообщении.

Воткнуть в тинкер примерно вот так:

Code:
While UO.Count( Ingi ) > 5
; Пока в паке есть инги


Между строками нужно воткнуть eat()
Code:
While UO.Count( Ingi ) > 5
eat()
; Пока в паке есть инги


Всеравно на той же строчке ругается :(


Top
   
 Post subject: Re: Проверка
PostPosted: 2010-03-30 13:34:33 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Точно, там 2 ошибки было а не одна. Теперь должно работать :)


Top
   
 Post subject: Re: Проверка
PostPosted: 2010-03-30 13:42:14 
Offline

Joined: 2004-10-20 06:04:42
Posts: 62
Как в журнале выскакивет hungry начинает писать no item found
Типы все прописал


Top
   
 Post subject: Re: Проверка
PostPosted: 2010-03-30 13:50:52 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Сундука ты точно верный ID указал? Надо было именно ID а не тип.


Top
   
 Post subject: Re: Проверка
PostPosted: 2010-03-30 13:54:31 
Offline

Joined: 2004-10-20 06:04:42
Posts: 62
Beyonder wrote:
Сундука ты точно верный ID указал? Надо было именно ID а не тип.


Ид вставил,
VAR Sunduk = '0x40018837'

А есть разница sunduk или Sunduk?


Top
   
 Post subject: Re: Проверка
PostPosted: 2010-03-30 13:58:41 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Нет, разницы нету.

Судя по всему, он не может найти молоко у тебя в рюкзаке. Ты точно верный тип молока прописал?


Top
   
 Post subject: Re: Проверка
PostPosted: 2010-03-30 14:02:38 
Offline

Joined: 2004-10-20 06:04:42
Posts: 62
Beyonder wrote:
Нет, разницы нету.

Судя по всему, он не может найти молоко у тебя в рюкзаке. Ты точно верный тип молока прописал?


Все верно, щас он его стал брать только перед тем как взять все равно выдает no item found

Может дело в том что молоко нескладывается в кучку?


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 11 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited