1. Усовершенствованой разгрузке. Т.е. прилетая домой, вы расфасовываете карты и рыбки(рар) по мешочкам, которые лежат в сейфе. Для меня это очень удобно.
2. Добавил 3 рунбук, т.к. практика показала, что с 3 рунбуками ловится больше карт, чем с двумя. Почему? Не знаю

3. Усовершенствован речардж.
Code: Select all
var book1='0x4014D774' # Все руны на рыбалку
var book2='0x40358F41' # Все руны на рыбалку
var book4='0x401D114E' # Все руны на рыбалку
var book3='0x401140CF' # рунбук, в котором первая руна домой.
var net='0x0DCA' # тип сети
var fishrar='0x0DD6' # тип рар/приз рыбки
var seifformap1='0x40438514' # 1 сэйф (пустые мешки и карты)
var seifformap2='0x404384C9' # 2-ой (реколы и полные мешки)
var recall='0x1F4C' # тип рекола
var meshok='0x0E76' # тип пустых мешков
var mapa='0x14EB' # тип мапы нерасшифрованной
var ydochka='0x0DBF' # тип удочки
var time
var tEat='0x097B' # тип еды(фишстэйки)
var MneKartMalo=1 # 1 - Собираем сети и рыбки 0 - не собираем
var meshokfish ='0x40338C7D' # мешок для рар/приз рыбы (его нужно покласть во второй сундук)
var meshoknet ='0x403341A1' #мешок для сетей (покласть во 2 сундук)
sub main()
var i
##########
wait(1000)
UO.Exec('terminate Reconnector')
wait(1000)
UO.Exec('exec Reconnector')
wait(1000)
while not uo.dead()
for i=1 to 9
repeat
port(i,book1)
fish(i)
next
port(1,book3)
unload()
CheckLag()
unloadfish()
CheckLag()
unloadnet()
CheckLag()
wait(500)
Recharge()
CheckLag()
wait(500)
ToEat()
CheckLag()
wait(500)
kolmap()
for i=1 to 9
repeat
port(i,book2)
fish(i)
next
port(1,book3)
unload()
CheckLag()
unloadfish()
CheckLag()
unloadnet()
CheckLag()
wait(500)
Recharge()
CheckLag()
wait(500)
kolmap()
for i=1 to 9
repeat
port(i,book4)
fish(i)
next
port(1,book3)
unload()
CheckLag()
unloadfish()
CheckLag()
unloadnet()
CheckLag()
wait(500)
Recharge()
CheckLag()
wait(500)
kolmap()
CheckLag()
wait(500)
ToEat()
wend
endsub
Sub port(n,book)
var oldX=UO.GetX()
var oldY=UO.GetY()
NoTarget()
UO.UseObject(book)
FastLootCheck()
CheckLag()
UO.LClick(135, n*15+55)
time=UO.Timer()
Repeat
wait(500)
Until oldX<>UO.GetX() OR oldY<>UO.GetY() OR time+200<UO.Timer()
end sub
Sub FastLootCheck()
UO.DeleteJournal()
wait(600)
if UO.InJournal("FastLoot") OR UO.InJournal("World save") then
CheckLag()
endif
end sub
Sub NoTarget()
if UO.Waiting() then
UO.CancelTarget()
endif
end sub
Sub fish(rune)
hiding()
var i,j, isfishing
var mx = UO.GetX('self')
var my = UO.GetY('self')
var mz = UO.GetZ('self')
UO.DeleteJournal()
repeat
for i = mx-6 to mx+6
for j = my-6 to my+6
isfishing = 1
while not UO.InJournal("no fish here") and not UO.InJournal("fishing in water") and isfishing
UO.DeleteJournal()
UO.Waittargettile("1341", str(i), str(j), str(251))
UO.Usetype(ydochka)
while not UO.InJournal('You pull out') and not UO.InJournal('fail') and not UO.InJournal('no fish') and not UO.InJournal("fishing in water")
wait(100)
wend
proverka()
if not UO.Hidden('self') then
hiding()
end if
proverka()
UO.findtype(mapa,'-1','ground')
UO.moveitem('finditem','-1','backpack')
if MneKartMalo==1 then
UO.findtype(net,'-1','ground')
UO.moveitem('finditem','-1','backpack')
UO.findtype(fishrar,'-1','ground')
UO.moveitem('finditem','-1','backpack')
endif
if UO.InJournal("out a fish") then
isfishing = 0
end if
Info_Map()
uo.print("runa nomer - "+Str(rune))
wend
UO.DeleteJournal()
next
next
until 1
end sub
Sub CheckLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until UO.InJournal('backpack')
endsub
Sub hiding()
UO.Warmode("0")
while not UO.Hidden()
UO.DeleteJournal()
UO.UseSkill("Hiding")
while NOT UO.InJournal("You")
wait(100)
wend
wend
end sub
Sub unload()
hiding()
UO.FindType(mapa, '-1', 'backpack')
while UO.GetQuantity('finditem') > 0
UO.MoveItem('finditem','-1',seifformap1)
CheckLag()
Wait(700)
UO.FindType(mapa,'-1','backpack')
wend
endsub
Sub unloadfish()
uo.useobject('seifformap2')
hiding()
UO.FindType(fishrar, '-1', 'backpack')
while UO.GetQuantity('finditem') > 0
UO.MoveItem('finditem','-1',meshokfish)
CheckLag()
Wait(700)
UO.FindType(fishrar,'-1','backpack')
wend
endsub
Sub unloadnet()
uo.useobject('seifformap2')
hiding()
UO.FindType(net, '-1', 'backpack')
while UO.GetQuantity('finditem') > 0
UO.MoveItem('finditem','-1',meshoknet)
CheckLag()
Wait(700)
UO.FindType(net,'-1','backpack')
wend
endsub
Sub proverka()
if (uo.injournal("attacking") and uo.injournal("you")) then
uo.say("guards")
endif
if uo.life<uo.str then
uo.say("guards")
endif
endsub
Sub kolmap()
var k
var meshochek
var maps
uo.useobject(seifformap1)
uo.findtype(mapa,'-1',seifformap1)
wait(1000)
maps=uo.findcount()
CheckLag()
uo.print("vsego kart - "+Str(maps))
if maps>=200 then
uo.findtype(meshok,'-1',seifformap1)
meshochek=uo.getserial('finditem')
uo.moveitem('finditem','1','backpack')
k=0
while k<>200
UO.FindType(mapa,'0x0000',seifformap1)
UO.MoveItem('finditem','1',meshochek)
CheckLag()
wait(1000)
k=k+1
wend
uo.findtype(meshok,'-1','backpack')
CheckLag()
uo.moveitem('finditem','1',seifformap2)
endif
endsub
Sub ToEat()
UO.UseObject(seifformap2)
CheckLag()
wait(500)
UO.FindType(tEat,'0x0000',seifformap2)
CheckLag()
wait(500)
if UO.FindCount() > 0 then
UO.MoveItem('finditem','20','backpack')
end if
repeat
CheckLag()
uo.UseType(tEat)
while not uo.InJournal("can't") and not uo.InJournal('full') and not uo.InJournal('stuffed') and not uo.InJournal('hungry') and not uo.InJournal('satiated') and not UO.Dead()
wait(100)
wend
until uo.InJournal('too full') or UO.Dead()
UO.FindType(tEat, '0x0000','backpack')
if UO.FindCount() > 0 then
UO.MoveItem('finditem','20',seifformap2)
end if
end sub
Sub Info_Map()
uo.print("vsego kart v rukzake - "+Str(uo.count('0x14EB','0x0000')))
end sub
Sub Recharge()
Open(seifformap2)
UO.FindType(Recall,"0x0000",seifformap2)
UO.Grab("11","finditem")
UO.Recall(book1,"1")
wait(4500)
CheckLag()
UO.Recall(book2,"1")
wait(4500)
CheckLag()
UO.Recall(book3,"1")
wait(4500)
CheckLag()
UO.Recall(book4,"1")
wait(4500)
CheckLag()
UO.SetReceivingContainer(seifformap2)
UO.FindType(Recall,"0x0000",'backpack')
UO.Grab("all","finditem")
UO.UnSetReceivingContainer()
end sub
Sub Open(Container)
UO.DeleteJournal()
UO.UseObject(Container)
Repeat
wait(500)
Until UO.InJournal("Contains")
end sub
Sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
UO.Exec('terminate main')
wait(1000)
UO.Exec('exec main')
wait(1000)
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub
Sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub
P.S.: Надеюсь автор не в обиде, что я поковырял его скрипт
