рубка lumber 1 дерево не цикл

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

рубка lumber 1 дерево не цикл

Post by Gromiz »

требуется мелки скрипт на рубку, нашел примерный, обрезал все что не нужно, но есть нюанс который покоя не дает.

суть:
ели запускаем скрипт рядом с деревом, то он использует топор на дереве.
если рядом деревьев нет, то скрипт выключается.
если топора нет, то скрипт сигнализирует об этом и выключается.
цикла нет, т.е. нажимать надо каждый раз, если хотите "рубануть"

вот скрипт:

Code: Select all

sub FastLumber()
	var X, Y, MaxRange = 2, k = 0
	for Y = -MaxRange to MaxRange
		for X = -MaxRange to MaxRange
			if Tree(UO.GetX()+X, UO.GetY()+Y) then
				UO.Warmode(0)
				wait(100)
				k=k+1
				UO.WaitTargetTile(Tree(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
				if UO.Count(0x0F43) || UO.Count(0x0F44) then
					if UO.Count(0x0F43) then
						UO.UseType(0x0F43)
					else
						UO.UseType(0x0F44)
					endif
				else
					UO.Print('Нет топора')
					return
				endif
			endif
		next
	next
end sub
сразу же после запуска скрипта рядом с деревом чар пытается обрубить сразу несколько деревьев, насколько я понял
Auto target cancelled {сообщение инжекта}
What do you want to use this on?
You must wait to perform another action
You decide not to chop wood for now.
Auto target cancelled {сообщение инжекта}
What do you want to use this on?
You must wait to perform another action
т.е. как я понял, он несколько раз пытается использовать топор.?
можете что-то еще посоветовать в дополнение?
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: рубка lumber 1 дерево не цикл

Post by ZeroDX »

Если в радиусе 2-ух клеток есть хотя бы 2 дерева - скрипт не будет ждать по вырубится первое, сразу начнёт рубить второе. Уменьши радиус до 1 и подходи к деревьям вплотную
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Re: рубка lumber 1 дерево не цикл

Post by Gromiz »

блин, логично же, спасибо
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: рубка lumber 1 дерево не цикл

Post by Mirage »

еще логичнее было бы вернуть вырезанную тобой паузу на месте - тогда скрипт приобрел бы вид чтото вроде такого:

Code: Select all

sub LumderStat()
	var X, Y, MaxRange = 3, k
	for Y = -MaxRange to MaxRange
		for X = -MaxRange to MaxRange
			if Tree(UO.GetX()+X, UO.GetY()+Y) then
				k = 0
				repeat
					UO.Set('quiet','0')
					UO.DeleteJournal()
					UO.Warmode(0)
					wait(100)
					UO.WaitTargetTile(Tree(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
					;ToHide()
					;********************************
					; Auto Tools
					if UO.Count(0x0F43) || UO.Count(0x0F44) then
						if UO.Count(0x0F43) then
							UO.UseType(0x0F43); <-- Топор
						else
							UO.UseType(0x0F44); <-- Топор
						endif
					else
						UO.Set('quiet','0')
						UO.Print('А топора то нет!')
						return
					endif
					k=k+1
					repeat
						wait(100)
					until UO.InJournal("0xA20D|0xA2DE|0xA2E7|0xA308|0xA309|0xA30D|0xA311|0xA312|Вы положили|nothing|You put|Вы ударили по дереву|You hack at the tree|Тут нечего рубить|no logs|Вы не можете до этого достать|You can|reach this|Дерево слишком далеко|That is too far away|do much|Это кажется свободным для вашего удара|It appears immune to your blow|атакует")
					UO.Set('quiet','0')
					if k>10 then
						UO.Print('Что-то крепкое попалось!11')
						return
					endif  
				until UO.InJournal("0xA20D|0xA2DE|0xA2E7|0xA308|0xA309|0xA30D|Тут нечего рубить|nothing|no logs|You can|Вы не можете до этого достать|Дерево слишком далеко|too far away|свободным для вашего удара")
			endif
		next
	next
	return 0
end sub
тогда он будет рубить дерево пока не срубит всю древесину либо не стукунет по 1 стволу 10 раз и тогда перейдет к следующему.
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Re: рубка lumber 1 дерево не цикл

Post by Gromiz »

не-не, вся фишка в этом и состоит, чтобы он 1 раз рубил :)

т.е.
подошел к дереву,
нажал кнопку скрипта,
он сам взял топор,
нашел дерево,
прицелился
и 1 раз рубанул

т.е. без цикла и вырубки дерева, грубо говоря более сложный вариант "ласт обжект + ласт таргет"
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: рубка lumber 1 дерево не цикл

Post by Mirage »

А зачем? Типо - "НЕ НЕ Я НЕ НА СКРИПТЕ!!!" ? :|
тогда в твоем первом варианте поставь return после всех usetype
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Re: рубка lumber 1 дерево не цикл

Post by Gromiz »

типо да.
на шарде добыча ресурсов запрещена,
+ при вырубке появляются энты, на убийство которых не написать скрипт
+ таблицы с задачами. которые надо решать
возможен только вариант ручной рубки.

поставил return, а для чего его поставили? что-то не заметил различия

вот конечный скрипт, может кому понадобится:

Code: Select all

sub Lumberodnoderevo()
	var X, Y, MaxRange = 1, k = 0
	for Y = -MaxRange to MaxRange
		for X = -MaxRange to MaxRange
			if Tree(UO.GetX()+X, UO.GetY()+Y) then
				UO.Warmode(0)
				wait(100)
				k=k+1
				UO.WaitTargetTile(Tree(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
				if UO.Count(0x0F43) || UO.Count(0x0F44) then
					if UO.Count(0x0F43) then
						UO.UseType(0x0F43)
						return
					else
						UO.UseType(0x0F44)
						return
					endif
				else
					UO.Print('нет топора')
					return
				endif
			endif
		next
	next
end sub
Sub Tree(X,Y)
	var i
	DIM  R[34]
	R[1] = 3274;
	R[2] = 3275;
	R[3] = 3276;
	R[4] = 3277;
	R[5] = 3280;
	R[6] = 3283;
	R[7] = 3286;
	R[8] = 3288;
	R[9] = 3290;
	R[10] = 3293;
	R[11] = 3296;
	R[12] = 3299;
	R[13] = 3302;
	R[14] = 3320;
	R[15] = 3323;
	R[16] = 3326;
	R[17] = 3329;
	R[18] = 3393;
	R[19] = 3394;
	R[20] = 3395;
	R[21] = 3396;
	R[22] = 3415;
	R[23] = 3416;
	R[24] = 3417;
	R[25] = 3418;
	R[26] = 3419;
	R[27] = 3438;
	R[28] = 3439;
	R[29] = 3440;
	R[30] = 3441;
	R[31] = 3442;
	R[32] = 3460;
	R[33] = 3461;
	R[34] = 3462;
	for i = 1 to 34
		if uo.privategettile( x, y, -1, R[i], R[i]) then
			return R[i]
		endif
	next
	return false
end sub
Sirocco
Posts: 90
Joined: 2007-07-07 13:14:01

Re: рубка lumber 1 дерево не цикл

Post by Sirocco »

Надежда умирает последней.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: рубка lumber 1 дерево не цикл

Post by Mirage »

Gromiz wrote: поставил return, а для чего его поставили? что-то не заметил различия
твой первый вариант скрипта делал следующее:

Code: Select all

для массива деревьев (1-5 предположим)
  если рядом есть дерево тогда
  ударяем топором
и без паузы возвращаемся в первую строку
соответственно если рядом было 3 дерева то скрипт рубил 1 раз 1 потом СРАЗУ 2 потом СРАЗУ 3 и уже на 3 ждал удачного доруба.
Ретурны выкидывает на первом дереве. Хотя с ним не подойдет вариант с несколькими деревьями... ХЗ мне больше нравится вариант с журналом. Какая хрен разница за что сидеть если ты все равно СКРИПТОМ добываешь?
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: рубка lumber 1 дерево не цикл

Post by ZeroDX »

а в гз логи рубятся?
а ещё есть скрипты на "полуламбер". Дерево указываешь сам, скрипт просто его вырубает до конца и предлагает указать на новое дерево
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: рубка lumber 1 дерево не цикл

Post by ZeroDX »

и вообще играйте в игры на Frostbite 2
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: рубка lumber 1 дерево не цикл

Post by Mirage »

Че в них играть - я прошел обе конкурирующие игры. Одну за 4,7 другую за 6,1 часов. А ультима вечна...
ZeroDX
Posts: 718
Joined: 2006-12-08 10:51:50
Location: Москва
Contact:

Re: рубка lumber 1 дерево не цикл

Post by ZeroDX »

как можно пройти он-лайн шутер? =) я пока в бэд компани 50 лвл не возьму, про бф3 даже не буду думать. нфс не порадовал совсем. жду асасинс крид 3
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Re: рубка lumber 1 дерево не цикл

Post by Gromiz »

Mirage wrote: Какая хрен разница за что сидеть если ты все равно СКРИПТОМ добываешь?
нет, не посадят, если сам рубишь, а вот если чар сам вырубает дерево до конца, то есть нюанс один и можно загреметь
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: рубка lumber 1 дерево не цикл

Post by Mirage »

ты думаешь админу на шарде есть разница? Захочет посадит - и ты ничего не сможешь доказать ;)
:mrgreen:
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Re: рубка lumber 1 дерево не цикл

Post by Gromiz »

да, повод всегда найти можно.
Post Reply