Page 1 of 1

помогите исправить

Posted: 2004-07-19 08:49:32
by nik-kazancev
Вот скриптик на алхимию и поизон

sub Poison()
VAR Exit=0, LastTimer, TryToPoison
while Exit<>1
UO.DeleteJournal()

UO.FindType('0x0F0E',-1,'backpack') ; bottle
If UO.GetQuantity('finditem')<10 then
UO.FindType('0x0F0E','0x0000','0x40006ECF') ; bottle, container
wait(1000)
UO.Grab('100','finditem')
wait(100)
Endif
UO.FindType('0x0F88','0x0000','backpack') ; NS
If UO.GetQuantity('finditem')<20 then
UO.FindType('0x0F88','0x0000','0x40006ECF'); NS, container
wait(1000)
UO.Grab('400','finditem')
wait(500)
Endif
LastTimer=UO.Timer()
UO.WaitMenu('What','(last)') ; menu
UO.UseType(0x0F88) ; NightShade

while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed")
wait(500)
wend

If UO.InJournal("You toss the failed") then
repeat
wait(100)
until UO.Timer()>=LastTimer+100 ;time to make a cleaver
Else
TryToPoison=1
CheckLag()
repeat

UO.FindType('0x0F0E','0x0998','my')
If UO.GetQuantity('finditem')>0 then
UO.UseSkill('Poisoning')
UO.WaitTargetObject('0x400E85A6','finditem') ; cleaver
; UO.UseSkill('Poisoning')
wait(4000)
Else
TryToPoison=0
Endif
EndIf
UO.UseSkill('Spirit Speak')
wait(3000)
wend
end sub

это проверка на стучай если выдаёт "You can't see the target"

sub PosChek()
if uo.injournal("You can't see the target") then
UO.Exec('terminate Poison')
UO.Exec('exec Poison')
wend
еnd sub

помогите плиз, мне кажется эта проверка не всегда работает (или вообще не работает)

ещё бывает что выдаёт invalid object 100 (кол-во бутылок) и invalid object 400 (кол-во регов) думаю это он их не находит в контейнере. Вроде скрипт правильный (брался с форума), помогите плиз, подскажите в чём ошибка, если можно исправьте.

Posted: 2004-07-19 11:33:23
by Savage
... слышал звон а не знаю где он...
Вот оригинал. Исправить серийник сундука и серийник вещи на отравление (кинжал)

Code: Select all

sub alchtrain()
	VAR Exit=0, LastTimer, TryToPoison
	while Exit<>1
;		ToHide()
		UO.DeleteJournal()

		UO.FindType('0x0F0E','0x0000','backpack')
		If UO.GetQuantity('finditem')<10 then
			UO.FindType('0x0F0E','0x0000','0x400704F3')
			wait(1000)
			UO.Grab('500','finditem')
			wait(1000)
		Endif

		UO.FindType('0x0F88','0x0000','backpack')
		If UO.GetQuantity('finditem')<20 then
			UO.FindType('0x0F88','0x0000','0x400704F3')
			wait(1000)
			UO.Grab('1000','finditem')
			wait(1000)
		Endif

		LastTimer=UO.Timer()
		UO.WaitMenu('What','(last)')
		UO.UseType(0x0F88) ; NightShade

		while NOT UO.InJournal("You put") AND NOT UO.InJournal("You toss the failed")
				wait(500)
		wend

		If UO.InJournal("You toss the failed") then
			repeat
				wait(100)
			until UO.Timer()>=LastTimer+100 ;time to make a dagger
		Else
			TryToPoison=1
			repeat
;				ToHide()
				UO.FindType('0x0F0E','0x0998','my')
				If UO.GetQuantity('finditem')>0 then
					UO.WaitTargetObject('0x401F6490','finditem')
					UO.UseSkill('Poisoning')
					wait(4000)
				Else
					TryToPoison=0
				Endif
			until TryToPoison==0
		EndIf
	wend	
end sub

Posted: 2004-07-19 12:03:40
by nik-kazancev
Спасибо. 5 секунд - полёт нормальный :)
В след раз подписывай плиз что где, а то с моими знаниями и руками 5 мин помучиться пришлось :)