Page 2 of 3

Posted: 2010-01-07 22:20:35
by Mirage
парни у вас все еще гуляют НГ? О_о
зачем вы пытаетесь ТРУП тамить? Зомби делаете? У живого и трупа абсолютно разные ID и type. Это надо спецом тыкать в трупак.

Posted: 2010-01-07 22:31:47
by Gromiz
здесь поиск идет по имени животного, соответственно убитое носит почти такое же имя, ну, и ..

а переделать под "типы" не смогу

п.с.
пытался

Posted: 2010-01-08 08:29:13
by Mirage
хм скрипт интересный НО непонятно зачем автор сделал такой финт - поиск ИМЕНИ вместо типа...
попробуемс переделать по аналогии на тип седня данный скрипт :roll:

Posted: 2010-01-08 12:23:42
by Mirage
Сделал только автомат, убрал кормление добавил проверку на "память" у животного. (специфика моего шарда :!: )
теперь просто добавляете типы и впиред в загоны...
Как то так:

Code: Select all

#    Автоматический поиск (Авто) - для загонов.                   #
#    Постоянно ищет животное из массива. При нахождении           #
#    сам  подходит  к нему и  пытается  приручить.  При  удачном  #
#    исходе отпускает или убивает (см. Настройки).                #
#    При неудачном (если мал скилл или уже притамлено) убивает.   #
#    Режим кормления не предусмотрен.                             #
#                                                                 #
#     НОВЫХ животных добавляем по типу и не забываем смеенить n   #
# НАСТРОЙКИ #
#           #
#####################################
                # Настройки режима. #
#####################################################
                # Что делать с прирученным животным #
var Release = 0 # 1 - Отпустить cказать All Release #
                # 0 - Убить                         #
#####################################################################
var n=2  #количество животных в массиве
#####################################################################
#ДЛЯ СТАРТА ЗАПУСТИТЬ start()!!!
#####################################################################


sub start()
   UO.WarMode(1)
   wait(100)
   UO.WarMode(0)
   wait(100)
   UO.exec("terminate main;exec main")
end sub



Sub main()
var a, j
var gl=''
dim Animal[n]
Animal[0]="0x0006"
Animal[1]="0x00D0"



UO.exec("terminate Reconnect;exec Reconnect")
   UO.Set('finddistance', '4')
UO.IgnoreReset()
   while (UO.SkillVal('Animal Taming','1') < 1000)
      j = 0
      For a = 0 to n-1
   uo.FindType(Animal[a], -1, 'ground')
         if uo.FindCount()>0 then
            j = UO.GetSerial('finditem')
            uo.click(j)
            if UO.GetName(j) == gl then
               UO.Print('ГЛЮКИ!!!')
            else
               TameAnimal(j,Release)
            endif
         endif
      next
      UO.Print('Анализ NPC закончин.')
      if (j == 0) then
         UO.Print('NPC Нет')
      endif
      wait(2000)
   wend
endif
endsub

Sub TameAnimal(Animal, Rel)
var msg1 = "It seems to accept you"
var msg2 = "You fail to tame the"
var msg3 = "I am too far away"
var msg4 = "already"
var msg5 = "quantity"; taming skill"
   UO.Print('Приручаем '+UO.GetName(Animal)+'...')
   GotoXY(UO.GetX(Animal),UO.GetY(Animal),2)
   DeleteJournal(msg1)
   DeleteJournal(msg2)
   DeleteJournal(msg3)
   DeleteJournal(msg4)
   DeleteJournal(msg5)
   While not UO.InJournal(msg1) and not UO.InJournal(msg4) and not UO.InJournal(msg5)
      UO.WarMode(0)
      UO.WaitTargetObject(Animal)
      UO.UseSkill('Animal Taming')
      While not UO.InJournal(msg1) and not UO.InJournal(msg2) and not UO.InJournal(msg3) and not UO.InJournal(msg4) and not UO.InJournal(msg5)
         wait(100)
      wend
      if UO.InJournal(msg2) or UO.InJournal(msg3) then
         GotoXY(UO.GetX(Animal),UO.GetY(Animal),2)
      endif
      DeleteJournal(msg2)
      DeleteJournal(msg3)
   wend
   if UO.InJournal(msg4) or UO.InJournal(msg5)  then
      UO.Print(UO.GetName(Animal)+' Не хочет приручатсья.')
      KillAnim(Animal)
   endif
   if UO.InJournal(msg1) then
      UO.Print(UO.GetName(Animal)+' Приручен!!!')
      if not (UO.GetName(Animal) == '') then
         if (Rel == 1) then
            UO.msg('All Release')
            UO.msg('GuArDs')
         else
            UO.sayu('All Come')
            UO.Attack(Animal)
         wait(500)
         KillAnim(Animal)
         endif
      endif
   endif
