Yoko
http://forum.yoko.com.ua/

вопрос по вэйтингу
http://forum.yoko.com.ua/viewtopic.php?f=1&t=15088
Page 1 of 1

Author:  volting [ 2009-09-11 20:50:48 ]
Post subject:  вопрос по вэйтингу

по какой системе работает команда UO.waiting() И можно ли менять её тайминг?

Author:  Kynep [ 2009-09-11 20:56:13 ]
Post subject:  Re: вопрос по вэйтингу

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

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

Определяет, установлена ли ловушка прицела одной из команд wait*, например waittargetobject, или например cast 'Flame Strike' laststatus

Author:  volting [ 2009-09-11 21:01:49 ]
Post subject: 

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

Author:  Kynep [ 2009-09-11 21:05:23 ]
Post subject: 

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

А подробнее?

Author:  volting [ 2009-09-11 21:09:14 ]
Post subject: 

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'ом или чемнить еще...

Author:  volting [ 2010-05-18 21:30:41 ]
Post subject:  Re: вопрос по вэйтингу

Проблема еще актуальна, всё также хочу знать, как определяется, сколько будет инжа ждать прицела от клиента, командой uo.waiting?

Author:  GAUHAR [ 2010-05-18 21:59:26 ]
Post subject:  Re: вопрос по вэйтингу

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

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

Author:  volting [ 2010-05-18 23:23:26 ]
Post subject:  Re: вопрос по вэйтингу

GAUHAR wrote:
Code:
if UO.Waiting() then
   UO.CancelTarget()
endif

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

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

Заметил, что UO.Waiting работает только при 2\6 фк\фкр.. суть в том, что на сервере стоит на каст дополнительная задержка поверх 2\6 500мс, и UO.Waiting просто остонавлиавает любой каст после первого же зажатия.

Author:  Beyonder [ 2010-05-19 10:38:10 ]
Post subject:  Re: вопрос по вэйтингу

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

Code:
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

Author:  Destruction [ 2010-05-19 11:47:06 ]
Post subject:  Re: вопрос по вэйтингу

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

Code:
...

А не интереснее определять конец каста по отжиранию маны + сообщению fizzles ?

Author:  Beyonder [ 2010-05-19 12:04:56 ]
Post subject:  Re: вопрос по вэйтингу

Ну, дык, напиши свой вариант, а человек сравнит какой лучше работает 8)

Author:  volting [ 2010-05-19 23:20:28 ]
Post subject:  Re: вопрос по вэйтингу

А реально сделать, чтобы пока вэйтинг, он вообще запрещал каст и накладывание таргета, я сделал поменьше 10000 задержку, какбы всё норм, но если я перестаю кастить и кастю другой спел, он неприменно кидается автоматом на меня по Self который запомнился с хила..

Author:  Beyonder [ 2010-05-20 08:41:39 ]
Post subject:  Re: вопрос по вэйтингу

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

Code:
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

Author:  volting [ 2010-05-20 09:24:49 ]
Post subject:  Re: вопрос по вэйтингу

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

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/