Yoko
http://forum.yoko.com.ua/

Помогите решить проблему с крафт меню.
http://forum.yoko.com.ua/viewtopic.php?f=17&t=14577
Page 1 of 1

Author:  Hydromarine [ 2009-03-20 14:57:46 ]
Post subject:  Помогите решить проблему с крафт меню.

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

Code:
var EQ,RQ1,RQ2,QB 
var Eat='0x097B' ; Type Åäà (Ðûáà)
var Res1='0x0F88' ; Type Ðåñóðñ 1 (Ðåã)
var Res2='0x0F0E' ; Type Ðåñóðñ 2 (Áóòûëêà)
var Kit='0x0E9B' ; Type Èíñòðóìåíòà êðàôòà (Ñòóïêà)
var Items='0x0F0A' ; Type Âûõîäíîãî ìàòåðèàëà
EQ=50 ; Êîëè÷åñòâî åäû
RQ1=200 ; Êîëè÷åñòâî ðåñóðñà 1
RQ2=100 ; Êîëè÷åñòâî ðåñóðñà 2

;|---------------------------------|
;| Îïèñàíèå ïåðåìåííûõ êîíòåéíåðîâ |
;|---------------------------------|

var ContainerRes='0x4032A7CA' ; Object Êîíòåéíåð ñ ðåñóðñàìè
var ContainerBag='0x4058E631' ; Object Êîíòåéíåð ñ ñóìêàìè
var BagCount='0x0E76' ; Type ñóìîê â êîíòåéíåðå ContainerBag


sub Main()
uo.Set('quiet','1')
uo.Exec('exec Craft')
uo.IgnoreReset()
end sub

sub OpenBag()
var i,BagID
uo.UseObject(ContainerBag)
uo.UseObject(ContainerRes)
uo.IgnoreReset()
repeat
uo.DeleteJournal()
wait(1000)
uo.FindType(BagCount,'-1',ContainerBag)
if uo.FindCount('finditem') > 1 then
i=(uo.FindCount('finditem') +1)
uo.Click('finditem')
if uo.InJournal("a bag") Then
BagID=uo.JournalSerial(uo.InJournal("a bag")-1)
uo.SetJournalLine(uo.InJournal("a bag")-1,"")
uo.FindType(Items,'-1',BagID)
uo.UseObject(BagID)
wait(2000)
uo.Hide(BagID)
uo.Ignore(BagID,'on')
end if
end if
i=(i-1)
until i==0
uo.Hide(ContainerBag)
uo.Hide(ContainerRes)
uo.Resend()
wait(3000)
uo.IgnoreReset()
end sub


sub Craft()
var Last=0,LastTimer
OpenBag()
While not uo.Dead()

;|-----------------------------------|
;| Search of resources and Take them |
;|-----------------------------------|

