Page 1 of 2

Каторга ДРВ

Posted: 2006-11-06 12:41:40
by GimFlex
файл с марком http://slil.ru/23359417

Code: Select all

sub katorga()
var f=file("C:\trees3.dat")
var TreeCount=0,i
dim TreeX[500],TreeY[500],TreeT[500]
uo.print('Topor... ') 
uo.exec('addobject axe') 
while uo.targeting() 
 wait(100) 
wend 
uo.print('load file...') 
f.open() 
TreeCount=safe call f.readNumber() 
for i=1 to TreeCount 
 TreeT[i]=safe call f.ReadNumber() 
 TreeX[i]=safe call f.ReadNumber() 
 TreeY[i]=safe call f.ReadNumber() 
next 
f.close()
while not uo.dead()
 for i=1 to TreeCount  
  GotoXY(treex[i],treey[i])  
  GetTree(str(treeT[i]),str(treeX[i]),str(TreeY[i]),str(uo.getz()))  
 next 
 DropLogs()
wend
endsub

Sub GetTree(type,x,y,z) 
var ms1="logs in your pack"
var ms2="logs here to chop"
var ms3="log in your pack"
var ms4="You hack at the tree for a while"
var ms5="That is too far away"
var ms6="You can't reach this"
wait(200)
repeat 
 uo.deletejournal() 
 uo.waittargettile(type,x,y,z) 
 uo.useobject('axe')
 repeat
  wait(100)
 until uo.injournal(ms1) or uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms4) or uo.injournal(ms5) or uo.injournal(ms6)
until uo.injournal(ms2) or uo.injournal(ms5) or uo.injournal(ms6)
end sub 

Sub DropLogs() 
GotoXY(1318,949)
wait(1000) 
uo.useobject('0x401258E1')
wait(1000)
end sub 

Sub GotoXY(x,y)
var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0
for i=1 to 60 
myX=uo.getX(); 
myY=uo.getY(); 
if LastX==myX and LastY==myY then 
halt=halt+1 
else 
halt=0 
end if 
if halt>=10 then 
if uo.GetDir()==1 then 
for z=0 to 8 
uo.Press(40) 
next 
end if 
if uo.GetDir()==3 then 
for z=0 to 8 
uo.Press(37) 
next 
end if 
if uo.GetDir()==5 then 
for z=0 to 8 
uo.Press(38) 
next 
end if 
if uo.GetDir()==7 then 
for z=0 to 8 
uo.Press(39) 
next 
end if 
halt=15 
end if 
if Numb(x-myX)<=1 and Numb(y-myY)<=2 then 
return 1 
end if 
if x<=myX then 
if y<=myY then 
for z=0 to 3 
uo.Press(38) 
next 
else 
for z=0 to 3 
uo.Press(37) 
next 
end if 
else 
if y<=myY then 
for z=0 to 3 
uo.Press(39) 
next 
else 
for z=0 to 3 
uo.Press(40) 
next 
end if 
end if 
lastX=myX 
lastY=myY 
wait(200) 
next 
return 0 
end sub 

Sub Numb(num) 
if num>=0 then 
return num 
else 
return num*(-1) 
end if 
end sub 

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

Posted: 2006-11-06 17:05:03
by Lokkyy
ага, после квеста актуально :)

Posted: 2006-11-06 22:09:23
by GimFlex
Lokkyy wrote:ага, после квеста актуально :)
именно поэтому и написал :wink:

Posted: 2006-11-08 13:43:57
by I'm
На слил долго не живут так-что лучше продублировать просто сообщением.
файл с марком

Code: Select all

54
3280 1330 935
3296 1328 936
3299 1328 933
3288 1328 930
3280 1324 936
3302 1324 933
3294 1324 930
3277 1320 933
3296 1316 933
3286 1320 927
3296 1320 924
3302 1328 924
3280 1320 921
3286 1320 918
3283 1324 918
3286 1324 915
3288 1328 918
3302 1332 918
3283 1328 912
3302 1328 909
3294 1324 909
3286 1324 912
3280 1320 912
3286 1316 912
3290 1316 915
3294 1316 909
3296 1312 906
3299 1316 906
3280 1320 906
3288 1324 906
3299 1324 903
3280 1328 906
3280 1332 903
3290 1328 900
3299 1328 897
3288 1338 895
3296 1332 891
3277 1328 894
3294 1320 903
3290 1320 900
3290 1316 900
3299 1316 897
3290 1312 897
3280 1312 900
3288 1312 903
3302 1303 890
3294 1304 888
3302 1312 888
3290 1316 888
3283 1316 891
3299 1320 888
3283 1320 891
3302 1324 888
3280 1313 924

Posted: 2006-11-08 14:06:49
by GimFlex
I'm wrote:На слил долго не живут так-что лучше продублировать
спасиб

Posted: 2006-11-15 16:45:41
by 666||TORCHKI
я тож после квеста волос лишился D

