Page 5 of 6

Posted: 2009-12-18 00:57:10
by Nmy
sub bow() & sub sword() есть где то в этой теме

Code: Select all

sub PVP_Horse() 
	if uo.objatlayer('Horse') Then
		uo.useobject('self') 
		uo.attack('lastattack')
		bow()
	else    
		uo.msg('all come') 
		uo.useobject('lasthorse')
		sword()
	endif 
end sub

Posted: 2009-12-18 01:01:30
by Nmy
Ставим типы только закрытых дверей.)

Code: Select all

sub opendoor()
	var n
	Dim Door[30]
	Door[1]='0x06AD'
	Door[2]='0x084C'
	Door[3]='0x06A7'
	Door[4]='0x0677'
	Door[5]='0x068F'
	Door[6]='0x06DD'
	Door[7]='0x06D5'
	
	for n=1 to 7
		if uo.countground(Door[n]) then
			uo.usefromground(Door[n])
		endif
	next
endsub 

Posted: 2009-12-21 19:35:44
by Nmy

Code: Select all

sub main()
	while 1
		uo.warmode(0)
		checklag() 
		uo.waittargetground('0x2006')
		uo.useskill('Forensic')
		wait(3100)
	wend
endsub 
sub checklag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 
2й скрипт
ставим пк чара - убивам, качаем скил, ресаем, убиваем
чтоб не путали - перед запуском чар уже убит

Code: Select all

sub main()
	var pk='0x00361F2F'
	while 1
		if uo.countground('0x2006')<1 then
			repeat
				uo.cast('Resurrection',pk)
				checklag()
				waitformana()
			until not uo.injournal('spell fizzles')
			uo.attack(pk)
			repeat
				wait(1000)
			until uo.countground('0x2006')
			uo.warmode(0)
		endif
		uo.waittargetground('0x2006')
		uo.useskill('Forensic')
		checklag()
		wait(2500)
	wend
endsub 
sub checklag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 
sub WaitForMana()
	VAR w,m=uo.mana
	for w=0 to 150
		if uo.mana<m then
			wait(500)
			return
		endif
		wait(500)
	next
endsub

Posted: 2009-12-21 22:39:50
by Nmy

Code: Select all

	var distance='4' # дистанция поиска мобов
	var corpser=1 # 1-резать труп # 0-не резать труп
	
sub main()
	var n, m, mob
	var tweapon=uo.getserial(uo.objatlayer('Rhand'))
	var tshield=uo.getserial(uo.objatlayer('Lhand'))
	
	Dim npc[10]
	npc[0]=2 # count
	npc[1]='0x0018'
	npc[2]='0x0038'
	npc[3]=''
	
	Dim loot[50]
	loot[0]=2 # count
	loot[1]='0x0EED'
	loot[2]='0x0F7E'
	loot[3]=''
	
	uo.set('finddistance',distance)
	while 1
		for n=1 to npc[0]
			uo.findtype(npc[n],-1,'ground')
			if uo.findcount() then
				uo.useobject(tweapon)
				uo.useobject(tshield)
				wait(100)
				mob=uo.getserial('finditem')
				kill(mob)
				uo.useobject('lastcorpse')
				checklag()
				wait(1000)
				for m=1 to loot[0]
					while uo.getquantity('<'+loot[m])
						uo.moveitem('<'+loot[m])
						wait(700)
					wend
				next
				while uo.life<uo.str-20 and uo.count('0x0E21')
					uo.bandageself()
					wait(3500)
				wend
				if uo.count('0x0E20') then
					uo.waittargettype('0x1008')
					uo.usetype('0x0E20')
					wait(1000)
				endif
			endif
		next
		wait(1000)
	wend
endsub 
sub kill(mob)
	var n
	checklag()
	for n=0 to 100
		uo.attack(mob)
		if uo.getdistance(mob)>1 then
			walkn(0,0,mob)
		endif
		if uo.injournal('Body of') then
			if corpser==1 then
				uo.waittargetobject('lastcorpse')
				wait(100)
				uo.usetype('0x0F51')
				wait(500)	
			endif
			return
		endif
		wait(1000)
	next
