мининг

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Flashak
Posts: 2
Joined: 2004-10-10 08:27:14
Contact:

мининг

Post by Flashak »

народ нашел тутёсуперовый скрипт на мининг но есть одно но на ДРВ я заметил очень много элемов капаеться посему есть просьба в этом скрипте убрать чтобы он не становилься на паузу при выкапывании элема

Code: Select all

############################################ 
### Manning / Шахтер v2.3 ### 
############################################ 
### Шард Dragon World / www.drw.ru 
############################################ 
### Реавтор этого скрипта: BETEP [WOD] or BETEPAH ### 
############################################ 
###                    BETEP™ 
############################# 
### Описание и настройка ### 
############################# 
### 
### Чар стоит в пещере(не ВИП) и копает вокруг себя.После достижения "максимального" веса (в данном случие это 625 стоунов) 
### "порталится" домой скидывает руду в сундук,после реколится обратно и продолжает копать. 
### Пример: стоите копаете, дошли до придела в 625 веса сработала система рекола 
### и вы "порталитесь" домой и складываете руду в сундук,после вы реколитесь обратно в пещеру.И продолжаете копать 
### (Цикличность) 
### 
### Для тех то кто им пользуется сообщаю, переделал, доработал, отредактировал.! 
### 
### Нововведения: 
### 1 )Руда складываются не на пол а в сундук. (BETEPAH) 
### 2 )Рекол в пещеру и домой по РУНБУКЕ (а не по рункам). (BETEPAH) 
###     ВНИМАНИЕ!!! В СКРИПТЕ РУНБУКИ НАСТРОЕНЫ ПОД DRW (шард) 
### 3 )Система сброса руды переделана из MassMove(что в свою очередь иногда приписывалось как фаст лут)в перемещение через  
### Масив.(написана Savage, встроена BETEPAH) 
### 4 )Упразнена система выбора "главных обьектов"(теперь просто указываем прицелом).(BETEPAH) 
### 5 )Система реконекта (выложаная сверху),хорошо сочетается с этим скриптом. (Fox M) 
### 
### !!! Чтобы скрипт заработал ВНИМАТЕЛЬНО прочтите настройки.!!!! 
### 
################################### 
### Режимы работы скрипта ### 
################################### 
### Режим - "Копание".### 
################################### 
### 
### "sub maning()" 
### Этот скрипт главный и отвечает за копание. 
### 
### Положите в суммку к себе Рунбук(с Рунами домой и в лес), Кирку (лопату),рунку к сундуку(по суте копия той что у вас 
### в рунбуке).Идите в пещеру в котором вы хотите копать.Запустите Скрипт maning(),Инжект попросит вас указать кирку 
### (появится прицел,прицелом на кирку которую вы с собой взяли),потом инжект попросит вас указать Рунбук(появится прицел, 
### прицелом на Рунбук ) Внимание!!! В РУНБУКЕ РУНА В 1ом слоте ДОМОЙ,в 8ом В пещеру. 
### ВНИМАНИЕ!!! В СКРИПТЕ НОМЕРА РУН В РУНБУКЕ НАСТРОЕНЫ ПОД DRW (шард).  
### Инжект сообщит вам что ('Прячемся..') тоесть чар уйдет в хайд. Чар автоматом возмет в руки кирку и начнет "окапаватся". 
### Если выкопали Элементала то скрипт включит "серену" и встанет на паузу пока вы просто не скажите GO.(так как вы в хайде)  
### Если появился ПК то чар зареколится к сундуку (по рунке!! так как на ДРВ рекол через рунбук 8,7 сек,а по рунке 2,3 сек) 
### выкинет руду в сундук и будет ждать определенное время которое вы поставите в скрипте. 
### 
### Чтобы все заработало !!в скрипте!! поставте свои значения: 
### 1)wait(180000) -- время в секундах при ожидании пока уйдет ПК (строка 153). 
### 2)if uo.weight > 625 then -- Максимальный вес при котором домой с рудой (строка 160). 
### 
### 
############################## 
### Режимы - "Супорт".### 
############################## 
### "loot()" 
### Этот скрипт отвечает за сброс руды в сундук. 
### После "рекола" домой чар при помощи этого скрипта сбросит руду в сундук (лучше в сейф). 
### VAR UnloadCont='0x40041342' ; ID сундука для сброса руды <<<< поставте свой (строка 196). 
###  
### "Save()" 
### Скрипт "спасатель", отвечает за рекол по любой рунке у вас в паке + реги (включается если прешел ПК) 
### будет пытатся реколится пока не "улетит" из пещеры (защита от физла). 
### 
### "pwav() и pwavw()" 
### Скрипты "сирены" отвечают за проигрование Звуковых файлов (WAV) при выкапывании элема или поялении ПК 
### uo.playwav("E:\UO\SOUND\sound 01.wav")<< укажите на примере этого путь к своим файлам (строчки 239 и 243). 
### 
### "Pause()" 
### Скрипта пауза если выкопали Элема. 
### Если вы выкопали Элема скрипт как бы "зависнет"(встанет на паузу) за это время вы можете убить элема, 
### привратившись в Демона или привести Дракона.После просто скажите в игре GO и чар продолжит копать. 
### 
################### 
### Патчи Вердаты: ### 
################### 
### Сдесь я приведу пару ссылок на патчи которые помогут вам копать: 
### 
### 1)cave floor (для тех кто предпочитает копать вручную, этот файл-патч отделяет тайлы в пещерах друг от друга, 
### что приводит к более комфортабельному копанию) 
### www.drguild.fatal.ru/files/verdata/cavefloor.exe 
### 
### 2)clean dungeons (в пещерах и подземельях не виден всякий мусор, как то: кости, мусор, большая паутина, 
### все сталагмиты заменены на маленькие и т.д.) 
### www.drguild.fatal.ru/files/verdata/cleandungeons.exe 
### 
### 3)ore mod (большое количество руды (больше 4 шт.) выглядит как маленькая кучка (3 шт.), 
### а изображение руды в количестве одной и двух штук уменьшено) 
### www.drguild.fatal.ru/files/verdata/ore.exe 
### 
### (все пачтчи проверены и протестены,Но скрипт работает и без них,так что ставить или нет - это ваше решение) 
### 
### Лично я копаю с ними.....удобно. Удачи и приятного Маннинга. )) 
### ВЕТЕРАН ака BETEP [WOD] 