Posted: 2006-11-15 17:18:26
by GimFlex
_TORCHKI wrote:я тож после квеста волос лишился D
я не попал на каторгу :wink: мне дали чара с каторги чтоб я написал скрипт :wink:

Posted: 2009-09-26 08:43:41
by HeBbIHocuM
спс большое за скрипт и как рас в тее после квеста )))

Posted: 2009-09-26 15:28:30
by Mirage
Если хотите могу укоротить на несколько строк без потери работоспособности. Хотя если работает то и так сойдет.

Posted: 2009-09-26 21:14:13
by HeBbIHocuM
я уже всё скока сказали вырубил больше флудить не буду )))не понравелось не там ещё и побрили)

Posted: 2009-09-26 21:52:50
by Nmy
Mirage wrote:Если хотите могу укоротить на несколько строк без потери работоспособности. Хотя если работает то и так сойдет.
Надо добавить проверку на сериал - там часто мешают рубить.. Еще там не был, написать нет ризона =)

Кстати вот если надо

Code: Select all

Sub WaitForChange()
	var Text1='You hack at the tree for a while, but fail to produce any useable wood.'
	var Text2='There are no logs here to chop.'
	var Text3="You can't reach this."
	var Text4="That is too far away."
	var Text5="You can't do much in your current state."
	var Text6='There is no wood left to harvest.'
	var Text7='World is saving now...'
	var mess
	for var i=0 to 100
		mess=uo.Journal(0)
		if uo.Journal(0)==Text2 and uo.journalserial(uo.Journal(0))=='0x00000000' or uo.Journal(0)==Text3 and uo.journalserial(uo.Journal(0))=='0x00000000' or uo.Journal(0)==Text4 and uo.journalserial(uo.Journal(0))=='0x00000000' OR uo.Journal(0)==Text6 and uo.journalserial(uo.Journal(0))=='0x00000000' then
			return 1
		endif
		if uo.Journal(0)==Text1 and uo.journalserial(uo.Journal(0))=='0x00000000' then
			return 0
		endif
		if mess[0]=='Y' and mess[1]=='o' and mess[2]=='u' and mess[4]=='p' and mess[5]=='u' and mess[6]=='t' then
			return 0
		endif
		if uo.Journal(0)==Text7 then
			wait(70000)
		endif
		wait(100)
	next
	return 0
end sub

Posted: 2009-09-27 09:14:20
by 666||TORCHKI
Лучше туда не попадать )

Posted: 2009-09-27 09:40:04
by Mirage
на нашей каторге надо убивать стражников голыми руками (у них силы в два раза больше но ловкость меньше + они в броне а ты голожопый) причем чар мрет от голода - а еда редко редко падает со стражи. В каждом стражнике около 2-4 золотых. один на один убивается около минуты двух. Они ходят по двое трое - надо отманивать в маленький закуток по одному и убивать. Надо набрать около 10-20К зависит от срока. Золото естественно не нуби. Умер - не успел слутать - начинай с начала. 8)

Posted: 2009-10-15 10:06:19
by Стрин
Знающие люди помогите соединить скрипт из первого поста с скриптом игнорирующим флуд(каторый мешает рубить) на каторге...

Posted: 2009-10-15 13:46:53
by Mirage
А что там за флуд?

Posted: 2009-10-15 19:44:17
by Стрин
Там каторжники бегают и кричат : There are no logs here to chop.
и перс бегающий на скрипте бегает от дерева к дереву пока не глюкнет...

Posted: 2009-10-15 21:09:44
by Mirage
Стрин wrote:Там каторжники бегают и кричат : There are no logs here to chop.
и перс бегающий на скрипте бегает от дерева к дереву пока не глюкнет...
Ха.
Можно отсеивать по никам :) перед двоеточием должно быть имя произнесшего. Если будет отлично от system чтототам то игнорировать :)

Posted: 2009-10-15 21:57:27
by Nmy
Mirage wrote:
Стрин wrote:Там каторжники бегают и кричат : There are no logs here to chop.
и перс бегающий на скрипте бегает от дерева к дереву пока не глюкнет...
Ха.
Можно отсеивать по никам :) перед двоеточием должно быть имя произнесшего. Если будет отлично от system чтототам то игнорировать :)
Там ник чара. Можно написать:"Dark Enemy: there is no logs to chop"
Либо проверять журнал, либо индексы сообщений... как уже писалось

Posted: 2009-10-15 23:10:26
by Стрин
Я не умею этого делать, поэтому и прошу тех кто умеет и может помочь...

Posted: 2009-10-15 23:17:38
by Стрин
Nmy wrote:
Mirage wrote:
Стрин wrote:Там каторжники бегают и кричат : There are no logs here to chop.
и перс бегающий на скрипте бегает от дерева к дереву пока не глюкнет...
Ха.
Можно отсеивать по никам :) перед двоеточием должно быть имя произнесшего. Если будет отлично от system чтототам то игнорировать :)
Там ник чара. Можно написать:"Dark Enemy: there is no logs to chop"
Либо проверять журнал, либо индексы сообщений... как уже писалось
Так а куда это все вставить и как?