@program squelch.muf 1 1000 d i ( Front end to @/ignore, internal squelching for ProtoMUCK NOTICE: Requires 2.0 beta 3 at least, or it wont do a damn thing. (C) 2003 Alynna Trypnotk Release Terms: GNU GPL v2, http://www.gnu.org/licenses/gpl.html Use anywhere, dont remove credits, return improvements to alynna@animaltracks.net ) $author Alynna $version 1.1 ( Change this to 0 if you dont want the vicious option. ) $def WIZMODE 0 $def VICIOUS me @ "_prefs/squelch" getpropstr "v*" smatch $def }tell }cat me @ swap ansi_notify $def }otell }cat me @ #-1 rot ansi_notify_except lvar param : sq.view 0 var! wflag vicious if { "^RED^Shitlist for " me @ ": ^NORMAL^" { me @ "@/ignore" array_get_reflist foreach swap pop dup name swap mlevel 6 >= if "^PURPLE^(WIZARD)^NORMAL^" strcat wflag ++ then repeat }array ", " array_join }tell wflag @ if { "^RED^DANGER WILL ROBINSON^NORMAL^: ^PURPLE^" wflag @ " WIZARDs^NORMAL^ were listed that can't be shut up. " }tell then else { "^RED^Squelch list for " me @ ": ^NORMAL^" { me @ "@/ignore" array_get_reflist foreach swap pop dup name swap mlevel 6 >= if "^PURPLE^(WIZARD)^NORMAL^" strcat wflag ++ then repeat }array ", " array_join }tell wflag @ if { "^RED^NOTE^NORMAL^: ^PURPLE^" wflag @ " WIZARDs^NORMAL^ were listed that can't be squelched. " }tell then then ; : w2only me @ mlevel 6 < if "^RED^Permission denied.^NORMAL^" me @ swap ansi_notify pid kill then ; : sq.help { "Squelch manager 1.1 by Alynna - Use inserver ignore on ProtoMUCK Advance" "Requires ProtoMUCK 2.0b3 or equivalient/higher." " " VICIOUS if " @sq * List the lamers you are shutting up" " @sq/add * Add someone to your shitlist" " @sq/del * Remove someone from your shitlist" " @sq #help * This, duh. " " " " &_prefs/squelch me=" " Turn off 'Vicious' mode." else " @sq * List the people you are squelching" " @sq/add * Add someone to your squelch list" " @sq/del * Remove someone from your squelch list" " @sq #help * This." " " " &_prefs/squelch me=vicious" " Turn on 'Vicious' mode. Warning: May offend." then " " "Don't bother adding a WIZARD, as they are exempt from being squelched." }array me @ 1 array_make array_ansi_notify ; : sq.add var target param @ not if { "Syntax: @sq/add " vicious if "" else "" then }tell exit then param @ pmatch target ! target @ me @ dbcmp if vicious if { "You have real self-esteem issues." }tell exit else { "You cannot squelch yourself, it wouldnt do anything." }tell exit then then target @ int 0 < if { "Couldnt find that " vicious if "lamer" else "player" then "." }tell exit then me @ "@/ignore" target @ reflist_add sq.view ; : sq.del var target param @ not if { "Syntax: @sq/add " vicious if "" else "" then }tell exit then param @ pmatch target ! target @ int 0 < if { "Couldnt find that " vicious if "lamer" else "player" then "." }tell exit then me @ "@/ignore" target @ reflist_del sq.view ; : main param ! command @ tolower case "@sq #help" smatch when sq.help end "@sq/add" smatch when sq.add end "@sq/del" smatch when sq.del end "@sq" smatch when sq.view end default sq.help end endcase ; . c q :: @act @sq #help;@sq/add;@sq/del;@sq=#0 :: @link @sq=squelch.muf