Yoko

All sides of Injection
It is currently 2025-12-26 20:26:38

All times are UTC+02:00




Post new topic  Reply to topic  [ 6 posts ] 
Author Message
PostPosted: 2006-11-16 14:55:40 
Offline

Joined: 2005-01-21 15:45:19
Posts: 31
Я его запускаю всё прописываю всё ок: Он реколится по первой руне, потом реколится к банку там реколится по второй руне к дому складывает но когда добирает реги берёт почему-то тока МР! Да и когда опять реколится но уже как бы по второй руне, почему-то реколится по первой(хотя ещё точно не уверен потому тчо все руны маркал в одной шахте может в одном и томже месте маркнул, пока проверить не могу крафтера в онлайне нету тчо бы мне руны сделал)но всёже если вдруг что-нибудь про рекол по руннам попадётся ненарком подозрительного плиз опишите!Заранее спасибо
Вот собственно сам скрипт:

Code:
######################################################### 
#      World's Heart Mining         #
#         ver 1.03         #   
#               by Flake   #
#########################################################
# Îïèñàíèå:
#   ×àð ïðèëåòàåò â øàõòó, îáêàïûâàåòñÿ, çàòåì äåëàåò 5 øàãîâ íà çàïàä (W),
#   è îïÿòü îáêàïûâàåòñÿ. Ïðè ïåðåâåñå ëåòèò ê áàíêó, è îòòóäà ïî ðóíå äîìîé.
#   Äîìà âûãðóæàåò ðóäó, äîáèðàåò ðåãè, êóøàåò è îïÿòü êîïàòü.
#   Íà áàçå ó ÷àðà 2 ñóíäóêà, Sunduk - äëÿ âûãðóçà ðóäû, Sunduk2 - â íåãî
#   êëàäåì ðåãè, åäó è âñ¸ îñòàëüíîå (ñì. íèæå).
#   Òàê æå ââåäåíà ñèñòåìà àíòè-ýëåì. Äëÿ ýòîãî âàì ïîíàäîáèòüñÿ ìîùíàÿ æèâîòèíà,
#   ëó÷øå âñåãî Íàéòìàð. Ïðè âûêàïûâàíèè ýëåìà ÷àð áóäåò ñïóñêàòü çàøðèíêîâàííîãî
#   çâåðÿ íà ýëåìà, æäàòü ïîêà òîò åãî óáüåò, çàòåì îí çàøðèíêóåò çâåðÿ îáðàòíî è
#   îáëóòèò òðóï ýëåìà. ×òîáû âêëþ÷èòü ýòó ñèñòåìó, ïîñòàâüòå â ïåðåìåííîé
#   AntiElem çíà÷åíèå 1 (Ïðè 0 ñèñòåìà îòêëþ÷åíà, ïðè 1 - âêëþ÷åíà.).
#   Åñëè õîòèòå êîïàòü ñ àíòèýëåìîì, â Sunduk2 êèíüòå áóòûëîê èíâèçà è øðèíêîâ.
#   Òàê æå íåîáõîäèìî â ïåðåìåííûõ Killer è KillerB ïðîïèñàòü òèïû âàøåãî
#   çâåðÿ - óáèéöû â çàøðèíêîâàííîì è îáû÷íîì âèäàõ.
#   Â ïàêå ó ÷àðà äîëæíî áûòü: 6 ðóí â øàõòû, ïàðó êèðîê, ðåãè íà ðåêàë.
#   Â áàíêå - ðóíà äîìîé.
#   Ðóíû íåîáõîäèìî ìàðêàòü òàêèì îáðàçîì, ÷òîáû ó ÷àðà áûëî ìåñòà äëÿ 5
#   øàãîâ â íàïðàâëåíèè (W).
############################################################################
###########################################################################¹
#                            Ïåðåìåííûå:


VAR AntiElem = 0   ; Åñëè 0 - ñèñòåà îòêëþ÷åíà. åñëè 1 - âêëþ÷åíà.

VAR BankRune = '0x4015CCDB'   ; ID ðóíû, âåäóùåé ê áàíêó
VAR HomeRune = '0x4015AFE2'   ; ID ðóíû, êîòîðàÿ ëåæèò â áàíêå è âåäåò ê äîìó.
VAR Sunduk = '0x40198702'      ;   ID ñóíäóêà äëÿ ðàçãðóçêè ðóäû
VAR Sunduk2 = '0x401C8135'     ; ID ñóíäóêà ñ ðåãàìè è åäîé
VAR Food = '0x1608'   

