Page 1 of 2

Кто может рассказать о Гампах?

Posted: 2006-03-15 04:29:00
by CRazych
Как они работают?
И как можно информацию перенисти их в уо?

Posted: 2006-03-15 06:43:57
by Askaneli
,infogump - информация о последнем гампе, repl нада глядеть
,ongump - обработчик гампа
,recall - то же обработчик гампа в старой интертрепации, требует дополнительных установок ,SET

Posted: 2006-03-15 07:26:01
by Grin
uo.LastGump() - инфа о прошлом гампе но уже в живую...

Posted: 2006-03-15 12:29:36
by CRazych
Вот после команды ,infigump можно какнить перенести из того окна что появляется в скрипт или журнал? Или на крайняк в файл записать?

Posted: 2006-03-15 14:01:00
by Askaneli
CRazych wrote:Вот после команды ,infigump можно какнить перенести из того окна что появляется в скрипт или журнал? Или на крайняк в файл записать?

Выделяешь мышкой текст. Ctrl-C. Создаёшь текстовый файл. Ctrl-V.

Posted: 2006-03-15 14:16:48
by CFA
uo.lastgump(section, line)
например uo.lastgump('text', 1) - первая строка из секции 'text'

Posted: 2006-03-15 15:31:50
by CRazych
Следующий вопрос, как разделить строку на несколько частей?
Допустим:

Записываем значения гампа в переменную.
var i
i=uo.lastgump('text', 1)
uo.print(i)
выводим строку.

Допустим выводится 123 123 123 123

Как можно её разделить на несколько частей, например по 123.
Для дальнеишей проверки по скрипту.

Posted: 2006-03-15 15:54:36
by CRazych
всё уже разобрался всё проще некуда )

Posted: 2006-03-15 15:58:31
by CFA
из встроенных функций для работы со строками есть: left, right, mid - выдирают кусок строки
к строке можно обращаться как к массиву (только для чтения)

Code: Select all

var t
var str = 'abcdefg'
t = str[0] #a
t = str[1] #b
t = str[5] #f

немного желания и все можно сделать. если лень можно посмотреть тут - функцию GetWord

Posted: 2006-03-15 18:59:40
by CRazych
БЛин вот пишу макрос на сортировку сос ботлов. Стока гемароя проверок тьма просто.
Ктонить сваю логику предложить может?

и скажите почему не срабатывает
x=i[15]+i[16]

Code: Select all

sub sort()
var i,x,y.ii

   if 60<x<80 then
      uo.setreceivingcontainer('Bag')
      uo.grab(-1,'finditem')
      uo.unsetreceivingcontainer()
      wait(400)
   else
      uo.setreceivingcontainer('Next')
      uo.grab(-1,'finditem')
      uo.unsetreceivingcontainer()
      wait(400)
   end if
end sub


Ошибку не пишет просто почему то условие не срабатывает.


Я подозреваю что надо "х" привести к строке.
Но как правельно это сделать в такой ситуации?

Posted: 2006-03-15 19:13:04
by CFA
это "if 60<x<80 then" что за конструкция? что от нее требуеться?

Posted: 2006-03-15 19:19:02
by CRazych
ну вот наприме если х = 70
то выполняется код который выше
если нет
то тот который ниже

Posted: 2006-03-15 20:18:13
by admir
if (60<x) and (x<80) then

Posted: 2006-03-15 22:31:10
by CRazych
А больше условий можно создать?

В плане
if (60<x) and (x<80) and (10<y) and (y<50) then

Такая конструкция работать будет?

Posted: 2006-03-15 22:41:29
by Kynep
CRazych wrote:А больше условий можно создать?

В плане
if (60<x) and (x<80) and (10<y) and (y<50) then

Такая конструкция работать будет?


А ты попробуй :D
По идеи будет :twisted:

Posted: 2006-03-15 23:16:43
by admir
с чего не работать то?

Posted: 2006-03-16 01:30:22
by CRazych
Мда...........
Структура жестокая получилась.
как вы думаете можно ли как то упрастить или улучьшить этот код?

Code: Select all

sub sort()
var i,x,y.ii      
   if (30<x) and (x<40) and (60<y) and (y<70)then
      uo.setreceivingcontainer('Bag1')
      uo.grab(-1,'finditem')
      uo.unsetreceivingcontainer()
      wait(400)
   else
      if (10<x) and (x<25) and (75<y) and (y<90)then
         uo.setreceivingcontainer('Bag2')
         uo.grab(-1,'finditem')
         uo.unsetreceivingcontainer()
         wait(400)
      else
         if (65<x) and (x<80) and (75<y) and (y<90)then
            uo.setreceivingcontainer('Bag3')
            uo.grab(-1,'finditem')
            uo.unsetreceivingcontainer()
            wait(400)
         else
            if (130<x) and (x<145) and (80<y) and (y<95)then
               uo.setreceivingcontainer('Bag4')
               uo.grab(-1,'finditem')
               uo.unsetreceivingcontainer()
               wait(400)
            else
               if (60<x) and (x<85) and (110<y) and (y<125)then
                  uo.setreceivingcontainer('Bag5')
                  uo.grab(-1,'finditem')
                  uo.unsetreceivingcontainer()
                  wait(400)
               else
                  uo.setreceivingcontainer('Bag6')
                  uo.grab(-1,'finditem')
                  uo.unsetreceivingcontainer()
                  wait(400)
               end if
            end if
         end if
      end if
   end if
end sub

Posted: 2006-03-16 01:54:16
by admir
можно сократить код

Posted: 2006-03-16 02:10:58
by CRazych
ТЫ имеешь ввиду масивом сделать?
Мне просто интересно можно ли делать что то типа else if
просто тут бы очень помагло.

Posted: 2006-03-16 07:54:03
by Destruction

Code: Select all

if (30<x) and (x<40)

Не вижу логики, будет верно если x < 30, зачем тогда двойное условие? Возможно имелось в виду так:

Code: Select all

if (30>x) and (x<40)