• XSS.stack #1 – первый литературный журнал от юзеров форума

Рисование в mIRC

Winux

Старожил форума
Легенда
Регистрация
12.11.2004
Сообщения
6 358
Реакции
53
Рисование в mIRC
В mIRC32 есть опция, позволяющая рисовать. Рассмотрим несколько примеров подобного творчества. Нарисуем обычный домик в отдельном окне, которео назовем @domik. Для этого добавим небольшой скрипт в раздел Aliases (Alt+A):
Код:
dl {
window -kap @domik
drawrect -f @domik 1 5 240 150 180 300
drawline @domik 1 5 242 150 330 5
drawline @domik 1 5 330 5 416 150
drawrect -f @domik 0 5 295 250 70 90
drawline @domik 1 5 330 250 330 340
drawline @domik 1 5 295 280 330 280
drawtext @domik 1 277 100 Happy new year
}
и выполним команду "/dl". Теперь можете гордиться собой! Вы настоящий художник!:)
Рассмотрим подробнее, что означают странные цифры и команды:
1. window -kap @domik - создаем графическое (-p) окно @domik, активизируем его (-a) и скрываем символ собаки перед именем окна для красоты (-k).
2. drawrect -f @domik 1 5 240 150 180 300 - рисуем большой прямоугольник и заливаем его черным цветом.
3. drawline @domik 1 5 242 150 330 5
drawline @domik 1 5 330 5 416 150
drawrect -f @domik 0 5 295 250 70 90
drawline @domik 1 5 330 250 330 340
drawline @domik 1 5 295 280 330 280 - рисуем остальные части домика.
4. drawtext @domik 1 277 100 Happy new year - поздравление с новым годом.
Вот собственно и все, что нужно для начинающего художника... А теперь сохраним свой эскиз в bmp файле, набрав "/drawsave @domik c:dom.bmp" и рисунок успешно сохранится у тебя на винте.

Ох уж эти окна! Еще немного об окнах. Окна бывают не только графические, но и текстовые, с возможностью выбрать что-либо из списка (как окна, вызываемые при "/list" или "/links") и другие.
Для примера, сделаем небольшую программу калькулятор, которая будет выполнять элементарные действия над числами.
Перейдем в меню "Remote" (Alt+R) и напишем туда следующее:

Код:
menu @calculator {
dclick: cproc
}
Этим скриптом мы создали сценарий на дабл-клик в окне @calculator.
Далее пишем снова в "Aliases":
calc {
window -kla @calculator
aline 2 @calculator 1. Сложение
aline 3 @calculator 2. Вычитание
aline 4 @calculator 3. Умножение
aline 5 @calculator 4. Деление
}
Этим алиасом создаем окошко-список @calculator (-l) и добавляем в него строчки (названия операций) командой "/aline [цвет] <окно> <текст>". Особо любопытные могут сохранить скрипт и запустить команду "/calc", но mIRC будет ругаться при попытке выбрать что-либо, что нет такой команды "cproc". Вот ее то мы сейчас и создадим (также в "Aliases"):
cproc {
dline @calculator 5

if ($sline(@calculator,1).ln == 1) {
set %coper +
goto oper
}
if ($sline(@calculator,1).ln == 2) {
set %coper -
goto oper
}
if ($sline(@calculator,1).ln == 3) {
set %coper *
goto oper
}
if ($sline(@calculator,1).ln == 4) {
set %coper /
goto oper
}
:oper
set %ca $$?="Первое число"
set %cb $$?="Второе число"
set %cres $calc(%ca %coper %cb)
if (%cres == $null) { aline 4 @calculator Недопустимая операция! | halt }
aline @calculator %ca %coper %cb = %cres
}

Сам скрипт состоит из двух частей. В первой - инициализация переменной %coper (что делать то с числами), предварительно стираем строку с будущим результатом. Переменная $sline с ключом ln показывает номер выбранной строки, он то нам и нужен.
После определения операции, переходим ко второй части, непосредственно запроса двух чисел и подсчета результата, который будет аккуратно вписан в пятую строку. Если вместо чисел вы введете буквы или разделите на 0, то будет выведена строка "Недопустимая операция!" и скрипт завершит работу.
Вот собственно и все... Конечно, про окна можно писать мегабайты информации, так как существует туча опций и переменных для работы с ними, плюс куча сценариев и выпадающих меню...

Источник: http://mirca.ru
 
В той версии MIRC, что стоит у меня, сочетание [ALt+A] неработает (вызывает другую функцию), так что для добавления скрипта нужно открыть (например блокнотом) файл aliases.ini, который должен лежать в той же папке, где и сама Ира, и вставить в его конец код скрипта, нумеруя каждую строку так же, как и предыдущее, продолжая порядок.
В первом скрипте ошибка:
Код:
/drawsave @domik c:dom.bmp
перед c: нужно вставить слэш ("/"):
Код:
/drawsave @domik c:/dom.bmp

это не считая того, что он расчитан на то, что окно у вас по умолчанию имеет не чёрный и не белый цвета (иначе не будет видно либо самого домика либо окна). Так как у меня окно именно чёрного цвета, то лучше поменять цвета так:
Код:
dl {
window -kap @domik
drawrect -f @domik 0 5 240 150 180 300
drawline @domik 0 5 242 150 330 5
drawline @domik 0 5 330 5 416 150
drawrect -f @domik 8 5 295 250 70 90
drawline @domik 0 5 330 250 330 340
drawline @domik 0 5 295 280 330 280
drawtext @domik 0 277 100 Happy new year
}
т.е. чёрный (1) мы меняем на белый (0), а белый (0) - на жёлтый (8). Цвета, как уже видно, задаются по стандартной 16-ицветной Досовской схеме.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх