Автор Тема: zMUD: странности  (Прочитано 34483 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
zMUD: странности
« Ответ #35 : 13.02.07, 16:48:43 »
Grelin
Цитировать
Ну и где здесь я сделал обработку скриптовым языком

там-нет, а раньше -
Цитировать
#script

В 1м случае я так понимаю ты пытаешься поймать тик когда явно о тике ничего не свидетельствует, основываясь на том что в этом случае выдается 2 пустые строки подряд. А если они выскочат по другой причине? Я, когда выбирал "как буду ловить тик", решил что это должно быть событие однозначно определяющее тик. Благо когда левелишься, проблем с такими событиями не возникает, а когда тупо трансишь до квеста, то и тик не особо нужен.
С чем я могу согласиться так это с твоим последним триггером, там действительно без скрипта через оператор "или" ты обработал смену времени. Однако в обработке ты использовал не саму смену времени а переменную опыта, которая числовая. Забавный ход, а что если тебе нужно опыт проанализировать? Плюсовать будешь?
Что это как не реализация через Ж? Просто согласись...

Про спамотик я тебе рассказал дабы подать пример - как можно рассказывать о методе, не копипастя.

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

Оффлайн Отчаянный Дикки

  • Путешественник
  • **
  • Сообщений: 309
  • Карма: 0
zMUD: странности
« Ответ #36 : 13.02.07, 16:57:54 »
Да я спамер =) Я Же Гродер черт меня дери.. Это как второе имя =)

Но я думаю что с Жабой все нормально, доступно и понятно. Лично мне зМад не нравится, но я его уваЖаю, как отличный мад-клиент. С этим спорить тоЖе бессмысленно.. Но насколько я поразбирался в перле и в ММС - лучшим клиентом на мой взгляд остается он, безоговорочно. Поэтому в вашем споре я придерЖиваюсь нейтральной позиции.

PS:
Жаль я не знаю перл и ничтоЖен в программировании. Так бы разумеется сидел на ММС. Хотя мне сказали что его выучить совсем не слоЖно. ЧтоЖ. Будет время - попробую. А пока - я за Жабу.
[size=20]  IN TYLER WE TRUST  [/size]

Оффлайн Локхорн

  • Громогласный
  • ******
  • Сообщений: 3420
  • Карма: 4
  • Псевдомудрое и как бы мыслящее
    • http://oper.ru
zMUD: странности
« Ответ #37 : 16.02.07, 19:30:06 »
фор Кибер онли (первые мадклиенты):
http://postnext.com/archives/033431.html#more
bash: Помоему, у геймеров есть только один инстинкт - инстинкт автосохранения

Оффлайн Barkett

  • Любимец Богов
  • ***
  • Сообщений: 1318
  • Карма: -6
zMUD: странности
« Ответ #38 : 17.02.07, 01:19:58 »
Одни из первых программ я писал для МК-61 и МК-85.
если у вас совесть чиста, значит ваш друг - Бог. (с) Е.Ачилова

http://klanz.ru/ref/user_4535

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
zMUD: странности
« Ответ #39 : 24.02.07, 12:45:34 »
Но вообще да, должен признать что бы неправ насчет времени - событие можно поймать без #script.
Однако такой метод забирает 4 %-переменных, поэтому на остальные параметры из строки приглашения остается 6 (по два на хп, ману и мувы), получается анализом опыта мы жертвуем, что не очень хорошо.
У мну такой вопрос:
как можно при помощи скриптов заменить какой-либо приходящий символ на символ возврата каретки (CR)?
jmc.RegisterHandler("Incoming", "OnInc()");
function OnInc()
{var line = jmc.Event;
if (line.search("$symbol")!=-1)
{jmc.Event = line.replace("$symbol"," - ???? - ")};
}
Все заменяется, загвоздка в самом символе возврата каретки - я не знаю, есть-ли у jmc специальный символ, я вообще не знаю как телнетом реализовать возврат каретки.

Оффлайн Seido

  • Орден Серебрянного Единорога
  • Постоялец
  • *
  • Сообщений: 129
  • Карма: 5
  • Пол: Мужской
zMUD: странности
« Ответ #40 : 24.02.07, 23:45:26 »
чет много понапесали, ничитал

Цитировать
Цитата:#action {%0 arrives from the %1} {#script if ("%0"=="$target") jmc.Send("kill $target")}

Из которой видно, что реализация идет через скриптовый язык (по умолчанию в жабе js),

