Page 1 of 1

Нужна помощь по скрипту на Animal Taming

Posted: 2009-12-16 22:54:35
by Sle3a
вот сам скрипт

Code: Select all

sub tam() 
var food='0x097B' # type of food for animal
DIM animals[4]
animals[1] = '0x00DC'   ;Liama
animals[2] = '0x00CF'   ;Sheep
animals[3] = '0x00E2'   ;Horce
animals[4] = '0x00CC'   ;Horse2
var staf='0x4000B512' # ID your taming staf
var ms1="You fail to tame the creature."
var ms2="Sheep: Я твоя nick !"
var ms3="Your target is too far away from you."
var ms4="You put"
var ms5= "Horse:"
var ms6="It seems to accept you as master."
var ms7="This creature already tame."
var k,i
uo.print("Ñòàðòóåì!")
while not uo.dead()
   for i= 1 to 4
      uo.findtype(animals[i],'-1','ground')
      uo.print("Èùåì æèâíîñòü...")
      if uo.findcount()>0 then
         uo.print("Æèâíîñòü íàéäåíà...")
         k=uo.getserial('finditem')
         uo.ignore('finditem')
         uo.deletejournal()
         while not uo.injournal(ms4)
            uo.findtype(food,'-1','backpack')
            uo.moveitem('finditem','1',k)
            wait(500)
            repeat
         wend
         wait(1000)
         uo.deletejournal()
         while not uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms7) or uo.injournal(ms6)
            uo.print("Òàìèì...")
            uo.waittargetobject(k)
            wait(50)
            uo.useobject(staf)
            uo.deletejournal()
            repeat
               wait(500)
            until uo.injournal(ms1) or uo.injournal(ms2)
         wend
         uo.say("all release")
         wait(5000)
      else
         uo.ignorereset()
      endif
   next
wend
endsub


Он тамит все нормально кормит, но при успешном затамливании живности не пишет вообще фразу all release
ПОМОГИТЕ ПОЖАЛУЙСТА ИСПРАВИТЬ!
icq 390 двести четыре 297

Posted: 2009-12-17 00:20:42
by Nmy

Code: Select all

while not uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms7) or uo.injournal(ms6)


Тут надо правльно написать

щас слишком поздно я не знаю...
я бы написал

Code: Select all

repeat

until uo.injournal(ms2|ms3|ms6|ms7)

Posted: 2009-12-17 10:32:36
by Sle3a
Nmy wrote:

Code: Select all

while not uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms7) or uo.injournal(ms6)


Тут надо правльно написать

щас слишком поздно я не знаю...
я бы написал

Code: Select all

repeat

until uo.injournal(ms2|ms3|ms6|ms7)



А поподробнее можно? что то не понял...

Posted: 2009-12-17 11:48:29
by Mirage
так низя :)
ЗЯ так:

UO.InJournal( ms2+ "|" + ms3+ "|" + ms6+ "|" + ms7)

И вот так:

Code: Select all

var ms1="fail"
var ms2="Я твоя nick" ; обично пишут "master"!!!
var ms3="too far away"
var ms4="You put"
var ms5= "Horse:" ; нафига вообще?
var ms6="as master" ;взаимоисключает 2 месагу
var ms7="already"

Posted: 2009-12-17 13:45:34
by Sle3a
Mirage wrote:так низя :)
ЗЯ так:

UO.InJournal( ms2+ "|" + ms3+ "|" + ms6+ "|" + ms7)

И вот так:

Code: Select all

var ms1="fail"
var ms2="Я твоя nick" ; обично пишут "master"!!!
var ms3="too far away"
var ms4="You put"
var ms5= "Horse:" ; нафига вообще?
var ms6="as master" ;взаимоисключает 2 месагу
var ms7="already"



Что то не помогает все равно... тамлю на ламах, до этого на овцах все тоже самое... затамил и не пишет all release
ЕСЛИ НЕ ТРУДНО НАПИШИТЕ ПОЛНОСТЬЮ КАК ДОЛЖЕН ВЫГЛЯДЕТЬ ИСПРАВЛЕННЫЙ СКРИПТ)

UP!!

Posted: 2009-12-20 17:14:29
by Sle3a
Up!

Posted: 2009-12-20 18:30:09
by Nmy
Тебе уже написали что надо сделать. Чего ждем то?

Posted: 2009-12-20 20:41:34
by Sle3a

Code: Select all

 sub tam() 
