Yoko

All sides of Injection
It is currently 2026-01-21 00:57:45

All times are UTC+02:00




Post new topic  Reply to topic  [ 95 posts ]  Go to page Previous 1 2 3 4 5 Next
Author Message
 Post subject:
PostPosted: 2007-08-18 18:37:47 
Offline
User avatar

Joined: 2007-08-11 16:44:45
Posts: 39
Location: www.drw.ru
Спасибо за отличный скрипт.
А вы немоглибы тут исправить спец для дрв чтоб чар килял элема вортексом потом аортил его и снова капать просто щас с пвм сложновато стало рукой он его убить неможет.


Top
   
 Post subject:
PostPosted: 2007-08-29 10:17:08 
Offline
User avatar

Joined: 2006-03-23 19:25:23
Posts: 101
Code:
;----------- Summon Energy Vortex, kill elem and loot him -----------
sub killelem()
if uo.injournal("heavy") then # вырыли элемента #
   # убиваем элемента #
   Vortex:
   uo.exec('usetype 0x0f0e 0x0631') # пьем инвизку, а то энергетик порвет =) #
   wait(300)
   uo.cast('Energy Vortex','self')
   repeat
      wait(300)
   until uo.injournal("fizzles") or uo.injournal("Vortex")
   if uo.injournal("fizzles") then
      goto Vortex
   else
                   wait(15000)
      vasanort:
      uo.exec('usetype 0x0f0e 0x09DF') # пьем манку #
      wait(300)
      uo.cast('Mass Dispel','self')
      wait(7000)
      if uo.injournal("fizzles") then
         goto vasanort
      endif
# собираем руду и копаем дальше #
      UO.SetReceivingContainer('backpack')
      UO.FindType('0x19B9',-1,'ground')
      if UO.GetQuantity('finditem')>0 then
         UO.Grab('0','finditem')
         wait(2000)
      endif
      UO.FindType('0x19B7',-1,'ground')
                   if UO.GetQuantity('finditem')>0 then
               UO.Grab('0','finditem')
               wait(2000)
      endif
      UO.FindType('0x19BA',-1,'ground')
      if UO.GetQuantity('finditem')>0 then
         UO.Grab('0','finditem')
         wait(2000)
      endif
      UO.FindType('0x19B8',-1,'ground')
      if UO.GetQuantity('finditem')>0 then
         UO.Grab('0','finditem')
         wait(2000)
      endif
      UO.UnSetReceivingContainer()
   endif
endif
end sub


Из старого скрипта вырезал.
Вставь вместо старого..

_________________
:O


Top
   
 Post subject:
PostPosted: 2007-09-10 13:32:45 
Offline
User avatar

Joined: 2007-08-11 16:44:45
Posts: 39
Location: www.drw.ru
спасибки , вот щас тестю сижу жду элема)


Top
   
 Post subject:
PostPosted: 2007-09-10 15:49:32 
Offline
User avatar

Joined: 2007-08-11 16:44:45
Posts: 39
Location: www.drw.ru
алилуя всё пашет агромное сенкс ещё раз.


Top
   
 Post subject:
PostPosted: 2007-09-14 18:49:27 
Offline
User avatar

Joined: 2007-08-11 16:44:45
Posts: 39
Location: www.drw.ru
Терь вот такая просьба а реконектор туда можно вставить ?))


Top
   
 Post subject:
PostPosted: 2007-09-16 18:08:27 
Offline
User avatar

Joined: 2007-08-15 20:07:20
Posts: 33
Просто скопируй его в макрос и запускай вместе с Майнингом


Top
   
 Post subject:
PostPosted: 2007-09-16 19:20:30 
Offline
User avatar

Joined: 2007-08-11 16:44:45
Posts: 39
Location: www.drw.ru
BETEPAH2 wrote:
Просто скопируй его в макрос и запускай вместе с Майнингом
ясно спасибки)


Top
   
 Post subject:
PostPosted: 2007-09-29 22:45:42 
Offline
User avatar

Joined: 2007-08-11 16:44:45
Posts: 39
Location: www.drw.ru
плиз впишите суда ктонить реконектор :) зарание спасибо.
Code:
############################################################## 
#===---====----===---===---= Mining =---=-=-=-=-=--=-=-=-=-=-=#
#    Single char mining for VIP Mine. DRW Shard www.drw.ru    #
#           Scripted by Savage (c) 2005 ICQ:33336141          #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
# To start script use ",exec mine" command from client window #
###############################################################

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
;==================== Main mining script ======================
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub mine()
   VAR DigDistance, TileNum, KillElemental
   VAR ElemSignal, LastTimer
   DIM BaseX[4], BaseY[4]
   VAR BaseZ, WayPoint, WayPoints
   VAR MaxWeight

   VAR i,j,TileY,TileX,DirX,DirY
   VAR Delta,BeginX,EndX,BeginY,EndY
   

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; TileNum='Num' - Use ",infotile" command on the floor
; Íîìåð òàéëà â êîòîðîì ìîæíî êîïàòü ,ïîòûêàéòå êîìàíäîé
; ",infotile" ïî ðàçíâì òàéëàì è ïîñìîòðèòå íå îòëè÷àþòñÿ ëè èõ
; íîìåðà.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   TileNum='1339'
   

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Ìàêñèìàëüíûé âåñ, êîòîðûé ìîæåò ïîäíÿòü ÷àð. Ñòàâüòå åãî
; íåìíîãî ìåíüøå ðåàëüíîãî. Òî åñòü åñëè ÷àð ïîäíèìàåò 760, òî
; ñòàâèì 730.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   MaxWeight=600

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Ðàäèóñ êðóãà ïî êîòîðîìó áóäåò êîïàòü ÷àð, òî åñòü ðàññòîÿíèå
; äî êëåòêè êóäà ìîæíî äîòÿíóòüñÿ êèðêîé.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
;                            in daemon and wrestling > 50
; Åñëè ÷àð äîñòàòî÷íî ïðîêà÷åí ÷òîá áèòü ýëåìîâ, ñòàâüòå 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Îïîâåøàòü ïðè ïîÿâëåíèè ýëåìà
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   ElemSignal='Off'


