Поиск вещей по именам

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
YogurtYo
Posts: 35
Joined: 2008-10-18 09:56:25

Поиск вещей по именам

Post by YogurtYo »

Очень нужен скрипт на поиск вещей по именан, а не по типам. Есь ли такая возможность в инже? (если да, можете дать пример плз? -дальше сам додумаю)

Если нет, есть ли такая возможность в других прогах типа ассиста или изи?
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Реализовать можно всё, вопрос в целесообразности.

Как работают имена вещей в УО? - Вы клацаете на предмет и видите его имя..

Т.е. чтобы найти вещь по имени - нужно по всем подозреваемым вещам клацнуть, после чего узнать имя и сверить..

Соответственно, черновой вариант подобного скрипта выглядит так:

Code: Select all

uo.findtype( '-1', '-1', 'ground' ); ищем все вещи на земле
while uo.findcount()
    if uo.getName( 'finditem' ) == '' then
        uo.click( 'finditem' )
        checklag()
    endif
    if uo.getName( 'finditem' ) == 'искомый предмет' then
        uo.moveitem( 'finditem' ) ; забрать найденное, ну или ещё чо-нить
        wait( 500 )
    endif
    uo.ignore( 'finditem' )
    uo.findtype( '-1', '-1', 'ground' )
wend
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
YogurtYo
Posts: 35
Joined: 2008-10-18 09:56:25

Post by YogurtYo »

Destruction wrote:Реализовать можно всё, вопрос в целесообразности.

Как работают имена вещей в УО? - Вы клацаете на предмет и видите его имя..

Т.е. чтобы найти вещь по имени - нужно по всем подозреваемым вещам клацнуть, после чего узнать имя и сверить..

Соответственно, черновой вариант подобного скрипта выглядит так:

Code: Select all

uo.findtype( '-1', '-1', 'ground' ); ищем все вещи на земле
while uo.findcount()
    if uo.getName( 'finditem' ) == '' then
        uo.click( 'finditem' )
        checklag()
    endif
    if uo.getName( 'finditem' ) == 'искомый предмет' then
        uo.moveitem( 'finditem' ) ; забрать найденное, ну или ещё чо-нить
        wait( 500 )
    endif
    uo.ignore( 'finditem' )
    uo.findtype( '-1', '-1', 'ground' )
wend

Просто постоял на скрипте с одним нпсом с которого падают ванды - соответственно у меня их теперь два мешка. Распознал их вот этой переделкой чеьго-то скрипта

Code: Select all

sub Item()
VAR Sunduk="0x404CA392"   
dim wand[4]
   var i
   wand[1]=0x0DF4
   wand[2]=0x0DF2
   wand[3]=0x0DF5
   wand[4]=0x0DF3
   for i = 1 to 4
   
      
      While UO.Count(wand[i])
         UO.FindType(wand[i],-1,'backpack')
         wait(300)
         If UO.FindCount() Then
            Repeat
               UO.DeleteJournal()
               UO.WaitTargetObject('finditem')
               UO.Useskill('Item Identification')
               wait(5000)
            Until UO.InJournal('You estimate')
            UO.MoveItem('finditem',1,Sunduk)
         
      Endif
      
   Wend
   next
end sub

Насчет целесообразности:
Теперь хочу их рассортировать на "нужные", "лажу" и "трэш"...
Нужные в сундук, трэш в трэш...а лажой буду магери качать :)


Спасибо за скрипт
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Ну, так вы банально неправильно подходите к вопросу - вам не нужно искать вещи по имени -)

Вам нужно найти все палки и в зависимости от названия сделать что-либо ;-)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
YogurtYo
Posts: 35
Joined: 2008-10-18 09:56:25

Post by YogurtYo »

Destruction wrote:Ну, так вы банально неправильно подходите к вопросу - вам не нужно искать вещи по имени -)

Познакомился с инжой совсем недавно - то есть составить что-нибудь работающее из кусков чужого кода - ок. Переделать, иногда улучшить чужой скрипт, сделать замут из двух скриптов -ок. Но моск еще не настроился на автономную работу и создание алгоритмов до того как кодить. Просто если начинаю писать отсебятину с самого начала - потом все хочеться изменить и в итоге хрень получаеться.

Вам нужно найти все палки и в зависимости от названия сделать что-либо ;-)

А как это выглядит на практике? :roll:
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

принципиально - ничем, разница будет только тут

Code: Select all

uo.findtype( '-1', '-1', 'ground' )


соответственно лутше указать тип палки в место -1, и контейнер в место "земли", где палки лежат. Как нашли, кидаем куда нужно.
Post Reply