Page 1 of 2

скиньте плиз скрипт на убийство заданного типа монстра

Posted: 2006-05-30 13:07:02
by Mihail
лень писать.. но как раз видел тут несколько раз такой.. по поиску найти не удалось - в "то что ищут многие" немного не то.. - суть скрипта - находит на земле монстра бежит к нему убивает, лутает что надо - ищет дальше..
-
заранее спасибо

Re: скиньте плиз скрипт на убийство заданного типа монстра

Posted: 2006-05-30 13:21:00
by Doktor_Kor
Mihail wrote:лень писать.. но как раз видел тут несколько раз такой.. по поиску найти не удалось - в "то что ищут многие" немного не то.. - суть скрипта - находит на земле монстра бежит к нему убивает, лутает что надо - ищет дальше..
-
заранее спасибо
закрывайте нах тему, всё тута есть, а еси лень писать скрипт то слепить то его легче

Posted: 2006-05-30 13:52:08
by BigMouseI
Ищи на антарес стратиксе скрипт на скининг и переделай под себя!

Posted: 2006-05-30 15:14:44
by Scripts Writer
К скрипту долепи ходилка Savage и всё будет ок.

Code: Select all

пока вес меньше
Найти
Ходилку к монстру
Пока нет в журнале трупа
атака
хел
wend
лутаем
wend

Posted: 2006-05-30 15:32:48
by BigMouseI
You Must Die wrote:К скрипту долепи ходилка Savage и всё будет ок.

Code: Select all

пока вес меньше
Найти
Ходилку к монстру
Пока нет в журнале трупа
атака
хел
wend
лутаем
wend
а сабы???? :lol: :lol: :lol:

Posted: 2006-05-30 18:58:53
by Savage
Первый фармит овоща, второй перья.

Code: Select all

sub farm()
	VAR i,dist, Exit, GrowType
	UO.Print('4to budem sobirat?')
	UO.AddObject('Grow')
	While UO.Targeting()
		wait(500)
	Wend
	GrowType=UO.GetGraphic('Grow')
	dist=0
	While dist<35
		Exit=0
		While Exit<>1
			UO.Set('finddistance',dist)
			UO.Findtype(GrowType,-1,'ground')
			If UO.FindCount() Then
				If UO.GetDistance('finditem')>3 Then
					SuperWalk(0,0,'finditem')
					dist=0
				Endif
				UO.UseObject('finditem')
				Wait(1000)
			Else
				Exit=1
				dist=dist+1
			Endif
		Wend
	Wend
	UO.Print('Vse sobral!')
end sub


sub Bird()
	VAR i,dist, Exit, GrowType
	UO.Print('Kogo budem bit`?')
	UO.AddObject('Grow')
	While UO.Targeting()
		wait(500)
	Wend
	GrowType=UO.GetGraphic('Grow')
	dist=0
	While dist<50
		Exit=0
		While Exit<>1
			UO.Set('finddistance',dist)
			UO.Findtype(GrowType,-1,'ground')
			If UO.FindCount() Then
				UO.Exec('warmode 1')
				wait(500)
;				UO.Attack('finditem')
				CheckLag()
				Repeat
					If UO.GetDistance('finditem')>1 Then
						SuperWalk(0,0,'finditem')
						UO.Attack('finditem')
						wait(1000)
					Endif
				Until UO.InJournal("Body")
				UO.WaitTargetObject('lastcorpse')
				UO.UseType('0x0F51')
				wait(500)
				UO.FindType('0x1BD1',-1,'lastcorpse')
				wait(500)
				UO.Grab('all','finditem')
			Else
				Exit=1
				dist=dist+1
			Endif
		Wend
	Wend
	UO.Exec('warmode 0')
	UO.Print('Vse sobral!')
end sub


sub CheckLag()
	UO.DeleteJournal()
	UO.Click('backpack')
	repeat
		wait(500)
	until UO.InJournal('backpack')
end sub


#==============================================================
#  SuperWalk(X,Y,Serial) - char is walking by dX and dY step
#                sub using Home, End, PgUp, PgDown keys
#                d'not rebind this key from default action!
#     walkwait - delay after keypress
#--------------------------------------------------------------
sub SuperWalk(x,y,Target)
	VAR i
	VAR dir,ldir,rdir,key,olddir
	VAR dx,dy,Exit=0
	VAR CacheLimit=9,CacheIndex="Text"
	DIM CacheX[10], CacheY[10]
	
	CacheX[0]="Test"
	While Exit<>1	
		If Target<>"" Then
			dx=UO.GetX(Target)-UO.GetX()
			dy=UO.GetY(Target)-UO.GetY()
