Многопользовательский мир АЛАДОН



Страницы: (2) [1] 2   ( Перейти к первому непрочитанному сообщению ) Reply to this topicStart new topic

> Новый JMC, Есть еще энтузиасты )
Калевала
Отправлено: Sep 29 2013, 11:30
Quote Post


Хозяин Хелльстада
******

Группа: Администраторы
Сообщений: 1816
Пользователь №: 55
Регистрация: 15-April 04



Наткнулся вот. Оказывается есть еще люди которые допиливают JMC - если кому интересно то вот http://nerevar.github.io/jmc/


--------------------
Кодерус Аладонус
PMEmail PosterUsers Website
Top
Солост.
Отправлено: Nov 11 2013, 12:00
Quote Post


Ньюб
*

Группа: Участники
Сообщений: 77
Пользователь №: 231
Регистрация: 26-April 04



неревар со сферы допиливает, но у меня к примеру этот клиент крашится при попытке создать лог в какой-либо папке, кроме как в корне игры


--------------------
С уважением, эльф шаман Солост Спящий в Лопухах.
PMEmail Poster
Top
Калевала
Отправлено: Nov 12 2013, 08:58
Quote Post


Хозяин Хелльстада
******

Группа: Администраторы
Сообщений: 1816
Пользователь №: 55
Регистрация: 15-April 04



Если винда от семерки и выше, то есть вариант того, что разрешения на папки не настроены. У меня был большой гимор с одной программой. Она по умолчанию создавала в док энд сеттингс файлы шаблонов для себя при запуске и если не могла этого сделать крэшилась. Вот здесь какой-то подобный вариант возможен.


--------------------
Кодерус Аладонус
PMEmail PosterUsers Website
Top
Калевала
Отправлено: Oct 20 2016, 13:55
Quote Post


Хозяин Хелльстада
******

Группа: Администраторы
Сообщений: 1816
Пользователь №: 55
Регистрация: 15-April 04



Вышла новая версия jmc3.7.1
Судя по описанию прям-таки мегаразработка. Выложен на гитхабе
Тут
https://github.com/konelav/jmc/releases/tag/3710


--------------------
Кодерус Аладонус
PMEmail PosterUsers Website
Top
Фелей
Отправлено: Jul 13 2017, 20:35
Quote Post





Группа: Участники
Сообщений: 20
Пользователь №: 2167
Регистрация: 26-February 09



Если есть какие-нибудь идеи, что можно улучшить в jmc, то пишите. Постараюсь сделать
PMEmail Poster
Top
Калевала
Отправлено: Jul 14 2017, 10:35
Quote Post


Хозяин Хелльстада
******

Группа: Администраторы
Сообщений: 1816
Пользователь №: 55
Регистрация: 15-April 04



1) Вот почему-то у нас при входе есть странный глюк с новой жабой. При входе в игру у меня стоит алиас на ввод типа кодировки 2j. Так вот почему-то алиас мне в новой жабе приходится вводить два раза.

2) Было бы очень неплохо и помогло бы всем, если бы сообщения перенаправляемые из главного окна в дочерние не прокручивали главное окно пустой строкой. Это очень неудобно. Например у меня техническая информация выводится в другое окно, разные чаты так же по двум окнам, но при приходе строк из мада помимо вывода в эти окна главное окно так же прокручивается на количество пришедших строк.


--------------------
Кодерус Аладонус
PMEmail PosterUsers Website
Top
Фелей
Отправлено: Jul 15 2017, 22:08
Quote Post





Группа: Участники
Сообщений: 20
Пользователь №: 2167
Регистрация: 26-February 09



QUOTE
1) Вот почему-то у нас при входе есть странный глюк с новой жабой. При входе в игру у меня стоит алиас на ввод типа кодировки 2j. Так вот почему-то алиас мне в новой жабе приходится вводить два раза.

Исправил.
QUOTE
2) Было бы очень неплохо и помогло бы всем, если бы сообщения перенаправляемые из главного окна в дочерние не прокручивали главное окно пустой строкой. Это очень неудобно. Например у меня техническая информация выводится в другое окно, разные чаты так же по двум окнам, но при приходе строк из мада помимо вывода в эти окна главное окно так же прокручивается на количество пришедших строк.

