www.mudconnector.su
https://forum.mudconnector.su/

JMC 3.5
https://forum.mudconnector.su/viewtopic.php?f=8&t=203
Страница 1 из 2

Автор:  prool [ Чт авг 26, 2010 6:34 pm ]
Заголовок сообщения:  JMC 3.5

Новые возможности JMC 3.5b

http://jmc.alfuken.net/new

Автор:  konelav [ Вт окт 11, 2016 2:25 am ]
Заголовок сообщения:  Re: JMC 3.5

Обзор нового в 3.7 (и сама она).

https://github.com/konelav/jmc/releases/tag/3710

Автор:  Kalevala [ Чт окт 20, 2016 3:00 pm ]
Заголовок сообщения:  Re: JMC 3.5

Ого, вот это обновление. Большая просьба, можно ли сделать так чтобы приходящая строка из мада отображалась только в положенном окне и не прокручивала основное окно. Что я имею ввиду. В более ранних версиях JMС можно было разбить вывод приходящих строк в разные окна, но при этом в основном окне все равно шла прокрутка на пустую строчку вверх. Так вот можно сделать так чтобы, если строке предназначено выводиться не в основном окне основное не прокручивалось? Скриптами мне эту проблему так и не удалось решить.

Автор:  konelav [ Вс окт 23, 2016 3:29 pm ]
Заголовок сообщения:  Re: JMC 3.5

Если я правильно понял проблему, то она решается одним из двух способов в зависимости от того как именно осуществляется "перенаправление":
1. Если в триггере, то командой #drop:
Код:
#act {/^(\w+) сказал вам: (.*)/} {#woutput 3 {[$TIME] [%0]: %1};#drop}

2. Если в скрипте, то вызовом jmc.DropEvent():
Код:
jmc.RegisterHandler('Incoming', 'var m = jmc.Event.match(/(\w+) сказал вам: (.*)/); if (m !== null) {jmc.wOutput(3, "[" + m[1] + "]: " + m[2]); jmc.DropEvent();}');

Впрочем, тут сойдёт и та же команда #drop:
Код:
...
jmc.Parse(jmc.CommandChar + 'drop');
...


Ранее jmc.DropEvent() в обработчике Incoming работал действительно некорректно, для достижения эффекта приходилось делать jmc.Event = null (https://github.com/nerevar/jmc/issues/40).

Автор:  Kalevala [ Пн окт 24, 2016 12:38 am ]
Заголовок сообщения:  Re: JMC 3.5

Да именно так и пытался решить через код в скрипте:

Код:
   
     jmc.Event="";
     jmc.DropEvent();


Но увы эффекта это не давало. В новом значит работает. Хорошо.

Автор:  Kalevala [ Чт окт 27, 2016 11:47 am ]
Заголовок сообщения:  Re: JMC 3.5

Что-то не работает все же.

Вот такой код в скрипте на событие Incom
Код:
     jmc.woutput(1,"блаблабла","white");
     jmc.DropEvent();


Сообщение выводится в окно, но и в основном окне происходит прокрутка.
Пробовал jmc.Event=null не помогает.

Автор:  konelav [ Пт окт 28, 2016 8:23 pm ]
Заголовок сообщения:  Re: JMC 3.5

Либо я неверно понимаю ситуацию, либо имеет место быть какая-то общая ошибка (например, требуется перерегистрировать COM-сервер ttcoreex.dll, чтобы не использовалась старая версия).

Вот такую проверку делал я:
http://rgho.st/7sDSgjw8v

(там при запуске MUD-эмулятора в режиме чтения из файла test.txt с выполнением RMA-команд часть строк раскидывается по окнам, при этом вывод в основное окно сбрасывается, оно не прокручивается)

Автор:  Kalevala [ Сб окт 29, 2016 2:21 pm ]
Заголовок сообщения:  Re: JMC 3.5

konelav писал(а):
Либо я неверно понимаю ситуацию, либо имеет место быть какая-то общая ошибка (например, требуется перерегистрировать COM-сервер ttcoreex.dll, чтобы не использовалась старая версия).

Вот такую проверку делал я:
http://rgho.st/7sDSgjw8v

(там при запуске MUD-эмулятора в режиме чтения из файла test.txt с выполнением RMA-команд часть строк раскидывается по окнам, при этом вывод в основное окно сбрасывается, оно не прокручивается)


Не, нифига. Сделал regserv32 /u ttcoreex.dll и заново regserv32 ttcoreex.dll не помогло. Удалил в реестре все ссылки на ttcoreex.dll, заново установил старую жабу с версии 3.26 и накатил поверх нее новую. Так как простая regserv32 ttcoreex.dll не помогает, ругается на точку входа. Все равно при перенаправлении сообщения окна идет прокрутка. Пример кстати не скачать. Хром у меня матерится на сайт. Фигня какая-то. Кстати раз уж версия новая пора сделать нормальный инсталятор имхо. Пользователи любят чтобы все устанавливалось тремя нажатиями кнопок.

Автор:  konelav [ Сб окт 29, 2016 2:43 pm ]
Заголовок сообщения:  Re: JMC 3.5

Kalevala писал(а):
Так как простая regserv32 ttcoreex.dll не помогает, ругается на точку входа.

Когда и на что ругается? Это уже не нормально. regsvr32 требуется только для скриптинга, всё остальное должно функционировать изначально просто из факта наличия правильной версии ttcoreex.dll рядом с той же версией jmc.exe.

Kalevala писал(а):
Все равно при перенаправлении сообщения окна идет прокрутка.

Может вы выложите минимальный пример для воспроизведения? (на хостинге или на гитхабе в issues).

Kalevala писал(а):
Кстати раз уж версия новая пора сделать нормальный инсталятор имхо. Пользователи любят чтобы все устанавливалось тремя нажатиями кнопок.

Есть и такие пользователи, которые любят, чтобы реестр загаживался минимально, а полноценная полная копия программы делалась простым копированием файлов %)
Я, например, на флешке жабку имею и запускаю с любого компа всего одной кнопкой.

Автор:  Kalevala [ Сб окт 29, 2016 3:04 pm ]
Заголовок сообщения:  Re: JMC 3.5

Это если мы просто скопировали Jmc и попытались зарегить ttcoreex.dll версия 3.7.1.0 от 11.10.2016.
https://yadi.sk/i/aBNfw80YxnJv9

Собственно сам Jmc конечно работает, скрипты не работают. Вот если установить через старый инсталятор install30.exe версию 3.26 и поверх накатить 3.7 тогда работает, но и прокрутка никуда не денется.

Цитата:
Может вы выложите минимальный пример для воспроизведения? (на хостинге или на гитхабе в issues).


Запись лога или что? Собственно скрипт такой:

Код:
function Incom(){

   var line=jmc.event;
   reg=new RegExp("^-->");
   if(reg.test(line))
   {
     reg.clear;
     reg2=/[|]/g;
     line2=line.replace(reg2,"-");
     jmc.woutput(1,line2,"white");
     jmc.DropEvent();
   }

jmc.RegisterHandler("Incoming","Incom()");


Цитата:
Есть и такие пользователи, которые любят, чтобы реестр загаживался минимально, а полноценная полная копия программы делалась простым копированием файлов %)
Я, например, на флешке жабку имею и запускаю с любого компа всего одной кнопкой.


Думается мне меньшинство таких пользователей. Дистрибутив отдельный точно никому не помешал бы.

Страница 1 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/