;			UO.Print("Target locked!")
			If UO.GetDistance(Target)<2 Then
				Exit=1
			Endif
		Else
			dx=x-UO.GetX()
			dy=y-UO.GetY()
			If dx==0 AND dy==0 Then
				Exit=1
			Endif

		Endif
	
		If dx<>0 AND dy<>0 Then
			If dx>0 AND dy>0 Then ; GoSE
				dir=3
				ldir=2
				rdir=4
				key=40 ; DownArrow
				olddir=UO.GetDir()
				If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
					If olddir==2 Then ; GoNE
						dir=1
						ldir=0
						rdir=1
						key=39 ; RightArrow
						While UO.GetDir()<>1
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Else ; GoSW
						dir=5
						ldir=5
						rdir=6
						key=37 ; LeftArrow
						While UO.GetDir()<>5
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Endif
				Endif
			Endif

			If dx>0 AND dy<0 Then ; GoNE
				dir=1
				ldir=0
				rdir=2
				key=39 ; RightArrow
				olddir=UO.GetDir()
				If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
					If olddir==0 Then ; GoWN
						dir=7
						ldir=6
						rdir=7
						key=38 ; UpArrow
						While UO.GetDir()<>7
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Else ; GoSE
						dir=3
						ldir=3
						rdir=4
						key=40 ; DownArrow
						While UO.GetDir()<>3
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Endif
				Endif
			Endif

			If dx<0 AND dy>0 Then ; GoSW
				dir=5
				ldir=4
				rdir=6
				key=37 ; LeftArrow
				olddir=UO.GetDir()
				If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
					If olddir==6 Then ; GoWN
						dir=7
						ldir=7
						rdir=0
						key=38 ; UpArrow
						While UO.GetDir()<>7
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Else ; GoSE
						dir=3
						ldir=2
						rdir=3
						key=40 ; DownArrow
						While UO.GetDir()<>3
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Endif
				Endif
			Endif

			If dx<0 AND dy<0 Then ; GoWN
				dir=7
				ldir=6
				rdir=0
				key=38 ; UpArrow
				olddir=UO.GetDir()
				If StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key) Then
					If olddir==0 Then ; GoNE
						dir=1
						ldir=1
						rdir=2
						key=39 ; RightArrow
						While UO.GetDir()<>1
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Else ; GoSW
						dir=5
						ldir=4
						rdir=5
						key=37 ; LeftArrow
						While UO.GetDir()<>5
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Endif
				Endif
			Endif
		Endif
	
		If dx<>0 AND dy==0 Then
			If dx>0 Then ; GoE
				dir=2
				key=34 ; PgDown
				olddir=UO.GetDir()
				If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
					If olddir==2 Then ; GoSE
						dir=3
						ldir=3
						rdir=4
						key=40 ; DownArrow
						While UO.GetDir()<>3
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Else ; GoNE
						dir=1
						ldir=1
						rdir=0
						key=39 ; RightArrow
						While UO.GetDir()<>1
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Endif
				Endif
			Endif
			
			If dx<0 Then ; GoW
				dir=6
				key=36 ; Home key
				olddir=UO.GetDir()
				If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
					If olddir==0 Then ; GoWN
						dir=7
						ldir=7
						rdir=0
						key=38 ; UpArrow
						While UO.GetDir()<>7
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Else ; GoSW
						dir=5
						ldir=4
						rdir=5
						key=37 ; LeftArrow
						While UO.GetDir()<>5
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Endif
				Endif
			Endif
		Endif

		If dx==0 AND dy<>0 Then
			If dy>0 Then ; GoS
				dir=4
				key=35 ; End
				If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
					If olddir==2 Then ; GoSE
						dir=3
						ldir=2
						rdir=3
						key=40 ; DownArrow
						While UO.GetDir()<>3
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Else ; GoSW
						dir=5
						ldir=6
						rdir=5
						key=37 ; LeftArrow
						While UO.GetDir()<>5
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Endif
				Endif
			Endif
			
			If dy<0 Then ;GoN
				dir=0
				key=33 ; PgUp
				olddir=UO.GetDir()
				If StepEdit(UO.GetX(),UO.GetY(),dir,key) Then
					If olddir==2 Then ; GoNE
						dir=1
						ldir=1
						rdir=2
						key=39 ; RightArrow
						While UO.GetDir()<>1
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Else ; GoWN
						dir=7
						ldir=7
						rdir=6
						key=38 ; UpArrow
						While UO.GetDir()<>7
							StepArrow(UO.GetX(),UO.GetY(),dir,ldir,rdir,key)
						Wend
					Endif
				Endif
			Endif
		Endif
	Wend
end sub


sub StepEdit(x,y,dir,key)
	VAR walkwait=300
	VAR ErrLevel=0
	If UO.GetDir()<>dir Then
		UO.Press(key)
		wait(walkwait)
		If UO.GetDir()<>dir Then
			CheckLag()
		Endif
	Endif
	UO.Press(key)
	wait(walkwait)
	If x==UO.GetX() AND y==UO.GetY() Then
		CheckLag()
		If x==UO.GetX() AND y==UO.GetY() Then
