Posted: 2006-02-09 18:54:53
Вот я как раз про контейнер и не понял. Можешь чуть поподробнее написать, как к этому контейнеру доступ получить. Искать на NPC что-то с именем "(21)"?
Если изменилось смотрим кому он пренадлежит(uo.ContainerOf()), если нашему НПС то вуаля все что в этом контаинере то наше;))
Code: Select all
# Перед запуском создать пустой шоплист 'vendorzzz' и включить Verb Logging
# После обхода вендоров скопировать injection_log.txt в папку с vendorzzz.exe
# и запустить программу. Скопируйте из текстового окна Injection список вендоров
# в программу и нажмите GO.
# Не забудть отрубить Verb Logging %)
sub add_vendor()
UO.Print('Please select vendor')
UO.Exec('addobject TmpObj')
While UO.Targeting()
Wait(100)
Wend
If UO.GetSerial('TmpObj')=='0x00000000' Then
Return
EndIf
UO.Click('TmpObj')
CheckLag()
UO.Buy('vendorzzz', UO.GetName('TmpObj'))
CheckLag()
UO.IgnoreReset()
Repeat
UO.FindType('0x2af8', '-1', 'TmpObj')
While UO.FindCount()>0
If UO.GetLayer('finditem')=='Rstk' Then
UO.TextPrint(UO.GetSerial('finditem')+'='+UO.GetName('TmpObj'))
UO.TextOpen()
Return
EndIf
Wend
Until UO.FindCount()<2
UO.TextPrint("Can't find "+UO.GetName('TmpObj')+"'s restock container")
UO.TextOpen()
end sub
SUB CheckLag()
; Проверка на лаги
DeleteJournal("backpack")
UO.Click('backpack')
Repeat
Wait(100)
Until UO.InJournal("backpack")
END SUB
SUB DeleteJournal(MsgText)
; Очистка в журнале всех сообщений, содержащих MsgText
Var MsgNumb
Repeat
MsgNumb=UO.InJournal(MsgText)
If MsgNumb<>0 Then
UO.SetJournalLine(MsgNumb-1, '')
EndIf
Until Not UO.InJournal(MsgText)
END SUB