Имеется скрипт на прокачку алхимии, собственного производства.
По идее, при количестве сваренных бутлей в паке >10, они должны выкидыватся в сундук, но почему то в етот момент пишется Targeting Cancelled и леззер падает мне под ноги. А иногда вообще не перекидывает...
Вот часть скрипта, отвечающяя за переброс:
;completed bottles moved to pack UO.DeleteJournal() UO.FindType('0x0F0D','0x0000','backpack') If uo.findcount()>15 Then checklag() uo.moveitem('0x0F0D','all',chest) endif wait(1000)
Dron D. wrote:Имеется скрипт на прокачку алхимии, собственного производства. По идее, при количестве сваренных бутлей в паке >10, они должны выкидыватся в сундук, но почему то в етот момент пишется Targeting Cancelled и леззер падает мне под ноги. А иногда вообще не перекидывает... Вот часть скрипта, отвечающяя за переброс:
;completed bottles moved to pack UO.DeleteJournal() UO.FindType('0x0F0D','0x0000','Bpack') wait(200) If uo.findcount()>10 then # Почему здесь 15 ? ты же вроде написал что больше 10 надо чтобы перекладывал checklag() uo.moveitem('0x0F0D','-1','chest') # А что ты перекладываешь кстати ? endif wait(1000)
пс если ты перекладываешь бутылки то вроде как All не канает, это для стыкуемых предметов, хотя могу и ошибаться
1 .Нашли рег (0x0F7B) в сундуке (0x4172E101) 2 .Нашли бутылки (0x0F0E) в суднуке 3 .Взяли и то и другое 100 и 30 соответсвенно. 4 .Варим Agility (0x0F08, 0x0000) 5 .Если бутлей меньше 2, тогда берем еще 30. 6 .Если рега меньше 5, тогда берем еще 90. 7 .Если бутылок с готовой продукцией в паке больше 25 тогда перекидываем их в сундук.
sub alchemytrain() ; качб алхимии. VAR Exit=0, LastTimer var reg='0x0F8C' var chest='0x4172E101'
while not uo.dead() ;empty bottles grab UO.FindType('0x0F0E','-1','backpack') If UO.GetQuantity('finditem')<10 then Uo.usefromground('0x4172E101') wait(50) UO.FindType('0x0F0E','-1','0x4172E101') wait(1000) UO.Grab('30','finditem') wait(1000) Endif ;regs grab UO.FindType(reg,'-1','backpack') If UO.GetQuantity('finditem')<20 then UO.FindType(reg,'-1',chest) wait(1000) UO.Grab('250','finditem') wait(1000) Endif
LastTimer=UO.Timer() UO.DeleteJournal() ;toss UO.UseType(reg) UO.WaitMenu('What','Agility') while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed") wait(500) wend If UO.InJournal("You toss the failed") then repeat wait(100) until UO.InJournal("You put") Else EndIf ;completed bottles moved to pack uo.setreceivingcontainer('0x4172E101') UO.FindType('0x0F0D','0x0000','backpack') wait(100) uo.moveitem('finditem','-1','0x4172E101') wait(1000) wend end sub
sub OpenContainer(container) if uo.GetSerial('lastcontainer') == container then uo.UseObject('backpack') while uo.GetSerial('lastcontainer') <> uo.GetSerial('backpack') wait(100) wend end if uo.UseObject(container) while uo.GetSerial('lastcontainer') <> container wait(100) wend end sub
sub CountContainer(type, color, container) uo.FindType(type, color, container) return uo.FindCount() end sub
sub main() var PotionNeed=3 var PotionType='0x0F08' var PotionColor='0x0000' var RegType='0x0F7B' var Container='' var tempCount=0 if uo.Targeting() then uo.canceltarget() end if uo.Print('Выбери контейнер с ресурсами') uo.Info() while uo.Targeting() wait(100) wend Container=uo.GetSerial('lasttarget') OpenContainer(Container) while not uo.Dead() if not uo.count('0x0f0e', 0) then if CountContainer('0x0f0e', 0, Container) then uo.Grab('100', 'finditem') while not uo.Count('0x0f0e', 0) wait(100) wend else uo.Print('Закончились банки') Return end if end if if uo.count(RegType) < PotionNeed then if CountContainer(RegType, 0, Container) then tempCount=uo.Count(RegType) uo.Grab('100', 'finditem') while uo.Count(RegType) == tempCount wait(100) wend if uo.count(RegType) < PotionNeed then uo.Print('Нехватает регов') Return end if else uo.Print('Закончились реги') Return end if end if uo.WaitMenu('What', 'Agility') uo.WaitTargetType(RegType) uo.DeleteJournal() uo.usetype('0x0E9B') while not uo.InJournal('put|toss') wait(100) wend while CountContainer(PotionType, PotionColor, 'backpack') uo.moveitem('finditem', 0, Container) while uo.ContainerOf('finditem') <> Container wait(100) wend wend wend end sub
Что делает:
Берет бутылки если нет
Берет рег если его не хватает на изготовления 1 зелья
Скидывает сразу получившиюся продукцию
Скрипт настроен под агилки Сундук выбирается вручную.
PS Ничего настроивать не надо... (кроме если только журнала)
Спасибо.
Но видимо особенность шарда о1, в том что на нём пролагивает частенько и скрипт запарывается.
А происходит ето во время когда что-то куда-то перетаскивается.
Если сваренный поушн начинаем перетаскивать, то он пропадает в никуда и скрипт останавливается, если потянуть за любой айтем то етот поушн выпадает под ноги и чтобы скрипт запахал, нужно поушн кинуть в сундук. Или аналогичная ситуация при grab`e регов\бутлей. Даже хз как с етим боротся)
странно с бутылками... хотелось постестить... давно там не грал но никогда таких траблов небыло;) а тот бай порой юзал чтобы тоскатьвещи которые в пак не лезли(из за перевеса). Точно такжи класно прятались вещи от не прощареных гмов%)