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
Такая конструкция работать будет?
А ты попробуй
По идеи будет

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