ПЕРЕПЛАВКА руды!!!

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
worm90
Posts: 14
Joined: 2006-02-05 13:29:09
Contact:

ПЕРЕПЛАВКА руды!!!

Post by worm90 »

ПРошу помочь со скриптом Edred'a на переплавку руды. Можно ли его изменить так чтобы : он брал из сундука ОРЫ => переплавлял их => кидал обратно в сундук? Но тока чтобы выха оставалась не тронутой.
Поисковиком ничего не нашёл кроме прокачки мининга путём переплавки.

Code: Select all

#####################################################################
; Training of Mining, ver 2.00b, (c) Edred
; 2.00b - добавляем сундук, откуда берется руда по 100 шт. и кидается
;         под ногм. Дальше как было. Заодно все правлю и переписываю
;         более правильно :)
sub Smelt()
   VAR Sunduk = '0x40437910'         ; Сериал сундука с рудой
   VAR Ruda1 = '0x19B9'            ; Тип руды
   VAR Ruda2 = '0x19B8'            ; Тип руды - 3 шт.
   VAR Ruda3 = '0x19BA'            ; Тип руды - 2 шт.
   VAR Ruda4 = '0x19B7'            ; Тип руды - 1 шт.
   VAR Ing1 = '0x1BEF'               ; Тип ингов металлов
   VAR Ing2 = '0x1BF2'               ; Тип ингов строймата
   VAR MaxVes = 200               ; Максимальный вес пака
   While UO.SkillVal( 'Mining' ) < 1000
      repeat   
         UO.Findtype( Ruda1, '-1', '1' )      ; Ищем руду на земле
         If UO.Findcount() == 0 Then
            UO.Findtype( Ruda2, '-1', '1' )
            If UO.Findcount() == 0 Then
               UO.Findtype( Ruda3, '-1', '1' )
               If UO.Findcount() == 0 Then
                  UO.Findtype( Ruda4, '-1', '1' )
                  If UO.Findcount() == 0 Then
                     If GetOre( Sunduk, Ruda1 ) == 0 Then
                        UO.Print( "No more ore for smelt..." )
                        Return
                     Endif
                  Endif
               Endif
            Endif
         Endif
      until UO.FindCount() > 0
      UO.Grab( '1', 'finditem' )
      Wait(500)
      CheckLag()
      UO.UseType( Ruda4 )            ; переплавляем
      Wait(500)
      CheckLag()
      If UO.Weight > MaxVes Then
         ; Максимальный вес пака превышен - разгружаемся
         UO.Findtype( Ing1 )
         If UO.Findcount() > 0 Then
            UO.MoveItem( 'finditem', '0', Sunduk )
            Wait(500)
            CheckLag()
         Endif
         UO.Findtype( Ing2 )
         If UO.Findcount() > 0 Then
            UO.MoveItem( 'finditem', '0', Sunduk )
            Wait(500)
            CheckLag()
         Endif
      Endif
   Wend
endsub

Sub GetOre( cont, typ )
   ; Взять из сундука 100 руды и бросить под ноги.
   ; Если руды нет - возвращаем 0, если есть 1
   UO.FindType( typ, '-1', cont )
   If UO.FindCount() == 0 Then
      return 0
   Else
      UO.Grab( '100', 'finditem' )
      wait(500)
      CheckLag()
      UO.FindType( typ )
      If UO.FindCount() == 0 Then
         UO.Print( 'Idiot! Your script is fuck!' )
      Else
         UO.Drophere( 'finditem' )
         wait(500)
         CheckLag()
      Endif
   Endif
   return 1
endsub

У меня мининг ГМ но когда я попытася изменить 15 строчку (<1000 на = 1000) у меня при запуске скрипта пишет CHECKLAG ERROR.
ПОмогите ПЛИЗ....такой скрипт любому пригодился бы. :roll:
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

ну во первых мининг не

Code: Select all

= 1000
а

Code: Select all

== 1000
. тогда бы заработало.

а во вторых придётся всю конструкцию скрипта переписывать. проще новый отпостить.
worm90
Posts: 14
Joined: 2006-02-05 13:29:09
Contact:

Post by worm90 »

You Must Die wrote:ну во первых мининг не

Code: Select all

= 1000
а

Code: Select all

== 1000
. тогда бы заработало.

а во вторых придётся всю конструкцию скрипта переписывать. проще новый отпостить.

Ну я поставилл == врезультате скрипт включается и через долю секунды выключается. :cry:
А новый врядли кто отпостит :cry:
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

сам попробуй. если что-помогут
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

worm90 wrote:
You Must Die wrote:ну во первых мининг не

Code: Select all

= 1000
а

Code: Select all

== 1000
. тогда бы заработало.

а во вторых придётся всю конструкцию скрипта переписывать. проще новый отпостить.

Ну я поставилл == врезультате скрипт включается и через долю секунды выключается. :cry:
А новый врядли кто отпостит :cry:


Естественно. Замени строку

Code: Select all

While UO.SkillVal( 'Mining' ) < 1000 


на

Code: Select all

While NOT UO.Dead() 


По поводу взятия только из сундука и кидания туда же - проблема в том, что у тебя руда может лежать в сундуке неподъемной кучей. Если же откладывать там же в сторону кучку, то придется каждый раз ее заново искать (при смене кол-ва руды в куче серийник этой кучи меняется)... Лишний гимор. Почему ты хочешь при ГМе мининга плавить по одной штуке? Плавь все сразу.
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

или ты силу качаешь? :-\
worm90
Posts: 14
Joined: 2006-02-05 13:29:09
Contact:

Post by worm90 »

Да нет, не силу я качаю мне просто нужно чтоб чел брал из сундука руду, выкидывал на пол, затем всё плавил, и обратно сложил в сундук.
А насчёт ID кучек руд - их можно вообще не брать а брать тока тип руды
worm90
Posts: 14
Joined: 2006-02-05 13:29:09
Contact:

Post by worm90 »

да мне и не нужно по одной всё плавить - мне как раз таки и нужно чтоб он всё кроме выхи викинул на пол и сплавил положив слитки обратно в сундук :)
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

через цвета замути массив.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

worm90 wrote:Да нет, не силу я качаю мне просто нужно чтоб чел брал из сундука руду, выкидывал на пол, затем всё плавил, и обратно сложил в сундук.
А насчёт ID кучек руд - их можно вообще не брать а брать тока тип руды


Дык приведенный выше скрипт так и делает - готовые инги он как раз в сундук кидает. А вышку исключи по цвету. А лучше храни вышку в том же сундуке в отдельном мешке - и не будет никаких проблем вообще.
Post Reply