Привет всем! Ребят скрипт рабочий, только проблема в том что он капает вокруг раз 5 капнет, киркой ткнет куда то и стоит на месте проходит минуты 2-3 и опять начинает капать... И так постоянно. А так улетает прилетает! Еше проблема я вот ставлю в настройках дапустим 3 раза повтарить, тут не осталось руды. И он должен по другой руне лететь. Пишит и по 20 раз и он не летит.. Хотя стоит 3 раза тут не осталось руды. Помогите пожалуйста, очень нужен скриптик, рабочий...
########################## # Mining â Ïåùåðàõ v 3.0 # ########################## # Mihail |2007 ## #################
var sunduk = '0x407385ED' ; ID сундука с регами\для выгрузки
var check = 1 ; если 1 то реколиться только от ПК, если 0, то реколиться от всех var time = 1 ; Время ожидания (в минутах) пока уйдет пк из шахты var golem = 0 ; если 1 будет пить инвизку при появлении голем, 0 не будет var invislog = 1 ; если 1 - будет пить инивизку при появлении колема, 0 не будет var maxweight = 700 ; вес при котором реколиться домой var mark = 0 ; 1 будет перемарчивать руну домой, 0 не будет var charges = 10 Колво зарядов при котором перемарчивать руну var fail = 3 ; колво попыток с сообщениями "здесь не осталось руды" прежде чем лететь в след var log = 1 ; если 1 - вести лог по выкопанной руде, 0 - нет var filelog = 1 ; если 1 - вести лог в файле по выкопанной руде, 0 нет var screen = 0 ; если 1 будет делать скрипт при смерте пк ################## 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","0x4063957B")# uo.addobject("runeCave1","0x4063D608")# uo.addobject("runeCave2","0x4009CF0E")# uo.addobject("runeCave3","0x404DF989")# uo.addobject("runeCave4","0x401AA0EA")# uo.addobject("runeCave5","0x40122724")# uo.addobject("runeCave6","0x40023377")# uo.addobject("runeCave7","0x4009CF05")# ######################################## ; äî ñþäà ÂÑÅ ÓÄÀËßÅÌ è âñòàâëÿåì òî ÷òî âûäàñò ,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('Êîïàåì â êîîðäèíàòàõ: '+str(mx-x)+' '+str(my-y)) while not uo.injournal('location|fail|no ore|mine|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|no ore|mine|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('D:\Miranda IM\sound\dead.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 9 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('Ðóí íàéäåíî: '+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' 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('0x0F0E','0x0631',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('0x0F0E','0x0631',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('0x0F0E','0x0631') #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]= '0x19B9' ; Iron Ore 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('âèäèìî ðåãè çàñòðÿëè â ïàêå..') 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],'0x19B9')<0 then if invislog==1 then uo.findtype(Item[3],'0x19B9',sunduk) uo.setglobal('invislog',str(uo.findcount())) end if repeat uo.findtype(Item[3],'0x0F0E',sunduk) if uo.findcount() then uo.moveitem('finditem') wait(1000+uo.random(3)*100+uo.random(4)*25) else uo.print('ÍÅÒ ÈÍÂÈÇÎÊ Â ÑÓÍÄÓÊÅ!') wait(4000) end if until uo.dead() or uo.count(Item[3],'0x0F0E')>=0 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
|