Page 1 of 1

Ламбер скрипт хелп

Posted: 2004-04-17 14:48:40
by Psimorph
Прива. Вобщем есть скрипт, немного заделанный под мой шард, но есть небольшая проблемка, он почему то не хочет рубить =(
Тоесть не тыкает на топор итд... Реколиться то реколиться, но не рубает
вот код

Code: Select all

sub lj()
	while NOT UO.Dead()
		lj1()
		lj2()
		lj3()
	wend
end sub


sub lj1()
	VAR ct=1,StepCount
	DIM dbX[6],deX[6],dbY[6],deY[6],Dir[6]

;----- InitTrack-----
	dbX[1]=2078
	deX[1]=2078
	dbY[1]=2082
	deY[1]=2139
	Dir[1]=1

	dbX[2]=2086
	deX[2]=2086
	dbY[2]=2130
	deY[2]=2087
	Dir[2]=-1
	
	dbX[3]=2094
	deX[3]=2094
	dbY[3]=2073
	deY[3]=2133
	Dir[3]=1
	
	dbX[4]=2102
	deX[4]=2102
	dbY[4]=2130
	deY[4]=2096
	Dir[4]=-1

	dbX[5]=2102
	dbY[5]=2096

;--------------------
	UO.Recall('0x401AB44A','23')
	wait(4500)
	repeat
		wait(500)
	until UO.GetX()==dbX[1] AND UO.GetY()==dbY[1]

	for ct=1 to 4
		repeat
			tohide()
			chopit(278,171,6)
			chopit(362,253,2)
			StepCount=1
			while UO.GetY()<>deY[ct] AND StepCount<=3
				walk(0,1*Dir[ct],0)
				StepCount=StepCount+1
			wend
		until UO.GetY()==deY[ct]
		walk(dbX[ct+1]-deX[ct],dbY[ct+1]-deY[ct],0)
	next


	UO.Recall('0x401AB44A','17')
	wait(4500)
	logunload()
end sub


sub lj2()
	VAR ct=1,StepCount
	DIM dbX[6],deX[6],dbY[6],deY[6],Dir[6]

;----- InitTrack-----
	dbX[1]=3382
	deX[1]=3382
	dbY[1]=426
	deY[1]=474
	Dir[1]=1

	dbX[2]=3374
	deX[2]=3374
	dbY[2]=474
	deY[2]=502
	Dir[2]=1
	
	dbX[3]=3366
	deX[3]=3366
	dbY[3]=516
	deY[3]=484
	Dir[3]=-1
	
	dbX[4]=3358
	deX[4]=3358
	dbY[4]=510
	deY[4]=432
	Dir[4]=-1

	dbX[5]=3358
	dbY[5]=432

;--------------------

	UO.Recall('0x401AB44A','29')
	wait(4500)
	repeat
		wait(500)
	until UO.GetX()==dbX[1] AND UO.GetY()==dbY[1]

	for ct=1 to 4
		repeat
			tohide()
			chopit(278,171,6)
			chopit(362,253,2)
			StepCount=1
			while UO.GetY()<>deY[ct] AND StepCount<=3
				walk(0,1*Dir[ct],0)
				StepCount=StepCount+1
			wend
		until UO.GetY()==deY[ct]
		walk(dbX[ct+1]-deX[ct],dbY[ct+1]-deY[ct],0)
	next

	UO.Recall('0x401AB44A','17')
	wait(4500)
	logunload()
end sub


sub lj3()
	VAR ct=1,StepCount
	DIM dbX[6],deX[6],dbY[6],deY[6],Dir[6]

;----- InitTrack-----
	dbX[1]=3266
	deX[1]=3266
	dbY[1]=261
	deY[1]=326
	Dir[1]=1

	dbX[2]=3258
	deX[2]=3258
	dbY[2]=378
	deY[2]=250
	Dir[2]=-1
	
	dbX[3]=3246
	deX[3]=3246
	dbY[3]=219
	deY[3]=310
	Dir[3]=1
	
	dbX[4]=3238
	deX[4]=3238
	dbY[4]=315
	deY[4]=348
	Dir[4]=1

	dbX[5]=3238
	dbY[5]=348

;--------------------
	UO.Recall('0x401AB44A','35')
	wait(4500)
	repeat
		wait(500)
	until UO.GetX()==dbX[1] AND UO.GetY()==dbY[1]

	for ct=1 to 4
		repeat
			tohide()
			chopit(278,171,6)
			chopit(362,253,2)
			StepCount=1
			while UO.GetY()<>deY[ct] AND StepCount<=3
				walk(0,1*Dir[ct],0)
				StepCount=StepCount+1
			wend
		until UO.GetY()==deY[ct]
		walk(dbX[ct+1]-deX[ct],dbY[ct+1]-deY[ct],0)
	next

	UO.Recall('0x401AB44A','17')
	wait(4500)
	logunload()
end sub


sub chopit(ChopX,ChopY,Dir)
	VAR LastTimer,WaitTime=90, Last=0, Exit
	VAR MaxWeight=420
	VAR ChopCount, MaxChopCount=45

	if UO.Weight>MaxWeight then
		unload()
	endif
	
	ChopCount=0
	repeat 
		Exit=0
		CheckLag()
		If Last then
			UO.WaitTargetTile('lasttile')
			UO.UseType('0x0F43') ; hatchet
		Else
			UO.UseType('0x0F43') ; hatchet
			wait(400)
			UO.LClick(ChopX,ChopY)
			Last=1
		endif
		
		wait(1000)
		
		If UO.GetDir()==Dir Then
			LastTimer=UO.Timer()
			while NOT UO.InJournal("You put") AND NOT UO.InJournal("0xA30F") AND NOT UO.InJournal("0xA30D") AND NOT UO.InJournal("0xA2DE") AND NOT LastTimer+WaitTime<UO.Timer()
				wait(100)
			wend
		
			If LastTimer+WaitTime<UO.Timer() Then
				Exit=1
			Endif
		
			if UO.InJournal("0xA30F") then
				repeat
					wait(100)
				until UO.InJournal("You put") OR LastTimer+WaitTime<UO.Timer()
			endif
			ChopCount=ChopCount+1
		Else
			Exit=1
		Endif
		
	until UO.InJournal("0xA30D") OR UO.InJournal("0xA2DE") OR ChopCount>=MaxChopCount OR Exit==1
end sub


sub unload()
	VAR TempRune=0x401C9697
markrune:
	CheckLag()
	UO.WaitTargetObject(TempRune)
	UO.Cast('Mark')
	wait(4000)
	If UO.InJournal("0xA1A6") then
		goto markrune
	endif	
	UO.Recall('0x401AB44A','17')
	wait(4500)
	logunload()
	mrecal(TempRune)
end sub


sub logunload()
	ToHide()
	UO.Say('BANK BANK')
	wait(500)
	UO.SetReceivingContainer('0x4024EFAD')
	wait(500)
begin:
	UO.FindType('0x1BD7') ; logs
	if UO.GetQuantity('finditem')>0 then
		UO.Grab('0','finditem')
		wait(800)
		goto begin
	endif
	UO.UnSetReceivingContainer()
	
	UO.Recall('0x40100DF7','1')
	wait(3000)

end sub


sub mrecal(rune)
markrune:
		CheckLag()
		UO.WaitTargetObject(rune)
		UO.Cast('Mark')
		wait(4000)
	If UO.InJournal("0xAB68") then
		goto markrune
	endif
end sub
Поможите, если можете %)

