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

Anything and all.

Moderators: Murderator+, Murderator

CRazych
Posts: 24
Joined: 2006-02-07 15:26:45

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

Post by CRazych »

Как они работают?
И как можно информацию перенисти их в уо?
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

,infogump - информация о последнем гампе, repl нада глядеть
,ongump - обработчик гампа
,recall - то же обработчик гампа в старой интертрепации, требует дополнительных установок ,SET
Сделал дело - флуди смело !!!
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

uo.LastGump() - инфа о прошлом гампе но уже в живую...
CRazych
Posts: 24
Joined: 2006-02-07 15:26:45

Post by CRazych »

Вот после команды ,infigump можно какнить перенести из того окна что появляется в скрипт или журнал? Или на крайняк в файл записать?
Askaneli
Sphere expert
Posts: 1143
Joined: 2004-10-01 08:27:38
Location: Уфа

Post by Askaneli »

CRazych wrote:Вот после команды ,infigump можно какнить перенести из того окна что появляется в скрипт или журнал? Или на крайняк в файл записать?
Выделяешь мышкой текст. Ctrl-C. Создаёшь текстовый файл. Ctrl-V.
Сделал дело - флуди смело !!!
CFA
Posts: 64
Joined: 2006-02-03 06:53:36

Post by CFA »

uo.lastgump(section, line)
например uo.lastgump('text', 1) - первая строка из секции 'text'
CRazych
Posts: 24
Joined: 2006-02-07 15:26:45

Post by CRazych »

Следующий вопрос, как разделить строку на несколько частей?
Допустим:

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

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

Как можно её разделить на несколько частей, например по 123.
Для дальнеишей проверки по скрипту.
CRazych
Posts: 24
Joined: 2006-02-07 15:26:45

Post by CRazych »

всё уже разобрался всё проще некуда )
CFA
Posts: 64
Joined: 2006-02-03 06:53:36

Post 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
CRazych
Posts: 24
Joined: 2006-02-07 15:26:45

Post 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
Ошибку не пишет просто почему то условие не срабатывает.


Я подозреваю что надо "х" привести к строке.
Но как правельно это сделать в такой ситуации?
CFA
Posts: 64
Joined: 2006-02-03 06:53:36

Post by CFA »

это "if 60<x<80 then" что за конструкция? что от нее требуеться?
CRazych
Posts: 24
Joined: 2006-02-07 15:26:45

Post by CRazych »

ну вот наприме если х = 70
то выполняется код который выше
если нет
то тот который ниже
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

if (60<x) and (x<80) then
CRazych
Posts: 24
Joined: 2006-02-07 15:26:45

Post by CRazych »

А больше условий можно создать?

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

Такая конструкция работать будет?
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

CRazych wrote:А больше условий можно создать?

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

Такая конструкция работать будет?
А ты попробуй :D
По идеи будет :twisted:
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

с чего не работать то?
CRazych
Posts: 24
Joined: 2006-02-07 15:26:45

Post 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
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

можно сократить код
CRazych
Posts: 24
Joined: 2006-02-07 15:26:45

Post by CRazych »

ТЫ имеешь ввиду масивом сделать?
Мне просто интересно можно ли делать что то типа else if
просто тут бы очень помагло.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Code: Select all

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

Code: Select all

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