Page 1 of 1

Помогите пожалуста с макросом на сбор.

Posted: 2005-07-10 13:57:06
by enjoy
Нужно вот такое вот чкдо: вводим в окно УО кол-во, допустим 50. И инжект собирает 50 МРа из заранее определенного контейнера. Если не составит труда напишите ПЛЗ.

Posted: 2005-07-10 16:04:34
by Grin
А конкретней и подробней?

Posted: 2005-07-10 16:08:31
by enjoy
Ситуация: макрос на сбор регов. Инжект пишет: UO.print('HOw much grab?')
Потом вводим число, например 50
И макрос берет 50 регов из сундука.

Posted: 2005-07-10 16:14:20
by SAMURAI
Интересно и зачем же кланировать топы?!.
:?

Posted: 2005-07-10 16:14:24
by Solaire
Вот, пробуй. Во время работы скрипта по себе не кликать и писать только количество без всяких точек и т. д.

Code: Select all

sub loadr() 
VAR cont='0x4030AE6E', rtype='0x0F86', T=' ', l, J, k, n=UO.GetName()
UO.DeleteJournal()
UO.Print('How much grab?')
while not UO.InJournal(UO.GetName()+":")
   wait(100)
wend
J=UO.Journal(UO.InJournal(UO.GetName()+":")-1)
for k=len(n)+2 to len(J)
   T=T+J[k]
next
UO.UseObject(cont)
wait(1000)
UO.FindType(rtype, -1, cont)
if  UO.FindCount() then
   UO.MoveItem('finditem', T, 'backpack')
endif
endsub

Posted: 2005-07-10 16:33:47
by enjoy
Работает! Сенки огромное! А теперь другая ситуация: выгруз регов.
Вот мой макрос:

Code: Select all

var i 
##########################################################
################# ???????????? (Matrix Reload) ###########
##########################################################
sub sbros_regi()
var meshokregi = "0x4061E962" #???? ?????????? ? ????? ????
var meshokmaps = "0x40326395" #????? ??? ????? ?????????? ????
var meshokbottles = "0x40324A92" #????? ? ?????????
##########################################################
#########################????? ?????######################

UO.Setreceivingcontainer(meshokregi)
UO.Useobject(meshokregi)

While UO.Count(0x0F87) > 0 #Eyes of Newt
UO.Waittargettype(0x0F87)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F91) > 0 #Wyrm's Heart
UO.Waittargettype(0x0F91)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F89) > 0 #Obsidian
UO.Waittargettype(0x0F89)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F8F) > 0 #Volcanic Ash
UO.Waittargettype(0x0F8F)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F78) > 0 #Batwings
UO.Waittargettype(0x0F78)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F88) > 0 #NS
UO.Waittargettype(0x0F88)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F7B) > 0 #BM
UO.Waittargettype(0x0F7B)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F7A) > 0 #BP
UO.Waittargettype(0x0F7A)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F85) > 0 #GI
UO.Waittargettype(0x0F85)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F86) > 0 #MR
UO.Waittargettype(0x0F86)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F8C) > 0 #SA
UO.Waittargettype(0x0F8C)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F84) > 0 #GA
UO.Waittargettype(0x0F84)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F8D) > 0 #SS
UO.Waittargettype(0x0F8D)
UO.Grab()
Wait(600)
wend

Repeat
uo.findtype('0x0E76','0x00BB','backpack')
wait(500)
if uo.FindCount() then
UO.useobject('finditem')

UO.Setreceivingcontainer(meshokregi)
UO.Useobject(meshokregi)

