Скрипт для крафта...

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Heav
Posts: 10
Joined: 2006-11-20 17:32:57

Скрипт для крафта...

Post by Heav »

Помогите сделать скрипт для крафта, чтоб он кидал setcatchbag на первую сумку, когда она переполнилась, на вторую потом на третью (это максимум сколько можно удержать в паке у чара), после делал unsetcatchbag и заполнял свой пак до отказа. Тут как я понял нужно 2 массива делать, а как не могу понять.

Заранее спасибо.
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Помогите сделать


Поможем. Начинай.
Heav
Posts: 10
Joined: 2006-11-20 17:32:57

Post by Heav »

You Must Die wrote:
Поможем. Начинай.


Code: Select all

sub main()
var item='0x1415'
uo.addobject('one')
while uo.targeting()
wait(100)
wend
uo.addobject('two')
while uo.targeting()
wait(100)
wend
uo.addobject('three')
while uo.targeting()
wait(100)
wend
while uo.count(item) < 441
if uo.count(item) == 148 then
uo.setcatchbag('one')
wait(9000)
end if
if uo.count(item) == 295 then
uo.setcatchbag('two')
wait(9000)
end if
if uo.count(item) == 442 then
uo.setcatchbag('three')
wait(9000)
end if
wait(1000)
wend
end sub


Вот моя кривая заготовка :D Можно ли как нить это упростить и преукрасить? :wink:
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

В scripts! есть скрипт на крафт удочек эдреда. там ты найдешь все что тебе так нужно.
Heav
Posts: 10
Joined: 2006-11-20 17:32:57

Post by Heav »

Code: Select all

##################################################################### 
; Carpentry. v.1.12b (c) Edred
;
; Чар берет из сундука 1 пустой мешок, кладет этот мешок в сундук 2,
; берет с пола логи, крафтит из них удочки и складывает эти удочки
; в этот мешок в сундуке 2. Если логи на полу или пустые мешки
; кончились - выход
;
sub carpentry()
   VAR Sunduk1 = '0x4017439B'       ; Сериал сундука с пустыми мешками
   VAR Sunduk2 = '0x4000F46C'       ; Сериал пустого сундука
   VAR Meshok = '0x0E76'          ; Тип мешка
   VAR Logi = '0x1BDD'          ; Тип логов
   VAR Rubanok = '0x1031'          ; Тип инструмента карпентера
   VAR Udochka = '0xDBF'          ; Тип удочки
   VAR Kolvo = 460          ; Брать логов (2 лога = 1 удочка)
   VAR MeshSer, j, k
   While TRUE
      UO.FindType( Logi, -1, 1 )       ; Ищем логи на полу
      UO.Grab( Str( Kolvo ), 'finditem' )    ; Кладем логи в пак
      wait( 2000 )
      If UO.FindCount() == 0 Then
         UO.Print("Logs not found, script terminated")
         return
      Endif
      UO.FindType( Meshok, -1, Sunduk1 )       ; Ищем мешок в сундуке 1
      MeshSer = UO.GetSerial( 'finditem' )
      UO.Grab( '1', 'finditem' )          ; Кладем его в бэкпак
      wait( 2000 )
      UO.MoveItem( MeshSer, 0, Sunduk2 )
      wait( 2000 )
      While UO.Count( Logi ) > 0
         ; Пока в паке есть логи
         UO.Print('Ostalos ' + Str( UO.Count( Logi ) ) + ' logov' )
         UO.DeleteJournal()
         UO.CancelMenu()
         UO.WaitMenu ('Carpentry', 'Weapons & Tools', 'Weapons & Tools', 'fishing' )
         UO.UseType( Rubanok )
         k = 0
         while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
            k = k + 1
            wait(500)
         wend
         ; Wait( 14000 )
         ; Скрафтили удочку
         ; Сразу переложим ее в мешок
         if UO.Count( Udochka ) > 0 then
            UO.FindType( Udochka, -1, 'backpack' )
            UO.MoveItem( 'finditem', 0, MeshSer )
            wait( 2000 )
            UO.Print( 'Udochka perelozhena' )
         end if
      Wend
   Wend
end sub


Я скорее с ума сойду чем разберусь в этом скрипте и тем более передлаю в тот что мне нужен.

П.С. - Я в нем про перемену кетчбагов при определенном кол-ве шмота ничего не нашел.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Heav wrote:П.С. - Я в нем про перемену кетчбагов при определенном кол-ве шмота ничего не нашел.


Никогда uo.setcatchbag не использовал и не буду. Потому что предпочитаю сам в скрипте контролировать что и куда перекладывается. И к тому же, так легко забыть команду uo.unsetcatchbag(), или снять скрипт по каким-то причинам и эта команда не отработает...

Вот как ты, например. Сброс-то не сделал. А если у тебя "катчбаг" будет установлен на треш, а потом, после скрипта, ты начнешь деньги перекладывать? Или вышку? Разумеешь, что произойдет? :lol:
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Чего тут разбираться? Даже коменты есть. Логичный и понятный код.
Heav
Posts: 10
Joined: 2006-11-20 17:32:57

Post by Heav »

Edred wrote:Никогда uo.setcatchbag не использовал и не буду. Потому что предпочитаю сам в скрипте контролировать что и куда перекладывается. И к тому же, так легко забыть команду uo.unsetcatchbag(), или снять скрипт по каким-то причинам и эта команда не отработает...

Вот как ты, например. Сброс-то не сделал. А если у тебя "катчбаг" будет установлен на треш, а потом, после скрипта, ты начнешь деньги перекладывать? Или вышку? Разумеешь, что произойдет? :lol:


Сделать скрипт без кетч бага гараздо сложней, и в моем скрипте нету unsetcatchbag-а потому что это тока заготовка.

Savage wrote:Чего тут разбираться? Даже коменты есть. Логичный и понятный код.


Может для вас то он и понятный, но я ещё не настока хорошо разбираюсь в скриптах.
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Как я тебе кже ранее объяснял, сначала разберись в себе. То есть нужно понять, что должен делать чар. Разложить все по шагам. Просто большую часть действий для чара, твой мозг считает уже сделанной, поэтому не может сложиться четкое и не замысловатое представление о будущем скрипте. Сначала определяешь общую задачу для будущего скрипта, потом прикидываешь как чар будет снабжаться ингридиентами для крафта, потом делишь общую задачу на много маленьких и очень простых, потом все что ты надумал нужно задокументировать и внимательно посмотреть на то что получилось на предмет логических и других ошибок, а вот теперь открываем хэлп сайт инжи и начинаем смотреть какие команды могут осуществить задуманные нами действия. Если команд нет то ищем на форуме части скриптов, которые эти действия осуществляют, опять лезем в хэлп инжи и разбираемся что за команды и каким образом они это все осуществляют... И тут то и прийдет озарение и радость от своей маленькой победы...
Post Reply