Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

DF2 :: ФОРУМЫ _ МАД-клиенты _ jmc 3.28

Автор: Ennin 26 Oct 2006, 16:25

я тута подумал и решил выложить урезанную версию беты на обозрение
http://gryphon-clan.ru/jmc/j32813b.rar

Автор: Craya 30 Oct 2006, 04:27

у мня не работает
#log logs/$YEAR/$MONTH/$DAY/$myname.log
хотя все переменные определенны

Автор: Ennin 30 Oct 2006, 23:36

что пишет?

Добавлено ([mergetime]1162240581[/mergetime]):
и да... автоматически жаба не создает, так что все папочки должны быть созданы, а файлик открыт на эксплюзивный доступ (если существует)
#log ./logs/$myname/$YEAR/$MONTH/$DAY/$YEAR-$MONTH-$DAY.log append - у меня все работает

Автор: Ennin 13 Nov 2006, 12:08

http://gryphon-clan.ru/jmc/

Что нового

## - считается за комментарий (как nop). любое количество символов # и все, что идет за ними, будут игнорированы

#comment <char> - задает символ комментария. все команды, начинающиеся с такого символа, будут игнорированы
например, #comment /;/а это коммента, ребяты.
правила для символа такие же, как и для #char

#spit (#lick) <filename> [format [options]]
format - строка для обработки. вместо каждого символа @ будет вставлена
очередная строка из файла. если формат пуст, то считается @. если не пуст, но
собака там отсутствует, то она добавляется в конец.
options может содержать в принципе только символ "n" - все остальные игнорятся
ключ n позволяет игнорировать пустые строки. если считанная строка пуста, то берется
следующая

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

#multisub - сделал

сделал 5 статусных окошек. больше не имеет смысла без урезания их размера
ибо тупо не будет влезать на меньших разрешениях. каждое статусное окошко
имеет размер 150. при разрешении х1024 еще парочку впихнуть можно, а при меньших?

#wt (#wait) <delay> - задает задержку на вывод в децисекундах. весь ввод для парсинга будет задержан в очереди.
с другой стороны, во-первых, не блокируются команды клиента, во-вторых прямой вывод в МУД.
то есть, например, можно использовать что-то типа #script $main::jmc->send("ааа, ахтунг, у меня вывод задержан");

#<num>, #loop - изменены. обе команды переданы под контроль отдельного цикла, каждой добавлена возможность
задержки (тоже в децисекундах).
#<num>[:<delay>] == цикл от 1 до num.
#loop {<num>[,<num2>][:<delay>]} == если указан второй параметр, то от num до num2
иначе от num до 0.
если delay не указан, считается нулем и цикл не задействует таймер.
иначе ищется свободный таймер и цикл передается под его контроль. всего я выделил
под это дело 16 таймеров (0..15). если свободный таймер не найден, то и цикла не получится
может быть, позже выделю больше. пока не вижу необходимости, 16 - это много.
#break - прерывает цикл. второй вызов убивает (обнуляет).
#ball (#breakall) - вызывает #break для всех циклов
#pinch - возобновляет цикл, если он неактивен и работоспособен (есть первая/вторая граница, команда и задержка)
#pall (#pinchall) - вызывает #pinch для всех циклов
#tmlist - список активных циклов

#race
#race format - формат бега (для ДФ, например, run @)
#race move [<walk>] - запулить бегом.
пример: #race format run; #race move 6e10nd ==> run 6e10nd
без параметра запускает последний путь
#race reverse = реверсит последний путь, запускает move
пример: #race move 6e10nododwsowsd ==> run 6e10nododwsowsd
#race reverse == >run unoeneouou10s6w
на ДФ конечно есть реверсинг, но быстро поставить минус не всегда можно, а
забиндить #race reverse и заалиасить #race move - оч. просто и навсегда...
ну, и на других мирах такой фичи нет.
главное - не алиасить на "#race move" run, если формат начинается с run - получится
бесконечный цикл.

в диалог цветов добавил кнопку рестора дефолтных

в скриптовый движок добавил метод wOutput - но для вас он в лучшем случае работает как wOuput(0,string) -
как аналог метода output. когда будет релиз окон - пригодится

#sos
#sos <group> <name> - добавить шаблон (group=oneof(action,alias,variable,hotkey))
#sos list - просмотреть список текущих шаблонов
#sos clear - очистить список текущих шаблонов
#sos save <file> - пройтись по допустимым группам и сохранить в file все объекты,
соответствующие шаблону. например, #sos hot NUM сохранит все горячие клавиши,
срабатывающие на нажатия на кнопки "калькулятора". #sos act ^ сохранит все
триггера, считывающиеся с начала строки.

кстати, кто не знал - у write не совсем тот формат, что предполагает хэлп. можно указать и группу.
то есть записано будет только то, что относится к данной группе. вот.

что касается нулевой задержки -
if ( more_coming && GetTickCount() - lastRecvd >= MoreComingDelay )
то есть куда уж дальше-то?

копирование с АНСИ - вряд ли будет.

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

кстати, два вопроса (подозреваются баги):
а) у всех ли не работают на хоткеях Shift?
б) у всех ли не работает jmc.DropEvent в реальных условиях (например, на OnIncoming)

Добавлено ([mergetime]1163408709[/mergetime]):
в общем, оттестите это, доделаю еще одну вещь - будет релиз...

Добавлено ([mergetime]1163408936[/mergetime]):

Цитата(Atlant @ 05 Nov 2006, 02:17)
Я про то же, что и ты. После тог окак вышла надпись - включается таймер на две секунды. После истечения двух секунд жаба выдаст такую надпись: #TICK. Второй триггер как раз на нее и срабатывает.

Добавлено ([mergetime]1162682239[/mergetime]):
Хм.. щас заметил такой косяк в жабе.. оно если время мало ставишь надпись #TICK не выдает..

минимум - 20 секунд в тике. вот и не получится

Автор: Ennin 14 Nov 2006, 14:34

#abort <num> == #break <num>;#break <num>

#resume == #pinch

#llist = #tmlist

#wait - фикснуты несколько баг с очередью.

#grab [num] <filename> [format] - достает строку номер num из filename и замещает ею %0 в format. итог посылает в муд. номер строки сохраняется только если прошлый вызов касался того же файла.

#race format, #lick - обрабатываться будет не @, а %0

#num, #loop теперь выполняют первое действие мгновенно, второе через delay.

для соответствия комменту первый символ команды должен быть не обязательно #, а нужный CommandChar

Автор: xska 15 Nov 2006, 12:37

#multisub работает как надо, спасибо! Только вот сообщения нет никакого, включен он или выключен, а хотелось бы...
Возможно ли контролировать последовательность применения сабов? Например, так же как action - через приоритеты?

И еще, я правильно понял, что в бета-версии нет дополнительных окошек вывода?

Автор: Ennin 27 Nov 2006, 01:05

1. фиксен баг с листом субов в визуальной настройке
2. кнопка "стандарт" цветов теперь просто обновляет диалог, не выходя из него.
3. появилась команда #message LOGS для отключения сообщений от системы логирования
4. теперь команда #log, если параметр не overwrite|html И имя файла то же, что и есть,
НЕ БУДЕТ закрывать лог и начинать новый туда же. искусственно повторить эту ситуацию можно,
закрыв лог и снова открыв.
5. Сообщение "Движок скриптов перезапущен" теперь можно ДРОПАТЬ. в общем, триггер на нее вешать
можно. в принципе, говорите, если надо добавить такую ж возможность для еще какие-то сообщений.
сообщение "соединение утеряно" теперь такое же.
#action {^#Соединение утеряно} #scriptlet save_variables()
6. к вопросу токенов в командной строке - команда #clean очищает строку. удобно повесить на хоткей.
либо же

Код
   Function OnInput()
   {
     if ( jmc.event == «aaa» )
  {
       jmc.showme(«Don’t type stupid aaa command!!!!!»);
       jmc.DropEvent();
     }
   }

подобно можно выстроить также обработку вводимого текста, и в нужных случаях обрабатывать
#clean. как правило, это нужно для разовых команд типа quaff, eat etc. хотя suum cuique,
кому-то напротив, надо будет оставлять токен только для каких-то команд (mb say, gos, chat, hero)

если кому-то интересно, выложу файло.

Автор: Craya 04 Dec 2006, 10:23

у мня тут непонятки

значит стоит у мня так
#var myname Farry

дальше делаю так
#log logs\\$myname\\$YEAR_$MONTH_$DAY.txt
получаю
#Запись в лог {logs$myname$YEAR_12_04.txt} включена.

если так
#log logs\\Farry\\2006_$MONTH_$DAY.txt smile.gif
то
#Запись в лог {logs\Farry\2006_12_04.txt} включена.
что и хочу получить

как мне с этим бороться?

Автор: Ennin 04 Dec 2006, 12:41

я бы посоветовал слэш нормальный ставить

Автор: Monf 18 Dec 2006, 07:27

Ахтунг! Баги!
Хотите, чтобы жаба вылетела со всеми любимой ошибкой: “В приложении обнаружена ошибка, сия прога будет закрыта, приносим свои извинения”? Тогда за дело! Нет! я говорю не о банальном вложении #alias в #alias.

