Кто сможет зделать ?
Moderators: Murderator+, Murderator
-
- Posts: 35
- Joined: 2005-01-16 17:25:54
- Contact:
Кто сможет зделать ?
если 1 контейнер переполнен (255-итемов ) сбрасовать в 2 а если 2-переполнен то в 3 --- как написать такое ?
Last edited by Vija [ XAOC ] on 2005-02-27 01:35:46, edited 1 time in total.
Что-то наподобе этого.
Code: Select all
UO.FindType("Type","-1")
UO.MoveItem('finditem',0,Bag)
CheckLag()
If UO.InJournal("Too many items") then
NewBag()
Endif
....
sub NewBag()
UO.UseObject(FirstContainer)
UO.UseObject(SecondContainer)
UO.FindType(BagType, -1, FirstContainer)
Bag=UO.GetSerial('finditem')
UO.MoveItem(Bag, 0, SecondContainer)
wait(1000)
end sub
-
- Posts: 35
- Joined: 2005-01-16 17:25:54
- Contact:
Подумал я и решил сам написать )))
while UO.Count(0x0F4F) > 0
UO.FindType(0x0F4F,-1,-1)
UO.MoveItem('finditem', 0, 0x4028571A)
wait(500)
UO.FindType(0x0F4F,-1,-1)
UO.MoveItem('finditem', 0, 0x40285481)
wait( 900 )
wend
скрипт работает - если в 1 сундуку нет места он Пхнет предмети во 2
-
- Posts: 35
- Joined: 2005-01-16 17:25:54
- Contact:
BETEPAH wrote:Видж....а что мешает сделать немного по другому ...
Берем мешочек из сундука, делаем его ресив конт. То бишь весь крафт кидается в мешочек, когда в мешочке 255 итемов то сброс мешочка в сундук и граб ногово мешочка и так по кругу.
Подобные скрипты прикольно через terminate снимать. Снимаешь, начинаешь что-нибудь на базе делать другое, крафтить или перекладывать, а все куда-то деется, непонятно куда...

-
- Posts: 35
- Joined: 2005-01-16 17:25:54
- Contact:
Да идея клас ная и мнео она пришла дааавно когда ещё тока, тока учился писать скрипты, какраз этот и написал, я даже ради прикола ничего в нём не менял
ну тока документировал и всё

ну тока документировал и всё