;zatik
			ErrLevel=1
		Endif
	Endif
	Return ErrLevel
end sub


sub StepArrow(x,y,dir,ldir,rdir,key)
	VAR walkwait=300
	VAR ErrLevel=0
	If UO.GetDir()<>dir Then
		UO.Press(key)
		wait(walkwait)
		If UO.GetDir()<>dir AND UO.GetDir()<>ldir AND UO.GetDir()<>rdir Then
			CheckLag()
		Endif
	Endif

	If UO.GetX()==x AND UO.GetY()==y Then
		UO.Press(key)
		wait(walkwait)
		If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
			CheckLag()
			If UO.GetDir()==dir AND UO.GetX()==x AND UO.GetY()==y Then
; zatik			
				ErrLevel=1
			Endif
		Endif
	Endif
	Return ErrLevel
end sub



Posted: 2006-05-30 20:03:48
by Mihail
пасибо! а то голова с утра чугунная - так ломает что-то писать :)

Posted: 2006-05-30 23:05:32
by Grin
Посты не лень было писать?

Posted: 2006-05-31 00:20:04
by Edred
Написать просьбу, а потом 7 часов ждать ответа? :shock: Этот скрипт за 10 минут ваяется...

Posted: 2006-05-31 10:43:48
by klonuk
Помагите плз со в скриптом Bird ... я запускаю указываю и он
выдеает тока
FINDDIST=0
FINDDIST=0
FINDDIST=0
............
и так много раз в чем проблема?

Posted: 2006-05-31 10:57:20
by Grin
Это "фича" даного скрипта. Он ищет живность в областях с именяемым радиусом. Сделано это для поиска ближайших зверушек.
Только теперь чесли межу тобой и птичкой дистанция 10 и она ближайшая то ты сначала увидишь 9 нулей а потом уже свою птичку
выход ,set quiet 1

Posted: 2006-05-31 11:05:43
by Nmy
вопрос... это вам для каторги ?

Posted: 2006-05-31 11:16:54
by klonuk
Grin wrote:Это "фича" даного скрипта. Он ищет живность в областях с именяемым радиусом. Сделано это для поиска ближайших зверушек.
Только теперь чесли межу тобой и птичкой дистанция 10 и она ближайшая то ты сначала увидишь 9 нулей а потом уже свою птичку
выход ,set quiet 1
Ты подскажи что надо подправить , мне надо бить не птиц а лягушек
... буду блгодарен

Posted: 2006-05-31 11:29:53
by Grin
ничего не надо править, когда появится курсор при запуске кликаешь на свою лягушку...

Posted: 2006-05-31 11:36:54
by klonuk
Grin wrote:ничего не надо править, когда появится курсор при запуске кликаешь на свою лягушку...
Я так и делаю у мя появляеться
FINDDITEM=0
FINDDITEM=0
не мерно раз а потом скрипт вырубаеться :(

Posted: 2006-05-31 11:40:11
by Grin
На вкладке main поставь галку TrackWorltItem

Posted: 2006-05-31 13:21:24
by klonuk
Grin wrote:На вкладке main поставь галку TrackWorltItem
спс

Posted: 2006-05-31 13:22:54
by klonuk
Еше 1 вопрос к те грин как сделать чтобы этот скрипт на берд постонянно работал даже если нету рядом птичек просто ждал...
я придумал типо того

Code: Select all

sub Ka4()
repeat
wait (5000)
if UO.InJournal("Bull Frog") then
Bird()
endif
until UO.Dead()
end sub


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

Posted: 2006-05-31 15:03:18
by BigMouseI
klonuk wrote:Еше 1 вопрос к те грин как сделать чтобы этот скрипт на берд постонянно работал даже если нету рядом птичек просто ждал...
я придумал типо того

Code: Select all

sub Ka4()
repeat
wait (5000)
if UO.InJournal("Bull Frog") then
Bird()
endif
until UO.Dead()
end sub


удалил из берд не нужное , но пашет не исправно помаги ...
Попробуй лучше так, журнал не самое надёэное средство!

Code: Select all

sub Ka4()
UO.Set('Finddistance','10')
uo.findtype('Тайп бул фрога','-1','ground')
wait(100)
if UO.Findcount() then
Bird()
else
while not UO.Findcount()
wait(10000)
wend
endif
end sub
а в конец скрипта Bird пропиши просто Ka4()

Posted: 2006-05-31 20:33:12
by klonuk
Спсибо ... не думал что и так можно ... но еше 1 проблема полсле запуска начинает жутко лагать... выключаю все ок