Это можно сделать и сейчас - в обработке сообщения необходимо организовывать триггер на строку приглашения, в котором дропать строку и убирать триггер на приглашение.
Для упрощения задачи добавил команду #promptdrop, которая позволяет сбросить следующую строку приглашения. Команда работает совместно с #promptend.

Пример использования:
1. Вначале включаем #promptend. Пусть у нас стандартная строка приглашения <10hp 100m 100mv>. Добавляем на конец строки любой случайный код PROMPT <%hhp %mm %vmv>ОЧЕНЬСЛУЧАЙНЫЙКОД<. Теперь строка приглашения выглядит следующим образом <10hp 100m 100mv>ОЧЕНЬСЛУЧАЙНЫЙКОД<. Используем команду #promptend {>ОЧЕНЬСЛУЧАЙНЫЙКОД<}{>}. На главном экране и в логах введенная добавка в к строке приглашения исчезнет и мешать не будет.
2. Вставляем команду #prompdrop во все триггера, где возникает лишняя строка приглашения на главном экране. Например следующим образом #action {/W?(\w+) (болтае|произноси|говори|оре|вопи)(т:?|шь:?) (.*)/}{#woutput 2 {colorcodes} [$TIME]%0 %1%2 %3&w;#promptdrop;#drop} - выведет соответствующие каналы в дополнительное окно без появления строк в основном окне.

Ссылка на версию и там же более подробное описание
https://github.com/Rrahh/jmc/releases/tag/3712
PMEmail Poster
Top
Калевала
Отправлено: Jul 18 2017, 10:01
Quote Post


Хозяин Хелльстада
******

Группа: Администраторы
Сообщений: 1816
Пользователь №: 55
Регистрация: 15-April 04



Фелей, это ужасно неудобно все тригера так переписывать. Непонятно почему нельзя ничего просто не выводить в главное окно, если вывод идет в другие окна?
В текущей версии этого было сделать нельзя. Вот такая конструкция:
jmc.DropEvent(); в скриптах не спасала например.
С #promptend не пробовал, если можно все-таки сделать как написал выше, я бы лучше подождал новой версии.
Вы кстати пишите, если нужна будет какая-то помощь в доработке жабы от нашего сообщества. Поможем чем сможем. :D


--------------------
Кодерус Аладонус
PMEmail PosterUsers Website
Top
Фелей
Отправлено: Jul 18 2017, 18:18
Quote Post





Группа: Участники
Сообщений: 20
Пользователь №: 2167
Регистрация: 26-February 09



QUOTE
Непонятно почему нельзя ничего просто не выводить в главное окно, если вывод идет в другие окна?

Тогда объясните, как представляете алгоритм убирания лишней строчки. Эта строчка выдается сервером, и надо каким-либо образом объяснить жабе, что именно ее надо убрать. Как вариант, можно убрать строку на сервере. Сделать дополнительную настройку как команда "компакт". В этом случае в жабе даже менять ничего не понадобится.
QUOTE
С #promptend не пробовал, если можно все-таки сделать как написал выше, я бы лучше подождал новой версии.

Команда #promptend как раз заточена под автоматическое обнаружение строки приглашения. Мне показалось логичным использовать ее для определения удаляемых строк. Просто добавил дополнительную команду для удаления, вот и все. Могу добавить настройку команды #woutput, чтобы при включении этой настройки #woutput автоматом ставил #promptend. Тогда триггера переписывать не надо, но это кажется некрасивым решением.
Есть еще вариант - обработка события 'Prompt'. При обработке этого события jmc.Event содержит все, что пришло до промпта включительно. Но использование этого события также требует переписывания триггеров.
QUOTE
Вы кстати пишите, если нужна будет какая-то помощь в доработке жабы от нашего сообщества. Поможем чем сможем.

Да я, собственно, и так в нашем сообществе :D
PMEmail Poster
Top
Калевала
Отправлено: Jul 18 2017, 22:22
Quote Post


Хозяин Хелльстада
******

Группа: Администраторы
Сообщений: 1816
Пользователь №: 55
Регистрация: 15-April 04



QUOTE