var food='0x097B' # type of food for animal
DIM animals[4]
animals[1] = '0x00DC'   ;Liama
animals[2] = '0x00CF'   ;Sheep
animals[3] = '0x00E2'   ;Horce
animals[4] = '0x00CC'   ;Horse2
var staf='0x400BA7D1' # ID your taming staf
var ms1="You fail to tame the creature."
var ms2="Sheep: ß òâîÿ nick !"
var ms3="Your target is too far away from you."
var ms4="You put"
var ms5= "Horse:"
var ms6="It seems to accept you as master."
var ms7="This creature already tame."
var k,i
uo.print("Ñòàðòóåì!")
while not uo.dead()
   for i= 1 to 4
      uo.findtype(animals[i],'-1','ground')
      uo.print("Èùåì æèâíîñòü...")
      if uo.findcount()>0 then
         uo.print("Æèâíîñòü íàéäåíà...")
         k=uo.getserial('finditem')
         uo.ignore('finditem')
         uo.deletejournal()
         while not uo.injournal(ms4)
            uo.findtype(food,'-1','backpack')
            uo.moveitem('finditem','1',k)
            wait(500)
            repeat
         wend
         wait(1000)
         uo.deletejournal()
         while uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms6) or uo.injournal(ms7)
            uo.print("Òàìèì...")
            uo.waittargetobject(k)
            wait(50)
            uo.useobject(staf)
            uo.deletejournal()
            repeat
               wait(500)
            until uo.injournal(ms1) or uo.injournal(ms2)
         wend
         uo.say("all release")
         wait(5000)
      else
         uo.ignorereset()
      endif
   next
wend
endsub


Исправил, теперь находит живность, начинает кормить, не тамит а просто пишет all release :( что еще может быть не так...

Posted: 2009-12-20 22:44:10
by Mirage
тесть

Code: Select all

 sub tam()
var food='0x097B' # type of food for animal
DIM animals[4]
animals[1] = '0x00DC'   ;Liama
animals[2] = '0x00CF'   ;Sheep
animals[3] = '0x00E2'   ;Horce
animals[4] = '0x00CC'   ;Horse2
var staf='0x400BA7D1' # ID your taming staf
var ms1="You fail to tame the creature."
var ms2="Sheep: ß òâîÿ The MusicMan !"
var ms3="Your target is too far away from you."
var ms4="You put"
var ms5= "Horse:"
var ms6="It seems to accept you as master."
var ms7="This creature already tame."
var k,i
while not uo.dead()
   for i= 1 to 4
      uo.findtype(animals[i],'-1','ground')
      uo.print("Èùåì æèâíîñòü...")
      if uo.findcount()>0 then
         k=uo.getserial('finditem')
         uo.ignore('finditem')
         uo.deletejournal()
         while not uo.injournal(ms4)
            uo.findtype(food,'-1','backpack')
            uo.moveitem('finditem','1',k)
            wait(500)
         wend
         wait(1000)
         uo.deletejournal()
         while uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms6) or uo.injournal(ms7)
            uo.waittargetobject(k)
            uo.useobject(staf)
            uo.deletejournal()
            repeat
               wait(500)
            until uo.injournal(ms1) or uo.injournal(ms2)
         wend
         uo.say("all release")
         wait(5000)
      else
         uo.ignorereset()
      endif
   next
wend
endsub
это не скрипт а хз что

Posted: 2009-12-21 00:04:42
by Nmy
Во 1ых проблема в том что var ms1-7 написано не правильно и криво.
Во 2ых while uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms6) or uo.injournal(ms7) и wend надо заменить на:
вместо while... будет repeat
вместо wend будет until uo.injournal(ms2) or uo.injournal(ms3)

В данном случае надо с уо взять правильные системные сообщения и прописать их. Если что то будет не правильно в коде - поможем.

Posted: 2009-12-21 00:08:14
by Nmy

Code: Select all

sub tam() 
var food='0x097B' # type of food for animal
DIM animals[4]
animals[1] = '0x00DC'   ;Liama
animals[2] = '0x00CF'   ;Sheep
animals[3] = '0x00E2'   ;Horce
animals[4] = '0x00CC'   ;Horse2
var staf='0x4000B512' # ID your taming staf
var ms1="You fail to tame the creature."
var ms2="Sheep: Я твоя nick !" ; <- НЕ ПРАВИЛЬНО
var ms3="Your target is too far away from you."
var ms4="You put"  ; <- НЕ ПРАВИЛЬНО
var ms5="Horse:"  ; <- НЕ ПРАВИЛЬНО
var ms6="It seems to accept you as master."
var ms7="This creature already tame."
var k,i
while not uo.dead()
   for i= 1 to 4
      uo.findtype(animals[i],'-1','ground')
      if uo.findcount()>0 then
         k=uo.getserial('finditem')
         uo.ignore('finditem')
         uo.deletejournal()
         while not uo.injournal(ms4)
            uo.findtype(food,'-1','backpack')
            uo.moveitem('finditem','1',k)
            wait(500)
            repeat
         wend
         wait(1000)
         uo.deletejournal()
         repeat
            uo.waittargetobject(k)
            wait(50)
            uo.useobject(staf)
            uo.deletejournal()
            repeat
               wait(500)
            until uo.injournal(ms1) or uo.injournal(ms2)
         until uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms7) or uo.injournal(ms6)
         uo.say("all release")
         wait(5000)
      else
         uo.ignorereset()
      endif
   next
wend
endsub