Page 11 of 12
Re: То, что ищут многие...
Posted: 2016-05-03 18:31:06
by Incorrect User
slafoka wrote:А Это разве не нужно добавить Var Spools = 'Тип ниток' ?
И нужно ли это uo.FindType(Spools,'-1','backpack') ?
Результат не изменится, просто type можно будет задавать удобно в условиях, но в целом без разницы.
Re: То, что ищут многие...
Posted: 2016-05-03 20:01:23
by slafoka
Спасибо. Попробую запустить отпишусь.
Re: Re:
Posted: 2016-05-08 10:05:41
by slafoka
slafoka wrote:Scripts Writer wrote:Code: Select all
####################
# Качаем Tailoring #
####################
sub Tailoring()
var cloth=0x175D # Type of cloth
var sew=0x404733DB # ID of a sewing kit
var sash=0x1541 # Type of created item(i made body sashes)
var scissors=0x404733DD # Type of anything to cut created items
var bandage=0x0E21 # Type of bandages
var to=0x401E340D # Where to put bandages and to get clothes
var type1=0x0C77 # Type of food1
var type2=0x0C6D # Type of food2
var k,l
l=0
while uo.SkillVal('Tailoring','1') < 1000
uo.FindType(cloth,'-1','backpack')
if uo.GetQuantity('finditem') < 20 then
GetItem(cloth,100,to,'backpack')
end if
uo.WaitMenu('Cloth','Misc','Misc','sash') # Menu
uo.WaitTargetObject('finditem')
uo.UseObject(sew)
uo.DeleteJournal()
k=0
repeat
wait(100)
k=k+1
until uo.InJournal('put') || uo.InJournal('fail') || k>100
if uo.InJournal('put') then
uo.FIndType(sash,'-1','backpack')
while uo.FIndCount()
uo.FIndType(sash,'-1','backpack')
uo.WaitTargetObject('finditem')
uo.UseObject(scissors)
wait(750)
wend
end if
CheckLag()
Move(bandage,'all','backpack',to)
l=l+1
if (l>100) then
EatFood(type1,type2)
l=0
end if
wend
end sub
##########
# Eating #
##########
sub EatFood(carrot , onion)
var i
for i=0 to 5
uo.FindType(carrot,'-1','backpack')
if uo.FindCOunt() then
uo.UseObject('finditem')
wait(750)
else
if not uo.FindCount() then
uo.FindType(onion,'-1','backpack')
if uo.FindCount() then
uo.UseObject('finditem')
wait(750)
else
uo.Print('No food...')
end if
end if
end if
wait(500)
next
end sub
###########
# GetItem #
###########
sub GetItem(type, quantity, where , to)
uo.FindType(type,'-1',where)
if uo.FindCount() then
uo.moveitem('finditem',quantity,to)
wait(750)
end if
end sub
###############
# Moving item #
###############
sub Move(type,quantity,where,to)
uo.FindType(type,'-1',where)
if uo.GetQuantity('finditem') > 100 then
uo.moveitem('finditem',quantity,to)
wait(750)
end if
end sub
############
# CheckLag #
############
sub CheckLag()
uo.DeleteJournal('backpack')
uo.Click('backpack')
repeat
wait(100)
until uo.InJournal('backpack')
Сделайте чтоб он еще нитки добирал когда они заканчиваются.
Работает не корректно. Если добавить GetItem( 'Тип ниток',100,to,'backpack') то он их добирает по условию когда заканчивается ткань, а нужно чтобы это было не зависимо друг от друга.
Помогите исправить
Re: Re:
Posted: 2016-05-08 12:04:45
by Incorrect User
slafoka wrote:Помогите исправить
При каком условии нужно их добирать?
Re: Re:
Posted: 2016-05-08 12:59:22
by slafoka
Incorrect User wrote:slafoka wrote:Помогите исправить
При каком условии нужно их добирать?
Если ниток в бекпаке меньше 20 шт, то взять их из сундука в таком то кол-ве.
Re: То, что ищут многие...
Posted: 2016-05-08 13:10:47
by Incorrect User
После строки
Code: Select all
while uo.SkillVal('Tailoring','1') < 1000
добавь это
Code: Select all
if uo.FindType('тип ниток', -1, 'backpack') and uo.GetQuantity('finditem') < 20 then
GetItem('тип ниток', 100, to, 'backpack')
end if
Re: То, что ищут многие...
Posted: 2016-05-08 14:53:54
by slafoka
Incorrect User wrote:После строки
Code: Select all
while uo.SkillVal('Tailoring','1') < 1000
добавь это
Code: Select all
if uo.FindType('тип ниток', -1, 'backpack') and uo.GetQuantity('finditem') < 20 then
GetItem('тип ниток', 100, to, 'backpack')
end if
В твоем варианте это не работало.
Вышел из положения таким образом:
Code: Select all
uo.FindType(Spools, -1, 'backpack')
if uo.GetQuantity('finditem') < 20 then
GetItem(Spools,100,to,'backpack')
end if
Спасибо за помощь
Осталось заставить его кушать.
Что означает это действие:
Code: Select all
if (l>100) then
EatFood(type1,type2)
l=0
end if
Re: То, что ищут многие...
Posted: 2016-05-20 20:12:37
by Incorrect User
slafoka wrote:Что означает это действие:
Code: Select all
if (l>100) then
EatFood(type1,type2)
l=0
end if
Видимо счетчик стоит, каждые 100 циклов есть. I - это счетчик, после достижения 100 циклов чар попытается поесть, счетчик сбрасывается и снова ждем 100 циклов.
Re: То, что ищут многие...
Posted: 2016-05-27 00:50:01
by slafoka
Помогите для Карпентри добавить добор ниток из сундука, с условием. Если ниток меньше 10, то взять 100шт из сундука.
Или как-то можно добавить вот это:
Code: Select all
uo.FindType(Spools, -1, 'backpack')
if uo.GetQuantity('finditem') < 10 then
GetItem(Spools,100,to,'backpack')
end if
Code: Select all
sub Carpentry()
VAR Trash = '0x400BC645' ;
VAR Sunduk = '0x41DC7700' ;
VAR Ingi = '0x1BDD' ;
VAR Instrum = '0x1030' ;
VAR Bottle = '0x1B7A' ;
VAR Kolvo = 200 ;
VAR k = 0
VAR Fish = '0x097B' ;
While TRUE
UO.FindType( Ingi, -1, Sunduk ) ;
If UO.FindCount() == 0 Then
UO.Print("Iron Ingots not found, script terminated")
return
end if
UO.Grab( Str( Kolvo ), 'finditem' )
wait(2000)
While UO.Count( Ingi ) > 10
UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
UO.DeleteJournal()
UO.CancelMenu()
UO.WaitMenu ('Carpentry', 'Containers & Shields', 'Containers & Shields', 'wooden shield' )
UO.UseType( Instrum )
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 ) > 0 then
UO.FindType( Bottle, -1, -1 )
UO.MoveItem( 'finditem', 0, Trash )
wait( 1000 )
UO.Print( 'Bottle moved' )
UO.FindType( Fish )
UO.UseType( Fish )
wait (2000)
end if
Wend
Wend
end sub
Re: То, что ищут многие...
Posted: 2016-05-27 05:15:46
by Mirage
ты же сам чуть выше решение написал