Тогда объясните, как представляете алгоритм убирания лишней строчки. Эта строчка выдается сервером, и надо каким-либо образом объяснить жабе, что именно ее надо убрать. Как вариант, можно убрать строку на сервере. Сделать дополнительную настройку как команда "компакт". В этом случае в жабе даже менять ничего не понадобится.

Ну я код жабы не ковырял. Однажды посмотрел, разбираться долго и не стал. В целом вот вопрос #woutput как-то ведь определяется жабой. То есть программа понимает, что нужно выводить ту или иную строку в другое окно.. хотя я понял в чем проблема. Промпт должен обновляться... понятно. А может быть сделать некий шаблон для промпта наподобии того как он задается в маде? В большинстве русскоязычных мадов набор выводимого в промпте ограничен. Так может сделать специальное окошечко с подокошечками или просто строкой куда бы выводился чисто промпт, а в главное окно его вообще не выводить и тогда не будет требоваться и прокрутка окна. Увидели, что сообщение выводится в другое окно - вывели. А промпт обновили в спецокошке, в главное окно ничего не выводим. Или это будет сложновато?
QUOTE

Команда #promptend как раз заточена под автоматическое обнаружение строки приглашения. Мне показалось логичным использовать ее для определения удаляемых строк. Просто добавил дополнительную команду для удаления, вот и все. Могу добавить настройку команды #woutput, чтобы при включении этой настройки #woutput автоматом ставил #promptend. Тогда триггера переписывать не надо, но это кажется некрасивым решением.
Есть еще вариант - обработка события 'Prompt'. При обработке этого события jmc.Event содержит все, что пришло до промпта включительно. Но использование этого события также требует переписывания триггеров.

Ну не знаю. Попробую.


--------------------
Кодерус Аладонус
PMEmail PosterUsers Website
Top
Фелей
Отправлено: Jul 18 2017, 22:37
Quote Post





Группа: Участники
Сообщений: 20
Пользователь №: 2167
Регистрация: 26-February 09



QUOTE
В целом вот вопрос #woutput как-то ведь определяется жабой

Это ее внутренняя команда, такая же как #drop, #promptend, и т.д. Думаю, некорректно сравнивать ее с определением строки приходящей с сервера. #woutput просто выдает, что у нее указано в аргументах. Она не сама эти аргументы формирует и определяет что и куда перенести. Это задает ей пользователь в ходе анализа входной строки.
QUOTE
А может быть сделать некий шаблон для промпта наподобии того как он задается в маде?

Команда #promptend для этого и сделана
QUOTE
Так может сделать специальное окошечко с подокошечками или просто строкой куда бы выводился чисто промпт, а в главное окно его вообще не выводить и тогда не будет требоваться и прокрутка окна. Увидели, что сообщение выводится в другое окно - вывели. А промпт обновили в спецокошке, в главное окно ничего не выводим. Или это будет сложновато?

Это сделать очень просто. Вот только не хотелось бы нарушить совместимость с другими мадами. Завтра попробую сделать, посмотрим что получится
PMEmail Poster
Top
Калевала
Отправлено: Jul 19 2017, 08:13
Quote Post


Хозяин Хелльстада
******

Группа: Администраторы
Сообщений: 1816
Пользователь №: 55
Регистрация: 15-April 04



QUOTE (Фелей @ Jul 18 2017, 22:37)
QUOTE
В целом вот вопрос #woutput как-то ведь определяется жабой

Это ее внутренняя команда, такая же как #drop, #promptend, и т.д. Думаю, некорректно сравнивать ее с определением строки приходящей с сервера. #woutput просто выдает, что у нее указано в аргументах. Она не сама эти аргументы формирует и определяет что и куда перенести. Это задает ей пользователь в ходе анализа входной строки.
QUOTE
А может быть сделать некий шаблон для промпта наподобии того как он задается в маде?

Команда #promptend для этого и сделана
QUOTE
Так может сделать специальное окошечко с подокошечками или просто строкой куда бы выводился чисто промпт, а в главное окно его вообще не выводить и тогда не будет требоваться и прокрутка окна. Увидели, что сообщение выводится в другое окно - вывели. А промпт обновили в спецокошке, в главное окно ничего не выводим. Или это будет сложновато?

