Page 1 of 1

как победить?

Posted: 2005-03-10 12:27:19
by MazaFaka
проблемма в том что сообщения над головой чара появляются с задержкой! действие произведено а сообщение тока появилось!как сделать что бы реагирование на сообщения как бы условно были вовремя?

wait () не предлогать ! пройденый этап

Posted: 2005-03-10 12:29:56
by I'm
А можно еще раз но попонятнее?

Posted: 2005-03-10 12:42:05
by MazaFaka
скрипт следит за сообщениями которые появляются. те сообщения которые появляются над головой идут с задержкой - следовательно и действие чара происходят с задержкой

Posted: 2005-03-10 12:47:42
by MazaFaka
и ещё !!!!!!!!!!
как отслеживать сообщения того на ком весит таргет???????????

Posted: 2005-03-11 14:58:21
by Edred
MazaFaka wrote:и ещё !!!!!!!!!!
как отслеживать сообщения того на ком весит таргет???????????


Взять имя этого чара по UO.GetName( 'lasttarget' ) и искать в журнале все сообщения которые начинаются с "имя:"

Posted: 2005-03-11 15:00:43
by Kurtuteci
A ne leg4e prosta v igre : Options - Display - Adjust how long speech remains on screen. I stavi6 tam hotj 5000, 4tobi soobs4enija nad golovoj na pol 4asa zavisali :D

Posted: 2005-03-12 21:53:51
by J17
Edred wrote:Взять имя этого чара по UO.GetName( 'lasttarget' ) и искать в журнале все сообщения которые начинаются с "имя:"

Не прокатит, т.к. сообщения чаров в журнале не предваряются "имя:", по крайней мере на последней версии - 501.?? (4VI).

Posted: 2005-03-14 11:44:24
by MazaFaka
проверка на имя работает ! но как сделать так что бы он следил за сообщениями ника того чара на которого кинут таргет(lasttarget) ?

Posted: 2005-03-14 11:53:14
by J17
Единственное, что приходит в голову - это цикл по журналу.

Code: Select all

var i
var msg
var target = UO.GetSerial('lasttarget')
for i = 0 to 100
    if UO.JournalSerial(i) == target then
        msg = UO.Journal(i)
        # В переменной msg будет сообщение от lasttarget.
        ... # обработка сообщения
    endif
next
UO.DeleteJournal()

Posted: 2005-03-14 23:00:55
by MazaFaka
а теперь с самого начала и попдробнее для тупых:oops:
прошу пример скрипта:

sub abc()
while

если Lasttarget сказал "а"

то мой чар ответил "Б"

wend
end sub

с уважением .......

Posted: 2005-03-15 09:57:36
by J17

Code: Select all

sub abc()
    var i
    var msg
    var target = UO.GetSerial('lasttarget')
    while 1
        for i = 0 to 100
            if UO.JournalSerial(i) == target then
                msg = UO.Journal(i)
                if msg == 'a' then
                    UO.Say('Б')
                endif
            endif
        next
        UO.DeleteJournal()
        Wait(100) # Если убрать эту задержку, УО повиснет! :)
    wend
end sub

Posted: 2005-03-15 10:28:27
by MazaFaka
за паузу в курсе! а за скрипт огромное спасибо