Обычный скрипт копать во круг себя?
Posted: 2006-10-09 09:37:59
Как это вообще зделать? Я в инже нечего не понимаю, выложите плиз, а
я разбираться буду. Заранее спасибо
я разбираться буду. Заранее спасибо
omi4 wrote:Поиск и прикрепленные темы тебе помогут. Если хочешь научится писать, научись читать.
viewtopic.php?t=2901
Code: Select all
#####################################################################
; MiningAround. v.2.01b (c) Edred
;
; Копаем вокруг чара. Используется ASM-модуль для инжекта для поиска
; выкапыемых тайлов или краев скал.
;
; MiningAround2 - вскапываем вокруг чара без АСМа
;
;
sub MiningAround()
; MiningAround() - вскапываем вокруг чара
;
VAR t, k, CanMine, cx, cy, tmpx, tmpy, pointX, pointY, flag
VAR MaxTime = 600 ; измеряется в 1/10 сек.
VAR ms1 = "There is no ore here to mine"
VAR ms2 = "Это не копается."
VAR ms3 = "in your pack."
VAR ms4 = "You fail to find any useable ore"
VAR ms5 = "Далеко. Не дотянуться."
VAR ms6 = "Try mining in rock"
; VAR ms7 = "You can't see that"
VAR ms7 = "Хм... Не вижу.. Где копать то?."
VAR ms8 = "is destroyed*" ; кирка развалилась совсем
VAR ms9 = "ore at your feet." ; предположительно - элементаль
UO.asmTLMapOpen('Resource_Map.dat') ; Загрузим таблицу типов карты
UO.asmTLStaticOpen('Resource_Static.dat') ; Загрузим таблицу типов статики
VAR i, strpoint
VAR MaxVes = 600
cx = UO.GetX()
cy = UO.GetY()
for tmpx = -2 to 2
for tmpy = -2 to 2
k = 0
pointX = cx + tmpx
pointY = cy + tmpy
repeat
DeleteJournal( ms1 )
DeleteJournal( ms2 )
DeleteJournal( ms3 )
DeleteJournal( ms4 )
DeleteJournal( ms5 )
DeleteJournal( ms6 )
DeleteJournal( ms7 )
DeleteJournal( ms8 )
DeleteJournal( ms9 )
t = UO.Timer() + MaxTime
k = k + 1
flag = 1
wait(300)
If UO.Waiting() Then
UO.CancelTarget()
Endif
CanMine = UO.asmWaitTargetMapTile( 'rock', pointX, PointY, 0 )
wait(50)
If CanMine Then
UO.UseObject(UO.ObjAtLayer('Lhand'))
Else
If UO.Waiting() Then
UO.CancelTarget()
Endif
CanMine = UO.asmWaitTargetStaticTile( 'rock', PointX, PointY, 0 )
wait(50)
If CanMine Then
UO.UseObject(UO.ObjAtLayer('Lhand'))
Else
flag = 0
Endif
EndIf
If flag == 1 Then
repeat
wait(100)
until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR UO.InJournal(ms9) OR (t < UO.Timer())
Endif
If UO.InJournal( ms9 ) Then
; вывалился элементаль...
return
Endif
If UO.Weight > MaxVes Then
; Вес превышен!
return
Endif
If UO.InJournal( ms8 ) Then
; кирка накрылась!
return
Endif
until NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10)
next
next
If UO.Waiting() Then
UO.CancelTarget()
Endif
endsub
sub MiningAround2()
; MiningAround2() - вскапываем вокруг чара без АСМа
;
VAR t, k, CanMine, cx, cy, tmpx, tmpy, pointX, pointY, flag
VAR MaxTime = 600 ; измеряется в 1/10 сек.
VAR ms1 = "There is no ore here to mine"
VAR ms2 = "Это не копается."
VAR ms3 = "in your pack."
VAR ms4 = "You fail to find any useable ore"
VAR ms5 = "Далеко. Не дотянуться."
VAR ms6 = "Try mining in rock"
; VAR ms7 = "You can't see that"
VAR ms7 = "Хм... Не вижу.. Где копать то?."
VAR ms8 = "is destroyed*" ; кирка развалилась совсем
VAR ms9 = "ore at your feet." ; предположительно - элементаль
VAR i, strpoint
VAR MaxVes = 600
cx = UO.GetX()
cy = UO.GetY()
for tmpx = -2 to 2
for tmpy = -2 to 2
k = 0
pointX = cx + tmpx
pointY = cy + tmpy
repeat
DeleteJournal( ms1 )
DeleteJournal( ms2 )
DeleteJournal( ms3 )
DeleteJournal( ms4 )
DeleteJournal( ms5 )
DeleteJournal( ms6 )
DeleteJournal( ms7 )
DeleteJournal( ms8 )
DeleteJournal( ms9 )
t = UO.Timer() + MaxTime
k = k + 1
flag = 1
wait(300)
If UO.Waiting() Then
UO.CancelTarget()
Endif
UO.WaitTargetTile( 'all', str(pointX), str(PointY), '0' )
UO.UseObject(UO.ObjAtLayer('Lhand'))
repeat
wait(100)
until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR UO.InJournal(ms9) OR (t < UO.Timer())
Endif
If UO.InJournal( ms9 ) Then
; вывалился элементаль...
return
Endif
If UO.Weight > MaxVes Then
; Вес превышен!
return
Endif
If UO.InJournal( ms8 ) Then
; кирка накрылась!
return
Endif
until NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10)
next
next
endsub
;
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, ' ' )
DeleteJournal( string1 )
Endif
endsub
;
Sub CheckLag()
DeleteJournal( 'backpack' )
UO.Click( 'backpack' )
repeat
wait(50)
until UO.InJournal( 'backpack' )
return
endsub
Destruction wrote:http://yoko.netroof.net/
http://yoko.com.ua/
omi4 wrote:Ну это надо писать админам этого шарда. Проблема у них.
heldir wrote:а где можно взять инджект по лутьше да по новее?