Page 1 of 1

Для Новы, харвестер полуавтомат.

Posted: 2006-10-29 17:25:29
by Savage
Суть скрипта вот в чем, появляется таргет им тыркаем в дерево, в пол шахты, в воду. Начинается процесс добычи ресурсов. Когда ресурс иссякнет появится новый таргет...

В переменной Instrument хранится тип инструмента, кирка, хатчет, удочка...

Сообщения прописаны не все, но по таймеру все равно выходит из цикла ожидания.

При достижении максимального веса скрипт останавливается. Для удобства юзания можно забиндить запуск скрипта на кнопку.

Code: Select all

###############################################################
#=---===----===---===---= Harvester =---=-=-=-=-=--=-=-=-=-=-=#
#           Scripted by Savage (c) 2006 ICQ:33336141          #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
###############################################################
sub Harvest()
	VAR Exit
	VAR LastTimer

	VAR MaxWeight=450 ;max ves
	VAR Instrument='0x0F43' ;Hatchet
;	VAR Instrument='0x0E86' ;PickAxe

	While UO.Weight<MaxWeight

		UO.DeleteJournal()
		UO.Usetype(Instrument)
		wait(100)

		While UO.Targeting()
			wait(300)
		Wend

		If NOT UO.Hidden() Then
			UO.UseSkill('Hiding')
		Endif

		LastTimer=UO.Timer()
		Repeat
			wait(100)
		Until UO.InJournal("cliloc# 0xA867|cliloc# 0x5DE0|cliloc# 0xAD03|cliloc# 0xAD00|cliloc# 0xA309|cliloc# 0xA2DE|cliloc# 0xA30D|You|cliloc# 0xA30F|cliloc# 0xAD83|cliloc# 0xA4EE|cliloc# 0xAD84") OR LastTimer+70<UO.Timer()

		If UO.InJournal("cliloc# 0xA867|cliloc# 0xAD00|cliloc# 0xA309|cliloc# 0xA2DE|cliloc# 0xAD84|cliloc# 0xA30D") Then
			Exit=1
		Else
			Exit=0
		Endif
		
		While Exit<>1
			LastTimer=UO.Timer()
			UO.DeleteJournal()
			UO.WaitTargetTile('lasttile')
			UO.UseType(Instrument)
			Repeat
				wait(100)
			Until UO.InJournal("cliloc# 0xA867|cliloc# 0x5DE0|cliloc# 0xAD03|cliloc# 0xAD00|cliloc# 0xA309|cliloc# 0xA2DE|cliloc# 0xA30D|You|cliloc# 0xA30F|cliloc# 0xAD83|cliloc# 0xA4EE|cliloc# 0xAD84") OR LastTimer+70<UO.Timer()
			If UO.InJournal("cliloc# 0xA867|cliloc# 0xAD00|cliloc# 0xA309|cliloc# 0xA2DE|cliloc# 0xAD84|cliloc# 0xA30D") Then
				Exit=1
			Endif
		Wend
		wait(500)
	Wend
	UO.Print("+++ Max Weight reached!")
end sub