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 мин помучиться пришлось :)