Page 1 of 1

Не одевает шмотки по типу из массива

Posted: 2009-01-12 19:24:44
by Morutsu
Накорябал тут скриптик, но где-то видать накосячил.
Должен бить куклу, есть, одевать курсу если НР => 75
Бьет, ест, но когда запускает процедуру CheckStr - пишет:

Code: Select all

Items found: 18 
No items found



Code: Select all

sub Str() 
 VAR i
  repeat
   For i = 0 to 199
    CheckStr()
    UO.UseFromGround('0x1070') #Type of dummy
    Wait(4800)
   Next
   UO.UseType('0x160A') #Type of food
   Wait(2000)
  until UO.Death()
End sub

Sub CheckStr()
 VAR h,e
 DIM Cursa[10]
Cursa[0] = '0x1515'  #Cloak
Cursa[1] = '0x1F03'  #Robe
Cursa[2] = '0x1539'  #Pants
Cursa[3] = '0x1517'  #Shirt
Cursa[4] = '0x13CC'  #Leather tunic
Cursa[5] = '0x1C08'  #Leather skirt
Cursa[6] = '0x153F'  #Bandana
Cursa[7] = '0x13C6'  #Leather gloves
Cursa[8] = '0x13C7'  #Leather gorget
Cursa[9] = '0x13C5'  #Leather sleeves
 h = UO.GetMaxHp()
 If h == 75 or h > 75 Then
  For e = 0 to 9
   UO.FindType('Cursa[e]')
    If UO.FindCount() > 0 Then
     UO.UseType('finditem')
     Wait(3000)
     e = 9
    Endif
  next
 Endif
End Sub


Может подскажете чего?)

Re: Не одевает шмотки по типу из массива

Posted: 2009-01-12 19:49:02
by Kynep
Morutsu wrote:Накорябал тут скриптик, но где-то видать накосячил.
Должен бить куклу, есть, одевать курсу если НР => 75
Бьет, ест, но когда запускает процедуру CheckStr - пишет:

Не морочайся с массивом, кинь курсу в мешок, впиши его ИД в скрип и вперед!

Code: Select all

Sub CheckStr() 
 VAR pack = ' ' #ID Мешка с курсой.
 VAR h,e
 h = UO.GetMaxHp()
 If h == 75 or h > 75 Then
   UO.FindType('-1', '-1', pack)
    If UO.FindCount() > 0 Then
     UO.UseType('finditem')
     Wait(3000)
    Endif
 Endif
End Sub

Posted: 2009-01-12 19:51:47
by ADEPT_ABP
Я так понял качаешь силу на куклах? Так почему проверку ведёшь на максимальное количество жизни, а не силы?

Code: Select all

h = UO.GetMaxHp()
 If h == 75 or h > 75 Then

Попробуй заменить на

Code: Select all

If uo.str > 75 Then 


P.S. Опять опередили. :)

Posted: 2009-01-12 20:07:15
by Grin
я вас всех опередю...

UO.FindType(Cursa[e])

Posted: 2009-01-12 21:16:39
by Morutsu
Kynep wrote:Не морочайся с массивом, кинь курсу в мешок, впиши его ИД в скрип и вперед!

Да, пожалуй. Опыт не пропьешь:)
Но опять же -
Items found: 10
No items found

ADEPT_ABP wrote:Так почему проверку ведёшь на максимальное количество жизни, а не силы?

Плохо искал)

Grin wrote:я вас всех опередю...

UO.FindType(Cursa[e])

Понял, сделал.

Теперь пишет:

Items found: 1
No items found

Posted: 2009-01-12 21:31:14
by Grin
и? а что ты хотел то?:) такой скрипт... ты как какуюто шмотку находишь присваеваешь переменой цикла 9 то бишь останавливаешь его... что написал то и получил:) я и справил ошибку "не одевает":)

Posted: 2009-01-12 21:33:58
by Savage

Code: Select all

sub Str() 
   VAR i,e=0
   DIM Cursa[10]
   Cursa[0] = '0x1515'  #Cloak
   Cursa[1] = '0x1F03'  #Robe
   Cursa[2] = '0x1539'  #Pants
   Cursa[3] = '0x1517'  #Shirt
   Cursa[4] = '0x13CC'  #Leather tunic
   Cursa[5] = '0x1C08'  #Leather skirt
   Cursa[6] = '0x153F'  #Bandana
   Cursa[7] = '0x13C6'  #Leather gloves
   Cursa[8] = '0x13C7'  #Leather gorget
   Cursa[9] = '0x13C5'  #Leather sleeves


   repeat
      For i = 0 to 199

         If UO.Str >= 75 Then
            UO.FindType(Cursa[e])
            UO.UseType('finditem')
            e=e+1
            Wait(3000)
         Endif

         UO.UseFromGround('0x1070') #Type of dummy
         Wait(4800)
      Next
      UO.UseType('0x160A') #Type of food
      Wait(2000)
   until UO.Death()
End sub

Posted: 2009-01-12 21:37:29
by Kynep
Morutsu wrote:Да, пожалуй. Опыт не пропьешь
Но опять же -
Items found: 10
No items found


Блин!!! Ну конечно!!Не UseType а UseObject! Вот дурья башка! Пробуй.

Code: Select all

Sub CheckStr() 
 VAR pack = ' ' #ID Мешка с курсой.
 VAR h,e
 h = UO.GetMaxHp()
 If h == 75 or h > 75 Then
   UO.FindType('-1', '-1', pack)
    If UO.FindCount() > 0 Then
     UO.UseObject('finditem')
     Wait(3000)
    Endif
 Endif
End Sub

Posted: 2009-01-12 21:56:07
by Morutsu
Kynep wrote:Блин!!! Ну конечно!!Не UseType а UseObject! Вот дурья башка! Пробуй.


Ахххаха! Шойтан!! Таки да:) Спасибо.

Savage wrote:

Code: Select all

sub Str() 
   VAR i,e=0
   DIM Cursa[10]
   Cursa[0] = '0x1515'  #Cloak
   Cursa[1] = '0x1F03'  #Robe
   Cursa[2] = '0x1539'  #Pants
   Cursa[3] = '0x1517'  #Shirt
   Cursa[4] = '0x13CC'  #Leather tunic
   Cursa[5] = '0x1C08'  #Leather skirt
   Cursa[6] = '0x153F'  #Bandana
   Cursa[7] = '0x13C6'  #Leather gloves
   Cursa[8] = '0x13C7'  #Leather gorget
   Cursa[9] = '0x13C5'  #Leather sleeves


   repeat
      For i = 0 to 199

         If UO.Str >= 75 Then
            UO.FindType(Cursa[e])
            UO.UseType('finditem')
            e=e+1
            Wait(3000)
         Endif

         UO.UseFromGround('0x1070') #Type of dummy
         Wait(4800)
      Next
      UO.UseType('0x160A') #Type of food
      Wait(2000)
   until UO.Death()
End sub


Так лучше конечно

З.ы. Оставил таки с мешком:) В паке меньше захламленность наблюдается

Posted: 2009-01-12 22:08:44
by Savage
Ну да, когда сам пишеш такие ошибки просто невозможны. Когда правишь чужой скрипт, уже существующие ошибки просто просачиваются в новый вариант. :D Финдитем это объект а не тип, ну и юзать его надо как объект.

Posted: 2009-01-13 09:05:56
by ADEPT_ABP
Гы... Вот где собака порылась. :D Столько народу проглядело и каждый своё нашёл, а нужное не увидел(до поры, до времени). :D