;//Away System alias aways { dialog -m away_s away_s } dialog away_s { title "Away" size -1 -1 118 150 option dbu box "", 1, 3 0 112 32 box "", 2, 3 34 112 60 edit "כינוי", 3, 5 19 28 10, read center edit "", 4, 33 5 79 10, autohs edit "סיבה", 5, 5 5 28 10, read center edit "", 6, 33 19 79 10 check "הצג הודעת אווי כל", 11, 56 40 56 10, flat left edit "", 13, 36 41 17 10, autohs text "דקות", 14, 15 41 16 8 button "אווי", 16, 2 135 35 12, flat button "חזור", 17, 40 135 34 12, flat button "אישור", 18, 77 135 37 12, flat ok check "חזור מאווי בעת שליחת הודעה לערוץ", 7, 11 50 101 10, flat left check "העדר כשאני לא על המחשב במשך", 8, 12 102 100 11, flat left edit "", 9, 83 113 17 10, autohs text "דקות", 10, 67 114 15 8 check "העדר בכל השרתים בהם אני נמצא", 12, 14 60 98 10, flat left check "מזער מירק לטראי בעת העדרות", 15, 21 70 91 10, flat left box "Auto Away", 19, 3 95 112 33 check "כשאומרים את שמי שלח סיבת אווי", 20, 15 80 97 10, flat left text "(להפעלה לחץ אישור)", 21, 9 114 57 8 } alias isaway var %i = 1 | while $scon(%i) { if $scon(%i).away { return $true } | inc %i } | return $false on *:dialog:away_s:init:0: { if ($isaway) { did -b away_s 16 | did -e away_s 17 } else { did -b away_s 17 | did -e away_s 16 } did -ra away_s 13 30 did -ra away_s 9 60 $iif($timer(auto),did -c $dname 8,did -u $dname 8) } on *:dialog:away_s:sclick:11: { $iif($did($dname,$did).state,set %away.every $did($dname,13),unset %away.every) } on *:dialog:away_s:sclick:12: { $iif($did($dname,$did).state,set %allscon 1,unset %allscon) } on *:dialog:away_s:sclick:7: { $iif($did($dname,$did).state,set %away.input 1,unset %away.input) } on *:dialog:away_s:sclick:15:{ $iif($did($dname,$did).state,set %away.tray 1,unset %away.tray) } on *:dialog:away_s:sclick:20:{ $iif($did($dname,$did).state,set %away.myname 1,unset %away.myname) } on *:dialog:away_s:sclick:8:{ $iif($did($dname,$did).state,set %away.auto 1,unset %away.auto) } on *:dialog:away_s:sclick:16: { if ($did($dname,4)) { set %reason $did(away_s,4).text set %mynick $me set %time $time set %away_time $ctime set %scon $activecid if ($did(away_s,6)) $iif($did($dname,12).state,scon -a nick $did(away_s,6).text,scid %scon nick $did(away_s,6).text) if ($did($dname,7).state) set %away.input 1 else unset %away.input $iif($did($dname,15).state,showmirc -t) $iif($did($dname,20).state,.enable #away.text,.disable #away.text) if ($did(away_s,11).state) timerx 0 $calc($did(away_s,13).text *60) $iif($did($dname,12).state,scon -a ame,scid %scon ame) 12[1«12-warwicK-1 12I14s 12S14till 12A14way, 12R14eason :4 %reason 12S14ince10: %time 14 1«12-warwicK-1»12] $iif($did($dname,12).state,scon -a ame,scid $activecid ame) 12[1«12-warwicK-1» 12I14s 12G14oing 12A14way, 12R14eason :4 %reason 14 1«12-warwicK-1»12] .timerauto off writeini away.ini Away Time $iif($did($dname,9),$ifmatch,60) if ($did($dname,8).state) { .timerauto 0 $calc($readini(away.ini,Away,Time) *60) Aaway } dialog -c away_s away_s $iif($did($dname,12).state,scon -a away %reason,scid %scon away %reason) } else echo -a * לא הכנסת סיבה לאווי } on *:dialog:away_s:sclick:17: { if ($did(away_s,11).enabled) .timerx off $iif(%allscon,scon -a,scid %scon) ame 12[1«12-warwicK-1» 12I14s 12B14ack 12F14rom :4 %reason ,12S14ince 12 %time 14( $+ 10 $+ $duration($calc($ctime - %away_time)) 14) 14 1«12-warwicK-1»12] if (%mynick) $iif(%allscon,scon -a,scid %scon) .nick %mynick .unset %mynick .unset %reason .unset %time dialog -c away_s away_s $iif(%allscon,scon -a,scid %scon) away } on *:dialog:away_s:sclick:8: { did $iif($did($dname,$did).state,-e,-b) $dname 9 writeini away.ini Away Idle $iif($did($dname,$did).state,1,0) $iif($did($dname,$did).state,.enable,.disable) #Aaway } #Aaway off on *:connect: { $iif(!$timer(auto).type,.timerauto 0 $calc($readini(away.ini,Away,Time) *60) Aaway) | set %away.auto 1 } #Aaway end alias aaway { $iif($isaway == $false,dialog -m aaway aaway) } dialog aaway { title "Autoaway" size -1 -1 200 90 text "יוצא לאווי בעוד 10 שניות",1, 20 20 160 15, center text "0 0 100",3, 20 40 160 10 box "",2, 4 0 190 85 button "ביטול",4, 70 60 55 20,cancel,default } on *:dialog:aaway:init:0:{ dll $mdx MarkDialog $dname dll $mdx SetControlMDX 3 progressbar smooth > dlls\mdx\ctl_gen.mdx set %aaway.temp 100 .timeraaway -m 101 100 autoaway beep 2 } on *:dialog:aaway:sclick:4:.timeraaway off alias -l autoaway { if ($dialog(aaway) == $null) { unset %aaway.temp | halt } if (%aaway.temp > 0) { did -a aaway 3 $calc(100 - %aaway.temp) | dec %aaway.temp | did -ra aaway 1 יוצא לאווי בעוד $int($calc(%aaway.temp /10)) שניות } else { if ($isaway == $false) { .timeraaway off unset %aaway.temp set %reason 12A14uto 12A14way 12A14fter10 $readini(away.ini,Away,Time) 12M14in's set %mynick $me set %time $time set %away_time $ctime set %scon $activecid $iif(%allscon,scon -a away %reason,scid $activecid away %reason) if (%away.changenick) $iif(%allscon,scon -a nick %away.changenick,scid %scon nick %away.changenick) if (%away.every) .timerx 0 $calc(%away.every *60) $iif(%allscon,scon -a ame,scid %scon ame) 12[1«12-warwicK-1» 12I14s 12S14till 12A14way, 12R14eason :4 %reason 12S14ince10: %time 14 1«12-warwicK-1»12] $iif(%allscon,scon -a ame,scid $activecid ame) 12[1«12-warwicK-1» 12I14s 12G14oing 12A14way, 12R14eason :4 %reason 14 1«12-warwicK-1»12] $iif(%away.input,set %away.input2 1,unset %away.input2) $iif(%away.tray,showmirc -t) $iif(%away.myname,.enable #away.text,.disable #away.text) dialog -x aaway aaway } } } on *:dialog:away_s:sclick:18: { $iif($did($dname,11).state,set %away.every $did($dname,13),unset %away.every) $iif($did($dname,12).state,set %allscon 1,unset %allscon) $iif($did($dname,7).state,set %away.input 1,unset %away.input) $iif($did($dname,15).state,set %away.tray 1,unset %away.tray) $iif($did($dname,20).state,set %away.myname 1,unset %away.myname) $iif($did($dname,8).state,set %away.auto 1,unset %away.auto) $iif($did($dname,6).text,set %away.changenick $ifmatch,unset %away.changenick) .timerauto off writeini away.ini Away Time $iif($did($dname,9),$ifmatch,60) if ($did($dname,8).state) { .timerauto 0 $calc($readini(away.ini,Away,Time) *60) aaway | set %away.auto 1 } dialog -x $dname $dname } on *:input:#:{ if (/* != $left($1,1)) { if (%away.auto) { .timerauto off .timerauto 0 $calc($readini(away.ini,Away,Time) *60) aaway } if (%away.input) || (%away.input2) { if ($scid($activecid).away) { .timerx off $iif(%allscon,scon -a,scid %scon) ame 12[1«12-warwicK-1» 12 I14s 12B14ack 12F14rom: 4 %reason , 12S14ince10 %time 14( $+ 10 $+ $duration($calc($ctime - %away_time)) $+ 14) 1«12-warwicK-1»12] $iif(%allscon,scon -a,scid %scon) .nick %mynick .unset %mynick .unset %reason .unset %time $iif(%allscon,scon -a,scid %scon) away } } } } #away.text on on *:text:*:#:{ if ($isaway) { if ($me isin $1-) describe # 12[1«12-warwicK-1» 12I14s 12S14till 12A14way, 12R14eason :10 %reason 12S14ince10: %time 1«12-warwicK-1»12] } } #away.text end