;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Çäåñü óêàçûâàåì êîîðäèíàòû òî÷åê êîïàíèÿ. Íóæíî âñòàòü íà
; ïîçèöèþ è ïîñìîòðåòü êîîðäèíàòû â èíæåêòå. Èõ è íóæíî
; ïîäñòàâèòü âìåñòî ìîèõ. ×àðà ñòàâüòå íà 4 êëåòêè îò ñòåí.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

   BaseX[0]=5846
   BaseY[0]=1212
   BaseZ=0

   BaseX[1]=5843
   BaseY[1]=1215

   BaseX[2]=5850
   BaseY[2]=1214

   BaseX[3]=5846
   BaseY[3]=1212

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Óêàçûâàåì êîëè÷åñòâî òî÷åê êîïàíèÿ
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

   WayPoints=2


   CheckLag()
   UO.UseObject('Sunduk')
   LastTimer=UO.Timer()
   Repeat
      wait(500)
   Until UO.InJournal('You can') OR UO.InJournal('What is the') OR UO.Timer()>LastTimer+100
   
   If UO.InJournal('see the') Then
      UO.Say("Podoydi k sunduku i tkni v nego pricelom!")
      UO.AddObject('Sunduk')
      While UO.Targeting()==2
         wait(500)
      Wend
      UO.SaveConfig()
      UO.UseObject('Sunduk')
   Else
;      UO.Say("Ok! Viju sunduk.")
   Endif


   CheckLag()
   UO.UseObject('IronBag')
   LastTimer=UO.Timer()
   Repeat
      wait(500)
   Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100
   
   If UO.InJournal('see the') Then
      UO.Say("V kakoy meshok kidat' Iron Ore")
      UO.AddObject('IronBag')
      While UO.Targeting()==2
         wait(500)
      Wend
      UO.SaveConfig()
   Else
;      UO.Say("Meshok dlya Iron Ore viju")
   Endif


   CheckLag()
   UO.UseObject('OtherBag')
   LastTimer=UO.Timer()
   Repeat
      wait(500)
   Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100
   
   If UO.InJournal('see the') Then
      UO.Say("V kakoy meshok kidat' rudu?")
      UO.AddObject('OtherBag')
      While UO.Targeting()==2
         wait(500)
      Wend
      UO.SaveConfig()
   Else
;      UO.Say("Meshok dlya rudy viju.")
   Endif


   CheckLag()
   UO.UseObject('BestBag')
   LastTimer=UO.Timer()
   Repeat
      wait(500)
   Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100
   
   If UO.InJournal('see the') Then
      UO.Say("V kakoy meshok kidat' vihu?")
      UO.AddObject('BestBag')
      While UO.Targeting()==2
         wait(500)
      Wend
      UO.SaveConfig()
   Else
;      UO.Say("Meshok dlya vihi viju.")
   Endif

   While NOT UO.Dead()
   
      For WayPoint=0 to WayPoints-1
         walkn(BaseX[WayPoint],BaseY[WayPoint],"")
         digitstay(MaxWeight,DigDistance,KillElemental,ElemSignal,BaseX[WayPoint],BaseY[WayPoint])
      Next
   wend
end sub


; Ïðîâåðêà íóæíîñòè ðóäû. Çàêîìåíòèðîâàòü òî ÷òî íóæíî êîïàòü.
sub CheckOre()
   VAR Cont=1, i=0, Exit=0
   VAR Count=11   ; Ñêîëüêî ýëåìåíòîâ â ìàññèâå.
   DIM Ores[13]   

   Ores[0]="Iron"
   Ores[1]="Rusty"
   Ores[2]="Old Copper"
   Ores[3]="Dull Copper"
   Ores[4]="Copper"
   Ores[5]="Bronze"
   Ores[6]="Silver"
   Ores[7]="Gold"
   Ores[8]="Rose"
   Ores[9]="Shadow"
   Ores[10]="Agapite"
   Ores[11]="Blood Rock"
   Ores[12]="Verite"
;   Ores[13]="Valorite"
;   Ores[14]="Mytheril"

   While i<Count AND Exit==0
      If UO.InJournal(Ores[i]) Then
         Cont=0
         Exit=1
      Endif
;      UO.Print(STR(i))
;      UO.Print(Ores[i])
      i=i+1
   Wend
   
   return Cont
end sub


;-------------------- Try to mine under self ------------------
sub digitstay(MaxWeight,MaxDistance,KillElemental,ElemSignal,BaseX,BaseY)
   VAR x,y,z='0',TileNum='1339'
   VAR Last=0,LastTimer, ContFlag=1
   VAR MaxTimer=110

   For x=-MaxDistance to MaxDistance
      For y=-MaxDistance to MaxDistance
         Repeat
            CheckLag() ; deleting journal
            ToHide()
             
            UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
            UO.UseType('0x0E85')

            LastTimer=UO.Timer()

            Repeat
               wait(500)
            until UO.InJournal("Try mining") OR UO.InJournal("You put") OR UO.InJournal("You loosen") OR UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("OOPS") OR UO.InJournal("attacking you") OR LastTimer+200<UO.Timer()

            If NOT UO.InJournal('There is no') then
               ContFlag=CheckOre()
            Endif

            If UO.InJournal('You loosen') then
               repeat
                  wait(500)
               until UO.InJournal("You put") OR LastTimer+MaxTimer<UO.Timer()
            Endif

            If UO.InJournal('something with ore') OR UO.InJournal("attacking you") then
               If ElemSignal=='On' Then
                  Gong(2)
               Endif

               If KillElemental=='Yes' Then
                  KillElem()
                  walkn(BaseX,BaseY,"")
               Else
