Yoko
http://forum.yoko.com.ua/

Добор Ресов. Помогите.
http://forum.yoko.com.ua/viewtopic.php?f=3&t=16763
Page 1 of 1

Author:  Yo Beggin [ 2011-09-14 01:15:52 ]
Post subject:  Добор Ресов. Помогите.

Перерыл всё, не мог найти ничего похожего)
Вообщем.. Нужен скриптик на добор Химии (Рефреш, ГХ, Дедликов, Манок, Шринок) и Скролов.
По типу и по цвету, если такое возможно. Ну и чтобы можно было указать какое кол-во чего берёт.)
Заранее спасибо)

Author:  Mirage [ 2011-09-14 08:14:44 ]
Post subject:  Re: Добор Ресов. Помогите.

Извини за сарказм но я прямо вижу что ты зарегистрировавшись несколько часов назад только и делал что перерывал ВЕСЬ форум которому больше 5 лет. Это скиллы "мегомозг" и "супер чтение" надо иметь. :mrgreen:
А еще "слепоглаз" ибо я фиг знает как не заметить кнопку поиск (если ты читал форум).
Слово ДОБОР выдает 68 найденных страниц.

Если простые скрипты уровня

Code:
      UO.FindType( item, color, cont )
      uo.moveitem('finditem', colich, 'backpack')

тогда вот (последний скрипт на странице) нормальный скрипт на добор.

Author:  Yo Beggin [ 2011-09-14 13:19:11 ]
Post subject:  Re: Добор Ресов. Помогите.

По-моему, юзать поиск можно без реги)
Не нашёл того чего мне надо.
Регнулся - написал..)

В поиске юзал "добор". Может быть чего-то и не увидел. Но, нашёл только на добор регов.

Спасибо.

Author:  ZeroDX [ 2011-09-14 17:11:20 ]
Post subject:  Re: Добор Ресов. Помогите.

А одноцветные и однотипные поты складываются в одну кучу?

Author:  ZeroDX [ 2011-09-14 18:03:08 ]
Post subject:  Re: Добор Ресов. Помогите.

Скорее всего складываются... Вот
Code:
sub Reload()
  Dim Potion[5]
    Potion[0] = '0x1234 0x1234 5 '  ;Сюда надо вбивать тип, цвет и кол-во потов, которое должно лежать в паке. Все через пробел, и обязательно пробел в конце строки
    Potion[1] = '0x1234 0x1324 5 '
    Potion[2] = '0x1234 0x1234 5 '
    Potion[3] = '0x1234 0x1234 6 '
    Potion[4] = '0x1234 0x1234 10 '
  var i, j, Container, RecContainer, MPause = 300 ; задержка между перемещениeм предметов
  If UO.Targeting() then
    UO.CancelTarget()
  Endif
  UO.AddObject('obj_Store')
  UO.Print('От куда таскать поты?')
  While UO.Targeting()
    Wait(100)
  Wend
  UO.AddObject('obj_Bag')
  UO.Print('Куда таскать поты?')
  While UO.Targeting()
    Wait(100)
  Wend
  For i = 0 to 4
    j = val(GetWord(Potion[i], 3, ' ')) - ItemCount(GetWord(Potion[i], 1, ' '), GetWord(Potion[i], 2, ' '), 'obj_Bag')
    If j < 0 then
      j = -j
      Container = UO.GetSerial('obj_Bag')
      RecContainer = UO.GetSerial('obj_Store')
     else
      Container = UO.GetSerial('obj_Store')
      RecContainer = UO.GetSerial('obj_Bag')
    Endif
    UO.FindType(GetWord(Potion[i], 1, ' '), GetWord(Potion[i], 2, ' '), Container)
    If UO.FindCount() then
      UO.MoveItme('finditem', j, RecContainer)
      Wait(MPause)
     else
      UO.Print('Что-то случилось... RETURN')
      Return
    Endif
  Next
Endsub

Sub ItemCount(type, color, cont)
  var a = 0, Quit = 0
  Repeat
    UO.FindType(type, color, cont)
    If UO.FindCount() then
      a = a + UO.GetQuantity('finditem')
      UO.Ignore('finditem')
     else
      Quit = 1
    Endif
  Until Quit == 1
  UO.IgnoreReset()
  Return a
