вот польуйтесь разберитесь сами тут не сложно в лом писать нормальную инструкцию
Code: ; в третьей рунбуке 9 руна к дому для экономии рунбук ; при реколе от пк чар юзает инвизку, так эффективнее улет ; во время ловли говорим "next point" и летим сразу к следущей ; во время ловли говорим "pause" и идем по своим делам, как дела ; сделали, возвращаемся туда же, говорим "return" и продолжаем ; еда валяется у сундуков, т.е. чар ест с земли, фу гадость :) ; расчитано на то, что чар реколиться домой сразу к сундукам ; хотим посмотреть статистику ловли, в любой момент набираем ; в окне ультимы ",textopen" и смотрим ; также можно отдельно запускать скрипт home(), он независимый ################### Question aka GimFlex ####################### sub main() var o,p,time var in=0 dim book[3] book[0]='0x40002A65' ; первая рунбука с рунами к месту ловли book[1]='0x40002A57' ; вторая рунбука с рунами к месту ловли book[2]='0x404E2DE4' ; третья рунбука с рунами к месту ловли wait(1000) UO.Exec('terminate Reconnector') wait(1000) UO.Exec('exec Reconnector') wait(1000) time=MakeTime() uo.textprint("Скрипт запущен") uo.textprint("Время "+time) uo.textprint(" ") while 1==1 for o=1 to 9 for p=0 to 2 if p==2 and o==9 then home() else port(book[p],o,in) in=fish(p,o) endif next next eat() wend endsub
Sub port(idrb,nrune,inviz) var inviz1='0x0F0E' ; тип инвизки var color='0x0631' ; цвет инвизки var time var oldX=uo.getx() var oldY=uo.gety() Dim gumpreturn[9] gumpreturn[1]="0x0015" gumpreturn[2]="0x0021" gumpreturn[3]="0x002E" gumpreturn[4]="0x003A" gumpreturn[5]="0x0040" gumpreturn[6]="0x0049" gumpreturn[7]="0x0058" gumpreturn[8]="0x005E" gumpreturn[9]="0x0401" UO.exec('resend') UO.UseObject('backpack') if inviz==1 then uo.usetype(inviz1,color) endif uo.useobject(idrb) uo.exec("ongump anygump "+gumpreturn[nrune]) uo.deletejournal() time=UO.Timer() Repeat wait(500) Until oldX<>UO.GetX() OR oldY<>UO.GetY() OR time+200<UO.Timer() end sub
Sub IsWater(X,Y) if UO.PrivateGetTile(X, Y, -1, 6039, 6065) then return 1 else return 0 endif end sub
Sub fish(pp,oo) var mx, my, mz, i, j, k, killer, fl=0, kol=0,time, inFishing=0, pr=0 var spining='0x0DBF' ; удочка var map='0x14EB' ; нерасшифрованная карта var tfish='0x0DD6' ; трули фиш DIM text[6] text[0] = 'You pull out a' text[1] = 'You fish a while' text[2] = 'That is too far away' text[3] = 'Try fishing in water' text[4] = 'There are no fish here' text[5] = 'location' text[6] = 'return' uo.set('finddistance','1') killer=pk() if killer==0 then hiding() else pr=1 endif mx = UO.GetX("self") my = UO.GetY("self") mz = UO.GetZ("self") UO.DeleteJournal() if killer==0 then for i = mx-6 to mx+6 for j = my -6 to my+6 if IsWater(i,j) then inFishing=0 repeat killer=pk() if killer==1 then fl=1 pr=1 endif UO.DeleteJournal() UO.Waittargettile("1341", str(i), str(j), str(mz)) UO.Usetype(spining) repeat killer=pk() if killer==1 then fl=1 pr=1 endif wait(10) Until UO.InJournal(text[0]) OR 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]) if NOT UO.InJournal(text[1]) then inFishing=1 endif Until inFishing==1 uo.findtype(map,'-1','ground') if uo.findcount() then uo.moveitem('finditem','1','backpack') wait(500) endif uo.findtype(tfish,'-1','ground') if uo.findcount() then uo.moveitem('finditem','1','backpack') wait(500) endif endif killer=pk() if killer==1 then fl=1 pr=1 endif UO.DeleteJournal() if fl==1 then time=MakeTime() i=mx+6 j=my+6 uo.deletejournal() uo.textprint("Нехороший человек!!!") uo.textprint("Время "+time) uo.textprint(" ") endif next uo.print("book-"+str(pp+1)+" runa-"+str(oo)) hiding() uo.resend() uo.findtype(map,'-1','backpack') kol=uo.findcount() uo.print("Vulovil "+str(kol)+" kart!!!") next else pr=1 endif return pr end sub
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 home() var book3='0x404E2DE4' ; 3-яя рунбука, 9 руна к дому var cont1='0x401EEECD' ; для карт и пустых мешков(<50) var cont2='0x401ECB38' ; для наполненных мешков с картами var cont3='0x401EC4D1' ; для наполненных мешков с трули фиш var map='0x14EB' ; нерасшифрованная карта var mesh='0x0E76' ; пустой мешок var tfish='0x0DD6' ; трули фиш var sm,kl,time port(book3,9,0) hiding() uo.set('finddistance','5') uo.useobject(cont1) wait(1000) uo.useobject(cont2) wait(1000) uo.useobject(cont3) wait(1000) uo.findtype(map,'-1','backpack') while uo.findcount() uo.findtype(map,'-1',cont1) if uo.findcount()>=200 then uo.findtype(mesh,'-1',cont1) sm=uo.getserial('finditem') uo.moveitem(sm,'1',cont2) wait(1000) uo.findtype(map,'-1',cont1) while uo.findcount() uo.moveitem('finditem','1',sm) wait(500) cheklag() uo.findtype(map,'-1',cont1) wend else uo.findtype(map,'-1','backpack') uo.moveitem('finditem','1',cont1) wait(500) cheklag() endif uo.findtype(map,'-1','backpack') wend uo.findtype(tfish,'-1','backpack') while uo.findcount() uo.findtype(tfish,'-1',cont3) if uo.findcount()>=200 then uo.findtype(mesh,'-1',cont1) sm=uo.getserial('finditem') uo.moveitem(sm,'1',cont3) wait(1000) uo.findtype(tfish,'-1',cont3) while uo.findcount() uo.moveitem('finditem','1',sm) wait(500) cheklag() uo.findtype(tfish,'-1',cont3) wend else uo.findtype(tfish,'-1','backpack') uo.moveitem('finditem','1',cont3) wait(500) cheklag() endif uo.findtype(tfish,'-1','backpack') wend time=MakeTime() uo.findtype(map,'-1',cont1) kl=uo.findcount() uo.textprint("В сундуке карт ["+str(kl)+"]") uo.findtype(mesh,'-1',cont2) kl=uo.findcount() uo.textprint("Мешков с картами ["+str(kl)+"]") uo.findtype(tfish,'-1',cont3) kl=uo.findcount() uo.textprint("В сундуке волшебной рыбки ["+str(kl)+"]") uo.findtype(mesh,'-1',cont3) kl=uo.findcount() uo.textprint("Мешков с волшебной рыбкой ["+str(kl)+"]") uo.textprint("Время "+time) uo.textprint(" ") endsub
Sub cheklag() uo.deletejournal() uo.click('backpack') repeat wait(10) until uo.InJournal("backpack") end sub
Sub pk() var jor,ser,fl=0 for jor = 0 to 9 ser = uo.JournalColor(jor) if ser=="0x0026" or uo.injournal("next point") then fl=1 endif if uo.injournal("pause") then while not uo.injournal("return") wait(500) wend endif next return fl endsub
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 = T RETURN Ret end sub
Sub eat() var eda='0x097B' ; еда var ms1="You eat some fish steaks" var ms2="You are stuffed!" var ms3="You are simply too full to eat any more!" uo.set('finddistance','1') uo.findtype(eda,'-1','ground') if uo.findcount() then repeat uo.deletejournal() uo.useobject('finditem') wait(500) repeat wait(100) until uo.injournal(ms1) or uo.injournal(ms2) or uo.injournal(ms3) until uo.injournal(ms2) or uo.injournal(ms3) endif endsub
Sub Reconnector() var RFlag RFlag = 1 Repeat While (UO.ObjAtLayer('Bpack') == '') if RFlag Then RFlag = 0 endif Wait(20000) 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) Then UO.Exec('terminate main') wait(1000) uo.lclick(494,383) wait(1000) UO.Exec('exec main') wait(1000) RFlag = 1 endif Until false end sub
|