; any user defined command when char digget elemental

               Endif
            Endif
             
            If UO.InJournal("attacking you") then
               gong(3)
            Endif

            If UO.Weight>=MaxWeight then
               unloadore()
            Endif
         Until UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("Try mining") OR ContFlag==0
      Next
   Next
end sub


;------------------------- Unload ore -------------------------
sub unloadore()
   VAR TempX,TempY,i,Exit, Exit1, ConTainer, j
   VAR SundukX=5839
   VAR SundukY=1216
   VAR Index=14 ; êîëè÷åñòâî ýëåìåíòîâ ìàññèâà
   DIM Ore[5], Colors[20]

   Colors[0]="0x09F0" ; Gorgan
   Colors[1]="0x09D3" ; Steel
   Colors[3]="0x0BA7" ; Eldar
   Colors[4]="0x08AF" ; Plut
   Colors[5]="0x0085" ; Dragon
   Colors[6]="0x0060" ; Aqua
   Colors[7]="0x09E6" ; Elvin
   Colors[8]="0x010F" ; Krinit
   Colors[9]="0x09DA" ; Vulkan
   Colors[10]="0x09EC" ; Blood Crest
   Colors[11]="0x008F" ; Sand Rock
   Colors[12]="0x09B9" ; Acid
   Colors[13]="0x09A4" ; Crystaline


   TempX=UO.GetX()
   TempY=UO.GetY()
   
   walkn(SundukX,SundukY,"")
   ToHide()
   UO.UseObject("Sunduk")

   Ore[0]=0x19B9 ; 4 and more ore
   Ore[1]=0x19B7 ; 1 ore
   Ore[2]=0x19BA ; 2 ore
   Ore[3]=0x19B8 ; 3 ore

   For i=0 to 3
      Exit=0
      repeat
         UO.FindType(Ore[i])
         
         if UO.GetQuantity('finditem')>0 then
            If UO.GetColor('finditem')=='0x0000' Then
               Container=UO.GetSerial('IronBag')
            Else
               Container=UO.GetSerial('OtherBag')
               Exit1=0
               j=0
               While j<Index AND Exit1<>1
                  If UO.GetColor('finditem')==Colors[j] Then
                     Container=UO.GetSerial('BestBag')
                     Exit1=1
                  Endif
                  j=j+1
               Wend
            Endif
            UO.MoveItem('finditem',0,Container)
            CheckLag()
            wait(1000)
         Else
            Exit=1
         endif
      until Exit==1
   Next

   walkn(TempX,TempY,"")
   ToHide()
end sub

;----------- Summon Energy Vortex, kill elem and loot him -----------
sub killelem()
if uo.injournal("heavy") then # âûðûëè ýëåìåíòà #
   # óáèâàåì ýëåìåíòà #
   Vortex:
   uo.exec('usetype 0x0f0e 0x0631') # ïüåì èíâèçêó, à òî ýíåðãåòèê ïîðâåò =) #
   wait(300)
   uo.cast('Energy Vortex','self')
   repeat
      wait(300)
   until uo.injournal("fizzles") or uo.injournal("Vortex")
   if uo.injournal("fizzles") then
      goto Vortex
   else
                   wait(15000)
      vasanort:
      uo.exec('usetype 0x0f0e 0x09DF') # ïüåì ìàíêó #
      wait(300)
      uo.cast('Mass Dispel','self')
      wait(7000)
      if uo.injournal("fizzles") then
         goto vasanort
      endif
# ñîáèðàåì ðóäó è êîïàåì äàëüøå #
      UO.SetReceivingContainer('backpack')
      UO.FindType('0x19B9',-1,'ground')
      if UO.GetQuantity('finditem')>0 then
         UO.Grab('0','finditem')
         wait(2000)
      endif
      UO.FindType('0x19B7',-1,'ground')
                   if UO.GetQuantity('finditem')>0 then
               UO.Grab('0','finditem')
               wait(2000)
      endif
      UO.FindType('0x19BA',-1,'ground')
      if UO.GetQuantity('finditem')>0 then
         UO.Grab('0','finditem')
         wait(2000)
      endif
      UO.FindType('0x19B8',-1,'ground')
      if UO.GetQuantity('finditem')>0 then
         UO.Grab('0','finditem')
         wait(2000)
      endif
      UO.UnSetReceivingContainer()
   endif
endif
end sub

###############################################################
###############################################################
;
;                        Shared Subs
;
###############################################################
###############################################################

#==============================================================
#  tohide() - try hidding char. When char lose HP, drink inviz
#             potion if it found in backpack
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub tohide()
   while NOT UO.Hidden()
      UO.DeleteJournal()
      UO.FindType('0x0F0E','0x0631','my')

      if UO.Life<UO.STR/2 AND UO.GetQuantity('finditem')>0 then
         UO.UseType('0x0F0E','0x0631') ; inviz potion
         UO.Exec('warmode 0')
         wait(2000)
      else
         UO.Exec('warmode 0')
         UO.UseSkill('Stealth')
         repeat
            wait(50)
         until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied')
      endif
   wend
end sub