endsub

Sub DeleteJournal(msg)
   While UO.InJournal(msg)
      UO.SetJournalLine(UO.InJournal(msg) - 1,'')
   wend
endsub

Sub KillAnim(Anim)
   UO.Print('Идём убивать '+UO.GetName(Anim)+'...')
   UO.Attack(Anim)
   GotoXY(UO.GetX(Anim),UO.GetY(Anim),1)
   UO.DeleteJournal()
   repeat
      if uo.GetDistance(Anim) > 1 then
         GotoXY(UO.GetX(Anim),UO.GetY(Anim),1)
      end if
      wait(100)
   until uo.dead() or uo.GetX(Anim)==0
UO.Ignore(Anim)
endsub

Sub Reconnect()
var ReconnectTime,rFlag
ReconnectTime='0'
rFlag=1
repeat
   while (UO.ObjAtLayer('Bpack')=='')
      if rFlag then
         ReconnectTime=MakeTime()
         rFlag=0
      end if
      wait(20000)
      UO.Lclick(316,270)
      wait(3000)
      UO.Say('')
      wait(3000)
      UO.Say('')
      wait(3000)
      UO.Say('')
      wait(3000)
      UO.LdblClick(357,164)
      UO.Lclick(616,459)
      wait(3000)
   wend
   wait(3000)
   if (rFlag==0) and (ReconnectTime<>'0') then
      UO.TextOpen()
      UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
      UO.exec("terminate main;exec start")
      rFlag=1
      ReconnectTime='0'
   end if
until false
end sub

Sub MakeTime()
var d,t,ret,i
ret=str(UO.Time())
t=""
for i=0 to Len(ret)
   t=ret[Len(ret)-i]+t
   if (i==2) or (i==4) then
      t=":"+t
   end if
next
ret=str(UO.Date())
d=""
for i=0 to Len(ret)
   d=ret[Len(ret)-i] + d
   if (i==2) or (i==4) then
      d="."+d
   end if
next
ret=t+" @ "+d
return ret
end sub

Sub GotoXY(x,y,prec)
var myX,myY,LastX=0,LastY=0,i,halt=0,z,r=0
for i=1 to 60
   myX=uo.GetX()
   myY=uo.GetY()
   if LastX==myX and LastY==myY then
      halt=halt+1
   else
      halt=0
   end if
   if halt>=10 then
      if uo.GetDir()==1 then
         for z=0 to 8
            uo.Press(40)
         next
      end if
      if uo.GetDir()==3 then
         for z=0 to 8
            uo.Press(37)
         next
      end if
      if uo.GetDir()==5 then
         for z=0 to 8
            uo.Press(38)
         next
      end if
      if uo.GetDir()==7 then
         for z=0 to 8
            uo.Press(39)
         next
      end if
      halt=15
   end if
   if Numb(x-myX) <= prec and Numb(y-myY) <= prec then
      return 1
   end if
   if x<=myX then
      if y<=myY then
         for z=0 to 3
            uo.Press(38)
         next
      else
         for z=0 to 3
            uo.Press(37)
         next
      end if
   else
      if y<=myY then
         for z=0 to 3
            uo.Press(39)
         next
      else
         for z=0 to 3
            uo.Press(40)
         next
      end if
   end if
   LastX=myX
   LastY=myY
   wait(200)
next
return 0
end sub

Sub Numb(num)
if num>=0 then
   return num
else
   return num*(-1)
end if
end sub


проверяйте, пишите замечания...

Posted: 2010-01-08 20:34:14
by Gromiz
да все супер, сказка :) :!:

Re: Таминг

Posted: 2010-01-25 14:49:17
by Gromiz
Mirage или еще-кто-нибудь, подскажите куда в этот скрипт проверку различную запихнуть, например, по кол-во хп?

