Два вопроса.

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