; Channel Peak 1.3 by Hjorten.
; Load dialog with /chanpeak
; Read chanpeak.txt for instructions.
dialog HChanPeak {
title "Channel Peak"
size -1 -1 110 163
option dbu
button "OK", 2, 73 150 37 12, ok
text "Channel Peak 1.3 by Hjorten", 9, 2 154 69 7, disable
radio "msg $chan", 13, 3 102 50 7
radio "describe $chan", 12, 3 95 50 7
text "New peak response", 10, 3 87 47 7
edit "", 11, 3 110 105 10, autohs
text "Current peak response", 14, 3 125 55 7
edit "", 15, 3 132 105 10, autohs
text "Channels", 6, 3 43 24 7
edit "", 5, 2 30 105 10, autohs
check "Enable/disable peak", 8, 3 10 80 7
edit "", 7, 2 50 105 10, autohs
text "Trigger", 4, 3 23 17 7
box "Basic", 1, 0 1 110 66
box "Advanced", 3, 0 67 110 82
check "Only return peak on trigger", 16, 4 75 99 7
}
menu menubar,channel {
Channel Peak
.Settings { chanpeak }
.Unload { unload -rs $chanpeakfilename }
}
alias chanpeakfilename { return $chr(34) $+ $scriptdirchanpeak.mrc $+ $chr(34) }
alias chanpeak { dialog -mrv HChanPeak HChanPeak }
on *:DIALOG:HChanPeak:INIT:*: {
if (%Peak.Status == On) { did -c $dname 8 }
if (%Peak.PeakResWay == describe) { did -c $dname 12 | did -u $dname 13 }
elseif (%Peak.PeakResWay == msg) { did -c $dname 13 | did -u $dname 12 }
if (%Peak.ROT == On) { did -c $dname 16 }
did -ra $dname 5 %Peak.Trigger
did -ra $dname 7 %Peak.Channels
did -ra $dname 11 %Peak.NewPeak
did -ra $dname 15 %Peak.CurPeak
}
on *:DIALOG:HChanPeak:EDIT:5: {
set %Peak.Trigger $did($dname,5).text
}
on *:DIALOG:HChanPeak:EDIT:7: {
set %Peak.Channels $did($dname,7).text
}
on *:DIALOG:HChanPeak:EDIT:11: {
set %Peak.NewPeak $did($dname,11).text
}
on *:DIALOG:HChanPeak:EDIT:15: {
set %Peak.CurPeak $did($dname,15).text
}
on *:DIALOG:HChanPeak:SCLICK:8: {
if ($did(8).state == 1) { set %Peak.Status On }
else { set %Peak.Status Off }
}
on *:DIALOG:HChanPeak:SCLICK:12: {
if ($did(12).state == 1) { set %Peak.PeakResWay describe | did -c $dname 12 | did -u $dname 13 }
}
on *:DIALOG:HChanPeak:SCLICK:13: {
if ($did(13).state == 1) { set %Peak.PeakResWay msg | did -c $dname 13 | did -u $dname 12 }
}
on *:DIALOG:HChanPeak:SCLICK:16: {
if ($did(16).state == 1) { set %Peak.ROT On }
else { set %Peak.ROT Off }
}
; If the script is enabled, the addon will first check if channel has a variable, if not, it creates one.
; Then moving on to check if channel peak has been raised, if this is the case, it will call
; the hsetpeakinfo alias.
on !*:JOIN:%Peak.Channels:{
if (%Peak.Status == On) {
if (!%Peak. [ $+ [ $network ] $+ . $+ [ $chan ] ]) {
hsetpeakinfo
}
elseif ($nick($chan,0) > %Peak. [ $+ [ $network ] $+ . $+ [ $chan ] ]) {
hsetpeakinfo
}
else { halt }
}
else { halt }
}
; Returns that a new channel peak has been set in the channel and saves this into the variables.
alias hsetpeakinfo {
if (%Peak.ROT == On) {
set %Peak. [ $+ [ $network ] $+ . $+ [ $chan ] ] $nick($chan,0)
set %Peak. [ $+ [ $network ] $+ . $+ [ $chan ] ] $+ .Time $fulldate
set %Peak. [ $+ [ $network ] $+ . $+ [ $chan ] ] $+ .Nick $nick
}
elseif (%Peak.ROT == Off) {
describe $chan $replace(%Peak.NewPeak,JNick,$nick,CPeak,$nick($chan,0))
set %Peak. [ $+ [ $network ] $+ . $+ [ $chan ] ] $nick($chan,0)
set %Peak. [ $+ [ $network ] $+ . $+ [ $chan ] ] $+ .Time $fulldate
set %Peak. [ $+ [ $network ] $+ . $+ [ $chan ] ] $+ .Nick $nick
}
}
; If the script is enabled it will trigger only for the special trigger and only in the specifed channels.
; Returns the current channel peak.
on *:TEXT:%Peak.Trigger:%Peak.Channels:{
if (%Peak.Status == On) {
msg $chan $replace(%Peak.CurPeak,CPNick,%Peak. [ $+ [ $network ] $+ . $+ [ $chan ] $+ ] .Nick,CurChan,$chan,CPTime,%Peak. [ $+ [ $network ] $+ . $+ [ $chan ] $+ ] .Time,CPeak,%Peak. [ $+ [ $network ] $+ . $+ [ $chan ] ])
}
else { halt }
}
on *:LOAD:{
echo -a Channel Peak has been loaded.
set %Peak.NewPeak hugs JNick for taking the channel peak up to CPeak people at the same time
set %Peak.CurPeak CPNick raised channel peak in CurChan on CPTime with CPeak people at the same time
set %Peak.Trigger !peak
set %Peak.Channels $chr(35)
set %Peak.Status On
set %Peak.PeakResWay describe
set %Peak.ROT Off
}
on *:UNLOAD:{
echo -a Channel Peak has been unloaded.
unset %Peak.*
}