Code: Select all
смотрим ниже
Уххх, долго переделывал этот скрипт под ДРВ , много чего поменял, дополнил.
Но работает норм!
Можно ли его как нибудь оптимизировать или дополнить?!

Moderators: Murderator+, Murderator
Code: Select all
смотрим ниже
Code: Select all
смотрим ниже
Code: Select all
Fish[4] = '0x0DD6' #Prize Fish
Fish[5] = '0x0DD6' #Truly Rare Fish
Code: Select all
Os version is 5.1, build 2600, NT platform..
**Warning: Your prefarable codepage is 1251
**Warning: UOKeys.cfg loaded, 37 entryes.
**Warning: Replaces found. **Warning: text replaces: 90
**Warning: config attribute ignored: MultyUO
**Warning: YokoInjection 702.11 PaWn
**Warning: Encryption set to: 2.0.3 (OSI Client = 2.0.3)
***Error: Unhandled exception 1: 0xC0000005 at 7C9369AA
***Error: injection.dll base: 0FBC0000
***Error: script.dll base: 0FF40000
***Error: EAX=00000064, EBX=00000011, ECX=0FE41D28, EDX=00720061
***Error: ESI=0FE41C40, EDI=0FE41C98, ESP=0012F748, EBP=0012F968
***Error: EIP=7C9369AA, EFLAGS=00010246
***Error: Bytes at EIP:
0000: 8b 00 3b 42 04 0f 85 12 01 00 00 3b c1 0f 85 0a : ..;B.......;....
***Error: Bytes at ESP:
0000: 92 1a 3a 40 50 00 00 00 88 bd d3 0f 20 67 3a 39 : ..:@P....... g:9
0010: 36 31 34 37 35 20 7c 20 62 6d 3a 30 20 62 70 3a : 61475 | bm:0 bp:
0020: 30 20 67 61 3a 30 20 67 73 3a 30 20 6d 72 3a 30 : 0 ga:0 gs:0 mr:0
0030: 20 6e 73 3a 30 20 73 61 3a 30 20 73 73 3a 30 20 : ns:0 sa:0 ss:0
***Error: Unhandled exception 2: 0xC0000005 at 7C910CAE
***Error: injection.dll base: 0FBC0000
***Error: script.dll base: 0FF40000
***Error: EAX=00000002, EBX=0FD30000, ECX=0FECFD60, EDX=0FD30278
***Error: ESI=0FECFD58, EDI=0FE41AF2, ESP=0012F7B0, EBP=0012F9D0
***Error: EIP=7C910CAE, EFLAGS=00010212
***Error: Bytes at EIP:
0000: 8b 10 3b 57 04 0f 85 f8 5d 02 00 3b d1 0f 85 f0 : ..;W....]..;....
***Error: Bytes at ESP:
0000: 71 1a e4 0f 10 00 00 00 28 cc e8 0f bb 01 91 7c : q.......(......|
0010: 41 00 00 00 50 00 00 00 28 cc e8 0f e7 cc e9 0f : A...P...(.......
0020: 00 00 00 00 f8 63 e4 0f 0c 64 e4 0f 00 00 00 00 : .....c...d......
0030: 00 00 00 00 00 00 00 00 0c f9 12 00 00 00 00 00 : ................
***Error: Unhandled exception 3: 0xC0000005 at 7C911033
***Error: Unhandled exception 4: 0xC0000005 at 7C910CAE
***Error: Unhandled exception 5: 0xC0000005 at 7C910CB0
***Error: Unhandled exception 6: 0xC0000005 at 7C911033
***Error: Unhandled exception 7: 0xC0000005 at 7C910CAE
***Error: Unhandled exception 8: 0xC0000005 at 7C911033
***Error: Unhandled exception 9: 0xC0000005 at 7C910CB0
***Error: Unhandled exception 10: 0xC0000005 at 7C910CB0
***Error: Unhandled exception 11: 0xC0000005 at 7C910CAE
***Error: Unhandled exception 12: 0xC0000005 at 7C910CB0
***Error: Unhandled exception 13: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 14: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 15: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 16: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 17: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 18: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 19: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 20: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 21: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 22: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 23: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 24: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 25: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 26: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 27: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 28: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 29: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 30: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 31: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 32: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 33: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 34: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 35: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 36: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 37: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 38: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 39: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 40: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 41: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 42: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 43: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 44: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 45: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 46: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 47: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 48: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 49: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 50: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 51: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 52: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 53: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 54: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 55: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 56: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 57: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 58: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 59: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 60: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 61: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 62: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 63: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 64: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 65: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 66: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 67: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 68: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 69: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 70: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 71: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 72: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 73: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 74: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 75: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 76: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 77: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 78: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 79: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 80: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 81: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 82: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 83: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 84: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 85: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 86: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 87: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 88: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 89: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 90: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 91: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 92: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 93: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 94: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 95: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 96: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 97: 0xC0000005 at 0FC3F285
***Error: Unhandled exception 98: 0xC0000005 at 0FC3F299
***Error: Unhandled exception 99: 0xC0000005 at 0FC3F285
***Error: Unhandled exception100: 0xC0000005 at 0FC3F299
***Error: Unhandled exception101: 0xC0000005 at 0FC3F285
***Error: Unhandled exception102: 0xC0000005 at 0FC3F299
***Error: Unhandled exception103: 0xC0000005 at 0FC3F285
***Error: injection.dll base: 0FBC0000
***Error: script.dll base: 0FF40000
***Error: EAX=0FE9CC7C, EBX=00000000, ECX=00000000, EDX=0FE50FB3
***Error: ESI=0000000B, EDI=00000002, ESP=0012FA28, EBP=0F00102D
***Error: EIP=0FC3F285, EFLAGS=00010246
***Error: Bytes at EIP:
0000: 8a 4d 00 8b 58 08 33 d2 8b 0c cd ec 87 c7 0f 03 : .M..X.3.........
***Error: Bytes at ESP:
0000: 70 fd ec 0f 70 fd ec 0f 28 4e a7 3b 00 00 01 00 : p...p...(N.;....
0010: b2 0f e5 0f 00 00 01 00 0e c0 bd 0f 28 4e a7 3b : ............(N.;
0020: 00 10 00 0f 64 fa 12 00 58 fa 12 00 28 cc e8 0f : ....d...X...(...
0030: e0 0f e5 0f 62 c0 bd 0f 28 4e a7 3b 00 00 01 00 : ....b...(N.;....
Code: Select all
; НЕ ЗАБУДЬТЕ ВКЛЮЧИТЬ 'Track world items'!!!
Code: Select all
; НЕ ЗАБУДЬТЕ ВКЛЮЧИТЬ 'Track world items'!!!
VAR Trum = '0x40068094' ; сундук для основного улова
VAR Shag = 1 ; первый шаг при ловле вперед. При ловле вперед
; прибавляем по 1, при ловле назад будем ставить
; отрицательные числа.
; ================================================================
; StartFishing() - Запуск фишинга. Сделано в виде отдельной процедуры,
; чтобы не переустанавливать лишний раз глобалку
sub StartFishing()
UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
UO.Exec( 'exec Fishing' )
wait(100)
UO.Exec('terminate Reconnector')
wait(100)
UO.Exec('exec Reconnector')
uo.useobject('backpack')
wait(1000)
endsub
; ================================================================
; Fishing() - Основная процедура фишинга
;
Sub Fishing()
UO.WarMode( 0 )
wait(500)
While TRUE
FishForward()
If UO.Dead() Then
return
Endif
Wend
endsub
; ================================================================
; FishForward() - Процедура ловли вокруг лодки и сдвига корабля
;
Sub FishForward()
VAR x, y
repeat
For y = -4 To 4
For x = -4 To -1
FishTile( x, y )
If UO.Dead() Then
return
Endif
Next
Next
If Shag > 10 Then
; пока сделаем плыть назад
UO.SayU( 'back' )
wait(40000)
UO.SayU( 'stop' )
Shag = 0
Endif
Shag = Shag + 1
UO.SayU( 'forward' )
wait( 10000 )
UO.SayU( 'stop' )
until UO.Dead()
endsub
; ================================================================
; FishTile() - Процедура ловли в заданном тайле
;
Sub FishTile( x, y )
VAR Ms0 = "You can't see" ; не можем ловит здесь
VAR Ms1 = "You can't fish under the ship" ; не можем ловить здесь
VAR Ms2 = "You are too far away" ; далеко
VAR Ms3 = "There are no fish here" ; кончилось тут
VAR Ms4 = "You fish a while, but fail to catch anything" ; физл
VAR Ms5 = "You pull out" ; поймал что-то
VAR k, t, v
VAR MaxTime = 300
k = 0
repeat
If UO.Dead() Then
return
Endif
DeleteJournal(ms0)
DeleteJournal(ms1)
DeleteJournal(ms2)
DeleteJournal(ms3)
DeleteJournal(ms4)
DeleteJournal(ms5)
t = UO.Timer()
If UO.Waiting() Then
UO.CancelTarget()
Endif
UO.WaitTargetTile( '0', STR( UO.GetX() + x ), STR( UO.GetY() + y ), '251')
UO.UseObject( UO.GetSerial( UO.ObjAtLayer( 'Lhand' ) ) )
repeat
wait(300)
until UO.InJournal(ms0) OR UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR ((t + MaxTime) < UO.Timer())
If UO.InJournal(ms0) OR UO.InJournal(ms1) OR UO.InJournal(ms2) Then
wait(3000)
Endif
k = k + 1
If UO.InJournal(ms5) Then
k = 0
Endif
If UO.Dead() Then
return
Endif
If UO.InJournal( ms5 ) Then
GetResultFish()
Endif
until UO.InJournal(ms0) OR UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR (k > 6)
endsub
; ================================================================
; GetResultFish() - Процедура подбора рузультатов лова
;
Sub GetResultFish()
; ------- улов -------
DIM Fish[7]
Fish[0] = '0x09CC' #fish1
Fish[1] = '0x09CD' #fish2
Fish[2] = '0x09CE' #fish3
Fish[3] = '0x09CF' #fish4
Fish[4] = '0x0DD6' #Truly or Prize Rare Fish
Fish[5] = '0x14EB' #Tattered Treasure map
Fish[6] = '0x0DCA' #Fishing Net
VAR Razmer = 6 ; размер массива - 1
VAR i,RetValue = 0
For i=0 To Razmer
UO.FindType( Fish[i], -1, 'ground' )
CheckLag()
If UO.FindCount() > 0 Then
RetValue = 1
If i < 7 Then
UO.MoveItem( 'finditem', '0', Trum )
CheckLag()
wait( 2000 )
Endif
Endif
Next
return RetValue
endsub
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, 'string replaced' )
DeleteJournal( string1 )
Endif
endsub
sub CheckLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('backpack')
end sub
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 StartFishing')
wait(1000)
UO.Exec('exec StartFishing')
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
Code: Select all
; ================================================================
; GetResultFish() - Процедура подбора рузультатов лова
;
Sub GetResultFish()
; ------- улов -------
DIM Fish[7]
Fish[0] = '0x09CC' #fish1
Fish[1] = '0x09CD' #fish2
Fish[2] = '0x09CE' #fish3
Fish[3] = '0x09CF' #fish4
Fish[4] = '0x0DD6' #Truly or Prize Rare Fish
Fish[5] = '0x14EB' #Tattered Treasure map
Fish[6] = '0x0DCA' #Fishing Net
VAR Razmer = 6 ; размер массива - 1
VAR i,RetValue = 0
For i=0 To Razmer
UO.FindType( Fish[i], -1, 'ground' )
CheckLag()
If UO.FindCount() > 0 Then
RetValue = 1
If i < 7 Then
UO.MoveItem( 'finditem', '0', Trum )
CheckLag()
wait( 2000 )
Endif
Endif
Next
return RetValue
endsub
Code: Select all
; ================================================================
; FishForward()
;
Sub FishForward()
VAR x, y
repeat
For y = -4 To 4
For x = -4 To -1
FishTile( x, y )
If UO.Dead() Then
return
Endif
Next
Next
If Shag > 10 Then
UO.SayU( 'back' )
wait(40000)
UO.SayU( 'stop' )
Shag = 0
Endif
Shag = Shag + 1
UO.SayU( 'forward' )
wait( 10000 )
UO.SayU( 'stop' )
until UO.Dead()
endsub
Code: Select all
Sub FishForward()
VAR x, y
repeat
For y = -4 To 4
For x = -4 To -1
FishTile( x, y )
If UO.Dead() Then
return
Endif
Next
Next
If Shag > 10 Then
; пока сделаем плыть назад
UO.SayU( 'back' )
wait(40000)
UO.SayU( 'stop' )
Shag = 0
Endif
Shag = Shag + 1
UO.SayU( 'forward' )
wait( 10000 )
UO.SayU( 'stop' )
until UO.Dead()
endsub
Code: Select all
UO.FindType( Fish[i], -1, 'ground' )
Code: Select all
UO.FindType( Fish[i],' -1', 'ground' )
Code: Select all
VAR Shag = 1 ; первый шаг при ловле вперед. При ловле вперед
; прибавляем по 1, при ловле назад будем ставить
; отрицательные числа.
Code: Select all
UO.SayU( 'stop' )
Shag = 0
Endif
Shag = Shag + 1
UO.SayU( 'forward' )
Code: Select all
If i < 7 Then
UO.MoveItem( 'finditem', '0', Trum )
CheckLag()
wait( 2000 )
Endif
Millerbeer wrote:вот тутCode: Select all
UO.SayU( 'stop' )
Shag = 0
Endif
Shag = Shag + 1
UO.SayU( 'forward' )
при определённых условиях он скажет практически без паузы
stop
forward
сервак, помоему, ругается на такое
Code: Select all
UO.SayU( 'stop' )
Millerbeer wrote:послеwait, наверное 500Code: Select all
UO.SayU( 'stop' )
Code: Select all
; НЕ ЗАБУДЬТЕ ВКЛЮЧИТЬ 'Track world items'!!!
VAR Trum = '0x40068094' ; сундук для основного улова
VAR Pole = '0x0DBF' ; удочка
VAR Shag = 1 ; первый шаг при ловле вперед. При ловле вперед
; прибавляем по 1, при ловле назад будем ставить
; отрицательные числа.
Millerbeer wrote:А в инже разве можно так глобалки обьявлять? Типа как в С, просто обьявив их перед всеми функциями? Я каг бе не в курсеCode: Select all
; НЕ ЗАБУДЬТЕ ВКЛЮЧИТЬ 'Track world items'!!!
VAR Trum = '0x40068094' ; сундук для основного улова
VAR Pole = '0x0DBF' ; удочка
VAR Shag = 1 ; первый шаг при ловле вперед. При ловле вперед
; прибавляем по 1, при ловле назад будем ставить
; отрицательные числа.
там вверху какие нибудь sub есть?
Millerbeer wrote:там ни слова нет про такой способ, все локальные переменные создаются внутри функций, если надо, передаются в другие функции, а глобальные тока uo.setglobal, uo.getglobat или переменные Изи, так что если это работает, то работать оно не должно