sub maning() 
#BETEP™# 
var mx, my, mz, i, j, jor, ser, noto 
Uo.exec("set norbcheck 1"); для рекола 
uo.exec("set norbcalc 1"); тоже 

uo.print('!!Выбери Лопату!! ') 
uo.exec('addobject Shovel') 
while uo.targeting() 
wait(100) 
wend 
  
uo.print('!!Выбери Рунбук!! ') 
uo.exec('addobject Runebook') 
while uo.targeting() 
wait(100) 
wend 

na4alo: 
mx = UO.GetX("self") 
my = UO.GetY("self") 
mz = UO.GetZ("self") 
UO.DeleteJournal() 
for i = mx-4 to mx+4 
for j = my -4 to my+4 
while not UO.Hidden() 
UO.Warmode("0") 
uo.print("Прячемся...") 
UO.UseSkill("Hiding") 
wait(4000) 
wend 
UO.Print("Копаем в координатах: "+str(mx-i)+" "+str(my-j)) 
while not UO.InJournal("no ore here") and not UO.InJournal("location") and not UO.InJournal("far away") and not UO.InJournal("in rock") and not UO.InJournal("Iron Ore") and not UO.InJournal("Copper") and not UO.InJournal("Rusty Ore") 
UO.DeleteJournal() 
if uo.waiting() then 
uo.canceltarget() 
endif 
UO.Waittargettile("1341", str(i), str(j), str(mz)) 
UO.Useobject("Shovel") 
while not UO.InJournal("You put") and not UO.InJournal("heavy") and not UO.InJournal("location") and not UO.InJournal("no ore") and not UO.InJournal("but fail") and not UO.InJournal("far away") and not UO.InJournal("in rock") 
wait (500) 
if uo.injournal("heavy") or uo.dead() then 
pwav()                    
Pause() 
endif 
for jor = 0 to 9    
ser = uo.journalserial(jor) 
noto = uo.getnotoriety(ser) 
if noto <> 1 and noto <> 0 and not uo.injournal("elemental") then 
if uo.waiting() then 
uo.canceltarget() 
endif 
Save() 
pwavw() 
wait(180000) ; время в секундах при ожидании пока уйдет ПК 
loot() 
wait(3000) 
goto reccal 
endif 
next    
wend 
if uo.weight > 625 then  ; Максимальный вес при котором домой с рудой 
goto end 
endif 
wend 
UO.DeleteJournal() 
next 
next 
goto na4alo 
end: 
if uo.waiting() then 
uo.canceltarget() 
endif 
uo.exec("recall Runebook 21") ; домой ( в рунбуке слот 1 ) 
wait(10000) 
loot() 
wait(3000) 
reccal: 
uo.deletejournal() 
if uo.waiting() then 
uo.canceltarget() 
endif 
uo.exec("recall Runebook 94") ; в шахту ( в рунбуке слот 8 ) 
mx = UO.GetX("self") 
my = UO.GetY("self") 
wait(10000) 
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then 
goto reccal 
endif 
goto na4alo 
end sub 

