Page 1 of 1

Авто стрелка

Posted: 2008-08-18 12:31:14
by Noar
Добрый день. Нужно по править уникальный скрипт на авто стрелку. Счас я обясню как она работает. Если тебя кинули в парализ, то ты не можешь двигаться и на сервере которым я играю сразу же пишется это предложение.

You are frozen and can not move.

И по скрипту, сразу же стреляется на тебя стрелка. Только проблема в том, что даже если это предложение напишет любой игрок, не в зависимости в парализе ли ты, на тебя тоже сразу же стрельнится стрелка. :cry:

Можно ли как то под править этот скрипт, чтобы стрелка на себя кидалась только если ты в парализе? Пожалуйста, помогите господа скриптеры. А вот и сам скрипт

В поиске искал, но таких уникальных скриптов на этом сайте не нашел.

Code: Select all

sub Strela() 
uo.deletejournal()
repeat
if uo.injournal("You are frozen and can not move.") then
uo.cast('Magic Arrow','self')
wait(100)
uo.msg(" ")
uo.msg(" ")
uo.msg(" ")
wait(2000)
uo.deletejournal()
endif
wait(100)
until false
endsub

Posted: 2008-08-18 15:37:40
by Scripts Writer
Проверять ID того, кто послал сообщение. (Либо только на твои сообщения реагировать, либо на серверные)

Posted: 2008-08-18 16:05:29
by Noar
Scripts Writer wrote:Проверять ID того, кто послал сообщение. (Либо только на твои сообщения реагировать, либо на серверные)

Можно как то сделать, чтобы скрипт только реагировал на эту надпись? На You are frozen and can not move. которую выдает мне сервер тогда, когда я в парализе?

И если игроки пишут эту надпись, скрипт бы не реагировал.

Posted: 2008-08-18 16:38:41
by Scripts Writer
Описание: JournalSerial •

Синтакс: object uo.JournalSerial(number)
Тема: Команды скриптов Ключевые слова: uoscript, objhandling, journal

Возвращает сериал обьекта object связаного со строкой журнала номер number. Обычно это обьект, который произнёс данную строку. Системные сообщения имеют обычно сериал 0x01010101. Для чтения данной строки используется Journal.

Так как функция Injournal возвращает номер строки в журнале +1, то можно воспользоваться например подобной комбинацией:
var name=uo.GetName(uo.JournalSerial(uo.InJournal("хавчик")-1))
if name<>"" then
uo.print(name+", хочешь кушать? :)")
...