Об IRC. Доступно и со вкусом.

Прикольные менюшки для mIRC

Сегодня рассмотрим написание различных маленьких забавных менюшек(popups).
Менюшки или popups позволяет создавать всплывающие меню для всех видов окон (статуса, привата, канала, списка ников канала, главного меню). Грузить вас теорией я не буду, поэтому начнем: нажимаем Alt+r, открываем вкладку popups, сверху в меню Вид(View), выбираем Никлист(Nicklist) и пишем:

.Пополам: { $popolam($1) }

Далее выбираем алиасы(aliases) и пишем туда такой код:

popolam {
; если длина ника равна 1 букве
if ($len($1) == 1) { return me расчленил $$1 на много половинок }
; если длина больше 2 и точка содержится при делении длины на 2, т.е. мы проверяем четное слово или нет
if ($len($1) > 2) && ($chr(46) isin $calc($len($$1) / 2)) { return me разрубил $$1 на две половинки - $right($$1,$calc($len($$1) / 2)) и $left($$1,$calc($len($$1) / 2)) , a $mid($1,$int($calc(($len($1) /2)+1)),1) выкинул в окно }
; если число четное
else { return me разрубил $$1 на две половинки - $right($$1,$calc($len($$1) / 2)) и $left($$1,$calc($len($$1) / 2)) }
}

Нажав теперь на определенный ник в никлисте и выбрав только что созданный нами пунк меню, мы увидим что-нибудь типа этого:
** yXo разрубил yXo на две половинки - o и y , a X выкинул в окно
или ** yXo разрубил AllBot на две половинки - Bot и All

Сейчас мы замутит еще что-нибудь эдакое. Открываем опять же popups, никлист и вставляем туда это:
.Насос:/me надул $$1 насосом и $replace($upper($$1),ё,Ё,й,Й,ц,Ц,у,У,к,К,е,Е,н,Н,г,Г,ш,Ш,щ,Щ,з,З,х,Х,ъ,Ъ,ф,Ф,ы,Ы,в,В,а,А,п,П,р,Р,о,О,л,Л,д,Д,ж,Ж,э,Э,я,Я,ч,Ч,с,С,м,М,и,И,т,Т,ь,Ь,б,Б,ю,Ю) улетело в небо!

.Иголка:/me проткнул $$1 иголкой и сдутое $replace($lower($$1),Ё,ё,Й,й,Ц,ц,У,у,К,к,Е,е,Н,н,Г,г,Ш,ш,Щ,щ,З,з,Х,х,Ъ,ъ,Ф,ф,Ы,ы,В,в,А,а,П,п,Р,р,О,о,Л,л,Д,д,Ж,ж,Э,э,Я,я,Ч,ч,С,с,М,м,И,и,Т,т,Ь,ь,Б,б,Ю,ю) упало к ногам $me !

Тут используются два идентификатора $upper и $lower переводящие латинский алфавит в верхний и нижний регистр соответственно, русские же буквы мы заменяем идентификатором $replace.

Ну и на последок еще несколько менюшек - раскрасок, вставляем в все в теже попапы/никлист:

.Зебра: me раскрасил $p4olka($1,zebra) под зебру
.Билайн: me раскрасил $p4olka($1,bee) под билайн
.Кислота: me полил кислотой $1 и получилось $p4olka($1,kisl)
.Тельняшка: me одевает $p4olka($1,tel) в матросскую тельняжку
.Пчолка: me раскрасил $p4olka($1,p4) под пчёлку

А этот алиасик вставляем естественно в aliases:

p4olka {
; создаем переменные
var %p4.i = 1, %p4.zvet = 1, %p4ela
; проверяет второй передаваемый параметр в алиас и в зависимости от него подбирает цвет
if ($2 == p4) { %p41 = 07,01 | %p42 = 01,07 }
if ($2 == tel) { %p41 = 12,00 | %p42 = 00,12 }
if ($2 == kisl) { %p41 = 09,01 | %p42 = 01,09 }
if ($2 == zebra) { %p41 = 00,01 | %p42 = 01,00 }
if ($2 == bee) { %p41 = 08,01 | %p42 = 01,08 }
; закручиваем цикл, пока наша переменная меньше или равна длине первого передаваемого параметра, в нашем случае это будет длина ника
while (%p4.i <= $len($1)) {
; если переменная не равна 1 берем первый цвет и i-ую букву из ника и присваиваем переменной 1
if (%p4.zvet != 1) { %p4ela = %p4ela $+ %p41 $+ $mid($1,%p4.i,1) $+  | %p4.zvet = 1 }
; если переменная равна 1 берем i-ую букву из ника и присваиваем переменной 0
else { %p4ela = %p4ela $+ %p42 $+ $mid($1,%p4.i,1) $+  | %p4.zvet = 0 }
; увеличиваем счетчик на 1
inc %p4.i
}
; возвратим конечное значение алиаса
return %p4ela
}

Остальные фразы можете придумать сами при наличии небольшого количества выдумки ;)

P.S. По многочисленным просьбам добавляю скрипт мешалку. Пишем в попапы:

.МЕШАЛКА: me засунул $$1 в миксер и получилось $mixer($$1) $+ ...

И добавляем следущий алиас, естественно в алиасы:

mixer {
var %t = $1, %was
while (%t != $null) {
var %x = $rand(1,$len(%t))
var %was = %was $+ $mid(%t,%x,1)
%t = $left(%t,$calc(%x - 1)) $+ $right(%t,$calc($len(%t) - %x))
}
return %was
}

После применения вы увидите примерно следущее:
** Pupkin засунул Fifka в миксер и получилось kiFaf...
уХо засунул уХо в миксер и получилось оуХ...

На этом пока все, удачи.