| Yoko http://forum.yoko.com.ua/ |
|
| mining help http://forum.yoko.com.ua/viewtopic.php?f=20&t=17497 |
Page 1 of 1 |
| Author: | SilverOZ [ 2014-10-13 01:19:16 ] |
| Post subject: | mining help |
добрыи дени, нужна ваше помаши, да сих пор где ни играл месаги каторыи писала сфера при мининге были теже как в скрипте, паиетаму да сихпор я настраивал ток кардинаты хадилки и сундук и в копку, но шяс играю на сервере где месаги и на руском и на англиском. Сопстфена хочитса поняти где будит правилнеи писати месаги штоб он капал правилина, плюс хочитса зделати попрафку в мининге штоб он пот сибя ни копал. Quote: Var Pickaxe1 = '0x0E85'
Var Pickaxe2 = '0x0E86' Var MaxWeight = 350 Var Bank = '0x4001ABBA' Var RuneBook = '0x40006BCF' Var Message1 = 'Вы положили' Var Message2 = 'heavy' Var Message3 = 'location' Var Message4 = 'You decide not mine for now' Var Message5 = "but fail" Var Message6 = 'Too far ' Var Message7 = 'in rock' Var Message8 = "Ты не можешь копать под себя" Var Message9 = 'nothing here' Var Message10 = 'You have found some' Var Message11 = 'There is nothing here to mine for' Var Message12 = "You can't use the" Var Message13 = 'You loosen some rocks but fail to find any useable ore' Var Message14 = 'location' Var Message15 = 'far away' Var Message16 = 'I put' Var Message17 = "Ты не можешь копать под" Var TileNum = '1339' Var NoOre = 0 Var FP sub MiningX() GoToTile( 1917, 373, 0 ,false ) wait(50) Mining() GoToTile( 1915, 373, 0 , false ) wait(50) Mining() GoToTile( 1912, 372, 0 , false ) wait(50) Mining() GoToTile( 1909, 370, 0 , false ) wait(50) Mining() GoToTile( 1905, 369, 0 , false ) wait(50) Mining() GoToTile(1905, 365, 0 , false ) wait(50) Mining() GoToTile(1902, 359, 0 , false ) wait(50) Mining() GoToTile( 1902, 365, 0 , false ) wait(50) Mining() GoToTile( 1903, 368, 0 , false ) wait(50) Mining() GoToTile( 1898, 368, 0 , false ) wait(50) Mining() GoToTile( 1895, 367, 0 , false ) wait(50) Mining() GoToTile( 1893, 365, 0 , false ) wait(50) GoToCave1() EndSub Sub GotoCave1() GoToTile( 1931, 373, 0 , false ) wait(50) GoToTile( 1928, 373, 0 , false ) wait(50) GoToTile( 1925, 373, 0 , false ) wait(50) GoToTile( 1922, 373, 0 , false ) wait(50) GoToTile( 1918, 373, 0 , false ) wait(50) MiningX() endsub Sub GoToCave() GoToTile( 1931, 373, 0 , false ) wait(50) GoToTile( 1928, 373, 0 , false ) wait(50) GoToTile( 1925, 373, 0 , false ) wait(50) GoToTile( 1922, 373, 0 , false ) wait(50) GoToTile( 1918, 373, 0 , false ) MiningX() endsub Sub GoToBank() GoToTile( 1918, 373, 0 , false ) wait(100) GoToTile( 1922, 373, 0 , false ) wait(50) GoToTile( 1925, 373, 0 , false ) wait(50) GoToTile( 1928, 373, 0 , false ) wait(50) GoToTile( 1931, 373, 0 , false ) wait(50) DropOre() endsub Sub Mining() var mx, my, mz, i, j, CheckTime mx = UO.GetX('self') my = UO.GetY('self') mz = UO.GetZ('self') If UO.Weight >= MaxWeight then GoToBank() EndIf For i = mx - 1 to mx + 1 For j = my - 1 to my + 1 EndIf UO.Print('Xy9IPb bPaTyXa: '+str(mx - i)+' '+str(my - j)) If UO.Targeting() then UO.CancelTarget() EndIf Repeat Ruda() UO.DeleteJournal() If NoOre == 300 then Pause() EndIf UO.WaitTargetTile(TileNum, str(i), str(j), str(mz)) Wait(50) UO.UseType(Pickaxe1) CheckTime = UO.Timer() Repeat Wait(100) Until UO.InJournal(Message1) or UO.InJournal(Message2) or UO.InJournal(Message3) or UO.InJournal(Message4) or UO.InJournal(Message5) or UO.InJournal(Message6) or UO.InJournal(Message7) or UO.InJournal(Message8)or UO.InJournal(Message13) or UO.InJournal(Message9) or UO.InJournal(Message10) or UO.InJournal(Message16) or CheckTime + 150 < UO.Timer() or UO.Dead() If UO.InJournal(Message9) then NoOre = NoOre + 1 EndIf Until UO.InJournal(Message11) or UO.InJournal(Message12) or UO.InJournal(Message13) or UO.InJournal(Message14) or UO.InJournal(Message15) or UO.InJournal(Message8) or UO.InJournal(Message9) or UO.InJournal(Message17) or UO.Dead() Next Next EndSub Sub Pause() Var j Var Time NoOre = 0 For j = -100 to 0 uo.msg('Взлетаем через: '+str(j)) Wait(1000) Next EndSub sub DropOre() uo.UseObject(bank) if uo.targeting() then uo.canceltarget() end if DIM Ore[6] Ore[0] = 0x19B7 Ore[1] = 0x19B8 Ore[2] = 0x19B9 Ore[3] = 0x19BA Ore[4] = 0x136C Ore[5] = 0x1F17 var a, quit UO.SetReceivingContainer(Bank) Wait(100) For a = 0 to 5 quit = 0 Repeat UO.FindType(Ore[a], -1, 'backpack') If UO.GetQuantity('finditem') > 0 then UO.Grab('150', 'finditem') Wait(700) Else quit = 1 EndIf Until quit == 1 Next UO.UnSetReceivingContainer() NoOre = 0 wait(2000) GoToCave() end sub Sub GoToTile( OX, OY, N, S ) VAR myx, myy, MD, J VAR Lx1, Ly1 VAR Lx2, Ly2 VAR Sx, Sy VAR T VAR Des = N VAR MoveDelay = 100 J = 1 MD = MoveDelay * 1.5 myx = uo.getx() myy = uo.gety() MoveOnce( GetDir( uo.getx(), uo.gety(), ox, oy), MD, False) Sx = 0 Sy = 0 Lx1 = uo.getx() / 2 Ly1 = uo.gety() / 2 Lx2 = Lx1 / 2 Ly2 = Ly1 / 2 T = UO.Timer() If (GetDistance(ox, oy) <> N) OR ( (NOT S) AND GetDistance(ox, oy) > N ) Then UO.Exec('exec PermResend') EndIf While ( (GetDistance(ox, oy) <> N) OR ((NOT S) and GetDistance(ox, oy) > N) ) and ( OX >= 0 ) and ( OY >= 0 ) If ( (UO.Timer() - T) * 15 > MoveDelay ) Then T = UO.Timer() Lx2 = Lx1 Ly2 = Ly1 Lx1 = myx Ly1 = myy myx = uo.getx() myy = uo.gety() endIf MD=MoveDelay If ((OX-uo.getx())*(OX-uo.getx())+(OY-uo.gety())*(OY-uo.gety())>0) Then MD = MD * 3 / GetDistance( ox, oy ) EndIf wait(MD) If GetDistance( OX, OY ) > Des Then MoveOnce(GetDir(uo.GetX(),uo.GetY(),ox,oy),MD,False) Else If S Then If GetDistance(OX,OY)<Des Then If GetDistance(OX,OY)<>0 Then MoveOnce(GetDir(ox,oy,uo.GetX(),uo.GetY()),MD,False) Else MoveOnce(GetDir(uo.GetX(),uo.GetY(),Lx2,Ly2),MD,False) EndIf EndIf EndIf EndIf If GetDistance(OX,OY)<>Des Then If (Lx2==uo.getx()) and (Ly2==uo.gety()) Then If (Sx<>uo.getx()) or (Sy<>uo.gety()) Then J=1 EndIf J=J+1 UO.Resend() Sx = uo.getx() Sy = uo.gety() Stun(ox,oy,J) EndIf EndIf Wend UO.Exec( 'terminate PermResend' ) endsub ; ; ============ MOVEONCE === ; I?ioaao?a MoveOnce - oi?aaiea a ii?aaae?iio? noi?iio ; Iai?aaeaiey: ; Nenoaia iai?aaeaiee ii eeaaeoai Ioiiaaa ; 8 = 1 | 2 = -1 ; 9 = 2 | 1 = -2 ; 6 = 3 | 4 = -3 ; 3 = 4 | 7 = -4 ; ; Oaeay nenoaia iicaieyao n e?aeinou? iieo?aou iai?aaeaiea, ia?aoiia ; aaiiiio... ; Sub MoveOnce( Dir, Del, Rev ) VAR Num Var MoveNumber = 1 If Rev Then Num = MoveNumber + 1 Else Num = MoveNumber EndIf If ( Num > 0 ) and ( Dir <> 0 ) Then If Dir == 1 Then UO.Press( 38, Num, Del ) EndIf If Dir == 2 Then UO.Press( 33, Num, Del ) EndIf If Dir == 3 Then UO.Press( 39, Num, Del ) EndIf If Dir == 4 Then UO.Press( 34, Num, Del ) EndIf If Dir == -1 Then UO.Press( 40, Num-1, Del ) EndIf If Dir == -2 Then UO.Press( 35, Num, Del ) EndIf If Dir == -3 Then UO.Press( 37, Num, Del ) EndIf If Dir == -4 Then UO.Press( 36, Num, Del ) EndIf If Rev Then If Dir <> -1 Then UO.Press( 40, 1, Del ) EndIf EndIf EndIf endsub ; ; ============== GETDIR === ; Ooieoey GetDir aica?auaao iai?aaeaiea, ii eioi?iio iaai eaoe ; e eii?aeiaoa ; Sub GetDir( myx, myy, ox, oy ) VAR I, J J = 0 VAR X = ox - myx VAR Y = oy - myy I = GetQDir( Abs(X), Abs(Y) ) If X >= 0 Then If Y >= 0 Then If I == 1 Then J = -2 Else If I == 2 Then J = -1 Else If I == 3 Then J = 4 EndIf EndIf EndIf Else If I == 1 Then J = 2 Else If I == 2 Then J = 3 Else If I == 3 Then J = 4 EndIf EndIf EndIf EndIf Else If Y >= 0 Then If I == 1 Then J = -2 Else If I == 2 Then J = -3 Else If I == 3 Then J = -4 EndIf EndIf EndIf Else If I == 1 Then J = 2 Else If I == 2 Then J = 1 Else If I == 3 Then J = -4 EndIf EndIf EndIf EndIf EndIf RETURN J endsub ; ; =============== GETQDIR === ; ; Sub GetQDir( x, y ) VAR Ep = 0.172 VAR J = 0 If X == 0 Then J = 1 Else If ( Y / X ) < Ep Then J = 3 Else If ( X / Y ) < Ep Then J = 1 Else J = 2 EndIf EndIf EndIf RETURN J endsub ; ; ============== GETDISTANCE === ; Ooieoey GetDistance aica?auaao ?annoiyiea ai eii?aeiao ; (eae UO.GetDistance - ai iauaeoa) ; ; Ii?aio oae - iioiio ?oi o?ei iaoaiaoeeo ; Sub GetDistance( X, Y ) VAR A, B, C A = abs( X - UO.GetX() ) B = abs( Y - UO.GetY() ) If A > B Then C = A Else C = B EndIf Return C endsub ; ; ============= PERP === ; Ooieoey Perp aica?auaao iai?aaeaiea, ia?iaiaeeoey?iia aaaa?iiiio ; Sub Perp( Dir ) VAR D = Dir If Dir == 1 Then D = 3 EndIf If Dir == 2 Then D = 4 EndIf If Dir == 3 Then D = -1 EndIf If Dir == 4 Then D = -2 EndIf If Dir == -1 Then D = -3 EndIf If Dir == -2 Then D = -4 EndIf If Dir == -3 Then D = 1 EndIf If Dir == -4 Then D = 2 EndIf RETURN D endsub ; ; =============== STUN === ; Iaoia i?aiyonoaee ; Sub Stun( X, Y, N ) VAR I VAR myx VAR myy VAR MoveDelay = 100 myx = uo.getx() myy = uo.gety() For I=1 to N MoveOnce(perp(GetDir(myx,myy,x,y)),MoveDelay,False) Next Wait(MoveDelay) UO.Resend() If (myx==uo.getx()) and (myy==uo.gety()) Then For I=1 to N MoveOnce(-perp(GetDir(myx,myy,x,y)),MoveDelay,False) Next Wait(MoveDelay) UO.Resend() EndIf If (myx==uo.getx()) and (myy==uo.gety()) Then For I=1 to N MoveOnce(-GetDir(myx,myy,x,y),MoveDelay,False) Next Wait(MoveDelay) Stun(x,y,N) EndIf endsub ; ; ============= ABS === ; Oae?aao ciae ieiona a io?eoaoaeuiuo ?eneao ; Sub abs( a ) VAR b If a < 0 Then b = -a Else b = a endif return b endsub ; ; ============== PERMRESEND === ; Sub PermResend() Var Mn = 9 VAR MoveDelay = 100 Repeat UO.Resend() Wait( MoveDelay * Mn ) Until ( 1 > 2 ) Endsub sub Reconnector() var ReconnectTime, RFlag ReconnectTime = '0' RFlag = 1 Repeat While (UO.ObjAtLayer('Bpack') == '') if RFlag Then ReconnectTime = MakeTime() RFlag = 0 endif Wait(20000) # WorldSave Protection 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.Exec('terminate all') ;UO.Exec('exec autoload') UO.TextOpen() UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime) RFlag = 1 ReconnectTime = '0' endif Until false end sub 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 = STR(UO.Date()) D = "" For i = 0 To Len(Ret) D = Ret[Len(Ret)-i] + D If (I == 2) OR (I == 4) Then D = "." + D EndIf Next Ret = T + " @ " + D RETURN Ret end sub Sub CheckLag() UO.DeleteJournal() UO.Click('backpack') repeat wait(100) until UO.InJournal('backpack') end sub |
|
| Author: | Mirage [ 2014-10-13 20:50:04 ] |
| Post subject: | Re: mining help |
правильно будет вот в этом куске Code: Repeat после первого Until должны идти ВСЕ возможные сообщения: вырубили, не вырубили, сломалось, упало, встало, ударили..... а после второго Until - только то чем добыча заканчивается - далеко, не достать, не видишь, нет древесины/руды/рыбы. Прогоняешь ручками несколько раз оружие - ствол/пол/вода, копируешь фразы и вписываешь, потом в процессе отслеживаешь фразы на которых скрипт встал - дополняешь. Ну или прописать выход из цикла по счетчику-таймеру. Примеры есть на форуме. |
|
| Author: | SilverOZ [ 2014-10-14 05:21:19 ] |
| Post subject: | Re: mining help |
шяс папробуим |
|
| Author: | SilverOZ [ 2014-10-15 05:54:12 ] |
| Post subject: | Re: mining help |
потправил месаги, всио начила работати, начинаит капати, даходит с нижнеи стараны и начинаит пот сибя капати, и пишыт - Ты не можешь копать под себя, и так пофторяит всигда, после етава ничиво болише ни делаит, вчиом праблема? и как поивляится месага на руском так у чяра делаитса задершка |
|
| Author: | Mirage [ 2014-10-15 07:04:07 ] |
| Post subject: | Re: mining help |
Var Message8 = "не можешь" поправь на такое. |
|
| Author: | SilverOZ [ 2014-10-15 09:46:22 ] |
| Post subject: | Re: mining help |
Как приду дамои папробую, уминя вапрос а пачиму имина без Ты нада писати, проста хачю паняти как правилина пистаи месаги, штоб ни спрашывати многа раз, патамушто уминя ашюшение ишио будут месаги каторыи нада будит редактиравати |
|
| Author: | Mirage [ 2014-10-15 15:32:54 ] |
| Post subject: | Re: mining help |
инжект сильно капризен на регистр букв. Если у тебя в игре написано Apple а в скрипте apple то проверка не сработает. А если у тебя будет написано pple то сработает. Вот такая загогулина PS точки и другие знаки препинания лучше тоже сжечь. Главное не переусердствовать. У меня проверялка сообщений выглядит примерно вот так: Code: VAR allmsg = 'Try|table|attacking you|%|destroyed|broke|useable|put the|is nothing here to mine|Wthere do you|have no line|mining elsewhere|too far away|so close to yourself|Logs|nothing|ou hack at the tree|no logs|ou can|reach this|hat is too far away|do much|t appears immune to your blow|cannot|fishing elsewhere|too far away|pull out|anything|no fish|0xAD00|0xA867|0xA2DE|0xAD03|0x5DE0|0x5DE1|0x5DE2|0x5DE3|0x5DE4|0x5DE5|0x5DE6|0x5DE7|выкопали|Вы положили|Вам не удалось|У вас нет|ничего|Тут ничего|Попробуйте|атакует|положили|древесина кончилась|дрова|ударили по дереву|ут нечего рубить|ы не можете до этого достать|ерево слишком далеко|то кажется свободным для вашего удара|поймали|не получилось|нету рыбы|месте|далеко|вытащили удочку' есть вроде пара дублирующихся сообщений но такой вариант вполне себе работает досих пор - предназначался для 3 разных добывающих скриптов, 3 разных шардов на 2 разных эмуляторов. |
|
| Author: | Juicy Fruit [ 2014-10-15 16:14:24 ] |
| Post subject: | Re: mining help |
А что за % в поиске сообщений? Какой–нибудь дурень будет спамить) Или проверка на сис сообщение? |
|
| Author: | Mirage [ 2014-10-15 17:41:42 ] |
| Post subject: | Re: mining help |
сис сообщение было на одном сервере - что то типо "выловили 100% рыбы". Насчет дурень спамить - там надо сверять ID сообщения - дополнительная проверка. |
|
| Author: | SilverOZ [ 2014-10-15 18:46:06 ] |
| Post subject: | Re: mining help |
поминял, ну всиоравно на томже етапе умираит |
|
| Author: | SilverOZ [ 2014-10-16 20:11:01 ] |
| Post subject: | Re: mining help |
плюс пирипробывал все варянты месаги пистаив сиоравно ничиво не миняитса. потскажыте как можна ета исправити |
|
| Author: | SilverOZ [ 2014-10-18 08:04:12 ] |
| Post subject: | Re: mining help |
Тут 3 типа месаг, чиста на руском, англиски и руски в месте и чиста на аглгиском, ни рягируит на рускии месаги. вот сопфстфина скрин, можыт зашита стаит какаита?
|
|
| Author: | SilverOZ [ 2014-10-18 10:42:57 ] |
| Post subject: | Re: mining help |
нашол праблему я сахранял скрипт в ут8 штоб видити рускии текст с скриптах а он работаит ток 1251 анси кирилик, мне вот интиресна ести какоита формат штоб и в скрипте видел рускии текст и штоб работал с инжои |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|