Camping для соседнего раздела

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Camping для соседнего раздела

Post by Edred »

Code: Select all

#===================================================================#
# CAMPING                                                           #
#===================================================================#
#   v.1.04b (с) Edred                                               #
#===================================================================#
; Берем в пак 200 хвороста и реги, реколлимся по руне туда где можно 
; жечь костры, врубаем медитацию, отделяем по 1 шт. хвороста, кладем их 
; вокруг чара с трех сторон, дважды щелкаем по этим кучкам хвороста 
; для их разжигания (с повторами в случае физлов). Отходим назад 
; (направление на правый нижний угол - клавиша "3" на нумпаде). 
; Повторям последнюю операцию пока чар не придет в точку FinalX. 
; Реколлимся на базу, добираем из ящика хворост и реги. И по кругу.
;
; Разметьте руну где-нибудь в непосещаемом городе, прогуляйтесь шагов
; на 30-50 по диагонали по направлению цифры 3 на нумпаде, занесите
; координату X этой точки в FinalX (для надежности и защиты от лагов
; будет лучше если в этой точке чар упрется в стенку). На базе рядом
; с реколлкой поставьте сундук и в него положите много хвороста (можно
; одной "неподьъемной" кучкой и побольше регов для реколла.
; Занесите руну в этот город в ту же рунбуку, где и руна на базу.
;
sub camping()
	DIM Regs[3]
	Regs[0] = '0x0F7A'			; Black Pearl
	Regs[1] = '0x0F7B'			; Bood Moss
	Regs[2] = '0x0F86'			; Mandrake Root
	VAR Hvorost = '0x0DE1'
	VAR flag, myx, myy, myz, fin, i
	VAR FinalX = 1350
	VAR Sunduk = '0x40591B82'
	VAR RuneToBase = '20'
	VAR RuneToFire = '30'
	;
	; Стартуем стоя в начале пути.
;   	UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
	UO.Exec( 'set finddistance 3' )
	While UO.SkillVal( 'Camping' ) < 1000
		fin = 0
		UO.UseSkill( 'Meditation' )
		UO.FindType ( Hvorost )
		While ( UO.FindCount() > 0 ) AND ( fin == 0 )
			myx = UO.GetX()
			myy = UO.GetY()
			myz = UO.GetZ()
			UO.MoveItem('finditem', '1', 'ground', str(myx-1), str(myy), str(myz))
			wait(1000)
			CheckLag()
			UO.FindType ( Hvorost )
			UO.MoveItem('finditem', '1', 'ground', str(myx), str(myy+1), str(myz))
			wait(1000)
			CheckLag()
			UO.FindType ( Hvorost )
			UO.MoveItem('finditem', '1', 'ground', str(myx), str(myy-1), str(myz))
			wait(1000)
			CheckLag()
			UO.Findtype( Hvorost, -1, 1 )
			While UO.FindCount() > 0 AND NOT UO.InJournal( "You can't ignite several" )
				repeat
					flag = 1
					DeleteJournal( "You fail to ignite" )
					DeleteJournal( "You can't ignite several" )
					DeleteJournal( "You must wait" )
					UO.UseFromGround( Hvorost )
					wait(1000)
					CheckLag()
					If UO.InJournal( "You must wait" ) OR UO.InJournal( "You fail to ignite" ) Then
						flag = 0
						wait(1000)
					Endif
					If UO.InJournal( "You can't ignite several" ) Then
						UO.FindType( Hvorost, -1, 1 )
						While UO.FindCount() > 0
							If UO.GetQuantity( 'finditem' ) > 1 Then
								UO.Grab( str( UO.GetQuantity( 'finditem' ) - 1 ), 'finditem' )
								wait(1000)
								CheckLag()
							Endif
							UO.Ignore( 'finditem' )
							UO.FindType( Hvorost, -1, 1 )
						Wend
						UO.IgnoreReset()
					Endif
				until flag
				UO.Findtype( Hvorost, -1, 1 )
			Wend
			While ( UO.GetX() < myx + 1 ) AND ( fin == 0 )
				UO.Press( 34 )
				wait(300)
				CheckLag()
				If UO.GetX() == FinalX Then
					fin = 1
				Endif
			Wend
			UO.FindType ( Hvorost )
		Wend
		; достигли конца маршрута или кончился хворост
		Recalling( 'CommonRunbook', RuneToBase )
		UO.UseObject( Sunduk )
		wait(1000)
		CheckLag()
		for i = 0 To 2
			If UO.Count( Regs[i] ) < 6 Then
				; этого рега меньше 6
				UO.FindType( Regs[i], '-1', Sunduk )
				UO.Grab( str( 6 - UO.Count( Regs[i] ) ), 'finditem' )
				Wait( 1000 )
				CheckLag()
			Endif
		next
		If UO.Count( Hvorost ) < 200 Then
			; хвороста меньше 200
			UO.FindType( Hvorost, '-1', Sunduk )
			UO.Grab( str( 200 - UO.Count( Hvorost ) ), 'finditem' )
			Wait( 1000 )
			CheckLag()
		Endif
;		EatChar( Sunduk, 2, 1, 60 )
		Recalling( 'CommonRunbook', RuneToFire )
	Wend
endsub

#####################################################################
Sub CheckLag()
	DeleteJournal( 'backpack' )
	UO.Click( 'backpack' )
	repeat
		wait(100)
	until UO.InJournal( 'backpack' )
	return
end sub

#####################################################################
Sub DeleteJournal( string1 )
	VAR nom = UO.InJournal( string1 )
	If nom > 0 Then
		UO.SetJournalLine( Nom - 1, 'string replaced' )
		DeleteJournal( string1 )
	Endif
endsub

#####################################################################
Sub Recalling( Runbk, NRune ) 
	; Runbk - сериал или ссылка на объект рунбуки 
	; NRune - десятичный номер (текстом) руны для реколла 
	VAR myx = UO.GetX()
	VAR myy = UO.GetY()
	VAR OldMana = UO.Mana
	VAR i = 0
	DeleteJournal( 'fizzles' )
	UO.Exec("recall " + Runbk + " " + NRune) 
	repeat
		CheckLag()
		wait(1000)
		i = i + 1
	until ( i > 6 ) OR ( UO.Mana < OldMana - 8 ) OR UO.InJournal( 'fizzles' )
	wait(500)
	If myx == UO.GetX() AND myy == UO.GetY() Then
		UO.WarMode( 'flip' ) 
		wait(100) 
		UO.WarMode( 'flip' )
		Recalling( Runbk, NRune ) 
	Endif
endsub 
volhram
Posts: 95
Joined: 2004-10-19 16:25:45

Post by volhram »

Яб совместил кукинг и кампинг....на оскоме например только на костре пожаришь. А так выложил одну веточку, жаришь на ней пока не погаснет....потом ещё одну на тоже место...а уж потом, когда кукинг прокачаешь то нужно пользоваться патчем, смещающем огонь вверх....чтоб можно было на одно место ветки ложить
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

volhram wrote:Яб совместил кукинг и кампинг....на оскоме например только на костре пожаришь. А так выложил одну веточку, жаришь на ней пока не погаснет....потом ещё одну на тоже место...а уж потом, когда кукинг прокачаешь то нужно пользоваться патчем, смещающем огонь вверх....чтоб можно было на одно место ветки ложить
Тебе никто не мешает на скрипте для кукинга качать и то и другое, а потом переключиться на чисто кампинг. (кукинг смотри рядом)
Post Reply