sub loot()    ; перекладка руды в сундук 
if uo.waiting() then 
uo.canceltarget() 
endif 
VAR a,Exit 
VAR UnloadCont='0x40041342' ; АЙДИ сундука для руды  
DIM Ore[5] 
Ore[0]=0x19B9 ; 4 and more ore 
Ore[1]=0x19B7 ; 1 ore 
Ore[2]=0x19BA ; 2 ore 
Ore[3]=0x19B8 ; 3 ore 
UO.SetReceivingContainer(UnloadCont) 
wait(500) 
For a=0 to 3 
Exit=0 
repeat 
UO.FindType(Ore[a]) 
if UO.GetQuantity('finditem')>0 then 
UO.Grab('0','finditem') 
wait(1500) 
Else 
Exit=1 
endif 
until Exit==1 
Next 
UO.UnSetReceivingContainer() 
end sub 

sub Save() ; Реколл от ПК при их появлении (в паке рунка в безопасное место и реги) 
var mx, my 
reccal: 
uo.deletejournal() 
if uo.waiting() then 
uo.canceltarget() 
endif 
mx = UO.GetX("self") 
my = UO.GetY("self") 
UO.DeleteJournal() 
UO.FindType('0x1F14',-1,'my') 
wait(200) 
UO.Cast('Recall','finditem') 
wait(4000) 
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then 
goto reccal 
endif 
end sub 

sub pwav() ; звук при выкапывании ЭЛЕМЕНТАЛА 
uo.playwav("E:\UO\inject\SOUND\chanting sound 01.wav") 
endsub 

sub pwavw(); звук при появлении ПК 
uo.playwav("E:\UO\inject\SOUND\chanting sound 01.wav") 
endsub 

sub Pause() ; Пауза скрипта если выкопали Элема (продолжить сказав GO ) 
UO.DeleteJournal() 
REPEAT 
WAIT(3000) 
UO.Print("!!!СКРИПТ НА ПАУЗЕ!!!!") 
UNTIL UO.InJournal('GO') 
UO.Print("!!!СКРИПТ ПРОДОЛЖЕН!!!!") 
endif 
end sub 
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Блин в нем же написано в самом низу Убери этот кусок и ссылки на него в скрипте
CuHTpoH
Posts: 287
Joined: 2007-11-01 19:09:30
Location: Moscow
Contact:

Post by CuHTpoH »

Мираж твои терпение и любезность бескрайни ^_^ :roll:
[url=http://coop.myftp.org/utils/codesweeper.htm]**Выставляем отступы в скриптах***[/url] ©Destruction
Feel the Power of Dark Side
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Мне говорили :roll:

Просто я еще ТУТ молодой. Скоро начну плеваться царапатсья и пинать всех ногами. :twisted:
CuHTpoH
Posts: 287
Joined: 2007-11-01 19:09:30
Location: Moscow
Contact:

Post by CuHTpoH »

лучше всего - тонко стебаться ))
[url=http://coop.myftp.org/utils/codesweeper.htm]**Выставляем отступы в скриптах***[/url] ©Destruction
Feel the Power of Dark Side
Dpyr
Posts: 5
Joined: 2009-10-18 12:54:10
Contact:

Post by Dpyr »

а есть такой же скрипт только без рекола....
чтоб вышел сам из шахты и выложил, и потом опять сам зашел и начал копать???
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Есть. Это называется
модуль хождения+ходилка+модуль копания
чтото типо

Code: Select all

goto(x1,y1)
kopa()
goto(x2,y2)
kopa()
goto(x3,y3)
sbros()
аа забыл. все есть у поиска ;)
Dpyr
Posts: 5
Joined: 2009-10-18 12:54:10
Contact:

Post by Dpyr »

та я скоро кончусь с этим поиском...с 9 утра сижу ищу...понаходил все...никак не пойму..пожешь ссылку дать ?

Code: Select all

sub pusk()
while not uo.dead()

			 #GoToTile(1658,2882,0, False )
             #GoToTile(1652,2882,0, False )
             #GoToTile(1652,2894,0, False )        

        GoToTile(1648,2894,0, False )
        kopka()
            
			 GoToTile(1652,2894,0, False ) 
	         GoToTile(1652,2882,0, False )
	         GoToTile(1658,2882,0, False )
             GoToTile(1658,2878,0, False )
                         
             hiding() 
             grabore() 
             
             GoToTile(1658,2882,0, False )
             GoToTile(1652,2882,0, False )
             GoToTile(1652,2894,0, False )
             
             wend 
    endsub 
    #Ïðè ðàáîòå äîëæíà áûòü "îòæàòà" êíîïêà NumLock 
Var MoveDelay=500 # Ïðîìåæóòîê ìåæäó øàãàìè 
Var Ep=0.179 # Çíà÷åíèå øèðèíû óãëà õîæäåíèÿ ïðè îïðåäåëåíèè íàïðàâëåíèÿ. Åñëè íà ïóòè âñòðå÷àþòñÿ ñëîæíûå è øèðîêèå ïðåïÿòñòâèÿ - óâåëè÷èòü. 0.172 - ñáàëàí÷èðîâàííûé. 

Sub Perp(Dir) 
 Var D 
 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 

Sub MoveOnce(Dir,Del)
 Var D=UO.GetDir(),X=UO.GetX(),Y=UO.GetY(),T=UO.Timer()
 If (Dir<>0) Then 
  If Dir==1 Then 
   UO.Press(38) 
  EndIf 
  If Dir==2 Then 
   UO.Press(33) 
  EndIf 
  If Dir==3 Then 
   UO.Press(39) 
  EndIf 
  If Dir==4 Then 
   UO.Press(34) 
  EndIf 
  If Dir==-1 Then 
   UO.Press(40) 
  EndIf 
  If Dir==-2 Then 
   UO.Press(35) 
  EndIf 
  If Dir==-3 Then 
   UO.Press(37) 
  EndIf 
  If Dir==-4 Then 
   UO.Press(36) 
  EndIf
  While (Del>(UO.Timer()-T)*100) and (X==UO.GetX()) and (Y==UO.GetY()) and (D==UO.GetDir())
   Wait(100)
  Wend
  If D<>UO.GetDir() Then
   MoveOnce(Dir,Del-(UO.Timer()-T)*100)
  EndIf 
 EndIf 
EndSub 

Sub GetQDir(x,y) 
 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 

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 

Sub GetDistance(X,Y) 
 return max(abs(X-uo.getx()),abs(Y-uo.gety())) 
endsub 

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 
 J=1 
 MD=MoveDelay*1.5 
 myx=uo.getx() 
 myy=uo.gety() 
 MoveOnce(GetDir(uo.getx(),uo.gety(),ox,oy),MD) 
 Sx=0 
 Sy=0 
 Lx1=uo.getx()/2 
 Ly1=uo.gety()/2 
 Lx2=Lx1/2 
 Ly2=Ly1/2 
 T=UO.Timer() 
 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 
  If GetDistance(OX,OY)>Des Then 
   MoveOnce(GetDir(uo.GetX(),uo.GetY(),ox,oy),MD) 
  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) 
     Else 
      MoveOnce(GetDir(uo.GetX(),uo.GetY(),Lx2,Ly2),MD) 
     EndIf 
    EndIf 
   EndIf 
  EndIf 
  If (GetDistance(OX,OY)<=3) Then 
   Wait(MoveDelay*(4-GetDistance(OX,OY)))
  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=0 
    EndIf 
    J=J+1 
    UO.Resend() 
    Sx = uo.getx() 
    Sy = uo.gety() 
    Stun(ox,oy,J) 
   EndIf 
  EndIf 
 Wend 
