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



Страницы: (7) 1 2 3 4 ... Последняя »  ( Перейти к первому непрочитанному сообщению ) Reply to this topicStart new topic

> Новый JMC, Есть еще энтузиасты )
Фелей
Отправлено: Aug 22 2017, 23:36
Quote Post


Ньюб
*

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



Сделал два варианта - через встроенные скрипты и через внешние. Вывод везде в шестое дополнительное окно, которое необходимо самостоятельно открыть через меню.

Через встроенные скрипты:

CODE

#action COLOR {/^(&W\+&D-+&W\+) *(.*)/}={#if {$MMState==1}{#var MMState 0;#unaction {/^(&D\\|.*[&D]?\\|) *(.*)/}}{#var MMState 1;#wclear 6;#action {/.*/}{#var MMState 0;#unaction {/.*/}}{9};#action COLOR {/^(&D\|.*[&D]?\|) *(.*)/}{#woutput 6 {colorcodes} %0;#drop;#strcmp {%1} {} {}{#s jmc.ShowMe(jmc.FromColored('%1'))}}};#woutput 6 {colorcodes} %0;#drop;#strcmp {%1} {} {}{#s jmc.ShowMe(jmc.FromColored('%1'))}}


Просто скопировать и вставить в жабу. Есть неприятный момент - необходимо отключить вывод сообщений о присвоении переменной (#message var off), а иначе будет постоянно вылазить сообщение о смене значения переменной.

Через внешние скрипты:

CODE

var MMState=0;
var MapWindow=6; //Номер окна для вывода карты
var reg=/^(&W\+&D-+&W\+) *(.*)/; //Шаблон для начала и конца карты
var reg2=/^(&D\|.*[&D]?\|) *(.*)/;
var StrNum=0; //Для форматирования описания как без карты

function MapMove(){
var line=jmc.ToColored(jmc.event);
if(reg.test(line)){
if(MMState==0)jmc.Parse("#wclear "+MapWindow);
if(MMState==1)StrNum=0;
var m=reg.exec(line);
MMState=1-MMState; //При усложнении машины состояний заменить на case
jmc.woutput(MapWindow,jmc.FromColored(m[1]));
if(m[2]!="")jmc.ShowMe(jmc.FromColored(m[2]));
jmc.DropEvent();
}
else if(MMState){
if (reg2.test(line)){
StrNum=StrNum+1;
var m=reg2.exec(line);
jmc.woutput(MapWindow,jmc.FromColored(m[1]));
if(m[2]!="")
if(StrNum==1)jmc.ShowMe(jmc.FromColored("    "+m[2])); //Название клетки
else if(StrNum==2)jmc.ShowMe(jmc.FromColored("  "+m[2]));
else jmc.ShowMe(jmc.FromColored(m[2]));
jmc.DropEvent();
}
else{
MMState=0; //Если должна быть карта, а рамки нет, то сбрасываемся
}
}
}

jmc.RegisterHandler('Incoming','MapMove()');


Вставить код в текстовый файл, сохранить, и загрузить через Меню->Опции->Объекты JMC->Файлы скриптов

Работают почти одинаково, но развивать второй вариант куда проще. Например, во втором варианте добавил форматирование выводимого описания как при отсутствии карты.

Это сообщение отредактировал Фелей - Aug 22 2017, 23:37
PMEmail Poster
Top
хартэр
Отправлено: Aug 23 2017, 18:43
Quote Post


Мидл
***

Группа: Участники
Сообщений: 192
Пользователь №: 888
Регистрация: 20-December 04



у 2 варианта
Ошибка скриптов JMC
(null)
(null)
Строка:34 Ошибка:0 Scode:8002801d


--------------------
Нас невозможно сбить с пути.
Нам пофигу куда идти.
PMEmail PosterICQAOLYahooMSN
Top
Фелей
Отправлено: Aug 23 2017, 19:10
Quote Post


Ньюб
*

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



Похоже, просто не подключены внешние скрипты. Надо выполнить следующие действия:
1. Запустить ttcoreex.bat, который лежит в каталоге жабы.
2. Выбрать Java Script. Это в Меню->Опции->Настройки->Скрипты. Должно быть установлено в JScript.

P.S. : Если не поможет, то попробуй запустить ttcoreex.bat от администратора. Этот файл я менял на автоматический запрос привилегий, но тестировал только на своем компьютере - мог упустить ошибки.

Это сообщение отредактировал Фелей - Aug 23 2017, 19:13
PMEmail Poster
Top
хартэр
Отправлено: Aug 23 2017, 19:13
Quote Post


Мидл
***

Группа: Участники
Сообщений: 192
Пользователь №: 888
Регистрация: 20-December 04



Во, большое Хоббитское пасиба :)


--------------------
Нас невозможно сбить с пути.
Нам пофигу куда идти.
PMEmail PosterICQAOLYahooMSN
Top
Фелей
Отправлено: Aug 23 2017, 19:20
Quote Post


Ньюб
*

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



Пожалуйста:)

Если будут какие-либо ошибки или предложения, то можно сюда о них написать - поправлю.
PMEmail Poster
Top
Ауст
Отправлено: Aug 24 2017, 08:29
Quote Post


Ньюб
*

Группа: Участники
Сообщений: 33
Пользователь №: 1136
Регистрация: 13-June 05



Сделай пожалуйста так чтоб размер output main window не мог равняться нулю, а то каждый раз плююсь поднимая его до конца и вспоминая что теперь прийдет править jmc.ini и перезапускать клиент

Это сообщение отредактировал Ауст - Aug 24 2017, 08:30


--------------------
Иной
PMEmail PosterICQ
Top
Фелей
Отправлено: Aug 24 2017, 18:05
Quote Post


Ньюб
*

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



Что за output main window? Опиши пожалуйста поподробнее. Если имеется ввиду размер главного окна, то не вижу проблемы. Поднимаю нижний край до упора вверх, закрываю жабу, запускаю - запускается, опять как угодно разворачиваю, сбоев нет.

P.S. : Можно просто сказать какую настройку правишь в jmc.ini. Дальше наверное разберусь.

Это сообщение отредактировал Фелей - Aug 24 2017, 18:09
PMEmail Poster
Top
Ауст
Отправлено: Aug 24 2017, 19:47
Quote Post


Ньюб
*

Группа: Участники
Сообщений: 33
Пользователь №: 1136
Регистрация: 13-June 05



[Docbar]
CXFloat=200
CYFloat=100
CXHorz=200
CYHorz=25
CXVert=209
CYVert=100
Visible=1
Docking=61440
posX=20
posY=20
Title=output wnd 0


--------------------
Иной
PMEmail PosterICQ
Top
Фелей
Отправлено: Aug 24 2017, 20:04
Quote Post


Ньюб
*

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



Делаю следующее:
1. Включаю показ окна 0
2. Докаю его наверх
3. Поднимаю нижнюю границу до упора вверх

Полностью сжать по высоте не получается - остается примерно одна строка текста. А у тебя, насколько понял, при такой последовательности сжимается в ноль. Если последовательность понял правильно, то скажи какая операционная система, чтобы мне на ней протестировать.

И версия жабы 3.7.1.*?
PMEmail Poster
Top
Ауст
Отправлено: Aug 24 2017, 22:27
Quote Post


Ньюб
*

Группа: Участники
Сообщений: 33
Пользователь №: 1136
Регистрация: 13-June 05



Все в порядке, ну относительно. Версия была 3,6* скачал последнюю с гитхаба попробовал запустить старые конфиги и получил совершенно не играбельный клиент, заново все переписывать лень, лучше останусь на том что было, не стану нарушать первое правило админа.
Спасибо за внимание, так или иначе.


--------------------
Иной
PMEmail PosterICQ
Top
Калевала
Отправлено: Aug 25 2017, 08:22
Quote Post


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

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



Фелей, а можно сделать нормальный инсталяционный пакет для жабы? А то последняя версия с инсталятором по-моему была вообще 3.0. Понятно, что для опытного мудера это не проблема, но в целом это как-то не очень удобно.


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


Ньюб
*

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



QUOTE (Ауст @ Aug 24 2017, 22:27)
Версия была 3,6* скачал последнюю с гитхаба попробовал запустить старые конфиги и получил совершенно не играбельный клиент

Проверил на 3.6 и 3.5. Действительно, там есть такая недоработка. На 3.7 исправлено. То, что конфиги нормально не заработали - это бага, которую можно исправить. И кажется понял, в чем тут дело - по умолчанию 3.7.* импортирует триггера как TEXT, а надо как RAW. Соответственно, если в триггерах шла работа с ESC-последовательностями, то триггеры будут работать неправильно. Сейчас это поправлю.

QUOTE (Калевала @ Дата Aug 25 2017, 08:22)
Фелей, а можно сделать нормальный инсталяционный пакет для жабы? А то последняя версия с инсталятором по-моему была вообще 3.0. Понятно, что для опытного мудера это не проблема, но в целом это как-то не очень удобно.

Чтобы установить жабу сейчас требуется только распаковать в любую папку - с этим справятся даже неопытные мудеры и это несложнее запуска инсталяционного файла. Bat файл запускать нужно только для внешних скриптов, но новичкам оно ни к чему. В тоже время не вижу ничего плохого в том, чтобы дать дополнительный вариант установки. Возможно он и в самом деле облегчит кому-нибудь знакомство с жабой. Подумаю как лучше сделать.
PMEmail Poster
Top
Калевала
Отправлено: Aug 25 2017, 23:43
Quote Post


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

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



А как же регистрация длл-ки?


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


Ньюб
*

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



Регистрация длл нужна только для внешних скриптов. Все остальное работает и без регистрации. Инсталлятор подумаю как лучше сделать.

Вот новая версия. В ней устранена ошибка с неправильной работой триггеров с ESC-последовательностями, написанные под старые версии жабы.

Попробуйте кто-нибудь у кого нормально не портировались триггера.
Удалил ссылку
P.S. : Стоп. Я кажется ошибся. Сейчас смотрю версию 3.5 и там на триггер подается текст без esc-последовательностей. Значит я зря поменял тип триггера по умолчанию. Сейчас удалю релиз.
А в чем, выражалась неиграбельность клиента? С чем именно возникла проблема?

Это сообщение отредактировал Фелей - Aug 26 2017, 17:48
PMEmail Poster
Top
Ауст
Отправлено: Aug 27 2017, 18:25
Quote Post


Ньюб
*

Группа: Участники
Сообщений: 33
Пользователь №: 1136
Регистрация: 13-June 05



Когда прогружается конфиг, в частности #action, он все разделения делит и пытается новую строку выполнить, тоесть
#act {}{;#act ;#act }
воспринимается как
#act {}{
#act
#act }
ну а
#hot
вообще не загрузились


--------------------
Иной
PMEmail PosterICQ
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Страницы: (7) 1 2 3 4 ... Последняя » Reply to this topicStart new topic

 



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