Два вопроса.

Ask for help

Moderators: Murderator+, Murderator

Post Reply
UmniK
Posts: 7
Joined: 2008-01-10 20:09:35
Contact:

Два вопроса.

Post by UmniK »

Добрый день. Вот наболело, накипело и т.д. помогите пожалуйста рабобраться.

Вопрос номер один: Чем отличаются между собой
UO.Life
UO.L
UO.H
и как мне поставить в скрипте проверку на наличие в бэкпаке банок рефреша???

Ну и вопрос номер два, посложней:

У меня есть скрипт на хил:

Code: Select all

sub hilka() 
   While UO.Life > 0 
      If UO.Life < 105Then 
         UO.Bandageself() 
           repeat 
             If UO.InJournal("cliloc# 0x2CF7")Then
                 UO.Print ('MORTAL')
                   wait(2500) 
                    UO.Bandageself()   
                       repeat  
                          wait(100)
                       until UO.InJournal("cliloc# 0xA4E9")or UO.InJournal("cliloc# 0xA4E8")or UO.InJournal("cliloc# 0x2CF8")or UO.InJournal("cliloc# 0xA4DB")or UO.InJournal("cliloc# 0x2D47")  
                    wait(100)
                  uo.usetype('0x0f0c') 
              else
                wait(100)
              Endif
            until UO.InJournal("cliloc# 0xA4E9")or UO.InJournal("cliloc# 0xA4E8")or UO.InJournal("cliloc# 0x2CF8")or UO.InJournal("cliloc# 0x55C8")or UO.InJournal("cliloc# 0xA4DB")or UO.InJournal("cliloc# 0x2D47")
          uo.deletejournal("cliloc# 0xA4E9")
         wait(100)
      Else 
         wait(50) 
      Endif 
   Wend 
end sub

Скрипт по ПвП, в нем вот этот участок отвечает за отхил чара после получения аблки "мортал страйк"

Code: Select all

 If UO.InJournal("cliloc# 0x2CF7")Then
                 UO.Print ('MORTAL')
                  wait(2500)  // ожидание перед наложением бинтов
                    UO.Bandageself()   
                       repeat  
                          wait(100)
                       until UO.InJournal("cliloc# 0xA4E9")or UO.InJournal("cliloc# 0xA4E8")or UO.InJournal("cliloc# 0x2CF8")or UO.InJournal("cliloc# 0xA4DB")or UO.InJournal("cliloc# 0x2D47")  
                    wait(100)
                  uo.usetype('0x0f0c') 
              else
                wait(100)
              Endif
вот собственно строку wait(2500) мне надо заменить.

Code: Select all

 UO.Print ('MORTAL')
 wait(2500)  // ожидание перед наложением бинтов
 UO.Bandageself()   
Необходимо что бы в этот момент время ожидания высчитывалось по формуле:
время ожидания=/6,5 секунд/-/11 - (Dexterity / 20)/
где дестери каждый раз разное.
Возможно ли такое реализовать?
Заранее спасибо :)
Jaraa
Posts: 45
Joined: 2008-03-03 02:16:35

Re: Два вопроса.

Post by Jaraa »

UmniK wrote:и как мне поставить в скрипте проверку на наличие в бэкпаке банок рефреша???

Code: Select all

UO.FindType('0x0F0B','0x0000', 'my') ;type and color of potion
    if UO.FindCount()>0 then
            UO.UseObject('finditem')
      else
        wait(100)
    endif 
UmniK wrote:вот собственно строку wait(2500) мне надо заменить.

Code: Select all

 UO.Print ('MORTAL')
 wait(2500)  // ожидание перед наложением бинтов
 UO.Bandageself()   
Необходимо что бы в этот момент время ожидания высчитывалось по формуле:
время ожидания=/6,5 секунд/-/11 - (Dexterity / 20)/
где дестери каждый раз разное.
Возможно ли такое реализовать?
Заранее спасибо :)
Вообще то в твоем скрипте строка wait(2500) ожидает когда пройдет мортал чтоб бинт лег как раз после того как пройдет. По твоей формуле при 120 дексы надо ждать -0,5 сек (то есть не ждать), а при 80 дексы 0,5 сек. Ниже 80 редко когда декс опускается можно этот вариант вообще не рассматривать. Поэтому ты можешь тупо уменьшеить время ожидания до 0,5 сек.
wait(500)
UmniK
Posts: 7
Joined: 2008-01-10 20:09:35
Contact:

Re: Два вопроса.

Post by UmniK »

за стамину спасибо :)
Jaraa wrote: время ожидания=/6,5 секунд/-/11 - (Dexterity / 20)/

Вообще то в твоем скрипте строка wait(2500) ожидает когда пройдет мортал чтоб бинт лег как раз после того как пройдет. По твоей формуле при 120 дексы надо ждать -0,5 сек (то есть не ждать), а при 80 дексы 0,5 сек. Ниже 80 редко когда декс опускается можно этот вариант вообще не рассматривать. Поэтому ты можешь тупо уменьшеить время ожидания до 0,5 сек.
wait(500)
ммм... время ожидания=6,5-(11-120/20)=6,5-(11-6)=6,5-5=1,5 секунды
при дексы 150
время ожидания=6,5-(11-150/20)=6,5-(11-7,5)=6,5-3,5=3 секунды.

вот именно в этот разбег в полторы секунды и спеваешь получить второй мортал :)
$!@m
Posts: 106
Joined: 2006-08-10 08:25:32

Post by $!@m »

а в чем проблема написать в формуле UO.Dex?
UmniK
Posts: 7
Joined: 2008-01-10 20:09:35
Contact:

Post by UmniK »

$!@m wrote:а в чем проблема написать в формуле UO.Dex?
Разве можно применять строку?
Wait(6500-((11-UO.Dex/20)*1000))

думаю инжа меня пошлеть :oops:

P.S. Невероятно, но факт, инжа схавала эту строчку :shock: :shock: :shock: :roll: . Всем спасибо :lol:
Post Reply