VAR Elem = '0x000E'            ; òèï ýëåìåíòà
VAR Killer = '0x0000'          ; òèï êèëëåðà â øðèíêå
VAR KillerB = '0x0000'         ; òèï êèëëåðà
VAR ShrinkClr = '0x051B'      ; öâåò øðèíêà
VAR InvisClr = '0x012B'       ; öâåò èíâèçêè
VAR Bottle = '0x0F0E'  ; òèï áóòûëêè



###########################################################################
###########################################################################
sub START_MINING()
VAR Kirka = '0x0E85'   
VAR TileNum = '1339'
VAR MaxWeight = 750                                      ; Ìàêñèìàëüíûé âåñ ìèíóñ 30-40 ñòîóíîâ
VAR x, y, t, k
VAR MaxTime = 7000   
VAR ms1 = "There is nothing here to mine for"
VAR ms2 = "You can't use"
VAR ms3 = "You put the"
VAR ms4 = "loosen some rocks but fail"
VAR ms5 = "You can't use the %s where it is"
VAR ms6 = "Try mining in rock"
VAR ms7 = "Try mining elsewhere."
VAR ms8 = "no line of sight"
VAR tochka = 1
VAR flag = 0

Dim Runa[6]
 Runa[1] = 0x4026346E            ; âïèñàòü ID ðóí â øàõòû
 Runa[2] = 0x402636C7
 Runa[3] = 0x40263AA1
 Runa[4] = 0x4025E5A8
 Runa[5] = 0x4025E52E
 Runa[6] = 0x4025E3A8

   UO.SetGlobal( 'alarm', 'off' )
        RecallRune(Runa[tochka])
          If AntiElem == 1 Then
            ElemCheck()
          EndIf
          If UO.GetGlobal( 'alarm' ) == 'on' Then
            GoTo JumpNext
          EndIf
   CheckHide()
   
 Repeat
     
  StartMine:
  flag = flag + 1
  For y=-2 to 2
    For x=-2 to 2
     k = 0
      Repeat
         UO.DeleteJournal()
         t = UO.Timer()
         k = k + 1
          UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
          UO.UseType( Kirka )
             Repeat
               Wait(300)
             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 ((t + MaxTime) < UO.Timer())                     
      Until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR (k > 10))
   ;--- --- --- Ïðîâåðêà íà ïåðåâåñ è ýëåìà --- ---
     If AntiElem == 1 Then
       ElemCheck()
     EndIf
       If UO.Weight >= MaxWeight OR UO.GetGlobal( 'alarm') == 'on'  Then
        UO.Print( 'Ïåðåâåñ!' )
         UnLoad()
    RecallRune(Runa[tochka])
      If AntiElem == 1 Then
             ElemCheck()
           EndIf
           If UO.GetGlobal( 'alarm' ) == 'on' Then
             GoTo JumpNext
           EndIf
         CheckHide()
         flag = 0             
         tochka = tochka + 1       
           If tochka == 6 Then       
              tochka = 1         
           EndIf             
         Goto StartMine         
       EndIf             
    ;--- --- --- --- --- --- --- --- --- ---
    Next
  Next
 
  If flag < 2 Then
    Walk()
    GoTo StartMine
  EndIf

  JumpNext:
    flag = 0
    tochka = tochka + 1
      If tochka == 6 Then
        tochka = 1
      EndIf
    RecallRune(Runa[tochka])
      If AntiElem == 1 Then
        ElemCheck()
      EndIf
      If UO.GetGlobal( 'alarm' ) == 'on' Then
        GoTo JumpNext
      EndIf
    CheckHide()

 Until UO.Dead()
endsub


;  --- Ìîäóëü ðàçãðóçêè è äîáîðà ðåãîâ. 
Sub UnLoad()
VAR a, b

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