#==============================================================
#  CheckLag() - click on backpack and awaiting "backpack"
#               message in journal.
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')

   repeat
      wait(500)
   until UO.InJournal('backpack')
end sub


#==============================================================
#  Gong(counter) - playing wav-file 'counter'-times
#  http://www.jetta.ru/cow.wav
#--------------------------------------------------------------
sub Gong(times) ; play wav-file
   VAR i
   for i=1 to times
      UO.Exec("playwav d:\game\uo\injection\cow")
      wait(1200) ; time to play sample at once
   next
end sub


#==============================================================
#  Alarm() - when char lose some HP, U are informed :)
#--------------------------------------------------------------
sub Alarm()
   VAR CharHP=150
   while 1==1
      wait(1000)
      if UO.Life<CharHP then
         gong(1)
      endif       
   wend
end sub

;---------------- Õîäèëêà -----------------------
sub GoW()
   VAR walkwait=300
   VAR x,y,dir=6
   VAR key=36 ; Home key
   x=UO.GetX()
   y=UO.GetY()
   while UO.GetDir()<>dir
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   wend
   UO.Press(key)

   wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
   
   If UO.GetX()+1==x Then
      return -1
   Else
      return 1
   Endif
end sub


sub GoN()
   VAR walkwait=300
   VAR x,y,dir=0
   VAR key=33 ; PgUp
   x=UO.GetX()
   y=UO.GetY()
   while UO.GetDir()<>dir
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   wend
   UO.Press(key)

   wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
   
   If UO.GetY()+1==y Then
      return -1
   Else
      return 1
   Endif
end sub


sub GoE()
   VAR walkwait=300
   VAR x,y,dir=2
   VAR key=34 ; PgDown
   x=UO.GetX()
   y=UO.GetY()
   while UO.GetDir()<>dir
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   wend
   UO.Press(key)

   wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
   
   If UO.GetX()-1==x Then
      return -1
   Else
      return 1
   Endif
end sub


sub GoS()
   VAR walkwait=300
   VAR x,y,dir=4
   VAR key=35 ; End
   x=UO.GetX()
   y=UO.GetY()
   while UO.GetDir()<>dir
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   wend
   UO.Press(key)

   wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
   
   If UO.GetY()-1==y Then
      return -1
   Else
      return 1
   Endif
end sub


sub GoWN()
   VAR walkwait=300
   VAR x,y,dir=7
   VAR key=38 ; UpArrow
   x=UO.GetX()
   y=UO.GetY()

   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif

   If UO.GetDir()==dir Then
      UO.Press(key)
      wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
      If UO.GetDir()==dir Then
         return -1
      Else
         return UO.GetDir()
      Endif
   Else
      return UO.GetDir()
   Endif
end sub


sub GoNE()
   VAR walkwait=300
   VAR x,y,dir=1
   VAR key=39 ; RightArrow
   x=UO.GetX()
   y=UO.GetY()

   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif

   If UO.GetDir()==dir Then
      UO.Press(key)
      wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
      If UO.GetDir()==dir Then
         return -1
      Else
         return UO.GetDir()
      Endif
   Else
      return UO.GetDir()
   Endif
end sub


sub GoSE()
   VAR walkwait=300
   VAR x,y,dir=3
   VAR key=40 ; DownArrow
   x=UO.GetX()
   y=UO.GetY()

   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif

   If UO.GetDir()==dir Then
      UO.Press(key)
      wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
      If UO.GetDir()==dir Then
         return -1
      Else
         return UO.GetDir()
      Endif
   Else
      return UO.GetDir()
   Endif
end sub


sub GoSW()
   VAR walkwait=300
   VAR x,y,dir=5
   VAR key=37 ; LeftArrow
   x=UO.GetX()
   y=UO.GetY()

   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif

   If UO.GetDir()==dir Then
      UO.Press(key)
      wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
      If UO.GetDir()==dir Then
         return -1
      Else
         return UO.GetDir()
      Endif
   Else
      return UO.GetDir()
   Endif
end sub


#==============================================================
#  WalkN(X,Y,Serial) - char is walking by dX and dY step
#                sub using Home, End, PgUp, PgDown keys
#                d'not rebind this key from default action!
#     walkwait - delay after keypress
#--------------------------------------------------------------
sub WalkN(x,y,Target)
   VAR i
   VAR dx,dy,Exit=0
   
   While Exit<>1   
      If Target<>"" Then
         dx=UO.GetX(Target)-UO.GetX()
         dy=UO.GetY(Target)-UO.GetY()
;         UO.Print("Target locked!")
         If UO.GetDistance(Target)<2 Then
            Exit=1
         Endif
      Else
         dx=x-UO.GetX()
         dy=y-UO.GetY()
         If dx==0 AND dy==0 Then
            Exit=1
         Endif

      Endif
   
      If dx<>0 AND dy<>0 Then
         If dx>0 AND dy>0 Then
            GoSE()
         Endif

         If dx>0 AND dy<0 Then
            GoNE()
         Endif

         If dx<0 AND dy>0 Then
            GoSW()
         Endif

         If dx<0 AND dy<0 Then
            GoWN()
         Endif

      Endif
   
      If dx<>0 AND dy==0 Then
         If dx>0 Then
            GoE()
         Endif
         
         If dx<0 Then
            GoW()
         Endif
      Endif


      If dx==0 AND dy<>0 Then
         If dy>0 Then
            GoS()
         Endif
         
         If dy<0 Then
            GoN()
         Endif
      Endif
   Wend


Top
   
 Post subject:
PostPosted: 2007-09-30 14:10:24 
Offline
User avatar

