Yoko

All sides of Injection
It is currently 2024-03-29 17:56:56

All times are UTC+02:00




Post new topic  Reply to topic  [ 13 posts ] 
Author Message
 Post subject: mining help
PostPosted: 2014-10-13 01:19:16 
Offline
User avatar

Joined: 2006-05-23 08:24:24
Posts: 58
Location: Moldova
добрыи дени, нужна ваше помаши, да сих пор где ни играл месаги каторыи писала сфера при мининге были теже как в скрипте, паиетаму да сихпор я настраивал ток кардинаты хадилки и сундук и в копку, но шяс играю на сервере где месаги и на руском и на англиском. Сопстфена хочитса поняти где будит правилнеи писати месаги штоб он капал правилина, плюс хочитса зделати попрафку в мининге штоб он пот сибя ни копал.
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


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-13 20:50:04 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
правильно будет вот в этом куске
Code:
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

после первого Until должны идти ВСЕ возможные сообщения: вырубили, не вырубили, сломалось, упало, встало, ударили.....
а после второго Until - только то чем добыча заканчивается - далеко, не достать, не видишь, нет древесины/руды/рыбы.
Прогоняешь ручками несколько раз оружие - ствол/пол/вода, копируешь фразы и вписываешь, потом в процессе отслеживаешь фразы на которых скрипт встал - дополняешь. Ну или прописать выход из цикла по счетчику-таймеру. Примеры есть на форуме.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-14 05:21:19 
Offline
User avatar

Joined: 2006-05-23 08:24:24
Posts: 58
Location: Moldova
шяс папробуим


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-15 05:54:12 
Offline
User avatar

Joined: 2006-05-23 08:24:24
Posts: 58
Location: Moldova
потправил месаги, всио начила работати, начинаит капати, даходит с нижнеи стараны и начинаит пот сибя капати, и пишыт - Ты не можешь копать под себя, и так пофторяит всигда, после етава ничиво болише ни делаит, вчиом праблема? и как поивляится месага на руском так у чяра делаитса задершка


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-15 07:04:07 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Var Message8 = "не можешь"

поправь на такое.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-15 09:46:22 
Offline
User avatar

Joined: 2006-05-23 08:24:24
Posts: 58
Location: Moldova
Как приду дамои папробую, уминя вапрос а пачиму имина без Ты нада писати, проста хачю паняти как правилина пистаи месаги, штоб ни спрашывати многа раз, патамушто уминя ашюшение ишио будут месаги каторыи нада будит редактиравати


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-15 15:32:54 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
инжект сильно капризен на регистр букв.
Если у тебя в игре написано 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|выкопали|Вы положили|Вам не удалось|У вас нет|ничего|Тут ничего|Попробуйте|атакует|положили|древесина кончилась|дрова|ударили по дереву|ут нечего рубить|ы не можете до этого достать|ерево слишком далеко|то кажется свободным для вашего удара|поймали|не получилось|нету рыбы|месте|далеко|вытащили удочку'
VAR endmsg = '%|destroyed|is nothing|here to mine|have no line|mining elsewhere|too far away|so close to yourself|no logs|ou can|cannot|fishing elsewhere|no fish|0xAD00|0xA867|0xA2DE|Тут ничего|нет руды| вас нет|Попробуйте|древесина кончилась|ут нечего рубить|ы не можете до этого достать|ерево слишком далеко|свободным для вашего удара|нету рыбы|в другом месте|далеко|вытащили удочку'

:mrgreen:
есть вроде пара дублирующихся сообщений но такой вариант вполне себе работает досих пор - предназначался для 3 разных добывающих скриптов, 3 разных шардов на 2 разных эмуляторов.
:roll:

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-15 16:14:24 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
А что за % в поиске сообщений? Какой–нибудь дурень будет спамить)
Или проверка на сис сообщение?


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-15 17:41:42 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
сис сообщение было на одном сервере - что то типо "выловили 100% рыбы". Насчет дурень спамить - там надо сверять ID сообщения - дополнительная проверка.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-15 18:46:06 
Offline
User avatar

Joined: 2006-05-23 08:24:24
Posts: 58
Location: Moldova
поминял, ну всиоравно на томже етапе умираит


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-16 20:11:01 
Offline
User avatar

Joined: 2006-05-23 08:24:24
Posts: 58
Location: Moldova
плюс пирипробывал все варянты месаги пистаив сиоравно ничиво не миняитса. потскажыте как можна ета исправити


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-18 08:04:12 
Offline
User avatar

Joined: 2006-05-23 08:24:24
Posts: 58
Location: Moldova
Тут 3 типа месаг, чиста на руском, англиски и руски в месте и чиста на аглгиском, ни рягируит на рускии месаги. вот сопфстфина скрин, можыт зашита стаит какаита?
Image


Top
   
 Post subject: Re: mining help
PostPosted: 2014-10-18 10:42:57 
Offline
User avatar

Joined: 2006-05-23 08:24:24
Posts: 58
Location: Moldova
нашол праблему я сахранял скрипт в ут8 штоб видити рускии текст с скриптах а он работаит ток 1251 анси кирилик, мне вот интиресна ести какоита формат штоб и в скрипте видел рускии текст и штоб работал с инжои


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 13 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 17 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited