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

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[i])
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[i])
-->
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[i])
-->
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[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
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[i]=ser
uo.Print('ser = '+ a[i])
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[i])
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