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



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

> Новый JMC, Есть еще энтузиасты )
Колко
Отправлено: Jan 12 2018, 15:41
Quote Post


Мидл
***

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



Сделать возможность поставить тикер меньше чем на 10 секунд. Удобно при каче - поставил 3-ех секундный тикер и по срабатыванию тикера выпад и ходишь чаек попиваешь.


--------------------
Шрайк
PMEmail Poster
Top
Фелей
Отправлено: Jan 13 2018, 16:12
Quote Post


Ньюб
*

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



Если необходимо выполнять некоторое действие просто с некоторым периодом, то все уже реализовано. Для этого можно использовать циклы. Ниже приведен отрывок справки Nerevar, с полным текстом которой можно ознакомится по адресу http://nerevar.github.io/jmc/pages/command/
CODE

#loop

Syntax:
#<num>, #loop
Обе команды переданы под контроль отдельного цикла, каждой добавлена возможность задержки (в децисекундах, 1/10 секунды).

Эта команда повторяет заданную последовательность команд указанное число раз.

#<num>[:<delay>]
цикл от 1 до num.

#loop {<from>[,<to>][:<delay>]}
#loop начинает выполнять указанные команды в цикле, сохраняя текущее значение счетчика в переменной %0.
если указан второй параметр, то от from до to, иначе от from до 0.
Если delay не указан, считается нулем и цикл не задействует таймер, иначе ищется свободный таймер и цикл передается под его контроль.
Всего выделены под это дело 16 таймеров (0..15). если свободный таймер не найден, то и цикла не получится.
Может быть, позже будет выделено больше. Пока нет необходимости, 16 - это много.

#break {<tID>|all}
Прерывает цикл(ы). второй вызов убивает (обнуляет).

#abort {<tID>|all}
Убивает (обнуляет) цикл(ы) сразу.

#resume {<tID>|all}, #pinch [all]
Возобновляет цикл(ы), если он неактивен и работоспособен (есть первая/вторая граница, команда и задержка)

#llist, #tmlist
Список активных циклов.

Примеры:
#5 {sing}
В мад уйдет команда sing;sing;sing;sing;sing - Вы споете (sing) 5 песен.

#10 {eat bread;drink water}
Вы поедите хлеба (eat bread) и выпьете воды (drink water) 10 раз.

#loop {2,5} {взять все %0.сундук} Вы возьмете все предметы из 2-го, 3-го, 4-го и 5-го сундуков.


Например, для того чтобы постоянно каждые три 3 секунды выполнять выпад, можно набрать команду
CODE

#100000:30 выпад

Первое число задает количество повторений (100000 каждые три секунды будут длиться больше 3-х суток). Второй аргумент определяет период повторения в десятых долях секунды - в приведенном примере, 30 десятых дает 3 секунды.
Каждый цикл для своей работы требует отдельного таймера. Сейчас в jmc на эти цели выделено 16 таймеров, т.е. можно одновременно запустить до 16-ти независимых циклов, с разными периодами и командами.
PMEmail Poster
Top
Колко
Отправлено: Jan 15 2018, 14:10
Quote Post


Мидл
***

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



И еще у меня есть вредная привычка, заспамливать действия.
Бывает нажму разгром слишком много раз, команды запишутся в очередь на выполнение, а потом сбежать не могу.
Приходится в быстром порядку через #zap рвать связи и конектится по новой.
Может есть какая команда или сочетание клавишь, чтобы очередь команд чистить.

В http://nerevar.github.io/jmc/pages/command/ сказано что #wt 0 должна очищать очередь команд - реально же она это не делает.


--------------------
Шрайк
PMEmail Poster
Top
Фелей
Отправлено: Jan 16 2018, 20:02
Quote Post


Ньюб
*

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



Когда вы много раз нажимаете команду, например, тот же разгром, то задержка в их исполнении возникает не со стороны jmc, а со стороны сервера. Jmc отправляет команды сразу без задержек. В этом можно легко убедиться воспользовавшись сниффером. Принятые на стороне сервера команды находятся в буфере, связанном с открытым соединением между клиентом (jmc) и сервером (Аладоном). Клиент не имеет доступа к буферам находящимся на сервере, и отправленные команды просто так удалить невозможно. Когда вы разрываете соединение, буфер со всеми заспамленными командами становится недоступным. Все оставшиеся в нем команды по факту теряются, и при повторном соединении вы можете спокойно вводить новые. Это все я к тому, что нельзя сделать команду в jmc, позволяющую очищать заспамленные команды, т.к. они уже переданы на сервер. Могу лишь порекомендовать не спамить кучу команд разом.

Насчет команды #wt или #wait.
Они позволяют формировать очередь команд со стороны jmc. Если набрать команду
CODE

#wt 50; разгром

то, через 5 секунд на сервер будет отправлена команда "разгром". Особенность в том, что задержка в этом случае формируется со стороны клиента. Команды задерживаются в специальном буфере в jmc, к которому естественно есть полный доступ. Если до истечения указанных 5-ти секунд, набрать команду #wait cancel, то команда "разгром" отправлена не будет.
С описанием команды #wt 0 есть неточность - она не очищает очередь команд, а просто сбрасывает таймер и все задержанные команды мгновенно уходят на сервер. Это так и задумывалось. Неточность в справке.
PMEmail Poster
Top
Энерхан
Отправлено: Apr 7 2018, 14:41
Quote Post


Ньюб
*

Группа: Аватары
Сообщений: 32
Пользователь №: 3653
Регистрация: 12-March 18



Ребята не убивайте сразу,но у меня есть два вопроса.
1.Возможно ли сделать какой то алиас или тригер для вывода информации о СТАТУСЕ группе(хп,манна и т.д.) в отдельное окошко?
2.Как сделать тригер-команду для вывода автоматического ГГ мол Вася призвал меня к себе в такую то комнату?.

Спасибо.
PMEmail Poster
Top
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Страницы: (6) « Первая ... 4 5 [6]  Reply to this topicStart new topic

 



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