| Yoko http://forum.yoko.com.ua/ |
|
| Помогите исправить скрипт ! Майнинг http://forum.yoko.com.ua/viewtopic.php?f=20&t=16611 |
Page 1 of 1 |
| Author: | Just Finish [ 2011-05-12 16:10:23 ] |
| Post subject: | Помогите исправить скрипт ! Майнинг |
Вообщем проблема такая, играю на ДРВ, скрипт взят с сервера оском, всё делает улетает прилетает,нооо... При появлении пк, или когда атакуют чара не пьёт инвиз, пробывал заменить айди не помогает всё равно не пьёт ДРВшный инвиз, можите помочь ? заранее благодарю. вот айди и цвет инвиза на ДРВ Type=0x0F0E Colour: 0x0631 А вот и скрипт. ########################## # Mining в Пещерах v 3.0 # ########################## # Mihail |2007 ## ################# var sunduk = '0x40525326' ; 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 = 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","0x4009CF06")# uo.addobject("runeCave1","0x401AA0ED")# 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 |
|
| Author: | Mirage [ 2011-05-12 20:40:44 ] |
| Post subject: | Re: Помогите исправить скрипт ! Майнинг |
1) Прочитай правила оформления тем. Теги, подача информации, ветки для размещения тем. У тебя есть скрипт -> Scripting Ore 2) Не полное описание проблемы. НЕ ПЬЕТ ИНВИЗКИ - мало информации. Как не пьет? что при этом пишет и пишет ли вообще? 3) если это скрипт Mihail то ссылку укажи на тему со скриптом. Потому что скрипт походу изувечен очень сильно. в sub upload() строка uo.findtype(Item[3],'0x0F0E',sunduk) - либо у вас какойто не стандартный цвет = 0x0F0E либо строка бред. строка if uo.count(Item[3],'0x19B9')<0 then тоже как то наводит на размышление. Проверь свою реколку таким вот путем: приводишь красного чара, ставишь его на расстоянии 4-6 (не больше 7) тайлов от своего чара, на своем чаре запускаешь скрипт Code: sub main() Напишешь результат и по возможности подробнее описать что я просил выше. |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|