Page 1 of 1
лут по цвету
Posted: 2010-02-04 22:08:45
by Gromiz
есть скрипт на лут вещей из сумки/трупа:
Code: Select all
Loot[1]=0x0F13 ;
Loot[2]=0x0F10 ;
Loot[3]=0x0F15 ;
вещь с типом:
0x0F10имеет несколько разновидностей, которые отличаются цветом.
как можно слутать вещь с определенным цветом?Colour: 0x0000 и Colour: 0x0487 соответственно
как это отобразить в списке? вариант не подходит: Loot[2]='0x0F10 0x0487' ;
Re: лут по цвету
Posted: 2010-02-05 01:36:19
by Scripts Writer
1) Массив типов с соответствующим им массивам цветов
Code: Select all
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: Select all
DIM type[2]
type[0]='0x0F10'
type[1]='0x0F10'
Re: лут по цвету
Posted: 2010-02-05 08:22:00
by Gromiz
а "качество" работы не ухудшится?
ведь, ради одной вещи делать 2 массива?
спс, переживем

Re: лут по цвету
Posted: 2010-02-05 08:57:31
by Mirage
Вот вариант почемуто никем практически не используемый.
Code: Select all
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
Re: лут по цвету
Posted: 2010-02-05 09:16:34
by Destruction
Не используется ибо длинный вариант получается..
Мне не везде нужно указывать всякие контейнеры и цвет..
Как вариант, который тоже почему-то нигде не используется:
Code: Select all
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
Re: лут по цвету
Posted: 2010-02-05 10:38:25
by Gromiz
пробовал различные варианты прописи
так же не подходит
Re: лут по цвету
Posted: 2010-02-05 10:52:09
by Destruction
Gromiz wrote:пробовал различные варианты прописи
так же не подходит
Внимательнее мой скрипт смотрите.
Все очень даже подходит.
Re: лут по цвету
Posted: 2010-02-05 11:41:46
by Gromiz
ладно, спасибо
все равно не вышло.
буду руками выбрасывать. по старинке
Destruction
в вашем скрипте я половину строчек вообще не понял
Re: лут по цвету
Posted: 2010-02-05 12:41:06
by Mirage
Скрипты писать не девченок драть
хотя чтобы ВСЕ строчки понять в его варианте достаточно заглянуть в список help к командам и все станет кристально ясно.
Я вот не понял зачем писать DIM loot[val(str(loot_len))] если работоспособно DIM loot[loot_len] ? Ему же как раз выше присвоено цифровое значение. У тебя получается тафталогия:
Функция Str () преобразовывает численное значение в символьное представление.
Функция Val () преобразовывает символьную строку в численное значение.
2 = val(str(2))

как бэ. Разве нет?
Re: лут по цвету
Posted: 2010-02-05 13:03:23
by Destruction
Mirage wrote:Скрипты писать не девченок драть
хотя чтобы ВСЕ строчки понять в его варианте достаточно заглянуть в список help к командам и все станет кристально ясно.
Я вот не понял зачем писать DIM loot[val(str(loot_len))] если работоспособно DIM loot[loot_len] ? Ему же как раз выше присвоено цифровое значение. У тебя получается тафталогия:
Функция Str () преобразовывает численное значение в символьное представление.
Функция Val () преобразовывает символьную строку в численное значение.
2 = val(str(2))

как бэ. Разве нет?
Не знаю как сейчас, но раньше точно не работало без такого вот шаманства.
Re: лут по цвету
Posted: 2010-02-05 13:14:14
by Mirage
Замечал что порой в инжекте работают даже такие не жизнеспособные вещи

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