Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

25.07.2007, 14:45
|
|
Участник форума
Регистрация: 30.05.2007
Сообщений: 115
Провел на форуме: 496690
Репутация:
135
|
|
mirc скрипты
Поискал по форуму - вроде темы такой не было, посему решил создать. Давайте в этой теме делиться мирк-скриптами, которыми мы пользуемся ежедневно и считаем, что они значительно облегчают нам жизнь. Как топикстартер естесственно начну я - ну а Вы уже, может быть и продолжите 
Итак, первый скрипт, который бы я хотел Вам представить - NetWhois - скрипт позволит Вам не выходя из ирц просканировать нужный Вам хост и получить whois-информацию
Код:
;===> NET Whois scaner
;;;;;;
menu channel,nicklist,status {
-
NETWhoIs
.Быстро:NWsScanStart $$1
.Диалог:dialog -mn NetWhoIsScaner NetWhoIsScaner | did -i NetWhoIsScaner 13 0 $$1 | did -e NetWhoIsScaner 14,17
}
dialog NetWhoIsScaner {
title "NETWhois Modul"
option dbu
size 83 70 180 43
button "Закрыть",10, 130 29 43 10, cancel
text "Адрес или Nick:",12, 7 6 41 8
combo 13, 50 5 107 100, drop, edit, autohs
button "Del",14, 158 5 15 10, disable
text "WhoIs database:",15, 7 18 41 8
combo 16, 50 17 123 100, drop
button "IPv4",18, 7 29 20 10
button "Результат",17, 28 29 100 10, disable
}
on 1:dialog:NetWhoIsScaner:edit:13:{
if ($did(13) != $null) did -e $dname 14,17
if ($did(13) == $null) did -b $dname 14,17
}
on 1:dialog:NetWhoIsScaner:init:0:{
NetWsDbIns NetWhoIsScaner
did -c $dname 16 %NWsDBnum
NetWsAddrIns
}
on 1:dialog:NetWhoIsScaner:sclick:*:{
if ($did == 13) { did -e $dname 14,17 }
if ($did == 14) { write -dw" $+ $did(13) $+ " $shortfn($mircdir) $+ texts\NetWsAddr.txt | did -r $dname 13 | NetWsAddrIns }
if ($did == 16) {
set %NWsDBnum $did(16).sel
if (%NWsDBnum == 1) { set %NWsDB whois.arin.net }
if (%NWsDBnum == 2) { set %NWsDB whois.ripe.net }
if (%NWsDBnum == 3) { set %NWsDB whois.apnic.net }
if (%NWsDBnum == 4) { set %NWsDB whois.arin.net }
}
if ($did == 17) {
if ($did(13) == $null) { halt }
NWsScanStart $did(13)
if ($read -w $+ $did(13) $shortfn($mircdir) $+ texts\NetWsAddr.txt != $did(13)) {
write $shortfn($mircdir) $+ txt\NetWsAddr.txt $did(13)
did -r $dname 13 | NetWsAddrIns
}
else {
write -dw $+ $did(13) $shortfn($mircdir) $+ texts\NetWsAddr.txt
write $shortfn($mircdir) $+ texts\NetWsAddr.txt $did(13)
did -r $dname 13 | NetWsAddrIns
}
}
if ($did == 18) {
window -k0 @IPv4
var %IPv4Lines = $lines($mircdirtexts\IPv4.txt)
var %IPv4Ind = 0
:next
inc %IPv4Ind
if (%IPv4Ind > %IPv4Lines) halt
var %IPv4var $read -l $+ %IPv4Ind $shortfn($mircdir) $+ texts\IPv4.txt
if (%IPv4var != $null) echo @IPv4 %IPv4var
else { echo @IPv4 - }
goto next
}
}
#NWsScan off
on 1:DNS:{
if ($iaddress == $null) {
echo 4 @NetWhois Невозможно определить IP для %NWsScanData
echo 4 @NetWhois Сканирование остановлено
.disable #NWsScan
halt
}
set %NWsScanNICK $nick
set %NWsScanADDR $iaddress
set %NWsScanNAME $naddress
echo @NetWhois *** Resolving Data:
if (%NWsScanNICK != $null) { echo @NetWhois IRC Nick: %NWsScanNICK } | else { echo @NetWhois Nick: N/A }
if (%NWsScanADDR != $null) { echo @NetWhois IP addr: %NWsScanADDR }
if (%NWsScanNAME != $null) { echo @NetWhois Domain: %NWsScanNAME } | else { echo @NetWhois Domain: N/A }
if ($sock(NWsScan*,0) == 0) {
if (%NWsDBnum == 4) { sockopen NWsScanFirst %NWsDB 43 }
else { sockopen NWsScanDifer %NWsDB 43 }
echo @NetWhois *** Start Scaning
}
else { echo 4 @NetWhois Прежнее сканирование ещё не закончено! }
.disable #NWsScan
}
#NWsScan end
on 1:sockopen:NWsScan*:{
if ($window(@NetWhois) == $null) { sockclose NWsScan* | halt }
if ($sockerr > 0) { echo 4 @NetWhois Socket: Open Error. Try again. | sockclose NWsScan* | halt }
if (%NWsDBnum == 4) {
if ($sockname == NWsScanFirst) { sockwrite -n NWsScanFirst %NWsScanADDR }
elseif ($sockname == NWsScanRipe) { sockwrite -n NWsScanRipe %NWsScanADDR }
elseif ($sockname == NWsScanAPNIC) { sockwrite -n NWsScanAPNIC %NWsScanADDR }
}
else {
if ($sockname == NWsScanDifer) { sockwrite -n NWsScanDifer %NWsScanADDR }
}
}
on 1:sockread:NWsScan*:{
if ($window(@NetWhois) == $null) { sockclose NWsScan* | halt }
if ($sockerr > 0) { echo 4 @NetWhois Socket: Read Error. Try again. | sockclose NWsScan* | halt }
sockread %NWsScanVar
if ($sockname == NWsScanDifer) {
if (%NWsScanVar == $null) { echo @NetWhois - }
echo @NetWhois %NWsScanVar
}
if ($sockname == NWsScanFirst) {
if (Netname: isin $gettok(%NWsScanVar,1,32)) {
echo @NetWhois $gettok(%NWsScanVar,2-,32)
if (RIPE isin $gettok(%NWsScanVar,2-,32)) { NWsAutoRIPE }
elseif (APNIC isin $gettok(%NWsScanVar,2-,32)) { NWsAutoAPNIC }
else { NWsAutoOther }
}
if (Netblock: isin $gettok(%NWsScanVar,1,32)) echo @NetWhois $gettok(%NWsScanVar,2-,32)
if (%NWsScan2line == 2) { set %NWsScan2line 0 | echo @NetWhois %NWsScanVar | echo @NetWhois ============= }
if (%NWsScan2line == 1) { echo @NetWhois %NWsScanVar | set %NWsScan2line 2 }
if (Coordinator: isin $gettok(%NWsScanVar,1,32)) { set %NWsScan2line 1 }
}
elseif ($sockname == NWsScanRipe || $sockname == NWsScanAPNIC) {
if (%NWsScanVar == $null) { halt }
if ($gettok(%NWsScanVar,1,32) == inetnum:) { echo @NetWhois > $+ $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == netname:) { echo @NetWhois > $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == descr:) { echo @NetWhois > $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == country:) { echo @NetWhois > $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == route:) { echo @NetWhois --------------------- | echo @NetWhois > $gettok(%NWsScanVar,2-,32) - route }
if ($gettok(%NWsScanVar,1,32) == person: || $gettok(%NWsScanVar,1,32) == role:) { echo @NetWhois --------------------- | echo @NetWhois > $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == address:) { echo @NetWhois > $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == phone:) { echo @NetWhois > tel: $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == fax-no:) { echo @NetWhois > fax: $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == e-mail:) { echo @NetWhois > mail: $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == remarks:) { echo @NetWhois > remarks: $gettok(%NWsScanVar,2-,32) }
}
}
on 1:sockclose:NWsScan*:{
if ($sockname != NWsScanFirst) { echo @NetWhois - | echo @NetWhois *** End of Scan }
}
menu @NetWhois {
$iif(($sock(NWsScan*,0) == 1),Закончить):sockclose NWsScan* | echo 4 @NetWhois *** Scaninig Abroded
-
Очистить:clear @NetWhois
-
Закрыть:window -c @NetWhois
}
;;;;;
alias NetWsDbIns {
{ did -i $1 16 1 ARIN (American Registry for Internet Numbers) | did -i $1 16 2 RIPE NCC (Reseaux IP Europeens) | did -i $1 16 3 APNIC (Asia-Pacific Network Information Center) | did -i $1 16 4 -=< Автоматическое определение >=- }
}
alias NetWsAddrIns {
{ var %NWAddrIns = $lines($mircdirtexts\NetWsAddr.txt) + 1 | var %NWind 0 | :next | dec %NWAddrIns 1 | inc %NWind 1 | if (%NWAddrIns <= 0) { return } | did -i NetWhoIsScaner 13 %NWind $read -l $+ %NWAddrIns $shortfn($mircdir) $+ texts\NetWsAddr.txt | goto next }
}
alias NWsScanStart { {
if ($window(@NetWhois) == $null) {
window -adhku @NetWhois 82 70 300 320 $gettok($readini $mircdirmirc.ini fonts fstatus,1,46) $gettok($readini $mircdirmirc.ini fonts fstatus,2-,46)
echo $colour(info) @NetWhois $chr(160) Net WhoISer
echo @NetWhois $chr(160)
}
if ($window(@NetWhois) != $null) { window -a @NetWhois } | echo @NetWhois - | echo @NetWhois 10Scan Data: $1 | set %NWsScan2line 0 | set %NWsScanData $1 | echo @NetWhois $chr(160) | .enable #NWsScan | dns $1
}
}
alias NWsAutoRIPE { { sockopen NWsScanRipe whois.ripe.net 43 } }
alias NWsAutoAPNIC { { sockopen NWsScanAPNIC whois.apnic.net 43 }}
alias NWsAutoOther{ { .timer 1 2 echo @NetWhois - | .timer 1 3 echo @NetWhois *** End of Scan }}
сохраняет этот код в файлик с расширением mrc - и вводим в своем ирк-клиенте /load -rs путь_до_скрипта и при щелчке правой кнопкой по каналу\нику - вы увидите в выпадающем списке меню "NetWhois". Ах да, если скрипт ругнется на отсутствующий файл txt/netwhois.txt - нужно будет его создать =\
|
|
|