uo.FindType(Eat,'-1','me')
if uo.GetQuantity('finditem')<1 then
uo.FindType(Eat,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
ToTake(3)
else
uo.Exec('Terminate Craft')
end if
else
ToEat()
end if
uo.FindType(Res1,'-1','me')
if uo.GetQuantity('finditem')<45 then
uo.FindType(Res1,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
ToTake(1)
else
uo.Exec('Terminate Craft')
end if
end if
uo.FindType(Res2,'-1','me')
if uo.GetQuantity('finditem')<1 then
uo.FindType(Res2,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
ToTake(2)
else
uo.Exec('Terminate Craft')
end if
end if

;|-------------|
;| Craft Items |
;|-------------|

uo.DeleteJournal()
uo.WaitTargetType(Res1)
uo.UseType(Kit)
uo.WaitMenu ('what sort of potion','Poison') ; Íàçâàíèå ÊðàôòÌåíþ1(Cloth),ÏîäÌåíþ2(Shirts) -> ÊðàôòÌåíþ2(Shirts),ÏîäÌåíþ2(Robe)
LastTimer=UO.Timer()
repeat
wait(100)
until uo.InJournal("You put") or uo.InJournal("Alchemy") or LastTimer+150<uo.Timer()
UnLoadItem()
wend
end sub

sub ToTake(i)
var G,F
if i==1 then
G=RQ1
F=Res1
end if
if i==2 then
G=RQ2
F=Res2
end if
if i==3 then
G=EQ
F=Eat
end if
uo.FindType(F,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
uo.Grab(''+str(G)+'','finditem')
uo.DeleteJournal()
repeat
uo.FindType(F,'-1','me')
wait(1500)
until uo.InJournal("That is too") or uo.GetQuantity('finditem') > 1
end if
end sub

sub ToEat()
uo.UseType(Eat)
end sub

sub UnLoadItem()
var BagID
var i=0
var m=0
repeat
uo.DeleteJournal()
uo.FindType(BagCount,'-1',ContainerBag)
uo.Click('finditem')
m=0
repeat
wait(1000)
until uo.InJournal("a bag")
if uo.InJournal("a bag") Then
BagID=uo.JournalSerial(uo.InJournal("a bag")-1)
uo.SetJournalLine(uo.InJournal("a bag")-1,"")
uo.FindType('-1','-1',BagID)
if uo.FindCount('finditem')<50 then
m=uo.FindCount('finditem')
uo.SetReceivingContainer(BagID)
uo.FindType(Items,'-1','me')
uo.Grab('0','finditem')
uo.ConColor('0x0021')
uo.Set('quiet','0')
uo.Print(uo.Print('In BagPack#'+Str(i+1)+' items '+Str(m)+''))
uo.Set('quiet','1')
uo.ConColor('0x0035')
wait(1000)
uo.UnSetReceivingContainer()
else
i=i+1
uo.Ignore(BagID, 'on')
end if
end if
if i==QB then
uo.IgnoreReset()
i=0
end if
uo.FindType(Items,'-1','me')
until uo.FindCount('finditem') < 1
end sub
[/code]

Author:  Hydromarine [ 2009-03-22 20:10:13 ]
Post subject: 

Апаньки.

Author:  Hydromarine [ 2009-03-24 08:33:19 ]
Post subject: 

Апаньки.

Author:  Ever1x [ 2009-03-24 08:41:30 ]
Post subject: 

I think your problem is
uo.WaitTargetType(Res1)
uo.UseType(Kit)
uo.WaitMenu ('what sort of potion','Poison')
LastTimer=UO.Timer()

change to:
Code:
uo.waitMenu('What sort of potion','Poison')
uo.waittargettype(res1)
uo.usetype(kit)
lasttimer=uo.timer()


But do in your shard is like this?

Use Mortal Pastle -> Target on Reg -> Select from Menu!?
Or like this? Use Reg -> Select from menu!?
If the second, then
Code:
uo.waitmenu('......','....')
uo.usetype(Nightshade)

Author:  Hydromarine [ 2009-03-24 20:17:27 ]
Post subject: 

I play on shard Oskom. Here to receive a potion it is necessary to make it: Use Mortal Pastle-> Target on Reg-> Select from Menu. The script stops on that that the menu with poison small bottles opens, but it thus does not do them.

Author:  Hydromarine [ 2009-03-24 20:19:17 ]
Post subject: 

Any of variants did not begin to work.

Author:  Hydromarine [ 2009-03-25 12:53:16 ]
Post subject: 

Рассматриваются любые алтернативы алхимии, главное чтобы не собералась в бэкпаке.

Author:  Savage [ 2009-03-25 13:34:41 ]
Post subject: 

Я так понимаю, что после открытия меню алхимии, нужно выбрать тип пойзона. Так вот, если по текстовому определению меню не срабатывает, можно использовать номера пунктов меню. Подробнее читай в хэлпе по вайтменю.
И кстати да, вайтменю должно быть раньше чем юз мортара.

Author:  Hydromarine [ 2009-03-25 14:19:19 ]
Post subject: 

Savage wrote:
Я так понимаю, что после открытия меню алхимии, нужно выбрать тип пойзона. Так вот, если по текстовому определению меню не срабатывает, можно использовать номера пунктов меню. Подробнее читай в хэлпе по вайтменю.
И кстати да, вайтменю должно быть раньше чем юз мортара.


Не '(2)' , не '(last)' не помогли.

Author:  Savage [ 2009-03-25 16:05:13 ]
Post subject: 

Значит неправильно обозначен заголовок самого меню, первый параметр.

Author:  Hydromarine [ 2009-03-25 16:33:22 ]
Post subject: 

Savage wrote:
Значит неправильно обозначен заголовок самого меню, первый параметр.


Перепроверял уже неоднократно. Большие и маленькие буквы учитываются?

Author:  Savage [ 2009-03-25 16:43:29 ]
Post subject: 

Да. Пробелы всякие тоже...

Author:  Savage [ 2009-03-25 16:43:51 ]
Post subject: 

скрин меню кинь.

Author:  Hydromarine [ 2009-03-25 17:13:53 ]
Post subject: 

Savage wrote:
Да. Пробелы всякие тоже...


Все сделал. Огромное спасибо за подсказку на счет больших букв, не знал. Меню у меня начиналось с маленькой. Теперь все работает как нужно.
Еще раз огромное спасибо.

Топ клоуз.

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/