Я тут как-то качал кемпинг, взял тоже скрипт из раздела скриптов, и заменил систему рекола на систему из скрипта ВЕТЕРАНА на ламбер, вроде все ок работает. Тока перед использованием надо ввести ,addobject Runebook и прицел на рунбук и все, реколимся в место прокачки и запускаем скрипт.
Тока я конечно не особо шарю в скриптах, и поэтому в нем такая фигня, если хворост заканчивается скрипт не отключается, хз почему и еще в самом скрипте вроде лишнее есть из старой системы рекола, но сам по себе скрипт работает реколится берет разлаживает и т.д..
Code:
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 = 6125
VAR Sunduk = '0x4020A09A'
var RuneToForest=2 ## - Руна в место прокачки##
var RuneToHome=1 ## - Руна домой ##
;
; Стартуем стоя в начале пути.
; 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
; достигли конца маршрута или кончился хворост
uo.Print('npbIraem house')
RuneBookRecall(RuneToHome)
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 )
uo.Print('npbIraem B mecTo npokacku')
RuneBookRecall(RuneToForest)
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 RuneBookRecall(n)
var OldX=uo.GetX()
var OldY=uo.GetY()
var Time
repeat
uo.Exec('warmode 0')
uo.UseObject('Runebook')
CheckLag()
uo.Lclick(135, n*15+55)
CheckLag()
Time=uo.Timer()
repeat
wait(500)
until OldX<>uo.GetX() or OldY<>uo.GetY() or uo.Dead() or uo.InJournal('needs') or uo.InJournal('fizzles') or Time+200<uo.Timer()
uo.DeleteJournal()
until OldX<>uo.GetX() or OldY<>uo.GetY() or uo.Dead() or uo.InJournal('needs')
end sub