Joined: 2006-03-23 19:25:23
Posts: 101
Code:
############################################################### 
#===---====----===---===---= Mining =---=-=-=-=-=--=-=-=-=-=-=#
#    Single char mining for VIP Mine. DRW Shard www.drw.ru    #
#           Scripted by Savage (c) 2005 ICQ:33336141          #
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
# To start script use ",exec mine" command from client window #
###############################################################

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
;==================== Main mining script ======================
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
sub mine()
UO.Exec('terminate Reconnector')
wait(1000)
uo.exec('exec Reconnector')
   VAR DigDistance, TileNum, KillElemental
   VAR ElemSignal, LastTimer
   DIM BaseX[2], BaseY[2]
   VAR BaseZ, WayPoint, WayPoints
   VAR MaxWeight

   VAR i,j,TileY,TileX,DirX,DirY
   VAR Delta,BeginX,EndX,BeginY,EndY

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; TileNum='Num' - Use ",infotile" command on the floor
; Номер тайла в котором можно копать ,потыкайте командой
; ",infotile" по разнвм тайлам и посмотрите не отличаются ли их
; номера.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   TileNum='1339'
   

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Максимальный вес, который может поднять чар. Ставьте его
; немного меньше реального. То есть если чар поднимает 760, то
; ставим 730.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   MaxWeight=200

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; DigDistance=4 - Distance from tile where pickaxe targeting
; Радиус круга по которому будет копать чар, то есть расстояние
; до клетки куда можно дотянуться киркой.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   DigDistance=4

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; KillElemental='Yes'/'No' - Use 'Yes' if char skilled to morph
;                            in daemon and wrestling > 50
; Если чар достаточно прокачен чтоб бить элемов, ставьте 'Yes'
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   KillElemental='Yes'

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; ElemSignal='Off'/'On' - Play sound when elemental is digged
; Оповешать при появлении элема
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   ElemSignal='On'


;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Здесь указываем координаты точек копания. Нужно встать на
; позицию и посмотреть координаты в инжекте. Их и нужно
; подставить вместо моих. Чара ставьте на 4 клетки от стен.
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

   BaseX[0]=6108
   BaseY[0]=1213
   BaseZ=0

   BaseX[1]=6103
   BaseY[1]=1213

   BaseX[2]=6096
   BaseY[2]=1213

;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
; Указываем количество точек копания
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

   WayPoints=3


   CheckLag()
   UO.UseObject('Sunduk')
   LastTimer=UO.Timer()
   Repeat
      wait(500)
   Until UO.InJournal('You can') OR UO.InJournal('What is the') OR UO.Timer()>LastTimer+100
   
   If UO.InJournal('see the') Then
      UO.Say("Podoydi k sunduku i tkni v nego pricelom!")
      UO.AddObject('Sunduk')
      While UO.Targeting()==2
         wait(500)
      Wend
      UO.SaveConfig()
      UO.UseObject('Sunduk')
   Else
;      UO.Say("Ok! Viju sunduk.")
   Endif


   CheckLag()
   UO.UseObject('IronBag')
   LastTimer=UO.Timer()
   Repeat
      wait(500)
   Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100
   
   If UO.InJournal('see the') Then
      UO.Say("V kakoy meshok kidat' Iron Ore")
      UO.AddObject('IronBag')
      While UO.Targeting()==2
         wait(500)
      Wend
      UO.SaveConfig()
   Else
;      UO.Say("Meshok dlya Iron Ore viju")
   Endif


   CheckLag()
   UO.UseObject('OtherBag')
   LastTimer=UO.Timer()
   Repeat
      wait(500)
   Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100
   
   If UO.InJournal('see the') Then
      UO.Say("V kakoy meshok kidat' rudu?")
      UO.AddObject('OtherBag')
      While UO.Targeting()==2
         wait(500)
      Wend
      UO.SaveConfig()
   Else
;      UO.Say("Meshok dlya rudy viju.")
   Endif


   CheckLag()
   UO.UseObject('BestBag')
   LastTimer=UO.Timer()
   Repeat
      wait(500)
   Until UO.InJournal('You can') OR UO.InJournal('What is the')OR UO.Timer()>LastTimer+100
   
   If UO.InJournal('see the') Then
      UO.Say("V kakoy meshok kidat' vihu?")
      UO.AddObject('BestBag')
      While UO.Targeting()==2
         wait(500)
      Wend
      UO.SaveConfig()
   Else
;      UO.Say("Meshok dlya vihi viju.")
   Endif

   While NOT UO.Dead()
   
      For WayPoint=0 to WayPoints-1
         walkn(BaseX[WayPoint],BaseY[WayPoint],"")
         digitstay(MaxWeight,DigDistance,KillElemental,ElemSignal,BaseX[WayPoint],BaseY[WayPoint])
      Next
   wend
               If UO.InJournal('Elemental') then
               UO.TextPrint('Elemental founded '+MakeTime())
end sub


; Проверка нужности руды. Закоментировать то что нужно копать.
sub CheckOre()
   VAR Cont=1, i=0, Exit=0
   VAR Count=0   ; Сколько элементов в массиве.
   DIM Ores[15]   

;   Ores[0]="Rusty"
;   Ores[1]="Old Copper"
;   Ores[2]="Dull Copper"
;   Ores[3]="Copper"
;   Ores[4]="Bronze"
;   Ores[5]="Silver"
;   Ores[6]="Iron"
;   Ores[7]="Shadow"
;   Ores[8]="Rose"
;   Ores[9]="Gold"
;   Ores[10]="Agapite"
;   Ores[11]="Blood Rock"
;   Ores[12]="Verite"
;   Ores[13]="Valorite"
;   Ores[14]="Mytheril"

   While i<Count AND Exit==0
      If UO.InJournal(Ores[i]) Then
         Cont=0
         Exit=1
      Endif