endsub
sub WalkN(x,y,Target) ########################################## Ходилка 
	VAR LastTimer 
	LastTimer=UO.Timer() 
	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"
	uo.say('')	
	While Exit<>1    
		If Target<>"" Then 
			dx=UO.GetX(Target)-UO.GetX() 
			dy=UO.GetY(Target)-UO.GetY()         
			If UO.GetDistance(Target)<2 OR LastTimer+100<UO.Timer() Then 
				wait(1000) 
				return
			Endif 
		Else 
			dx=x-UO.GetX() 
			dy=y-UO.GetY() 
			If dx==0 AND dy==0 OR LastTimer+100<UO.Timer() Then 
				return 
			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=150
	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=150 
	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 
sub checklag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 

Posted: 2009-12-22 11:28:20
by Nmy

Code: Select all

var Runehome, Runegorod, BlankRune, Runinetu, flagpolymorph=0
var Sunduk='0x404AEDFD'
var BlankRuneBag='0x404B65EB'
var Gpbag='0x402BB9A2'
var type='0x14FB' # тип вещей для продажи
var color='0x09BB' # цвет
var quantity='2000' # кол-во
var sellbag='0x4037DB23' # баг для продажи

sub main()

	uo.addobject('Runehome')
	while uo.targeting()
		wait(500)
	wend
	Runehome=uo.getserial('Runehome')
	
	uo.addobject('Runegorod')
	while uo.targeting()
		wait(500)
	wend
	Runegorod=uo.getserial('Runegorod')	
	
	Open(Sunduk)
	GrabBlankRune()
	uo.findtype(type,color,Sunduk)
	while uo.findcount()
		RegCheck()
		polymorph()
		grabitems()
		RecallRune(Runegorod)
		if uo.injournal('The recall rune fades completely.') then
			Mark(BlankRune,0)
			Runinetu=1
		endif
		market()
		uo.morph('0x03DB')
		walkn(5240,4041,'')
		walkn(5247,4041,'')		
		sell()
		walkn(5246,4041,'')	
		Open('0x40095898')
		dropgp()
		gorod()
		RecallRune(Runehome)
		if uo.injournal('The recall rune fades completely.') then
			Mark(BlankRune,1)
			Runinetu=1
		endif
		Open(Sunduk)
		if Runinetu==1 then
			GrabBlankRune()
		endif
		uo.findtype(type,color,Sunduk)
	wend
endsub 
sub dropgp()
	uo.findtype('0x0EED',-1,'backpack')
	while uo.findcount() 
		uo.moveitem('finditem',0,Gpbag)
		checklag()
		wait(700)
		uo.findtype('0x0EED',-1,'backpack')
	wend
	uo.findtype('0x0EED',-1,Gpbag)
	while uo.count('0x0EED')<200
		uo.moveitem('finditem','200','backpack')
		checklag()
		wait(700)
		uo.findtype('0x0EED',-1,'backpack')		
	wend
endsub
sub sell()
	repeat
		uo.waittargetobject(sellbag)
		uo.usefromground('0x1173')
		checklag()
		wait(700)
		uo.lclick(190,136)
		wait(700)
	until uo.injournal('You put the gold coin')
endsub
sub gorod()
	var oldX,oldY 
	oldX = Uo.GetX() 
	oldY = Uo.GetY()
	uo.recall('~0x0EDE','7') # '7' можно поменять на другой город
	repeat
		wait(500)
	until oldX<>UO.GetX() AND oldY<>UO.GetY() 
endsub
sub market()
	var oldX,oldY 
	oldX = Uo.GetX() 
	oldY = Uo.GetY()
	uo.recall('~0x0EDE','27')
	repeat
		wait(500)
	until oldX<>UO.GetX() AND oldY<>UO.GetY() 
endsub
sub Mark(RuneID,Place) 
	repeat
		if uo.mana<33 then
			meditation(33)
		endif
		checklag()
		uo.Cast('Mark',RuneID) 
		WaitForMana()
	until not uo.injournal('The spell fizzles')
	if Place==0 then 
		Runegorod=uo.getserial(RuneID)
	else 
		Runehome=uo.getserial(RuneID)
	endif 
endsub  
sub RecallRune(nowrune)  
	uo.Print('улетаем по руне') 
	var oldX,oldY 
	oldX = uo.GetX() 
	oldY = uo.GetY()
	repeat
		if uo.mana<20 then
			meditation(20)
		endif
		uo.Cast('Recall',nowrune)
		WaitForMana()
	until oldX<>uo.GetX() AND oldY<>uo.GetY() 
	uo.Useskill('Meditation') 