While UO.Count(0x0F87) > 0 #Eyes of Newt
UO.Waittargettype(0x0F87)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F91) > 0 #Wyrm's Heart
UO.Waittargettype(0x0F91)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F89) > 0 #Obsidian
UO.Waittargettype(0x0F89)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F8F) > 0 #Volcanic Ash
UO.Waittargettype(0x0F8F)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F78) > 0 #Batwings
UO.Waittargettype(0x0F78)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F88) > 0 #NS
UO.Waittargettype(0x0F88)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F7B) > 0 #BM
UO.Waittargettype(0x0F7B)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F7A) > 0 #BP
UO.Waittargettype(0x0F7A)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F85) > 0 #GI
UO.Waittargettype(0x0F85)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F86) > 0 #MR
UO.Waittargettype(0x0F86)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F8C) > 0 #SA
UO.Waittargettype(0x0F8C)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F84) > 0 #GA
UO.Waittargettype(0x0F84)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F8D) > 0 #SS
UO.Waittargettype(0x0F8D)
UO.Grab()
Wait(600)
Wend
UO.Unsetreceivingcontainer()
endif
UO.drophere('finditem')
UO.ignore('finditem')
Until UO.findcount(0x0E76)==0

Repeat
uo.findtype('0x0E75','0x0000','backpack')
wait(500)
if uo.FindCount() then
UO.useobject('finditem')

UO.Setreceivingcontainer(meshokregi)
UO.Useobject(meshokregi)

While UO.Count(0x0F87) > 0 #Eyes of Newt
UO.Waittargettype(0x0F87)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F91) > 0 #Wyrm's Heart
UO.Waittargettype(0x0F91)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F89) > 0 #Obsidian
UO.Waittargettype(0x0F89)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F8F) > 0 #Volcanic Ash
UO.Waittargettype(0x0F8F)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F78) > 0 #Batwings
UO.Waittargettype(0x0F78)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F88) > 0 #NS
UO.Waittargettype(0x0F88)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F7B) > 0 #BM
UO.Waittargettype(0x0F7B)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F7A) > 0 #BP
UO.Waittargettype(0x0F7A)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F85) > 0 #GI
UO.Waittargettype(0x0F85)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F86) > 0 #MR
UO.Waittargettype(0x0F86)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F8C) > 0 #SA
UO.Waittargettype(0x0F8C)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F84) > 0 #GA
UO.Waittargettype(0x0F84)
UO.Grab()
Wait(600)
Wend
While UO.Count(0x0F8D) > 0 #SS
UO.Waittargettype(0x0F8D)
UO.Grab()
Wait(600)
Wend
UO.Unsetreceivingcontainer()
endif
UO.drophere('finditem')
UO.ignore('finditem')
Until UO.findcount(0x0E76)==0
end sub

Если кто может то доработайте, отто не сбрасывает пустые контейнры
[Даже если увижу супер пупер интересный скрипт такого размера без тегов убью I'm]

Posted: 2005-07-10 17:16:35
by Grin
ты уверен что это твой скрипт?;)
выгрузка не такая извращеная как сборка?;)
Если нет то можно обойтись и этим

Code: Select all

sub reg()
var Count=0
dim Type[n] #n количество типов регов
Type[0]=''
...
Type[n-1]=''
For var i = 0 to n-1
While uo.count(Type[i])>0
Count=uo.count(Type[i])
uo.moveitem('_'+Type[i], -1, 'Id') #Id контерйнера куда складывать
while uo.count(Type[i]) == Count
wait(100)
wend
wend
next
end sub

Posted: 2005-07-10 17:23:09
by enjoy
Этот скрипт выгружает реги только из бэкпака, а мне нужно из всехх сумочек!

Posted: 2005-07-10 17:34:04
by Grin
если все сумочки в бегпеке и они открыты то и изних выгрузит

Posted: 2005-07-10 17:47:15
by enjoy
А они закрыты!!!

Posted: 2005-07-10 17:58:30
by Grin
Ну и? чего тебе мешает их открыть?
Или написать скрипт на их открытие...
Если инжект не узнает изначально что в этих сумка есть он и не выгрузит их в принципе достаточно один раз их открыть и потом если мешают закрыть тогда инжект сохранит инфу об содержимом но обновлять не будет