;      UO.Print(STR(i))
;      UO.Print(Ores[i])
      i=i+1
   Wend
   
   return Cont
end sub


;-------------------- Try to mine under self ------------------
sub digitstay(MaxWeight,MaxDistance,KillElemental,ElemSignal,BaseX,BaseY)
   VAR x,y,z='0',TileNum='1339'
   VAR Last=0,LastTimer, ContFlag=1
   VAR MaxTimer=110

   For x=-MaxDistance to MaxDistance
      For y=-MaxDistance to MaxDistance
         Repeat
            CheckLag() ; deleting journal
            ToHide()
             
            UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
            UO.UseType('0x0E85')

            LastTimer=UO.Timer()

            Repeat
               wait(500)
            until UO.InJournal("Try mining") OR UO.InJournal("You put") OR UO.InJournal("You loosen") OR UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("OOPS") OR UO.InJournal("attacking you") OR LastTimer+200<UO.Timer()

            If NOT UO.InJournal('There is no') then
               ContFlag=CheckOre()
            Endif

            If UO.InJournal('You loosen') then
               repeat
                  wait(300)
               until UO.InJournal("You put") OR LastTimer+MaxTimer<UO.Timer()
            Endif

            If UO.InJournal('something with ore') OR UO.InJournal("attacking you") then
               If ElemSignal=='On' Then
                  Gong(2)
               Endif

               If KillElemental=='Yes' Then
                  KillElem()
                  walkn(BaseX,BaseY,"")
               Else
; any user defined command when char digget elemental

               Endif
            Endif
             
            If UO.InJournal("attacking you") then
               gong(3)
            Endif

            If UO.Weight>=MaxWeight then
               unloadore()
            Endif
         Until UO.InJournal("There is no") OR UO.InJournal("That is too") OR UO.InJournal("Try mining") OR ContFlag==0
      Next
   Next
end sub


;------------------------- Unload ore -------------------------
sub unloadore()
   VAR TempX,TempY,i,Exit, Exit1, ConTainer, j
   VAR SundukX=6094
   VAR SundukY=1216
   VAR Index=14 ; количество элементов массива
   DIM Ore[5], Colors[20]

   Colors[0]="0x09F0" ; Gorgan
   Colors[1]="0x09D3" ; Steel
   Colors[3]="0x0BA7" ; Eldar
   Colors[4]="0x08AF" ; Plut
   Colors[5]="0x0085" ; Dragon
   Colors[6]="0x0060" ; Aqua
   Colors[7]="0x09E6" ; Elvin
   Colors[8]="0x010F" ; Krinit
   Colors[9]="0x09DA" ; Vulkan
   Colors[10]="0x09EC" ; Blood Crest
   Colors[11]="0x008F" ; Sand Rock
   Colors[12]="0x09B9" ; Acid
   Colors[13]="0x09A4" ; Crystaline


   TempX=UO.GetX()
   TempY=UO.GetY()
   
   walkn(SundukX,SundukY,"")
   ToHide()
   UO.UseObject("Sunduk")

   Ore[0]=0x19B9 ; 4 and more ore
   Ore[1]=0x19B7 ; 1 ore
   Ore[2]=0x19BA ; 2 ore
   Ore[3]=0x19B8 ; 3 ore

   For i=0 to 3
      Exit=0
      repeat
         UO.FindType(Ore[i])
         
         if UO.GetQuantity('finditem')>0 then
            If UO.GetColor('finditem')=='0x0000' Then
               Container=UO.GetSerial('IronBag')
            Else
               Container=UO.GetSerial('OtherBag')
               Exit1=0
               j=0
               While j<Index AND Exit1<>1
                  If UO.GetColor('finditem')==Colors[j] Then
                     Container=UO.GetSerial('BestBag')
                     Exit1=1
                  Endif
                  j=j+1
               Wend
            Endif
            UO.MoveItem('finditem',0,Container)
            CheckLag()
            wait(1000)
         Else
            Exit=1
         endif
      until Exit==1
   Next

   walkn(TempX,TempY,"")
   ToHide()
end sub

;----------- Summon Energy Vortex, kill elem and loot him -----------
sub killelem()
if uo.injournal("heavy") then # вырыли элемента #
   # убиваем элемента #
   Vortex:
   uo.exec('usetype 0x0f0e 0x0631') # пьем инвизку, а то энергетик порвет =) #
   wait(300)
   uo.cast('Energy Vortex','self')
   repeat
      wait(300)
   until uo.injournal("fizzles") or uo.injournal("Vortex")
   if uo.injournal("fizzles") then
      goto Vortex
   else
                   wait(15000)
      vasanort:
      uo.exec('usetype 0x0f0e 0x09DF') # пьем манку #
      wait(300)
      uo.cast('Mass Dispel','self')
      wait(7000)
      if uo.injournal("fizzles") then
         goto vasanort
      endif
# собираем руду и копаем дальше #
      UO.SetReceivingContainer('backpack')
      UO.FindType('0x19B9',-1,'ground')
      if UO.GetQuantity('finditem')>0 then
         UO.Grab('0','finditem')
         wait(2000)
      endif
      UO.FindType('0x19B7',-1,'ground')
                   if UO.GetQuantity('finditem')>0 then
               UO.Grab('0','finditem')
               wait(2000)
      endif
      UO.FindType('0x19BA',-1,'ground')
      if UO.GetQuantity('finditem')>0 then
         UO.Grab('0','finditem')
         wait(2000)
      endif
      UO.FindType('0x19B8',-1,'ground')
      if UO.GetQuantity('finditem')>0 then
         UO.Grab('0','finditem')
         wait(2000)
      endif
      UO.UnSetReceivingContainer()
   endif
