|
Библиотеки Алиасов
| |
[StingeR] | Дата: Среда, 09 Марта 11, 18:06:51 | Сообщение # 1 |
Почетный флудер
Группа: Главные Администраторы
Сообщений: 775
Статус: Offline
| Тема взята с http://forum.bestirc.ru/index.php?showtopic=287 , за что им большое спасибо Как говориться зачем изобретать каждый раз велосипед? $rduration(N) Возвращает секунды в русском формате сек./мин./день.... Code alias rduration { return $replace($duration($1),secs,сек.,sec,сек.,mins,мин.,min,мин.,hrs,час.,hr,час.,day,день,days,дней,wk,неделя,wks,недель) } Пример: $rduration(6000) вернет 1час. 49мин. --- $rdata(d/m) Вернет месяц или день недели в русском формате: Code alias rdata { if ($1 == m) return $replace($date(mmmm),January,Января,December,Декабря,November,Ноября,October,Октября,February,Февраля,March,Марта,April,Апреля,May,Мая,June, Июня,July,Июля,August,Августа,September,Сентября) if ($1 == d) return $replace($date(dddd),Sunday,Воскресенье,Monday,Понедельник,Tuesday,Вторник,Wednesday,Среда,Thursday,Четверг,Friday,Пятница,Saturday,Суббота) } Пример: $rdata(d) $date(dd) $rdata(m) вернет Субота 29 Августа --- $rstr(string,N) Бегущая строка для динамических приложений Code alias rstr { return $mid($1,$2,$calc($len($1) - $2 + 1)) $mid($1,1,$calc($2 - 1)) } Пример: $rstr(test sword,2) вернет est sword t -- $convert.size(N) Вернет байты в байты/килобайты/мегабайты/гигобайты Code alias convert.size { if ($1 == 0) { return --- } elseif ($1 < 1024) { return $1 $+ б } elseif ($1 > 1024) && ($1 < 1048576) { return $round($calc($1 / 1024),2) $+ Кб } elseif ($1 > 1048576) && ($1 < 1073741824) { return $round($calc($1 / 1048576),2) $+ Мб } else { return $round($calc($1 / 1073741824),2) $+ Гб } } Пример: $convert.size(2845563) вернет 2.71Мб --- $find.ip.chan(N) Ищет на текущем канале указанный IP адрес и возвращает найденные ник/и. В противном случае вернет $false Code alias find.ip.chan { var %i 1,%ip *!*@ $+ $1 | /who # while (%i <= $nick(#,0)) { if ($address($nick(#,%i),2) == %ip) { var %fnick = %fnick $nick(#,%i) } | inc %i 1 } if (%fnick) { return %fnick $+ ( $+ $1 $+ ) } else { return $false } } Пример: $find.ip.chan(10.10.10.10) вернет ник с текущим адресом или $false, если такого адреса нет на канале. --- $leap.year(year) Определения високосного года. Code alias leap.year { if ($calc($abs($calc($1 - 2000)) % 4) == 0) { return $true } | return $false } Пример: $leap.year(2008) вернет $true --- $translit(string) Автоперевод строки при неправильной раскладке. Code translit { if (f isin $1- || j isin $1- || t isin $1- || z isin $1- || e isin $1- || b isin $1- ) { return $replace($1-,q,й,w,ц,e,у,r,к,t,е,y,н,u,г,i,ш,o,щ,p,з,[,х,],ъ,a,ф,s,ы,d,в,f,а,g,п,h,р,j,о,k,л,l,д,;,ж,$chr(39),э,z,я,x,ч,c,с,v,м,b,и,n,т,m,ь,$chr(44),б,.,ю, ,ё,/,.,&,?) } else { return $replace($1-,й,q,ц,w,у,e,к,r,е,t,н,y,г,u,ш,i,щ,o,з,p,х,[,ъ,],ф,a,ы,s,в,d,а,f,п,g,р,h,о,j,л,k,д,l,ж,;,э,$chr(39),я,z,ч,x,с,c,м,v,и,b,т,n,ь,m,б,$chr(44),ю,.,ё, ,.,/) } } Пример: $translit(ghjdthrf) вернет проверка Примечание: Чувствительный к регистру --- $massive(name,N/-ipo[N],value,...value) Примитивные массивы и работа с ним. (возможно упрощенная(?) работа с токенами.) Примечание: массив создаёся переменной и выглядит как %value,value....value. Свойства: .num число элементов в массиве. .add Добавить элемент в массив -i - перезаписать N элемент массива .rem Удалить элемент из массива -i -удалить N элемент массива. -o -Все значения равные value и т.п. (лень писать) Взможности: поиск, перезапись,возвращения элемента. .find .repl. .wild Code massive { if ($1 == $null) { halt } if ($prop == num) { return $numtok(% [ $+ [ $1 ] ],44) } elseif ($2 == $null) { halt } elseif ($prop == add) { if ($3 == -i) && ($4 isnum) { set % [ $+ [ $1 ] ] $instok(% [ $+ [ $1 ] ],$2,$4,44) } else { set % [ $+ [ $1 ] ] $iif(% [ $+ [ $1 ] ],% [ $+ [ $1 ] ] $+ $chr(44),% [ $+ [ $1 ] ]) $+ $2 } } elseif ($prop == rem) { if ($2 == -i) && ($3 isnum) && ($3 <= $numtok( % [ $+ [ $1 ] ],44)) { set % [ $+ [ $1 ] ] $deltok(% [ $+ [ $1 ] ],$3,44) } elseif ($2 == -o) { if ($matchtok(% [ $+ [ $1 ] ],$3,0,44) >= 2) { while ($matchtok(% [ $+ [ $1 ] ],$3,0,44)) { set % [ $+ [ $1 ] ] $remtok(% [ $+ [ $1 ] ],$3,44) } } else { set % [ $+ [ $1 ] ] $remtok(% [ $+ [ $1 ] ],$3,44) } } elseif ($left($2,2) == -p) && ($remove($2,-p) isnum) { set % [ $+ [ $1 ] ] $remtok(% [ $+ [ $1 ] ],$3,$remove($2,-p),44) } } elseif ($prop == find) { if ($left($2,1) == -p) && ($remove($2,p) isnum) { return $findtok(% [ $+ [ $1 ] ],$3,$remove($2,-p),44) } elseif ($2 == -o) { return $findtok(% [ $+ [ $1 ] ],$3,0,44) } else { return $findtok(% [ $+ [ $1 ] ],$2,1,44) } } elseif ($prop == repl) { if ($2 == -p) && ($3 isnum) { set % [ $+ [ $1 ] ] $puttok(% [ $+ [ $1 ] ],$4,$3,44) } elseif ($2 == -o) { if ($matchtok(% [ $+ [ $1 ] ],$3,0,44) >= 2) { var %i 1 | while ($matchtok(% [ $+ [ $1 ] ],$3,0,44)) { set % [ $+ [ $1 ] ] $reptok(% [ $+ [ $1 ] ],$3,$4,1,44) | inc %i 1 } } } else { set % [ $+ [ $1 ] ] $reptok(% [ $+ [ $1 ] ],$2,$3,1,44) } } elseif ($prop == wild) { if ($2 == -l) { var %i 4 | while ($0 >= %i) { if ($3 == $gettok(% [ $+ [ $1 ] ],$ [ $+ [ %i ] ],44)) { inc %i 1 } | else { return $false | halt } } | return $true } else { var %i 3 | while ($0 >= %i) { if ($gettok(% [ $+ [ $1 ] ],$2,44) == $gettok(% [ $+ [ $1 ] ],$ [ $+ [ %i ] ],44)) { inc %i 1 } | else { return $false | halt } } | return $true } } else { if ($2 == -i) { return $findtok(% [ $+ [ $1 ] ],$3,1,44) } else { return $gettok(% [ $+ [ $1 ] ],$2,44) } } } $parse(string) Вернет строку с подкрашеными красным латинскими буквами(удобно, когда русские буквы подменяют латинскими) Code parse { var %i = 1, %j = $1-, %x while (%i <= $len(%j)) { if $asc($mid(%j,%i,1)) < 192 { %x = %x $+ 4 $+ $mid(%j,%i,1) $+ } else { %x = %x $+ $mid(%j,%i,1) } inc %i } return %x } Пример: $parse(тecт стpoки) вернет тecт стpoки -- $urlencode(string) Вернет строку, закодированую аля url Code urlencode { var %i = 0, %r while (%i < $len($1-)) { inc %i %r = %r $+ $chr(37) $+ $base($asc($mid($1-,%i,1)),10,16,2) } return %r } Пример: $urlencode(здесь был я) вернет %E7%E4%E5%F1%FC%20%E1%FB%EB%20%FF -- $nicks(channel) Вернет все ники канала channel (p.s. вы должны быть на этом канале) Code nicks { var %i = 1, %nicks, %chan = $1 while (%i <= $nick(%chan,0)) { %nicks = %nicks $nick(%chan,%i) inc %i } return %nicks } Пример: $nicks(#bestirc) вернет ServBot IRCBot yXo Иста`aw _derox`off... и т.д.
"Не популярность ирц падает а народ тупеет. большинство просто дебилы и дауны даже ебоаську не могут настроить. а там всё просто как для дебилов. а мирку настроить не могут даже большинство тех кто в ирц тусуются. юзают ебоскрипты от криворуких для ламеров. см. челябу. там все на переделанных мирках сидят. классической миркой пользуются уже единицы из-за того что её надо настраивать. про другие ирц клиенты вобще молчу. скайп и майл агент вобще говно для даунов. там даже кнопки разноцветные чтоб на уровне животного инстинкта могли реагировать что красную нажимать надо с опаской а зелёную жмакать можна многа." (с) E}|{uk
|
|
| |
[StingeR] | Дата: Среда, 09 Марта 11, 18:15:04 | Сообщение # 2 |
Почетный флудер
Группа: Главные Администраторы
Сообщений: 775
Статус: Offline
| Иногда когда ведтся БД в ини файлах, приходиться удалять/менять/добавлять секции $fpitch(path,id) Возвращает первый отстутствующую секцию Code alias fptch { var %i 1,%li $ini($1,0) while (%li >= %i) { var %top $ini($1,$2 $+ %i) if (%top == $null || %top == 0 ) { var %f %i } inc %i 1 } if (!%f) { var %f %i } return $2 $+ %f } Пример: [num1] 1=value [num2] 1=value [num4] 1=value $fptch(C:/Base.ini,num) вернет отсутствующий num3, если "дыр" нету вернет num5 --- $proc(N,N2) Вернет N2 процента от N Code alias proc { return $calc($1 * $2 / 100) } Пример: $proc(100,10) вернет 10 --- $calc_ch(path,секция,строка,число,опертор) Берет из ини файла число, производит математическую операцию оператором с числом, записывает обратно в ини файл и возвращает полученное число. Code alias calc_ch { var %i $readini $1 $2 $3,%i $calc(%i $5 $4) | writeini $1 $2 $3 %i | return %i } Пример применения: Существует ини файл с базой ников на канале. Ведется статисктика кол-ва сообщений ника. $calc_ch(C:/Base.ini,$nick,msg,$len($-),+) вернет сумму. --- WriteRegKey ключ тип значение - установка значения ключу реестра Code alias WriteRegKey { var %type, %ret .comopen Reg WScript.Shell %type = $iif($2 isin REG_BINARY REG_DWORD, int, bstr) %ret = $com(Reg, RegWrite, 3, bstr, $1, %type, $3-, bstr, $2) .comclose Reg return %ret } Пример: WriteRegKey HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\1250 REG_SZ c_1251.nls *** $ReadRegKey(ключ) - возвращает значение ключа реестра Code alias ReadRegKey { .comopen Reg WScript.Shell .echo -q $com(Reg, RegRead, 3, bstr, $1-) var %ret = $com(Reg).Result .comclose Reg return %ret } Пример: echo -a $ReadRegKey(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\1250) *** $GetEnvVar(переменная без %) - возвращает значение системной переменной Code alias GetEnvVar { .comopen Env WScript.Shell var %ret = $com(Env, ExpandEnvironmentStrings, 3, bstr, $+(%, $1, %)) %ret = $com(Env).Result .comclose Env return $iif(%ret != $+(%, $1, %), $ifmatch) } Пример: echo -a $GetEnvVar(SYSTEMROOT) --- Небольшая корректировака алиаса. $fpitch(path,id) Возвращает отстутствующий/последний топик в инифайле. Code alias fptch { var %i 1,%li $ini($1,0) | while (%li >= %i) { var %top $ini($1,$2 $+ %i) | if (%top == $null || %top == 0 ) { return $2 $+ %i } | inc %i 1 } | return $2 $+ %i } $fpitch(path,id,item) аналогично, но работает с items. Code alias fptchi { var %i 1,%li $ini($1,$2,0) | while (%li >= %i) { var %top $ini($1,$2,$3 $+ %i) | if (%top == $null || %top == 0 ) { return $3 $+ %i } | inc %i 1 } | return $3 $+ %i } --- $rustime(secs) Вернет дни/часы/минуты/секунды. Аналогично $duration. Code alias rustime { var %i $1 :next if ($calc(%i / 86400) >= 1) { var %form %form $int($calc(%i / 86400)) дн.,%i $calc(%i % 86400) | $iif(%i != 0,goto next) } elseif ($calc(%i / 3600) >= 1 && $calc(%i / 86400) < 1) { var %form %form $int($calc(%i / 3600)) час.,%i $calc(%i % 3600) | $iif(%i != 0,goto next) } elseif ($calc(%i / 60) >= 1 && $calc(%i / 3600) < 1) { var %form %form $int($calc(%i / 60)) мин.,%i $calc(%i % 60) | $iif(%i != 0,goto next) } elseif ($calc(%i / 60) < 1) { var %form %form %i сек. } return %form } --- алиас удаления папки полностью, не пустой с файлами авось сгодится, стырено с neora.ru Code removedir { var %toremove = $$1- if (: !isin %toremove) { %toremove = $mircdir $+ %toremove } write -c removedir.bat rmdir /q/s %toremove run -n removedir.bat while ($isdir(%toremove)) { } } оттудаже , тоже , Code alias remover var %mrbopp_delpath = Путь_к_Папке | if ($findfile(%mrbopp_delpath,*.*,0) > 0) { var %mrbopp_delfile = 1 | while (%mrbopp_delfile <= $findfile(%mrbopp_delpath,*.*,0)) { .remove " $+ $findfile(%mrbopp_delpath,*.*,%mrbopp_delfile) $+ " | .timer -m 1 150 inc %mrbopp_delfile } } | var %x = $finddir(%mrbopp_delpath,*,0) | while (%x > 0) { .rmdir " $+ $finddir(%mrbopp_delpath,*,%x) $+ " | dec %x } | .rmdir %mrbopp_delpath Внимание! Код скрипта написан в 1 строку. --- $gen.rev(text) - вернет перевернутую строку задом наперед Code alias gen.rev { var %i $len($1) | :next | var %result %result $+ $mid($1,$+ %i,1) | if (%i > 1) { dec %i 1 | goto next } | return %result } Пример: $gen.rev(super test) вернет tset repus --- $gen.anag(text) - создает случайную анаграмму из слова test Code alias gen.anag { if ($len($1) <= 3) { return error } :begin var %i 1 while (%i <= $len($1)) { :next var %rnd $rand(1,$len($1)) | if ($findtok(%token,%rnd,0,44) > 0) { goto next } | var %result %result $+ $mid($1,$+ %rnd,1),%token $addtok(%token,$+ %rnd,44) inc %i 1 } if (%result == $1) { unset %token %rnd | goto begin } return %result } Пример: $gen.anag(Poltergeist) вернет варианты: rsetteioPgl/regtPteoisl/ePeisltrtgo/... пишет таблицу символов в файл (некоторые символы, типа скобок не хотят через $asc выдавать свой аски код) /symtable outfile Код Code /symtable { var %i = 1 while (%i <= 256) { write $1 %i $+ $chr(9) $+ $chr(%i) inc %i } } кикает по маске /wmkick *neora* Код Code /wmkick { var %i = 1 while (%i <= $nick(#,0)) { if ($1 iswm $address($nick(#,%i),5)) kick # $nick(#,%i) Gotcha ! inc %i } } заходит на лист каналов (иногда забываю на каких каналах сидел, ищу в логах свой последний хуиз и дергаю оттуда каналы) /massjoin #chan1 #chan2 Код Code /massjoin { var %i = 1 while (%i <= $numtok($1-,32)) { join $remove($gettok($1-,%i,32),+,@) inc %i } } генератор паролей (старенький, я тогда еще хреново кодил) $passgen(method:a,symbols,loweng:1/0,bigeng:1/0,numbers:1/0,lowrus:1/0,bigrus:1/0) $passgen(method:b,slogi) $passgen(a,12,1,1,1) returns 0q1vtVZEftLB $passgen(b,4) returns japemuqo (ja-pe-mu-qo) Код Code /passgen { if ($1 == a) { var %symbols = $null if ($3 == 1) var %symbols = %symbols $+ abcdefghijklmnopqrstuvwxyz if ($4 == 1) var %symbols = %symbols $+ ABCDEFGHIJKLMNOPQRSTUVWXYZ if ($5 == 1) var %symbols = %symbols $+ 012345678901234567890123456789 if ($6 == 1) var %symbols = %symbols $+ абвгдежзийклмнопрстуфхцчшщъыьэюя if ($7 == 1) var %symbols = %symbols $+ АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ var %i = 1 while (%i <= $2) { var %toreturn = %toreturn $+ $mid(%symbols,$rand(1,$len(%symbols)),1) inc %i } return %toreturn } if ($1 == b) { var %glasnie = aeiouy var %soglasnie = bcdfghjklmnpqrstvwxz var %i = 1 while (%i <= $2) { var %toreturn = %toreturn $+ $mid(%soglasnie,$rand(1,$len(%soglasnie)),1) $+ $mid(%glasnie,$rand(1,$len(%glasnie)),1) inc %i } return %toreturn ( $+ $slogi(%toreturn) $+ ) } } Code /slogi { var %i = 1 while (%i <= $len($1)) { var %toreturn = %toreturn $+ - $+ $mid($1,%i,2) inc %i 2 } return $mid(%toreturn,2,$len(%toreturn)) } раскраска скобок, тоже старый но рабочий, лучше использовать с текстовым эвентом на боте Код Code /colorer { var %i = 1 var %color = 07 var %text = $strip($replace($1-,$chr(32),$chr(0160))) var %toreturn = $+ %color while (%i <= $len(%text)) { if (($mid(%text,%i,1) == $chr(40)) || ($mid(%text,%i,1) == $chr(91)) || ($mid(%text,%i,1) == $chr(123))) { inc %color var %toreturn = %toreturn $+ $+ %color } var %toreturn = %toreturn $+ $mid(%text,%i,1) if (($mid(%text,%i,1) == $chr(41)) || ($mid(%text,%i,1) == $chr(93)) || ($mid(%text,%i,1) == $chr(125))) { dec %color var %toreturn = %toreturn $+ $+ %color } inc %i } return %toreturn } градиентер, лучше тоже использовать на боте с текстовым эвентом $gradient(color codes) $gradient(0 15 14 1) вернет прикольный градиент от белого к черному Код Code /gradient { var %output = $null var %colors = $1- var %amount = $numtok(%colors,32) var %pre = $+($chr(3),$gettok(%colors,2,32),$chr(44),$gettok(%colors,1,32),$chr(37)) var %end = $+($chr(3),$gettok(%colors,$calc(%amount - 1),32),$chr(44),$gettok(%colors,%amount,32),$chr(37)) var %i = 2 while (%i <= $calc(%amount - 1)) { var %output = $+(%output,$chr(3),$gettok(%colors,$calc(%i - 1),32),$chr(44),$gettok(%colors,$calc(%i),32),$chr(37),$chr(3),$gettok(%colors,$calc(%i + 1),32),$chr(44),$gettok(%colors,$calc(%i),32),$chr(37)) inc %i } var %output = $+(%pre,%output,%end) return %output }
"Не популярность ирц падает а народ тупеет. большинство просто дебилы и дауны даже ебоаську не могут настроить. а там всё просто как для дебилов. а мирку настроить не могут даже большинство тех кто в ирц тусуются. юзают ебоскрипты от криворуких для ламеров. см. челябу. там все на переделанных мирках сидят. классической миркой пользуются уже единицы из-за того что её надо настраивать. про другие ирц клиенты вобще молчу. скайп и майл агент вобще говно для даунов. там даже кнопки разноцветные чтоб на уровне животного инстинкта могли реагировать что красную нажимать надо с опаской а зелёную жмакать можна многа." (с) E}|{uk
|
|
| |
[StingeR] | Дата: Среда, 09 Марта 11, 18:20:34 | Сообщение # 3 |
Почетный флудер
Группа: Главные Администраторы
Сообщений: 775
Статус: Offline
| $in_r(string,substring) проверяет - буквы из substring входят в состав string, вернет $true или $false Т.е. из слова "гастроном" можно составить - гном, астроном и т.п. Код Code alias in_r { var %t1 $in_tokenize($1) var %t2 $in_tokenize($2) var %i 1,%l $numtok(%t2,32) while (%i <= %l) { var %id $gettok(%t2,$+ %i,32) if ($istok(%t1,$+ %id,32)) { var %t1 $remtok(%t1,$+ %id,32) } else { return $false } inc %i 1 } return $true } alias -l in_tokenize { var %i 1,%l $len($1) while (%i <= %l) { var %result $instok(%result,$mid($1,$+ %i,1),$+ %i,32) inc %i 1 } return %result } Пример: $in_r(гастроном,гном) - вернет $true, а $in_r(гастроном,геном) вернет $false Code ch_compare { var %o_l = $len($1) var %c_l = $len($2) var %o = $1 var %c = $2 var %i = 1 if ($1 == $null) || ($2 == $null) { echo -ag Синтаксис: /ch_compare slovo1 slovo2 | halt } if (%o_l == %c_l) { while (%i <= %o_l) { if ($mid(%o,%i,1) != $mid(%c,%i,1)) { var %c_out = %c_out $+($chr(91),%i,$chr(58),$mid(%c,%i,1),$chr(58),$asc3($mid(%c,%i,1)),$chr(93)) } inc %i } if (%c_out == $null) { echo -ag Полное совпадение. } else { echo -ag Отличающиеся символы [номер:символ:код]: %c_out | halt } } if (%o_l < %c_l) { while (%i <= %o_l) { if ($mid(%o,%i,1) != $mid(%c,%i,1)) { var %c_out = %c_out $+($chr(91),%i,$chr(58),$mid(%c,%i,1),$chr(58),$asc3($mid(%c,%i,1)),$chr(93)) } inc %i } echo -ag Отличающиеся символы [номер:символ:код]: %c_out * Лишние символы в слове2: $+($chr(91),$right($2,$calc($len($2)-$len($1))),$chr(58),$asc3($right($2,$calc($len($2)-$len($1)))),$chr(93)) halt } if (%o_l > %c_l) { while (%i <= %c_l) { if ($mid(%o,%i,1) != $mid(%c,%i,1)) { var %c_out = %c_out $+($chr(91),%i,$chr(58),$mid(%c,%i,1),$chr(58),$asc3($mid(%c,%i,1)),$chr(93)) } inc %i } echo -ag Отличающиеся символы [номер:символ:код]: %c_out * Лишние символы в слове1: $+($chr(91),$right($1,$calc($len($1)-$len($2))),$chr(58),$asc3($right($1,$calc($len($1)-$len($2)))),$chr(93)) halt } } Позволяет сравнить два, не первый взгляд похожие слова. Например: Test и Тest (во втором слове буква "Т" русская). Делимитором является пробел (/ch_compare Test и Тest). Формат выходных данных безусловно можно изменить. $gen.password(Len,nsu) - генератор паролей, где Len - длина пароля, n - числа, s - маленьки буквы, u - большие буквы Код Code alias gen.password { if (!$1 || $1 !isnum) { halt } var %i 1,%k,%return while (%i <= $1) { var %k $gen.sw($gen._sw($2)),%return %return $+ %k | inc %i 1 } return %return } alias -l gen.sw { if ($1 == 1) { return $rand(0,9) } if ($1 == 2) { return $rand(a,z) } if ($1 == 3) { return $rand(A,Z) } } alias -l gen._sw { var %rt 0 if (!$1) { var %rt $rand(1,3) } if (n isin $1) { var %rt 1 } if (s isin $1) { var %rt $rand($iif(%rt,%rt,2),2) } if (u isin $1) { var %rt $rand($iif(%rt,%rt,3),3) if (s !isin $1 && %rt == 2) { inc %rt 1 } } if (!%rt) { return $rand(1,3) } return %rt } Сюдаже: Утилитка для генерации паролей. Код Code alias -l drun { if ($dialog($1)) { dialog -v $1 } | else { dialog -ma $1 $1 } } alias -l m.style { return $1 } menu channel,status,menubar { $m.style(Инструменты) .Генератор паролей:gen.pass.run } alias -l gen.pass.run { drun gen.pass } dialog gen.pass { title "Генератор паролей" size -1 -1 116 80 option dbu box "Установки", 1, 1 1 115 50 edit "", 2, 5 10 25 10 text " Длина пароля (символов) ", 3, 35 10 68 8 check "Использовать цифры", 4, 5 20 100 10 check "Использовать нижний регистр", 5, 5 30 100 10 check "Использовать верхний регистр", 6, 5 40 100 10 box "Генератор", 7, 1 51 115 35 edit "", 8, 5 60 105 10, center read button "Генерировать", 9, 5 70 105 10, disable } on *:dialog:gen.pass:*:*: { if ($devent == sclick) { if ($did == 4 || $did == 5 || $did == 6) { if ($did(4).state == 0 && $did(5).state == 0 && $did(6).state == 0) || (!$did(2)) { did -b $dname 9 } else { did -e $dname 9 } } if ($did == 9) { var %e if ($did(4).state == 1) { var %e n } if ($did(5).state == 1) { var %e %e $+ s } if ($did(6).state == 1) { var %e %e $+ u } did -o $dname 8 1 $gen.password($did(2).text,$+ %e) } } if ($devent == edit && $did == 2) { if ($did(2).text !isnum && $did(2)) { var %e $input(Введите только целое положительно число без пробелов!,odauh,Ошибка.) | did -r $dname 2 | halt } if ($did(4).state == 0 && $did(5).state == 0 && $did(6).state == 0) || (!$did(2)) { did -b $dname 9 } else { did -e $dname 9 } } } ; ===== alias gen.password { if (!$1 || $1 !isnum) { halt } var %i 1,%k,%return while (%i <= $1) { var %k $gen.sw($gen._sw($2)),%return %return $+ %k | inc %i 1 } return %return } alias -l gen.sw { if ($1 == 1) { return $rand(0,9) } if ($1 == 2) { return $rand(a,z) } if ($1 == 3) { return $rand(A,Z) } } alias -l gen._sw { var %rt 0 if (!$1) { var %rt $rand(1,3) } if (n isin $1) { var %rt 1 } if (s isin $1) { var %rt $rand($iif(%rt,%rt,2),2) } if (u isin $1) { var %rt $rand($iif(%rt,%rt,3),3) if (s !isin $1 && %rt == 2) { inc %rt 1 } } if (!%rt) { return $rand(1,3) } return %rt }
"Не популярность ирц падает а народ тупеет. большинство просто дебилы и дауны даже ебоаську не могут настроить. а там всё просто как для дебилов. а мирку настроить не могут даже большинство тех кто в ирц тусуются. юзают ебоскрипты от криворуких для ламеров. см. челябу. там все на переделанных мирках сидят. классической миркой пользуются уже единицы из-за того что её надо настраивать. про другие ирц клиенты вобще молчу. скайп и майл агент вобще говно для даунов. там даже кнопки разноцветные чтоб на уровне животного инстинкта могли реагировать что красную нажимать надо с опаской а зелёную жмакать можна многа." (с) E}|{uk
|
|
| |
| | |
| Copyright MyCorp © 2024 | Хостинг от uCoz | |
| | |
| |