Это сделать очень просто. Вот только не хотелось бы нарушить совместимость с другими мадами. Завтра попробую сделать, посмотрим что получится

Да нет, совместимость разрушать не надо. Надо задать шаблон промпта ну допустим
<%1h %2m %3v> Вместо v,m,h, <,> могут быть любые другие знаки. Нам ведь нужно выдернуть только %1,%2,%3. И пусть пользователь укажет куда ему это надо выводить. В любом маде эта строка присутствует так или иначе.


--------------------
Кодерус Аладонус
PMEmail PosterUsers Website
Top
Калевала
Отправлено: Jul 19 2017, 08:17
Quote Post


Хозяин Хелльстада
******

Группа: Администраторы
Сообщений: 1816
Пользователь №: 55
Регистрация: 15-April 04



И по возможности конечно сделать эту именно опцией, типа хочет юзер включает, не хочет все как обычно.


--------------------
Кодерус Аладонус
PMEmail PosterUsers Website
Top
Фелей
Отправлено: Jul 19 2017, 19:08
Quote Post





Группа: Участники
Сообщений: 20
Пользователь №: 2167
Регистрация: 26-February 09



QUOTE
Так может сделать специальное окошечко с подокошечками или просто строкой куда бы выводился чисто промпт, а в главное окно его вообще не выводить и тогда не будет требоваться и прокрутка окна.

Попробовал реализовать переносом обнаруженных строк промпта в отдельное окно. Получилось очень некрасиво. Во время сна строки приходят двойные, иногда в одной строке с промптом приходит еще что-нибудь, и оно тоже выводится. Если делать с использованием шаблона, то не понятно зачем что-то дорабатывать - такой функционал уже существует. Можно использовать как встроенные скрипты, так и внешние. Например, простейший триггер на перенос всех промптов в отдельное окно с удалением его из главного:
#action TEXT {/<(\d+)hp (\d+)m (\d+)mv>\((\d+)\)/}{#drop;#woutput 3 {colorcodes} &c<&G%0&chp &C%1&cm &y%2&cmv>(&p%3&c)}
Действует на строку приглашения <*hp *m *mv>(*). Если строка другая, то соответственно надо изменить шаблон триггера.
В результате на главном окне не остается ни одной строчки промпта. Они аккуратно, без искажений выводятся в отдельное окно. В обработчике триггера можно добавить вызов функции с параметрами количества жизни, маны и т.д. для какой-либо дальнейшей автоматизации. В главном окне в нижней строчке выводится самый последний промпт, при поступлении нового сообщения с сервера он исчезает, а внизу появляется уже новая строка промпта. Кстати, довольно забавно смотрится.
Есть недостаток - если какая либо информация приходит на той же строке что и промпт, то она бесследно исчезает. Но для обработки каналов общения можно слегка модифицировать следующим образом:
QUOTE
Это можно сделать и сейчас - в обработке сообщения необходимо организовывать триггер на строку приглашения, в котором дропать строку и убирать триггер на приглашение.

Почти тоже самое, только триггер висит всегда, а по приходу сообщения выставлять дополнительную переменную в единицу. В триггере обработки промпта проверять переменную, и, сли она больше единицы, дропать строку и уменьшать переменную. Это тоже самое, что делает #promptdrop. В этом случае вероятность потерять важную информацию незначительна.

Это сообщение отредактировал Фелей - Jul 19 2017, 19:09
PMEmail Poster
Top
Калевала
Отправлено: Jul 19 2017, 21:03
Quote Post


Хозяин Хелльстада
******

Группа: Администраторы
Сообщений: 1816
Пользователь №: 55
Регистрация: 15-April 04



Пффф. Жаль. С промптэндом кстати нифига не вышло. Прокрутка осталась, да еще сам промпт просто стал пропадать временами.
Прокрутка в главном окне ужасно бесит ибо для разработки приходит тупо выключать вывод техинфо из мада, что неудобно совсем. Ну ладно, значит будем жить по старинке.


--------------------
Кодерус Аладонус
PMEmail PosterUsers Website
Top
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Страницы: (2) [1] 2  Reply to this topicStart new topic

 



[ Script Execution time: 0.0403 ]   [ 13 queries used ]   [ GZIP включён ]