Yoko
http://forum.yoko.com.ua/

лут по цвету
http://forum.yoko.com.ua/viewtopic.php?f=3&t=15550
Page 1 of 1

Author:  Gromiz [ 2010-02-04 22:08:45 ]
Post subject:  лут по цвету

есть скрипт на лут вещей из сумки/трупа:
Code:
Loot[1]=0x0F13 ; 
Loot[2]=0x0F10 ;
Loot[3]=0x0F15 ;

вещь с типом: 0x0F10
имеет несколько разновидностей, которые отличаются цветом.

как можно слутать вещь с определенным цветом?
Quote:
Colour: 0x0000 и Colour: 0x0487 соответственно

как это отобразить в списке? вариант не подходит: Loot[2]='0x0F10 0x0487' ;

Author:  Scripts Writer [ 2010-02-05 01:36:19 ]
Post subject:  Re: лут по цвету

1) Массив типов с соответствующим им массивам цветов
Code:
DIM type[2]
DIM color[2]

type[0]=''
type[1]=''

color[0]=''
color[1]=''

var i

for i = 0 to 1
  uo.FindType(type[i],color[i]...)


2) Дублирование типов в массиве (на мой взгляд наиболее предпочтительный вариант).
Аналогично пункту 1, только без второго массива (если больше не существует других цветов, иначе придется отсеивать как в пункте 1 по нужным цветам). Если в поле зрения будет несколько вещей с разными цветами, но одинаковыми типами, то через поиск по цвету '-1' слутаешь.

Code:
DIM type[2]

type[0]='0x0F10'
type[1]='0x0F10'


Author:  Gromiz [ 2010-02-05 08:22:00 ]
Post subject:  Re: лут по цвету

а "качество" работы не ухудшится?

ведь, ради одной вещи делать 2 массива?

спс, переживем :)

Author:  Mirage [ 2010-02-05 08:57:31 ]
Post subject:  Re: лут по цвету

Вот вариант почемуто никем практически не используемый.
Code:
sub main()
   Loot('0xe89', '0', SundLoot, SundD)
   Loot('0x14ef', '0', SundLoot, SundD) ; свитки простые
   Loot('0x14ef', '0x0487', SundLoot, SundR) ; свитки цветные
   Loot(-1, '0x0482', SundLoot, SundRAR) ; серебрянные вещи
endsub
Sub Loot(Type, Color, SourceContainer, TargetContainer) ; тип, цвет, откуда, куда
   uo.ignorereset()
   Repeat
      UO.FindType(Type, Color, SourceContainer)
      If uo.FindCount()>0 Then
         uo.MoveItem('finditem',0,TargetContainer)
         wait(100)
      end if
   Until uo.FindCount()<1 or uo.Dead()
end sub

Author:  Destruction [ 2010-02-05 09:16:34 ]
Post subject:  Re: лут по цвету

Не используется ибо длинный вариант получается..

Мне не везде нужно указывать всякие контейнеры и цвет..

Как вариант, который тоже почему-то нигде не используется:
Code:
sub loot()
var i, loot_len = 2
DIM loot[val(str(loot_len))]
loot[0] = "0x14ef" ; свитки простые
loot[1] = "0x14ef 0x0487" ; свитки цветные
for i = 0 to loot_len -1
    uo.exec("findtype " + loot[i])
    while uo.findcount()
        uo.moveitem('finditem')
        wait(100)
        uo.exec("findtype " + loot[i])
    wend
next
endsub

Author:  Gromiz [ 2010-02-05 10:38:25 ]
Post subject:  Re: лут по цвету

пробовал различные варианты прописи

Code:
 "0x14EF 0x0487"

так же не подходит

Author:  Destruction [ 2010-02-05 10:52:09 ]
Post subject:  Re: лут по цвету

Gromiz wrote:
пробовал различные варианты прописи

Code:
 "0x14EF 0x0487"

так же не подходит

Внимательнее мой скрипт смотрите.

Все очень даже подходит.

Author:  Gromiz [ 2010-02-05 11:41:46 ]
Post subject:  Re: лут по цвету

ладно, спасибо
все равно не вышло.

буду руками выбрасывать. по старинке

Destruction

в вашем скрипте я половину строчек вообще не понял

Author:  Mirage [ 2010-02-05 12:41:06 ]
Post subject:  Re: лут по цвету

Скрипты писать не девченок драть :lol:
хотя чтобы ВСЕ строчки понять в его варианте достаточно заглянуть в список help к командам и все станет кристально ясно.


Я вот не понял зачем писать DIM loot[val(str(loot_len))] если работоспособно DIM loot[loot_len] ? Ему же как раз выше присвоено цифровое значение. У тебя получается тафталогия:

Функция Str () преобразовывает численное значение в символьное представление.
Функция Val () преобразовывает символьную строку в численное значение.
2 = val(str(2)) :roll: как бэ. Разве нет?

Author:  Destruction [ 2010-02-05 13:03:23 ]
Post subject:  Re: лут по цвету

Mirage wrote:
Скрипты писать не девченок драть :lol:
хотя чтобы ВСЕ строчки понять в его варианте достаточно заглянуть в список help к командам и все станет кристально ясно.


Я вот не понял зачем писать DIM loot[val(str(loot_len))] если работоспособно DIM loot[loot_len] ? Ему же как раз выше присвоено цифровое значение. У тебя получается тафталогия:

Функция Str () преобразовывает численное значение в символьное представление.
Функция Val () преобразовывает символьную строку в численное значение.
2 = val(str(2)) :roll: как бэ. Разве нет?

Не знаю как сейчас, но раньше точно не работало без такого вот шаманства.

Author:  Mirage [ 2010-02-05 13:14:14 ]
Post subject:  Re: лут по цвету

Замечал что порой в инжекте работают даже такие не жизнеспособные вещи :)

Code:
for type = 0x1f05 to 0x1f0a
    uo.exec("findtype " + type)
        uo.moveitem('finditem')
next

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/