Помогите со скриптом чтото неработает , Хилит тока 1 животное а дальше тупит
Прапорщик (1995957)13 лет
Urukhay
Сообщений: 74
Рег. 19.05.2011
3 декабря 2012 16:27
Сообщение #1
sub Veterinary()
Var Sunduk = '0x4014B540'; Ид сундука с бинтами и куда будут скидываться грязные бинты
Var Bandag = '0x0E21'; тип чистых бинтов
Var BlBandag = '0x0E20'; тип грязных бинтов
Var Animal = '0x002B54CB'; Ид первого животного
Var Animal2 = '0x002B54C8'; Ид второго животного
Var life, life2
; UO.Exec('exec Reconnector')
while UO.SkillVal( 'Veterinary' ) < 1000
life=uo.gethp(Animal)
life2=uo.gethp(Animal2)
if UO.Count( Bandag ) < 10 Then
UO.FindType( Bandag, '-1', Sunduk )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', '500' )
wait(500)
Else
UO.Print( 'Bandage not found! Script terminated!' )
return
Endif
UO.FindType( BlBandag )
If UO.FindCount() > 0 Then
UO.MoveItem( 'finditem', '0', sunduk )
wait(500)
Endif
Endif
if life>=50 and life2>=50 then
UO.Waittargetobject(Animal2)
UO.msg('all kill')
while life>30 and life2>30
wait(1000)
life=uo.gethp(Animal)
life2=uo.gethp(Animal2)
wend
UO.msg('All stop')
food()
else
while life<80
uo.waittargetobject(Animal)
uo.usetype('bandage')
Repeat
uo.deletejournal()
wait(500)
Until UO.InJournal('Вы наложили бинт') OR UO.InJournal('help') OR UO.InJournal('Не пытайтесь изобразить мумию')
life=uo.gethp(Animal)
else
while life<80
uo.waittargetobject(Animal2)
uo.usetype('bandage')
Repeat
uo.deletejournal()
wait(500)
Until UO.InJournal('Вы наложили бинт') OR UO.InJournal('help') OR UO.InJournal('Не пытайтесь изобразить мумию')
life=uo.gethp(Animal2)
wend
endif
wend
end sub

sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
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)
RFlag = 1
ReconnectTime = '0'
endif
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
EndIf
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
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub

Sub food()
if UO.Count(0x0c77) < 7 then
UO.WaitTargetGround("0x0c77")
UO.Grab("5")
Wait(500)
end if
if UO.Count(0x0c77) > 0 then
UO.usetype("0x0c77")
wait(500)
end if
end sub
11 лет
Ranger
Сообщений: 54
Рег. 29.09.2013
24 октября 2013 16:40
Сообщение #2
У меня он вообще не хилит их, а начинает флудить из сообщений, что персонаж сыт. Может у кого есть нормальный вариант скрипта. Столько уже животины погубил )))

