www.mudconnector.su

Национальный мадконнектор.
Текущее время: Ср сен 29, 2021 12:13 am

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: DreamLand
СообщениеДобавлено: Пт июл 13, 2018 3:17 am 
Не в сети

Зарегистрирован: Ср май 28, 2008 5:33 am
Сообщений: 77
Откуда: DreamLand
(репост с muder.ru)

Очередной «концептуальный прорыв» в вебклиенте. У всех предметов по нажатию на них появляется выпадающее меню, в котором перечисленым команды, которые можно проделать с этим предметом. По нажатию на пункт меню команда попытается выполниться (попытается — т.к. с тех пор предмет мог уже изменить свое местоположение или исчезнуть).

Меню зависит от типа и положения предмета, например:
* для предмета внутри контейнера виден будет только пункт «взять»
* для большиства предметов на полу или в инвентаре: «бросить» или «взять», «смотреть», «использовать»
* для мебели на полу будет видно «сесть, лечь, отдыхать» в зависимости от типа мебели
* для фонтана меню будет содержать «пить, наполнить», для бочонков — «пить, вылить»
* для вещей в инвентаре также видет пункт «легенды», если это умение доступно
* ворам виден пункт меню «украсть» на предмет в чужом инвентаре
* и так далее

С технической точки зрения это реализовано путем добавления специальных псевдо-тегов разметки вокруг каждого предмета. Если вывод происходит не в вебсокет, а в обычное соединение, эти теги не посылаются. Вебклиент обрабатывает эти теги и превращает их в стандартное dropdown-menu из Bootstrap.

Пример для предмета в инвентаре:
<m c=«бросить $, надеть $, смотреть $, использовать $, легенды $» id=«1773732900»>хитрость лаеркаи</m>
Для компактности символ $ будет заменен на стороне клиента на id предмета.
ID используется в качестве аргумента для однозначности, т.к. иначе для предметов с одинаковым названием пришлось бы вычислять это 3.бочонок или 2.бочонок, при том что с тех пор позиция в инвентаре могла поменяться, и команда в итоге выполнится с не тем предметом.

Аналогично теперь идет работа и с цветами, т.е. вебклиент больше не парсит ANSI-последовательности, а работает с псевдотегами <c c='fgbg'>ярко-зеленое сообщение</c>, превращая их в <span class='fgbg'>.

Предмет в комнате - фонтан:
Изображение

Предмет в комнате - мебель:
Изображение

Предмет в инвентаре - емкость для жидкости:
Изображение

Предмет внутри контейнера:
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: DreamLand
СообщениеДобавлено: Пн июл 16, 2018 1:53 pm 
Не в сети

Зарегистрирован: Ср май 28, 2008 5:33 am
Сообщений: 77
Откуда: DreamLand
(репост с muder.ru)

В качестве эксперимента присобачили панель с кнопками перемещения, а также командами 'смотреть', 'оглядеться', 'где'.
На скриншоте кнопка команды 'где' нажата, поэтому подсвечена серым. Панель навигации видна только для маленьких экранов (как только исчезает правая панель, появляется эта).

Изображение
Еще есть шероховатости с обработкой кликов, посмотрим дальше, оставлять как есть или переделывать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: DreamLand
СообщениеДобавлено: Пн июл 16, 2018 1:56 pm 
Не в сети

Зарегистрирован: Ср май 28, 2008 5:33 am
Сообщений: 77
Откуда: DreamLand
(репост с muder.ru)

За последнее время меню было расширено новыми командами, также перестали выводиться команды, не имеющие особого смысла в данном контексте.
Например, если нету специфического поведения, не покажется пункт «использовать», а если предмет не звучит или не имеет запаха, не будет команд «слушать» и «нюхать» соответственно.
Команды, доступные только в этой комнате, отделяются от основного меню чертой. Пример — команды доступные рядом с продавцом или ремонтником.
Изображение

Меню также выводится для предметов в магазине, позволяя купить или узнать свойства.

Изображение

Дальше в планах:
* доработать недостающие команды для предметов и отловить глюки
* добавить похожее меню для персонажей и мобов
* сделать гиперссылки для справки, списков умений и экстра-описаний
* продумать какие пункты меню могли бы присутствовать в комнатах

Ссылки: https://dreamland.rocks/mudjs клиент в действии, https://github.com/filths/mudjs/tree/dreamland исходники клиента


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: DreamLand
СообщениеДобавлено: Вс авг 05, 2018 10:36 am 
Не в сети

Зарегистрирован: Ср май 28, 2008 5:33 am
Сообщений: 77
Откуда: DreamLand
(репост с muder.ru)

Вот как выглядит теперь правая панель состояний веб-клиента, когда все окна видны и развернуты. Новые окна — кто в мире, параметры персонажа, инфа о заданиях квестора. Всё сворачивается-разворачивается по клику на заголовок и показывает контекстную подсказу по клику на само окно

Изображение

Ссылки: клиент в действии https://dreamland.rocks/mudjs/
исходники клиента https://github.com/dreamland-mud/mudjs


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron