• avatar prool
  • 0
Куда?

А alt-tab тоже перехватывается?
Можно. Смотря какие команды туда забить.
  • avatar prool
  • 0
а если нажать poweroff, выключается компьютер :)

это я к тому, что shift пять раз вроде как нельзя перехватить
Да, ожидаемо, что там еще многое далеко от идеала. Терран отдал мне что у него было на тот момент, с целью дальнейшей интеграции.
Очень круто! Но есть шероховатости. Нажатие клавиши ALT вызывает появление/исчезновение строки меню в браузере, выглядит не комильфо. А если нажать клавишу SHIFT пять раз, то в винде включается режим залипания клавиш.
Гитхаб и новости из мира теперь спамят в #dreamland, новости также спамят в #mud.
По мотивам воздвигла пост о том как использовать вебхуки.
Готово :)
Отлично, а можно попросить добавить для канала #muds webhook, как описано тут: support.discordapp.com/hc/en-us/articles/228383668?
Я тогда настрою, чтобы туда постились новости из мира.
И еще просьба, если планируется поддерживать каналы для индивидульных мадов, создать #dreamland и для него тоже webhook.
Я подключу его к нашим github репозиториям и туда будут автоматом попадать обновления по сайту и клиенту. Спамить это в общий канал как-то не хочется.
  • avatar vaysa
  • 0
скажите Алисе от яндекса «Запусти навык квест про космос»
Это на планшете так выглядит? У меня на телефоне немного по другому.
Прямо вылитый BlowTorch, потом в качестве мобильного приложения можете выпустить клиент.
Угу, толковое замечание, добавила ссылки в каждый пост.
Внизу каждого поста выставлены теги, нажимая на которые появляются все топики по теме. В них есть все необходимые адреса.

Также все известные нам русскоязычные мады представлены на специальной страничке, опять же с тегами http://muder.ru/page/muds/.

Искать так будет проще, чем через Гугл.
Классно :D Единственное — мейби имеет смысл в каждый пост по клиенту внизу давать на него ссылки, чтобы люди, которые недавно о нем узнали, могли понять что это… что-то типа:
dreamland.rocks/ — МАД, где это работает
github.com/filths/mudjs — гит с исходниками
а то пришлось гуглить, а в гугле не находится сразу, только через мад-коннекттор
Разумеется это настраивается через 'режим имяпредмета'.

Годно. Но, имхо, лучше по дефолту, чтобы отображались по русски.
Возможно выбор не верный,
Если вы делаете проект для себя, just for fun, то разницы никакой нет.
а я как наивный албанец оставался с поломанным проектом

Пишите или поддерживайте библиотеки сами, если там после обновления что-то ломается, то это обычно легко починить. Самому часто приходилось так делать.
  • avatar vaysa
  • 0
Привет! Спасибо за интерес к проекту!
Возможно выбор не верный, но это всего лишь прототип, который создается что бы наглядно продемонстрировать proof of concept

Вот некоторые мои _личные_ моменты, из-за которых выбор произошел в сторону баш, если кому интересно:
на каком бы языке не приходилось вести разработку, всегда было лень изобретать велосипеды и естественно находил и подключал готовые библиотеки, где все было продумано за меня (как мне на тот момент казалось), но в случае долгоиграющего проекта, спустя годы, разрабы библиотек, которые я использовал, забивали на них. С двумя вариантами уже не раз сталкивался — либо просто забросили и с выходом новых версий языка их либа утрачивала совместимость, либо в их либах находили кучи критических уязвимостей, тогда они тупо бросали поддержку и начинали новую версию почти с нуля без обратной совместимости, а я как наивный албанец оставался с поломанным проектом и чувством что меня кинули =) и приходилось вникать в чужой код и пачить его, что не всегда получалось сделать грамотно и на что уходила куча времени.
К примеру по этой причине в основном умер мой MUD мир писаный на ruby. Ruby выбрал потому что тогда он был простой платформой для сверхскоростной разработки с кучей gem'ов на все случаи жизни, язык был модным (как сейчас nodejs) и позволял любую прихоть реализовать в короткие сроки. С такой же ситуацией столкнулся в другом проекте на PHP и либами из PEAR… Еще недавно увидел похожую ситуацию с nodejs, где нужные библиотеки не имели совместимости с новыми версиями языка.
Сейчас это кажется ерундой, типа — выбирай нужную версию в докере и не парься, но что-то мне подсказывает, что через 10 лет эту версию днем с огнем не сыщешь особенно в бинарном виде, совместимым с современной ОС.

А когда узнал что некоторые извращуги пишут на баше, стало интересно зачем?! И понял что они не совсем извращенцы потому, что им в свою очередь приходится опираться только на сверхнадежные программные решения, которые существуют и работают без сбоев десятилетиями и почти не меняются.

Еще баш стал более кроссплатформенным, когда в win10 появилась linux прослойка.
Сейчас, для того что бы запустить прототип, не надо ничего компилить или устанавливать библиотеки — почти все используемые команды есть в системе по умолчанию и не нужно быть программистом — любой админ поймет, что в коде творится.

Конечно скорее всего, если проект будет развиваться и ему посчастливится работать под высокой нагрузкой, то для оптимизации узких мест в производительности придется дописывать утилиты на си
К примеру, вам нужно добавить автоматическое склонение имен. В nodejs я просто добавил библиотеку и написал пару строк кода. У вас же это все займет несколько больше времени.
Это очень удачный выбор задачи — склонение имен — которая не имеет непосредственного отношения к специфики мадов и поэтому есть шанс, что ее решили где-то в библиотеках. Большинство задач всё же не такие.
Что касается склонений, ну я взяла перловую либу, которая делает склонения, и за обеденный перерыв переписала ее на феню.
Тогда может быть какой-нибудь режим сделать ?
Разумеется это настраивается через 'режим имяпредмета'. Равно как и язык отображения названий команд, умений и имен.
Но помимо этого, еще есть не до конца переведенные сообщения и зоны, над этим работаем.

Так если вся игровая логика написана на скриптовом языке, API не нужно расширять.
Кто сказал что вся игровая логика на скриптовом языке? Там ниже Филдс привел статистику, сколько строк кода на С++ и сколько на Фене.
Если в Фене написать что-то типа: ch.profession.name — должен быть соответствующий кусок кода на С++, который обернет нативный класс Character и предоставит read/write доступ к его полю profession, а также обернет сам нативный класс Profession и даст доступ к полю name. Вот именно это и имеется в виду когда говорят «расширение API»: предоставить из Фени доступ к нативным классам, их полям и методам.
только на то чтоб сохранить все мобы и предметы с помощью какого-нибудь pickle уйдет значительно больше времени

Ну уйдет несколько минут, и игровой мир откатится на несколько минут в случае краша. Не думаю, что краши частое явление у вас.
если нет возможности получить список измененных с прошлой итерации объектов.

Я думаю, что было понятно, что из коробки все это сразу работать не будет, надо будет кое-что допилить.
Тупо не работает.

В остальных мадах такая схема работает. Ксерокопирование шмоток в былинах фиксится с помощью уникальных id.
Если не нравится хранить состояние мада в файле, можно хранить в базе данных считывая/записывая отдельно каждый объект по мере необходимости (как в браузерных играх).