endif
end sub



###############################################################
###############################################################
;
;                        Shared Subs
;
###############################################################
###############################################################

#==============================================================
#  tohide() - try hidding char. When char lose HP, drink inviz
#             potion if it found in backpack
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub tohide()
   while NOT UO.Hidden()
      UO.DeleteJournal()
      UO.FindType('0x0F0E','0x0631','my')

      if UO.Life<UO.STR/2 AND UO.GetQuantity('finditem')>0 then
         UO.UseType('0x0F0E','0x0631') ; inviz potion
         UO.Exec('warmode 0')
         wait(2000)
      else
         UO.Exec('warmode 0')
         UO.UseSkill('Stealth')
         repeat
            wait(50)
         until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preoccupied')
      endif
   wend
end sub


#==============================================================
#  CheckLag() - click on backpack and awaiting "backpack"
#               message in journal.
#
#  Journal has been deleted!!!
#--------------------------------------------------------------
sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')

   repeat
      wait(500)
   until UO.InJournal('backpack')
end sub


#==============================================================
#  Gong(counter) - playing wav-file 'counter'-times
#  http://www.jetta.ru/cow.wav
#--------------------------------------------------------------
sub Gong(times) ; play wav-file
   VAR i
   for i=1 to times
      UO.Exec("playwav C:\InformedFile.wav")
      wait(1200) ; time to play sample at once
   next
end sub


#==============================================================
#  Alarm() - when char lose some HP, U are informed :)
#--------------------------------------------------------------
sub Alarm()
   VAR CharHP=190
   while 1==1
      wait(1000)
      if UO.Life<CharHP then
         gong(1)
      endif       
   wend
end sub

;---------------- Ходилка -----------------------
sub GoW()
   VAR walkwait=300
   VAR x,y,dir=6
   VAR key=36 ; Home key
   x=UO.GetX()
   y=UO.GetY()
   while UO.GetDir()<>dir
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   wend
   UO.Press(key)

   wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
   
   If UO.GetX()+1==x Then
      return -1
   Else
      return 1
   Endif
end sub


sub GoN()
   VAR walkwait=300
   VAR x,y,dir=0
   VAR key=33 ; PgUp
   x=UO.GetX()
   y=UO.GetY()
   while UO.GetDir()<>dir
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   wend
   UO.Press(key)

   wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
   
   If UO.GetY()+1==y Then
      return -1
   Else
      return 1
   Endif
end sub


sub GoE()
   VAR walkwait=300
   VAR x,y,dir=2
   VAR key=34 ; PgDown
   x=UO.GetX()
   y=UO.GetY()
   while UO.GetDir()<>dir
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   wend
   UO.Press(key)

   wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
   
   If UO.GetX()-1==x Then
      return -1
   Else
      return 1
   Endif
end sub


sub GoS()
   VAR walkwait=300
   VAR x,y,dir=4
   VAR key=35 ; End
   x=UO.GetX()
   y=UO.GetY()
   while UO.GetDir()<>dir
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   wend
   UO.Press(key)

   wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
   
   If UO.GetY()-1==y Then
      return -1
   Else
      return 1
   Endif
end sub


sub GoWN()
   VAR walkwait=300
   VAR x,y,dir=7
   VAR key=38 ; UpArrow
   x=UO.GetX()
   y=UO.GetY()

   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif

   If UO.GetDir()==dir Then
      UO.Press(key)
      wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
      If UO.GetDir()==dir Then
         return -1
      Else
         return UO.GetDir()
      Endif
   Else
      return UO.GetDir()
   Endif
end sub


sub GoNE()
   VAR walkwait=300
   VAR x,y,dir=1
   VAR key=39 ; RightArrow
   x=UO.GetX()
   y=UO.GetY()

   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif

   If UO.GetDir()==dir Then
      UO.Press(key)
      wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
      If UO.GetDir()==dir Then
         return -1
      Else
         return UO.GetDir()
      Endif
   Else
      return UO.GetDir()
   Endif
end sub


sub GoSE()
   VAR walkwait=300
   VAR x,y,dir=3
   VAR key=40 ; DownArrow
   x=UO.GetX()
   y=UO.GetY()

   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif

   If UO.GetDir()==dir Then
      UO.Press(key)
      wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
      If UO.GetDir()==dir Then
         return -1
      Else
         return UO.GetDir()
      Endif
   Else
      return UO.GetDir()
   Endif
end sub


sub GoSW()
   VAR walkwait=300
   VAR x,y,dir=5
   VAR key=37 ; LeftArrow
   x=UO.GetX()
   y=UO.GetY()

   If UO.GetDir()<>dir Then
      UO.Press(key)
      wait(walkwait)
      If UO.GetDir()<>dir Then
         CheckLag()
      Endif
   Endif

   If UO.GetDir()==dir Then
      UO.Press(key)
      wait(walkwait)
      If x==UO.GetX() AND y==UO.GetY() Then
         CheckLag()
      Endif
      If UO.GetDir()==dir Then
         return -1
      Else
         return UO.GetDir()
      Endif
   Else
      return UO.GetDir()
   Endif
end sub

#==============================================================
#  WalkN(X,Y,Serial) - char is walking by dX and dY step
#                sub using Home, End, PgUp, PgDown keys
#                d'not rebind this key from default action!
#     walkwait - delay after keypress
#--------------------------------------------------------------
sub WalkN(x,y,Target)
   VAR i
   VAR dx,dy,Exit=0
   
   While Exit<>1   
      If Target<>"" Then
         dx=UO.GetX(Target)-UO.GetX()
         dy=UO.GetY(Target)-UO.GetY()
