Скрипт на Тайминг

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
CANNABIS
Posts: 23
Joined: 2004-08-03 05:25:13
Contact:

Скрипт на Тайминг

Post by CANNABIS »

Вот скрипт который я нашел тут на форуме,но как то долго все эти ID вписывать и определять их :) Можно но ли сделать ,чтоб чар таймил все вокруг,ну чтоб тип один задать и не парится :)


sub main()
VAR i

DIM horse[30]
horse[1] = "0x010BDD17"
horse[2] = "0x010FE66F"
horse[3] = "0x010B909E"
horse[4] = "0x011184E5"
horse[5] = "0x002109E3"
horse[6] = "0x010C5AD6"
horse[7] = "0x0140A1AE"
horse[8] = "0x0000131C"
horse[9] = "0x010BAFA3"
horse[10] = "0x014103A6"
horse[11] = "0x0108DDF8"
horse[12] = "0x010C1574"
horse[13] = "0x010B37C1"
horse[14] = "0x012AA268"
horse[15] = "0x010B5CB6"
horse[16] = "0x001FB001"
horse[17] = "0x011A5EE5"
horse[18] = "0x010E9879"
horse[19] = "0x00FA9A53"
horse[20] = "0x00E09C15"
horse[21] = "0x00E12FB0"
horse[22] = "0x00F94A6B"
horse[23] = "0x009B90EE"
horse[24] = "0x00E00754"
horse[25] = "0x009AED9F"
horse[26] = "0x00893C7E"
horse[27] = "0x00896934"
horse[28] = "0x00E16772"
horse[29] = "0x009AE536"
horse[30] = "0x00F9DDCB"

While not UO.Dead()
For i = 1 to 30
UO.DeleteJournal()
While not UO.InJournal("It seems to accept you as master") and not UO.InJournal("is already tame")
UO.DeleteJournal()
Wait(1000)
UO.Useskill("Animal Taming", horse)
While not UO.InJournal("It seems to accept you as master") and not UO.InJournal("You fail to tame the creature") and not UO.InJournal("is already tame")
Wait(500)
Wend
Wend
Next
UO.WaitTargetTile('0',Str(UO.GetX(horse[1])),Str(UO.GetY(horse[1])),Str(UO.GetZ(horse[1])))
UO.Cast('Paralyze Field') # Колдовать
Wait(1000*60*5) # Ждать 5 минут
wend
End sub
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

UO.Useskill("Animal Taming", horse)
-->
UO.Useskill("Animal Taming", "~0x0000") , где 0x0000 - тип лошади.

Это если у тебя одна лошадь, но не известен ее серийник. Если много лошадок, поищи пример работы с UO.FindType. Два примера точно были совсем недавно. Один от Йоко и один от меня.
CANNABIS
Posts: 23
Joined: 2004-08-03 05:25:13
Contact:

Post by CANNABIS »

AGRS wrote:UO.Useskill("Animal Taming", horse)
-->
UO.Useskill("Animal Taming", "~0x0000") , где 0x0000 - тип лошади.

Это если у тебя одна лошадь, но не известен ее серийник. Если много лошадок, поищи пример работы с UO.FindType. Два примера точно были совсем недавно. Один от Йоко и один от меня.

Я нашел тот топ где есть UO.FindType,что то я понял :) но что именно подправлять я не понял,ну не шарю я так в скриптах ) подскажите че надо поменять
Revenant
Posts: 54
Joined: 2004-08-05 21:12:19

Post by Revenant »

Code: Select all

########################################
#  Revenant / Antares /  Animal Taming      
########################################
# В загончик площадью один тайл загоняется туча живности 
# все равно какой, любых видов и расцветок, лишь бы тамилась.
# Для корректной работы желательно больше 50 шт.
# Отпускаете ее и ждете пока забудет вас (на Антаресе - 5 мин)
# Заползаете в этот же загончик.
# Единственный раз запускается процедура saver() при которой 
# скрипт заносит ID всех тварей в файл count.dat
# после этого смело запускаете процедуру main() и идете 
# досматривать фильм по телеку
# Да, и еще, галочка в TWI отнюдь не помешает для первого запуска.

var f=file("C:\count.dat")
var i, ii
var food='0x0C6D'  ; еда, по умолчанию лук

sub saver()
dim a[50]
var ser, nam
var s=0
var exit=0
uo.ignorereset()
uo.set('finddistance','3')
i=0
repeat
    repeat
       uo.findtype('-1','-1','ground')
       if not UO.FindCount() then
          exit=1
       endif
       uo.ignore("finditem")
       wait(100)
    until uo.IsNPC("finditem") and uo.getserial("finditem")<>uo.getserial("self") or not UO.FindCount()
    if not exit then
       i=i+1
       ser = uo.getserial("finditem")
       ii=i
       a[i]=ser
       uo.Print('ser = '+ a[i])
       uo.Print(uo.GetName(ser))
    endif  
    wait(100)
until i==50 or exit==1    
uo.Print('Open file')
    f.open()
    f.create()
    uo.Print('elements = '+ str(ii))
        s=safe call f.writeln(ii)
    for i=1 to ii
        s=safe call f.writeln(a[i])
    next
    f.close()
 uo.Print('All IP saved')   
end sub

sub main() 
dim b[50]
var count=0
   VAR LastTimer, start
f.open()
ii=safe call f.ReadNumber()
       uo.Print('ii='+str(ii))
for i=1 to ii
     b[i]=safe call f.ReadString() 
