Page 1 of 1

Помогите плиз со скриптом на мининг

Posted: 2005-08-26 13:22:49
by Adil
Долго искал но ненашёл скрипт с реколом по несколим шахтам (по рунбуку) и убийством/лутом элемов ((, Вы немогли бы добавить в етот скрипт рекол ко нескольким шахтам (по рунбуку) и убийство/лут элемов ?

Code: Select all

sub Mining() 
Var GuardTimer
Var LagThreshold = 80
VAR Kirka = '0x0E85' 
VAR MaxVes = 600   
VAR TileNum = '1339' 
VAR x, y, t, k
VAR MaxTime = 100   
VAR ms1 = "There is no ore here to mine"
VAR ms2 = "You can't use"
VAR ms3 = "You put the"
VAR ms4 = "You fail to find any useable ore"
VAR ms5 = "You are too far away"
VAR ms6 = "Try mining in rock"
VAR ms7 = "You can't see that"
VAR ms8 = "Хм... Не вижу.. Где копать то?"
VAR ms9 = "Далеко. Не дотянуться"
UO.Set('quiet',"1")
for y=-2 to 2
   for x=-2 to 2
      k = 0
      repeat
         
         while not UO.Hidden()
         UO.DeleteJournal()
         UO.WarMode(0)
         GuardTimer = UO.Timer() + LagThreshold
         UO.UseSkill("Hiding")
          wait(100)
         While Not UO.InJournal('seem') And Not UO.InJournal('You have') AND GuardTimer > UO.Timer()
          wait(100)
         wend
         wend

         
         UO.DeleteJournal()
         t = UO.Timer()
         k = k + 1
           wait(100)   
             
         UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
         UO.UseType( Kirka )
         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 + MaxTime) < UO.Timer())
         If UO.Weight > MaxVes Then
            UO.Print(" Overweight!" )
            return
         Endif
      until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) )
   next
next
wait(100)
UO.Set('quiet',"0")
wait(100)
UO.Print('Script Ended')
Endsub

Posted: 2005-08-26 13:26:37
by Adil
З.Ы. Играю на шарде цитадель.

Posted: 2005-08-27 04:42:14
by Adil
Или хотябы помогите сделать так чтобы когда реколился в шахту реколился всё времяв следущую по рунбуку

Posted: 2005-08-28 18:59:42
by Adil
Никто непомог :oops: , а я сам придумал :D

Code: Select all

var w = 2

sub RecallShata()

If w == 9 Then
 UO.Recall('myrb','1025')
 wait(1000)
 w = 2
Else
 wait(50)
Endif

If w == 8 Then
 UO.Recall('myrb','94')
 wait(1000)
 w = 9
Else
 wait(50)
 Endif

If w == 7 Then
 UO.Recall('myrb','88')
 wait(1000)
 w = 8
Else
 wait(50)
Endif

If w == 6 Then
 UO.Recall('myrb','73')
 wait(1000)
 w = 7
Else
 wait(50)
Endif

If w == 5 Then
 UO.Recall('myrb','64')
 wait(1000)
 w = 6
Else
 wait(50)
 Endif

If w == 4 Then
 UO.Recall('myrb','58')
 wait(1000)
 w = 5
Else
 wait(50)
Endif

If w == 3 Then
 UO.Recall('myrb','46')
 wait(1000)
 w = 4
Else
 wait(50)
Endif

If w == 2 Then
 UO.Recall('myrb','33')
 wait(1000)
 w = 3
Else
 wait(50)
Endif

Endsub

Posted: 2005-08-28 19:08:41
by Leo
Если стираешь мои замечания про теги, тогда научись уже различать цитату от кода.
Если не веришь, то тут прочти.

Posted: 2005-08-28 19:13:36
by Adil
Сорри привычка ((

Posted: 2005-08-29 06:41:59
by Adil

Code: Select all

sub n_slot() 

If w < 2 OR w > 9 Then
  w =  2
  p =  1
  n =  20
Else
 If p == 0 Then
  n = 20
  p = 1
 Else
  If w == 9 Then
   n = 36
   w = 2
   p = 0
  Else
   wait(50)
  Endif

  If w == 8 Then
   n = 34
   w = 9
   p = 0
  Else
   wait(50)
  Endif

  If w == 7 Then
   n = 32
   w = 8
   p = 0
  Else
   wait(50)
  Endif

  If w == 6 Then
   n = 30
   w = 7
   p = 0
  Else
   wait(50)
  Endif

  If w == 5 Then
   n = 28
   w = 6
   p = 0
  Else
   wait(50)
  Endif

  If w == 4 Then
   n = 26
   w = 5
   p = 0
  Else
   wait(50)
  Endif

  If w == 3 Then
   n =24
   w = 4
   p = 0
  Else
   wait(50)
  Endif

  If w == 2 Then
   n = 22
   w = 3
  Else
   wait(50)
  Endif
 Endif
Endif
UO.Print( str(n))
Endsub


Тоесть Сдесь n = номер рунки запускаем его из функции рекол и реколимся сначала домой, затем в селдущуй рунку,

В самаом скрипте ето будет выглядеть так

Code: Select all

sub Mining
............................
Recall()
IF p == 1 then
UO.Print('My Doma')
dropore()
Else
wait(50)
Endif
Recall()


А в ффункции рекола так

Code: Select all

...................................
n_slot()
UO.Recall( myrunebook , n )