end sub 
sub WaitForMana()
	VAR w,m=uo.mana
	for w=0 to 150
		if uo.mana<m then
			wait(500)
			return
		endif
		wait(500)
	next
endsub
sub grabitems()
	uo.findtype(type,color,Sunduk)
	if uo.findcount() then
		uo.moveitem('finditem',quantity,sellbag)
		checklag()
		wait(700)
	endif
endsub
sub RegCheck()
	VAR i,q
	VAR kol=50
	Dim Regs[4]
	Regs[0]='0x0F7A'      ; Black Pearl 
	Regs[1]='0x0F7B'      ; Bood Moss 
	Regs[2]='0x0F86'      ; Mandrake Root
	Regs[3]='0x0F8D'      ; SS	
	
	for i=0 to 3
		if uo.count(Regs[i])<>kol then
			q=kol-uo.count(Regs[i])
			if q<>0 then
				if q>0 then
					uo.findtype(Regs[i],-1,Sunduk)
					if uo.findcount() then
						uo.moveitem('finditem',STR(q),'backpack')
						wait(1000)
						checklag()
						uo.print('Берем реги для рекола...')
					else
						uo.msg('No regs')
						return
					endif
				else
					q=q*-1				
					uo.findtype(Regs[i],-1,'my')	
					if uo.findcount() then
						uo.moveitem('finditem',STR(q),Sunduk)
						wait(1000)
						checklag()
						uo.print('Регов больше чем надо. Кидаем лишнее в сундук')
					endif
				endif
			endif
		endif
	next
	if uo.count('0x0F0E','0x09DF')<1 then
		uo.findtype('0x0F0E','0x09DF',Sunduk)
		if uo.findcount() then
			uo.moveitem('finditem','2','backpack')
			checklag()
			wait(1000)
		endif
	endif
endsub
sub polymorph()
	if uo.str<201 or flagpolymorph>=6 then
		repeat
			meditation(uo.int)
			checklag()
			uo.waitmenu('What do you want to polymorph','Daemon')
			uo.cast('Polymorph')
			WaitForMana()
		until not uo.injournal('spell fizzles')
		flagpolymorph=0
	endif
	flagpolymorph=flagpolymorph+1
endsub
sub GrabBlankRune()
	Open(BlankRunebag)
	uo.findtype('0x1F14',-1,BlankRunebag)
	if uo.findcount() then
		Blankrune=uo.getserial('finditem')
		uo.moveitem('finditem',0,'backpack')
		checklag()
		wait(700)
		uo.print('Взяли бланк руну')
		Runinetu=0
	else
		uo.print('Бланк рун больше нету! Скрипт остановлен.')
		uo.exec('terminate all')
	endif
endsub
sub Open(what)
	uo.useobject(what)
	checklag()
	wait(700)
endsub
sub meditation(mn)
	while uo.mana < mn
		if uo.count('0x0F0E','0x09DF') then
			uo.usetype('0x0F0E','0x09DF')
		endif
		uo.warmode(0)
		uo.Useskill('Meditation') 
		waitformed(mn) 
		wait(1000)
	wend
endsub 
sub waitformed(mn)
	var n
	for n=0 to 100
		if uo.injournal('You lose|You are at peace|thoughts of battle') or uo.mana>=mn then
			return
		endif
		wait(500)
	next
endsub 
sub checklag() 
	repeat
		uo.DeleteJournal() 
		uo.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 400
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 

sub WalkN(x,y,Target) ########################################## Ходилка 
	VAR LastTimer 
	LastTimer=UO.Timer() 
	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"
	uo.say('')	
	While Exit<>1    
		If Target<>"" Then 
			dx=UO.GetX(Target)-UO.GetX() 
			dy=UO.GetY(Target)-UO.GetY()         
			If UO.GetDistance(Target)<3 OR LastTimer+200<UO.Timer() Then 
				wait(1000) 
				return
			Endif 
		Else 
			dx=x-UO.GetX() 
			dy=y-UO.GetY() 
			If dx==0 AND dy==0 OR LastTimer+200<UO.Timer() Then 
				return 
			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=250
	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=250 
	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: 2009-12-29 15:51:55
by Nmy
Этим скриптом можно украсть драка. Запускается и он 5 секунд старается стырить драка с пола.

