Open konelav opened 8 years ago
Понимаю боль, но кажется, что эта задача решается банальным #action {/(.+)|(.+) (.+)|(.+)/} ...
вместо необходимости как-то детектить приглашение и делать #onprompt
Гораздо интереснее, кмк, задача определения тика, где от мада приходит просто дополнительно пустая строка, и не всегда можно понять тик по приращению хп, маны, мувиков (в арде)
Например, zMUD выдаёт всё мгновенно по мере получения; JMC ждёт \n или GA или EOR или указанное кол-во миллисекунд; и это правильнее... если б ещё сервер всегда слал цельную строку с GA вместе.
тики -- слишком индивидуальная вещь; в арде-то решается раз плюнуть (после того как ввели "час" в виде числа в промпте), ну а том же аладоне это прям в виде секунд обратного отсчета в промпт включается, много где вообще нет никаких таких тиков.
@konelav напиши плз свою почту
openov_s (gaw) mail (dot) ru
Краеугольный камень MUD'ов, вот проблемы, которые я вижу:
В JMC это всё приводит к необходимости использовать костыль "Uncompleted lines delay" (в MMC и zMUD красивого решения я тоже не увидел).
Пока нарисовалось такое решение:
promptend end-of-prompt-sequence [replace-with]
onprompt prompt-pattern reaction
т.е. интегрально что-то вроде этого:
prompt <%h|%H %m|%M>31415
promptend >31415 >
onprompt {/(.+)|(.+) (.+)|(.+)/} {#var hp %0; #var maxhp %1; #var ma %2; #var maxma %3}