
![]() |
![]() |
![]() |
![]() |
Аладон MUD |
![]() ![]() ![]() ![]() |
Здравствуйте Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
Страницы: (7) « Первая ... 5 6 7 ( Перейти к первому непрочитанному сообщению ) | ![]() ![]() |
Фелей |
Отправлено: May 24 2018, 18:33
|
||||
Ньюб ![]() Группа: Участники Сообщений: 75 Пользователь №: 2167 Регистрация: 26-February 09 ![]() |
Можно, например, вписать команду в файл скрипта через Parse. Что удобно, в этом случае к моменту вызова команды уже будут загружены все переменные, триггеры и алиасы из конфигурационного файла. Ниже простейший пример.
Строчку сохраните в отдельный файл и добавьте в список используемых скриптов (Меню->Опции->Объекты JMC->файлы скриптов) Если закроете клиент и откроете снова, то сразу после загрузки конфигурационного файла будет выполнена команда #connect aladon.sovintel.ru 9000. Если хотите не просто соединится с сервером, а еще и войти персонажем, то можно написать простейшие алиасы:
После этого в том подключаемом файле, где писали строчку jmc.Parse("#connect aladon.sovintel.ru 9000");, заменяем ее на jmc.Parse("зайтипоследним");. Тогда каждый раз при открытии клиента вы будете входить последним персонажем, которым вошли с помощью алиаса 'зайти'. Соответственно, чтобы эта строчка сработала, необходимо хотя бы раз войти с помощью алиаса 'зайти' (чтобы инициализировалась переменная myname). P.S.: алиас 'зайти' принимает один аргумент - имя персонажа. Например, 'зайти Колко' Это сообщение отредактировал Фелей - May 24 2018, 18:40 |
||||
Ауст |
Отправлено: Jul 18 2018, 06:46
|
Ньюб ![]() Группа: Участники Сообщений: 33 Пользователь №: 1136 Регистрация: 13-June 05 ![]() |
Добавь пожалуйста в клиент регулятор громкости, просто так.
-------------------- Иной
|
Калевала |
Отправлено: Nov 9 2018, 10:28
|
Хозяин Хелльстада ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 ![]() |
Все ж таки хотелось бы вернуться к выводу инфы в разные окна и так чтобы в главное окно не выводилось эта инфа с прокруткой. Неужто так трудно сие чудо запилить?
-------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Nov 9 2018, 12:07
|
Хозяин Хелльстада ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 ![]() |
Да и еще, после обновления движка JScript в винде у меня перестали полностью запускать скрипты в жабе даже не знаю в чем тут может быть дело,
вообще команда #script перестала работать даже с VBA не пашет -------------------- Кодерус Аладонус
|
Фелей |
Отправлено: Dec 29 2018, 19:32
|
||||||
Ньюб ![]() Группа: Участники Сообщений: 75 Пользователь №: 2167 Регистрация: 26-February 09 ![]() |
Добавил. Новая версия https://github.com/Rrahh/jmc/releases/tag/3720 Регулирование громкости в окне настроек Главное Меню->Опции->Настройки, там поле с соответствующим названием, в котором можно установить громкость в процентах от системной. Для сохранения совместимости с Windows XP, пришлось сделать анализ звукового файла и перекодирование. Разбираться со всеми возможными форматами не хотелось, поэтому регулирование громкости задействуется только для файлов без сжатия с глубиной звука 8 и 16 бит, для остальных файлов используется старый код со 100-процентной громкостью.
Сложность в том, что нет простой возможности определить какие строки в какое окно вывести. Это необходимо объяснить жабе с помощью программы - встроенного или внешнего скрипта. И с их помощью можно распределить по окнам как угодно, примеры приводил в этой же теме. Для вывода отладочной информации можно пойти по другому пути - добавить к строкам префикс со стороны аладона и не выводить при ее выводе пустые строки и промпт. Для этого надо сделать отдельный вариант функции вывода. Тогда в жабе скрипт будет очень простым - отлавливание строк с заданным префиксом, и перемещение в отдельное окно. При этом в главном окне не будет никаких следов от отладочной информации.
Сейчас, наверное, уже не актуально, но отвечу для других пользователей с такой же проблемой. Больше похоже на то, что необходимо перерегистрировать библиотеку ttcoreex.dll. Это можно сдать либо запустив скрипт ttcoreex.bat, который лежит в папке жабы, либо вручную - выполнив от администратора команду regsvr32.exe /u ttcoreex.dll, а затем regsvr32.exe ttcoreex.dll |
||||||
Калевала |
Отправлено: Jan 11 2019, 23:26
|
Хозяин Хелльстада ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 ![]() |
Актуально. Попробую на работе в понедельник, хотя у меня смутное ощущение, что я это уже делал. Почему бы если строка выбрасывается куда-то посредством команды woutput просто не выводить ее в главное окно?
Я гото в принципе вообще пойти на специализированный формат обмена сообщениями с клиентом жабы, но это к сожалению сделает ее узкоспециализированной под Аладон. А может можно какой-нибудь аддончик прикрутить к жабе специально для Аладона? Формат обмена мы в принципе делали с Кроникисом когда он флэш-клиент допиливал для Аладона. Можно его развить. Там правда было в формате XML, сейчас наверное я бы предпочел JSON. -------------------- Кодерус Аладонус
|
Калевала |
Отправлено: Jan 22 2019, 11:18
|
Хозяин Хелльстада ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 ![]() |
Получилось перерегистрировать ttcoreex.dll там переписан ttcoreex.bat по другим версиям под десятку не выходило ничего. Ну и да все заработало.
-------------------- Кодерус Аладонус
|
Фелей |
Отправлено: Jan 22 2019, 19:21
|
||||||||||
Ньюб ![]() Группа: Участники Сообщений: 75 Пользователь №: 2167 Регистрация: 26-February 09 ![]() |
Не понял, проблема с ttcoreex.bat? С моим, который в инсталяционном пакете, или со старым без автоматического запроса привилегий? Поясни, пожалуйста, подробнее, чтобы понять где что поправить.
Текущее решение более гибкое. Если пользователь хочет убрать строку из основного окна, то ему необходимо всего лишь добавить одну команду #drop (для встроенных скриптов) или jmc.DropEvent() (для внешних). Например, при выводе разговоров в отдельное окно, многим привычнее оставлять исходные строки в основном окне. Это я к тому, что вывод в дополнительное окно не подразумевает обязательного удаления из основного. И в текущей реализации клиента, для этих не связанных между собой действий предусмотрены отдельные функции, что кажется логичным. Могу добавить дополнительную функцию, некую woutput2(), которая будет в конце вызывать drop строки из основного окна. Но, как мне кажется, это лишнее нагромождение дублирующих друг друга функций. И даже в этом случае, останется проблема с выводом пустой строки и промпта, о чем говорили несколько страниц назад в этой теме.
Имел в виду, что в жабе можно вообще ничего не менять, и получить удобный вывод отладочной информации просто изменив вывод этой инфы со стороны самого аладона. Не знаю каким образом посылается сейчас, ниже будут лишь догадки, возможно мне непонятны какие-либо проблемы. Если возможно более подробно описать каким образом сейчас выводится отладочная информация, то это помогло бы мне лучше понять суть проблемы. Итак, каким образом мне представляется решение: Пусть сейчас вывод отладочной инфы идет через функцию send_to_char (char *str, CHAR_DATA *ch). Вводим еще одну функцию
По сравнению с исходной функцией, вначале строки передается специальная кодовая последовательность, которая не должна встречаться в обычном тексте. В префиксе намеренно не поставлен символ новой строки, чтобы она шла единой строкой с полезной информацией. На стороне жабы просто добавляем триггер
Триггер выведет полученную строку с префиксом (которая послана с помощью новой функции) во второе окно, удалив из вывода в основное. Приоритет триггера лучше сделать повыше. Если требуется вывести несколько каналов отладочной информации в разные окна, то это легко реализовать введя несколько разных префиксов. И на каждый префикс в жабе сформировать свой триггер, в котором указать требуемое окно вывода. Не разбирался пока, на каком этапе в rom добавляется пустая строка и промпт. Похоже, что send_to_char в результате отправляет и с тем и другим. Поэтому надо вместо send_to_char взять функцию, которая отправляет только строку без промпта. |
||||||||||
Фелей |
Отправлено: Jan 23 2019, 18:36
|
||
Ньюб ![]() Группа: Участники Сообщений: 75 Пользователь №: 2167 Регистрация: 26-February 09 ![]() |
Разобрался с выводом. Необходимо вместо write_to_buffer использовать write_to_descriptor
При использовании такой функции, строчки будут посылаться без лишних пустых строк и промпта |
||
Калевала |
Отправлено: Jan 26 2019, 13:22
|
||||
Хозяин Хелльстада ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 1893 Пользователь №: 55 Регистрация: 15-April 04 ![]() |
Да со старым проблема была, с твоим ок. Стоит внести в описание, что регистрировать под вынь 7,8,10 стоит твоим батом. Вывод завтра посмотрю. -------------------- Кодерус Аладонус
|
||||
Элисса |
Отправлено: Mar 10 2019, 13:56
|
Ньюб ![]() Группа: Участники Сообщений: 34 Пользователь №: 1751 Регистрация: 28-June 07 ![]() |
При попытке добавить скрипт с одной строкой
jmc.Parse("#connect aladon.sovintel.ru 9000"); jmc3720 выдаёт ошибку: --------------------------- Ошибка скриптов JMC --------------------------- (null) (null) Строка:0 Ошибка:0 Scode:8002801d --------------------------- ОК --------------------------- После этого при каждом запуске с подключённым скриптом Жаба выдаёт ту же ошибку, скрипт не выполняет. |
Фелей |
Отправлено: Mar 10 2019, 14:42
|
Ньюб ![]() Группа: Участники Сообщений: 75 Пользователь №: 2167 Регистрация: 26-February 09 ![]() |
Эта ошибка возникает если не зарегистрирована библиотека ttcoreex.dll. Жабу ставила не через инсталлятор, а распаковав zip архив, верно? Для исправления необходимо запустить ttcoreex.bat файл в папке жабы. Если не поможет, то запусти ещё раз от администратора
|
Элисса |
Отправлено: Mar 10 2019, 14:50
|
Ньюб ![]() Группа: Участники Сообщений: 34 Пользователь №: 1751 Регистрация: 28-June 07 ![]() |
Да, верно. После запуска батника, всё заработало. Спасибо!
|
![]() |
![]() ![]() |