Код:
#action {строка действия}{#read Death.md}
В файле “Death.md” (если хотите: *.txt это не важно) у нас лежат выполняемые команды, предположим #showme. Строк с командами много, штук эдак под 30, каждая команда начинается с новой строки.
Создайте выполняемый файл и наполните его, к примеру, 33мя подобными строками:
#sho {[0\;36m !! [0\;37m}
Но дело не в количестве строк или команд, а в объеме файла (или в количестве символов хз). Достаточно всего менее 2КБ чтобы пустить на дно нашу jmc.
Однако если попытаться просто считать этот файл, набрав команду:
#read Death.md
с клавиатуры – то все нормально работает!
Также все замечательно работает, если вывести файл в окно вывода посредством команды #output.
Проблема именно с #action.
Аналогично и с новыми возможностями:
#spit Death.md
#lick Death.md
Если попытатся задать каждой строке алиас например:
#ali {-Death1-}{строка}
#ali {-Death2-}{строка}
и вызвать вывод посредством алиасов командой:
#action {строка действия}{#loop {1,33} {-Death %0-}}
Однако, помогло: строки неторопливо поползли одна за другой, но это только если воспользоваться окном Эмуляция MUD, а если подключиться к реальному маду, то когда сработает экшн – все опять вылетает, только еще с сообщением об инструкции обратившейся не по адресу!
Сразу скажу, что скрипты не помогают.
Не буду объяснять, какие неудобства это причиняет, кто знает – тот поймет насколько это вредно и даже опасно. Все это срабатывает также, если несколько строк, на которые действуют разные #action, появляются сразу все вместе, и даже если по отдельности они не вызывали подобной ошибки, то все вместе точно ее вызовут, ели команды достаточно большие.
Если пофиксить сей ужасный баг то, имхо, больше уже ничего делать не нужно! А его то и нужно фиксить в первую очередь!

Вот еще маленький глюк, появившийся в бетта версии 3.28. В старой версии его не было.
#alias colors {#loop {29,37} {#showme **%0** }; #showme {[1\;32m}}

Прописываем команду, запускаем алиас colors – пока все нормально, а теперь вызываем его еще раз. Попробуйте вас порадует. ,)
Возможно загвоздка в последнем #showme {[1\;32m}, а точнее в коде цвета “[1\;32m”.
Лично у меня при этом выполняетс цикл от 29 до **371**.
Заренее благодарен!

Автор: Ennin 23 Jan 2007, 00:09

баги, глюки, проблемы

Автор: Devastator 25 Jan 2007, 23:51

Здрасте, у меня такие предложения или пожелания smile.gif
1. Сделать так чтоб можно было вести лог уже после обработки тригерами хайлайтам, сабсами. чтоб конфиг выглядел такимкаким я его вижу, а не чистый лог пришедших и отправленый строк, допустим естьщас ввести #showme тряляял, это срока в лог не запишется а хотелось бы.
2. Мб надо ввести базу шмота, дбустим как в B.o.a.t и чтоб допустим если у тебя шмотка есть в базе данных, если из мада приходит строка где содержится название данной шмотки , само название шмотки подцвечивалось бы, и при наведени мыши на название, появлялось бы прозрачненькое окошко с инфой о шмотке.

p.s. по мне, мне хватило жабы команой #system, разделение хоткеев на группы, и мультисбасы , и вот с ведение логов которое описал выше smile.gif было б просто замечльно.
p.p.s www.mud.nm.ru там чел тоже жабы подымает, не так конкретно как вы но всежеsmile.gif там в его версии жабы есть каманда #portion очень полезная smile.gif

икстати када у вас релиз?

Автор: Ennin 26 Jan 2007, 00:05

1. почитай лог изменений - будет проще. #logadd тебе в помощь
2. это делается скриптами

Автор: Devastator 26 Jan 2007, 00:27

-> 2. это делается скриптами
а можно посмотреть скриптик?)

над первым еще думаю smile.gif

Автор: Ennin 26 Jan 2007, 01:06

низзя, у меня этого нет. есть у ранаста для ммс, но в принципе тот же перл

Автор: Ennin 30 Jan 2007, 11:56

1. разрешено #sos <type> * - неясно, зачем, но пусть будет (2 alf)
2. теперь каждую секунду рефрешатся статусбары (2 shaidar)
3. для logadd разрешены переменные, в т.ч. %0..9. аргумент теперь жадный (2 o3n)
4. добавлена #nodrop - не тестил ВООБЩЕ, тесты на вас (2 breeze)
5. проверил #alias colors {#loop {29,37} {#showme **%0** }; #showme {[1\;32m}} - все работает. видимо, что-то с памятью.
6. на mud.nm.ru нет контактного адреса. то есть если вам нужны какие-то фичи, которые есть у него, с вас контакты с челом на предмет юзания его сорсов. свою версию, раз есть его, я писать, ессно, не буду. подсказка суфлерским шопотом: смотри about
7. #help <command> - показывает хэлпу по команде в окне жабы. хэлпы хранятся в helps, файлы <command>.jht. кому надо - наполняйту, вставим в релиз

вот бета: http://zajac.ru/ennin/jmc328.zip

на данный момент я собираюсь доделать окна, сворачивание в трей и wheel+click, ctrl+wheel, shift+wheel. после чего (см. 6) работы над жабой собираюсь свернуть и релизнуть jmc 3.8. некоторые минорные нереализованные вещи и нефиксенные баги останутся на совести mccp, да будет так, commit.

Автор: Ennin 30 Jan 2007, 15:00

1. теперь юзверь может изменять сообщения от движка ttcore.
для этого в jmc.ini/Main/LangFile надо прописать путь к .ini файлу с сообщениями
language.ini с разделом MyLanguage содержит строки. так, строка 1180 (Установлена новая длительность тика), будет представлена
в виду str1180=#Hey dude, new tick size. номера строк и их формат можно стащить в .rc файле.

2. попытался сделать работу с колесиком - у меня мышка без оного: не тестил.

http://zajac.ru/ennin/jmc328u.zip

Автор: Devastator 31 Jan 2007, 13:18

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

Автор: Ennin 31 Jan 2007, 22:12

в каком плане быстрее? если о тех фичах, что реализованы в версии, что на муд.нм, то см. выше

Автор: Ennin 02 Feb 2007, 12:56

1. Переделал и исправил баги в системе замены сообщений для ttcore. добавил настройку секции, из которой будут браться строки.
добавил управление через настройки-профиль. можно указывать локальный или глобальный путь к файлу.
теперь вопрос - надо ли кому-то настраиваемость языка основного интерфейса (самого окна жабы) - так же через .ини
наберется 10 человек - буду делать. иначе - нет.
следующие версии я наверное буду делать на английском языке, а сообщения переводить через .ини, так что выгоднее
набрать толпу, скажущую "хотим".

2. теперь колесиком можно убрать сплиттер, прокрутив до конца

3. для шифта и альта в сочетании с колесиком прокручивается не страница, а 1 строчка.

http://zajac.ru/ennin/jmc328u.zip

статус забивания: осталось сделать трей и wpos

Автор: gamecreator 02 Feb 2007, 18:27

1. если следующие на инглише, то я хотю.

Автор: Shaidar Haran 02 Feb 2007, 18:59

А я хочу английский, так что на перевод пофиг. На нем привычней.

Автор: othreen 03 Feb 2007, 03:22

думаю это не есть кровь_из_носу необходимым добавлением, но имхо это довольно вкусно ) пропишу себе укр... )))) *мечт

За динамически настраемый язык интерфейса +1.

Автор: Devastator 16 Feb 2007, 13:39

эх когдаже будет это событие smile.gif

Автор: Ennin 22 Feb 2007, 11:04

в опчем, решил я пока забить на трей. вуаля
http://df2.ru/files/jmc35.zip
внутри все файлы + gif показывающий 6 окон сразу + описание команд работы с окнами. играйтесь как хотите, тесты надобно.
также в пакетике language.ini с ресурсами ttcore на русском и украинском

Автор: othreen 22 Feb 2007, 15:28

вау) thanx a lot )

respect.

Автор: Devastator 22 Feb 2007, 19:02

очень порадовали нововведения smile.gif
хочеться увидеть еще одну фичу в этой ветки развития jmc
а именно - переменную $INPUT,
которая хранит в себе содержание командной строки jmc,
чтоб можно было сделать что-то типа
#HOT F1 {к !оцепенение! $INPUT}
в командной строке пишим имя моба, чара и нажимаем F1
очень желательно чтобы она была как READ так и WRITE
чтобы в тригах можна было в командную строку шось заносить

Автор: gamecreator 22 Feb 2007, 21:17

а можно сделать чтоб jmc не надо было реинсталить чтобы юзать скрипты

Автор: Ennin 22 Feb 2007, 22:20

dеvastator, переменную такую я сам думал. мб сделаю. но без write

gamecreator, лениво. инсталлятор скорее всего сделаю, не боле

Автор: Craya 23 Feb 2007, 04:24

а как язык интерфейса поменять ? где чего поменять?

Автор: gamecreator 23 Feb 2007, 11:17

не сохраняет и не загружает хистори

Автор: gamecreator 23 Feb 2007, 19:28

и еще если перейти к окну не на весь экран а потом к жабе, то статусы пропадают

Автор: gamecreator 25 Feb 2007, 15:25

можно ли вернуть фокус окну жабы командой и если да то какой?

Автор: Ennin 26 Feb 2007, 10:17

#flash
правда, в XP временами не срабатывает и только мигает

хистори иногда бывает не сохраняется. только иногда

статсы я сделал обновляющимися каждую секунду. винды какие?

Добавлено ([mergetime]1172474229[/mergetime]):
язык самого окна менять нельзя
язык сообщений движка tintin меняется в jmc.ini [main]->langfile и ->langsect. или через options->options dialogue->profile

Автор: Ennin 26 Feb 2007, 16:36

обновил архив, добавил забытый текст с описанием команд
сейчас поддерживается переменная $INPUT - на чтение

Автор: gamecreator 26 Feb 2007, 16:47

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

Добавлено ([mergetime]1172497640[/mergetime]):
все, нашел. странно что он показывался у меня старым.

Автор: Shaidar Haran 26 Feb 2007, 17:58

Мб ты попутал дату создания и дату изменения?

Автор: gamecreator 26 Feb 2007, 22:14

не, при открытии там были старые команды

Автор: Ennin 27 Feb 2007, 23:22

обновил архив. парсинг команд переведен на качественно иной по сравнению с if(strcmp(command,"variable"))variable_command(arg) уровень. покрасивше стало. хз, вроде работает, но вдруг...
добавил еще команду winamp - смотрим #help winamp
и забыл в тексте упомянуть wlog - смотрим #help wlog

Автор: Ennin 11 Apr 2007, 16:53

нифига не могу подконнектиться к своим обычным хостам... выложил сюда: http://bssen.nm.ru/jmc35.zip

откровенно не помню, что сделал с прошлого раза. говорил мне альфукен, что надо на жабу
ЦВС повесить, а я не слушал. ну что уж помню:

1. shift+enter будет оставлять строку ввода и выделять текст
ctrl+enter будет очищать строку ввода
эти правила действуют выше, чем "очищение ввода" и правила токенов
2. #autoreconnect [on|off]
включает - выключает автоматический реконнект
можно юзать в ACT
3. с окон вывода (в т.ч. основного) теперь можно копировать с АНСИ кодами.
но есть ограничение - корректно копирует только целые строки. связано это с тем, что при выделении куска строки запоминается длина выделенного куска БЕЗ УЧЕТА возможного анси
ползать и исправлять это мне лень, посему сделал так:
при копировании куска строки анси НЕ копируется
при выделении строки или строк анси копируется
4. теперь при клике на ansiwnd буфер НЕ очищается, если не было выделено ни одного символа
иначе таки работает процедура копирования выделенного в буфер

Добавлено ([mergetime]1176299582[/mergetime]):
в архиве описание изменений, jmc.exe, ttcore.dll и ttcore.reg - регистратор JMC объектов. теперь нет необходимости скачивать установщик. по крайней мере, я так думаю

Автор: horneds 17 Apr 2007, 00:57

в window.txt написано что скриптовый аналог #wooutput
это jmc.wOutput

но когда я пишу в скрипте jmc.wOutput(1,'test') или #s jmc.wOutput(1,'test') в жабе
выкидывает ошибку

Ошибка выполнения Microsoft JScript
Объект не поддерживает это свойство или метод
String:0 Error:0 Scode:

хотя #woutput работает корректно
какой же тогда это метод в JS ?

надеюсь понятно спросил, я в JS ламер

Автор: Ennin 17 Apr 2007, 03:40

установлены ли объекты для движка?
у меня #scri $jmc->wOutput(0,"test") - работает. учтите, правда, что в качестве движка у меня стоит перл

Автор: horneds 17 Apr 2007, 13:28

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

а дома регил ключи и все равно свойство jmc как wOutput не работало
можно бы конечно обойтись и jmc.parse('#woutput '+n+' '+line) но я хочу строку прямо с АНСИ кодами вылавливать в скрипте и сразу кидать на доп. окно
так вот когда там много цветов чтоли он на ; дробится
и часть строки идет в окно, а чать как команда в жабу
разделитель менять не хочется )

кстати тут ктото писал что #read из скриптов пропадает
это автосохранение, выключается редактированием в settings соответствующего opt файла

было:
AutoLoadFile=Default.set
AutoSaveFile=Default.set

а нужно:
AutoLoadFile=Default.set
AutoSaveFile=

правда при этом все редактирогвание скриптов только вручную в вашем set файле
но это имхо удобнее тк структура сохраняется

Автор: Ennin 17 Apr 2007, 21:04

можно проверить версию ttcoreex.dll. или поэкспериментировать с регистром метода

Автор: horneds 19 Apr 2007, 23:13

да нет все ок )
просто по ключикам не регистрировал
чтобы все заработало достаточно создать и запустить в каталоге с жабой батник следующего содержания (для всех windows)

Цитата
%WinDir%\system\regsvr32.exe ttcoreex.dll
%WinDir%\system32\regsvr32.exe ttcoreex.dll

Автор: Craya 20 Apr 2007, 07:47

Энни, скажи как поменять интерфейс на русский. в твоем последнем билде (должокmoral.gif)

Автор: Craya 18 Jun 2007, 02:49

Энни, можно запустить твой билд без инсталляции старой Жабы, чтоб работали скрипты?
А то пересела на другой компутер, утянула со старого твою Жабу с конфигами, а на новом компе не могу запустить - скрипты не работают, старой Жабы нет, сайт у нее чего то поменялся.
что там сделать чтоб скрипты заработали, длл зарегить? все равно не работает.

Автор: Ennin 18 Jun 2007, 06:53

и саму длл, и объект. дллка раз зарегена, ищи тута в архивах .reg файл

а старая жаба в файлах дф валяецо

Автор: Aldaran 30 Jun 2007, 07:50

Здравствуйте!
Пользуюсь измененной JMC несколько месяцев...
Все было замечаельно...Пока не стал я ковырять конфиг и понял, что мне нужно удалить замену с помощью старой команды #unsubs...

#unsub
#Неизвестная команда.


Еще хотелось бы, чтобы команда #run загружала файлы не только из самой директории JMC (домашнего каталога), но и с любого другого диска/папки...

Хотелось бы увидеть в новых версиях трей...
Чтобы #play могла проигрывать не только *.wav, но и другие форматы, хотя бы *.mp3.

Возможность запускать музыкальные файлы с помощью Winamp'а:
#run "c:/program files/winamp/winamp.exe d:/my music/other/some cool shit."
#run "d:/winamp/winamp.exe f:/arda/jmc/sound/cool.mp3"

Автор: othreen 30 Jun 2007, 22:48

Aldaran, вероятно ты юзаешь старую версию, зайди и скачай новую на http://gryphon-clan.ru/jmc/
Там под сабсты даже закладка в опциях сделана, для визуальности так сказать :)

И с винампом там работа осуществлена (подробнее см. графу "новое" на сайте) а вав оно проигрывает ибо стандартная ф-ция винды, а мп3 - сжатое аудио, проигрывает его не каждая, хм, фигня. вот.

#run можно так использовать! просто пишешь полный путь как ты сам написал:
#run "c:\windows\system32\rundll32 -keyboard,disable"
к примеру.

Автор: Aldaran 10 Jul 2007, 13:04

Скачал новую версию 24 июня 2007 года...
Та же самая ошибка...А мне нужна стандартная возможность удалять замены с помощью команды...

#unsubs
#--Unknown command.--


{#read F:\ARDA\JMC\SETTINGS\menu.conf}

***
#read settings//murder.conf



{#read F:\ARDA\JMC\SETTINGS\pk.conf}

***
#alias {at} {#hot {Alt+F11} {#hot {Alt+F11} {at};#unsub {$target}}} {pkill}
#alias {hant} {#var target %1;#show [0\;36mWhen [0\;33menabling[0\;36m the mode You will [0\;33mautomatically [0\;36mattack this enemy, [0\;31mMURDER [0\;36mlooks so '[1\;33m$war [1\;31m%1[1\;36m'[0\;37m} {pkill}
#alias {attack} {#var war %1;#show [0\;36mWhen [0\;33menabling[0\;36m the mode You will [0\;33mautomatically [0\;36mattack this skill, [0\;31mMURDER [0\;36mlooks so '[1\;33m%1 [1\;31m$target[1\;36m'[0\;37m} {pkill}

#variable {war} {murder}
#variable {target} {$aim}



{#read F:\ARDA\JMC\SETTINGS\hot.conf}

***
#hot {Alt+F11} {#hot {Alt+F11} {at}} {pkill}


{#read F:\ARDA\JMC\SETTINGS\murder.conf}

#action {$target влетел%1} {$war $target} {5} {murder}
#action {$target вплыл%1} {$war $target} {5} {murder}
#action {$target приш%1} {$war $target} {5} {murder}
#action {$target парит в воздухе.} {$war $target} {5} {murder}
#action {$target стоит здесь.} {$war $target} {5} {murder}
#action {$target сражаетсЯ с %1.} {$war $target} {5} {murder}
#substitute {$target} {[0\;31[m[A[1\;31[mttack[0\;31[m] [1\;33[m$target}

Вам наверное покажется это глупым...

При первом нажатие клавиши Alt+F11 появляется [Attack] и при ...

murder Джулиан
(Одиночка)(Невидимo)(Прозрачно)(В полете)[decedent] [Attack] [PK] Джулиан парит в воздухе.
Джулиан окружен светом доброты и покоЯ.
Джулиан объЯт каскадами розового пламени.
Джулиан окружен силовым барьером.
Джулиан защищен ледЯным панцирем.

При повторном нажатие клавиши Alt+F11 триггера на авто наподение отключаются и замена с [Attack] убирается...
Но ... #unsubs... #Неизвестная команда.

(Одиночка)(Невидимo)(Прозрачно)(В полете)[decedent] [PK] Джулиан парит в воздухе.
Джулиан окружен светом доброты и покоЯ.
Джулиан объЯт каскадами розового пламени.
Джулиан окружен силовым барьером.
Джулиан защищен ледЯным панцирем.

Можно конечно просто #killall потом загружать конфигу, но это не очень удобно...При загрузке полной конфиги с #hot (#aliase/#action) выкидывает жабу, при загрузке нужных частей и выводов...слишком много спама...Мешает буквально все, особенно если ты в бою...

Джулиан, извини, что привел тебя в примере :Р

Автор: Ninika 10 Jul 2007, 19:00

я посмотрю

Автор: Aldaran 14 Jul 2007, 15:48

Здравствуйте

#wshow {wnd} [toggle|hide|show]

Ошибка или фича, но хз...

#wshow 3 toggle

При использование команды появляется ОКНО № 3, при повторном использование этой же команды ОКНО № 3 ПРОПАДАЕТ (как будто мы использовали #wshow 3 hide)

Пример использования: (Имхо это пример, и он без красоты и т.д.)

function getaffect()
{
if(jmc.GetVar("vomica") == 1)
{
jmc.parse ('#wpos 3 650 150')
jmc.parse ('#wshow 3 toggle')
jmc.woutput(3,"[1\;31mПроклятье!");
}
if(jmc.GetVar("poison") == 1)
{
jmc.parse ('#wpos 4 650 194')
jmc.parse ('#wshow 4 toggle')
jmc.woutput(4,"[1\;32mЯд!");
}
if(jmc.GetVar("vomica") == 0)
{
jmc.woutput(3,"");
jmc.parse ('#wshow 3 hide')
}
if(jmc.GetVar("poison") == 0)
{
jmc.woutput(4,"");
jmc.parse ('#wshow 4 hide')
}
}

Избавиться от этого помогло #wshow 3 show.

function getaffect()
{
if(jmc.GetVar("vomica") == 1)
{
jmc.parse ('#wpos 3 650 150')
jmc.parse ('#wshow 3 show')
jmc.woutput(3,"[1\;31mПроклятье!");
}
if(jmc.GetVar("poison") == 1)
{
jmc.parse ('#wpos 4 650 194')
jmc.parse ('#wshow 4 show')
jmc.woutput(4,"[1\;32mЯд!");
}
if(jmc.GetVar("vomica") == 0)
{
jmc.woutput(3,"");
jmc.parse ('#wshow 3 hide')
}
if(jmc.GetVar("poison") == 0)
{
jmc.woutput(4,"");
jmc.parse ('#wshow 4 hide')
}
}

Автор: Ennin 14 Jul 2007, 19:18

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

Автор: Craya 27 Oct 2007, 08:08

Энни, такая штука не работает

Код
#hot {Shift+NUM8} {blast e.$victim}
#hot {Shift+NUM4} {blast west.$victim}
#hot {Shift+NUM6} {blast east.$victim}
#hot {Shift+NUM2} {blast south.$victim}
#hot {Shift+PGUP} {blast up.$victim}
#hot {Shift+PGDN} {blast down.$victim}

Автор: Grivus 27 Oct 2007, 08:17

Цитата(Craya @ 27 Oct 2007, 09:08)
Энни, такая штука не работает
Код
#hot {Shift+NUM8} {blast e.$victim}
#hot {Shift+NUM4} {blast west.$victim}
#hot {Shift+NUM6} {blast east.$victim}
#hot {Shift+NUM2} {blast south.$victim}
#hot {Shift+PGUP} {blast up.$victim}
#hot {Shift+PGDN} {blast down.$victim}

А у меня такая штука работала:
Код
#hot {Shift+NUM8} {cann n $target} {default}
#hot {Shift+NUM9} {cann u $target} {default}
#hot {Shift+NUM4} {cann w $target} {default}
#hot {Shift+NUM5} {cann} {default}
#hot {Shift+NUM6} {cann e $target} {default}
#hot {Shift+NUM1} {cann d $target} {default}
#hot {Shift+NUM2} {cann s $target} {default}

Автор: Shaidar Haran 27 Oct 2007, 09:39

Вероятно, имелось в виду, что на хоткеи биндятся алиасы клиента. Если до отправки сообщения в МУД строка парсится, то все должно прокатить.

Делаем:

Код
/bind S-k4 {range w}
/bind S-k6 {range e}
/bind S-k2 {range s}
/bind S-k8 {range n}
/bind S-k9 {range u}
/bind S-k3 {range d}
/alias range {cast 'magic missile' $1.'$aim'}

и все прекрасно работает wink.gif
Сорри, что писал в синтаксисе MMC, но для жабы не помню команд и т.п.

Автор: Aldaran 07 Mar 2008, 13:06

Тут имелось ввиду, что нет возможности пользоваться группой клавиш Shift+NUM0 - Shift+NUM9, не зависимо, будут ли туда биндиться алиасы или просто какие либо команды. Хотя было б очень приятно увидеть такую возможность...

Глюки:

Если в строке более 2х замен, а строк 14-15 и более, то жаба вылетает...

adv gri 15
Raising Grishnak [decedent] [Attack] Гришнак from level 1 to level 15!
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.
*: [decedent] [Attack] Гришнак поднимаетсЯ на один уровень.

[decedent] [PK] Алдаран снЯл с себЯ [LIMIT] амулет живой земли.
[decedent] [PK] Алдаран снЯл с себЯ факел.
[decedent] [PK] Алдаран снЯл с себЯ знак Ульмо.
[decedent] [PK] Алдаран снЯл с себЯ [LIMIT] прозрачный браслет.
[decedent] [PK] Алдаран снЯл с себЯ перчатки старого мечника.
[decedent] [PK] Алдаран снЯл с себЯ [LIMIT] прозрачный браслет.
[decedent] [PK] Алдаран снЯл с себЯ медвежью маску.
[decedent] [PK] Алдаран снЯл с себЯ кольцо * свЯтости *.
[decedent] [PK] Алдаран снЯл с себЯ [LIMIT] кольцо с глазом медведЯ.
[decedent] [PK] Алдаран снЯл с себЯ всевидЯщие * очки *.
[decedent] [PK] Алдаран снЯл с себЯ длинную юбку.
[decedent] [PK] Алдаран снЯл с себЯ свиток 'очаровать'.
[decedent] [PK] Алдаран снЯл с себЯ кинжал предков.
[decedent] [PK] Алдаран снЯл с себЯ костЯное лезвие.
[decedent] [PK] Алдаран снЯл с себЯ легкий панцирь.
[decedent] [PK] Алдаран снЯл с себЯ курительный жакет.
[decedent] [PK] Алдаран снЯл с себЯ расшитые сапожки.
[decedent] [PK] Алдаран снЯл с себЯ бараньи рога.
[decedent] [PK] Алдаран снЯл с себЯ темный плащ.
[decedent] [PK] Алдаран снЯл с себЯ золотой поЯс с лилиЯми.
[decedent] [PK] Алдаран снЯл с себЯ [LIMIT] щит предков.

В этих случаях произошел вылет.

Так же при щелчке, бывает двойном щелчке левой кнопкой мыши на окна #out и #wout - жаба вылетает, иногда не вылетает. ))

Автор: Aldaran 11 Mar 2008, 15:22

При создании алиасов возникла проблема, в алиасе использовалось большое кол-во выражений через #if, тут было все хорошо (изначально, т.к. было без цветов ansi). После того как начал расскрашивать начали возникать проблемы...

Пример, части которая загружается без ошибок:

#alias {zxca} {#if {$pvo1 > 0} {#show $pvo1a чуть задевает $pvo1b [$pvo1];#var pvo1 0};#if {$pvo2 > 0} {#show $pvo2a царапает $pvo2b [$pvo2];#var pvo2 0};#if {$pvo3 > 0} {#show $pvo3a задевает $pvo3b [$pvo3];#var pvo3 0};#if {$pvo4 > 0} {#show $pvo4a цеплЯет $pvo4b [1\;31m[$pvo4];#var pvo4 0};#if {$pvo5 > 0} {#show $pvo5a режет $pvo5b [1\;31m[$pvo5];#var pvo5 0};#if {$pvo6 > 0} {#show $pvo6a рвет $pvo6b [1\;31m[$pvo6];#var pvo6 0};#if {$pvo7 > 0} {#show $pvo7a разрезает $pvo7b [1\;31m[$pvo7];#var pvo7 0};#if {$pvo8 > 0} {#show $pvo8a ранит $pvo8b [1\;31m[$pvo8];#var pvo8 0};#if {$pvo9 > 0} {#show $pvo9a распарывает $pvo9b [1\;31m[$pvo9];#var pvo9 0};#if {$pvo10 > 0} {#show $pvo10a перерезает $pvo10b [1\;31m[$pvo10];#var pvo10 0};#if {$pvo11 > 0} {#show $pvo11a протыкает $pvo11b [1\;31m[$pvo11];#var pvo11 0};#if {$pvo12 > 0} {#show $pvo12a подкашивает $pvo12b [1\;31m[$pvo12];#var pvo12 0};#if {$pvo13 > 0} {#show $pvo13a травмирует $pvo13b [1\;31m[$pvo13];#var pvo13 0};#if {$pvo14 > 0} {#show $pvo14a <-уродует-> $pvo14b [1\;31m[$pvo14];#var pvo14 0};#if {$pvo15 > 0} {#show $pvo15a <-калечит-> $pvo15b [1\;31m[$pvo15];#var pvo15 0};#if {$pvo16 > 0} {#show $pvo16a <-разрубает-> $pvo16b [1\;31m[$pvo16];#var pvo16 0};#if {$pvo17 > 0} {#show $pvo17a [1\;33m<-режет на части-> $pvo17b [1\;31m[$pvo17];#var pvo17 0}}

Если же к этому добавить, расскрашенные pro18 и т.д. то файл грузится с ошибками, ругается, на то что несовпадают скобки и показывает расскрашенную часть строки или переменную (кусок определенного слова или просто переменную, кусок переменной)... Думал проблема в использование цветов [0\;37m и , дабы в первом используется ";", а во-втором
нет, но ошибка не в этом, такое встречал когда ковырялся в скриптах...

#Ошибка: Несовпадающие скобки!
#Вы не подключены.
$pvo18b [0]

Вот, дабы вы убедились, что ошибка не у меня:

#alias {zxca} {#if {$pvo1 > 0} {#show $pvo1a чуть задевает $pvo1b [$pvo1];#var pvo1 0};#if {$pvo2 > 0} {#show $pvo2a царапает $pvo2b [$pvo2];#var pvo2 0};#if {$pvo3 > 0} {#show $pvo3a задевает $pvo3b [$pvo3];#var pvo3 0};#if {$pvo4 > 0} {#show $pvo4a цеплЯет $pvo4b [1\;31m[$pvo4];#var pvo4 0};#if {$pvo5 > 0} {#show $pvo5a режет $pvo5b [1\;31m[$pvo5];#var pvo5 0};#if {$pvo6 > 0} {#show $pvo6a рвет $pvo6b [1\;31m[$pvo6];#var pvo6 0};#if {$pvo7 > 0} {#show $pvo7a разрезает $pvo7b [1\;31m[$pvo7];#var pvo7 0};#if {$pvo8 > 0} {#show $pvo8a ранит $pvo8b [1\;31m[$pvo8];#var pvo8 0};#if {$pvo9 > 0} {#show $pvo9a распарывает $pvo9b [1\;31m[$pvo9];#var pvo9 0};#if {$pvo10 > 0} {#show $pvo10a перерезает $pvo10b [1\;31m[$pvo10];#var pvo10 0};#if {$pvo11 > 0} {#show $pvo11a протыкает $pvo11b [1\;31m[$pvo11];#var pvo11 0};#if {$pvo12 > 0} {#show $pvo12a подкашивает $pvo12b [1\;31m[$pvo12];#var pvo12 0};#if {$pvo13 > 0} {#show $pvo13a травмирует $pvo13b [1\;31m[$pvo13];#var pvo13 0};#if {$pvo14 > 0} {#show $pvo14a <-уродует-> $pvo14b [1\;31m[$pvo14];#var pvo14 0};#if {$pvo15 > 0} {#show $pvo15a <-калечит-> $pvo15b [1\;31m[$pvo15];#var pvo15 0};#if {$pvo16 > 0} {#show $pvo16a <-разрубает-> $pvo16b [1\;31m[$pvo16];#var pvo16 0};#if {$pvo17 > 0} {#show $pvo17a [1\;33m<-режет на части-> $pvo17b [1\;31m[$pvo17];#var pvo17 0};#if {$pvo18 > 0} {#show $pvo18a [1\;31m*РУБИТ В КАПУСТУ* $pvo18b [1\;31m[$pvo18];#var pvo18 0}}

Пришлось сделать несколько алиасов, так все нормально:

#alias {zxca} {#if {$pvo1 > 0} {#show $pvo1a чуть задевает $pvo1b [$pvo1];#var pvo1 0};#if {$pvo2 > 0} {#show $pvo2a царапает $pvo2b [$pvo2];#var pvo2 0};#if {$pvo3 > 0} {#show $pvo3a задевает $pvo3b [$pvo3];#var pvo3 0};#if {$pvo4 > 0} {#show $pvo4a цеплЯет $pvo4b [1\;31m[$pvo4];#var pvo4 0};#if {$pvo5 > 0} {#show $pvo5a режет $pvo5b [1\;31m[$pvo5];#var pvo5 0};#if {$pvo6 > 0} {#show $pvo6a рвет $pvo6b [1\;31m[$pvo6];#var pvo6 0};#if {$pvo7 > 0} {#show $pvo7a разрезает $pvo7b [1\;31m[$pvo7];#var pvo7 0};#if {$pvo8 > 0} {#show $pvo8a ранит $pvo8b [1\;31m[$pvo8];#var pvo8 0};#if {$pvo9 > 0} {#show $pvo9a распарывает $pvo9b [1\;31m[$pvo9];#var pvo9 0};#if {$pvo10 > 0} {#show $pvo10a перерезает $pvo10b [1\;31m[$pvo10];#var pvo10 0};#if {$pvo11 > 0} {#show $pvo11a протыкает $pvo11b [1\;31m[$pvo11];#var pvo11 0};#if {$pvo12 > 0} {#show $pvo12a подкашивает $pvo12b [1\;31m[$pvo12];#var pvo12 0};#if {$pvo13 > 0} {#show $pvo13a травмирует $pvo13b [1\;31m[$pvo13];#var pvo13 0};#if {$pvo14 > 0} {#show $pvo14a <-уродует-> $pvo14b [1\;31m[$pvo14];#var pvo14 0};#if {$pvo15 > 0} {#show $pvo15a <-калечит-> $pvo15b [1\;31m[$pvo15];#var pvo15 0};#if {$pvo16 > 0} {#show $pvo16a <-разрубает-> $pvo16b [1\;31m[$pvo16];#var pvo16 0};#if {$pvo17 > 0} {#show $pvo17a [1\;33m<-режет на части-> $pvo17b [1\;31m[$pvo17];#var pvo17 0}}

#alias {zxca2} {#if {$pvo23 > 0} {#show $pvo23a [1\;31m#:# ПРЕВРАЩАЕТ В НИЧТО #:# $pvo23b [1\;31m[$pvo23];#var pvo23 0};#if {$pvo20 > 0} {#show $pvo20a [1\;31m#ПРОТЫКАЕТ НАСКВОЗЬ# $pvo20b [1\;31m[$pvo20];#var pvo20 0};#if {$pvo22 > 0} {#show $pvo22a [1\;31m*#@ РАЗИТ @#* $pvo22b [1\;31m[$pvo22];#var pvo22 0};#if {$pvo21 > 0} {#show $pvo21a [1\;31m##ПРЕВРАЩАЕТ В ФАРШ## $pvo21b [1\;31m[$pvo21];#var pvo21 0};#if {$pvo19 > 0} {#show $pvo19a [1\;31m*@*ПЕРЕРУБАЕТ*@* $pvo19b [1\;31m[$pvo19];#var pvo19 0};#if {$pvo18 > 0} {#show $pvo18a [1\;31m*РУБИТ В КАПУСТУ* $pvo18b [1\;31m[$pvo18];#var pvo18 0}}

Возможно изначально ошибки эти были в самой жабе, до изменения интузиастами...
Вообще, хочу сказать большое спасибо Вам, за то что хоть кто-то трудится на благо человечества. Не стоит бросать проект, придумывайте что-то новое laugh.gif)
Поверьте многие признательны за modern jmc, хотя не высказывают это.

Автор: Бяха 24 Apr 2008, 14:03

Краш в программе при добавлении новой группы. В 90% случаем краш происходит сразу просле добавления группы. Остальные 10% происходят просле нажатия на любую другую кнопку.

Добавляю группы ручками sad.gif

Upd: токашо ввел 2 группы находясь в оффлайне... и все норм )))

Автор: Aldaran 05 May 2008, 10:05

Цитата(Бяха @ 24 Apr 2008, 15:03)
Краш в программе при добавлении новой группы. В 90% случаем краш происходит сразу просле добавления группы. Остальные 10% происходят просле нажатия на любую другую кнопку.

Добавляю группы ручками sad.gif

Upd: токашо ввел 2 группы находясь в оффлайне... и все норм )))