# Рядом с собой кидаете сундук с бинтами, и перед собой двух животных
# Изменяете все Ид и типы которые потребуеться
# На закладке main ставим галочку напротив строки track world items
# Вытаскиваем жизни обоих зверюжек и запускаем скрипт
sub Veterinary()
    Var Sunduk = '0x4087B7B6'; Ид сундука с бинтами и куда будут скидываться грязные бинты
    Var Bandag = '0x0E21'; тип чистых бинтов
    Var BlBandag = '0x0E20'; тип грязных бинтов
    Var Animal = '0x007C6BF4'; Ид первого животного
    Var Animal2 = '0x009AD165'; Ид второго животного
    Var life, life2
    while UO.SkillVal( 'Veterinary' ) < 1000
        life=uo.gethp(Animal)
        life2=uo.gethp(Animal2)
        if UO.Count( Bandag ) < 10 Then
            UO.FindType( Bandag, '-1', Sunduk )
            If UO.FindCount() > 0 Then
                UO.MoveItem( 'finditem', '500' )
                wait(500)
            Else
                UO.Print( 'Bandage not found! Script terminated!' )
                return
            Endif
            UO.FindType( BlBandag )
            If UO.FindCount() > 0 Then
                UO.MoveItem( 'finditem', '0', sunduk )
                wait(500)
            Endif
        Endif
        eat()
        if life>=50 and life2>=50 then
            UO.Waittargetobject(Animal2)
            UO.msg('all kill')
            wait(50)
            while life>40 and life2>40
                wait(1000)
                life=uo.gethp(Animal)
                life2=uo.gethp(Animal2)
            wend
            UO.msg('All stop')
        else
            while life<50
                uo.waittargetobject(Animal)
                uo.usetype('bandage')
                Repeat
                    uo.deletejournal()
                    wait(3500)
                Until UO.InJournal('Вы наложили') OR UO.InJournal('Вы не закончили') OR UO.InJournal('мумию') OR UO.InJournal('put') OR UO.InJournal('help') OR UO.InJournal('mummy')
                life=uo.gethp(Animal)
            wend
            while life2<50
                uo.waittargetobject(Animal2)
                uo.usetype('bandage')
                Repeat
                    uo.deletejournal()
                    wait(3500)
                Until UO.InJournal('Вы наложили') OR UO.InJournal('Вы не закончили') OR UO.InJournal('мумию') OR UO.InJournal('put') OR UO.InJournal('help') OR UO.InJournal('mummy')
                life2=uo.gethp(Animal2)
            wend
        endif
    wend
end sub
#########################################
sub Stop()
    wait(500)
    UO.Exec("terminate all")
end sub
#########################################
sub eat()
    UO.DeleteJournal()
    repeat
        if UO.Count('0x097B')>0 then
            UO.UseType('0x097B')
            wait(200)
        else
            return
        end if
    Until UO.InJournal("stuffed!") OR UO.InJournal("think") OR UO.InJournal("ничего не можете")OR UO.InJournal("need that")
    #########################################


11 лет
Ranger
Сообщений: 54
Рег. 29.09.2013
25 октября 2013 00:46
Сообщение #3
Вот жадный народ! 198 просмотров и ни одного ответа. Просто не верится, что нет ни у кого норм раб скрипта... :acute:

!!!!Вроде нашел, нужно потестить!!!!
11 лет
Ranger
Сообщений: 54
Рег. 29.09.2013
25 октября 2013 02:21
Сообщение #4
:yahoo: :yahoo: :yahoo: Сколько же скотины я погубил! "....душили мы их душили..."
Генерал Полковник (37807901)13 летИнквизитор
Inquisitor
Сообщений: 792
Рег. 27.06.2011
25 октября 2013 04:13
Сообщение #5
Цитата: BadDoc
Вот жадный народ! 198 просмотров и ни одного ответа. Просто не верится, что нет ни у кого норм раб скрипта... !!!!Вроде нашел, нужно потестить!!!!


Цитата: BadDoc
Сколько же скотины я погубил! "....душили мы их душили..."

Поделился? Или что-то мне такое помнится про рожу и зеркало. :fuck:
11 лет
Ranger
Сообщений: 54
Рег. 29.09.2013
25 октября 2013 12:30
Сообщение #6
Fiz Pok, ни кто конечно не поделился, просто методом сыска... ))) Ну вот теперь пока не получается переделать скрипт под другую живность. С лошадьми все не очень гладко, ХП у них мало, но колбаса их них вкусная получается.
ЗЫ. Статы у них не дурно растут при прокачке )))
13 лет
Ranger
Сообщений: 1043
Рег. 18.06.2011
25 октября 2013 15:47
Сообщение #7
Он как бэ намекнул что ты обвинил всех в жадности, написал что нашел решение и как бэ зажал его. :)

как бэ воть :)
11 лет
Ranger
Сообщений: 54
Рег. 29.09.2013
25 октября 2013 18:49
Сообщение #8
Alucard,
Все молчат, значит ни кому не нужно )))

Просто не знал где искать раньше. Вот только что сможет теперь его переделать под любую живность, даже без ее поиска скиптом, а просто забивая ее ID и тип.????

#################################################
###################