Code: Select all
#*Примечание: Перед началом скрипта положите под себя
#пустой или незаполненый до конца мешочек :)
#
#Описание работы:
#Находится под собой мешочек, проверяеn незаполненли он,
# и если нет, то устанавливает на него переброс контеёнер и начинает
# крафт. Когда мешочек заполняется, кладёт его в UnSunduk и берёт
# из Sunduk'a новый и так пока некончатся инги или мешочки :)
# внизу прилогается фуфнуция которая сбрасывает все установки
# скрипта в нормальное сосьояние, то есть устанавливает дистанцию,
# сбрасывает переброс конт. и тд...
sub IronDagger()
VAR Ingi = '0x1BEF' ;тип айрона
VAR Sunduk = '0x400896A7' ;Сундук с мешочками
VAR UnSunduk = '0x40089941' ;для сброса мешков
VAR Bag = '0x0E76' ;тип мешочков
VAR Dagger = '0x0F51' ;тип даггеров
VAR k = 0
VAR mx = UO.GetX('self')
VAR my = UO.GetY('self')
VAR mz = UO.GetZ('self')
uo.set('finddistance',str(2))
UO.Useobject(Sunduk)
UO.Useobject(UnSunduk)
Snova:
UO.UnSetReceivingContainer()
wait(100)
repeat
UO.unsetcatchbag()
wait(500)
UO.FindType( Ingi, -1, 'my' )
wait(300)
UO.Drophere('finditem')
wait(3000)
UO.FindType( Ingi, -1, 'ground' )
wait(300)
If UO.FindCount() == 0 Then
UO.Print("Iron Ingots not found!!! Exit!!!!")
return
Endif
UO.Grab( Str( 700 ), 'finditem' )
wait( 3000 )
UO.FindType(Bag,-1, 'ground')
UO.FindType(Dagger,-1, 'finditem')
If UO.FindCount() > 160 then
UO.FindType(Bag,-1, 'ground')
wait(300)
UO.SetReceivingContainer(UnSunduk)
UO.Grab( Str( 1 ), 'finditem' )
wait( 3000 )
UO.UnSetReceivingContainer()
UO.FindType(Bag,-1, Sunduk)
wait(300)
If UO.FindCount() == 0 Then
UO.Print("No Bags found!!!! Exit!!")
goto vse
Endif
UO.moveitem ('finditem', 1, 'ground', str(mx), str(my), str(mz))
wait( 3000 )
UO.useobject('finditem')
end if
UO.FindType(Bag,-1, 'ground')
UO.setcatchbag('finditem')
UO.useobject('finditem')
vse:
While UO.Count( Ingi ) > 30
While NOT UO.Hidden()
UO.Useskill("Hiding")
wait(3000)
wend
UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
UO.DeleteJournal()
UO.UseType(Ingi)
UO.Exec("waitmenu 'Blacksmithing' 'Weapons' 'Weapons' 'Swords & Blades' 'Swords & Blades' 'dagger'")
k = 0
while NOT UO.InJournal('You have fail to make anything') AND NOT UO.InJournal('You put the dagger in your pack') AND ( k < 40 )
k = k + 1
wait(500)
wend
if k < 6 then
wait(3000)
end if
UO.FindType( Ingi, -1, 'my' )
if UO.Count( Ingi ) > 1000 then
UO.Drophere('finditem')
wait(2000)
end if
UO.FindType( Bag, -1, 'ground' )
UO.FindType( Dagger, -1, 'finditem' )
If uo.FindCount() > 250 Then
goto Snova
end if
UO.DeleteJournal()
Wend
UO.unsetcatchbag()
until UO.Dead()
end sub
sub unset()
UO.unsetcatchbag()
UO.UnSetReceivingContainer()
uo.set('finddistance',str(13))
uo.set('distance',str(13))
UO.IgnoreReset()
end sub
Ты б поконкретнее написал чо ты крафтишь, а раз не написал - перепишешь етот скрипт сам. Он для ме1 на шитье шапок.
Я не помню чо там в описаниях написано: напишу еще раз.
1 - раскладываешь вокруг себя ( или под себя ) коробки, крашеные в стандартный синий цвет 0x0003
2 - в пак кладем dying tub с любой краской внутри КРОМЕ 0x0003
3 - включаем
пс забыл написать - в закладке object types прописываем Pouch или редактируем скрипт.
Code: Select all
sub main()
UO.Exec("set finddistance 2")
UO.Print("ShapkodelkO by AzaToT(c)")
wait(100)
while not UO.FindCount()==0 or UO.Count("0x1078")>1
UO.Canceltarget()
UO.FindType("Pouch","0x0003",1) ;перед использованием скрипта все коробки покрасить в цвет 0х0003 (синий)
If UO.FindCount()<1 then ;не знаю как у других,
goto HappyEnd ;но у меня когда чар не находит коробки,
endif ;в finditem он добавляет всякие левые объкты и макрос не выключаетсо..=(
wait(1500)
UO.Addobject("Box",'finditem')
UO.Setcatchbag("Box")
UO.Useobject("Box")
Tailoring:
UO.CancelTarget()
wait(100)
UO.Print("Hides =" + str(UO.Count("0x1078"))) ;Hides
UO.UseType("0x09F2") ;еда, здесь стоит cuts of ribbs
wait(100)
UO.Exec("waitmenu 'Choose a category' 'leather' 'What you you want to create' 'Leather Cap'")
UO.WaitTargetType("0x1078") ;Hides
wait(100)
UO.UseType("0x0f9d") ;Sewing Kit
wait(3000)
UO.WaitTargetSelf() ;Если эксепт...
wait(3000)
UO.FindType("shapki","0x0000",'Box') ;считаем шапочки
If UO.FindCount()<148 and UO.Count("0x1078")>1 or not UO.InJournal("That item is too heavy for the container or the container is full.") then ;условия продолжения шитья шапок
wait(100)
goto Tailoring
endif
If UO.FindCount()>147 or UO.Count("0x1078")<2 or UO.InJournal("That item is too heavy for the container or the container is full.") then ;условия смены сумки
UO.DeleteJournal()
UO.Unsetcatchbag()
UO.Waittargetobject("Box") ;красим заполненую сумку.
wait(100)
UO.Usetype("0x0FAB") ;второй dying tub, не 0х0003 и не 0x002B цвета! (синий)
wait(1000)
UO.Canceltarget()
UO.FindType("Pouch","0x0003",1) ;для измерения кол-ва оставшихся свободных сумок.
endif
wend
HappyEnd:
MessageBox("He XBaTaeT PecypcoB, Terminate Script") ;всплывающее окошко-оповещение, если хотите чтобы скрипт выключился в ваше отсутствие нужно поставить # в начале строки.
#UO.Launch("shutdown.exe -t 00 -s") ;удалить "#" если хочешь чтобы после окончания скрипта компьютер выключился.
#UO.CloseUO() ;удалить "#" если хочешь чтобы УО выключилась после завершения скрипта.
end sub
Я не помню чо там в описаниях написано: напишу еще раз.
1 - раскладываешь вокруг себя ( или под себя ) коробки, крашеные в стандартный синий цвет 0x0003
2 - в пак кладем dying tub с любой краской внутри КРОМЕ 0x0003
3 - включаем
пс забыл написать - в закладке object types прописываем Pouch или редактируем скрипт.