Code: Select all

sub stealdrake()
	var n
	for n=0 to 50
		uo.moveitem('~0x20D6',0,'backpack')
		wait(100)
	next
endsub

Posted: 2010-01-09 11:05:23
by Nmy

Code: Select all

sub main()
	var count=1000
	var type, color, n=0, q
	uo.addobject('item')
	while uo.targeting()
		wait(500)
	wend
	type=uo.getgraphic('item')
	color=uo.getcolor('item')
	uo.addobject('bag1')
	while uo.targeting()
		wait(500)
	wend	
	uo.addobject('bag2')
	while uo.targeting()
		wait(500)
	wend	
	repeat
		uo.findtype(type,color,'bag1')
		if uo.findcount() then
			uo.moveitem('finditem',0,'bag2')
			checklag()
			wait(600)
			n=n+uo.getquantity('finditem')
			if n==count then
				uo.print('done')
				return
			endif
			if n>count then
				q=n-count
				uo.moveitem('finditem',str(q),'bag1')
				uo.print('done')
				return
			endif
		endif
	until not uo.findcount()
	uo.print('exit')
endsub 
sub checklag() 
	repeat
		UO.DeleteJournal() 
		UO.Click('backpack') 
	until backpack()==1
endsub 
sub backpack()
	var n
	for n=0 to 200
		if uo.injournal('a backpack') then
			return 1
		endif
		wait(200)
	next
endsub 

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-09 22:16:13
by Nmy
Тема открыта. Периодически захожу в игру. Пожалуй в скором времени будут обновления скриптов. Кто его знает.

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-10 16:30:29
by Kynep
Welcome back! :lol: 8)

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-10 19:51:52
by Nmy
Kynep wrote:Welcome back! :lol: 8)
привет БРО
ты на дрв еще заходишь?

ситуация на дрв несколько изменилась
в шахтах одни роботы сутками на скрипте копают
с вендоров все скупают до последнего :lol: ups :lol:

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-11 02:33:10
by Nearga
В скрипте таминга http://forum.yoko.com.ua/viewtopic.php?p=83449#p83449, судя по всему, стоит заменить в 21 строке
uo.useobject('staff')
на
uo.useobject('s')

ЗЫ: и, конечно же, большое спасибо за подборку.

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-11 12:19:32
by Kynep
Nmy
Привет! Месяц как играю... да щас ваще сурово...

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-11 13:18:17
by Nmy
Nearga wrote:В скрипте таминга http://forum.yoko.com.ua/viewtopic.php?p=83449#p83449, судя по всему, стоит заменить в 21 строке
uo.useobject('staff')
на
uo.useobject('s')

ЗЫ: и, конечно же, большое спасибо за подборку.
исправил

Code: Select all

uo.useobject(s)

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-14 13:10:58
by Nmy
Kynep wrote:Nmy
Привет! Месяц как играю... да щас ваще сурово...
могу помочь с жильем или еще как нить. Пиши если что :roll:

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-14 13:20:34
by Kynep
Пасиба, но у меня уже все есть :) 8)
3.5к скилл кап, остались треш скиллы, веник стоит на первом маркете. Развиваемся потихоньку. :twisted:

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-14 13:45:17
by Nmy
Kynep wrote:Пасиба, но у меня уже все есть :) 8)
3.5к скилл кап, остались треш скиллы, веник стоит на первом маркете. Развиваемся потихоньку. :twisted:
Как зовут вендора?

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-14 13:48:21
by Kynep
Вендор Harden.

Первый маркет!
Первый ряд!
Первый слева!

:lol:

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-14 15:48:29
by Mirage
у Nmy апгрейд броника? :roll:
надо мне кубинскую сигару замутить...

Re: DRW (2009) by Dark Enemy

Posted: 2012-02-20 23:24:03
by Nmy
фича для тех кто хочет там мобов убивать в дестарде или еще где там
ставим 2ое окно гостом
http://www.wav-sounds.com/funny/life.wav

Code: Select all

sub main()
	while 1
		wait(1000)
		if uo.journalserial(0)<>'0x00000000' then
			uo.playwav('C:\life.wav')
			uo.deletejournal()
		endif
	wend
end sub

Re: DRW (2009) by Dark Enemy

Posted: 2012-03-23 18:57:35
by "ИльЮхаБ"
Многим скриптам тут не место.)