Page 1 of 1

Доработка скрипта на Таминг!

Posted: 2010-03-16 11:59:07
by mOOz
Люди помогите доработать скрипт на таминг...
Скрипт рабочий просто нужно чтоб чар кормил животных, не знаю как сделать :(

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

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

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=ser
uo.Print('ser = '+ a)
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)
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=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.useobject('0x4009FB71')
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')
wait (2500)
next
wend
end sub

Re: Доработка скрипта на Таминг!

Posted: 2010-03-16 16:55:07
by Mirage

Code: Select all

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

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

sub saver() 
dim a[50] 
var corm = 'ТИП ЕДЫ'
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.useobject('0x4009FB71') 
     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') 
         if uo.count(corm)
            uo.moveitem('finditem','1',b[i])
            wait(500)
         endif
    uo.Say('All release') 
    wait (2500)
  next 
wend 
end sub
Только не проси сделать чтобы кормил РАЗНЫМ. Тут таких скриптов много.

Re: Доработка скрипта на Таминг!

Posted: 2010-03-17 09:17:02
by mOOz
Не буду :) От души старина...!

Re: Доработка скрипта на Таминг!

Posted: 2010-03-19 12:06:11
by mOOz
Блин чёто проверил макрос, нифига не кормит... :( начинает тамить и пишет что животное голодное.... Перепроверь плз...

Re: Доработка скрипта на Таминг!

Posted: 2010-03-19 12:55:22
by Mirage
1) над прописать тип корма в var corm = 'сюда' , например морковь
2) корм должен лежать в бэкпаке чара
3) бэкпак должен быть открыт
4) перекидывает по 1 штуке. Может быть мало.

Re: Доработка скрипта на Таминг!

Posted: 2010-03-21 04:08:05
by mOOz
Дело в том что он даже не пытается кормить, сразу тамить начинает... а то что ивотное голодное ему пофиг...