После While TRUE добавь свои строчки. Если скрипт отдельный либо перенеси его к тейлору либо добавь в карпу
Code: Select all
###########
# GetItem #
###########
sub GetItem(type, quantity, where , to)
uo.FindType(type,'-1',where)
if uo.FindCount() then
uo.moveitem('finditem',quantity,to)
wait(750)
end if
end sub
Re: То, что ищут многие...
Posted: 2016-05-27 06:14:08
by slafoka
спасибо
Re: То, что ищут многие...
Posted: 2016-10-13 21:27:33
by Kynep
Всем привет в этом чатике!

Re: То, что ищут многие...
Posted: 2016-10-14 12:58:59
by Mirage
Починяем примусы недорого
Все спасибы Yoko
Re: То, что ищут многие...
Posted: 2017-04-24 18:50:41
by Lusi
помогите, задача такая
Есть драк ... нужно чтобы он при появлении Вирма убивал его и ждал следующего и так по кругу...
что то типа такого:
Code: Select all
sub killdrake()
UO.set('finddistance','14') # расстояние поиска 14 клеток вокруг
while UO.GetHP('self') < 500
UO.FindType(wirm, '-1', 'ground')
if UO.FindCount() > 0 then
UO.DeleteJournal()
if UO.FindType(0x20D6,-1,'my') then # если драк в шринке
uo.ColorPrint(2998,"Достаём дракона..")
uo.UseType('0x20D6') # выпустили дракона
wait(300)
UO.Exec("warmode 1")
# uo.waittargetobject('laststatus')
# uo.say('all kill')
UO.Attack('finditem')
repeat
wait(500)
until UO.InJournal('Body of')
else # если дракон на свободе
UO.FindType(wirm, '-1', 'ground')
If UO.FindCount() > 0 Then
UO.DeleteJournal()
UO.Exec("warmode 1")
uo.ColorPrint(2998,"Дракон на земле..")
wait(500)
UO.Attack('finditem')
wait(500)
uo.attack('finditem')
repeat
wait(500)
until UO.InJournal('Body of')
endif
endif
Endif
else
uo.ColorPrint(2998,"ждём вирма...")
Endif
wend
uo.ColorPrint(2998,"всё...")
endsub
немного криво работает, поправьте кто понимает!
Re: То, что ищут многие...
Posted: 2017-04-24 19:52:14
by Mirage
Code: Select all
sub killdrake()
UO.set('finddistance','14') # расстояние поиска 14 клеток вокруг
while UO.GetHP('self') < 500
UO.FindType(wirm, '-1', 'ground')
if UO.FindCount() > 0 then
UO.DeleteJournal()
if UO.FindType(0x20D6,-1,'my') then # если драк в шринке
uo.ColorPrint(2998,"Достаём дракона..")
uo.UseType('0x20D6') # выпустили дракона
wait(300)
UO.Exec("warmode 1")
# uo.waittargetobject('laststatus')
# uo.say('all kill')
UO.Attack('finditem')
repeat
wait(500)
until UO.InJournal('Body of')
else # если дракон на свободе
UO.FindType(wirm, '-1', 'ground')
If UO.FindCount() > 0 Then
UO.DeleteJournal()
UO.Exec("warmode 1")
uo.ColorPrint(2998,"Дракон на земле..")
wait(500)
UO.Attack('finditem')
wait(500)
uo.attack('finditem')
repeat
wait(500)
until UO.InJournal('Body of')
endif
endif
Endif
wait(500)
wend
uo.ColorPrint(2998,"всё...")
endsub
var wirm у тебя где то выше видимо.
И что будет если умрет призванный дракон?

Re: То, что ищут многие...
Posted: 2017-04-24 19:59:24
by dubd
подскажите пожалуйста, как сделать чтобы чар - стрелял в драка и когда у драка мало хп - он переставал стрелять и ждал пока второй его подлечит и опять стрелял.
Re: То, что ищут многие...
Posted: 2017-04-24 21:58:34
by Lusi
Mirage wrote:
var wirm у тебя где то выше видимо.
да
Mirage wrote: И что будет если умрет призванный дракон?

это внутри другой функции
Re: То, что ищут многие...
Posted: 2017-04-25 21:13:06
by dubd
да что же за жопа такая! сделал крипт на обстрел драка а когда его выключаешь, то клиент виснит)))))))))))))
Re: То, что ищут многие...
Posted: 2017-04-25 23:02:41
by Mirage
а как ты его выключаешь?
Re: То, что ищут многие...
Posted: 2017-04-26 16:40:47
by dubd
красная кнопка terminate и клиент виснет)))))