4epT
10.05.2007, 02:03
Если нам улыбнулись, то и мы улыбнёмся в ответ:
automacro emocia {
console /(\d+).*(\*Heh|\*Kiss|\*Bleks)/
timeout 5
call {
if ($.lastMatch1 > 6) goto end
pause 2
if ($.lastMatch2 = *Heh) goto heh
if ($.lastMatch2 = *Kiss) goto kis
if ($.lastMatch2 = *Bleks) goto blek
:heh
do e heh
stop
:kis
do e kis
stop
:blek
do c 93bIk BbIpBy!
:end
}
}
разъясню строчку: console /(\*Heh|\*Kiss|\*Bleks)/
1. Символ * - являетя специальным символом, а не просто звёздочкой. Чтобы его превратить в "просто звёздочку" мы ставим перед ним символ: (\.
2. Когда вам (или не вам) смеются, то в консоле появляется строчка, вида:
[dist=2.8] 4epT (0): *Heh*
Мы прицепляемся к слову *Heh (а так же *Kiss и *Bleks в других случаях). Вторую звёздочку не берём потомучто надо было бы писать \*Heh\* (кароче чтобы по проще было).
3. Символ | - считается как ИЛИ
Дальше объяснять как работает?
Если нам посмеялись (*Heh) с расстояния меньше 6 клеток ($.lastMatch1 > 6), то мы ждём 2 секунды и тоже смеёмся (do e heh), дальше макрос останавливается (stop)
Чтобы узнать что появляется в консоли когда нам смеются (улыбаются, показывают язык, машут флагом), нада поставить пота (подальше от общественности, можно в здание) и придти другим чаром (загрузиться как и обычно через клиент) ну и посмеяться (улыбнуться, показать язык, помахать флагом). Затем переключиться на бота и посмотеть, что там интересного написалось в консоле.
Далее. Чтобы ответить улыбкой на улыбку (kiss'ом на kiss) открываем файл tables\emotions.txt:
0 ! *!*
1 ? *?*
...
18 heh *Heh*
...
30 kis *Kiss*
ну и так далее
так вот когда нам смеются то в консоле появляется *Heh*, а чтобы нам посмеяться то пишем do e heh (e - )
automacro emocia {
console /(\d+).*(\*Heh|\*Kiss|\*Bleks)/
timeout 5
call {
if ($.lastMatch1 > 6) goto end
pause 2
if ($.lastMatch2 = *Heh) goto heh
if ($.lastMatch2 = *Kiss) goto kis
if ($.lastMatch2 = *Bleks) goto blek
:heh
do e heh
stop
:kis
do e kis
stop
:blek
do c 93bIk BbIpBy!
:end
}
}
разъясню строчку: console /(\*Heh|\*Kiss|\*Bleks)/
1. Символ * - являетя специальным символом, а не просто звёздочкой. Чтобы его превратить в "просто звёздочку" мы ставим перед ним символ: (\.
2. Когда вам (или не вам) смеются, то в консоле появляется строчка, вида:
[dist=2.8] 4epT (0): *Heh*
Мы прицепляемся к слову *Heh (а так же *Kiss и *Bleks в других случаях). Вторую звёздочку не берём потомучто надо было бы писать \*Heh\* (кароче чтобы по проще было).
3. Символ | - считается как ИЛИ
Дальше объяснять как работает?
Если нам посмеялись (*Heh) с расстояния меньше 6 клеток ($.lastMatch1 > 6), то мы ждём 2 секунды и тоже смеёмся (do e heh), дальше макрос останавливается (stop)
Чтобы узнать что появляется в консоли когда нам смеются (улыбаются, показывают язык, машут флагом), нада поставить пота (подальше от общественности, можно в здание) и придти другим чаром (загрузиться как и обычно через клиент) ну и посмеяться (улыбнуться, показать язык, помахать флагом). Затем переключиться на бота и посмотеть, что там интересного написалось в консоле.
Далее. Чтобы ответить улыбкой на улыбку (kiss'ом на kiss) открываем файл tables\emotions.txt:
0 ! *!*
1 ? *?*
...
18 heh *Heh*
...
30 kis *Kiss*
ну и так далее
так вот когда нам смеются то в консоле появляется *Heh*, а чтобы нам посмеяться то пишем do e heh (e - )