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

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Pistur
Posts: 16
Joined: 2005-08-26 23:49:22

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

Post by Pistur »

я не пойму куда ставить номера животных что бы он теймил.
пишит поиск нпс и не ищет.
посто я ни чё не смыслю в скриптах :(

Code: Select all

sub Taming() 
   var n, j, AllNames_Key, Finded, Serial 
;<=-------------------------------------------------------------------------------=> 
;************************************настройки*********************************** 
;<=-------------------------------------------------------------------------------=> 
   AllNames_Key = 90        ; клавиша вызываемая функцию all names по умолчанию 'Z' 
   dim Animal[10]           ; количество нпс в списке приручаемых для поиска +1 
   Animal[1]="Bull [npc]"   ; сам список животных...
   Animal[2]="Llama [npc]" 
   Animal[3]="Dog [npc]" 
   Animal[4]="Cow [npc]" 
   Animal[5]="sheep [npc]" 
   Animal[6]="Chicken [npc]" 
   Animal[7]="Rat [npc]" 
   Animal[8]="Pig [npc]" 
   Animal[9]="Snake [npc]" 
   Animal[10]="" 

;***********************************************************************************  
   UO.DeleteJournal() 
   repeat 
SearchStart: 
    UO.Print('Searching NPC...') 
    UO.DeleteJournal() 
    UO.Press(AllNames_Key); 
    Wait(100) 

SearchNext: 
    Finded = '' 
    if (UO.InJournal('[npc]')==0) если нету ни одного NPC 
       GOTO SearchEnd 
    endif    
    J = UO.InJournal('[npc]')-1 ; ищем нпс по журналу
    n=1 
    while not Animal[n]=='' 
     if (UO.GetName(UO.JournalSerial(J)) == Animal[n]) then 
        Finded = UO.GetName(UO.JournalSerial(J)) 
     endif 
     n=n+1 
    wend 
    if Finded == '' then 
       UO.SetJournalLine(J,'') 
;       UO.ShowJournal('100') ; для отладки 
       GOTO SearchNext 
    endif    
; êîíåö öûêëà SearchNext 

    Finded = UO.GetName(UO.JournalSerial(J)) 
    Serial = UO.JournalSerial(J) 
    TimeAnimal(Serial) 
    GOTO SearchStart 
SearchEnd:    
    Wait(5000) 
   Until UO.SkillVal('Animal Taming','1') >= 1000 
   UO.Print('Íàâûê Animal Taming ïðîêà÷åí...') 
end sub 

sub TimeAnimal(Animal) 
    UO.Print('Taming '+UO.GetName(Animal)+'...') 
   repeat 
    GotoXY(UO.GetX(Animal),UO.GetY(Animal)) 
    if (UO.GetName(Animal)=='sheep [npc]') then 
       UO.WaitTargetObject(Animal) 
       UO.usetype('0x0F51') 
       Wait(250) 
    endif 
    UO.DeleteJournal() 
    Wait(100) 
    UO.WaitTargetObject(Animal) 
    UO.UseSkill('Animal Taming') 
    While not UO.InJournal("accept you as its master") and not UO.InJournal("You fail to tame the") and not UO.InJournal("I am too far away") and not UO.InJournal("You are your own master") and not UO.InJournal("already tame") and not UO.InJournal("quantity taming skill") and not UO.InJournal("can't") and not UO.InJournal("creature very hungry") 
     Wait(100) 
    Wend    
   Until UO.InJournal("accept you as its master") or UO.InJournal("You are your own master") or UO.InJournal("already tame") or UO.InJournal("quantity taming skill") or UO.InJournal("can't") or UO.InJournal("creature very hungry") or not uo.GetDistance(Animal) 
    UO.Print('Aminal tamed successfuly') 
    if not UO.InJournal("has be removed") and UO.GetDistance(Animal) then 
       UO.Print('Kill '+UO.GetName(Animal)+'...'); 
       UO.Attack(Animal) 
       GotoXY(UO.GetX(Animal),UO.GetY(Animal)) 
       while not UO.InJournal("Body of") 
         Wait(100) 
       wend 
       UO.WarMode(0) 
    endif    
end sub 

sub Veterinary() 
   UO.AddObject('horse_for_veterinary') 
   UO.Print('Íà êàêîì æèâîòíîì áóäåì êà÷àòü?') 
   while UO.Targeting() 
    wait(50) 
   wend 
  
  repeat 
; Wash bloody bandages 
   if not UO.Count('0x0E21') then 
      UO.Waittargettype('0x1008') 
      UO.Usetype('0x0E20') 
      Wait(100) 
   endif    

; Healing animal 
    UO.DeleteJournal() 
   repeat 
    UO.waittargetobject('horse_for_veterinary') 
    UO.usetype('0x0E21') 
    while not UO.InJournal("You heal") and not UO.InJournal('but they barely help.') and not UO.InJournal('You fail to heal') and not UO.InJournal('You put the bloody') and not UO.InJournal('you wanna make a mummy?') 
     Wait(10) 
     UO.WarMode(0) 
    wend 
    UO.DeleteJournal() 
   until UO.GetHP('horse_for_veterinary') == UO.GetMaxHP('horse_for_veterinary') 

; Healing self 
   if UO.GetHP() < UO.GetMaxHP() then 
      UO.bandageself() 
      while not UO.InJournal("You heal") and not UO.InJournal('but they barely help.') and not UO.InJournal('You fail to heal') and not UO.InJournal('You put the bloody')and not UO.InJournal('you wanna make a mummy?') 
        Wait(10) 
        UO.WarMode(0) 
      wend 
   endif  
    
; Attack animal 
    UO.Attack('horse_for_veterinary') 
   while UO.GetHP('horse_for_veterinary') == UO.GetMaxHP('horse_for_veterinary')  
    Wait(10) 
   wend 
    
  Until UO.Dead('horse') or not UO.Count('0x0E21') or UO.SkillVal('Veterinary','1') == 1000 
end sub 
P.S. зарание спасибо
Solaire
Posts: 163
Joined: 2005-05-21 07:12:12
Location: DRW

Post by Solaire »

Здесь не надо никуда номера вставлять, поиск ведется по именам животных. Имена должны совпадать с перечисленными вначале в массиве. В том числе и с припиской [npc].
Pistur
Posts: 16
Joined: 2005-08-26 23:49:22

Post by Pistur »

он пишит поис нпс и всё
Arsuri
Posts: 62
Joined: 2005-02-25 13:31:26
Location: DRW, [Hussars]
Contact:

Post by Arsuri »

Погляди в опциях клиента, где настройки макросов, на какую клавишу у тебя забита команда "All Names". Здесь в скрипте используется клавиша "Z". Если команда вообще не задана, то создай сам макрос.
Unreal Pro Bw
Posts: 57
Joined: 2005-04-12 16:51:14

Post by Unreal Pro Bw »

этот скрипт вообще с ошикой где то и не работает как должен... :(
Ultima Online will save us from narcotics! :D
Solaire
Posts: 163
Joined: 2005-05-21 07:12:12
Location: DRW

Post by Solaire »

Pistur wrote:он пишит поис нпс и всё
Имена животных точно такие, как в массиве?
CHYVAKs
Posts: 46
Joined: 2005-03-16 10:14:15

Post by CHYVAKs »

Скрипт неработает

Line 30: parse error

в чем причина?
и если можете исправте чтобы теимил со стафом!
agem
Posts: 65
Joined: 2005-06-26 12:29:37

Post by agem »

Потрясающе. Вчера пять минут искал parse error, ошибка была та же самая. В строке 30 после if бла-бла-бла нужно еще написать слово then. А перед комментариями поставить ; или #.
CHYVAKs
Posts: 46
Joined: 2005-03-16 10:14:15

Post by CHYVAKs »

от еррора иэбавился,
а чо эделать со стафом, где исправить?
l INFINITY l
Posts: 1
Joined: 2009-02-13 17:19:32

Post by l INFINITY l »

Я конечно не скриптер, но обратите внимание на эту строчку:

if (UO.InJournal('[npc]')==0) then ;если нету ниодного NPC
GOTO SearchEnd

Тобишь если не нашло .. - уходит в конец ...
А потом скрипт просто отключается ...
Может быть что-то в этом кусочке. Может ему надо искать до тех пор, пока не найдет .. а уже потом тамить .. Ну и начинать цыкл заново.
Nightmare
Posts: 10
Joined: 2009-01-09 23:44:28
Contact:

Post by Nightmare »

ерора у меня нету но зато когда запускаю скрипт у меня выдает сообщение в ультиме Searching NPC А коров которых у меня куча стоит он не хочет тамить.... в чем трабла?? :(
vertijok
Posts: 117
Joined: 2008-09-26 17:06:16
Contact:

Post by vertijok »

Nightmare wrote:ерора у меня нету но зато когда запускаю скрипт у меня выдает сообщение в ультиме Searching NPC А коров которых у меня куча стоит он не хочет тамить.... в чем трабла?? :(
брать другой скрипт тут их куча :lol:
Post Reply