@program squelch.muf 1 1000 d i $def }tell }cat me @ swap ansi_notify $def }otell }cat me @ #-1 rot ansi_notify_except ( Change this to 0 if you dont want the vicious option. ) $def VICIOUS me @ "_prefs/squelch" getprop "v*" smatch : alt.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 squelched. " }tell { "Save space in your ignore table (usually 16 entries) by removing them." }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 { "Save space in your ignore table (usually 16 entries) by removing them." }tell then then ; : w2only me @ mlevel 6 < if "^RED^Permission denied.^NORMAL^" tellme pid kill then ; : alt.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 " " "ACHTUNG: Typically only 15 ignore slots are compiled in! Use them wisely." "Also, dont bother adding a WIZARD, as they are exempt from being squelched." }array atellme ; : sq.add var target param @ not if { "Syntax: @sq/add " vicious if "" else "" then }tell exit then param @ resolve target ! target1 @ int 0 < if { "Couldnt find that " vicious if "lamer" else "player" then "." }tell exit then target1 @ "@/ignore" target2 @ reflist_add sq.view ; : sq.del var target param @ not if { "Syntax: @sq/add " vicious if "" else "" then }tell exit then param @ resolve target ! target1 @ int 0 < if { "Couldnt find that " vicious if "lamer" else "player" then "." }tell exit then target1 @ "@/ignore" target2 @ reflist_del sq.view ; : main param ! param @ mufcron? if alt.scan exit then command @ tolower case "@sq #help" smatch when sq.help end "@sq/add" smatch when w2only sq.add end "@sq/del" smatch when w2only sq.del end "@sq" smatch when sq.view end default sq.help end endcase ; . c q