Dim RecallReg[3]
RecallReg[1] = 0x0F7A
RecallReg[2] = 0x0F7B
RecallReg[3] = 0x0F86

  ; --- Ïðûãàåì ê áàíêó
   RecallRune(BankRune)
   UO.MSG( 'Bank' )
   Wait(100)

  ; --- Ïðûãàåì äîìîé
    RecallRune(HomeRune)

  ; --- Ðàçãðóçêà ðóäû
   For a = 1 to 4
     UO.FindType( Ore[a] )
       While UO.FindCount()
         UO.MoveItem( 'finditem', '-1', Sunduk )
         Wait(200)
         CheckLag()
         UO.FindType( Ore[a] )
       Wend
   Next

  ; --- Äîáîð ðåãîâ, åäû è áóòûëîê
  For b = 1 to 3
    UO.FindType( RecallReg[b] )
      If UO.GetQuantity( 'finditem' ) < 20 Then
        UO.FindType( RecallReg[b], '-1', Sunduk2 )
          If UO.GetQuantity( 'finditem' ) > 20 Then
       UO.Grab( '1', 'finditem' )
            Wait(200)
            CheckLag()
          Else
            UO.Print( 'Regs not found, script terminated' )
            UO.Exec( 'terminate all' )
          EndIf
       
      EndIf
  Next
    UO.FindType( Food )
      If UO.GetQuantity( 'finditem' ) < 10 Then
        UO.FindType( Food, '-1', Sunduk2 )
        UO.Grab( '10', 'finditem' )
        Wait(200)
        CheckLag()
      EndIf
    UO.DeleteJournal() 
    UO.FindType( Food )
      If UO.FindCount() Then
        Repeat 
          UO.UseType( Food )
          Wait(200)
          CheckLag()
        Until UO.InJournal( 'simply too full' )
      EndIf
   
  If AntiElem == 1 Then
    UO.FindType( Bottle, ShrinkClr, 'my' )
      If UO.GetQuantity( 'finditem' ) < 6 Then
        UO.FindType( Bottle, ShrinkClr, Sunduk2 )
     If UO.FindCount() > 6 Then
       UO.Grab( '6', 'finditem' )
     Else
       UO.Print( 'Bottles not found, script terminated' )
            UO.Exec( 'terminate all' )
     EndIf
      EndIf

    UO.FindType( Bottle, InvisClr, 'my' )
      If UO.GetQuantity( 'finditem' ) < 6 Then
        UO.FindType( Bottle, InvisClr, Sunduk2 )
     If UO.FindCount() > 6 Then
       UO.Grab( '6', 'finditem' )
     Else
       UO.Print( 'Bottles not found, script terminated' )
            UO.Exec( 'terminate all' )
     EndIf
      EndIf
  EndIf
endsub


; --- Ïðîöåäóðà ðåêàëà ïî ðóíå
Sub RecallRune(RuneId) 
VAR MyX, MyY, t, i
  If UO.Mana < UO.Int Then
    UO.WarMode(0)
      Repeat
        UO.UseSkill( 'Meditation' )
        Wait(1000)       
      Until UO.Mana == UO.Int
   EndIf
   i = 1
      Cast:
        MyX = UO.GetX()
        MyY = UO.GetY()
   t = 0   
        UO.Cast( 'Recall', RuneId )
        UO.DeleteJournal()
     If UO.GetGlobal( 'alarm' ) == 'on' AND i ==1 Then
       Wait(150)
       UO.UseType( Bottle, InvisClr )
       i = 0
          EndIf
          Repeat
         t = 1 + 1
              If UO.InJournal( 'izzle' ) OR (t > 40) Then
                GoTo Cast
         Else
      Wait(500)
              EndIf
          Until MyX <> UO.GetX() AND MyY <> UO.GetY()
endsub   

; --- Ôóíêöèÿ Àíòè-Ýëåìåíò.
Sub ElemCheck()
UO.Set( 'finddistance', '5' )
UO.FindType( Elem, '-1', 'ground' )
  If UO.FindCount() == 1 Then
    UO.Print( 'One Element found! Killing system activated!' )
    UO.UseType( 'Killer' )
    UO.WaitTargetObject( 'finditem'  )
    UO.MSG( 'all kill' )
      UO.FindType( Elem, '-1', 'ground' )
        While UO.FindCount()
         Wait(1000)
          UO.FindType( Elem, '-1', 'ground' )
         Wend
      UO.FindType( KillerB, '-1', 'ground' )
      UO.WaitTargetObject( 'finditem' )
      UO.UseType( Bottle, ShrinkClr )
      Wait(200)
      UO.FindType( Killer, '-1', 'ground' )
      UO.Grab( '1', 'finditem' )
      Wait(200)
      UO.SetGlobal( 'alarm', 'off' )
      LootElem()
  Else
    If UO.FindCount() > 1 Then
      UO.SetGlobal( 'alarm', 'on' )
    Else
      UO.SetGlobal( 'alarm', 'off' )
    EndIf
  EndIf
endsub