а ч0 мешает напесать
#action {$target arrives from the} {kill $target}
хах, а главное - работает
по мноооогим остальным пунктам описанным на последней странице, в том числе по тикерам, проблемы решаемы тривиально. мыслить нада шире, способов достижения цели как правило настолько много, что хотя бы один - элементарно реализуем.
сравнение строк... ахахаха ((%

з.ы. возврат каретки в телнете такой же как везде - #13 (в js - вместо "- ???? -" самое обычное "\0D"); просто врядли это приведет к ожидаемому тобой резалту: вывод строки обрывается символом CR и начинается вывод следующей строки, а не продолжения той же, что вполне естественно.

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
zMUD: странности
« Ответ #41 : 25.02.07, 09:05:13 »
Seido
а как тогда вставить еще и CR? )))

Оффлайн Seido

  • Орден Серебрянного Единорога
  • Постоялец
  • *
  • Сообщений: 129
  • Карма: 5
  • Пол: Мужской
zMUD: странности
« Ответ #42 : 25.02.07, 18:16:08 »
Цитировать
Seido
а как тогда вставить еще и CR? )))

он и вставляется! ч0заептянипанимаю.

можешь просто по-русски сказать - ч0 те нада?
я вот на днях пытался состряпать эмулирование нейросетей для распознавания и автокоррекции ачипяток в вводе ардовских команд и частых буквосочетаний (типа "вх вс1 ркнд") - идиотизм, но был стимул - предстоящая лаба по сетям хемминга, поготовился типа, ну а вот тебе - зачем фигнёй страдать? какова цель-то?

на самом деле как бы чево ни сделал ты с выводом строки, в которой есть символ CR - ни к чему хорошему это не приведёт, вот тебе кусочег исходнега жабы (3.27):

void tintin_puts2(char *cptr) // Вывод строки cptr в окно жабы - Seido
{
<...>
       char buff[BUFFER_SIZE];
       strcpy ( buff , cptr);
       strcat(buff, "\n"); // Ять! Нам пох на те символы которые ПОСЛЕ символа возврата каретки!!! - Seido
       DirectOutputFunction(buff, 0); // out to main wnd
<...>
}

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

jmc.RegisterHandler("Incoming", "OnInc()");
function OnInc()
{while(jmc.Event.search("$symbol") != -1) {
jmc.ShowMe( jmc.Event.substr(0, jmc.Event.search("$symbol")) );
jmc.Event = jmc.Event.substr(jmc.Event.search("$symbol") + 1, 512)
}
}

но, повторюсь, всё зависит от того что именно и зачем именно тебе нада.

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
zMUD: странности
« Ответ #43 : 25.02.07, 19:06:26 »
Seido
ты в прицнипе правильно понял - я хочу реализовать разбивку одной строки на две, и что-бы жабой обработались обе эти строки.

Оффлайн Antalos

  • Постоялец
  • *
  • Сообщений: 163
  • Карма: 0
  • Пол: Мужской
    • http://tehtambar.org
zMUD: странности
« Ответ #44 : 26.02.07, 04:54:32 »
Предлагаю каждому крутому программеру написать свой клиент и не париться с вопросами подобного плана.

ЗЫ В идеале это будет бот, чтобы не париться также и с игровыми вопросами
Иду к успеху, пока фартит
All Hail the Glory of the Hypnotoad
Они среди нас

Оффлайн Seido

  • Орден Серебрянного Единорога
  • Постоялец
  • *
  • Сообщений: 129
  • Карма: 5
  • Пол: Мужской
zMUD: странности
« Ответ #45 : 26.02.07, 11:41:47 »
Цитировать
Предлагаю каждому крутому программеру написать свой клиент и не париться с вопросами подобного плана.

+1
а если сильно лень или не хватает "крутости" (как мне ((% ) - можно просто подправить исходники  жабы в соответствии со своими требованиями и получить желаемый клиентег. например, имхо, задача Kiber_ либо неразрешима либо разрешима мегаизвратским способом (проблема в том что жаба проверяет строки на соответствие триггерским шаблонам лишь в очень малом числе случаев, не предоставляя прямых средств "имитации" сообщения с сервера). зато если в исходниках удалить ровно один символ, то строка, выдаваемая командой #showme (а значит и методом jmc.Showme), будет проверяться на соответствие триггерам. что разрешает, кстати, сразу большую кучу проблем ((%

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
zMUD: странности
« Ответ #46 : 26.02.07, 17:03:46 »
Antalos
я и не программер, и даже не любитель, и операторы бейсика я не знаю (читай и лень и нехватает крутости и вообще вилосипеды изобретать как-то не хочется, 10 лет изобретаешь, 5 лет ездишь x)).
про бот это да))), есть слухи что Аланна - бот Морриса (его альтер-эго в электронной форме, своего рода позитронный мозг), вы слышали?)
Seido
Символ случайно не звездочка?)))