endsub 

Sub Stun(X,Y,N) 
 Var I 
 Var myx 
 Var myy 
 myx = uo.getx() 
 myy = uo.gety() 
 For I=1 to N 
  MoveOnce(perp(GetDir(myx,myy,x,y)),MoveDelay) 
 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) 
  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) 
  Next 
  Wait(MoveDelay) 
  Stun(x,y,N) 
 EndIf    
EndSub 

Sub NearTile(Obj,Des,S) 
 var ox, oy, myx, myy, MD, J 
 var Lx1 ,Ly1 
 var Lx2 ,Ly2 
 var Sx ,Sy 
 var T 
 UO.Click(Obj) 
 MD=MoveDelay*1.5 
 ox=uo.GetX(Obj) 
 oy=uo.GetY(Obj) 
 J=1 
 myx = uo.getx() 
 myy = uo.gety() 
 Sx=0 
 Sy=0 
 Lx1=myx/2 
 Ly1=myy/2 
 Lx2=Lx1/2 
 Ly2=Ly1/2 
 T=UO.Timer() 
 While not (UO.GetDistance(Obj)==Des) 
  ox=uo.GetX(Obj) 
  oy=uo.GetY(Obj) 
  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*1.5 
  If (UO.GetDistance(Obj)>0) Then 
   MD=MD/UO.GetDistance(Obj) 
  EndIf 
  If UO.GetDistance(Obj)>Des Then 
   MoveOnce(GetDir(uo.GetX(),uo.GetY(),uo.GetX(obj),uo.GetY(obj)),MD) 
  Else 
   If S Then 
    If UO.GetDistance(Obj)<Des Then 
     If UO.GetDistance(Obj)<>0 Then 
      MoveOnce(-GetDir(uo.GetX(),uo.GetY(),uo.GetX(obj),uo.GetY(obj)),MD) 
     Else 
      MoveOnce(GetDir(uo.GetX(),uo.GetY(),Lx2,Ly2),MD) 
     EndIf 
    EndIf 
   EndIf 
  EndIf 
  If (UO.GetDistance(Obj)<=3) Then 
   Wait(MoveDelay*(4-UO.GetDistance(Obj)))
  EndIf 
  If UO.GetDistance(Obj)<>Des Then 
   If (Lx2==uo.getx()) and (Ly2==uo.gety()) Then 
    If (Sx<>uo.getx()) or (Sy<>uo.gety()) Then 
     J=0 
    EndIf 
    J=J+1 
    UO.Resend() 
    Sx = uo.getx() 
    Sy = uo.gety() 
    Stun(uo.GetX(obj),uo.GetY(obj),J) 
   EndIf 
  EndIf 
 Wend 
 UO.Exec('terminate PermResend') 
endsub

Sub abs(a) 
 Var b 
 If a<0 Then 
  b=-a 
 Else 
  b=a 
 endif 
 return b 
endsub 

Sub max(A,B) 
 Var C 
 If A>B Then 
  C=A 
 Else 
  C=B 
 EndIf 
 Return C 
EndSub

Sub hiding()
uo.WarMode(0)
 while not UO.Hidden()
  UO.UseSkill('Stealth')
  wait(3500)
 wend
end sub

sub grabore() 
if uo.waiting() then 
uo.canceltarget() 
endif 
VAR a,Exit 
VAR UnloadCont='0x401C9BAF' ; ID ñóíäóêà äëÿ ðóäû  
DIM Ore[5] 
Ore[0]=0x19B9 ; 4 and more ore 
Ore[1]=0x19B7 ; 1 ore 
Ore[2]=0x19BA ; 2 ore 
Ore[3]=0x19B8 ; 3 ore 
UO.SetReceivingContainer(UnloadCont) 
wait(500) 
For a=0 to 3 
Exit=0 
repeat 
UO.FindType(Ore[a]) 
if UO.GetQuantity('finditem')>0 then 
UO.Grab('0','finditem') 
wait(1500) 
Else 
Exit=1 
endif 
until Exit==1 
Next 
UO.UnSetReceivingContainer()
endsub 

