| Yoko http://forum.yoko.com.ua/ |
|
| Help http://forum.yoko.com.ua/viewtopic.php?f=17&t=13392 |
Page 1 of 1 |
| Author: | lakwit1 [ 2008-03-20 12:31:37 ] |
| Post subject: | Help |
Народ помогите ктонить в скрипт сделать чтоб когда видел чейнибудь ник(кроме елементаля) реколился и ждал 10 минут, а при выкапывании елементаля одевал топор бил его потом хелился и обратно капать, а то что то нехера не получается хотя ето есть. Это я чейто скрипт переделал. # â áàíêå äîëæíû áûòü ðóíû â ïåùåðû, ïîìå÷åííûå â èíæåêòå êàê îáüåêòû # Xmine , Xmine1, Xmine2, Xmine3, Xmine4, à â áåêïàêå îáüåêò Bank - ðóíà ê áàíêó # ïðîìàðêèðîâàòü êàæäóþ ïåùåðó íàäî çàðàíèå, çàïóñòèâ ïðîöåäóðó MultyMark() # Äëÿ ìàðêà, îáõîäÿ ïîñëåäîâàòåëüíî âñå òî÷êè êîïàíèÿ íàáèðàòü "set" # Ïðè îêîí÷àíèè ìàðêà â òåêóùåé ïåùåðå íàáðàòü "stop" ïåðåðåêîëèòüñÿ â ñëåäóþùþþ ïåùåðó è ïðîäîëæèòü # Ïîñëå ìàðêà 5 ïåùåð ïîÿâÿòñÿ ôàéëû C:mine4.dat, C:mine3.dat, C:mine2.dat, C:mine1.dat, C:mine.dat # Ïîñëå ýòîãî ìîæíî íà÷èíàòü êîïêó çàïóñòèâ ïðîöåäóðó main()ñòîÿ ó áàíêà. # È åñëè â áàíêå áóäóò ëåæàòü æàðåííûå ôèøñòåêè, ÷àð íå ïðèìåíåò âîçìîæíîñòüþ èìè ïîëàêîìèòüñÿ. # ïðè âåðîÿòíîñòè äèñêîííåêòîâ ïåðåä êîïêîé çàïóñòèòü ïðîöåäóðó Reconnect ################################ var Cont = '0x4002AF41';ID êîíòåéíåðà â êîòîðûé áóäåò ñêëàäûâàòüñÿ íàêîïàííîå. var RC = '0x4000E03E';ID êîíòåéíåðà ñ ðåãàìè var food= '0x4008EFBF';åäà(type) ïî óìîë÷àíèþ æàðåííûå ôèøñòåéêè var q, w, p var f , mine ############################### ïðîöåäóðà çàïóñêà äëÿ 5 ïåùåð sub main() repeat f=file("C:\mine1.dat") mine='Xmine1' one() until UO.Dead() end sub ################################ sub one() dim PX[50], PY[50] var Minepoints=0 var i uo.Print('Loading from file...') f.open() Minepoints=safe call f.ReadNumber() for i=1 to Minepoints PX[i]=safe call f.ReadNumber() PY[i]=safe call f.ReadNumber() next f.close() uo.Print('Loaded') uo.say("Bank") wait(100) med() Recall(mine) for p=1 to Minepoints uo.Print('X: '+str(PX[p])+' Y: '+str(PY[p])) WalkN(PX[p],PY[p],'') q=PX[p] w=PY[p] uo.Print('Mining...') UO.Warmode("0") mine(PX,PY) next recall('Bank') Razg() end sub ########################## sub vozvrat(PX,PY) var i uo.Print('Move...') for i=1 to p uo.Print('X: '+str(PX[p])+' Y: '+str(PY[p])) WalkN(PX[i],PY[i],'') next end sub ######################## sub Mark() dim PX[50], PY[50] var Minepoints=0 var i uo.Print('Start marking...') for i=1 to 50 UO.DeleteJournal() uo.Print('Set point '+ str(i)) repeat wait(500) if UO.InJournal('stop')then SaveToFile(i-1,PX,PY) return endif until UO.InJournal('set') PX[i] = UO.GetX("self") PY[i] = UO.GetY("self") uo.Print('Point '+str(i)+' X: '+str(PX[i])+' Y: '+str(PY[i])+'taken') next end sub ######################## sub MultyMark() uo.Print('Cove............ 1') f=file("C:\mine.dat") Mark() uo.Print('Cove............ 2') f=file("C:\mine1.dat") Mark() uo.Print('Marking finished. Ready for mine') end sub ############################# sub SaveToFile(mp,PX,PY) var s=0,k=0 f.open() f.create() uo.Print('points = '+ str(mp)) s=safe call f.writeln(mp) for k=1 to mp s=safe call f.writeln(str(PX[k])+' '+str(PY[k])) next f.close() end sub ################################## sub mine(PX,PY) var x, y,z VAR LastTimer UO.Set('finddistance','2') z=UO.GetZ("self") for x=-2 to 2 for y=-2 to 2 Hid() UO.Print(str(x)+" "+str(y)) Repeat if UO.InJournal('TORMOZ') then pause() endif UO.DeleteJournal() UO.Warmode("0") UO.WaitTargetTile("1341",STR(UO.GetX()+x),STR(UO.GetY()+Y),z) UO.UseType('0x0E85') LastTimer=UO.Timer() Repeat wait(500) Until UO.InJournal("You put") or UO.InJournal("can't see") or UO.InJournal("heavy") or UO.InJournal("location") or UO.InJournal("no ore") or UO.InJournal("are tired") or UO.InJournal("but fail") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("must wait") or UO.InJournal("Çäåñü áîëüøå íå÷åãî âûêîïàòü...") or UO.InJournal("elsewhere") or UO.InJournal("where it") OR UO.Timer()>LastTimer+200 lookout() Until UO.InJournal("Çäåñü áîëüøå íå÷åãî âûêîïàòü...") or UO.InJournal("elsewhere") or UO.InJournal("no ore here") or UO.InJournal("location") or UO.InJournal("far away") or UO.InJournal("in rock") or UO.InJournal("where it") if UO.Weight>720 then unload(PX,PY) endif ;wait(2000); ðàñêîìåíòèðîâàòü ïðè êîïêå ëîïàòîé next next end sub ######################################### sub lookout() if UO.InJournal("Earth elemental") then killelem() endif end sub ####################################### sub Pause() UO.DeleteJournal() REPEAT WAIT(3000) UO.Print("Paused") UNTIL UO.InJournal('GO') UO.Print("Continue") endif end sub ############################################ sub heal() UO.SetArm('arm') UO.Exec('bandageself') wait(500) UO.Arm('arm') wait(2000) end sub ###################################### sub Razg() VAR a VAR LastTimer DIM Ore[8] Ore[1]=0x19B9; 4 and more ore Ore[2]=0x19B7; 1 ore Ore[3]=0x19BA; 2 ore Ore[4]=0x19B8; 3 ore Ore[5]=0x0EED # äåíüãè Ore[6]=0x09AA # ïàíäîðû Ore[7]=0x19B9 # ðóäà Ore[8]=0x0F26 # äèàìàíòû uo.say("Bank") wait(100) For a=1 to 8 While UO.Count(ore[a])>0 UO.FindType(ore[a],-1,-1) UO.MoveItem('finditem',0,Cont) wait(1000) Wend next eat() if UO.Mana < 30 then while UO.Mana<UO.Int LastTimer=UO.Timer() UO.UseSkill('Meditation') repeat wait(100) until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200 UO.DeleteJournal() wait(200) wend endif end sub ####################################### sub eat() UO.DeleteJournal() repeat if UO.Count(food)>0 then UO.UseType(food) wait(500) else return end if Until UO.InJournal("stuffed!") OR UO.InJournal("think") end sub ################################ sub unload(PX,PY) Recall('Bank') Razg() wait(100) Recall(mine) uo.DeleteJournal() vozvrat(PX,PY) end sub ######################################## sub med() VAR LastTimer UO.DeleteJournal() while UO.Mana<UO.Int LastTimer=UO.Timer() UO.UseSkill('Meditation') repeat wait(100) until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200 UO.DeleteJournal() wait(200) wend takereg() uo.cast("Magic Reflection","self") wait(4000) takereg() end sub ######################################### sub takereg() DIM reg[5] var i,n reg[1]='0x0F86'; MR reg[2]='0x0F84'; GA reg[3]='0x0F8D'; SS reg[4]='0x0F7B'; BM reg[5]='0x0F7A'; BP UO.UseObject(RC) for i=1 to 5 while UO.Count(reg[i])<5 UO.FindType(reg[i],-1,RC) n=UO.Count(reg[i]) UO.Grab(str(5-n),'finditem') wait(200) wend next end sub ######################################### sub CheckLag() UO.DeleteJournal() UO.Click('backpack') repeat wait(500) until UO.InJournal('Backpack') end sub ################################## sub AttackEnts() uo.DeleteJournal() var Enemy='0x00000000' repeat if uo.InJournal('is attacking you') or uo.InJournal('OOPS!!!') or uo.InJournal('Wis Quas') then uo.Exec('terminate Lumberjacking') Enemy=uo.JournalSerial(uo.InJournal('is attacking you')-1) ##uo.PlayWav(LumberSound) uo.DeleteJournal() Recall('Bank') end if wait(1000) until false end sub ###################################### sub Reconnect() var ReconnectTime,rFlag ReconnectTime='0' rFlag=1 repeat while (uo.ObjAtLayer('Bpack')=='') if rFlag then ReconnectTime=MakeTime() rFlag=0 end if 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) and (ReconnectTime<>'0') then uo.TextOpen() uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) rFlag=1 ReconnectTime='0' end if until false end sub #################################### sub Hid() while not uo.Hidden() UO.Warmode("0") uo.Print('Hiding...') uo.UseSkill('Stealth') wait(4000) wend wait(100) end sub ################################# sub Recall(dest) var b uo.print('Recoll') for b=1 to 10 uo.deletejournal() uo.waittargetobject(dest) uo.cast('Recall',dest) if WaitForRecall()==1 then return 1 end if next return 0 end sub ################################### sub WaitForRecall() var Text1=uo.getname()+": The spell fizzles." var mess='',lastX=uo.getX(),lastY=uo.getY() for var v=0 to 200 mess=uo.journal(0) if uo.Journal(0)==Text1 then return 0 end if if uo.getX()<>lastX OR uo.getY()<>LastY then return 1 end if wait(50) next return 0 end sub ################################ sub killelem() VAR LastTimer, Elem ,i LastTimer=UO.Timer() UO.DeleteJournal() UO.FindType('0x000E',-1,'ground') Elem=UO.GetSerial('finditem') UO.Exec('warmode 1') UO.Attack(Elem) WalkN(0,0,Elem) UO.Say('Dye mother fucker!') repeat wait(2000) until UO.InJournal('Body') OR LastTimer+500<UO.Timer() UO.Exec('warmode 0') wait(100) LastTimer=UO.Timer() if UO.Life<170 then repeat UO.BandageSelf() wait(4000) until UO.Life>170 OR LastTimer+300<UO.Timer() endif loot() WalkN(q,w,'') end sub ################################## sub loot() DIM R[3] var a R[1] = 0x0EED # äåíüãè R[2] = 0x09AA # ïàíäîðû R[3] = 0x19B9 #ðóäà UO.UseObject('lastcorpse') wait(100) uo.exec("warmode '0'") uo.waittargetobject('lastcorpse') uo.usetype(0x0F51) wait(500) for a=1 to 3 uo.findtype(R[a],"-1","lastcorpse") if UO.FindCount()>0 and Uo.GetDistance("lastcorpse")<=2 then UO.Grab("0","finditem") wait(500) end if wait(10) next end sub ############################## #============================================================== # WalkN(X,Y,Serial) - char is walking by dX and dY step # sub using Home, End, PgUp, PgDown keys # d'not rebind this key from default action! # serial - Serial of target or "" - string # walkwait - delay after keypress # Example: # WalkN(2080,2113,'') - go to coordinates # WalkN(0,0,'0x12345678') - go to target position #-------------------------------------------------------------- sub WalkN(x,y,Target) VAR i,StepSucess VAR dx,dy,Exit=0 While Exit<>1 If Target<>"" Then dx=UO.GetX(Target)-UO.GetX() dy=UO.GetY(Target)-UO.GetY() ; UO.Print("Target locked!") If UO.GetDistance(Target)<2 Then Exit=1 Endif Else dx=x-UO.GetX() dy=y-UO.GetY() If dx==0 AND dy==0 Then Exit=1 Endif Endif If dx<>0 AND dy<>0 Then If dx>0 AND dy>0 Then StepSucess=Go(3,40,300);SE - DownArrow If StepSucess==-1 Then StepSucess=Go(7,38,300);WN - UpArrow StepSucess=Go(1,39,300);NE - RightArrow If StepSucess==-1 Then StepSucess=Go(5,37,300);SW - LeftArrow Endif Endif Endif If dx>0 AND dy<0 Then StepSucess=Go(1,39,300);NE - RightArrow If StepSucess==-1 Then StepSucess=Go(5,37,300);SW - LeftArrow StepSucess=Go(3,40,300);SE - DownArrow If StepSucess==-1 Then StepSucess=Go(7,38,300);WN - UpArrow Endif Endif Endif If dx<0 AND dy>0 Then StepSucess=Go(5,37,300);SW - LeftArrow If StepSucess==-1 Then StepSucess=Go(1,39,300);NE - RightArrow StepSucess=Go(7,38,300);WN - UpArrow If StepSucess==-1 Then StepSucess=Go(3,40,300);SE - DownArrow Endif Endif Endif If dx<0 AND dy<0 Then StepSucess=Go(7,38,300);WN - UpArrow If StepSucess==-1 Then StepSucess=Go(3,40,300);SE - DownArrow StepSucess=Go(5,37,300);SW - LeftArrow If StepSucess==-1 Then StepSucess=Go(1,39,300);NE - RightArrow Endif Endif Endif Endif If dx<>0 AND dy==0 Then If dx>0 Then StepSucess=Go(2,34,300);E - PgDown If StepSucess==-1 Then StepSucess=Go(3,40,300);SE - DownArrow If StepSucess==-1 Then StepSucess=Go(1,39,300);NE - RightArrow Endif StepSucess=Go(2,34,300);E - PgDown Endif Endif If dx<0 Then StepSucess=Go(6,36,300);W - Home If StepSucess==-1 Then StepSucess=Go(7,38,300);WN - UpArrow If StepSucess==-1 Then StepSucess=Go(5,37,300);SW - LeftArrow Endif StepSucess=Go(6,36,300);W - Home Endif Endif Endif If dx==0 AND dy<>0 Then If dy>0 Then StepSucess=Go(4,35,300);S - End If StepSucess==-1 Then StepSucess=Go(3,40,300);SE - DownArrow If StepSucess==-1 Then StepSucess=Go(5,37,300);SW - LeftArrow Endif StepSucess=Go(4,35,300);S - End Endif Endif If dy<0 Then StepSucess=Go(0,33,300);N - PgUp If StepSucess==-1 Then StepSucess=Go(1,39,300);NE - RightArrow If StepSucess==-1 Then StepSucess=Go(7,38,300);WN - UpArrow Endif StepSucess=Go(0,33,300);N - PgUp Endif Endif Endif Wend end sub sub Go(dir,key,walkwait) VAR x,y, OldDir x=UO.GetX() y=UO.GetY() OldDir=UO.GetDir() hid() If UO.GetDir()<>dir Then UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif Endif UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() Then UO.Press(key) wait(walkwait) Endif If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If x==UO.GetX() AND y==UO.GetY() Then UO.Print("Zasada!") return -1 Else return 1 Endif end sub |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|