(Добавление)
Аланна, ты только не обижайся, сама знаешь: ради красного словца..


Оффлайн Seido

  • Орден Серебрянного Единорога
  • Постоялец
  • *
  • Сообщений: 129
  • Карма: 5
  • Пол: Мужской
zMUD: странности
« Ответ #47 : 26.02.07, 17:07:51 »
нет, цифра 2
ха, не очевидно, да? ((((%

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
zMUD: странности
« Ответ #48 : 26.02.07, 17:12:49 »
Seido
угу, вообще никак))))))

(Добавление)
сейчас найду)))
потом еще найду c, откомпилирую и попробую запустить))


Оффлайн Antalos

  • Постоялец
  • *
  • Сообщений: 163
  • Карма: 0
  • Пол: Мужской
    • http://tehtambar.org
zMUD: странности
« Ответ #49 : 26.02.07, 18:00:44 »
Пойду гляну сорцы жабы )
Иду к успеху, пока фартит
All Hail the Glory of the Hypnotoad
Они среди нас

Оффлайн Seido

  • Орден Серебрянного Единорога
  • Постоялец
  • *
  • Сообщений: 129
  • Карма: 5
  • Пол: Мужской
zMUD: странности
« Ответ #50 : 26.02.07, 22:37:21 »
кстати, не сложно и заточить жабу на восприятие цветов в триггерах... в простейшем варианте (хотя и не очень удобном в плане эксплуатации) - просто закамментить вырезание анси-команд,
void check_all_actions(char *line1)
<...>
/*        case 0x1B:
           while ( *ptr && *ptr != 'm' )
               ptr++; */
