Loot (заготовка)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Loot (заготовка)

Post by omi4 »

Наткнулся на заготовку лута, может кому сгодится…
Писалось под НТ на Антаресе, там нужно кучу хлама брать.
Писать типы было лень сделал вот так, всего 235 предметов в списке

Code: Select all

sub Loot() ;
   UO.Set("grabdelay", 100) ;
   UO.MoveItem("<0x0EED", 0, "backpack")
   UO.UseObject("<0x0E76")
   wait(300)
   F_Loot(3855, 3888) ; kamni
   F_Loot(4229, 4234) ; ring..
   F_Loot(5039, 5148) ; arm & weap
   F_Loot(3960, 3985) ; regi
   F_Loot(8320, 8383) ; scroll
   UO.Set("grabdelay", 0) ; default
endsub

sub F_Loot(start, stop)
   for start to stop
      UO.FindType(UO.Int2Hex(start), -1, "lastcontainer")
      while UO.FindCount()
         UO.MoveItem("finditem", 0, "backpack")
      wend
   next
endsub
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

чем она отличается ?
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

скрипт на 235 строк короче
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

omi4 wrote:скрипт на 235 строк короче

а почему нельзя просто

Code: Select all

UO.FindType(-1, -1, "lastcontainer")
??
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

NMY wrote:
omi4 wrote:скрипт на 235 строк короче

а почему нельзя просто

Code: Select all

UO.FindType(-1, -1, "lastcontainer")
??


Ну а как ты думаешь? Есть отличие от "брать кучу хлама" и "брать весь хлам"?
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

omi4 wrote:скрипт на 235 строк короче


Кстати, я как-то давно же писал скрипт на лут через логические типы в АСМе... Там вообще скрипт был из нескольких строк. А типы забивались в текстовый файл (в файл типов). И перебор работал весьма шустро... Если попадется под руку - скину на форум.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
volhram
Posts: 95
Joined: 2004-10-19 16:25:45

Post by volhram »

UO.FindType(-1, -1, "lastcontainer") работает только с птичками и собачками)) Боты имеют какие то скрытые обьекты, которые в луте не видно, но таким способом их находишь....и просто зависает всё.
2 omi4 отличная идея, буду использовать)
2 Edred тоже самое можно сделать, записав типы в виде строки...без файлов и АСМ )
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

volhram wrote:2 Edred тоже самое можно сделать, записав типы в виде строки...без файлов и АСМ )


Это будет гораздо медленнее. Дата-файл в АСМе при открытии загружается в память и индексируется.

Кроме того, хранение типов для лута в дата-файле имеет одно неоспоримое удобство - легко редактировать, нет необходимости изменять скрипт, легко временно отключать ненужное (просто спереди ставим знак коммента и все).
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
volhram
Posts: 95
Joined: 2004-10-19 16:25:45

Post by volhram »

я думаю всё относительно....если работаешь со строкой в которой координаты и типы деревьев, то быстрее не придумаешь..тк читать начинаешь с указаной позиции, ну а если нужно пробежать всю строку и найти соответствие, может ты и прав, я не тестил...
мне просто проще со строками работать
да и твой метод для профессионалов))...установить АСМ, научиться писать и читать из файла.....строки проще)
могу ещё предложить извращение...для любителей
типы для лута записаны в строку...."0х0001 0х0002 0х0003....и тд"...перед лутом эту строку просто вписываем в журнал)
затем ищем соответствие найденого типа со строкой в журнале))
uo.findtype('-1','-1','lasttarget')
Type=str(uo.getgraphic('finditem'))
if uo.injournal(Type) then....
сам ещё не тестил, интересно инжект с журналом быстро работает?)
Post Reply