nerevar / jmc

JMC - Jaba Mud Client
25 stars 15 forks source link

Работа с приглашением #56

Open konelav opened 8 years ago

konelav commented 8 years ago

Краеугольный камень MUD'ов, вот проблемы, которые я вижу:

В JMC это всё приводит к необходимости использовать костыль "Uncompleted lines delay" (в MMC и zMUD красивого решения я тоже не увидел).

Пока нарисовалось такое решение:

promptend end-of-prompt-sequence [replace-with]

т.е. интегрально что-то вроде этого:

prompt <%h|%H %m|%M>31415

promptend >31415 >

onprompt {/(.+)|(.+) (.+)|(.+)/} {#var hp %0; #var maxhp %1; #var ma %2; #var maxma %3}

nerevar commented 8 years ago

Понимаю боль, но кажется, что эта задача решается банальным #action {/(.+)|(.+) (.+)|(.+)/} ... вместо необходимости как-то детектить приглашение и делать #onprompt

nerevar commented 8 years ago

Гораздо интереснее, кмк, задача определения тика, где от мада приходит просто дополнительно пустая строка, и не всегда можно понять тик по приращению хп, маны, мувиков (в арде)

konelav commented 8 years ago

onprompt -- это бантик, суть проблемы не в самом паттерне (хотя есть крошечные плюсики выделения отдельного триггера: капелька секурности и щепотка скорости); да фиг бы с триггером, суть проблемы именно в выделении строки для отображения юзеру (а также обработки ну хотя бы тем же action'ом и генерации скриптового события) именно тогда, когда строка пришла (а не через "Uncompleted lines delay" миллисекунд).

Например, zMUD выдаёт всё мгновенно по мере получения; JMC ждёт \n или GA или EOR или указанное кол-во миллисекунд; и это правильнее... если б ещё сервер всегда слал цельную строку с GA вместе.

тики -- слишком индивидуальная вещь; в арде-то решается раз плюнуть (после того как ввели "час" в виде числа в промпте), ну а том же аладоне это прям в виде секунд обратного отсчета в промпт включается, много где вообще нет никаких таких тиков.

nerevar commented 8 years ago

@konelav напиши плз свою почту

konelav commented 8 years ago

openov_s (gaw) mail (dot) ru