; Ставим две лошади напротив друг друга, кладем в сундук рядом с чаром
; чистые бинты.Скрипт контролирует здоровье обеих лошадей
; и, если необходимо, подлечивает их с бинтов. Бинты он берет из сундука
; и туда же скидывает грязные.Скрипт сам определяет сериалы лошадей.
; Лошади должны стоять радом с чаром, иначе он их не найдет. Запускаем скрипт
; говорим All kill, натравляем одну лошадь на другую и все скрипт запущен.
sub veterinar2()
   VAR Sunduk = '0x4087B7B6'; Сериал сундука с бинтами и медом
   VAR Bandag = '0x0E21'   ; Тип бинтов
   VAR BlBandag = '0x0E20' ; Тип грязных бинтов
   VAR Horse1, Horse2, k
   VAR HorTyp1 = '0x00E2', HorTyp2 = '0x00E2'
   UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
  
   UO.UseObject( Sunduk )
   wait(1000)
   ### Блок определения сериалов лошадей
   UO.Set( 'finddistance', '4' )
   UO.FindType( HorTyp1, '-1', '1' )
   If UO.FindCount() == 0 Then
      UO.FindType( HorTyp2, '-1', '1' )
      If UO.FindCount() == 0 Then
         UO.Print( 'Horse 1 not found!' )
         return
      Endif
   Endif
   Horse1 = UO.GetSerial( 'finditem' )
   UO.Print( Horse1 )
   UO.Ignore( 'finditem' )
   UO.FindType( HorTyp1, '-1', '1' )
   If UO.FindCount() == 0 Then
      UO.FindType( HorTyp2, '-1', '1' )
      If UO.FindCount() == 0 Then
         UO.Print( 'Horse 2 not found!' )
         UO.IgnoreReset()
         return
      Endif
   Endif
   Horse2 = UO.GetSerial( 'finditem' )
   UO.Print( Horse2 )
   UO.IgnoreReset()
  
   ### Блок прокачки
   While UO.SkillVal( 'Veterinary' ) < 1000
      If UO.Count( Bandag ) < 10 Then
         UO.FindType( Bandag, '-1', Sunduk )
         If UO.FindCount() > 0 Then
            UO.MoveItem( 'finditem', '200' )
            wait(500)
         Else
            UO.Print( 'Bandage not found! Script terminated!' )
            return
         Endif
         UO.FindType( BlBandag )
         If UO.FindCount() > 0 Then
            UO.MoveItem( 'finditem', '0', sunduk )
            wait(500)
         Endif
      Endif
      
      If ( UO.GetHP( Horse1 ) < UO.GetMaxHP( Horse1 ) ) OR ( UO.GetHP( Horse2 ) < UO.GetMaxHP( Horse2 ) ) Then
         # Здесь я решил организовать так: чар лечит сначала ту лошадь, здоровья у которой меньше. Естественно,
         # если одна из лошадей здорова - то у второй меньше здоровья, иначе бы мы в If не вошли.
         If UO.GetHP( Horse1 ) < UO.GetHP( Horse2 ) Then
           ; лечим первую лошадь
            UO.Print( 'Veterinary!' )
            UO.WaitTargetObject( Horse1 )
            UO.UseType( Bandag )
            wait(3500)
         Endif
         If UO.GetHP( Horse1 ) > = UO.GetHP( Horse2 ) Then
           ; лечим вторую лошадь
            UO.Print( 'Veterinary!' )
            UO.WaitTargetObject( Horse2 )
            UO.UseType( Bandag )
            wait(3500)
         Endif
        
        ; останавливаем лошадей если у одной из них мало хп
         If ( UO.GetHP( Horse1 ) < 25 ) OR ( UO.GetHP( Horse2 ) < 25 ) Then
            uo.say("all stop")
            wait(1000)
         endif
         If ( UO.GetHP( Horse1 ) == UO.GetMaxHP( Horse1 ) ) and ( UO.GetHP( Horse2 ) == UO.GetMaxHP( Horse2 ) ) Then
            uo.waittargetobject( Horse1 )
            uo.say("all kill")
            wait(1000)
         endif
        
      Else
         wait(300)
      Endif      
   Wend
