Page 1 of 1

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

Posted: 2004-11-08 01:29:44
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

Posted: 2004-11-08 08:07:25
by AGRS
UO.Useskill("Animal Taming", horse)
-->
UO.Useskill("Animal Taming", "~0x0000") , где 0x0000 - тип лошади.

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

Posted: 2004-11-08 21:45:11
by CANNABIS
AGRS wrote:UO.Useskill("Animal Taming", horse)
-->
UO.Useskill("Animal Taming", "~0x0000") , где 0x0000 - тип лошади.

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

Я нашел тот топ где есть UO.FindType,что то я понял :) но что именно подправлять я не понял,ну не шарю я так в скриптах ) подскажите че надо поменять

Posted: 2004-11-12 16:55:49
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

Posted: 2004-11-24 01:01:26
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

Posted: 2004-11-24 10:32:32
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 

Posted: 2004-11-26 02:30:28
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

Posted: 2004-11-26 15:07:17
by Revenant
должна быть включена track word item , просто галочку поставить недостаточно, нужно перезайти