Endsub

Sub GetWord(str, num, div)
  var tmpst, i, dlin, kol = 0, start = 0
  dlin = len(str)
  For i = 0 to dlin - 1
    If mid(str, i, 1) == div or i == dlin - 1 then
      kol = kol + 1
      If kol == num then
        tmpst = mid(str, start, i - start)
        Return tmpst
       else
        While mid(str, i, 1) == div
          i = i + 1
        Wend
        If kol == num - 1 then
          start = i
        Endif
      Endif
    Endif
  Next
  tmpst = ''
  Return tmpst
Endsub


В скрипте есть гетворд, сделаный Edred

Author:  ZeroDX [ 2011-09-15 18:34:21 ]
Post subject:  Re: Добор Ресов. Помогите.

Небольшой тюнинг
Теперь должен открывать ящики и ещё кое что

Code:
sub Reload()
  Dim Potion[5]
    Potion[0] = '0x1234 0x1234 5 '  ;Сюда надо вбивать тип, цвет и кол-во потов, которое должно лежать в паке. Все через пробел, и обязательно пробел в конце строки
    Potion[1] = '0x1234 0x1324 5 '
    Potion[2] = '0x1234 0x1234 5 '
    Potion[3] = '0x1234 0x1234 6 '
    Potion[4] = '0x1234 0x1234 10 '
  var i, j, Container, RecContainer, MPause = 300 ; задержка между перемещениeм предметов
  If UO.Targeting() then
    UO.CancelTarget()
  Endif
  UO.AddObject('obj_Store')
  UO.Print('От куда таскать поты?')
  While UO.Targeting()
    Wait(100)
  Wend
  UO.AddObject('obj_Bag')
  UO.Print('Куда таскать поты?')
  While UO.Targeting()
    Wait(100)
  Wend
  UO.UseObject('obj_Bag')
  Wait(100)
  UO.UseObject('obj_Store')
  Wait(100)
  For i = 0 to 4
    Repeat
      j = val(GetWord(Potion[i], 3, ' ')) - ItemCount(GetWord(Potion[i], 1, ' '), GetWord(Potion[i], 2, ' '), 'obj_Bag')
      If j < 0 then
        j = -j
        Container = UO.GetSerial('obj_Bag')
        RecContainer = UO.GetSerial('obj_Store')
      Endif
      If j > 0 then
        If ItemCount(GetWord(Potion[i], 1, ' '), GetWord(Potion[i], 2, ' '), 'obj_Bag') < j then
          UO.Print('Тут должна была быть суровая мессага')
          UO.Print('о том, что поты закончились и скрипт выключается')
          Return
        Endif
        Container = UO.GetSerial('obj_Store')
        RecContainer = UO.GetSerial('obj_Bag')
      Endif
      If j <> 0 then
        UO.FindType(GetWord(Potion[i], 1, ' '), GetWord(Potion[i], 2, ' '), Container)
        If UO.FindCount() then
          UO.MoveItme('finditem', j, RecContainer)
          Wait(MPause)
         else
          UO.Print('Что-то случилось... RETURN')
          Return
        Endif
      Endif
    Until j == 0
  Next
Endsub

Sub ItemCount(type, color, cont)
  var a = 0, Quit = 0
  Repeat
    UO.FindType(type, color, cont)
    If UO.FindCount() then
      a = a + UO.GetQuantity('finditem')
      UO.Ignore('finditem')
     else
      Quit = 1
    Endif
  Until Quit == 1
  UO.IgnoreReset()
  Return a
Endsub

Sub GetWord(str, num, div)
  var tmpst, i, dlin, kol = 0, start = 0
  dlin = len(str)
  For i = 0 to dlin - 1
    If mid(str, i, 1) == div or i == dlin - 1 then
      kol = kol + 1
      If kol == num then
        tmpst = mid(str, start, i - start)
        Return tmpst
       else
        While mid(str, i, 1) == div
          i = i + 1
        Wend
        If kol == num - 1 then
          start = i
        Endif
      Endif
    Endif
  Next
  tmpst = ''
  Return tmpst
Endsub

Author:  Nmy [ 2011-09-16 19:24:21 ]
Post subject:  Re: Добор Ресов. Помогите.

viewtopic.php?p=83432#p83432

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/