next
f.close()
uo.DeleteJournal() 
while not uo.Dead() 
  uo.DeleteJournal()
  start = UO.Timer()
  for i=1 to ii
    uo.Print(str(i))
    repeat 
      UO.DeleteJournal()
      uo.WaitTargetObject(b[i])
      UO.Useskill('Animal Taming')
      LastTimer=UO.Timer() 
      repeat 
         wait(1000) 
      until UO.InJournal('You fail') OR UO.InJournal('It seems')  OR UO.InJournal('You can not see')OR UO.InJournal('away') OR UO.InJournal('remember') OR UO.InJournal('cancelled')OR UO.InJournal('already')OR UO.InJournal('target')OR UO.Timer()>LastTimer+400
    until Uo.InJournal('It seems') OR UO.InJournal('remember') OR UO.InJournal('cancelled')OR UO.InJournal('already')OR UO.InJournal('target')
    uo.Say('All release')
  next
  eat()
wend 
end sub 

sub eat()
    UO.DeleteJournal()
    repeat
      if UO.Count(food)>0 then    
         UO.UseType(food)    
         wait(500)
      else
         return
      end if
    Until UO.InJournal("stuffed!") OR UO.InJournal("think")
end sub
CANNABIS
Posts: 23
Joined: 2004-08-03 05:25:13
Contact:

Post by CANNABIS »

Спасибо за скрипт вроде все пашет :) но мне такому ламеру в инже,не удается кое что исправить.Вот мне надо чтоб,когда чар затаймит все животных сразу кастанул парализ филду под них,вместо all release.Народ помогите плиз ну не получается у меня

sub main()
dim b[50]
var count=0
VAR LastTimer, start
f.open()
ii=safe call f.ReadNumber()
uo.Print('ii='+str(ii))
for i=1 to ii
b=safe call f.ReadString()
next
f.close()
uo.DeleteJournal()
while not uo.Dead()
uo.DeleteJournal()
start = UO.Timer()
for i=1 to ii
uo.Print(str(i))
repeat
UO.DeleteJournal()
uo.WaitTargetObject(b)
UO.Useskill('Animal Taming')
LastTimer=UO.Timer()
repeat
wait(1000)
until UO.InJournal('You fail') OR UO.InJournal('It seems') OR UO.InJournal('You can not see')OR UO.InJournal('away') OR UO.InJournal('remember') OR UO.InJournal('cancelled')OR UO.InJournal('already')OR UO.InJournal('target')OR UO.Timer()>LastTimer+400
until Uo.InJournal('It seems') OR UO.InJournal('remember') OR UO.InJournal('cancelled')OR UO.InJournal('already')OR UO.InJournal('target')
uo.Say('All release')
next
eat()
wend
end sub
Revenant
Posts: 54
Joined: 2004-08-05 21:12:19

Post by Revenant »

Code: Select all

sub main() 
dim b[50] 
var count=0 
   VAR LastTimer, start 
f.open() 
ii=safe call f.ReadNumber() 
       uo.Print('ii='+str(ii)) 
for i=1 to ii 
     b[i]=safe call f.ReadString() 
next 
f.close() 
uo.DeleteJournal() 
while not uo.Dead() 
  uo.DeleteJournal() 
  start = UO.Timer() 
  for i=1 to ii 
    uo.Print(str(i)) 
    repeat 
      UO.DeleteJournal() 
      uo.WaitTargetObject(b[i]) 
      UO.Useskill('Animal Taming') 
      LastTimer=UO.Timer() 
      repeat 
         wait(1000) 
      until UO.InJournal('You fail') OR UO.InJournal('It seems')  OR UO.InJournal('You can not see')OR UO.InJournal('away') OR UO.InJournal('remember') OR UO.InJournal('cancelled')OR UO.InJournal('already')OR UO.InJournal('target')OR UO.Timer()>LastTimer+400 
    until Uo.InJournal('It seems') OR UO.InJournal('remember') OR UO.InJournal('cancelled')OR UO.InJournal('already')OR UO.InJournal('target') 
  next 
  UO.cast('Paralyze Field',b[ii])
wend 
end sub 
CANNABIS
Posts: 23
Joined: 2004-08-03 05:25:13
Contact:

Post by CANNABIS »

Вот теперь другая проблема стала возникать :( в первой части скрипта sub saver.Короче запускаю этот сэйвер,проходит какое то время и выскакивает ошибка 'Runtime error',а в УО пишет ivalid object :finditem.Короче вообще непонятка.Подскажите плиз в чем загвоздка то.

var f=file("C:\count.dat")
var i, ii

var food='0x097B'

sub saver()
dim a[11]
var ser, nam
var s=0
var exit=0
uo.ignorereset()
uo.set('finddistance','3')
i=0
repeat
repeat
uo.findtype('-1','-1','ground')
if not UO.FindCount() then
exit=1
endif
uo.ignore("finditem")
wait(100)
until uo.IsNPC("finditem") and uo.getserial("finditem")<>uo.getserial("self") or not UO.FindCount()
if not exit then
i=i+1
ser = uo.getserial("finditem")
ii=i
a=ser
uo.Print('ser = '+ a)
uo.Print(uo.GetName(ser))
endif
wait(100)
until i==11 or exit==1
uo.Print('Open file')
f.open()
f.create()
uo.Print('elements = '+ str(ii))
s=safe call f.writeln(ii)
for i=1 to ii
s=safe call f.writeln(a)
next
f.close()
uo.Print('All IP saved')
end sub
Revenant
Posts: 54
Joined: 2004-08-05 21:12:19

Post by Revenant »

должна быть включена track word item , просто галочку поставить недостаточно, нужно перезайти
Post Reply