alias -l c1 { return $+($chr(3),$iif($readini(away.ini,colors,1),$v1,14),$1-) } alias -l c2 { return $+($chr(3),$iif($readini(away.ini,colors,2),$v1,13),$1-) } alias -l c3 { return $+($chr(3),01,$1-) } alias gone { .tokenize 32 $iif($1,$1-,No reason) if ($readini(away.ini,SetAway,reason)) { .echo -a $c2(>>>) $c3([ Error ]: You are already set as away.) } else { .away $c1(I am away) $+($chr(2),::,$chr(2)) $c1(Reason:) $c2($1-) $+($chr(2),::,$chr(2)) $c1(Left at:) $c2($time) .writeini -n away.ini SetAway time $ctime .writeini -n away.ini SetAway reason $1- .writeini -n away.ini SetAway me $me .writeini -a away.ini SetAway left $time scon -a amsg $c1(~>) $+($c1,$chr(91),$c2,$chr(32),AWAY,$chr(32),$c1,$chr(93)) $+($chr(31),I,$chr(31)) $c1(am now away.) $+($chr(2),$c2,::,$chr(2)) $+($c1,$chr(31),R,$chr(31),eason:) $c2($1-) $+($chr(2),$c2,::,$chr(2)) $+($c1,$chr(31),L,$chr(31),eft at:) $c2($time) if ($istok(ON,$readini(away.ini,nick,ccnick),32)) { scon -a nick $iif($readini(away.ini,nick,cnick),$v1,$+($mnick,$chr(124),AWAY)) } } } alias back { if (!$readini(away.ini,SetAway,reason)) { .echo -a $c2(>>>) $c3([ Error ]: You are already set as back.) } else { .away scon -a amsg $c1(~>) $+($c1,$chr(91),$c2,$chr(32),BACK,$chr(32),$c1,$chr(93)) $+($chr(31),I,$chr(31)) $c1(am now back.) $+($chr(2),$c2,::,$chr(2)) $+($c1,$chr(31),B,$chr(31),ack from:) $c2($readini(away.ini,SetAway,reason)) $+($chr(2),$c2,::,$chr(2)) $+($c1,$chr(31),I,$chr(31)) $c1(was gone for:) $c2($duration($calc($ctime - $readini(away.ini,SetAway,time)),2)) if ($istok(ON,$readini(away.ini,nick,ccnick),32)) { scon -a nick $iif($readini(away.ini,SetAway,me),$v1,$mnick) } .remini Away.ini SetAway | .remini away.ini DonePublic | .remini away.ini DonePM | .remini away.ini DoneME } } on *:LOAD: { echo -a $c2(>>>) $c3([ Load ]: You just loaded $remove($script,$scriptdir) - Away script v1.0 by Terror_nisse.) } on *:UNLOAD: { echo -a $c2(>>>) $c3([ Unload ]: You just unloaded $remove($script,$scriptdir) - Away script v1.0 by Terror_nisse.) } menu * { .- Away by Terror_nisse .Main dialog:/dialog -dm away away .- .$iif($away,$style(2)) Set Away:/dialog -dm Awayd Awayd .$iif(!$away,$style(2)) Set Back:/back } dialog away { title "Away Script v1.0 by Terror_nisse" size -1 -1 135 165 option dbu box "Away/Back", 1, 3 3 128 37 button "Set Away", 2, 6 11 60 25, ok button "Set Back", 3, 68 11 60 25, ok box "When away...", 4, 3 40 128 105 check "Use highlights", 5, 10 51 44 7 box "Highlight on:", 6, 6 60 122 28 check "Public highlight", 7, 10 70 46 7 check "Private message", 8, 10 78 48 7 check "/me highlight", 9, 65 70 40 7 box "Nick to:", 10, 6 88 122 24 check "Change nick", 11, 65 51 44 7 edit "", 12, 10 97 114 11, autohs box "Highlight nicks:", 13, 6 112 122 30 edit "", 14, 10 121 114 11, autohs text "NOTE: Seperate nicks by comma: nick,nick,nick", 15, 10 133 150 8 button "OK", 16, 11 149 37 12, default ok button "Cancel", 17, 49 149 37 12, cancel button "Save", 18, 87 149 37 12 } dialog AwayD { title "Enter a away message" size -1 -1 180 45 option dbu box "Away message", 1, 3 3 174 23 edit "", 2, 6 12 168 11, autohs button "OK", 3, 43 28 37 12, default ok button "Cancel", 4, 83 28 37 12, cancel } on *:dialog:away:sclick:2:{ .dialog -dm AwayD AwayD } on *:dialog:away:sclick:3:{ .back } on *:dialog:AwayD:sclick:3:{ .gone $iif($did(2),$v1,No reason) } on *:dialog:away:init:*: { if ($istok($false,$exists(away.ini),32)) { .writeini -n away.ini highlight highlight on .writeini -n away.ini highlight pm on .writeini -n away.ini highlight public on .writeini -n away.ini highlight me on .writeini -n away.ini nick ccnick on .writeini -n away.ini nick cnick $+($mnick,$chr(124),Away) .writeini -n away.ini highlight nicks $+($mnick,$chr(44),$anick) } if (!$readini(away.ini,nick,ccnick)) { .did -b away 12 } if ($away) { .did -b away 2 } else { .did -b away 3 } .did -a away 12 $readini(away.ini,nick,cnick) .did -a away 14 $readini(away.ini,highlight,nicks) if ($istok(ON,$readini(away.ini,highlight,highlight),32)) { .did -c away 5 } else { .did -b away 7-9 | .did -b away 14 } if ($istok(ON,$readini(away.ini,nick,ccnick),32)) { .did -c away 11 } if ($istok(ON,$readini(away.ini,highlight,public),32)) { .did -c away 7 } if ($istok(ON,$readini(away.ini,highlight,pm),32)) { .did -c away 8 } if ($istok(ON,$readini(away.ini,highlight,me),32)) { .did -c away 9 } } on *:dialog:away:sclick:5:{ if ($did(5).state) { .did -e away 7-9 .did -e away 14 .writeini away.ini highlight highlight on } elseif (!$did(5).state) { .did -b away 7-9 .did -b away 14 .remini away.ini highlight highlight } } on *:dialog:away:sclick:11:{ if ($did(11).state) { .did -e away 12 .writeini away.ini nick ccnick on } elseif (!$did(11).state) { .did -b away 12 .remini away.ini nick ccnick } } on *:dialog:away:sclick:7:{ if ($did(7).state) { .writeini away.ini highlight public on } elseif (!$did(7).state) { .remini away.ini highlight public } } on *:dialog:away:sclick:8:{ if ($did(8).state) { .writeini away.ini highlight pm on } elseif (!$did(8).state) { .remini away.ini highlight pm } } on *:dialog:away:sclick:9:{ if ($did(9).state) { .writeini away.ini highlight me on } elseif (!$did(9).state) { .remini away.ini highlight me } } on *:dialog:away:sclick:16-18:{ .remove highlight.txt .writeini -n away.ini nick cnick $did(12) .writeini -n away.ini highlight nicks $did(14) .var %x = 1 while (%x <= $numtok($did(14),44)) { .write highlight.txt $gettok($did(14),%x,44) .inc %x } } on *:TEXT:*:#:{ if ($istok(ON,$readini(away.ini,highlight,public),32) && $away) { .fopen temphl highlight.txt | if (!$ferr) { while (!$feof) { if ($fread(temphl) isin $1-) { if ($readini(away.ini,DonePublic,$address($nick,3))) { if (!$window(away)) { .window @away } .aline -a @away $+($chr(91),$asctime(hh:nn),$chr(93)) $+($chr(60),$nick,$chr(62)) $1- } else { .notice $nick I am currently away $+($chr(2),::,$chr(2)) Reason: $+($chr(2),$readini(away.ini,SetAway,reason),$chr(2)) $+($chr(2),::,$chr(2)) Left at: $+($chr(2),$readini(away.ini,SetAway,left),$chr(2)) $+($chr(2),::,$chr(2)) Time gone: $+($chr(2),$duration($calc($ctime - $readini(away.ini,SetAway,time)),2),$chr(2)) $+($chr(2),::,$chr(2)) One time respond to highlight. .writeini -n away.ini DonePublic $address($nick,3) done if (!$window(away)) { .window @away } .aline -a @away $+($chr(91),$asctime(hh:nn),$chr(93)) $+($chr(60),$nick,$chr(62)) $1- break } } } .fclose temphl } } } on *:TEXT:*:?:{ if ($istok(ON,$readini(away.ini,highlight,pm),32) && $away) { if ($readini(away.ini,DonePm,$address($nick,3))) { if (!$window(away)) { .window @away } .aline -a @away $+($chr(91),$asctime(hh:nn),$chr(32),PM,$chr(93)) $+($chr(60),$nick,$chr(62)) $1- } else { .msg $nick I am currently away $+($chr(2),::,$chr(2)) Reason: $+($chr(2),$readini(away.ini,SetAway,reason),$chr(2)) $+($chr(2),::,$chr(2)) Left at: $+($chr(2),$readini(away.ini,SetAway,left),$chr(2)) $+($chr(2),::,$chr(2)) Time gone: $+($chr(2),$duration($calc($ctime - $readini(away.ini,SetAway,time)),2),$chr(2)) $+($chr(2),::,$chr(2)) One time respond to private message. .writeini -n away.ini DonePm $address($nick,3) done if (!$window(away)) { .window @away } .aline -a @away $+($chr(91),$asctime(hh:nn),$chr(32),PM,$chr(93)) $+($chr(60),$nick,$chr(62)) $1- } } } on *:ACTION:*:?:{ if ($istok(ON,$readini(away.ini,highlight,pm),32) && $away) { if ($readini(away.ini,DonePm,$address($nick,3))) { if (!$window(away)) { .window @away } .aline -a @away $+($chr(91),$asctime(hh:nn),$chr(32),PM,$chr(93)) $+($chr(3),06,$chr(42),$chr(32),$nick) $1- } else { .msg $nick I am currently away $+($chr(2),::,$chr(2)) Reason: $+($chr(2),$readini(away.ini,SetAway,reason),$chr(2)) $+($chr(2),::,$chr(2)) Left at: $+($chr(2),$readini(away.ini,SetAway,left),$chr(2)) $+($chr(2),::,$chr(2)) Time gone: $+($chr(2),$duration($calc($ctime - $readini(away.ini,SetAway,time)),2),$chr(2)) $+($chr(2),::,$chr(2)) One time respond to private message. .writeini -n away.ini DonePm $address($nick,3) done if (!$window(away)) { .window @away } .aline -a @away $+($chr(91),$asctime(hh:nn),$chr(32),PM,$chr(93)) $+($chr(3),06,$chr(42),$chr(32),$nick) $1- } } } on *:ACTION:*:#:{ if ($istok(ON,$readini(away.ini,highlight,me),32) && $away) { .fopen temphl highlight.txt | if (!$ferr) { while (!$feof) { if ($fread(temphl) isin $1-) { if ($readini(away.ini,DoneMe,$address($nick,3))) { if (!$window(away)) { .window @away } .aline -a @away $+($chr(91),$asctime(hh:nn),$chr(93)) $+($chr(3),06,$chr(42),$chr(32),$nick) $1- } else { .notice $nick I am currently away $+($chr(2),::,$chr(2)) Reason: $+($chr(2),$readini(away.ini,SetAway,reason),$chr(2)) $+($chr(2),::,$chr(2)) Left at: $+($chr(2),$readini(away.ini,SetAway,left),$chr(2)) $+($chr(2),::,$chr(2)) Time gone: $+($chr(2),$duration($calc($ctime - $readini(away.ini,SetAway,time)),2),$chr(2)) $+($chr(2),::,$chr(2)) One time respond to description highlight. .writeini -n away.ini DoneMe $address($nick,3) done if (!$window(away)) { .window @away } .aline -a @away $+($chr(91),$asctime(hh:nn),$chr(93)) $+($chr(3),06,$chr(42),$chr(32),$nick) $1- break } } } .fclose temphl } } }