Jump to content

chain

Administrators
  • Posts

    5,964
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by chain

  1. Version 1.0.0

    0 downloads

    Good script with great features :Base QSCRIPT.HLP :Title QScript B6 Help 1 QScript=Contents 1 DLL Information=Dlls 1 QScript 2 Features=Features 2 Version History=versions 2 Greets=Greets 2 E.U.L.A.=EULA 1 Property Dialogs 2 Server Properties=Sprop 2 Channel Properties=Cprop 2 Channel Protection=Cprot 1 Extensions 2 Overview=Extensions 2 Create An Extension=ECreate 1 Scripting In QScript 2 Commands & Identifiers=Commands 1 Profiles 2 Overview=Profiles 1 Themes 2 Overview=Theme 2 Theme Manager=Themes 2 Creating Themes=TCreate
  2. Version 3.0

    0 downloads

    RuLeRs Script 3.0 is a advanced script but its allso verry usefull for newbies. fx. Û becouse of the F-Key system that allows you to easy Op/Deop/Kick/Ban users and if you Û use the X/W popups then you will have no problems in coltroling you own channel... Û Û This script an undernet script. That doesn't mean you can't use it for chat-servers as Û Dalnet and EFnet... But if you are a Undernet users this script is allmost as good as Û it gets... ;O) Û Û If you have any questions about the script or good idears for new features then just Û gohead and send us an email on RuLeRs@nr-djurs.net. You can allso find us on irc Û (undernet), look for users width the following nicks... m|E|g|A or Niffer try channels Û as: #partyline, #dkservice, #access4all or #vcd.dk Û Û If you regonize anything in this script its becouse its based on on MEGA-Script 2.0 Û (mIRC 5.5) but in this script there isn't half as manny bugs... Û I hope u like hvis script couse i have used alot of time makeing it. Û If u like the script visit RuLeRs Homepage for updates Û Û System Requestments: Û Û IRC Script doesn't normaly need any wild system requestments, so if you just have an Û internet connection and you'll about to begin chatting! But the script looks best in Û a resolution of 1024*768 or higher. The script is made for mIRC for Win95/98/NT but Û if you have windows 3.11 just go to web site named Http://www.mirc.com and download Û the newest win3.11 version of mIRC.exe. I can't ensure that the script will work Û optimal in windows 3.11 couse it isn't tested in so old a windows version ;O) Û Û Ü ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Ü Û Û Û Features: Û Û * IRC FTP Client Û * 2 Versions of Random Nick Change Tool Û * Autojoin Popup List (Easy add new channels) Û * Autodetections (Network Errors, mIRC version and OS) Û * Away System Û # Away Change Û # Timed Auto Away Û # Auto Minimize On Away Û Û * Advanced Funktion Key (F-Key) Controles Û # F1 = Help Menu Û # F2 = Multi OP (+o) Funktion Û # F3 = Multi DeOP (-o) Funktion Û # F4 = Msg-Box Join Funktion Û # F5 = Msg-Box Kick Funktion Û # F6 = Msg-Box BanKick Funktion Û # F7 = Unban Last... Û # F8 = DNS Lookup (IP & Host trace) Û # F9 = Away/Back Funktion Û # F10 = Advanced Whois (UWho) Û # F11 = DCC chat marked nickname Û # F12 = Exit Funktion (Width Confirm) Û Û Shift+F1 = Normal mIRC help search utility Û Shift+F2 = Op marked user(s) width X/W on active channel Û Shift+F3 = Deop marked user(s) width X/W on active channel Û Shift+F4 = Add active channel to autojoin list Û Shift+F5 = Global kick marked nick (Kick nick on all channels) Û Shift+F6 = Û Shift+F7 = Clearmode width X/W on active channel Û Shift+F8 = Change topic on active channel Û Shift+F9 = Û Shift+F10 = Û Shift+F11 = DCC send to marked nick Û Shift+F12 = Û Û * Advanced Ignore System Û * Advanced Usermode Settings Û * X/W Undernet Bot Popups (Width autodetection) Û * Bummer correction system (fx: The Deop key/popup will not deop yourself) Û * MP3 Player (R-Player 1.0) Û # MP3 selection system Û # Random MP3 selection system Û # Color Selection System Û # Default bitrate Û # Default startdir Û # Display mode (Msg, me, ame and notice) Û Û * DNS System (width IP capture) Û * Channel mode popups (+s,+k,+l...) Û * Usermode popups (Fx: mark your self as invisable) Û * Flood Protection (width many settings) Û * MSGBOX (If you hate that all ping, notices... is comming in the status window, Û u'll love this little baby. now you kan browse, while you can watch all irc Û activity in a small window that is on top of other programs... Just try it) Û # CTCP PING Û # Modes (+o-o+b-o...) who involves you Û # Kick who involves you Û # Fingers Û # Topics change Û # Kicks Û # Invites Û # Opening Querys Û # Quits
  3. Version 2.0

    0 downloads

    classic looking script
  4. Version 1.0.0

    1 download

    games and etc style script
  5. Version 1.0.0

    0 downloads

    simple but old archive script
  6. Version 4.0

    0 downloads

    Interesting script has a lot of old features
  7. Version 2.3

    0 downloads

    still useable and very loud make sure your volume on speakers is turned down has various protections and etc made for dalnet
  8. Version 1.0.0

    0 downloads

    Basic sysop script for IRCD
  9. Version 1.2

    0 downloads

    quite different has a lot of the old protections and auto op's and various other misc systems.
  10. Version 1.0.0

    0 downloads

    Rare treat very 0ld
  11. Version 4.0

    0 downloads

    Couldn't open with my windows
  12. chain

    Urscript

    Version 1.0.0

    0 downloads

  13. chain

    weaponx

    Version 1.0.0

    0 downloads

    0ld archive script
  14. Version 1.0.0

    0 downloads

    Unusual but is a windows bot 0ld archive
  15. chain

    WyLdE_BOT

    Version 1.0.0

    0 downloads

    Very Different and 0ld archive
  16. chain

    xLb2

    Version 1.0.0

    0 downloads

    Very 0ld archive irc script
  17. Version 1.0.0

    0 downloads

    0ld archive script
  18. Version 2.0

    0 downloads

    0ld archive script
  19. Version 2.0

    0 downloads

    0ld archive script
  20. Version 6.3

    1 download

    Andaris is a Script/Addon for the IRC client "KVIrc". This allows you to optimize and customize your favorite IRC client.
  21. This is a small update that adds features and addresses a number of issues reported by users since the last release. It includes improvements, changes and fixes, including: Added per server options for SSL certificate, logon settings, and server encoding. Added support for numeric 005 UTF8ONLY token. Added support for IRCv3 echo-message. Added support for IRCv3 005 numeric BOT=b mode token. Added support for various WATCH list numerics for the notify list. Changed CAP request on connect to speed up server logon. Changed servers list in connect dialog to group named servers together. Changed channels favorites location to channels.ini file to allow easier updates. Changed use of Windows media library to play sounds more smoothly. Fixed Aero theme colors under Windows 11. Fixed nested while loops continue bug. Fixed options dialog not freeing memory when closed. Updated OpenSSL library to v1.1.1q. Updated CA root certificates cacert.pem file. How to upgrade? mIRC is distributed in an installer that installs mIRC on your computer for you. Simply download and run the installer from the download page on the mIRC website. Follow the instructions the installer gives to you. When upgrading all your old settings and scripts will stay as they were, if you want that. Read the questions the installer asks with care and nothing can go wrong. You will be chatting with the new mIRC in no time. If you get stuck or if you want to find out more about a certain feature, just click on a Help button or browse the Help file and you should find lots of hints to help you out. Where to download? As always, the latest version of mIRC can be downloaded from the download page on the mIRC website. Registering mIRC As you know, mIRC can be downloaded freely and evaluated for 30 days. If you find that you enjoy using mIRC, it would be great and much appreciated if you registered your copy. This licenses you to use your copy of mIRC and helps to support our continued work on mIRC. You can find out how to register here. Full list of Fixes, Changes and Additions. For a more detailed list of recent changes, please see the whatsnew.txt file. You will need to read through the help file to learn more about these changes and their impact. Some changes are obvious, some need getting used to - please take your time to play with them and see how they work. May we invite you to use these forums for all questions you might have? The forums offer great help with everything related to mIRC! Thanks for using mIRC, have fun on IRC!
  22. ;;;;;;;;;;;;;;;;;; ;; Port Checker ;; ;; By Jonesy44 ;; ;;;;;;;;;;;;;;;;;; alias pc { set %pc.addr $$input(Enter the Address/IP and port of the server you want to check (IP:Port),eq,Port Check - Input Information) if ($sock(pc)) { .sockclose pc } if (%pc.addr) { echo -a 2Port Check; -------------------------------------------------------------------------------------- echo -a 2Port Check; Checking address $qt($iif(: isin %pc.addr,%pc.addr,%pc.addr $+ : $+ 80)) Please wait.. .sockopen pc $iif(: isin %pc.addr,$replace(%pc.addr,$chr(58),$chr(32)),%pc.addr 80) set %pc.timeout 5 .timerpc1 0 1 pc.timeout } } alias pc.timeout { if (%pc.timeout <= 0) { echo -a 4Port Check: Could not connect to $qt($iif(: isin %pc.addr,%pc.addr,%pc.addr $+ : $+ 80)) echo -a 2Port Check; -------------------------------------------------------------------------------------- .sockclose pc .timerpc1 off unset %pc.addr } else { dec %pc.timeout } } on *:SOCKOPEN:pc: { if ($sockerr) { echo -a 4Port Check: Could not connect to $qt($iif(: isin %pc.addr,%pc.addr,%pc.addr $+ : $+ 80)) } else { echo -a 3Port Check: Connected succesfully to $qt($iif(: isin %pc.addr,%pc.addr,%pc.addr $+ : $+ 80)) } echo -a 2Port Check; -------------------------------------------------------------------------------------- unset %pc.addr .sockclose pc .timerpc1 off }
  23. chain

    mIRC Addon

    alias calc { echo -a 12Calculation: $calc($1-) } ;;;;; ################# SHOW UPTIME --------------------------------------------------------------------------------------- menu channel,nicklist { System Uptime://echo -a 12Uptime:7 $uptime(system,1) | .timerUPTIME 0 3 /uptdate } alias uptdate { titlebar UP: $uptime(system,1) } ;;;;; ################# GET NICK BACK ---------------k-------------------------------------------- on *:UNOTIFY:{ if ($nick == Eneerge) { /nick Eneerge } } alias bw { if ($1 == $NULL) { echo -a No Input! | haltdef } if ($me ison $1) { if ($2 == $NULL) { echo -a No Input! | haltdef } else { var %currentword_index = $numtok($2-,32) var %inv_word = $NULL while (%currentword_index > 0) { var %currentword = $gettok($2-,%currentword_index,32) var %inv_word while ($len(%currentword) > 0) { var %inv_word = %inv_word $+ $right(%currentword,1) var %currentword = $left(%currentword,-1) } var %inv_msg = %inv_msg $+ $chr(32) $+ %inv_word dec %currentword_index } /msg $1 %inv_msg } } else { var %currentword_index = $numtok($1-,32) var %inv_word = $NULL while (%currentword_index > 0) { var %currentword = $gettok($1-,%currentword_index,32) var %inv_word while ($len(%currentword) > 0) { var %inv_word = %inv_word $+ $right(%currentword,1) var %currentword = $left(%currentword,-1) } var %inv_msg = %inv_msg $+ $chr(32) $+ %inv_word dec %currentword_index } /msg $chan %inv_msg } } ;;;;; ################# Safe Rejoin After Kick ----------------------------------------------------------- on *:KICK:#:{ if ($knick == $me) { .timer 1 5 hop # } } ;;;;; ################# CHECK FOR UN-USED SERVERS --------------------------------------------------------------------- alias check { var %disconnect = $?!="Would you like to disconnect and close the window? ( $+ $server $+ )" if (%disconnect = $true) { /scid $cid window -c "Status Window" } } on me:*:PART:#:{ if ($chan(0) <= 1) { .timerCHECK 1 1 check } } ;;;; ################# HEX URL CONVERSION -------------------------------------------------------------------------------- on 1:DNS:{ var %n = $dns(0) echo -a -=4 Found %n addresses - $dns(%n).nick while (%n > 0) { var %quad1 = $gettok($dns(%n).ip,1,46) var %hex1 = $base(%quad1,10,16) var %quad2 = $gettok($dns(%n).ip,2,46) var %hex2 = $base(%quad2,10,16) var %quad3 = $gettok($dns(%n).ip,3,46) var %hex3 = $base(%quad3,10,16) var %quad4 = $gettok($dns(%n).ip,4,46) var %hex4 = $base(%quad4,10,16) echo -a ADDRESS: $dns(%n).addr $+ ( $+ $dns(%n).ip $+ ) / 12http:// $+ $longip($dns(%n).ip) / 12 $+(http://0x,%hex1,%hex2,%hex3,%hex4) dec %n } halt } ;;;; ################ BETTER URL PARSING ;; E-mail parsing on ^1:HOTLINK:*@*:*: { if (($right($1,4) != .net) || ($right($1,4) != .com) || ($right($1,4) != .org)) { halt } else { return } } ;; URLs on ^1:HOTLINK:*http*:*:{ if (:// isin $1) return | else { halt } } on ^1:HOTLINK:*.net*:*:{ return } on ^1:HOTLINK:*.com*:*:{ return } on ^1:HOTLINK:*.org*:*:{ return } on ^1:HOTLINK:*.ru*:*:{ return } on ^1:HOTLINK:*.nl*:*:{ return } on ^1:HOTLINK:*.biz*:*:{ return } on 1:HOTLINK:*:*:{ var %url = $1 var %chr = 5 while (%chr < 256) { if ($chr(%chr) isincs %url) { set %url $remove(%url,$chr(%chr)) } inc %chr if (%chr == 35) { var %chr = 36 } elseif (%chr == 37) { var %chr = 39 } elseif (%chr == 43) { var %chr = 59 } elseif (%chr == 61) { var %chr = 62 } elseif (%chr == 63) { var %chr = 64 } elseif (%chr == 65) { var %chr = 91 } elseif (%chr == 95) { var %chr = 96 } elseif (%chr == 97) { var %chr = 123 } elseif (%chr == 126) { var %chr = 127 } } if (@ isin $1) { run mailto: $+ %url | halt } if ((http:// !isin %url) && (https:// !isin %url)) { var %url $puttok(%url,http:// $+ %url,1,32) } .url %url } ;;;; ################# TEXT MANIPULATION -------------------------------------------------------------------------------- ;;;; # For channel message on ^1:TEXT:**:#:{ var %template [ $+ [ $nick ] ] < $+ $nick $+ 7> $1- ; ADD VOICE/OP STATUS TO USER ### ; --------------------------- if ($nick isop $chan) { var %template [ $+ [ $nick ] ] $puttok(%template [ $+ [ $nick ] ],<14@ $+ $nick $+ 7>, 1,32) } elseif ($nick isvoice $chan) { var %template [ $+ [ $nick ] ] $puttok(%template [ $+ [ $nick ] ],<14+ $+ $nick $+ 7>, 1,32) } ; HIGHLIGHT MY CURRENT NICKNAME ### ; ----------------------------- var %color 8,2 var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$me,%color $+ $me $+ ) ; HIGHLIGHT URLS ### ; -------------- var %totalURLS $matchtok(%template [ $+ [ $nick ] ],http://,0,32) var %totalURLS $calc(%totalURLS + $matchtok(%template [ $+ [ $nick ] ],www.,0,32)) var %totalURLS $calc(%totalURLS - $matchtok(%template [ $+ [ $nick ] ],http://www.,0,32)) var %color 12,0 while (%totalURLS > 0) { var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$matchtok(%template [ $+ [ $nick ] ],http://,%totalURLS,32),%color $+ $matchtok(%template [ $+ [ $nick ] ],http://,%totalURLS,32) $+ ) var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$matchtok(%template [ $+ [ $nick ] ],www.,%totalURLS,32),%color $+ $matchtok(%template [ $+ [ $nick ] ],www.,%totalURLS,32) $+ ) dec %totalURLS } ; DISPLAY DATA ### ; ------------ echo -i8 $chan %template [ $+ [ $nick ] ] halt } ;;; # FOR PRIVAGE MESSAGES on ^1:TEXT:*:?:{ var %color 8,2 var %template [ $+ [ $nick ] ] < $+ $nick $+ 7> $1- ; HIGHLIGHT MY CURRENT NICKNAME ### ; ----------------------------- var %color 8,2 var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$me,%color $+ $me $+ ) ; HIGHLIGHT URLS ### ; -------------- var %totalURLS $matchtok(%template [ $+ [ $nick ] ],http://,0,32) var %totalURLS $calc(%totalURLS + $matchtok(%template [ $+ [ $nick ] ],www.,0,32)) var %totalURLS $calc(%totalURLS - $matchtok(%template [ $+ [ $nick ] ],http://www.,0,32)) var %color 12,0 while (%totalURLS > 0) { var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$matchtok(%template [ $+ [ $nick ] ],http://,%totalURLS,32),%color $+ $matchtok(%template [ $+ [ $nick ] ],http://,%totalURLS,32) $+ ) var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$matchtok(%template [ $+ [ $nick ] ],www.,%totalURLS,32),%color $+ $matchtok(%template [ $+ [ $nick ] ],www.,%totalURLS,32) $+ ) dec %totalURLS } ; DISPLAY DATA ### ; ------------ echo -i3 $nick %template [ $+ [ $nick ] ] ; SET FOCUS TO WINDOW FOR EASY VIEWING ### ; ------------------------------------ if ($active != $nick) { echo -a 7*** 12INCOMING MESSAGE from $nick window -a $nick } halt } on 1:INPUT:#:{ if (($left($1,1) != /) || ($ctrlenter == $true)) { inc %num if ($me isop $chan) { var %mymode @ } elseif ($me isvoice $chan) { var %mymode + } var %template [ $+ [ %num ] ] 14 $+ %mymode $+ 8 $+ $me $+ 7> if ($len($1-) > 399) { .msg $active $1-$399 | editbox -a $right($1-,-399) } else { .msg $active $1- } echo -i8 $chan < $+ %template [ $+ [ %num ] ] $left($1-,399) dec %num halt } if (($1 == /me) || ($1 == /describe)) { if ($2 == $Null) { Echo -a *** 7Invalid input | halt } .describe $chan $2- inc %num var %template [ $+ [ %num ] ] 7 $+ $me $2- if ($me isop $chan) { echo -i8 $chan * 14@7 $+ %template [ $+ [ %num ] ] } else if ($me isvoice $chan) { echo -i8 $chan * 14+7 $+ %template [ $+ [ %num ] ] } else { echo -i8 $chan *7 %template [ $+ [ %num ] ] } dec %num halt } } on 1:INPUT:?:{ if (($left($1,1) != /) || ($ctrlenter == $true)) { inc %num var %template [ $+ [ %num ] ] <12 $+ $me $+ 7> .msg $active $1- echo -i8 $active %template [ $+ [ %num ] ] $1- halt } if (($1 == /me) || ($1 == /describe)) { if ($2 == $Null) { Echo -a *** 7Invalid input | halt } .describe $active $2- inc %num var %template [ $+ [ %num ] ] * 6 $+ $me echo -i8 $active %template [ $+ [ %num ] ] $2- dec %num halt } } on ^1:ACTION:**:#:{ var %template [ $+ [ $nick ] ] $nick $1- if ($nick isop $chan) { echo -i8 $chan *14 @7 $+ %template [ $+ [ $nick ] ] } else if ($nick isvoice $chan) { echo -i8 $chan *14 +7 $+ %template [ $+ [ $nick ] ] } else { echo -i8 $chan *7 %template [ $+ [ $nick ] ] } halt } on ^1:ACTION:**:?:{ var %template [ $+ [ $nick ] ] $nick $1- echo -i8 $nick *7 %template [ $+ [ $nick ] ] halt } Implements features into mIRC like url highlighting, ip to hex, reverse chat, uptime, getnickback, close redundant connections, safe rejoin, and better text display. I recommend using with a black background.
  24. ;; ___________________________________________________________________________________________________________________________________________________________________________________ ;;/ \ ;;| _____ _____ _____ _____ _____ _____ _____ | ;;| /\ \ /\ \ /\ \ /\ \ /\ \ /\ \ /\ \ | ;;| /::\ \ /::\____\ /::\ \ /::\ \ /::\ \ /::\ \ /::\ \ | ;;| /::::\ \ /::::| | /::::\ \ /::::\ \ /::::\ \ /::::\ \ /::::\ \ | ;;| /::::::\ \ /:::::| | /::::::\ \ /::::::\ \ /::::::\ \ /::::::\ \ /::::::\ \ | ;;| /:::/\:::\ \ /::::::| | /:::/\:::\ \ /:::/\:::\ \ /:::/\:::\ uck\ /:::/\:::\ \ /:::/\:::\ \ | ;;| /:::/__\:::\ \ /:::/|::| | /:::/__\:::\ \ /:::/__\:::\ \ /:::/__\:::\ \ /:::/ \:::\ \ /:::/__\:::\ \ | ;;| /::::\ \:::\ \ /:::/ |::| | /::::\ \:::\ \ /::::\ \:::\ \ /::::\ \:::\ \ /:::/ \:::\ \ /::::\ \:::\ \ | ;;| /::::::\ \:::\ \ /:::/ |::| | _____ /::::::\ \:::\ \ /::::::\ \:::\ \ /::::::\ \:::\ \ /:::/ / \:::\ \ /::::::\ \:::\ \ | ;;| /:::/\:::\ \:::\ \ /:::/ |::| |/\ \ /:::/\:::\ \:::\ \ /:::/\:::\ \:::\ \ /:::/\:::\ \:::\____\ /:::/ / \:::\ ___\ /:::/\:::\ \:::\ \ | ;;| /:::/__\:::\ \:::\____\/:: / |::| /::\____\/:::/__\:::\ \:::\____\/:::/__\:::\ \:::\____\/:::/ \:::\ \:::| |/:::/____/ ___\:::| |/:::/__\:::\ \:::\____\ | ;;| \:::\ \:::\ \::/ /\::/ /|::| /:::/ /\:::\ \:::\ \::/ /\:::\ \:::\ \::/ /\::/ |::::\ /:::|____|\:::\ \ /\ /:::|____|\:::\ \:::\ \::/ / | ;;| \:::\ \:::\ \/____/ \/____/ |::| /:::/ / \:::\ \:::\ \/____/ \:::\ \:::\ \/____/ \/____|:::::\/:::/ / \:::\ /::\ \::/ / \:::\ \:::\ \/____/ | ;;| \:::\ \:::\ \ |::|/:::/ / \:::\ \:::\ \ \:::\ \:::\ \ |:::::::::/ / \:::\ \:::\ \/____/ \:::\ \:::\ \ | ;;| \:::\ \:::\____\ |::::::/ / \:::\ \:::\____\ \:::\ \:::\____\ |::|\::::/ / \:::\ \:::\____\ \:::\ \:::\____\ | ;;| \:::\ \::/ / |:::::/ / \:::\ \::/ / \:::\ \::/ / |::| \::/____/ \:::\ /:::/ / \:::\ \::/ / | ;;| \:::\ \/____/ |::::/ / \:::\ \/____/ \:::\ \/____/ |::| ~| \:::\/:::/ / \:::\ \/____/ | ;;| \:::\ \ /:::/ / \:::\ \ \:::\ \ |::| | \::::::/ / \:::\ \ | ;;| \:::\____\ /:::/ / \:::\____\ \:::\____\ \::| | \::::/ / \:::\____\ | ;;| \::/ / \::/ / \::/ / \::/ / \:| | \::/____/ \::/ / | ;;| \/____/ \/____/ \/____/ \/____/ \|___| \/____/ | ;;\___________________________________________________________________________________________________________________________________________________________________________________/ ;; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| Eneerge's Quote Script v1.2 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ;; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| Without all bells and whistles |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ;; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| :) |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ;; ____________________________________________________________________________________________________ ;; _________________________________________ POPUPS GUI _______________________________________________ ;; ____________________________________________________________________________________________________ alias nrg_popupStatus { set %nrg_popup true var %status $nrg_checkStatus($1,$2) unset %nrg_popup if ((%status == quote_isOp) || (%status == quote_isVoice) || (%status == quote_isOp) || (%status == quote_isAllowed)) { return allowed } if (%status == quote_isBanned) { return banned } return false } alias nrg_popupStatusExact { set %nrg_popup true var %status $nrg_checkStatus($1,$2) unset %nrg_popup if (%status == quote_isAllowed) { return (Allow List) } else if (%status == quote_isOp) { return (ChanOP) } else if (%status == quote_isVoice) { return (ChanVoice) } return $null } menu nicklist { - NRG-Quote .Print quote from $1:{ var %return_value = $nrg_quote($1) if (%return_value == quote_noneExist) { nrg_stdo quote_noneExist $me $1 } else { nrg_stdo quote_outputQuote $chan $1 %return_value } } .- .View $1 $+ 's quote DB:{ var %return_value = $nrg_quote($1) if (%return_value == quote_noneExist) { nrg_stdo quote_noneExist $me $1 } else { /run $mircdirquotesdb $+ \ $+ $1 $+ .txt } } .Delete $1 $+ 's quote DB:{ var %return_value = $nrg_quote($1) if (%return_value == quote_noneExist) { nrg_stdo quote_noneExist $me $1 } else { if ($$?="Are you sure you would like to completely purge $1 $+ 's quotedb (y/n)" == y) { /remove $mircdirquotesdb $+ \ $+ $1 $+ .txt } } } .- .Add a quote to $1 $+ 's DB:{ var %nrg_qquote = $$?="What quote would you like to add to $1 $+ 's DB?" var %return_value = $nrg_addquote($1,%nrg_qquote) if (%return_value == quote_Exists) { nrg_stdo quote_Exists $me $1 } else if (%return_value == quote_Added) { nrg_stdo quote_Added $me $1 %nrg_qquote } } .- .$iif($nrg_popupStatus($1,$chan) == banned,$style(1)) Banned:{ ;; COMMENT: User is banned, so toggling would unban them if ($nrg_popupStatus($1,$chan) == banned) { .ruser $1 1 .nrg_stdo quote_remBan $me $1 } ;; COMMENT: User is un-banned, so toggling would ban them else { .nrg_ban $1 .nrg_stdo quote_addBan $me $1 } } .$iif($nrg_popupStatus($1,$chan) == allowed,$style(1)) Allowed $nrg_popupStatusExact($1,$chan):{ if ($nrg_popupStatus($1,$chan) == false) { .nrg_allow $1 .nrg_stdo quote_addAllow $me $1 } else if ($nrg_popupStatus($1,$chan) == banned) { .ruser $1 1 .nrg_stdo quote_remBan $me $1 if ($nrg_popupStatus($1,$chan) == false) { .nrg_allow $1 .nrg_stdo quote_addAllow $me $1 } } else if ($nrg_popupStatus($1,$chan) == allowed) { set %nrg_popup true var %status $nrg_checkStatus($1,$chan) unset %nrg_popup if (%status == quote_isAllowed) { .ruser $1 1 .nrg_stdo quote_remAllow $me $1 } else { .nrg_allow $1 .nrg_stdo quote_addAllow $me $1 } } } .- .Open DB Folder:/run $mircdirquotesdb } ;; ____________________________________________________________________________________________________ ;; _________________________________________ LOADING COMMANDS _________________________________________ ;; ____________________________________________________________________________________________________ on *:LOAD:{ if (!$exists($mircdirquotesdb)) { mkdir $mircdirquotesdb } set %nrg_active 0 echo -a 4Successfully loaded Eneerge's quoting system. echo -a 4Quotes will be saved to:3 $mircdirquotesdb } ;; ____________________________________________________________________________________________________ ;; _________________________________________ ALIAS COMMANDS ___________________________________________ ;; ____________________________________________________________________________________________________ ;; ############# nrg_floodcheck - this command checks to see if the script is being flooded. If so, it will return true and halt for 30 seconds. ;; A flood is defined as receiving more than 5 requests within 60 seconds. alias nrg_floodcheck { if (%nrg_popup == true) { return false } inc %nrg_active if (%nrg_lastcmd != $null) { if ($calc(%nrg_lastcmd + 30) >= $ctime) { if (%nrg_active > 7) { set %nrg_flood $ctime return true } } else { unset %nrg_flood | set %nrg_active 0 } } if (%nrg_flood == $null) { set %nrg_lastcmd $ctime return false } } ;; ############# nrg_clearFlood - This command allows you to clear the flood status alias nrg_clearflood { unset %nrg_flood unset %nrg_lastcmd set %nrg_active 0 } ;; ############# nrg_checkStatus - This returns the status of a user and/or the script. A true value allows the script to execute. ;; The script will return true only if all of the following conditions are met: ;; 1) Script is NOT disabled ;; 2) A flood has NOT been detected ;; 3) User is NOT banned ;; and if ONE (not exclusively) of the following conditions are met: ;; 1) User is a channel voice/operator OR ;; 2) User is on the allow list alias nrg_checkStatus { if ((%nrg_disabled != true) && ($nrg_floodcheck != true)) { if ($level($address($1,1)) == nrg_banned) { return quote_isBanned } else { if ($level($address($1,1)) == nrg_allowed) { return quote_isAllowed } else if ($1 isop $2) { return quote_isOp } else if ($1 isvoice $2) { return quote_isVoice } } } return false } ;; ############# nrg_ban - Bans a user from using the system by adding their user@host to the list of banned users. ;; NOTE: This command will overwrite nrg_allow so the user will no longer be able to use the script. alias nrg_ban { if ($1 !ison $chan) { nrg_stdo quote_nickNotFound_inChan $me $1 $chan } else { .guser nrg_banned $1 1 } } ;; ############# nrg_allow - Explicitly allows a user to use the quote script, even if they aren't an op or voice ;; NOTE: This command will overwrite nrg_ban so the user will regain access to use the script. alias nrg_allow { if ($1 !ison $chan) { nrg_stdo quote_nickNotFound_inChan $me $1 $chan } else { .guser nrg_allowed $1 1 } } ;; ############# Enable/Disable - These commands allow you to enable or disable the script alias nrg_disable { set %nrg_disabled true } alias nrg_enable { unset %nrg_disabled } ;; ____________________________________________________________________________________________________ ;; _________________________________________ CHANNEL COMMANDS _________________________________________ ;; ____________________________________________________________________________________________________ ;; ############# AddQuote Commands - Commands associated with adding quotes to a database alias nrg_addquote { if ($2 == $null) { nrg_stdo quote_invalidAddQuote $me $1 | halt } ;; COMMENT: Make sure if a new file is created that it does not start with a number. That would mess up everything! Halt if this is the case. if (!$exists($mircdirquotesdb\ $+ $1 $+ .txt)) { if ($2 isnum) { halt } else { write $mircdirquotesdb\ $+ $1 $+ .txt $2- | return quote_Added | halt } } ;; COMMENT: Make sure current quote does not already exist $read($mircdirquotesdb\ $+ $1 $+ .txt,s,$2-) if ($readn == 0) { write $mircdirquotesdb\ $+ $1 $+ .txt $2- return quote_Added } else { return quote_Exists } } on *:TEXT:!addquote*:#:{ if ($len($2) > 15) { halt } var %status [ $+ [ $nick ] ] $nrg_checkStatus($nick,$chan) if ((%status [ $+ [ $nick ] ] != false) && ($2 != $NULL) && (%status [ $+ [ $nick ] ] != quote_isBanned)) { var %return_value = $nrg_addquote($2,$3-) if (%return_value == quote_Exists) { nrg_stdo quote_Exists $nick $2 } else if (%return_value == quote_Added) { nrg_stdo quote_Added $nick $2 $3- } } } ;; ############### Quote - Commands associated with retrieving a quote from a local database (text file) ;; $1 = nick alias nrg_quote { if ($1 == $null) { nrg_stdo quote_invalidQuote $me $1 } if (!$exists($mircdirquotesdb\ $+ $1 $+ .txt)) { return quote_noneExist } else { if (%nrg_quoteline_ [ $+ [ $1 ] ] >= $lines($mircdirquotesdb\ $+ $1 $+ .txt)) { unset %nrg_quoteline_ [ $+ [ $1 ] ] } inc %nrg_quoteline_ [ $+ [ $1 ] ] var %nrg_currentQuote [ $+ [ $1 ] ] $read($mircdirquotesdb\ $+ $1 $+ .txt, %nrg_quoteline_ [ $+ [ $1 ] ] ) return $readn %nrg_currentQuote [ $+ [ $1 ] ] $chr(40) $+ $rand(1,100) $+ $chr(41) } } on *:TEXT:!quote*:#:{ var %status [ $+ [ $nick ] ] $nrg_checkStatus($nick,$chan) if ((%status [ $+ [ $nick ] ] != false) && ($2 != $NULL) && (%status [ $+ [ $nick ] ] != quote_isBanned)) { var %return_value = $nrg_quote($2) if (%return_value == quote_noneExist) { .nrg_stdo quote_noneExist $nick $2 | halt } else { nrg_stdo quote_outputQuote $chan $2 %return_value } } } on *:INPUT:#:{ if ($1 == !quote) { var %return_value = $nrg_quote($2) if (%return_value == quote_noneExist) { .nrg_stdo quote_noneExist $me $2 | halt } else { nrg_stdo quote_outputQuote $chan $2 %return_value halt } halt } } ;; ############# nrg_stdo - This command consolidates all standard messages so that they can be easily modified from one spot. ;; $1 $2 $3 $4 ;; syntax: nrg_stdo <error_id> <recipient nick> <requested nick> (optional)<extra text> alias nrg_stdo { var %error_id = $1 var %recipient_nick = $2 var %requested_nick = $3 if (%recipient_nick == $me) { .alias /nrg_output .echo -a $chr(36) $+ 1- } else if (%recipient_nick ischan) { .alias /nrg_output /msg %recipient_nick $chr(36) $+ 1- } else { .alias /nrg_output .notice %recipient_nick $chr(36) $+ 1- } if ($1 == quote_addAllow) { nrg_output Added %requested_nick to the allowed list } else if ($1 == quote_addBan) { nrg_output Added %requested_nick to ban list! } else if ($1 == quote_Added) { nrg_output Successfully added quote: < $+ %requested_nick $+ > $4- } else if ($1 == quote_deleted) { nrg_output Deleted Quote $chr(35) $+ $4 for %requested_nick $+ : $5- } else if ($1 == quote_Exists) { nrg_output That quote already exists for %requested_nick $+ ! } else if ($1 == quote_invalidAddQuote) { nrg_output 4An invalid call was made to addquote. The correct syntax is /nrg_addquote <nick> <quote> } else if ($1 == quote_invalidQuote) { nrg_output 4An invalid call was made to quote. The correct syntax is /nrg_quote <nick> } else if ($1 == quote_invalidRemQuote) { nrg_output 4An invalid call was made to remquote. The correct syntax is /remquote <nick> <quoteid> } else if ($1 == quote_nickNotFound_inChan) { nrg_output Unable to find %requested_nick in $4 } else if ($1 == quote_noneExist) { nrg_output Database for %requested_nick does not currently exist! } else if ($1 == quote_notFound) { nrg_output Quote ID $4 not found for %requested_nick $+ ! } else if ($1 == quote_outputQuote) { nrg_output Famous quotes from %requested_nick $+ : ( $+ $chr(35) $+ $4 $+ ) $5- } else if ($1 == quote_remAllow) { nrg_output Removed %requested_nick from the allowed list } else if ($1 == quote_remBan) { nrg_output Removed %requested_nick from ban list! } .alias /nrg_output } ;; ############### RemQuote - Commands associated with removing quotes ;; $1 = nick ; $2 = quoteid alias nrg_remquote { if ($2 == $null) { nrg_stdo quote_invalidRemQuote $me $1 | halt } else { if (!$exists($mircdirquotesdb\ $+ $1 $+ .txt)) { return quote_noneExist } if ($lines($mircdirquotesdb\ $+ $1 $+ .txt) < $2) { return quote_notFound } else { var %quote $read($mircdirquotesdb\ $+ $1 $+ .txt,$2) .write -dl $+ $2 $mircdirquotesdb\ $+ $1 $+ .txt if ($lines($mircdirquotesdb\ $+ $1 $+ .txt) == 0) { .remove $mircdirquotesdb\ $+ $1 $+ .txt } ;; COMMENT: Remove database if nothing exists in the file return quote_Deleted %quote } } } on *:TEXT:!remquote*:#:{ var %status [ $+ [ $nick ] ] $nrg_checkStatus($nick,$chan) if ((%status [ $+ [ $nick ] ] != false) && ($3 != $NULL) && (%status [ $+ [ $nick ] ] != quote_isBanned)) { var %return_value $nrg_remquote($2,$3) if (%return_value == quote_noneExist) { .nrg_stdo quote_noneExist $nick $2 } else if (%return_value == quote_notFound) { .nrg_stdo quote_notFound $nick $2 $3 } else if (quote_deleted isin %return_value) { .nrg_stdo quote_deleted $nick $2 $3 $right(%return_value,-13) } } }
  25. on *:INPUT:#:set $+(%,idle,$cid) $ctime | if ($away) away on *:INPUT:?:set $+(%,idle,$cid) $ctime | if ($away) away on *:PING: { if ($away) return if ($calc($ctime - $(,$+(%,idle,$cid))) > 600) { away auto-away after $duration($v1,3) idle } }
×
×
  • Create New...