;         UO.Print("Target locked!")
         If UO.GetDistance(Target)<2 Then
            Exit=1
         Endif
      Else
         dx=x-UO.GetX()
         dy=y-UO.GetY()
         If dx==0 AND dy==0 Then
            Exit=1
         Endif

      Endif
   
      If dx<>0 AND dy<>0 Then
         If dx>0 AND dy>0 Then
            GoSE()
         Endif

         If dx>0 AND dy<0 Then
            GoNE()
         Endif

         If dx<0 AND dy>0 Then
            GoSW()
         Endif

         If dx<0 AND dy<0 Then
            GoWN()
         Endif

      Endif
   
      If dx<>0 AND dy==0 Then
         If dx>0 Then
            GoE()
         Endif
         
         If dx<0 Then
            GoW()
         Endif
      Endif


      If dx==0 AND dy<>0 Then
         If dy>0 Then
            GoS()
         Endif
         
         If dy<0 Then
            GoN()
         Endif
      Endif
   Wend
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 mine')  #сюда похоже нужно писать название другого скрипта, который нужно перезапустить после реконекта (для прокачки)
wait(1000)
UO.Exec('exec mine')
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


Вот мой скрипт.
С реконнектором и всё такое.

_________________
:O


Last edited by Spirit on 2007-09-30 14:11:55, edited 2 times in total.

Top
   
 Post subject:
PostPosted: 2008-02-01 13:13:30 
Offline

Joined: 2006-04-22 10:12:38
Posts: 9
а куда слбственно чар идёт после того как набрад макимадьный вес, а?


Top
   
 Post subject:
PostPosted: 2008-02-04 12:26:30 
Offline
Expert!
User avatar

Joined: 2004-04-04 11:13:54
Posts: 1205
Location: Балаково, Саратовская обл.
К сундуку.


Top
   
 Post subject:
PostPosted: 2008-03-16 06:42:07 
Offline
User avatar

Joined: 2006-12-04 00:23:37
Posts: 36
За скрипт автору огромное спасибо.
И как всегда большое жирное НО закралось...

У мну почему то не детектятся элемы которых выкопал не я...
тоесть они атакуют чара а ему реально пофигу , хотя если я выкопаю его , то скрипт с радостью выполнит все свои функции.

Где посмотреть , что посоветуете?


Top
   
 Post subject:
PostPosted: 2008-03-16 10:11:49 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Dimage wrote:
За скрипт автору огромное спасибо.
И как всегда большое жирное НО закралось...

У мну почему то не детектятся элемы которых выкопал не я...
тоесть они атакуют чара а ему реально пофигу , хотя если я выкопаю его , то скрипт с радостью выполнит все свои функции.

Где посмотреть , что посоветуете?


Code:
;----------- Summon Energy Vortex, kill elem and loot him ----------- 
sub killelem()
if uo.injournal("heavy") then # вырыли элемента #
   # убиваем элемента


Вот тут посмотри ))) А посоветовать могу вставить поиск по типу, в радиусе 10 клеток, чтоб на соседей не срабатывал скрипт.


Top
   
 Post subject:
PostPosted: 2008-03-16 15:22:02 
Offline
User avatar

Joined: 2006-12-04 00:23:37
Posts: 36
Code:
sub killelem()
if uo.injournal("heavy") or uo.injournal("attacking you") or uo.injournal("Elemental")
then # вырыли элемента #
   # убиваем элемента #


Сделал так? правильно?


Top
   
 Post subject:
PostPosted: 2008-03-16 15:30:09 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Dimage wrote:
Code:
sub killelem()
if uo.injournal("heavy") or uo.injournal("attacking you") or uo.injournal("Elemental")
then # вырыли элемента #
   # убиваем элемента #


Сделал так? правильно?


По журналу не айс, так как основной скрипт затирает журнал, может пропускать элемов, лучше поиск по типу юзать.


Top
   
 Post subject:
PostPosted: 2008-03-16 16:20:50 
Offline
User avatar

Joined: 2006-12-04 00:23:37
Posts: 36
а если так?

заменить:
Code:
if uo.injournal("heavy") then # вырыли элемента #


на:
Code:
    UO.Set('finddistance', '50')
    UO.FindType("0x0010","-1", "ground")
    If UO.FindCount() > 0 Then


Вариант правилен?


Top
   
 Post subject:
PostPosted: 2008-03-16 16:29:17 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Dimage wrote:
а если так?

Вариант правилен?


Да только дистанцию поменьше сделай
Code:
    UO.Set('finddistance', '10')


А то на соседских будет срабатывать


Top
   
 Post subject:
PostPosted: 2008-03-16 17:04:58 
Offline
User avatar

Joined: 2006-12-04 00:23:37
Posts: 36
так в этом и была проблема , что своих убивает свободно, а чужих нет.


Top
   
 Post subject:
PostPosted: 2008-03-16 17:30:40 
Offline

Joined: 2007-04-26 23:35:15
Posts: 220
В любом случае больше finddistance ставь не больше 24, оптимально 14( размер экрана)...


Top
   
 Post subject:
PostPosted: 2008-03-16 17:59:36 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
korzh wrote:
В любом случае больше finddistance ставь не больше 24, оптимально 14( размер экрана)...


10 макс 12, т.к. детектятся элемы соседей, и еще одну строку нужно поправить, в самом мининге перед запуском кила идет проверка по журналу, там поменяй


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 95 posts ]  Go to page Previous 1 2 3 4 5 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 14 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