Re: Таминг

Posted: 2010-01-25 18:11:20
by Mirage
Для чего?

Re: Таминг

Posted: 2010-01-25 21:23:48
by Gromiz
есть проверки на сообщение в мире, на кол-во хп, на магию? чтобы защитить своего персонажа,т.к. качаю в городе

вот и хочу прицепить к этому скрипту с максимальным эффектом и меньшими крашами(??)

вот строчка

Code: Select all

proverka()


а между чем ее запихнуть, я хз

сейчас стоит 4 раза по всему скрипту :)

Re: Таминг

Posted: 2010-01-25 21:56:00
by Gromiz
хотя нафиг, смысла нет :)

лучше форенсинг прилепить, и то полезнее будет

Re: Таминг

Posted: 2010-04-20 19:43:51
by notgosu
А возможно в данный скрипт добавить следующее: чар тамит животное, при удачном таминге не убивает животное, а all kill на следующее найденное животное. Если умерло затамленное - тамим оставшееся, если незатамленное тамим его и т.д.. Ну и резка-лут убитого. Всем отозвавшимся - заранее спасибо.

Re: Таминг

Posted: 2010-04-21 00:07:35
by kostjan
Может быть что может, но не может быть того что может! :shock:

Re: Таминг

Posted: 2010-04-21 00:09:57
by notgosu
Эт ты хорошо подметил) Но лучше бы помог)

Re: Таминг

Posted: 2010-04-25 11:49:44
by notgosu
Ну подправьте скрипт плз.

Re: Таминг

Posted: 2010-04-25 13:55:41
by Mirage
я тебе уже у нас на форуме ответил что это безсмысленая трата времени, средств и животных. Притамливаешь овцу к себе, стрижешь, убиваешь, режешь, лутаешь. ВСЕ. Бои без правил устраивать зачем? ОВЕЦ КАЧАТЬ? :twisted:

Re: Таминг

Posted: 2010-04-25 14:22:08
by notgosu
Алукард? 0_о

Да овцы у меня на шарде уж больно сильные. Голым не покачаеш, а арм одевать - снимут ПК всякие.

Re: Таминг

Posted: 2010-04-25 20:39:55
by Mirage
Приручаешь 2-3 овец потом 1 убиваешь.
Или ЛУЧШЕ тамишь а рядом мультокиллер. В 2 голыми даже на "бесте" не говоря об нашем шарде можно кулаками тролля загасить. 8)

Re: Таминг

Posted: 2010-05-01 08:29:10
by Zeppelin
Да, на бесте именно так и качается - приручаешь одну, приручаешь вторую, убиваешь одну другой и т.д. Таминг + скининг + лут.

Re: Таминг

Posted: 2010-05-01 11:58:50
by messir
Я конечно не знаю специфики ваших шардов, но разве у вас Animal Tamers вендоры не покупают животных? У нас на шарде такие вот вендоры стоят как в городах, так и в загонах, где как правило много овец... И скрипт получается примитивный... ищем животное... скиллом Enticement\Discordance подзываем его, потом тамим и продаем. Я пока докачивал друиду таминг с 100 до 120 заработал примерно 150к денег))) Качал дня 2 наверное)

Re: Таминг

Posted: 2010-05-01 12:23:27
by Zeppelin
И на бесте и на дрв не так =) на других не играл.

Re: Таминг

Posted: 2010-05-04 15:20:39
by Mirage
messir wrote:Я конечно не знаю специфики ваших шардов, но разве у вас Animal Tamers вендоры не покупают животных? У нас на шарде такие вот вендоры стоят как в городах, так и в загонах, где как правило много овец... И скрипт получается примитивный... ищем животное... скиллом Enticement\Discordance подзываем его, потом тамим и продаем. Я пока докачивал друиду таминг с 100 до 120 заработал примерно 150к денег))) Качал дня 2 наверное)

На наших шардах вендоры не покупают(ли) ездовых.
Его просто ломает набивать загон 50 конями. При таком раскладе качать полночи до 100 скилла.

Zeppelin wrote:Да, на бесте именно так и качается - приручаешь одну, приручаешь вторую, убиваешь одну другой и т.д. Таминг + скининг + лут.

не одну другой а одну собой. Вторая будет атаковать выполняя роль танка.