Re: Ламбер скрипт хелп

Posted: 2004-04-17 14:56:27
by Savage
Psimorph wrote:Прива. Вобщем есть скрипт, немного заделанный под мой шард, но есть небольшая проблемка, он почему то не хочет рубить =(
Тоесть не тыкает на топор итд... Реколиться то реколиться, но не рубает
вот код

Code: Select all

			chopit(278,171,6)
			chopit(362,253,2)
здесь проставь свои координаты пней. И желательно так попасть чтоб при появлении надписей над чаром, он тыкал между строк а не в строки. То естьь меняешь первую и вторую цифру. Третью трогать не надо, это направление взгляда чара.



sub chopit(ChopX,ChopY,Dir)
...............
...............

			UO.UseType('0x0F43') ; hatchet
		Else
			UO.UseType('0x0F43') ; hatchet
Здесь проставь тип своего топора. Бывает что кинешь его на землю и он становится другого типа после переворота.

Поможите, если можете %)

Posted: 2004-04-17 14:59:19
by Savage
Ну и раз ты используешь мои координаты, то надеюсь ты нашел место в мире где это находится :)

Posted: 2004-04-17 15:04:36
by Psimorph
да, это остров.. я знаю где эт.. но не появляеться прицела! Таргета от топора =\

Posted: 2004-04-17 15:06:34
by Savage
Смотри выше.

Posted: 2004-04-17 15:10:56
by Psimorph
Топор тоже нормально вставлен =\