Page 1 of 1

Лут сундуков

Posted: 2005-07-28 08:51:53
by Lord

Code: Select all

sub main()
var syndyk,i
uo.set('finddistance','2')
uo.set('distance','2')
DIM Loot[13]
Loot[0] = 0x0EED; # Gold
Loot[1] = 0x0F3F; # Arrow
Loot[2] = 0x1BFB; # Bolt
Loot[3] = 0x0F26; # Diamond
Loot[4] = 0x0F21; # Star Sapphire
Loot[5]  = '0x0F7A'; # pearls, black pearls 
Loot[6]  = '0x0F7B'; # bood moss 
Loot[7]  = '0x0F84'; # garlic 
Loot[8]  = '0x0F85'; # ginseng 
Loot[9]  = '0x0F86'; # mandrake root 
Loot[10]  = '0x0F88'; # night shade 
Loot[11]  = '0x0F8C'; # sulphorous ash 
Loot[12]  = '0x0F8D'; # spiders silk 

while not uo.dead()
uo.findtype('0x0E7C', '-1', '1')
if uo.findcount>0 then
uo.cast('Magic unlock')
uo.waitargettype('0x0E7C')
wait(1000)
endif

uo.usetype('0x0E7C')
   wait(1000) 
   For i = 0 To 12
      UO.FindType( Loot[i], '-1', 'lasttype' ) 
      While UO.FindCount() > 0 
         UO.MoveItem( 'finditem' ) 
         wait( 1000 ) 
         UO.FindType( Loot[i], '-1', 'lasttype') 
      Wend 
   Next 
   UO.Print( 'The loot was finished' ) 
endsub
Уважаемые скриптеры. Я тут написал скрипт, чтобы чар забирал из сундука вещи. Сундук этот просто стоит в мире, чар кастует Ex Por и открывает, а дальше лутит всё что там лежит нужного. Но скрипт почему-то, по непонятной мне причине не работает. Посмотрите пожалуйста, и исправьте там где я напортачил. Заранее спасибо.[/code]

Posted: 2005-07-28 09:18:03
by omi4

Code: Select all

While UO.FindCount() > 0
условие будет выполнятся пока не станет истиным

правим

Code: Select all

While UO.FindCount()
+

Code: Select all

uo.cast('Magic unlock') 
uo.waitargettype('0x0E7C')

на

Code: Select all

uo.waitargettype('0x0E7C') 
uo.cast('Magic unlock') 
'lasttype' это что?

Posted: 2005-07-28 17:43:11
by Lord
lasttype - это тип сундука.
И если не трудно можешь не отдельными кусками править, а сразу в скрипте?

Posted: 2005-07-28 17:52:32
by omi4

Code: Select all

sub main() 
var syndyk,i 
uo.set('finddistance','2') 
uo.set('distance','2') 
DIM Loot[13] 
Loot[0] = 0x0EED; # Gold 
Loot[1] = 0x0F3F; # Arrow 
Loot[2] = 0x1BFB; # Bolt 
Loot[3] = 0x0F26; # Diamond 
Loot[4] = 0x0F21; # Star Sapphire 
Loot[5]  = '0x0F7A'; # pearls, black pearls 
Loot[6]  = '0x0F7B'; # bood moss 
Loot[7]  = '0x0F84'; # garlic 
Loot[8]  = '0x0F85'; # ginseng 
Loot[9]  = '0x0F86'; # mandrake root 
Loot[10]  = '0x0F88'; # night shade 
Loot[11]  = '0x0F8C'; # sulphorous ash 
Loot[12]  = '0x0F8D'; # spiders silk 

while not uo.dead() 
	uo.findtype('0x0E7C', '-1', '1') 
	if uo.findcount() then 
		uo.waittargetObject('finditem') 
		uo.cast('Magic unlock') 
		wait(1000) 
	endif 

	uo.useObject('finditem') 
	wait(1000) 
	For i = 0 To 12 
		UO.FindType( Loot[i], '-1', 'finditem' ) 
		UO.MoveItem('finditem',0) 
		wait( 1000 ) 
	Next 
	UO.Print( 'The loot was finished' )
wend
endsub

Posted: 2005-07-28 17:54:29
by omi4
Lord wrote:lasttype - это тип сундука.
так не бывает, нет такого указателя

Posted: 2005-07-28 19:03:37
by flake
Omi4, ,смотри что получается:

1. Ищим на земле сундук, находим. Это нашь finditem.
2. Кастуем на finditem, и т.п.
3. Ищим внутри сундука:

Code: Select all

UO.FindType( Loot[i], '-1', 'finditem' )

4. Перетаскиваем найденную вещь, а потом опять ищим так же как раньше, НО! finditem это уже не сундук, а та самая вещь которую мы нашли в нем.
Так что надо сделать через lastcontainer, или снять айди сундука.

Posted: 2005-07-28 22:21:55
by omi4
flake wrote:Omi4, ,смотри что получается:

1. Ищим на земле сундук, находим. Это нашь finditem.
2. Кастуем на finditem, и т.п.
3. Ищим внутри сундука:

Code: Select all

UO.FindType( Loot[i], '-1', 'finditem' )

4. Перетаскиваем найденную вещь, а потом опять ищим так же как раньше, НО! finditem это уже не сундук, а та самая вещь которую мы нашли в нем.
Так что надо сделать через lastcontainer, или снять айди сундука.
так и произойдет ))))

вот еще ошибка

Code: Select all

while not uo.dead()
искать сундук может только дохлым

А в общем....
если Лорд прочтет хелп не поверхностно, а как положено
то далеко пойдет

Все ошибки от незнания команд

Posted: 2005-07-29 13:58:37
by Lord
А в общем....
если Лорд прочтет хелп не поверхностно, а как положено
то далеко пойдет
Спасибо. Я уж постараюсь. Просто раньше времени не было, а сегодня сдал последний экзамен (поступил кстати), так что врмени целый месяц.