Page 1 of 1

Срипт на Карпентри

Posted: 2004-06-09 21:39:04
by WhiteDemon
Кто может помочь написать такой срипт:
стоят 2 сундука из одного береться по 1 логу, делаются удочки потом когда делается 100 удочек они складываются во второй сундук!

Re: Срипт на Карпентри

Posted: 2004-06-10 16:34:10
by Edred
WhiteDemon wrote:Кто может помочь написать такой срипт:
стоят 2 сундука из одного береться по 1 логу, делаются удочки потом когда делается 100 удочек они складываются во второй сундук!
Срипт тебе вряд ли кто поможет написать, скрипт - другое дело :lol:
Толку-то от складывания ста удочек во второй сундук? После трех-четырех циклов во втором сундуке будет слишком много итемов и сундук придется отправлять в трэш.

Лучше воспользуйся вот этим моим скриптом, он делает все немного по-другому:

Code: Select all

; Carpentry. v.1.12b (c) Edred
;
; Чар берет из сундука 1 пустой мешок, кладет этот мешок в сундук 2,
; берет с пола логи, крафтит из них удочки и складывает эти удочки
; в этот мешок в сундуке 2. Если логи на полу или пустые мешки 
; кончились - выход
;
sub carpentry() 
	VAR Sunduk1 = '0x4017439B' 		; Сериал сундука с пустыми мешками
	VAR Sunduk2 = '0x4000F46C' 		; Сериал пустого сундука
	VAR Meshok = '0x0E76' 			; Тип мешка
	VAR Logi = '0x1BDD' 			; Тип логов
	VAR Rubanok = '0x1031' 			; Тип инструмента карпентера
	VAR Udochka = '0xDBF' 			; Тип удочки
	VAR Kolvo = 460 				; Брать логов (2 лога = 1 удочка)
	VAR MeshSer, j, k
	While TRUE
		UO.FindType( Logi, -1, 1 ) 		; Ищем логи на полу
		UO.Grab( Str( Kolvo ), 'finditem' ) 	; Кладем логи в пак
		wait( 2000 )
		If UO.FindCount() == 0 Then
			UO.Print("Logs not found, script terminated")
			return
		Endif
		UO.FindType( Meshok, -1, Sunduk1 ) 		; Ищем мешок в сундуке 1
		MeshSer = UO.GetSerial( 'finditem' )
		UO.Grab( '1', 'finditem' ) 			; Кладем его в бэкпак
		wait( 2000 )
		UO.MoveItem( MeshSer, 0, Sunduk2 )
		wait( 2000 )
		While UO.Count( Logi ) > 0
			; Пока в паке есть логи
			UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logov' )
			UO.DeleteJournal()
			UO.CancelMenu()
			UO.WaitMenu ('Carpentry', 'Weapons & Tools', 'Weapons & Tools', 'fishing' )
			UO.UseType( Rubanok )
			k = 0
			while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
				k = k + 1
				wait(500) 
			wend
			; Wait( 14000 )
			; Скрафтили удочку
			; Сразу переложим ее в мешок
			if UO.Count( Udochka ) > 0 then
				UO.FindType( Udochka, -1, 'backpack' )
				UO.MoveItem( 'finditem', 0, MeshSer )
				wait( 2000 )
				UO.Print( 'Udochka perelozhena' )
			end if
		Wend 
	Wend
end sub