;============================================================ ; DialogX - Swear Manager ; written by: John Endicott ; version: 1.0 ; released: July 07, 2002 ; website: ; DO NOT MODIFY OR COPY ANY PARTS OF THIS SCRIPT FOR PUBLIC ; OR PERSONAL USE. ; ; copyrighted © DialogX 2002-2003 ;============================================================ ; ;--------------STARTING OF SWEAR MANAGER SCRIPT-------------- ; ;============================================================ ; CHANGABLE VARIBLES (EDIT TO YOUR LIKING) - (ADVANCED USERS SUGGESTED) ;============================================================ alias swearnick { return Offensive Language within nicks is not permitted } alias swearmsg { return Offensive Language is not permitted } alias swearnotice { return Please do not notice me with Offensive Language } alias smbantime { return 5 } ;============================================================ ; EVENTS CODE ;============================================================ on *:TEXT:*:#: swearcheck $nick $chan $1- on *:JOIN:#: swearcheck $nick $chan $nick $nick on *:ACTION:*:#: swearcheck $nick $chan $1- on *:NOTICE:*:#: swearcheck $nick $chan $1- ; NICKS WORK DIFFEREN'T THAN OTHER THINGS. SINCE NICK EVENTS ; CAN'T CHECK FOR CHANNELS, THIS IS WHY I MUST USE NICK AS ; SUBSITUTE. CHECK BELOW FOR FURTHER EXPLANATION. on *:NICK: swearcheck $nick $nick $newnick $newnick ;============================================================ ; DIALOG CODE ;============================================================ alias dxsm { dialog -m dxsm dxsm | swearlist } dialog dxsm { title "Swear Manager" size -1 -1 413 220 option pixels list 1, 0 20 362 200, size edit "", 2, 0 0 362 20 button "Add", 3, 363 0 50 20, default button "Close", 4, 363 199 50 20, ok button "Delete", 5, 363 72 50 20 button "Clear", 6, 363 118 50 20 button "Edit", 7, 363 95 50 20 } on *:DIALOG:dxsm:sclick:*:{ if ($did = 1) { did -e dxsm 5 did -e dxsm 7 } if ($did = 3) { write dxswears.txt $did(2).text did -a dxsm 1 $did(2).text did -r dxsm 2 did -b dxsm 5 did -b dxsm 7 } if ($did = 5) { if ($did(1).sel != 0) { set %temp $read(dxswears.txt, s, $did(1).seltext) write -dl $+ $readn dxswears.txt did -d dxsm 1 $did(1).sel did -b dxsm 5 did -b dxsm 7 } else { did -b dxsm 5 } } if ($did = 6) { if ($?!="Are you sure?" = $true) { did -r dxsm 1 write -c dxswears.txt did -b dxsm 5 did -b dxsm 7 } } if ($did = 7) { set %temp $$?="Change $did(1).seltext into:" did -a dxsm 1 %temp set %temp2 $read(dxswears.txt, s, $did(1).seltext) write -dl $+ $readn dxswears.txt did -d dxsm 1 $did(1).sel write dxswears.txt %temp did -b dxsm 5 did -b dxsm 7 } } on *:DIALOG:dxsm:init:*:{ did -b dxsm 5 did -f dxsm 2 } on *:DIALOG:dxsm:edit*:{ if ($did = 2) { did -b dxsm 5 } } ;============================================================ ; ALIAS CODE ;============================================================ alias -l swearlist { .set %pnline $lines(dxswears.txt) .set %pcline 1 :next if (%pcline < %pnline) { .did -a dxsm 1 $read(dxswears.txt, %pcline) | inc %pcline | goto next } if (%pnline = %pcline) { .did -a dxsm 1 $read(dxswears.txt, %pcline) | goto done } :done return } ; SwearCheck alias swearcheck { .set %pnline $lines(dxswears.txt) .set %pcline 1 :next if (%pcline < %pnline) { if ($read(dxswears.txt, %pcline) !isin $3-) { inc %pcline goto next } else { goto kb } } if (%pcline = %pnline) { if ($read(dxswears.txt, %pcline) !isin $3-) { goto done } else { goto kb } } :done return :kb if ($me isop $2) { if ($event = text) { kick $2 $1 $swearmsg | ban -u60 $2 $1 3 } if ($event = join) { kick $2 $1 $swearnick | ban -u60 $2 $1 3 } if ($event = notice) { kick $2 $1 $swearnotice | ban -u60 $2 $1 3 } if ($event = nick) { nscheck $3 } } goto done } ; DOING NICK CHANGES TAKES A BIT MORE EFFORT, BECAUSE OF ; MIRC DOSN'T SPECIFY THE CHANNELS WE ARE ON, THAT USER ; CHANGED THEIR NICK. THE FOLLOWING, USES $COMCHAN TO CHECK ; ALL CHANS THAT I AM ON, AND KICKS THEM, IF I AM OP ON THAT ; CHANNEL. alias -l nscheck { set %i $comchan($1,0) set %c 1 while (%c <= %i) { if ($me isop $comchan($1,%c)) { kick $comchan($1,%c) $1 $swearnick ban -u60 $comchan($1,%c) $1 $swearnick } inc %c } } ;============================================================ ; WRITE SWEAR ;============================================================ on *:LOAD:{ write dxswears.txt fuck write dxswears.txt bitch write dxswears.txt asshole write dxswears.txt shit echo 2 -s Thank You for Loading Swear Manager echo 2 -s type: /dxsm to open configuration dialog echo $color(info) -s ***Opening Swear Manager Help File echo $color(info) -s - if ($exists(" $+ $scriptdir $+ dxsmhelp.txt $+ ")) { run dxsmhelp.txt } else { echo -s * Swear Manager could not find Help File. } } ;============================================================ ; MENU CODE ;============================================================ menu channel,menubar,status { - .DialogX ..Swear Manager ...&Configure List:dxsm ...- ...&Help:run $scriptdir $+ dxsmhelp.txt }