Page 1 of 1

Неработает вродебы рабочий скрипт

Posted: 2009-08-26 06:08:32
by desimal
Помогите , начинает ничего не делать после слов ('Проверяем чё купить') при запуске zakupka(); а также при запуске medved() после слов (' НАчинаем кач!')

Шард Пол097


Code: Select all

sub zakupka()
   var sklad = '0x76B70E69'
    var book = '0x766C998A'
    var gold = '0x0EED'
    var take_count = 0
    var i = 0
    var j = 0
    var it_count

    dim items[4]
    items[0] = '0x0F3F' # Arrows
    items[1] = '0x1BFB' # Bolts
    items[2] = '0x13B1' # Bows
    items[3] = '0x0F4F' # Crossbow

    dim no_buy[4]
    no_buy[0] = 0
    no_buy[1] = 0
    no_buy[2] = 0
    no_buy[3] = 0

    dim items_max[4]
    items_max[0] = 300
    items_max[1] = 300
    items_max[2] = 4
    items_max[3] = 2

    dim take[4]
    take[0] = 6000
    take[1] = 6000
    take[2] = 1400
    take[3] = 1400

    dim buy_fraza[4]
   buy_fraza[0] = ",buy arrow"
   buy_fraza[1] = ",buy bolt"
    buy_fraza[2] = ",buy bows"
    buy_fraza[3] = ",buy cross"

    #Проверяем чё надо
    uo.exec('terminate detect')
    uo.print("ПРОВЕРЯЕМ чё нада купить!")
    uo.IgnoreReset()
    uo.useobject(sklad)
    wait(500)
    CheckLag()
    for i = 0 to 3
       it_count = 0
       uo.findtype(items[i], -1, sklad)
       while uo.findcount()
           it_count = it_count + uo.getquantity('finditem')
         uo.ignore('finditem')
            uo.findtype(items[i], -1, sklad)
        wend
        if it_count >= items_max[i] then
           no_buy[i] = 1
        else
           take_count = take_count + take[i]
       endif
    next
    uo.IgnoreReset()

    #Если ничё ненада то никуда не идём
    if take_count == 0 then
       uo.print('ВСЁ НА МАЗИ ОСТАЯЁМСЯ ДОМА!')
       return uo.Exec('exec medved')
    endif


     # Берём бабки

    uo.findtype(gold, -1, sklad)
    while uo.gold < take_count and uo.findcount()
       uo.moveitem('finditem', (take_count - uo.gold))
        wait(500)
        CheckLag()
        uo.findtype(gold, -1, sklad)
    wend

    if uo.gold <  take_count then
       CheckLag()
        uo.print("БАБЛА НЕТ! СКАЧАЕМСЯ ДАЛЬШЕ!")
          return uo.Exec('exec medved')
    endif

    #Раздеваемся

    uo.disarm()
    wait(1000)
    CheckLag()
    for i = 0 to 3
       uo.findtype(items[i], -1)
        while uo.FindCount()
           uo.moveitem('finditem', 0,  sklad)
            wait(500)
            CheckLag()
            uo.findtype(items[i], -1)
        wend
    next

    #Начинаем реколиться по шопам
    for i = 0 to 4
         CheckLag()
      recall(i, book)
        wait(6500)
        uo.UseSkill("Detect Hidden")
        wait(1000)
        uo.sayu('Guards!!!')
        for j = 0 to 3
           if no_buy[j] == 0 then
               uo.sayu(buy_fraza[j])
                wait(2500)
            endif
        next
    next

    #Пиздуем домой
    CheckLag()
    recall(5, book)
    wait(7000)

    #Разгружаемся
    uo.useobject(sklad)
    for i = 0 to 3
       uo.findtype(items[i], -1)
        while uo.FindCount()
           uo.moveitem('finditem', 0,  sklad)
            wait(500)
            CheckLag()
            uo.findtype(items[i], -1)
        wend
    next


    #Перезарядка буки
    CheckLag()
    UO.FindType('0x1F4C', -1, sklad)
   wait(1000)
   uo.useobject(book)
   wait(2000)
   CheckLag()
   uo.waittargetobject('finditem')
   uo.lclick(243,22)
   wait(10000)
    CheckLag()
    return uo.Exec('exec medved')

endsub


sub medved()
     var sklad = '0x76B70E69'
     var timerz, i
     var medvedz_count = 0
     dim medvedz[256]
     var timeout = 10200

     dim patroni[2]
     dim oruzie[2]

     var j = 0

     patroni[0] = '0x0F3F' # Arrows
     patroni[1] = '0x1BFB' # Bolts
     oruzie[0] = '0x13B1' # Bows
     oruzie[1] = '0x0F4F' # Crossbow


     timerz = uo.Timer()

     uo.exec('exec detect')
     uo.print('Ищем МЕДВЕДЕЙ!')
     uo.useobject(sklad)
     uo.IgnoreReset()
     uo.set( 'finddistance', 10 )
     UO.FindType('0x00D4', -1, 'ground')
     while UO.FindCount()
       medvedz[medvedz_count] = UO.GetSerial('finditem')
        UO.Ignore(medvedz[medvedz_count])
        medvedz_count = medvedz_count + 1
       UO.FindType('0x00D4', -1, 'ground')
     wend
     uo.set( 'finddistance', 32 )

     uo.print('Начинаем КАЧ!')

     j = 0

     while 1
        for i = 0 to (medvedz_count - 1)
           uo.warmode(0)
           if uo.getHP(medvedz[i]) > ((uo.getMaxHP(medvedz[i]) / 3 * 2)) then
               check:
                CheckLag()
                if uo.count(patroni[j]) < 1 then
                   uo.findtype(patroni[j], -1, sklad)
                    if uo.findcount() then
                       uo.moveitem('finditem', 300)
                        wait(500)
                    else
                       if j == 0 then
                           j = 1
                            uo.disarm()
                            wait(500)
                            CheckLag()
                            goto check
                        else
                           uo.warmode(0)
                            return
                        endif
                    endif
                endif
                CheckLag()
                if uo.ObjAtLayer('Rhand') == "" then
                   uo.findtype(oruzie[j], -1, sklad)
                    wait(500)
                    if uo.findcount() then
                       uo.moveitem('finditem', 0)
                        wait(500)
                        CheckLag()
                    uo.Equipt('Rhand', oruzie[j])
                    else
                        if j == 0 then
                           j = 1
                            wait(500)
                            CheckLag()
                            goto check
                        else
                           uo.warmode(0)
                            return
                        endif
                    endif
              endif
              uo.warmode(1)
            uo.attack(medvedz[i])
               wait(2000)
           endif
           if (timerz + timeout) <= uo.Timer() then
               uo.warmode(0)
                CheckLag()
                uo.print("Идём ЗАКУПАЦО")
                return uo.Exec('exec zakupka')
            endif
            wait(500)
            uo.print("До закупки: " + str((timerz + timeout) - uo.Timer()))
         next
     wend

endsub




sub recall(id, runebook)
   var y
   var x = 63
   y = 68 + (id * 14)
   repeat
      CheckLag()
      uo.rclick(198,128)
      wait(500)
      uo.useobject(runebook)
      wait(2000)
      uo.lclick(x, y)
      wait(500)
   until uo.InJournal("Kal Ort Por")
end sub


sub CheckLag()
   if uo.Waiting()>0 then
      uo.Exec('canceltarget')
   end if
   uo.DeleteJournal()
   uo.Click('backpack')
   repeat
      wait(50)
   until uo.InJournal('backpack')
end sub

sub Detect()
  while uo.SkillVal("Detect Hidden") < 1000
    uo.UseSkill("Detect Hidden")
    wait(2000)
  wend
  end sub


БЛАГОДАРЮ