var pickaxe 
sub kopka()
var mx, my, mz, i, j, f
   mx = UO.GetX('self') 
   my = UO.GetY('self') 
   mz = UO.GetZ('self') 
   GetPickaxe() 
   while 1 
      for i = mx-4 to mx+4 
         for j = my -4 to my+4 
            repeat 
               if uo.injournal('You loosen some rocks but fail') then 
                  wait(10000) 
               endif 
               Tohide() 
               UO.Print('Êîïàåì â êîîðäèíàòàõ: '+str(mx-i)+' '+str(my-j)) 
               DigAhole(i,j,mz) 
            until not uo.injournal('You loosen some rocks but fail') 
         next 
      next 
   wend 
endsub 
sub Tohide() 
   while not uo.Hidden() 
      uo.warmode(0) 
      uo.Print('Ïûòàåìñÿ óéòè â õàéä...') 
      uo.UseSkill('Hiding') 
      wait(4000) 
   wend 
end sub 
sub GetPickaxe() 
   var n 
   dim instrument[4] 
   instrument[1]='0x0F39' 
   instrument[2]='0x0F3A' 
   instrument[3]='0x0E86' 
   instrument[4]='0x0E85' 
   for n=1 to 4 
      uo.findtype(instrument[n],-1,'my') 
      if uo.findcount() then 
         pickaxe=uo.getserial('finditem') 
         return 
      endif 
   next    
   while 1 
      uo.print(' pickaxe not found ') 
      wait(3000) 
   wend 
endsub 
sub DigAhole(i,j,mz) 
   var f 
   for f=0 to 10 
      checklag() 
      uo.waittargettile('1341',i,j,mz) 
      uo.useobject(pickaxe) 
      if waitforore()==1 then 
         return 
      endif 
   next 
endsub 
sub waitforore() 
   var n 
   for n=0 to 50 
      if uo.injournal('no ore here|location|far away|in rock|You have been revealed|You put') then 
         return 1 
      endif 
      if uo.injournal('but fail') then 
         return 
      endif 
      wait(500) 
   next 
endsub 
sub CheckLag() 
   repeat 
      UO.DeleteJournal() 
      UO.Click('backpack') 
   until backpack()==1 
endsub 
sub backpack() 
   var n 
   for n=0 to 200 
      if uo.injournal('a backpack') then 
         return 1 
      endif 
      wait(200) 
   next 
endif
endsub  


#################çàùèòà îò ýëåìîâ######################  

sub Pause() ; Ïàóçà ñêðèïòà åñëè âûêîïàëè Ýëåìà (ïðîäîëæèòü ñêàçàâ GO ) 
UO.DeleteJournal() 
REPEAT 
 uo.playwav("C:\exit.wav")
 WAIT(1000) 
 UO.Print("!!!ÑÊÐÈÏÒ ÍÀ ÏÀÓÇÅ!!!!")
 WAIT(10000)
 st()
UNTIL UO.InJournal('GO') 
UO.Print("!!!ÑÊÐÈÏÒ ÏÐÎÄÎËÆÅÍ!!!!") 
endif 
end sub

Sub st() 
uo.msg('\w Rayva òàùè ñâîþ Æ ñïàñàòü ìîåãî êîïàëêó ') 
WAIT(200)
uo.msg('\w Ona Ona Onana: òàùè ñâîþ Æ ñïàñàòü ìîåãî êîïàëêó ')
end sub

Sub CheckLag()
	UO.DeleteJournal('backpack')
	UO.Click('backpack')	
	repeat
	wait(100)
	until UO.InJournal('backpack')
	wait(300)
end sub 

sub GMstep()
If UO.GetGlobal('GMstepCheck')=='on' Then
    UO.SetGlobal('GMstepCheck','off')
    UO.Print("GM Step: Off")
    UO.Morph('0')
Else
    UO.SetGlobal('GMstepCheck','on')
    UO.Print("GM Step: On")
    UO.Morph('0x03DB')
    Wait(100)
    UO.Msg(".resync")
End If
end sub
я вот так както переделал свой скрипт и скрипт какойто с этого форума....но в нем он копает доупора...как проверку сделать когда скрипт должен закончится и ити выгружать ??
Post Reply