Добавлять группы можно двумя способами, просто прописывая в конце каждого триггера, алиаса и т.д. имя группы (или, редактируя *.set файл, ну и у кого возможно сделана конфига через загрузку отдельных файлов, редактируя их) и через вкладку меню jmc objects – groups – add. И добавлять в любом случае нужно в ручную… НЕ пойму зачем тебе нужно их вообще добавлять через вкладку?
Пробовал добавлять группы, не в одном случае не увидел ошибку.


Вот возможно тут что-то или у меня проблемы, хз ну врядли:
При использовании #highlight у меня не работают темные оттенки цветов, только яркие, точнее выбираешь magenta с b black и light magenta с b black (после автоматом переходит на charcoal) не видно разницы в оттенках (не в самих вкладках, а в маде), всегда используется яркая подцветка.

Автор: Ennin 05 May 2008, 19:12

Цитата(Aldaran @ 11 Mar 2008, 15:22)
Вообще, хочу сказать большое спасибо Вам, за то что хоть кто-то трудится на благо человечества. Не стоит бросать проект, придумывайте что-то новое laugh.gif)
Поверьте многие признательны за modern jmc, хотя не высказывают это.

для того, чтобы не бросать, надо а) чтобы кто-то это новое придумывал б) чтобы хотя бы часть тех, кто признателен, это все же высказал. суум суикуе, конечно, но мне вот так кажется