25.07.2007, 22:31
|
|
ветеран
Регистрация: 22.06.2004
Сообщений: 2,128
Провел на форуме: 5355463
Репутация:
2258
|
|
Ах да, если скрипт ругнется на отсутствующий файл txt/netwhois.txt - нужно будет его создать =\
а что если к началу скрипта приписать:
Код:
if (!$exists($mircdirtxt/netwhois.txt)) { write $mircdirtxt/netwhois.txt }

__________________
Моня тот еще зверюга,
Свиду тихий внутри - ****,
Без обид,реальный мэн,
Просто рифмы нет совсем.
С ним шутить *****то очень,
В ирце вместе с ним хохочем (c) m0Hze
|
|
|

02.08.2007, 23:29
|
|
Участник форума
Регистрация: 30.05.2007
Сообщений: 115
Провел на форуме: 496690
Репутация:
135
|
|
Кто-то тут спрашивал скрипт авто приветствия  Выкладываю:
on 1:exit:{ unset %AutoHi_join_* }
on *:join:#:{ if ($nick == $me) && ($chan != #help) { if (%AutoHi_join_ [ $+ [ # ] ] == $hull) || (%AutoHi_join_ [ $+ [ # ] ] != $date) { inc %AutoHi_join_timer 1 | .timerAuto_hi $+ %AutoHi_join_timer 1 $rand(2,6) msg # $read -l $+ $rand(5,14) $script
set %AutoHi_join_ $+ # $date } } }
;Начало Примеров Авто-приветствий (это 4я строка)
Превет всем 
Бобрый утра всем
Это снова я
ку2фдд%)
re2all
Всем приветы
re2all
Я снова приперся
Привет ребята
Re all
;Конец примеров Авто-приветствий. (это 15я строка)
;Если вы хотите дописать дополнительные приветствия, то вписывайте их перед строкой "Конец примеров авто-приветствия. (это 15я строка)"
;после чего измените $rand(5,14) на $rand(5,х) где х - номер последней строки приветствий. $rand(5,14) - это поле строк с приветствиями с5 по 14.
тут думаю все понятно  Сохраняем в папку мирка под именем, к примеру auto_hi.mrc, и потом в клиенте /load -rs auto_hi.mrc
|
|
|