; ---  Ôóíêöèÿ Ëóòà Ýëåìà
Sub LootElem()
VAR Cleaver = '0x0000'
VAR Kirka = '0x0E85'
VAR a
 Dim Ore[4]
  Ore[1]= 0x19B9 ; 4 and more ore
  Ore[2]= 0x19B7 ; 1 ore
  Ore[3]= 0x19BA ; 2 ore
  Ore[4]= 0x19B8 ; 3 ore

  If UO.GetDistance( 'lastcorpse' ) < 3 Then
    UO.WaitTargetObject( 'lastcorpse' )
    UO.UseType( Cleaver )
    Wait(300)
    UO.UseObject( 'lastcorpse' )
      For a = 1 to 4
        UO.FindType( Ore[a], '-1', 'lastcorpse' )
          While UO.FindCount()
       UO.Grab( '1', 'finditem' )
            Wait(200)
       CheckLag()
       UO.FindType( Ore[a], '-1', 'lastcorpse' )
      Wend
      Next
   UO.FindType( '0x0EED', '-1', 'lastcorpse' )   ; äåíüãè
     If UO.FindCount() Then
       UO.Grab( '1', 'finditem' )
            Wait(200)
     EndIf
    UO.UseType( Kirka )
    Wait(200)
  Else
    UO.Print( 'The corpse is too far!' )
  EndIf
endsub

; --- Ïðîöåäóðà ïðîâåðêè è óõîäà â õàéä.
Sub CheckHide()
VAR fail = "You can't seem to hide here."
  If UO.Hidden() Then
    UO.Print( 'Hidden!' )
  Else
    UO.Print( 'Now Hiding...' )
    StartHide:
      UO.WarMode(0)
      UO.UseSkill( 'Hiding' )
      DeleteJournal("You can't seem to hide here.")
        Repeat
          If UO.InJournal( fail ) Then
            GoTo StartHide
          Else
            Wait(100)
          EndIf
        Until UO.Hidden()
    UO.Print( 'Hidden!' )
  EndIf
end sub

Sub Walk()
  UO.Press(36)
  UO.Press(36)
  UO.Press(36)
  UO.Press(36)
  UO.Press(36)
  Wait(1500)
  CheckHide()
endsub

Sub CheckLag()
   DeleteJournal( 'backpack' )
   UO.Click('backpack')
   Repeat
      Wait(100)
   Until UO.InJournal('backpack')
end sub
 
Sub DeleteJournal(msg)
   var nom = UO.InJournal(msg)
   If nom>0 Then
      UO.SetJournalLine(Nom - 1," -- replaced -- ") 
      DeleteJournal(msg)
   EndIf
endsub


Last edited by Deathclaw on 2006-11-16 17:37:06, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2006-11-16 17:15:04 
Offline
User avatar

Joined: 2006-08-05 14:09:06
Posts: 270
Во первых код в код, а во вторых не копируйте с инжекта. Сохраняйте в текстовых редакторах и вставляйте сюда из них.

_________________
ДРВ
Spoiler
_________________
Антарес
Spoiler|Gostrabaiter|Umhra|Slog


Top
   
 Post subject:
PostPosted: 2006-11-18 12:02:58 
Offline

Joined: 2005-01-21 15:45:19
Posts: 31
Ну, я перезаписал в код и сохранил в текстовом редакторе и потом скопировал но всё равно фигня такая


Top
   
 Post subject:
PostPosted: 2006-11-19 00:17:40 
Offline
User avatar

Joined: 2006-08-05 14:09:06
Posts: 270
Я тоже одно время летал на таком скрипте а так как играю на ДРВ и там производство и покупка рунбук подорожала, то снова собираюсь вернутся к рункам.


Проверь, те типы регов для рекола прописаны? И не слишкомли много их? (много это 1,5,10 к). Положи по 100 каждого.
Code:
Dim RecallReg[3] 
RecallReg[1] = 0x0F7A
RecallReg[2] = 0x0F7B
RecallReg[3] = 0x0F86


Из-за невозможности прочесть настройки и объемности скрипта, могу только догадыватся, что рунки нужно было вбить в объекты.
Code:
 Runa[1] = 0x4026346E
 Runa[2] = 0x402636C7
 Runa[3] = 0x40263AA1
 Runa[4] = 0x4025E5A8
 Runa[5] = 0x4025E52E
 Runa[6] = 0x4025E3A8

_________________
ДРВ

Spoiler

_________________

Антарес

Spoiler|Gostrabaiter|Umhra|Slog


Top
   
 Post subject:
PostPosted: 2006-11-19 09:39:45 
Offline

Joined: 2005-01-21 15:45:19
Posts: 31
Да не, с этим всё в порядке все типы и ИД прописал и регов нормально клал один раз по 50 другой раз по 300


Top
   
 Post subject:
PostPosted: 2007-06-16 22:58:09 
Offline

Joined: 2006-03-08 20:53:28
Posts: 115
а есть у кого нибудь этот скрипт только с руским описанием а не с закорючкми)


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 2 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:  
Powered by phpBB® Forum Software © phpBB Limited