<...>
(если, конечно, я правильно разобрался в исходнегах (не тестил), что вполне вероятно ((% )

Оффлайн Seido

  • Орден Серебрянного Единорога
  • Постоялец
  • *
  • Сообщений: 129
  • Карма: 5
  • Пол: Мужской
Re: zMUD: странности
« Ответ #51 : 09.08.07, 11:57:15 »
у меня тут вопрос возник... чисто исследовательского характера ((%
Цитировать
#if умеет сравнивать только числа . Сравнить строки можно используя команду #script:
#action {%0 arrives from the %1} {#script if ("%0"=="$target") jmc.Send("kill $target")}
Нельзя в самом триггере (а не в теле) разносить инфу по переменным. Да и нужно ли? Чем тебя не устраивает тело? Зачем усложнять?
кто-нибудь пользуется чем-то подобным?
ну что-нибудь типа
#script ...("%0")...
?

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
Re: zMUD: странности
« Ответ #52 : 09.08.07, 22:42:17 »
сейчас я полностью портировал конфиг на жабу, но ты в странноватой теме задаешь этот вопрос.
Ты не мог-бы поточнее объяснить что ты хочешь узнать?
Если ты про использование переменных %0-9 в  #script, то да - это работает, я использую.

Оффлайн Seido

  • Орден Серебрянного Единорога
  • Постоялец
  • *
  • Сообщений: 129
  • Карма: 5
  • Пол: Мужской
Re: zMUD: странности
« Ответ #53 : 10.08.07, 11:46:41 »
сейчас я полностью портировал конфиг на жабу, но ты в странноватой теме задаешь этот вопрос.
Ты не мог-бы поточнее объяснить что ты хочешь узнать?
Если ты про использование переменных %0-9 в  #script, то да - это работает, я использую.
тема эта потому что цитата из этой темы.
да я про эту слепую передачу параметров из жабы в скрипт. причем именно %0.
убирай нахрен ((((%
для приведенного мной в цитате триггера достаточно набрать в Арде
сказать Kiber_ la" + jmc.parse("мечтать JS рулит") + "la arrives from the north.
ну и так далее

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
Re: zMUD: странности
« Ответ #54 : 10.08.07, 12:33:36 »
а что возвратит парс?
Вообще немного не понял.. Зачем убирать, и что демонстрирует твой пример?

Оффлайн Seido

  • Орден Серебрянного Единорога
  • Постоялец
  • *
  • Сообщений: 129
  • Карма: 5
  • Пол: Мужской
Re: zMUD: странности
« Ответ #55 : 10.08.07, 13:11:52 »
а что возвратит парс?
Вообще немного не понял.. Зачем убирать, и что демонстрирует твой пример?
парсу не обязательно что-то возвращать для того чтобы нормально отработать (%
лучше процитируй свой триггер (%

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
Re: zMUD: странности
« Ответ #56 : 12.08.07, 13:27:17 »
Seido, а, все, понял =)))
Опять баг с обработкой.
По счастью теллы я обрабатываю обычными триггерами (а зачем там скрипт, если цвета в аутпуте всеравно не будет...), поэтому на телл я не поведусь.
Ну и всегда есть такая защита как
#action {jmc.} {#nop} {0}

Оффлайн Seido

  • Орден Серебрянного Единорога
  • Постоялец
  • *
  • Сообщений: 129
  • Карма: 5
  • Пол: Мужской
Re: zMUD: странности
« Ответ #57 : 12.08.07, 15:17:21 »
По счастью теллы я обрабатываю обычными триггерами (а зачем там скрипт, если цвета в аутпуте всеравно не будет...), поэтому на телл я не поведусь.
что мешает теллнуть нужную строку?
мораль в том, что все триггеры, взаимодействующие с (=передающие параметры в) JS, необходимо заменить на соответствующую обработку "Incoming" (а делается это легким движением руки).

Ну и всегда есть такая защита как
#action {jmc.} {#nop} {0}
зависит от конфига. у меня вот конфиг заточен под #multiaction on.

к тому же я привел лишь пример с jmc., а сделать-то можно фактически всё что угодно - вплоть до форматирования твоего жесткого диска (через FSO например).

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
Re: zMUD: странности
« Ответ #58 : 13.08.07, 00:15:05 »
Угу, согласен, особенно в варианте работы с мультитриггерами.
Какие предложения по устранению?
В инкоминге понятно как устранить.
А если через мультиэкшн?

Оффлайн Deyar

  • Братство Ронинов
  • Герой
  • ****
  • Сообщений: 2062
  • Карма: -173
  • Пол: Мужской
Re: zMUD: странности
« Ответ #59 : 13.08.07, 00:46:26 »
Вопрос в тему ,)
Я клацаю иконку с чаром, и у меня оутпут все время отделяется от строки с кнопками "файл, алиас итп". Каждый раз вручную соединяю это. Как это устранить? ,)

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
Re: zMUD: странности
« Ответ #60 : 13.08.07, 08:39:38 »
Попробуй
Layout-Save Layout
когда все окошки на местах

Оффлайн Deyar

  • Братство Ронинов
  • Герой
  • ****
  • Сообщений: 2062
  • Карма: -173
  • Пол: Мужской
Re: zMUD: странности
« Ответ #61 : 13.08.07, 11:38:54 »
Кибер, спасибо )

Оффлайн Seido

  • Орден Серебрянного Единорога
  • Постоялец
  • *
  • Сообщений: 129
  • Карма: 5
  • Пол: Мужской
Re: zMUD: странности
« Ответ #62 : 13.08.07, 14:05:32 »
Какие предложения по устранению?
пока никаких конструктивных ((%

казалось, что могло бы помочь
#sub {"} {\"}
но только убивается всё тем же способом только в телле вместо кавычки надо написать \", что заменится на \\" и интерпретатор благополучно захавает все ту же паганую неэкранированную кавычку..

тогда казалось бы что могло бы помочь
#sub {"} {'}
но только это неприятно (всё-таки хотелось бы знать что пришло с сервера - кавычка или апостроф, хз для чево но интересно же))))

однако это только казалось, потому как жаба какашка не делает больше одного сабса в строке. по крайней мере я не нашел в 3.26 в хелпе ничего о том как сделать чтобы сабсило пока не останется ни одного подходящего сабса, может от зацикливания сделали такое ограничение, хз.
так что остается всё тот же инкаминг, вместо замены всех "плохих" триггеров надо вставить одну строчку в самом начале обработчика.
Типа таво:

jmc.RegisterHandler("Incoming", "OnInc()");
<...>
function OnInc() {
  while (jmc.Event.search("\"") != -1) jmc.Event = jmc.Event.replace("\"","'");
<...>
}


но это всё, разумеется, не то чего хотелось бы.

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

Оффлайн Kiber_

  • Постоялец
  • *
  • Сообщений: 131
  • Карма: 1
    • http://www.arda.nightmail.ru
Re: zMUD: странности
« Ответ #63 : 13.08.07, 15:58:48 »
хм, конечно не очень красиво, но красота не главное =)
по поводу
Цитировать
прикольно когда чат аутпутится с припиской системного времени.
попробуй использовать переменные $DATE $TIME.

Оффлайн Кирд

  • Победитель нежити
  • **
  • Сообщений: 432
  • Карма: 3
    • http://www.grey-legion.org
Re: zMUD: странности
« Ответ #64 : 14.11.07, 02:28:28 »
Предлагаю каждому крутому программеру написать свой клиент и не париться с вопросами подобного плана.

done
С ув. Кирд