Автор: Aldaran 15 May 2008, 16:53

Хотелось бы увидеть справку на команды на русском...

#colon {leave|replace}
Если включен replace, то при jmc.parse("что-то;что-то") символ (wink.gif воспринимается как разделитель? Только хз, но в самой жабе почему-то не работает, возможно я не правильно понял как работает эта команда? Где это может понадобиться?

Так же хотелось увидеть предложения применения некоторых команд, типа:
#grab, #spit, #next.
Я вообще не понял как работает #next в триггерах... Служит для еще одной проверки, ну хз каким макаром? Да и в циклах (cycle) не особо разобрался, хотя довольно долго ковырялсо.

Очень жаль, что в скриптах, используя объекты jmc нет возможности приписывать группы, кроме как через jmc.parse...

Автор: Aldaran 18 May 2008, 17:18

В основном, справку на новые команды для jmc 3.5 я нашел на http://gryphon-clan.ru/jmc/new... С циклами разобрался, осталось найти применение для команд: #grab, #spit. И поподробнее узнать о #next.

Автор: GrayMage 19 May 2008, 12:51

Афтар в Турции - думаю недели на 2. Рассказать о всех тонкостях может только он. Задай вопрос числа 30...

Автор: Shaidar Haran 19 May 2008, 13:46

Т.е. вопрос будет типа - зачем нужны команды #grap, #spit, #next? Я бы лучше задавал вопросы типа - как сделать какое-то-действие?

Автор: Aldaran 24 May 2008, 16:11

Цитата(Shaidar Haran @ 19 May 2008, 14:46)
Т.е. вопрос будет типа - зачем нужны команды #grap, #spit, #next? Я бы лучше задавал вопросы типа - как сделать какое-то-действие?


Я не спрашивал зачем нужны такие-то команды, у меня был вопрос, где ими можно воспользоваться и какое применения их посоветует автор... Для чего нужны эти команды понятно по справке ("списку последних изменений").


Еще интересна работа "run". Для правильной работы и запуска приложений, нужно четкое использование "/" и "\":

jmc.run("WINAMP/WINAMP.exe \SOUND\\start.mp3")
#run WINAMP/WINAMP.exe \SOUND\\start.mp3
jmc.parse("#run WINAMP/WINAMP.exe \\SOUND/start.mp3")

И другой вопрос, возможно вообще не в эту тему:
Как дропнуть строку приходящюю из мада с в скрипте:
jmc.DropEvent(); и jmc.parse("#drop"); - не работают, возможно, где-то ошибаюсь, приходится использовать:

#action {^-%2>%1 говорит вам '%0'} {#show {char}{-%2>};#showme {};#showme {[1\;42[m[1\;32[m$TIME [TELL] [1\;37[m%1[1\;31[m : '%0'};#drop;#scr TellTalk("<<- %1 : '%0'");-comeinmessage-} {4} {dialogs}
#action {^-%2>%1 шепчет вам на ухо '%0'} {#show {char}{-%2>};#showme {};#showme {[1\;42[m[1\;32[m$TIME [WHISPER] [1\;37[m%1[1\;31[m : '%0'};#drop;#scri WhisperTalk("<<- %1 : '%0'");-comeinmessage-} {4} {dialogs}


function Grabtells(){
m_date = new Date();
var MonthArr = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");

var Ntime;
var Ntimeout;
var Ndate;
var Year = m_date.getYear();
var Month = MonthArr[m_date.getMonth()];
var Day = m_date.getDate();
var Hour = m_date.getHours();
var Min = m_date.getMinutes();

Ntime = ((Hour>9) ? "" : "0")+ Hour + ((Min>9) ? ":" : ".0") + Min;
Ndate = "[" + ((Day>9) ? '' : '0') + Day + '.' + Month + '.' + Year + "]" + "[" + Ntime + "]";

var tmp = jmc.Event;
var itell = /^([|[0\;0m|[0\;30m|[0\;31m|[0\;32m|[0\;33m|[0\;34m|[0\;35m|[0\;36m|[0\;37m|[1\;30m|[1\;31m|[1\;32m|[1\;33m|[1\;34m|[1\;35m|[1\;36m|[1\;37m|[1\;40m|[1\;41m|[1\;42m|[1\;43m|[1\;44m|[1\;45m|[1\;460m|[1\;47m]+)([А-Я][а-я]+|Кто-то) говорит вам '(.+)'([|[0\;0m|[0\;30m|[0\;31m|[0\;32m|[0\;33m|[0\;34m|[0\;35m|[0\;36m|[0\;37m|[1\;30m|[1\;31m|[1\;32m|[1\;33m|[1\;34m|[1\;35m|[1\;36m|[1\;37m|[1\;40m|[1\;41m|[1\;42m|[1\;43m|[1\;44m|[1\;45m|[1\;460m|[1\;47m]+)$/;
if(itell.test(tmp)==true){
res = itell.exec(tmp);
if((res[2]!='Кузнец') && (res[2]!='Трактирщик') && (res[2]!='Торговец')){
Savetell(""+Ndate+" >>> "+res[2]+" : '"+res[3]+"'");
jmc.showme("");
jmc.showme("[1\;42[m[1\;32[m"+Ntime+" [TELL] [1\;37[m"+res[2]+"[1\;31[m : "+res[3]+"");
}
}
}
jmc.RegisterHandler("Incoming","Grabtells()");

Автор: Ennin 26 May 2008, 11:30

Цитата(Aldaran @ 24 May 2008, 16:11)
Я не спрашивал зачем нужны такие-то команды, у меня был вопрос, где ими можно воспользоваться и какое применения их посоветует автор... Для чего нужны эти команды понятно по справке ("списку последних изменений").

#next служит для ограниченного перебора триггеров. #spit - примеры есть на сайте, и, скажем, когда я перелопачивал расы мобов всего мира, с помощью спита у меня ушло несколько часов, ручками бы ушло дня два-три. граб делался в принципе в основном как замедленный спит. стандартной применение для обоих - было песни. но придумать можно много чего, в т.ч. одной командой граб можно сделать полубота
Цитата(Aldaran @ 24 May 2008, 16:11)
Еще интересна работа "run". Для правильной работы и запуска приложений, нужно четкое использование "/" и "\":

jmc.run("WINAMP/WINAMP.exe \SOUND\\start.mp3")
#run WINAMP/WINAMP.exe \SOUND\\start.mp3
jmc.parse("#run WINAMP/WINAMP.exe \\SOUND/start.mp3")

а в чем вопрос?

Цитата(Aldaran @ 24 May 2008, 16:11)
И другой вопрос, возможно вообще не в эту тему:
Как дропнуть строку приходящюю из мада с в  скрипте:
jmc.DropEvent(); и jmc.parse("#drop"); - не работают, возможно, где-то ошибаюсь

не помню причины такого поведения и невозможности фикса, но из диспатчера дропы не работают никаким образом

Автор: Бяха 27 May 2008, 10:20

Цитата(Aldaran @ 05 May 2008, 10:05)
Добавлять группы можно ... и через вкладку меню jmc objects – groups – add. И добавлять в любом случае нужно в ручную… НЕ пойму зачем тебе нужно их вообще добавлять через вкладку?
Тебе не кажется что ты себе противоречишь? spiteful.gif Если МОЖНО добавить группы через вкладку, то почему бы не ДОБАВИТЬ?

А теперь "давайте договоримся о терминах (с)":
"Ручками" - (я имею ввиду) надо открыть текстовый редактор, ручками-ручками вбить нужный текст с нужным синтаксисом, сохранить файл, и только тогда в моем конфиге появится новая группа.
"Не Ручками" - открываем "жабу" заходим в "вкладку меню jmc objects – groups – add (с)" вписываем название группы и вуаля, она в моем конфиге.

Так вот, я повторюсь, первый способ - работал. Второй - давал вылет клиента в 90-80% случаев. Я НЕ наезжаю. ни в коем случае. Я просто хочу разобраться в процессе и поэтому привожу факты.

---
Была еще ситуевина с тригерами и группами blink.gif .... но тут полная изотерика и я опасаюсь, что начав описывать произошедшее сам запутаюсь. Но постараюсь:
- группа Х включается тригером А1 из дефолтной группы.
- внутри группы есть тригер Х0 который отключает группу Х
- группа Ф включается тригером А2 из дефолтной группы.
- внутри группы есть тригер Ф0 который отключает группу Ф
(в каждой группе есть еще по 1 тригеру помимо отключающего группу)

Проблемма в том, что при попытке "не ручками" ввести описаное выше: либо тригер А1 исчезает, а А2 остается, либо А2 исчезает, а А1 остается. Я уже "ручками" начал их вписывать - при загрузке конфига они вроде есть, но достаточно включить в jmc objects – triggers фильтр по группам и один из них пропадает.
Победил я это только нем что присвоил им разные приоритеты и потратив на это дело 2 часа.
---

Фух. вот. отписался )))
---
А за програмку спасибо парни. Вы делаете то что многие ждали долгие годы smile.gif smile.gif smile.gif

Автор: Бяха 27 May 2008, 10:45

Предложения и вопросы:

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

---
Исправления к посту выше: исчезаются тригеры Ф0 и Х0, а не А1 и А2.

Автор: Бяха 27 May 2008, 11:28

(извиняюсь за спам, но опция редактирования своих месаг не доступна sad.gif )

Предложение:
- чтобы при выводе месаги в окнах аутпута, она выводилась с родной расцветкой.

Автор: Бяха 27 May 2008, 13:05

(епть, опять спамлю но се ля ви)
Если интересуют идеи новшеств посмотри на клиент "http://www.clanskitalec.narod.ru/frame.htm"

Одно из удобств:
- панелька на которой как угодно можно размещать какие угодно символы и они одновременно могут быть и кнопками ( shok.gif )

Остальное в Жабе достигается скриптами, ну а эти парни расширили ТинТин.

Автор: Aldaran 28 May 2008, 09:21

Цитата(Бяха @ 27 May 2008, 12:28)
(епть, опять спамлю но се ля ви)
Если интересуют идеи новшеств посмотри на клиент "Hameleon"

Писал уже давно в жалобу, по поводу адского новичек Aldaran, невозможности редактирования своего последнего сообщения, так же невозможности глянуть профиль/информацию о ком нибудь из участников форума, даже себя, пока не зайдешь в редактирование своего профиля.
К сожалению не могу ничего сказать насчет клиента "Hameleon", никогда не пользовался им, но вот видел у своего приятеля, при загрузке jmc через #out кучу символов, которые он иногда использует, но посчитал это не красиво...
#out {µ є Є њ Њ ќ Ќ ў Ў љ Љ ѓ ґ Ґ ћ ђ Ћ < >  € ˜ ‹ › ‘ ’ “ ” • · – — џ Џ ¤ ° © ® ™ Ї ї « » ¬ ­ ± „ … ¶ ¦ § † ‡ ‰}
Но если появится возомжность вешать на них алиасы/команды и использовать как кнопки будет очень даже приятно.

Я не могу сказать причин твоих проблем с группами в jmc, у меня не возникает их.

Спасибо тебе Ennin, что отписался об использовании команд.
Вопроса по поводу команды #run не было, но незнаю ошибка ли это, просто при создании скрипта, приходится тестить его на работоспособность, так как возможно неправильное расположение '/' и '\'.

Автор: GrayMage 28 May 2008, 11:11

Цитата(Aldaran @ 28 May 2008, 10:21)
Писал уже давно в жалобу, по поводу адского новичек Aldaran, невозможности редактирования своего последнего сообщения, так же невозможности глянуть профиль/информацию о ком нибудь из участников форума, даже себя, пока не зайдешь в редактирование своего профиля.

Слишком много ботов и альтов развелось - надо набрать 20 полезных сообщений и ты выйдешь из группы новеньких.

Автор: Ennin 28 May 2008, 11:13

Цитата(Бяха @ 27 May 2008, 10:20)
"Ручками" - (я имею ввиду) надо открыть текстовый редактор, ручками-ручками вбить нужный текст с нужным синтаксисом, сохранить файл, и только тогда в моем конфиге появится новая группа.
"Не Ручками" - открываем "жабу" заходим в "вкладку меню jmc objects – groups – add (с)" вписываем название группы и вуаля, она в моем конфиге.

Так вот, я повторюсь, первый способ - работал. Второй - давал вылет клиента в 90-80% случаев. Я НЕ наезжаю. ни в коем случае. Я просто хочу разобраться в процессе и поэтому привожу факты.

Была еще ситуевина с тригерами и группами  blink.gif .... но тут полная изотерика и я опасаюсь, что начав описывать произошедшее сам запутаюсь. Но постараюсь:
- группа Х включается тригером А1 из дефолтной группы.
- внутри группы есть тригер Х0 который отключает группу Х
- группа Ф включается тригером А2 из дефолтной группы.
- внутри группы есть тригер Ф0 который отключает группу Ф
(в каждой группе есть еще по 1 тригеру помимо отключающего группу)

Проблемма в том, что при попытке "не ручками" ввести описаное выше: либо тригер А1 исчезает, а А2 остается, либо А2 исчезает, а А1 остается. Я уже "ручками" начал их вписывать - при загрузке конфига они вроде есть, но достаточно включить в jmc objects – triggers фильтр по группам и один из них пропадает.
Победил я это только нем что присвоил им разные приоритеты и потратив на это дело 2 часа.

можно посмотреть скрипты? повторяются ли ошибки на других компьютерах и других версиях клиента?

Цитата(Бяха @ 27 May 2008, 10:45)
- ввести закладку на которой можно редактировать переменные.

м... можно, наверное. а надо?

Цитата(Бяха @ 27 May 2008, 10:45)
- в каком порядке пишутся тригеры в конфиг? у меня  только наобум получилось избавиться от своих изотерических тригеров вписав в разные места конфига с разными приоритетами..... хотя хз это ли повлияло на результат.

пишутся в порядке добавления + сортировка по приоритетам


Цитата(Бяха @ 27 May 2008, 11:28)
- чтобы при выводе месаги в окнах аутпута, она выводилась с родной расцветкой.

тут три пути:
1. ничего не делать. строка при попадании в триггер лишается расцветки, чтобы было возможно не заморачиваться с цветами при написании action. но если ловить через скриптовое событие, там строка не обрабатывается, и делать можно что угодно
2. отменить лишение расцветки строки на входе
3. кажется, я его забыл, пока писал первый idontno.gif

Цитата(Бяха @ 27 May 2008, 13:05)
Если интересуют идеи новшеств посмотри на клиент "http://www.clanskitalec.narod.ru/frame.htm"

Одно из удобств:
- панелька на которой как угодно можно размещать какие угодно символы и они одновременно могут быть и кнопками ( shok.gif )

Остальное в Жабе достигается скриптами, ну а эти парни расширили ТинТин.

гм... возможно


Цитата(Aldaran @ 28 May 2008, 09:21)
Вопроса по поводу команды #run не было, но незнаю ошибка ли это, просто при создании скрипта, приходится тестить его на работоспособность, так как возможно неправильное расположение '/' и '\'.

у меня пули вышли, проблема на вашей стороне (С)
дело в том, что строка просто отправляется виндовому исполнителю и он уже ее обрабатывает. поэтому должно работать все то, что выполняется в командной строке. разные слэши - это все винды smile.gif

Автор: Aldaran 28 May 2008, 13:21

Цитата(Ennin @ 28 May 2008, 12:13)
Цитата(Бяха @ 27 May 2008, 10:45)
- ввести закладку на которой можно редактировать переменные.

м... можно, наверное. а надо?

Не вижу смысла, делать новую вкладку для редактирования переменных, а если и нужно посмотреть на них, то вполне хватает команды #var:
#Определенные переменные:
{acthp}={182}
{actmana}={463}
{armor}={0}
{bash}={0}
{maxrange}={47}
{minrange}={35}
{prevhp}={182}
{prevmana}={463}

Цитата(Бяха @ 27 May 2008, 10:45)
- в каком порядке пишутся тригеры в конфиг? у меня  только наобум получилось избавиться от своих изотерических тригеров вписав в разные места конфига с разными приоритетами..... хотя хз это ли повлияло на результат.

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

Цитата(Бяха @ 27 May 2008, 11:28)
- чтобы при выводе месаги в окнах аутпута, она выводилась с родной расцветкой.

Как написал Ennin используй скрипты с региксами, чтобы поймать сообщения, а потом уж отправить в окно вывода, смотри примерный скрипт выше, тока добавляй Jmc.woutput(1, ""+Ndate+" >>> "+res[2]+" : '"+res[3]+"'") и убирай jmc.showme...

Автор: Aldaran 01 Jun 2008, 22:48

Глянул клиент Hameleon... Выглядит довольно приятно, но как оказалось овчинка выделки не стоит:

НЕ ПОНРАВИЛОСЬ:
1) Нет меню насройки мад-клиента, точнее настройки разделителя команд CommandDelimiter, настройки контроля на введенный символ char, настроек расположения курсора, после посылки команды, очистка последнего слова в строке ввода, очистка всех слов, кроме первого и т.д. Нет возможности заменять при записи нового лога старый, в jmc лог можно буквально сохранять с любым именем, тут или *.htm или *.txt, нельзя писать лог типа RMA, для проигрывании его на rma-плеере...
2) Нет меню настройки подцветок highlight.
3) Нет команды #antisubstitute
4) Кнопка клавиши ESС не работает, как очистка строки ввода.
5) Не работает отображение ansi цветов в маде. Пример:
1mОбщий зал таверны.
mВыходы: юг.
(1;33m*36mВолшебное33m*)1;33mДоска объЯвлений(board) - тут вы можете оставить ваше сообщение.
31mКамин(fireplace) Ярко пылает, согреваЯ все вокруг.
35mБрыльский лекарь(healer) отдыхает у огнЯ, готовый помочь пострадавшим.
1;30mI.. 1;33m1069/1;30m2018 36m309/309 559/559 0 1;30m-ночь- 1mЮ -

6) Команды #stat1/#stat2 - работают только как полоса состаяния для процентной визуализации числовых параметров.
7) Команды #add - работает только для сложения, #sub - только для вычитания. Команда в jmc #math - более практичная, и используется для разных целей: вычитания, сложения, умножения и т.д.
8) При запуске скрипта, #script {Язык} {имя файла} - Нет возможности запускать скрипт по названию. Новый скрипт - новое имя файла.
9) Использование в hotkey кодов клавиш клавиатуры #hotkey {код} {команда}, а не так как сделано в jmc, #hotkey {группа клавиш/клавиша} {команда}.
10) Не работают сокращенные команды, например, если напишешь #act вместо #action, напишет Неизвестная команда #act и т.д.


ПОНРАВИЛОСЬ:
1) Поддержка разных языков скриптов, #script {Язык} {имя файла}, например: #script VBScript d.vbs.
2) Команда #add$, работает #add$ {$переменная} {значение}, добавляет к переменной $переменная значение, например:
если $переменная равна 100r, то после команды #add$ $переменная 5, изменит значение переменной $переменная на 100r5.
Команда #percent, используется как #percent $переменная числит знам, заносит в переменную $переменная округленное значения (100*числит/знам)
Команда #ontick {команда, которая выполнится при обнулении счетчика таймера}
#onconnect {команда, которая выполнится в начале соединения с сервером}
#ondisconnect {команда, которая выполнится при разрыве соединения с сервером}
3) Возможность использования массивов (команды #ar/#unar/#for/#sort) и множеств (#set/#sort), например:
#set d {0123456789}
#action {Ты получаешь %d опыта.} {гг %d опыта получил}
4) Можно сделать панель кнопок, правда всего одну, на правой или левой стороне, ну а кнопок сколько угодно, можно с помощью команды сделать выделение кнопки.
#selbutton {button№} 0/1 - 1 выделенна, 0 не выделнна
#button {button№} {координаты кнопки} {имя кнопки} {команда}
#delbutton {button№}
5) В меню Вид есть кнопка сброса буфера экрана, да и размер буфера строки меет 900000.
6) Есть возможность менять цвет команд и командных сообщений.
7) Различные вариаты команд сравнения, правда команда #if или #scri if() не плохо рабоют и так.
8) Есть возможность ввода пароля в специальном окне, то есть при команде #pasw появляется окно ввода пароля персонажа.
9) При двойном нажатие стрелок вверх или вниз происходит выделение строки ввода.

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

Автор: Бяха 04 Jun 2008, 14:05

Цитата(Ennin @ 28 May 2008, 11:13)
можно посмотреть скрипты? повторяются ли ошибки на других компьютерах и других версиях клиента?

Скрипты отошлю в ПМ. На других компах не проверял ибо играю только из дому. Другие версии тож не проверял ибо на самой последней играю.

Цитата(Ennin @ 28 May 2008, 11:13)
м... можно, наверное. а надо?
надо-надо. у меня этих переменных штук 30. Через #var задолбешся их рассматривать и изменять smile.gif

Цитата(Ennin @ 28 May 2008, 11:13)
пишутся в порядке добавления + сортировка по приоритетам
Я почему спрашиваю - при пробах решения своей "изотерич." проблеммы я заметил что тригеры записываются согласно приоритетам, а тригеры одного приоритета - по алфавиту. Но вот эти мои бедовые тригера почему-то с 4-м приоритетом влазят перед после 6-го, итп. Короче, наверно я тебе весь свой конфиг брошу, глянешь.

Цитата(Ennin @ 28 May 2008, 11:13)
тут три пути:
1. ничего не делать. строка при попадании в триггер лишается расцветки, чтобы было возможно не заморачиваться с цветами при написании action. но если ловить через скриптовое событие, там строка не обрабатывается, и делать можно что угодно
2. отменить лишение расцветки строки на входе
3. кажется, я его забыл, пока писал первый  idontno.gif
Эээээм. Можно с примерами первые два пункта? А то я наверно отупел немного за последний месяц.


Добавлено ([mergetime]1212577549[/mergetime]):
Ennin, НЕ МОГУ на форуме пользоваться ПМ-ом и отсылкой на Мейл. Стукнись на mikki_kipt[kharkov[ua , я тебе отреплаю.

Автор: Aldaran 08 Jun 2008, 00:07

У меня хрень блин со скриптами...
Ковырял скрипты в файле t.scr, сделал то что мне нужно, работает... (*вздох)
Есть файлы со скриптами: commonlib.scr, dialogs.scr, affect.scr, base.scr, command.scr, compressor.scr, game_nap.scr, game_pal.scr, help.scr, logs.scr, moneyvis.scr, pk_list.scr, quest_live_sl2.scr, quest_live_sl1.scr, rar.scr, sids.scr, tick.scr, weapondisarm.scr, t.scr.
Создал файл alldialogs.scr, да и другие пробовал... Перенес туда скрипт, прописал загрузку файла, после этого он перестает работать, ошибок не выдает, просто игнорируется!!! Пока снова не перенесешь его назад в t.scr или не зайдешь в кладку jmc objects => Script files, не удалишь его и добавишь таким же способом, после этих процедур начинает работать...

Автор: prodik 08 Jun 2008, 14:09

Здравствуйте, я игрок мира "Аладон". Сижу я на ммс и давно уже хочу чтобы было реализовано в ммс окошки, как в жабе 3.5. Какая есть возможность реализовать это? Может быть каким-то скриптом, исходниками из жабы иль дополнительной прогой, которая прикрепляется поверх ммс. Вот наша ветка про ммс: http://myth.p0.ru/forum/7-691-1. Я больше консультант чем программер, Иохар у нас программер по ммс, но он ушел в рл. Жду ответа.

ЗЫ. Минусы заметил у жабы 3.5, по сравнению с другими версиями, строчки из мада как будто выскакивают, может быть конечно мона привыкнуть, но пока нейдобно. Жабу делаю для жены smile.gif

Автор: Shaidar Haran 08 Jun 2008, 14:24

Prodik - не пытался в ммс нажимать M-1, M-2, M-3, и т.п.? Вкупе с командой /wecho {#окна} {сообщение} можно легко получить желаемое.
Про окошки как в жабе - прикрутить окна в консольное приложение будет нетривиальной задачей.

Автор: prodik 08 Jun 2008, 16:57

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

Автор: Ennin 25 Jun 2008, 17:09

можно, но это отдельная тема

Автор: Aldaran 02 Jul 2008, 21:28

Уже писал примерное, но: Создал новый файл со скриптами, прописал его загрузку, запустил jmc, короч файл со скриптами просто игнорится (не выдает ошибок, не запускает функции, хотя в объектах jmc - показывает, что загружен). Запустил я его вручную, через вкладки jmc... заработал, НО! зато другой файл со скриптами перестал работать ))))))))))))
Такое ощущение, что там загрузка файлов *.scr просто лимитируется...

Блин не то... Сорри ребята...
Увидел уже несколько позже, что скрипты грузятся в любых кол-вах файлах *.scr, а не работают только те функции где используется тип событий incoming... У меня было их 3: function Grabtells(), function MobTrigEng(), function requestOn()... Один из них не работал... сделал все в одну функцию...сцуко начали работать.
Хз в чем причина, шаблоны на регулярных выражениях рабочие... Просто не хочет обрабатывать строку!?

Автор: Aldaran 31 Jul 2008, 13:09

Здравствуйте!

Есть команда #gag, но нет команды #ungag.

Форум Invision Power Board (http://nulled.cc)
© Invision Power Services (http://nulled.cc)