end sub


sub eat()
   while true
      uo.usetype('0x097B')
      wait(50000)
   wend
end sub
13 лет
Ranger
Сообщений: 1043
Рег. 18.06.2011
25 октября 2013 20:30
Сообщение #9
А что, так уже не качается? О_о

sub Veterinary()
    uo.addobject('zverb')
    while uo.targeting()==2
        wait(100)
    wend
    while not uo.dead()
        uo.attack('zverb')
        wait(500)
        repeat
            wait(100)
        until uo.getHP('zverb') <= uo.getMaxHP('zverb')/2
        uo.WarMode(0)
        wait(100)
        repeat
            UO.UseSkill("Hiding")
            UO.DeleteJournal()
            Repeat
                Wait(100)
            Until UO.InJournal("seem|been|hidden")
        Until UO.Hidden()
        repeat
            UO.DeleteJournal()
            uo.waittargetobject('zverb')
            uo.usetype('0x0E21')
            while not UO.InJournal('barely|put|mummy')
                wait(100)
            wend
        until uo.getHP('zverb') == uo.getMaxHP('zverb')
        wait(100)
    Wend
endsub

или так
var HealType='0x0E21'
var ArmType='0x1B76'

sub Veterinary()
var NeedFeed=0
var Counter
UO.UseType(ArmType)
UO.Print('Select CREATURE to practice on:')
UO.AddObject('creature')
WaitTargetDone()

while not UO.Dead()
   UO.Attack('creature')
   while UO.GetHP('creature')==(UO.GetMaxHP('creature')/2)
     wait(100)
   wend
   StopBattle()
   HealCreature()
   UO.UseType(ArmType)
   wait(200)
wend
end sub

Sub StopBattle()
UO.DeleteJournal()
UO.WarMode(0)    
end sub



Sub HealCreature()
while UO.GetHP('creature')<>UO.GetMaxHP('creature')
UO.DeleteJournal()
   UO.WaitTargetObject('creature')
   UO.UseType(HealType)
   while not UO.InJournal('barely|put|mummy|come closer')
     wait(100)
   wend
   if UO.InJournal('mummy|come closer') then
     return
   end if
wend
end sub

Sub WaitTargetDone()
while UO.Targeting()
wait(500)
wend

Подохла, принимаемся за другую. Главное самому не скукситься :)

PS это какие то старые скрипты. фиг знает как они работают но общая схема проще чем с 2 конями.
11 лет
Ranger
Сообщений: 54
Рег. 29.09.2013
25 октября 2013 22:36
Сообщение #10
Alucard,
Спасибо опробую! да, с двумя конями немного муторно, но потом просто они мутируют в заправских ездовых вреслеров )))
Капитан (7509102)15 лет
Ranger
Сообщений: 2217
Рег. 26.10.2009
25 октября 2013 22:41
Сообщение #11
на двух Dark Mustang'ах качался... в итоге один растамился и я его уже не смог затамить :(
11 лет
Ranger
Сообщений: 54
Рег. 29.09.2013
25 октября 2013 23:34
Сообщение #12
Anen, ну этого не избежать. Беги обычных коняг в конюшне.
Alucard, Что то ни то, что с первым, что со вторым. Он 1 раз только хилит, а потом забивает животину да и себя не хилит. Там вроде все понятно, но описалово краткое не помешало бы.

Старший Лейтенант (5006416)15 лет
Администратор
Сообщений: 19675
Рег. 31.07.2009
25 октября 2013 23:53
Сообщение #13
Цитата: Anen
в итоге один растамился и я его уже не смог затамить :(

Suppression Elixir

--------------------
Капитан (7509102)15 лет
Ranger
Сообщений: 2217
Рег. 26.10.2009
26 октября 2013 00:59
Сообщение #14
Jose Cuervo, новинка однако... я про это не в курсе был, да и сомневаюсь что в то время этот эликсир был в природе)
Последние посетители (0):

 
Сейчас: 25 ноября 2024 06:31