В своё время добрый дядя Emil и дядя ВЕТЕРАН, c00ler поделился с народом вполне неплохими скриптиками на фишинг
Чуть подправить и будет рыбачить в 8 точках
Также 1 строчкой подключается реконнектор.
1) Fishing (Only Maps) by Emil ( c ходилочкой )
Code: ######################Что нужно поменять, чтобы работало?####################### ### 0. Руннбука: 1-3 рунки в места ловли, 1ая рунка к месту, где ходим. ### 4ая-дмой ### ### 1. Поменять ниже преведенные переменные ### ### 2. Скачать последний injection.dll(не обязательно, но не помешает) ### ################################################################################ VAR Cont1 = '0x400BE1C7' ;сейф, где будут карты(id) VAR Runebook = '0x4005D774';руннбука(id) VAR Rune = '0x40223625' ;рунка к безопасмному месту(id) VAR pole = '0x0DC0 ' ;удочка(type) VAR foodT = '0x097B' ;еда(type) VAR walkwait=500 var inWalk=1, inFishing=0 var time, k=0, oldX, oldY, fizl=0, control=8, cel='', glX, glY, whGo=1, whRecall=1.
sub main() DIM xM[4] xM[1] = 1234 xM[2] = 1234 xM[3] = 1234 DIM yM[4] yM[1] = 1234 yM[2] = 1234 yM[3] = 1234 var x, y, z=UO.GetZ("self") DIM text[8] text[1] = 'Tattered treasure' text[2] = 'You pull out a' text[3] = 'You fish a while' text[4] = 'That is too far away' text[5] = 'Try fishing in water' text[6] = 'There are no fish here' text[7] = 'location' UO.Set('finddistance','20') if UO.GetX()<>1053 OR UO.GetY()<>3501 then RunebookRecall(whRecall) endif While True if whGo<3 then whGo=whGo+1 else whGo=1 endif for x=-6 to 6 for y=-6 to 6 inFishing=0 Repeat GoHome(0) UO.DeleteJournal() Careful() ToHide() UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),z) UO.UseType(pole) time=UO.Timer() Repeat wait(500) Until UO.InJournal(text[2]) OR UO.InJournal(text[3]) OR UO.InJournal(text[4]) OR UO.InJournal(text[5]) OR UO.InJournal(text[6]) OR UO.InJournal(text[7]) OR UO.Timer()>time+250 if UO.InJournal(Text[2]) then fizl=0 endif if UO.InJournal(text[3]) then fizl=fizl+1 endif if fizl==control then wait(8000) fizl=0 FastLootCheck() endif if NOT (UO.InJournal(text[1]) OR UO.InJournal(text[3])) then inFishing=1 else if UO.InJournal(text[1]) then Find() endif endif Food() Until inFishing==1 next next if inWalk==1 then Walk(xM[whGo],yM[whGo],'') else if whRecall<3 then whRecall=whRecall+1 else whRecall=1 inWalk=1 endif RunebookRecall(whRecall) endif Wend end sub
sub ToHide() while NOT UO.Hidden() UO.DeleteJournal() UO.Exec('warmode 0') UO.UseSkill('Stealth') wait(2000) time=UO.Timer() repeat wait(500) until UO.InJournal('You have hidden') OR UO.InJournal('seem to') OR UO.InJournal('preoccupied') OR time+200<UO.Timer() Careful() wend end sub
sub Careful() var count=0 UO.IgnoreReset() UO.Ignore('self') UO.FindType('0x0190',-1,1) count=UO.FindCount() UO.FindType('0x0191',-1,1) count=count+UO.FindCount() if count>0 then RuneRecall() if whRecall<3 then whRecall=whRecall+1 inWalk=0 else whRecall=1 inWalk=1 endif GoHome(1) endif end sub
sub Find() UO.Set('finddistance','2') DIM find[2] find[1] = '0x14EB' ;tattered map UO.Set('finddistance','2') UO.Findtype(find[1],-1,1) if UO.FindCount()>0 then UO.MoveItem('finditem',0,'backpack') endif UO.Set('finddistance','20') end sub
sub GoHome(level) DIM razg[2] razg[1] = '0x14EB' ;tattered map if UO.Count(razg[1])>20 OR UO.Weight>UO.STR*4 OR level==1 then RunebookRecall(4) While UO.Count(razg[1])>0 UO.FindType(razg[1],-1,-1) UO.MoveItem('finditem',0,Cont1) FastLootCheck() Wend RunebookRecall(whRecall) endif end sub
sub CheckLag() UO.DeleteJournal() UO.Click('backpack') Repeat wait(200) Until UO.InJournal('backpack') end sub
sub FastLootCheck() UO.DeleteJournal() wait(500) if UO.InJournal("FastLoot") OR UO.InJournal("World save") then CheckLag() endif end sub
sub Food() if k==100 then UO.DeleteJournal() repeat UO.UseType(foodT) wait(500) until UO.InJournal('simply too full') k=1 else k=k+1 endif end sub
sub RuneRecall()
var oldX=UO.GetX() var oldY=UO.GetY() ; oldX=UO.GetX() ; oldY=UO.GetY() Repeat UO.DeleteJournal() UO.WaitTargetObject(Rune) UO.UseType('0x1F4C') time=UO.Timer() Repeat wait(500) Until oldX<>UO.GetX() OR oldY<>UO.GetY() OR UO.InJournal('The spell fizzles') OR time+200<UO.Timer() Until oldX<>UO.GetX() and oldY<>UO.GetY() end sub
sub RunebookRecall(n) oldX=UO.GetX() oldY=UO.GetY() UO.UseObject(Runebook) ;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 Walk(x,y,Target) VAR Step, dX, dY, Exit=0, dirW=0, result While Exit<>1 if Target<>"" then cel=Target dX=UO.GetX(Target)-UO.GetX() dY=UO.GetY(Target)-UO.GetY() if UO.GetDistance(Target)<2 then Exit=1 endif else dX=x-UO.GetX() dY=y-UO.GetY() glX=dX glY=dY if dX==0 AND dY==0 then Exit=1 endif endif if Exit==0 then if dX>0 AND dY>0 then dirW=9 ;number 2 endif if dX>0 AND dY<0 then dirW=7 ;number 6 endif if dX<0 AND dY>0 then dirW=3 ;number 4 endif if dX<0 AND dY<0 then dirW=5 ;number 8 endif if dX<>0 AND dY==0 then if dX>0 then dirW=8 ;number 3 else dirW=4 ;number 7 endif endif if dX==0 AND dY<>0 then if dY>0 then dirW=2 ;number 1 else dirW=6 ;number 9 endif endif result=Go(dirW) if result==0 then result=Go(dirW-2) if result==0 then result=Go(dirW+2) endif endif endif Wend endsub
sub Go(dir) var xGo, yGo, check=1, dirStart=UO.GetDir() xGo=UO.GetX() yGo=UO.GetY() DIM key[12] key[0] = 34 ;number 3 key[1] = 40 ;number 2 key[2] = 35 ;number 1 key[3] = 37 ;number 4 key[4] = 36 ;number 7 key[5] = 38 ;number 8 key[6] = 33 ;number 9 key[7] = 39 ;number 6 key[8] = 34 ;number 3 key[9] = 40 ;number 2 key[10] = 35 ;number 1 key[11] = 37 ;number 4 DIM dirS[12] dirS[0] = 2 ;number 3 dirS[1] = 3 ;number 2 dirS[2] = 4 ;number 1 dirS[3] = 5 ;number 4 dirS[4] = 6 ;number 7 dirS[5] = 7 ;number 8 dirS[6] = 0 ;number 9 dirS[7] = 1 ;number 6 dirS[8] = 2 ;number 3 dirS[9] = 3 ;number 2 dirS[10] = 4 ;number 1 dirS[11] = 5 ;number 4
While UO.GetDir()<>dirS[dir] UO.Press(key[dir]) wait(walkwait) if UO.GetDir()==dirStart then CheckLag() endif if (cel<>"" AND UO.GetDistance(cel)<2) OR (glX==0 AND glY==0) then return 1 endif Wend
UO.Press(key[dir]) wait(walkwait) if xGo==UO.GetX() AND yGo==UO.GetY() then CheckLag() UO.Press(key[dir]) wait(walkwait) endif if xGo==UO.GetX() AND yGo==UO.GetY() then return 0 else return 1 endif endsub
2) Fishing by Emil
Code: ######################Что нужно поменять, чтобы работало?####################### ### 0. Руннбука: 1-3 рунки в места ловли, 4ая-домой ### ### ### 1. Поменять ниже преведенные переменные ### ### 2. Скачать последний injection.dll(не обязательно, но не помешает) ### ################################################################################ VAR Cont1 = '0x401AA0F9' ;сейф, где будут карты(id) VAR Runebook = '0x400C617E';руннбука(id) VAR Rune = '0x401F27EC' ;рунка к безопасмному месту(id) VAR dagger = '0x0F51' ;даггер(type) VAR pole = '0x0DBF' ;удочка(type) VAR foodT = '0x097B' ;еда, которую будем кушать(type) var i, time, k=0, where=1, fizl=0, control=8
sub main() var x, y, z=UO.GetZ("self") DIM text[7] text[1] = 'You pull out a' text[2] = 'You fish a while' text[3] = 'That is too far away' text[4] = 'Try fishing in water' text[5] = 'There are no fish here' text[6] = 'location' While True for x=-6 to 6 for y=-6 to 6 Repeat UO.DeleteJournal() if UO.Weight>UO.STR*4 then Razgruz(1) endif GoHome(0) Careful() ToHide() UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),z) UO.UseType(pole) time=UO.Timer() Repeat wait(500) Until UO.InJournal(text[1]) OR UO.InJournal(text[2]) OR UO.InJournal(text[3]) OR UO.InJournal(text[4]) OR UO.InJournal(text[5]) OR UO.InJournal(text[6]) OR UO.Timer()>time+250 if UO.InJournal(Text[1]) then Razgruz(2) fizl=0 endif if UO.InJournal(text[2]) then fizl=fizl+1 endif if fizl==control then wait(8000) fizl=0 endif Food() Until UO.InJournal(text[3]) OR UO.InJournal(text[4]) OR UO.InJournal(text[5]) OR UO.InJournal(text[6]) next next Wend end sub
sub ToHide() while NOT UO.Hidden() UO.DeleteJournal() UO.Exec('warmode 0') UO.UseSkill('Stealth') wait(2000) time=UO.Timer() repeat wait(500) until UO.InJournal('You have hidden') OR UO.InJournal('seem to') OR UO.InJournal('preoccupied') OR time+200<UO.Timer() Careful() wend end sub
sub Careful() var count=0 UO.Set('finddistance','20') UO.IgnoreReset() UO.Ignore('self') UO.FindType('0x0190',-1,1) count=UO.FindCount() UO.FindType('0x0191',-1,1) count=count+UO.FindCount() if count>0 then RuneRecall() if where==3 then where=1 else where=where+1 endif Razgruz(1) GoHome(1) endif end sub
sub Razgruz(id) DIM find[7] find[1] = '0x09CC' find[2] = '0x09CD' find[3] = '0x09CE' find[4] = '0x09CF' find[5] = '0x14EB' ;tattered map find[6] = '0x0DD6' ;Truly rare fish and Prize fish if id==1 then for i=1 to 4 While UO.Count(find[i])>0 UO.WaitTargetType(find[i]) UO.UseType(dagger) FastLootCheck() Wend next else UO.Set('finddistance','2') for i=1 to 6 UO.Findtype(find[i],-1,1) if UO.FindCount()>0 then UO.MoveItem('finditem',0,'backpack') return endif next endif end sub
sub GoHome(level) DIM razg[4] razg[1] = '0x14EB' ;tattered map razg[2] = '0x0DD6' ;Truly rare fish and Prize fish razg[3] = '0x097A' ;fish stake if (UO.Count(razg[1])>10 OR UO.Count(razg[3])>UO.STR*3*10 OR level==1) then RunebookRecall(4) for i=1 to 3 While UO.Count(razg[i])>0 UO.FindType(razg[i],-1,-1) UO.MoveItem('finditem',0,Cont1) FastLootCheck() Wend next RunebookRecall(where) endif end sub
sub CheckLag() UO.DeleteJournal() UO.Click('backpack') Repeat wait(200) Until UO.InJournal('backpack') end sub
sub FastLootCheck() UO.DeleteJournal() wait(600) if UO.InJournal("FastLoot") OR UO.InJournal("World save") then CheckLag() endif end sub
sub Food() if k==100 then UO.DeleteJournal() repeat UO.UseType(foodT) wait(500) until UO.InJournal('simply too full') k=1 else k=k+1 endif end sub
sub RuneRecall() var oldX=UO.GetX() var oldY=UO.GetY() ;oldX=UO.GetX() ;oldY=UO.GetY() Repeat NoTarget() UO.DeleteJournal() UO.WaitTargetObject(Rune) UO.UseType('0x1F4C') time=UO.Timer() Repeat wait(500) Until oldX<>UO.GetX() OR oldY<>UO.GetY() OR UO.InJournal('The spell fizzles') OR time+200<UO.Timer() Until oldX<>UO.GetX() and oldY<>UO.GetY() end sub
sub RunebookRecall(n) oldX=UO.GetX() oldY=UO.GetY() NoTarget() UO.UseObject(Runebook) 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 NoTarget() if UO.Waiting() then UO.CancelTarget() endif end sub
3) Ну это уже другие авторы 
Code: ######################################################### ### Fishing / Ловля рыбы v1.9 Full / 3 Руны ### ######################################################### ### Шард Dragon World / www.drw.ru ### ################################################ ### Внимание: ### Для работы скрипта нужна версия YokoInjection 4DZ. ### Скачать dll этой версии можно ### от сюда: www.swines.nm.ru/injection.zip ######################################################### ### Авторы: ### - Первоначальный скрипт:"BETEPAH". ### - Доработка, создание массива, переработка:"cOoler". ######################################################### ############################ ### Описание и настройка ### ############################ ### Обратите внимание на значки "]![" ими выделенны важные сообщения. ### ### Чар ищет вокруг себя воду, а в воде рыбу. ### Найдя рыбу ловит ее и кладет в пак. ### После того как набирается максимальный вес или кончается рыба скрипт выключается. ### #################### ### Нововведения ### #################### ### 1)Теперь в скрипте присутствует масив рыбы. [cOoler] ### 2)Вес можно указать в переменных. [cOoler] ### 3)Добавлено множество переменных. [cOoler] ### ### ]![ Чтобы скрипт заработал внимательно прочтите настройки. ]![ ### ################################### ### Режимы работы скрипта ### ################################### ### Работает в 3ух режимах: ### ### 1)Поиск ### ### 2)Ловля ### ### 3)Сбор ### ################################### ### Режим Первый - "Поиск" ### ################################### ### Этот режим отвечает за Поиск воды(записывание координат) деревьев. ### ### Поиск происходит так: ### Ставим чара рядом с водой. ### Запускаем скрипт и он автоматически начинает искать воду. ### ############################## ### Режим Второй - "Ловля" ### ############################## ### Этот режим соответственоо отвечает за ловлю рыбы. ### ### Ловля происходит так: ### После того как чар найдет воду, он начинает искать в воде рыбу ### и ловить ее. ############################## ### Режим Второй - "Сбор" ### ############################## ### Этот режим соответственно отвечает за сбор рыбы. ### ### Сбор происходит так: ### Паралельно с тем как чар быдет ловить рыбу он будет складывать ее в пак(который вы укакзали). ### ### Настройте скрипт под себя при помощи переменных. ### ################## ### Переменные ### ################## ### var TryToHide=1 ## 1 - Включить уход(перед ловлей) в хайд, 0 - выключить. ### var TakeFish=1 ## 1 - Включить сбор обычной рыбы, 0 - выключить. ### var TakeMaps=1 ## 1 - Включить сбор карт, 0 - выключить. ### var TakeRareFish=1 ## 1 - Включить сбор рарной рыбы, 0 - выключить. ### var TakePrizeFish=1 ## 1 - Включить сбор приз рыбы, 0 - выключить. ### var MaxWeight=800 ## - Вес при котором скрипт выключиться. ### ### После настройки: ### Идите к реке в которой вы хотите ловить рыбу. ### Запустите cкрипт Fishing(), Инжект попросит вас указать Пак для рыбы ### (появится прицел, прицелом на пак), ### потом инжект попросит вас указать Удочку(появится прицел, прицелом на нее). ### После этого чар будет ловить рыбу. ########### ### Код ### ########### sub Fishing() var mX, mY, mZ, i, j var f var a=0 #################### ### Меню/Options ### #################### ######################################################################### ### var TryToHide=1 ## 1 - Включить уход(перед ловлей) в хайд, 0 - выключить. ### var TakeFish=1 ## 1 - Включить сбор обычной рыбы, 0 - выключить. ### var TakeMaps=1 ## 1 - Включить сбор карт, 0 - выключить. ### var TakeRareFish=1 ## 1 - Включить сбор рарной рыбы, 0 - выключить. ### var TakePrizeFish=1 ## 1 - Включить сбор приз рыбы, 0 - выключить. ### var MaxWeight=650 ## - Вес при котором скрипт выключиться. ### ######################################################################### ################### ### Массив рыбы ### ################### dim Fish[6] Fish[0]=0x09CC Fish[1]=0x09CD Fish[2]=0x09CE Fish[3]=0x09CF Fish[4]=0x14EB Fish[5]=0x0DD6 Fish[6]=0x0DD6
uo.Print('Выбери контейнер...') uo.Exec('addobject Bag') while uo.Targeting() wait(100) wend
uo.Print('Выбери удочку...') uo.Exec('addobject FishPole') while uo.Targeting() wait(100) wend
uo.Print('Руна-Домой :') uo.Exec('addobject RuneHome') while uo.Targeting() wait(100) wend
uo.Print('Руна-Озеро №1 :') uo.Exec('addobject RuneFish1') while uo.Targeting() wait(100) wend
uo.Print('Руна-Озеро №2 :') uo.Exec('addobject RuneFish2') while uo.Targeting() wait(100) wend
wait(1000) uo.Exec('exec RecallFishing1') wait(4000)
Beginning: uo.Set('finddistance','4') mX = uo.getX("self") mY = uo.getY("self") mZ = uo.getZ("self") uo.DeleteJournal() for i = mX-4 to mX+4 for j = mY-4 to mY+4 if uo.Dead() then return end if
if TryToHide==1 then ToHide() end if
uo.Print("Сейчас ловим: "+str(mx-i)+" "+str(my-j)) while not uo.InJournal("no fish here") and not uo.InJournal("location") and not uo.InJournal("far away") and not uo.InJournal("in water") uo.DeleteJournal() uo.Waittargettile("1341", str(i), str(j), str(mZ)) uo.UseObject("FishPole") if uo.Dead() then return end if if uo.Weight>MaxWeight then wait(3000) uo.Exec('exec RecallHome') wait(4000) uo.Exec('exec DropFish') wait(17000) uo.Exec('exec RecallFishing2') wait(4000) goto Beginning end if while not uo.InJournal("You pull") and not uo.InJournal("location") and not uo.InJournal("no fish") and not uo.InJournal("but fail") and not uo.InJournal("far away") and not uo.InJournal("in water") wait (100) if uo.InJournal("You pull") then
if a>0 then uo.print(STR(a)) end if
if TakeFish==1 then uo.Print('Собираем рыбу.') for f=0 to 3 uo.FindType(Fish[f],"-1","ground") if uo.Count(Fish[2])> 0 then a= a+1 end if uo.MoveItem("finditem","1","Fishs") wait(200) next end if
if TakeMaps==1 then uo.Print('Собираем карты.') for f=4 to 4 uo.FindType(Fish[f],"-1","ground") uo.MoveItem("finditem","-1","Maps") wait(200) next end if
if TakeRareFish==1 then uo.Print('Собираем рар рыбу.') for f=5 to 5 uo.FindType(Fish[f],"-1","ground") uo.MoveItem("finditem","-1","RareFish") wait(200) next end if
if TakePrizeFish==1 then uo.Print('Собираем приз рыбу.') for f=6 to 6 uo.FindType(Fish[f],"-1","ground") uo.MoveItem("finditem","-1","PrizeFish") wait(200) next end if end if wend wend uo.DeleteJournal() next next end sub
sub ToHide() while not uo.Hidden() uo.Exec('warmode 0') uo.Print('Пытаемся уйти в хайд...') uo.DeleteJournal() uo.UseSkill('Stealth') wait(4100) wend wait(100) end sub
sub DropFish() ToHide() if uo.Waiting() then uo.CancelTarget() end if var a, Exit var Chest='0x40203CC2' ## - ID сундука для сброса логов. dim Fish[6] Fish[0]=0x09CC Fish[1]=0x09CD Fish[2]=0x09CE Fish[3]=0x09CF Fish[4]=0x14EB Fish[5]=0x0DD6 Fish[6]=0x0DD6 uo.Print('Выкладываем Рыбу.') uo.SetReceivingContainer(Chest) wait(500) for a=0 to 6 exit=0 repeat uo.FindType(Fish[a]) if uo.GetQuantity('finditem')>0 then uo.Grab('0','finditem') wait(1500) else exit=1 end if until Exit==1 next uo.UnSetReceivingContainer(Chest) uo.Print('Рыба Выложена.') end sub
sub RecallHome() var mX, mY reccal: uo.DeleteJournal() if uo.Waiting() then uo.CancelTarget() end if mX = uo.GetX("self") mY = uo.GetY("self") uo.DeleteJournal() uo.WaittargetObject('RuneHome') wait(500) uo.Cast('Recall') wait(4500) if not uo.GetX("self") <> mX and not uo.GetY("self") <> mY then goto reccal end if end sub
sub RecallFishing1() var mX, mY reccal: uo.DeleteJournal() if uo.Waiting() then uo.CancelTarget() end if mX = uo.GetX("self") mY = uo.GetY("self") uo.DeleteJournal() uo.WaittargetObject('RuneFish1') wait(500) uo.Cast('Recall') wait(4500) if not uo.GetX("self") <> mX and not uo.GetY("self") <> mY then goto reccal end if end sub
sub RecallFishing2() var mX, mY reccal: uo.DeleteJournal() if uo.Waiting() then uo.CancelTarget() end if mX = uo.GetX("self") mY = uo.GetY("self") uo.DeleteJournal() uo.WaittargetObject('RuneFish2') wait(500) uo.Cast('Recall') wait(4500) if not uo.GetX("self") <> mX and not uo.GetY("self") <> mY then goto reccal end if end sub
Хотя я юзаю другой
|