sory za latinj. karoche problema v tom 6to vso rabotait vot toka letit on po odnoj rune v shahtu a po sledui6ij neletit letit po toize rune:(
Code: ########################## # Mining â Ïåùåðàõ v 3.0 # ########################## # Mihail |2007 ## #################
var sunduk = '0x40C1F028' ; ID ñóíäóêà ñ ðåãàìè/äëÿ âûãðóçà ðóäû
var check = 0 ; åñëè 1 òî ðåêîëèòüñÿ òîëüêî îò ÏÊ, åñëè 0, òî ðåêîëèòüñÿ îò âñåõ var time = 2 ; âðåìÿ îæèäàíèÿ (â ìèíóòàõ) ïîêà óéäåò ïê èç øàõòû var golem = 1 ; åñëè 1 áóäåò ïèòü èíâèçêó ïðè ïîÿâëåíèè ãîëåìà, 0 íå áóäåò var invislog = 1 ; åñëè 1 - áóäåò âåñòè ëîã ïî èñïîëüçîâàííûì èíâèçêàì, 0 - íåò var maxweight = 500 ; âåñ ïðè êîòîðîì ðåêîëèòüñÿ äîìîé var mark = 1 ; 1 áóäåò ïåðåìàð÷èâàòü ðóíó äîìîé, 0 íå áóäåò var charges = 10 ;êîë-âî çàðÿäîâ ïðè êîòîðîì ïåðåìàð÷èâàòü var fail = 12 ; êîë-âî ïîïûòîê ñ ñîîáùåíèÿìè "çäåñü íå îñòàëîñü ðóäû" ïðåæäå ÷åì ëåòåòü â ñëåäóþùóþ øàõòó var log = 1 ; åñëè 1 - âåñòè ëîã ïî âûêîïàííîé ðóäå, 0 - íåò var filelog = 1 ; åñëè 1 - âåñòè ëîã â ÔÀÉË ïî âûêîïàííîé ðóäå, 0 - íåò var screen = 0 ; åñëè 1 áóäåò äåëàòü ñêðèí ïðè ñìåðòè èëè ïîïûòêå ðåêîëà îò ÏÊ, 0 íå áóäåò (Óëüòèìà íå äîëæíà áûòü ñâåðíóòà) ################## var runess = 0 ; êîëè÷åñòâî ðóí, [!] óêàçûâàòü íàäî ÒÎËÜÊÎ åñëè íå èñïîëüçûâàòü ",exec marker", â ïðîòèâíîì ñëó÷àå ñòàâèì 0
sub mining() var mx, my, mz, x, y, i, j, f, t, n=0, k=0 if not runess == 0 then uo.seteasyuo(200,str(runess)) uo.setglobal('kolrune',runess) end if
########################################## ; îòñþäà # Óäàëèòü âñå ýòî â ðàìêå!!!! # # È âñòàâèòü òî ÷òî âûäàäåò ,exec marker # ########################################## uo.addobject("runeCave0","0x4035A284") uo.addobject("runeCave1","0x4109DFE0") uo.addobject("runeCave2","0x4179FA63") uo.addobject("runeCave3","0x40A3BE76") uo.addobject("runeCave4","0x40CF618F") uo.addobject("runeCave5","0x403B5844") uo.addobject("runeCave6","0x415BAC8E") uo.addobject("runeCave7","0x4044EAC7") uo.addobject("runeCave8","0x401298E3") uo.addobject("runeCave9","0x414AB510") ######################################## ; äî ñþäà ÂÑÅ ÓÄÀËßÅÌ è âñòàâëÿåì òî ÷òî âûäàñò ,exec marker
DIM Ore[4], Sex[2] Ore[0]= '0x19B9' ; 4 and more ore Ore[1]= '0x19B7' ; 1 ore Ore[2]= '0x19BA' ; 2 ore Ore[3]= '0x19B8' ; 3 ore Sex[0]='0x0190' ;male Sex[1]='0x0191' ;female if uo.waiting() then uo.canceltarget() end if uo.charprint('0x0021','Âûáåðèòå êèðêó èëè ëîïàòó!') uo.exec('addobject Shovel') while uo.targeting() wait(400) wend uo.charprint('0x0021','Âûáåðèòå ðóíó äîìîé!') uo.exec('addobject runeHome') while uo.targeting() wait(400) wend uo.textclose() repeat uo.click('runeHome') checklag() uo.concolor('0x0031') uo.print('Ðóíà äîìîé: '+charge(uo.getname('runeHome'))+' çàðÿäîâ')
if mark==1 then uo.setglobal('mark',charge(uo.getname('runeHome'))) end if
uo.concolor('0x0440') uo.setglobal('weight',str(uo.weight+12)) uo.set('grabdelay','1000') mining: mx = uo.getx('self') my = uo.gety('self') mz = uo.getz('self') uo.deletejournal() golem() for x = mx-3 to mx+3 for y = my-3 to my+3 checklag() uo.print('Kopaim v kordinatah: '+str(mx-x)+' '+str(my-y)) while not uo.injournal('location|fail|far|rock|òóäà|íå îñòàëîñü|íå íàøëè|ñëèøêîì äàëåêî|èç âàëóíîâ|äîòÿíóòüñÿ|Iron Ore|Copper') and not uo.dead() if uo.waiting() then uo.canceltarget() end if if uo.targeting() then uo.say(chr(27)) end if uo.deletejournal() wait(400+uo.random(4)*25) uo.waittargettile("1343",str(x),str(y),str(mz)) uo.useobject('Shovel') checklag() wait(400) t=0 if uo.injournal('îñòàëîñü|äàëåêî|nothing') then n=n+1 else n=0 end if while not uo.injournal('put|heavy|location|fail|far|rock|òóäà|found|íå îñòàëîñü|íå íàøëè|ñëèøêîì äàëåêî|äîòÿíóòüñÿ|èç âàëóíîâ') and n<fail and t<100 and not uo.dead() uo.set('finddistance','14') uo.ignore('self') wait(400) for i=0 to 1 uo.findtype(Sex[i],-1,'ground') if uo.findcount() then for j=check+1 to 6 if uo.getnotoriety('finditem')==j then if screen==1 then f=uo.getinfo('character')+' âðåìÿ ['+time(uo.time(),'.')+'] ('+date(uo.date(),'.')+')' uo.snap('BMP',f+'.bmp') uo.setglobal('screen',str(val(uo.getglobal('screen'))+1)) end if uo.ignore('finditem') recallkill(uo.getserial('finditem')) upload() uo.print('wait '+str(time)+' min') wait(time*100000) if k>=val(uo.geteasyuo(200))-1 then k=0 end if k=k+1 medit(36) recall('runeCave'+str(k),0) uo.ignorereset() goto mining end if next end if next t=t+1 wait(400) wend golem() if n==fail/2 then uo.charprint('0x0021','Åùå '+str(fail/2)+' íåóäà÷ è ëå÷ó ïî ñëåäóþùåé ðóíå!') end if if uo.weight>=maxweight or n>=fail then wait(400) for i=0 to 3 uo.set('finddistance','3') uo.findtype(Ore[i],-1,'ground') if uo.findcount() then uo.moveitem('finditem') wait(900) checklag() end if next uo.deletejournal() recall('runeHome',1)
if mark==1 then uo.setglobal('mark',str(val(uo.getglobal('mark'))-1)) end if
upload() if k>=val(uo.geteasyuo(200))-1 then k=0 end if k=k+1 checklag() medit(36) recall('runeCave'+str(k),0) goto mining end if wend next next until uo.dead() uo.textopen() uo.textprint() uo.textprint('Âû áûëè óáèòû. Ïîñëåäíèå 20 ñòðîê æóðíàëà:') uo.showjournal('20') uo.playwav('C:\Program Files\Ultima Online 2D\music\Death.wav') ; çâóê î ñìåðòè ïåðñîíàæà if screen==1 then f=uo.getinfo('character')+'!DEAD! âðåìÿ ['+time(uo.time(),'.')+'] ('+date(uo.date(),'.')+')' uo.snap('BMP',f+'.bmp') uo.setglobal('screen',str(val(uo.getglobal('screen'))+1)) end if return end sub
sub charge(jor) var i, j, text='' for i=0 to len(jor) for j=0 to 4 if mid(jor,i,1)==str(j) then text=text+mid(jor,i,1) end if next next return text end sub
sub marker() #ñáîð ID áåñöâåòíûõ ðóí â ïàêå# uo.print('èäåò ñáîð ID áåñöâåòíûõ ðóí â ïàêå...') uo.ignorereset() uo.textclear() uo.textopen() uo.textprint('Âñòàâèòü â íà÷àëî ñêðèïòà:') uo.textprint() var i=0, t=0, exit=0 repeat uo.findtype('0x1F14','0x0000','backpack') if uo.findcount() then uo.textprint('uo.addobject("runeCave'+str(t)+'","'+uo.getserial('finditem')+'")') t=t+1 uo.ignore('finditem') checklag() else exit=1 end if until exit==1 uo.seteasyuo(200,str(t)) uo.setglobal('kolrune',t) uo.print('Run naideno: '+str(t)) uo.ignorereset() end sub
sub count(n) #1 home; 2 print var i, j, q DIM Ore[13], typeOre[4] #Ore[numb]='[öâåò] [îòîáðàæàåìîå íàçâàíèå]' Ore[0]='0x0000 Iron Ore' Ore[1]='0x0641 Cooper Ore' Ore[2]='0x0400 Agapite Ore' Ore[3]='0x0770 Shadow Ore' Ore[4]='0x048A Orion Ore' Ore[5]='0x07D1 Verite Ore' Ore[6]='0x0488 Dwarf Ore' Ore[7]='0x0515 Valorite Ore' Ore[8]='0x084D Golden Ore' Ore[9]='0x0482 Silver Ore' Ore[10]='0x0487 Crystal Ore' Ore[11]='0x0486 Magma Ore' Ore[12]='0x0485 Obsidian Ore' Ore[13]='0x048D Mytheril Ore' typeOre[0]='0x19B9' ; 4 and more ore typeOre[1]='0x19B7' ; 1 ore typeOre[2]='0x19BA' ; 2 ore typeOre[3]='0x19B8' ; 3 ore uo.ignorereset() if n==1 then for i=0 to 12 q=0 for j=0 to 3 repeat uo.findtype(typeOre[j],left(Ore[i],6),'backpack') if uo.findcount() then q=q+uo.getquantity('finditem') uo.setglobal(Right(Ore[i],len(Ore[i])-7),str(q+val(uo.getglobal(Right(Ore[i],len(Ore[i])-7)))) ) uo.ignore('finditem') end if until uo.findcount()==0 next next end if if n==2 then uo.textclear() uo.textopen() uo.textprint('Äî äîìà ðóäû äîñòàâëåíî:') for i=0 to 12 uo.textprint(Right(Ore[i],len(Ore[i])-7)+': '+uo.getglobal(Right(Ore[i],len(Ore[i])-7))) next uo.textprint() if invislog==1 then uo.textprint('Èíâèçîê: ['+uo.getglobal('inviz')+'] | Îñòàëîñü: '+uo.getglobal('invislog')) uo.textprint() end if if screen==1 then uo.textprint('Ñêðèíîâ ñíÿòî: '+uo.getglobal('screen')) uo.textprint() end if uo.textprint('Âðåìÿ: '+time(uo.time(),':')+' ('+date(uo.date(),'.')+')') if filelog==1 then var f=file(uo.getinfo('path')+'mining_log ('+uo.getinfo('shard')+').txt') if not f.open() then f.open() f.create() end if f.open() f.writeln('Äî äîìà ðóäû äîñòàâëåíî:') for i=0 to 12 f.writeln(Right(Ore[i],len(Ore[i])-7)+': '+uo.getglobal(Right(Ore[i],len(Ore[i])-7))) next f.writeln() if invislog==1 then f.writeln('Èíâèçîê: ['+uo.getglobal('inviz')+'] | Îñòàëîñü: '+uo.getglobal('invislog')) f.writeln() end if if screen==1 then f.writeln('Ñêðèíîâ ñíÿòî: '+uo.getglobal('screen')) f.writeln() end if f.writeln('Âðåìÿ: '+time(uo.time(),':')+' ('+date(uo.date(),'.')+')')
f.close() end if uo.print('Ïðîèçâåäåí ïîëíûé îò÷åò.') end if uo.ignorereset() end sub
sub date(jor,n) var ser=str(jor), t='' if len(ser)==5 then ser='0'+ser end if t=right(ser,2)+n+mid(ser,2,2)+n+left(ser,2) return t end sub
sub time(jor,n) var i, t='' var ser=str(jor) if len(ser)==5 then ser='0'+ser end if for i=0 to len(ser)-2 step 2 t=t+mid(ser,i,2)+n next t=left(t,len(ser)+2) return t end sub
sub recall(obj,n) var t var x=uo.getx('self') var y=uo.gety('self') uo.set('finddistance','2') while uo.getx()==x and uo.gety()==y or uo.dead() uo.cast('Recall',obj) t=0 uo.deletejournal() repeat t=t+1 wait(800) if n==1 then uo.findtype('0x000E',-1,'ground') #golem if uo.findcount() and uo.injournal('attacking you') or uo.gethp()<uo.getmaxhp()/2 and not uo.dead() then if golem==1 then uo.findtype('0x0F09','0x0060',2) ; òèï èíâèçêè if uo.findcount() then uo.useobject('finditem') uo.print('àòàêà! ïüåì èíâèçêó') uo.setglobal('inviz',str(val(uo.getglobal('inviz'))+1)) uo.warmode(0) uo.deletejournal() wait(500) else uo.deletejournal() wait(500) end if else uo.print('àòàêà! Âíèìåíèå ïèòüå èíâèçîê îòêëþ÷åíî!') uo.deletejournal() wait(500) end if end if end if until uo.getx()<>x and uo.gety()<>y or uo.injournal('spell|íå óäàëîñü') or t==40 or uo.dead() wend end sub
sub recallkill(obj) var t, n=0 var x=uo.getx('self') var y=uo.gety('self') uo.click(obj) while uo.getx()==x and uo.gety()==y and not uo.dead() uo.cast('Recall','runeHome') uo.deletejournal() t=0 repeat t=t+1 wait(500) if uo.getdistance(obj)<7 and n==0 then uo.findtype('0x0F09','0x0060',2) ; òèï èíâèçêè if uo.findcount() then uo.useobject('finditem') uo.setglobal('inviz',str(val(uo.getglobal('inviz'))+1)) uo.deletejournal() wait(100) else uo.deletejournal() end if n=1 end if until uo.getx()<>x and uo.gety()<>y or uo.injournal('spell|íå óäàëîñü') or t==40 or uo.dead() wend uo.textopen() uo.textclear() uo.textprint('Ïîïûòêà ðåêîëëà îò: '+uo.getname(obj)) uo.playwav('D:\Miranda IM\sound\mix\Online.wav') #çâóê ïðè ðåêîëå îò ÏÊ end sub
sub medit(kol) var t, exit uo.warmode(0) while uo.mana<kol and not uo.dead() uo.deletejournal() t=0 exit=0 uo.useskill('Meditation') wait(400) repeat t=t+1 if uo.injournal('lose|can|peace|ïîòåðÿëè') then exit=1 end if wait(1500) until uo.mana>=kol or exit==1 or t==50 or uo.dead() wend end sub
sub golem() var t uo.set('finddistance','3') while not uo.hidden() and not uo.dead() uo.warmode(0) checklag() uo.print('Hidding...') uo.useskill('Hiding') t=0 uo.deletejournal() repeat t=t+1 wait(500) uo.findtype('0x000E',-1,'ground') #golem if uo.findcount() and uo.injournal('attacking you') or uo.gethp()<uo.getmaxhp()/2 and not uo.dead() then if golem==1 then uo.usetype('0x0F09','0x0060') #invis uo.deletejournal() uo.warmode(0) else uo.print('àòàêà! Âíèìåíèå ïèòüå èíâèçîê îòêëþ÷åíî!') uo.deletejournal() end if end if until uo.hidden() or uo.injournal('seem') or t==70 or uo.dead() wend end sub
sub upload() VAR i, t var kol=5 # êîë-âî ðåãîâ áðàòü DIM Ore[6], Item[4] Ore[0]= '0x19B9' ; 4 and more ore Ore[1]= '0x19B7' ; 1 ore Ore[2]= '0x19BA' ; 2 ore Ore[3]= '0x19B8' ; 3 ore Ore[4]= '0x0F26' ; diamonds Ore[5]= '0x0F0E' ; empty bottles Item[0]= '0x0F7A' ; Black Pearl Item[1]= '0x0F7B' ; Bood Moss Item[2]= '0x0F86' ; Mandrake Root Item[3]= '0x0F09' ; invistiblity checklag() if log==1 then count(1) wait(500) end if uo.ignorereset() while not uo.hidden() uo.warmode(0) uo.print('Hidding...') uo.useskill('Hiding') t=0 uo.deletejournal() repeat t=t+1 wait(800) until uo.hidden() or uo.injournal('seem') or t==15 wend uo.useobject(sunduk) uo.useobject('backpack') checklag() t=0 ore: for i=0 to 5 repeat uo.findtype(Ore[i],-1,'backpack') if uo.findcount() then uo.set('grabdelay','1100') uo.moveitem('finditem',0,sunduk) wait(900+uo.random(3)*100+uo.random(4)*25) end if until uo.findcount()==0 next if uo.weight>val(uo.getglobal('weight')) and t<10 then uo.print('ðóäà çàñòðÿëà â ïàêå..') uo.findtype(-1,-1,'backpack') if uo.findcount() then uo.moveitem('finditem',0,'backpack',str(uo.getx('finditem')),str(uo.gety('finditem')),str(uo.getz('finditem'))) wait(800+uo.random(3)*100+uo.random(4)*25) checklag() t=t+1 end if goto ore: end if #### for i=0 to 2 regs(Item[i],kol) if count(Item[i])==0 then repeat uo.print('vidimo regi zastrali v pake..') uo.findtype(-1,-1,'backpack') if uo.findcount() then uo.moveitem('finditem',0,'backpack',str(uo.getx('finditem')),str(uo.gety('finditem')),str(uo.getz('finditem'))) wait(1000+uo.random(3)*100+uo.random(4)*25) checklag() end if until count(Item[i])>0 or uo.dead() end if next #### if uo.count(Item[3],'0x0060')<4 then if invislog==1 then uo.findtype(Item[3],'0x0060',sunduk) uo.setglobal('invislog',str(uo.findcount())) end if repeat uo.findtype(Item[3],'0x0060',sunduk) if uo.findcount() then uo.moveitem('finditem') wait(1000+uo.random(3)*100+uo.random(4)*25) else uo.print('NET INVIZOK!') wait(4000) end if until uo.dead() or uo.count(Item[3],'0x0060')>=3 end if wait(600) if log==1 then count(2) end if end sub
sub regs(Reg,kol) var i=0, k=0 UO.FindType(Reg,-1,sunduk) k= kol - uo.count(Reg) if k>0 and uo.findcount()>0 then uo.grab(str(k),'finditem') wait(900+uo.random(3)*100) checklag() end if end sub
sub checklag() uo.deletejournal() uo.click('backpack') repeat wait(500) until uo.injournal('backpack') end sub
|