Показать сообщение отдельно
Старый 09.05.2006, 18:24   #3
Devastator
Отличник форума
 
Регистрация: 18.10.2005
Адрес: Пермь
Сообщений: 273
По умолчанию

Сам долго мучался над этой проблемой, кое что начал понимать.
Начнем по парядку писать FAQ, т.к часто встал встречаться данный вопрос.
Часть 1.
Для начала советую удалить жмс, кроме ваших конфигов.
Качаем нормальную JMC с http://jmc.mud.ru/install30.exe
Затем идем Опции/Настройки/Скрипты Выбираем язык скриптов JScript.Encode
Включаем отладку.

И так при загрузке Жавы идет обработка скриптов. JMC загружает 2 файла
1. settings\common.scr – Этот файл общий для всех профайлов. Это хорошее место, что бы хранить общие для всех профайлов скрипты. Например, спидволки, дейсвия при входе и тп.
2. <settings\profile_name.scr> - скрипты, специфичные для данного профайла.

Небудем входить в подробности, а просто посмотрим, на примерах всеже легче понять )
- Тригер
function OnIncoming() {
if( jmc.Event=="Вы голодны." ) {
jmc.send("пит мех");
}
}
jmc.RegisterHandler("Incoming","OnIncoming()");


поясним что тут произошло.
Event – содержит параметр события объекта jmc.
Т.к из мада приходит строка. то мы должны зарегестрировать событие в функции как приходящие т.е Incoming.
jmc.RegisterHandler("событие" , "функция-обработчик");
А Send(text) – посылает текст-параметр напрямую в MUD. Без какой-либо обработки альясами.
Вот закончили с тригером.

-Алиас
function Alias(){
if(jmc.Event=="ac"){
jmc.showme("Алиас работает !!!!!");
jmc.DropEvent();
}
}
jmc.RegisterHandler("Input","Alias()");

так теперь у нас Event строка которую мы вводим, следовательно регестируем как Input
DropEvent - вводимая строка не будет обработана или послана серверу MUD
__________________
Владение орфографией русского языка - это как кунг-фу, истинные мастера которого не применяют его без надобности.

Последний раз редактировалось Devastator; 09.05.2006 в 18:41.
Devastator вне форума   Ответить с цитированием