вопрос по вэйтингу

General Injection issues

Moderators: Murderator+, Murderator

Post Reply
volting
Posts: 75
Joined: 2008-10-29 17:27:20

вопрос по вэйтингу

Post by volting »

по какой системе работает команда UO.waiting() И можно ли менять её тайминг?
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Re: вопрос по вэйтингу

Post by Kynep »

Yoko Help wrote:Описание: Waiting •

Синтакс: number uo.Waiting()
Тема: Команды скриптов Ключевые слова: uoscript, system, waitsystem, targeting

Определяет, установлена ли ловушка прицела одной из команд wait*, например waittargetobject, или например cast 'Flame Strike' laststatus
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Post by volting »

ок, это понял..
проблема в том, что при этой фунции, зажимая кнопку, часто всплывает такой баг, что ничего невозможно инжей скастить, пока не сделаешь ,grab, вот и надо както избавится от этого бага -)
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

volting wrote:ок, это понял..
проблема в том, что при этой фунции, зажимая кнопку, часто всплывает такой баг, что ничего невозможно инжей скастить, пока не сделаешь ,grab, вот и надо както избавится от этого бага -)

А подробнее?
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Post by volting »

Kynep wrote:
volting wrote:ок, это понял..
проблема в том, что при этой фунции, зажимая кнопку, часто всплывает такой баг, что ничего невозможно инжей скастить, пока не сделаешь ,grab, вот и надо както избавится от этого бага -)

А подробнее?

допустим скрипт на мини-хил..
sub Heheal()
if not UO.waiting() then
UO.Exec("cast Heal self")
end if
if uo.injournal("cliloc# 0xA3A1") then
UO.Exec("cast Heal self")
uo.deletejournal()
end if
end sub

Допустим он забинден у меня на F я зажимаю F чтобы хилится и тут то оно всё и всплывает, в определённый момент ничего невозможно скастить пока не кинуть таргет ,grab'ом или чемнить еще...
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Re: вопрос по вэйтингу

Post by volting »

Проблема еще актуальна, всё также хочу знать, как определяется, сколько будет инжа ждать прицела от клиента, командой uo.waiting?
GAUHAR
Posts: 137
Joined: 2006-11-06 21:45:23

Re: вопрос по вэйтингу

Post by GAUHAR »

Code: Select all

if UO.Waiting() then
   UO.CancelTarget()
endif

Синтакс: ,canceltarget
none uo.canceltarget()
В случае, если инициировано ожидание прицела одной из команд waittarget*, прерывает его и посылает ожидающей функции нулевое значение.
Узнать инициировано ли ожидание можно с помощью Waiting
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Re: вопрос по вэйтингу

Post by volting »

GAUHAR wrote:

Code: Select all

if UO.Waiting() then
   UO.CancelTarget()
endif

Синтакс: ,canceltarget
none uo.canceltarget()
В случае, если инициировано ожидание прицела одной из команд waittarget*, прерывает его и посылает ожидающей функции нулевое значение.
Узнать инициировано ли ожидание можно с помощью Waiting

Так просто системный флуд, Targeting cancelled..

Заметил, что UO.Waiting работает только при 2\6 фк\фкр.. суть в том, что на сервере стоит на каст дополнительная задержка поверх 2\6 500мс, и UO.Waiting просто остонавлиавает любой каст после первого же зажатия.
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Re: вопрос по вэйтингу

Post by Beyonder »

Чего-то ты со скриптом перемудрил... Как я понял, ты хочешь чтобы зажав кнопку оно делало только 1 хил, а не 20.
В таком случае что-то вроде такого:

Code: Select all

Sub castSpellWaiting(spell,target,maxCastTime)
    var lastCastEnds = val(UO.GetGlobal("lastCastEnds"))

    if (UO.Waiting() == false) OR (lastCastEnds == 0) OR (UO.Timer() > lastCastEnds) then
        UO.SetGlobal("lastCastEnds",UO.Timer()+maxCastTime/100)
        UO.Cast(spell,target)
        return true
    else
        return false
    endif
endsub

sub castHealSelf()
    castSpellWaiting('Heal','self',10000) //Сколдует на себя хил, максимальная длительность каста - 10 секунд. Когда пройдёт 10 секунд, либо закончится каст - разрешит снова колдовать хил
endsub
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Re: вопрос по вэйтингу

Post by Destruction »

Beyonder wrote:Чего-то ты со скриптом перемудрил... Как я понял, ты хочешь чтобы зажав кнопку оно делало только 1 хил, а не 20.
В таком случае что-то вроде такого:

Code: Select all

...

А не интереснее определять конец каста по отжиранию маны + сообщению fizzles ?
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Re: вопрос по вэйтингу

Post by Beyonder »

Ну, дык, напиши свой вариант, а человек сравнит какой лучше работает 8)
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Re: вопрос по вэйтингу

Post by volting »

А реально сделать, чтобы пока вэйтинг, он вообще запрещал каст и накладывание таргета, я сделал поменьше 10000 задержку, какбы всё норм, но если я перестаю кастить и кастю другой спел, он неприменно кидается автоматом на меня по Self который запомнился с хила..
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Re: вопрос по вэйтингу

Post by Beyonder »

Попробуй так:

Code: Select all

Sub castSpellWaiting(spell,target,maxCastTime)
    var lastCastEnds = val(UO.GetGlobal("lastCastEnds"))

    if (UO.Waiting() == false) OR (lastCastEnds == 0) OR (UO.Timer() > lastCastEnds) then
        if (UO.Waiting() == true) then
            UO.CancelTarget()
        endif
        UO.SetGlobal("lastCastEnds",UO.Timer()+maxCastTime/100)
        UO.Cast(spell,target)
        return true
    else
        return false
    endif
endsub

sub castHealSelf()
    castSpellWaiting('Heal','self',10000) //Сколдует на себя хил, максимальная длительность каста - 10 секунд. Когда пройдёт 10 секунд, либо закончится каст - разрешит снова колдовать хил
endsub
volting
Posts: 75
Joined: 2008-10-29 17:27:20

Re: вопрос по вэйтингу

Post by volting »

2Beyonder Да, кастит уже более менее отлично. Но проблема с таргетом осталась, если отпускаю раньше чем скастит, таргет остается подвешенным под клиентом, тоесть самого прицела нет, но инжа ждет так сказать, и чтобы я не скастил следующее, оно неприменно полетит в меня, будь то позетивный спел или негативный =)
Post Reply