Page 1 of 1

Carpentry помогите поправить скрипт

Posted: 2006-06-18 11:53:42
by Volodya
Ребят вот такой скрипт. В общем алгаритм такой, чар берет бревна с пола, переносим их в пак, кликаем на пилу и делаем бочки. после того как бочка сделана находим ее в паке и переплавляем ее, если логов в паке меньше 30 то докладываем еще 200 логов.
вот собственно скрипт. проблемы две , первая бревна чар берет но после того как меньше 30 их то он не докладывает и вторая проблема не всегда чар находит рядом с собой плавилку. Моет кто-то поправит скрипт?

Code: Select all

sub Paper() ; Делаем бочки - с собой пила
VAR TLogs='0x1BDD' ; Тип логов
VAR TPila='0x1030'  ; ПИЛА
VAR TPaper='0x1EBA' ; Бумага
VAR Kolvo = 200      ; Брать логов (Count of logs for a one grab)

UO.FindType( TLogs, -1, 1 )       ; Ищем логи на полу
UO.Grab( Str( Kolvo ), 'finditem' )    ; Кладем логи в пак
wait(200)
If UO.FindCount() == 30 Then
    UO.Print("Logs not found, script terminated")
While UO.Count( TLogs ) > 30    ; Пока в паке есть логи
         UO.print("ЛОГИ ЗАКОНЧИЛИСЬ !!!!")
      return
   else
      uo.Grab('200','finditem')
   end if
end if
wait(200)
CheckLag()

while NOT UO.InJournal("успешно") AND NOT UO.InJournal("...") and NOT UO.InJournal("Targeting Cancelled")
wait (20)
wend
end sub

sub CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')

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

sub main()
 while 1
  While UO.Mana > 2
   UO.Exec("waittargetobject ^0x0E77") 
   UO.Exec("useobject Type=0x1EBA")
   Wait(15000)
  Wend
  While UO.Mana < UO.INT
   UO.Exec("useskill Meditation")
   Wait(7000)
  Wend
 Wend
end sub

Posted: 2006-06-18 12:39:04
by ghost_hnt
какой-то скриптец кривоватенький)
не могу понять зачем здесб это:

Code: Select all

  While UO.Mana < UO.INT 
   UO.Exec("useskill Meditation")


подправь добор логов с пола или поставь лучше сумку(но тогда не забудь поставить ID)

Code: Select all

sub DOBOR()
UO.FindType('TLogs',-1,'backpack')
wait(500)
If UO.GetQuantity('finditem') < 30 then
UO.FindType( TLogs, -1, 1 )       ; Ищем логи на полу , лучше вместо пола поставь ID какого-нибудь ящика
UO.Grab( Str( Kolvo ), 'finditem' )    ; Кладем логи в пак
wait(200)
end if
end sub

я в скриптах не очень - но проверь, мож правильно :roll:

ща скрипт на плавку подпишу

Code: Select all

sub PLAVKA()
UO.FindType('ТИП БОЧЕК',-1,'backpack')
wait(500)

If UO.GetQuantity('finditem') then
UO.WaitTargetObject('finditem')
UO.UseObject(0x40209E22) ; ID ФОРЖИ
Endif

wend
end sub


ВРОДЕ БЫ ВСЕ!
про добор- не уверен, а про плавку - вроде все точно
склеивай и смоотри!

Posted: 2006-06-18 13:04:21
by Scripts Writer
ghost_hnt wrote:какой-то скриптец кривоватенький)
не могу понять зачем здесб это:

Code: Select all

  While UO.Mana < UO.INT 
   UO.Exec("useskill Meditation")


подправь добор логов с пола или поставь лучше сумку(но тогда не забудь поставить ID)

Code: Select all

sub DOBOR()
UO.FindType('TLogs',-1,'backpack')
wait(500)
If UO.GetQuantity('finditem') < 30 then
UO.FindType( TLogs, -1, 1 )       ; Ищем логи на полу , лучше вместо пола поставь ID какого-нибудь ящика
UO.Grab( Str( Kolvo ), 'finditem' )    ; Кладем логи в пак
wait(200)
end if
end sub

я в скриптах не очень - но проверь, мож правильно :roll:

ща скрипт на плавку подпишу

Code: Select all

sub PLAVKA()
UO.FindType('ТИП БОЧЕК',-1,'backpack')
wait(500)

If UO.GetQuantity('finditem') then
UO.WaitTargetObject('finditem')
UO.UseObject(0x40209E22) ; ID ФОРЖИ
Endif

wend
end sub


ВРОДЕ БЫ ВСЕ!
про добор- не уверен, а про плавку - вроде все точно
склеивай и смоотри!


1.

Code: Select all

uo.Set('finddistance','5')
uo.FindType(...,...,'ground')


2.

Code: Select all

if uo.FindCount() then
  uo.WaitTargetObject('finditem')
  uo.UseObject(forge)
end if

Posted: 2006-06-18 13:19:44
by Volodya
какой-то скриптец кривоватенький)
не могу понять зачем здесб это:

Code: Select all

  While UO.Mana < UO.INT 
   UO.Exec("useskill Meditation")


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

Posted: 2006-06-18 13:22:11
by Volodya
1.

Code: Select all

uo.Set('finddistance','5')
uo.FindType(...,...,'ground')


2.

Code: Select all

if uo.FindCount() then
  uo.WaitTargetObject('finditem')
  uo.UseObject(forge)
end if

если не трудно распиши что ты имел ввиду? что куда ?

Posted: 2006-06-18 14:08:49
by Scripts Writer
Первый отрывок - поиск бревен или че там на земле.
Второе проверка, если еще есть бочки тогда плавить.

Posted: 2006-06-19 09:37:11
by Volodya
You Must Die wrote:Первый отрывок - поиск бревен или че там на земле.
Второе проверка, если еще есть бочки тогда плавить.

спасибо большое все получилось !!

Posted: 2006-06-19 09:38:15
by Scripts Writer
Обращайся ;)