alias away { if (!$away) { a_save away on | a_save time $ctime | a_save nick $me | if ($left($1,1) == $chr(45)) { if ($left($1,2) != $chr(45)) { a_save pager $iif(p isincs $1,on,off) | a_save multi $iif(m isincs $1,on,$network) | a_save logger $iif(l isincs $1,on,off) | a_save silent $iif(s isincs $1,on,off) | a_save anstat $iif(n isincs $1,on,off) | a_save reason $iif($2- != $null,$2-,afk) } | else { a_save reason $iif($2- != $null,$2-,afk) } } | else { a_save reason $iif($1- != $null,$1-,afk) } | a_set away | if ($a_get(logger) == on) || ($a_get(pager) == on) { $iif($window(@away.log),window -c @away.log) | window -aBhk0s +estxL @away.log } } else { a_save away off | a_set back | if ($a_get(logger) == on) || ($a_get(pager) == on) { if ($window(@away.log)) && ($input(Do you want the messages and pages logged when you were away?,y,View logs?)) { window -a @away.log } } } } alias -l a_get { return $readini(" $+ $script $+ ",settings,$$1) } alias -l a_save { writeini " $+ $script $+ " settings $1 $2- } alias -l a_set { if ($1 isincs away) { if ($a_get(silent) == off) { $iif($a_get(multi) == on,scid -at1) $a_get(mtype) $replace($a_get(amsg),,$chr(2),,$chr(31),,$chr(22),,$chr(3),,$a_get(logger),,$a_get(pager),,$a_get(reason)) } | $iif($a_get(anstat) == on,$iif($a_get(multi) == on,scid -at1) nick $a_get(anick)) | $iif($a_get(multi) == on,scid -at1) .quote away $replace($a_get(reason),$chr(32),$chr(160)) } if ($1 isincs back) { if ($a_get(silent) == off) { $iif($a_get(multi) == on,scid -at1) $a_get(mtype) $replace($a_get(bmsg),,$chr(2),,$chr(31),,$chr(22),,$chr(3),,$a_get(logger),,$a_get(pager),,$a_get(reason),,$duration($calc($ctime - $a_get(time)))) } | $iif($a_get(anstat) == on,$iif($a_get(multi) == on,scid -at1) nick $a_get(nick)) | $iif($a_get(multi) == on,scid -at1) .quote away } } alias -l mas_combo { if ($$1 == check) { var %mas = 1 | while (%mas <= $gettok($a_get($$2),0,181)) { if ($$3 == $gettok($a_get($$2),%mas,181)) { return $true } | if (%mas == $gettok($a_get($$2),0,181)) && ($$3 != $gettok($a_get($$2),%mas,181)) { return $false } | inc %mas } } | if ($1 == load) { did -r mas_dialog $iif($2 == areasons,3,6) | var %mas = 1 | while (%mas <= $gettok($a_get($2),0,181)) { did -a mas_dialog $iif($2 == areasons,3,6) $gettok($a_get($2),%mas,181)) | inc %mas } } | if ($$1 = line) { var %mas = 1 | while (%mas <= $did(mas_dialog,$$2).lines) { if ($$3 == $did(mas_dialog,$$2,%mas)) { return %mas } | inc %mas } } } alias mas { dialog -m mas_dialog mas_dialog } alias eam { dialog -m eam_dialog eam_dialog } alias -l mas_logwin { if (!$window(@away.log)) { window -aBhk0s +estxL @away.log } } dialog mas_dialog { title "mIRC Away System" size -1 -1 131 58 option dbu box "", 1, 1 -2 129 33 text "Away reason :", 2, 5 6 37 8 combo 3, 44 5 60 52, drop edit size button "", 4, 106 5 20 11 check "Away nick :", 5, 5 17 37 10 combo 6, 44 17 60 52, drop edit size button "", 7, 106 17 20 11 box "", 8, 1 29 88 28 check "Pager", 9, 5 34 25 10 check "Logger", 10, 44 34 25 10 check "Silent", 11, 5 45 28 10 check "All networks", 12, 44 45 40 10 button "", 13, 90 32 40 12, ok button "Cancel", 14, 90 45 40 12, cancel } dialog eam_dialog { title "mIRC Away System - Message Editor" size -1 -1 200 58 option dbu box "", 1, 1 -2 198 33 text "Away message:", 2, 5 6 39 8, right edit "", 3, 46 5 118 10, autohs button "Preview", 4, 165 5 30 10 text "Back message:", 5, 5 18 39 8, right edit "", 6, 46 17 118 10, autohs button "Preview", 7, 165 17 30 10 box "", 8, 1 29 40 28 radio "/amsg", 9, 7 34 25 10 radio "/ame", 10, 7 45 28 10 box "", 11, 42 29 115 28 text " ", 12, 46 35 40 8 text "", 13, 46 46 40 8 text " - logger (on/off)", 14, 82 35 100 8 text " - pager (on/off)", 15, 82 46 100 8 button "Save", 16, 159 32 40 12, ok button "Cancel", 17, 159 45 40 12, cancel } on *:dialog:mas_dialog:*:*:{ if ($devent == init) { did - $+ $iif($away,b,e) $dname 2,3,4,5,6,7,9,10,11,12 | did -a $dname 13 Set $iif($away,Back,Away) | if ($a_get(anstat) == on) { did -c $dname 5 } | else { did -b $dname 6,7 } | if ($a_get(pager) == on) { did -c $dname 9 } | if ($a_get(logger) == on) { did -c $dname 10 } | if ($a_get(silent) == on) { did -c $dname 11 } | if ($a_get(multi) == on) { did -c $dname 12 } | mas_combo load areasons | mas_combo load anicks if ($mas_combo(check,areasons,$a_get(reason))) { did -c $dname 3 $mas_combo(line,3,$a_get(reason)) | did -a $dname 4 Del } | else { did -a $dname 3 $a_get(reason) | did -c $dname 3 $did($dname,3).lines | did -a $dname 4 Add } | if ($mas_combo(check,anicks,$a_get(anick))) { did -c $dname 6 $mas_combo(line,6,$a_get(anick)) | did -a $dname 7 Del } | else { did -a $dname 6 $a_get(anick) | did -c $dname 6 $did($dname,6).lines | did -a $dname 7 Add } } if ($devent == sclick) { if ($did == 13) { if ($away) { away } | else { if ($did($dname,5).state) { a_save anick $did($dname,6) } | away - $+ $iif($did($dname,5).state,n) $+ $iif($did($dname,9).state,p) $+ $iif($did($dname,10).state,l) $+ $iif($did($dname,11).state,s) $+ $iif($did($dname,12).state,m) $did($dname,3) } } | if ($did == 3) || ($did == 6) { did - $+ $iif($did($dname,$did) != $null,e,b) $dname $calc($did +1) | did -ra $dname $calc($did +1) $iif($mas_combo(check,$iif($did == 3,areasons,anicks),$did($dname,$did)),Del,Add) } | if ($did == 5) { if ($did($dname,$did).state) { did -e $dname 6,7 } | else { did -b $dname 6,7 } } if ($did == 4) || ($did == 7) { if ($did($dname,$did) == del) { a_save $iif($did == 4,areasons,anicks) $remove($a_get($iif($did == 4,areasons,anicks)),$did($dname,$calc($did -1)) $+ $chr(181)) | mas_combo load $iif($did == 4,areasons,anicks) | did -ra $dname $did Del | did -c $dname $iif($did == 4,3,6) 1 } | else { a_save $iif($did == 4,areasons,anicks) $a_get($iif($did == 4,areasons,anicks)) $+ $did($dname,$calc($did -1)) $+ $chr(181) | mas_combo load $iif($did == 4,areasons,anicks) | did -ra $dname $did Del | did -c $dname $iif($did == 4,3,6) $did($dname,$iif($did == 4,3,6)).lines } } } if ($devent == edit) { did - $+ $iif($did($dname,$did) != $null,e,b) $dname $calc($did +1) | did -ra $dname $calc($did +1) $iif($mas_combo(check,$iif($did == 3,areasons,anicks),$did($dname,$did)),Del,Add) } }