13.08.2007, 23:36
|
|
Участник форума
Регистрация: 30.05.2007
Сообщений: 115
Провел на форуме: 496690
Репутация:
135
|
|
Скрипт вывода информации о системе в канал. Без использования moo.dll. сохраняете в moo.mrc, затем в мирке - /load -rs moo.mrc. Появится менюшка при щелчке в канал, либо /moo как команда.
Код:
;.oO{ moo script v3.13 *beta* by HM2K }Oo. - IRC@HM2K.ORG
;description:
;no more moo.dll! -- this script uses $com to lookup the WMI functions to return specified system information.
;moo script was originally created to display your system information via IRC, including: operating system, uptime, cpu, memory usage, graphics card, resolution, network details and hard drive details.
;installation:
;NOTICE: please unload and remove any old moo scripts, else this script may not work.
;make sure moo.mrc is in your $mircdir then type: /load -rs moo.mrc
;Please make sure you have the latest windows updates or the latest WMI core (http://www.microsoft.com/downloads/details.aspx?FamilyID=98a4c5ba-337b-4e92-8c18-a63847760ea5&DisplayLang=en)
;Also, please use the latest version of mIRC, ideally mIRC v6.16 and above...
;usage:
;for moo type: /moo or !moo (if enabled)
;for uptime only type: /up or !uptime (if enabled)
;history:
;moo script v3.13 - Changed the ram function to use a more reliable WMI location, added OSArchitecture (osarc) for Vista, fixed CPU load to not return anything if there's no load.
;moo script v3.12 - Minor tweaks, a few code changes, added /moo echo and a few more functions.
;moo script v3.11 - Added some new features and made it easier to style the output, added some additional notes
;moo script v3.1 - Added the long awaited flood protection, simple lookup error checking, more/better functions, quicker script
;moo script v3.0 - The whole script was changed, no more moo.dll, it now uses WMI however this version MUST be run on mIRC v6.16 or above.
;[moo] script v2.27 - !moo trigger fix, now turned off by default to stop abuse
;[moo] script v2.26 - Lots of little changes made up till this version, including getmoo.
;[moo] script v2.23 - changed some alias' to alias -l, fixed small bugs, added new featuers
;[moo] script v2.22 - minor bug fixes, bold added etc.
;[moo] script v2.21 - added a feature to turn the !moo get and !getmoo on or off, and fixed a few bugs.
;[moo] script v2.2 - name change, completly changed the /moo and !moo system, should work better now, no mistakes.
;moo script v2.13 - still a few mistakes, changes made, mbm5 isn't functioning correctly...
;moo script v2.12 - many small changes and fixes made, mbm5 was fixed also.
;moo script v2.11 - simple bug fixes.
;moo script v2.1 - minor modifications, final public release.
;moo script v2.0 - New name, new style, new script, same idea.
;MooDll Script v1.21 - Many bug fixes, first public release
;MooDll Script v1.0 - Original private release, very simple, buggy.
;todo:
; - Fix the network traffic readings
; - Test on Windows Vista
;thanks to...
;Mark (from influenced.net) for the original concept and for letting me know that he was not creating a new moo.dll
;HndlWCare who inspired me to write this for saying: "moo.dll was written by a college student roommate of one of our ops who has admitted inserting a backdoor into it" -- none of this is true, there IS NO backdoor in moo.dll and just like there is NO backdoor in this script. HndlWCare you are an idiot.
;Moondawn for listening to me rant.
;and also the beta testers... square, ryguy, Petersen, OutCast3k and PRO1.
;settings
;moo banned channels - these are channels you don't want the triggers to function in
alias -l moo.banchans return #php
;moo style - use this to style the titles of the output
alias -l moos return $+(,$1,:)
;NOTICE: DO NOT edit below unless you know what you're doing. If you do make any changes, please let me know! :)
alias -l moover return moo script v3.13 *beta*
;usage: /moo <moof (see below)>
alias moo {
if (!$1) { $iif($chan,msg $chan,say) $moor | return }
if ($1 == echo) { echo -a $moor | return }
if ($moof($1)) { var %moo.var $ifmatch | $iif($chan,msg $chan,say) moo: %moo.var }
}
;moo return - use this to change the outputs, you can also style this for the whole output
alias -l moor return moo: $iif($mooi(name),$moof(os) $moof(up) $moof(cpu) $moof(gfx) $moof(res) $moof(ram) $moof(hdd) $moof(net),lookup error)
;this section was created so you can easily change the options for what is returned
;moo functions - you can add or change the functions that the script can handle
alias -l moof {
if ($1 == os) { return $moos($1) $mooi(ostitle) - $mooi(ossp) $brak($mooi(osver)) }
if ($1 == up) { return $moos($1) $duration($mooi(up)) }
if ($1 == cpu) { return $moos($1) $mooi(cpuname) at $mooi(cpuspeed) $mooi(cpuload) }
if ($1 == gfx) { return $moos($1) $mooi(gfxmake) $mooi(gfxproc) $mooi(gfxram) }
if ($1 == res) { return $moos($1) $mooi($1) $mooi(resbit) $mooi(resrate) }
if ($1 == ram) { var %moo.rammax = $mooi(rammax) | var %moo.ramuse = $mooi(ramuse) | return $moos($1) $+($round($calc(%moo.rammax - %moo.ramuse),0),/,%moo.rammax,MB) $+($chr(40),$round($calc((%moo.rammax - %moo.ramuse) / %moo.rammax * 100),2),%,$chr(41)) $moorambar($round($calc((%moo.rammax - %moo.ramuse) / %moo.rammax * 100),2)) }
if ($1 == hdd) { return $moos($1) $mooi(hdd) }
if ($1 == net) { return $moos($1) $iif($mooi(netname),$ifmatch - $mooi(netspeed) $mooi(netin) In $mooi(netout) Out, ) }
elseif ($mooi($1)) { return $moos($1) $ifmatch }
}
;moo info - below are the useful or interesting wmi functions to use with the script
alias mooi {
if ($1 == name) { return $wmiget(Win32_ComputerSystem).Name }
if ($1 == ostitle) { return $wmiget(Win32_OperatingSystem).Caption }
if ($1 == ossp) { return $wmiget(Win32_OperatingSystem).CSDVersion }
if ($1 == osver) { return $wmiget(Win32_OperatingSystem).Version }
if ($1 == osinstall) { return $asctime($ctime($iif($wmiget(Win32_OperatingSystem).InstallDate,$+($mid($ifmatch,7,2),/,$mid($ifmatch,5,2),/,$mid($ifmatch,1,4)) $+($mid($ifmatch,9,2),:,$mid($ifmatch,11,2),:,$mid($ifmatch,13,2))))) }
if ($1 == osarc) { return $wmiget(Win32_OperatingSystem).OSArchitecture }
if ($1 == up) { return $uptime(system,3) }
if ($1 == cpuname) { return $wmiget(Win32_Processor).Name }
if ($1 == cpuspeed) { return $+($wmiget(Win32_Processor).CurrentClockSpeed,MHz) }
if ($1 == cpuload) { return $iif($wmiget(Win32_Processor).LoadPercentage,$brak($+($ifmatch,% Load)),) }
if ($1 == cputotal) { return $wmiget(Win32_ComputerSystem).NumberOfProcessors }
if ($1 == gfxmake) { return $wmiget(Win32_VideoController).AdapterCompatibility }
if ($1 == gfxproc) { return $wmiget(Win32_VideoController).VideoProcessor }
if ($1 == gfxram) { return $bytes($wmiget(Win32_VideoController).AdapterRam,3).suf }
if ($1 == res) { return $+($wmiget(Win32_VideoController).currenthorizontalresolution,x,$wmiget(Win32_VideoController).currentverticalresolution) }
if ($1 == resbit) { return $wmiget(Win32_VideoController).currentbitsperpixel $+ bit }
if ($1 == resrate) { return $wmiget(Win32_VideoController).currentrefreshrate $+ Hz }
if ($1 == rammax) { return $round($calc($wmiget(Win32_LogicalMemoryConfiguration).TotalPhysicalMemory / 1024),1) }
if ($1 == ramuse) { return $round($calc($wmiget(Win32_OperatingSystem).FreePhysicalMemory / 1024), 1) }
if ($1 == netname) { return $wmiget(Win32_PerfRawData_Tcpip_NetworkInterface).Name }
if ($1 == netspeed) { return $calc($wmiget(Win32_PerfRawData_Tcpip_NetworkInterface).CurrentBandwidth / 1000000) $+ MB/s }
if ($1 == netin) { return $bytes($wmiget(Win32_PerfRawData_Tcpip_NetworkInterface).BytesReceivedPersec).suf }
if ($1 == netout) { return $bytes($wmiget(Win32_PerfRawData_Tcpip_NetworkInterface).BytesSentPersec).suf }
if ($1 == hdd) { var %i 1 | while (%i <= $disk(0)) { if ($disk(%i).type == fixed) var %var %var $disk(%i).path $+($bytes($disk(%i).free).suf,/,$bytes($disk(%i).size).suf) | inc %i } | return %var }
if ($1 == sound) { return $wmiget(Win32_SoundDevice).Name }
if ($1 == mobo) { return $wmiget(Win32_BaseBoard).Manufacturer $wmiget(Win32_BaseBoard).Product }
}
;moo rambar - the famous rambar from the original script with a couple of changes
alias -l moorambar {
if ($len($1) < 990) {
var %moo.rb.size = 10
var %moo.rb.used = $round($calc($1 / 100 * %moo.rb.size),0)
var %moo.rb.unused = $round($calc(%moo.rb.size - %moo.rb.used),0)
var %moo.rb.usedstr = $str(|,%moo.rb.used)
var %moo.rb.unusedstr = $str(-,%moo.rb.unused)
if ((%moo.rb.usedstr) && (%moo.rb.unusedstr)) return $+([,%moo.rb.usedstr,%moo.rb.unusedstr,])
}
}
;Get WMI data - this is the most useful function here, this only works if mIRC has the $COM function, its very useful, but a little slow.
alias wmiget {
var %com = cominfo, %com2 = cominfo2, %com3 = cominfo3
if ($com(%com)) { .comclose %com }
if ($com(%com2)) { .comclose %com2 }
if ($com(%com3)) { .comclose %com3 }
.comopen %com WbemScripting.SWbemLocator
var %x = $com(%com,ConnectServer,3,dispatch* %com2), %x = $com(%com2,ExecQuery,3,bstr*,select $prop from $1,dispatch* %com3), %x = $comval(%com3,$iif($2,$2,1),$prop)
if ($com(%com)) { .comclose %com }
if ($com(%com2)) { .comclose %com2 }
if ($com(%com3)) { .comclose %com3 }
return %x
}
;backets - I got fed up of repeating the same thing
alias -l brak return $+($chr(40),$1-,$chr(41))
;uptime script - this is the short uptime script created to return your current update and retain your best uptime
on *:connect: up x
alias up { ;uptime v0.4
$iif($timer(up) == $null,.timerup 0 30 up x)
if (($uptime(system,3) >= %up) || (%up == $null)) set %up $uptime(system,3)
$iif($1 == x,halt,$iif($chan,msg $chan,$iif($active == Status Window,echo,say)) $+(Windows,$OS) Uptime: $uptime(system,1) Best: $duration(%up))
}
#!uptime off
on *:text:!uptime:#: if (!$istok($moo.banchans,$chan,32)) { up | $repeatcheck($1-) }
#!uptime end
;moo triggers - public display, sharing the script and ctcp moo
#!moo on
on *:text:!moo*:#: if (!$istok($moo.banchans,$chan,32)) { moo $2 | $repeatcheck($1-) }
#!moo end
#!getmoo on
on *:text:!getmoo:*: {
if ($chan) { .notice $nick moo: To get $moover type: "/msg $me !getmoo" (set "/dccignore off" first) | $repeatcheck($1) | halt }
else { .close -m $nick | .dcc send $nick $script | .notice $nick moo: Once you receive the script issue: "/load -rs $nopath($script) $+ ", and don't forget to do "/dccignore on" | $repeatcheck($1) | halt }
}
#!getmoo end
#ctcpmoo on
ctcp *:*:*: if (($1 == MOO) || ($1 == VERSION)) { .ctcpreply $nick $1 $moover by HM2K | $repeatcheck(ctcpmoo) }
#ctcpmoo end
;repeat checker - will disable the appropriate group if its flooded
alias -l repeatcheck { ;v0.11
var %rep.lim = 3
var %rep.t.lim = 25
if (%rep.lockusr- [ $+ [ $nick ] ]) { haltdef }
inc $+(-u,%rep.t.lim,$chr(32),%,rep-,$nick,.,$len($strip($1-)),.,$hash($strip($1-),32)) 1
if (%rep- [ $+ [ $nick ] $+ . $+ [ $len($strip($1-)) ] $+ . $+ [ $hash($strip($1-),32) ] ] == %rep.lim) {
;ignore -u60 $address($nick,5)
if ($group($chr(35) $+ $1) == on) { .disable $chr(35) $+ $1 | .echo -gat moo: $1 is $group($chr(35) $+ $1) due to a repeat flood from $nick }
.set -u10 $+(%rep.lockusr-,$nick) 1
}
}
;onload and onunload checks - making sure everything is as it should be
on *:load: { up x | if ($version < 6.16) { echo -a moo: you need mIRC v6.16 or greater to run this script, get the latest version from www.mirc.com/get.html | unload -rs $script | halt } }
on *:unload: { .timerup off | $iif($input(Do you want to remove the best uptime data,y,unset %up),unset %up,) | .echo $colour(info2) -gat $moover was unloaded, to reload type: /load -rs $script }
;the menus - only simple at the moment, however this script is designed to utilise the /moo and !moo triggers
menu channel,query {
$moover
.moo all (/moo): moo
.moo uptime (/up): up
.-
.!moo trigger ( $+ $group(#!moo) $+ ):{
if ($group(#!moo) != on) { .enable #!moo }
else { .disable #!moo }
.echo -ga moo: !moo is $group(#!moo)
}
.!uptime trigger ( $+ $group(#!uptime) $+ ):{
if ($group(#!uptime) != on) { .enable #!uptime }
else { .disable #!uptime }
.echo -ga moo: !uptime is $group(#!uptime)
}
.!getmoo trigger ( $+ $group(#!getmoo) $+ ):{
if ($group(#!getmoo) != on) { .enable #!getmoo }
else { .disable #!getmoo }
.echo -ga moo: !getmoo is $group(#!getmoo)
}
.ctcp moo trigger ( $+ $group(#ctcpmoo) $+ ):{
if ($group(#ctcpmoo) != on) { .enable #ctcpmoo }
else { .disable #ctcpmoo }
.echo -ga moo: ctcpmoo is $group(#ctcpmoo)
}
.-
.unload $remove($script,$scriptdir)
..are you sure?
...yes: { .unload -rs $script }
...no: { .echo $colour(info2) -gat $remove($script,$scriptdir) was NOT unloaded. }
}
;EOF
|
|
|

14.08.2007, 00:39
|
|
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме: 21768337
Репутация:
3486
|
|
Код:
n0=on 1:connect://.mode $me +x | //.nickserv identify PASSWORD
|
|
|

14.08.2007, 09:09
|
|
Участник форума
Регистрация: 30.05.2007
Сообщений: 115
Провел на форуме: 496690
Репутация:
135
|
|
Сообщение от [sL1p]
Код:
n0=on 1:connect://.mode $me +x | //.nickserv identify PASSWORD
Ты бы хоть сказал что этот скрипт позволит проидентифицировать ник к никсерве при коннекте на сервер  А то мало-ли, не поймут 
|
|
|

14.08.2007, 14:55
|
|
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме: 21768337
Репутация:
3486
|
|
Сообщение от _Master-
Ты бы хоть сказал что этот скрипт позволит проидентифицировать ник к никсерве при коннекте на сервер  А то мало-ли, не поймут 
Чего тут непонятного то=\ Кстати не только идент, + к этому при коннекте автоматом ставится режим +х. Ето скрытие ипа, для тех кто не знает.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|