Guest User

Untitled

a guest
Oct 16th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 11.82 KB | None | 0 0
  1.  
  2. on 1:disconnect:{
  3.   if ($away) away.change wasaway 1
  4.   if ($dialog(away_count)) dialog -x away_count
  5. }
  6. on 1:connect:{
  7.   if ($away.ri(wasaway)) { away.c %away.c.reason | away.change wasaway 0 }
  8.   if (($away.ri(auto)) && (!$away)) { .timerautoaway 0 59 away.c.autocheck }
  9. }
  10.  
  11.  
  12. alias away.ri { return $readini(away_obj.ini,settings,$1) }
  13. alias away.wi { writeini away_obj.ini settings $1 $2- }
  14.  
  15. alias away.dialog {
  16.   if ($1) { away.wi size 0 }
  17.   else { away.wi size 1 }
  18.   if (!$dialog(away_obj)) { dialog -m away_obj away_obj }
  19.   if ($1) { dialog -sb away_obj -1 -1 210 90 }
  20.   else { dialog -sb away_obj -1 -1 210 179 }
  21. }
  22. alias away.change {
  23.   if ($2 == 0) remini away_obj.ini settings $1
  24.   else writeini away_obj.ini settings $1 $2-
  25. }
  26. alias away.c.autocheck { if ((!$away) && ($away.ri(auto))) { if ($calc($idle /60) > $away.ri(idle)) away.c auto-away } }
  27. alias aw.setup { away.dialog 1 }
  28. alias aw.view { away.dialog }
  29. alias aw {  away.c $1- }
  30. alias away.c {
  31.   if ($away == $false) {
  32.     if ($timer(autoaway)) .timerautoaway off
  33.     if (!$away.ri(wasaway)) set %away.c.ctime $ctime
  34.     if ($1) { set %away.c.msg $1- }
  35.     elseif ($away.ri(prompt)) {
  36.       if ($?!="Use Default Away Message?" == $false) { set %away.c.msg $$?="Enter an Away Message" }
  37.     }
  38.     if (!%away.c.msg) { set %away.c.msg $away.ri(reason) }
  39.     if ($dialog(away_obj)) {
  40.       if ($away.ri(dialog)) { dialog -x away_obj }
  41.       else { did -ra away_obj 1 Back }
  42.     }
  43.     $iif($away.ri(networks),scid -at1,) away %away.c.msg
  44.     away.change awayck 1
  45.     away.c.chanad away
  46.     .timerawayobj 0 $calc(60*$away.ri(loop)) away.c.chanad away
  47.     $iif($away.ri(networks),scid -at1,) tnick $away.ri(anick)
  48.     if (($away.ri(open)) && (!$dialog(away_count))) { dialog -m away_count away_count }
  49.   }
  50.   else {
  51.     $iif($away.ri(networks),scid -at1,) away
  52.     away.change awayck 0
  53.     $iif($away.ri(networks),scid -at1,) nick $away.ri(nick)
  54.     if ($away.ri(chanad)) away.c.chanad back
  55.     .timerawayobj off
  56.     .resetidle
  57.     if (!$timer(autoaway)) .timerautoaway 0 59 away.c.autocheck
  58.     .unset %away.c.msg %away.c.ctime
  59.     if ($dialog(away_count)) { dialog -x away_count }
  60.     if ($dialog(away_obj)) { did -ra away_obj 1 Away }
  61.     elseif ($away.ri(dialog)) { away.dialog }
  62.   }
  63. }
  64.  
  65. alias away.c.chanad {
  66.   if ($1) var %away.c.status = $1 {
  67.     else var %away.c.status = away
  68.     if ($away.ri(chanad)) {
  69.       if (($away.ri(adtype) != 0) && ($away.ri(chans))) {
  70.         var %i = 1
  71.         while ($scon(%i)) {
  72.           scid $ifmatch
  73.           var %cloop = 1
  74.           unset %away.c.chans
  75.           while ($chan(%cloop)) {
  76.             if (($away.ri(adtype) == 1) && (!$istok($away.ri(chans),$chan(%cloop),44))) %away.c.chans = $addtok(%away.c.chans,$chan(%cloop),44)
  77.             elseif (($away.ri(adtype) == 2) && ($istok($away.ri(chans),$chan(%cloop),44))) %away.c.chans = $addtok(%away.c.chans,$chan(%cloop),44)
  78.             inc %cloop 1
  79.           }
  80.           if (%away.c.chans) describe %away.c.chans $1 $+ : $away.c.cmsg
  81.           inc %i 1      
  82.           if (!$away.ri(networks)) { goto chanad }
  83.         }
  84.       }
  85.       if ($away.ri(adtype) == 0) {
  86.         if ((!$away.ri(networks)) && ($chan(0) > 0)) ame $1 $+ : $away.c.cmsg
  87.         elseif ($away.ri(networks)) {
  88.           var %i = 1
  89.           while ($scon(%i)) {
  90.             scid $ifmatch
  91.             if ($chan(0) > 0) { ame $1 $+ : $away.c.cmsg }
  92.             inc %i 1
  93.           }
  94.         }
  95.       }
  96.       :chanad
  97.       scid -r
  98.     }
  99.   }
  100. }
  101. alias away.c.cmsg { return $replace($away.ri(cmsg),&msg,%away.c.msg,&l,$iif($away.ri(privlog),on,off) $&
  102.   ,&p,$iif($away.ri(pagelog),on,off),&s,awayobj v2,&d,$away.c.dur(%away.c.ctime)) }
  103. alias away.c.dur { return $replace($duration($calc($ctime - $1),1),mins,m,min,m,secs,s,sec,s,hrs,h,hr,h,days,d,day,d) }
  104. alias away.c.vmsgs {
  105.   if (!$2) {
  106.     if (!$ini($1,1)) { return No Records }
  107.     var %loop = 2
  108.     var %toklist = $ini($1,1)
  109.  
  110.     while ($ini($1,%loop)) {
  111.       %toklist = $addtok(%toklist,$ini($1,%loop),46)
  112.       inc %loop 1
  113.     }
  114.     return %toklist
  115.   }
  116.   elseif ($2) {
  117.     if (!$ini($1,$2,1)) { return No Records }
  118.     var %loop = 2
  119.     var %toklist = $ini($1,$2,1)
  120.  
  121.     while ($ini($1,$2,%loop)) {
  122.       %toklist = $addtok(%toklist,$ini($1,$2,%loop),46)
  123.       inc %loop 1
  124.     }
  125.     return %toklist
  126.   }
  127. }
  128. menu channel,menubar {
  129.   Away Object
  130.   .$iif($away,Set Back,Set Away):away.c
  131.   .-
  132.   .Log Pmsgs    ( $iif($away.ri(privlog),On,Off) ):away.change privlog $iif($away.ri(privlog),0,1)
  133.   .Log Pages    ( $iif($away.ri(pagelog),On,Off) ):away.change pagelog $iif($away.ri(pagelog),0,1)
  134.   .-
  135.   .Msg Counter  ( $iif($away.ri(open),On,Off) ):away.change open $iif($away.ri(open),0,1)
  136.   .Auto Open\Close  ( $iif($away.ri(dialog),On,Off) ):away.change dialog $iif($away.ri(dialog),0,1)
  137.   .-
  138.   .Log Viewer:away.dialog
  139.   .Settings:away.dialog 1
  140.   .-
  141.   .Unload:.unload -rs " $+ $script $+ "
  142. }
  143.  
  144. ctcp 1:page:?:{
  145.   if ($away == $true) {
  146.     if ($away.ri(pagelog)) writeini away_obj_pages.ini $adate $ctime ( $+ $network $+ ) $nick $+ : $2-
  147.     if ($dialog(away_count)) did -ra away_count 6 $calc($did(away_count,6) + 1)
  148.   }
  149. }
  150. on 1:text:*:?:{
  151.   if ($away == $true) {
  152.     if ($away.ri(privlog)) {
  153.       writeini away_obj_priv.ini $adate $ctime ( $+ $network $+ ) $nick $+ : $1-
  154.       if (($away.ri(privad)) && ($nick != $me)) .msg $nick Automatical msg Away: %away.c.msg
  155.       close -m $nick
  156.     }
  157.     if ($dialog(away_count)) did -ra away_count 5 $calc($did(away_count,5) + 1)
  158.   }
  159. }
  160. dialog away_obj {
  161.   title "Clear v1.0 Away System"
  162.   size -1 -1 210 179
  163.   option dbu
  164.   edit "", 2, 38 11 55 12, read autohs
  165.   edit "", 3, 38 24 55 12, read autohs
  166.   list 8, 9 117 190 51, size hsbar vsbar
  167.   check "Enable", 5, 79 38 29 10
  168.   text "Nickname", 9, 9 14 25 8
  169.   text "Away Nick", 10, 9 27 28 8
  170.   text "Default Reason", 17, 9 40 43 8
  171.   edit "", 18, 8 48 99 12, autohs
  172.   button "Away", 1, 154 71 23 14
  173.   button "?", 15, 95 11 12 11
  174.   button "?", 20, 95 24 12 11
  175.   box "View Messages", 21, 4 92 201 83
  176.   box "Basic Setup", 16, 4 3 109 62
  177.   box "Logging", 6, 115 3 91 22
  178.   check "Private Messages", 14, 119 12 52 10
  179.   button "Load", 22, 154 102 21 12
  180.   button "Delete", 25, 177 102 21 12
  181.   check "Pages", 28, 175 12 28 10
  182.   combo 29, 9 103 57 29, size drop
  183.   combo 30, 68 103 84 74, size drop
  184.   box "Advertisement", 12, 115 26 91 39
  185.   check "Private Messages", 13, 119 34 54 10
  186.   check "Channels", 23, 119 43 34 10
  187.   edit "", 4, 169 50 16 11, autohs center
  188.   text "mins", 7, 187 52 14 8
  189.   check "Log Viewer", 19, 117 71 34 14, push
  190.   button "Setup", 11, 176 35 26 12
  191.   check "Set away after", 24, 8 74 48 10
  192.   edit "", 26, 57 73 18 11, autohs center
  193.   text "idle minutes", 31, 77 75 30 8, right
  194.   check "All Networks", 32, 119 52 41 10
  195.   box "Auto-away", 33, 4 66 109 21
  196.   button "Close", 34, 180 71 25 14, ok
  197. }
  198. dialog away_count {
  199.   title "You're Away"
  200.   size -1 -1 97 43
  201.   option dbu
  202.   text "Private Messages:", 1, 3 5 53 8
  203.   text "Received Pages:", 2, 3 17 53 8
  204.   button "I'm Back", 3, 60 28 32 12, ok
  205.   text "0", 5, 59 5 32 8, right
  206.   text "0", 6, 59 17 32 8, right
  207. }
  208. on 1:dialog:away_obj:init:0:{
  209.   if ($away.ri(size) == 1) did -c $dname 19
  210.   else did -u $dname 19
  211.   did -ra $dname 2 $away.ri(nick)
  212.   did -ra $dname 3 $away.ri(anick)
  213.   did -ra $dname 4 $away.ri(loop)
  214.   did -ra $dname 26 $away.ri(idle)
  215.   did -ra $dname 18 $away.ri(reason)
  216.   did -ra $dname 1 $iif($away.ri(awayck),Back,Away)
  217.   if ($away.ri(prompt)) { did -c $dname 5 }
  218.   if ($away.ri(privlog)) { did -c $dname 14 }
  219.   if ($away.ri(pagelog)) { did -c $dname 28 }
  220.   if ($away.ri(privad)) { did -c $dname 13 }
  221.   if ($away.ri(chanad)) { did -c $dname 23 }
  222.   if ($away.ri(auto)) { did -c $dname 24 }
  223.   if ($away.ri(networks)) { did -c $dname 32 }
  224.   didtok $dname 29 46 Private Messages.Pager Messages
  225.   did -c $dname 29 1
  226.   didtok $dname 30 46 $away.c.vmsgs(away_obj_priv.ini)
  227.   did -c $dname 30 1
  228. }
  229.  
  230. on 1:dialog:away_obj:sclick:*:{
  231.   if (($did == 15) && ($$?="Enter a new regular nickname")) {
  232.     away.wi nick $$!
  233.     did -ra $dname 2 $away.ri(nick)
  234.   }
  235.   if (($did == 20) && ($$?="Enter a new away nickname")) {
  236.     away.wi anick $$!
  237.     did -ra $dname 3 $away.ri(anick)
  238.   }
  239.   if ($istok(5.14.28.13.23.24.32,$did,46)) {
  240.     var %away.c.t = $findtok(5.14.28.13.23.24.32,$did,1,46)
  241.     %away.c.t = $gettok(prompt.privlog.pagelog.privad.chanad.auto.networks,%away.c.t,46)
  242.     away.change %away.c.t $did($dname,$did).state
  243.     if ($did == 24) {
  244.       if ($did($dname,$did).state == 1) .timerautoaway 0 59 away.c.autocheck
  245.       else .timerautoaway off
  246.     }
  247.     if ($did == 23) {
  248.       if (($did($dname,$did).state == 1) && ($away) && (!$timer(awayobj))) { away.c.chanad away | .timerawayobj 0 $calc(60*$away.ri(loop)) away.c.chanad away }
  249.       elseif ($timer(awayobj)) { .timerawayobj off }
  250.     }
  251.   }
  252.   if ($did == 19) {
  253.     if ($did($dname,$did).state == 1) { away.dialog }
  254.     else { away.dialog 1 }
  255.   }
  256.   if ($did == 29) {
  257.     if ($did($dname,$did) == Private Messages) { did -r $dname 30 | didtok $dname 30 46 $away.c.vmsgs(away_obj_priv.ini) | did -c $dname 30 1 }
  258.     if ($did($dname,$did) == Pager Messages) { did -r $dname 30 | didtok $dname 30 46 $away.c.vmsgs(away_obj_pages.ini) | did -c $dname 30 1 }  
  259.   }
  260.   if ($did == 22) {
  261.     did -r $dname 8
  262.     var %away.file = $iif($did($dname,29) == Private Messages,away_obj_priv.ini,away_obj_pages.ini)
  263.     var %away.entries = $away.c.vmsgs(%away.file,$did($dname,30))
  264.     if (%away.entries != No Records) {
  265.       var %loop2 = 1
  266.       while ($gettok(%away.entries,%loop2,46)) {
  267.         var %away.time = $gettok(%away.entries,%loop2,46)
  268.         did -iz $dname 8 $did($dname,$did).lines $chr(91) $+ $asctime(%away.time,hh:nntt) $+ $chr(93) $readini(%away.file,$did($dname,30),%away.time)
  269.         inc %loop2 1
  270.       }
  271.     }
  272.   }
  273.   if (($did == 25) && ($did($dname,30) != No Records) && ($?!="Are You Sure You Want To Delete The Logs of $did($dname,30) ?")) {
  274.     var %away.file = $iif($did($dname,29) == Private Messages,away_obj_priv.ini,away_obj_pages.ini)
  275.     remini %away.file $did($dname,30)
  276.     did -r $dname 30,8
  277.     didtok $dname 30 46 $away.c.vmsgs(%away.file)
  278.     did -c $dname 30 1
  279.   }
  280.   if ($did == 1) { did -ra $dname $did $iif($away,Back,Away) | away.c }
  281.   if (($did == 11) && (!$dialog(away_chans))) { dialog -m away_chans away_chans }
  282. }
  283. on 1:dialog:away_obj:edit:*:{
  284.   if (($did == 18) && ($did($dname,$did))) { away.wi reason $did($dname,$did) }
  285.   if (($did == 4) || ($did == 26)) {
  286.     if ($did($dname,$did) isnum) { away.wi $iif($did == 4,loop,idle) $did($dname,$did) }
  287.     else { away.wi $iif($did == 4,loop,idle) 30 | did -ra $dname $did 30 }
  288.   }
  289. }
  290.  
  291. on 1:dialog:away_count:sclick:3:{
  292.   if ($away) away.c
  293.   if ((%away.c.t == open) && ($away)) {
  294.     if (($did($dname,$did).state == 1) && (!$dialog(away_count))) dialog -m away_count away_count
  295.     if (($did($dname,$did).state == 0) && ($dialog(away_count))) dialog -x away_count
  296.   }
  297. }
  298.  
  299. on 1:dialog:away_chans:init:0:{
  300.   didtok $dname 1 46 All.Except.Only
  301.   did -c $dname 1 $calc($away.ri(adtype) + 1)
  302.   if ($away.ri(chans)) did -ra $dname 2 $away.ri(chans)
  303.   if ($away.ri(cmsg)) did -ra $dname 8 $away.ri(cmsg)
  304.   did -ra $dname 11 &&msg $crlf $+ &&l $crlf $+ &&p $crlf $+ &&d $crlf $+ &&s
  305.   did -ra $dname 12 away msg $crlf $+ pmsg logging $crlf $+ page logging $crlf $+ time gone $crlf $+ addon name $crlf
  306. }
  307.  
  308. on 1:dialog:away_chans:sclick:*:{
  309.   if ($did == 1) away.wi adtype $calc($did($dname,$did,1).sel - 1)
  310. }
  311.  
  312. on 1:dialog:away_chans:edit:*:{
  313.   if ($did == 2) {
  314.     if ($did($dname,$did)) away.wi chans $did($dname,$did)
  315.     else away.change chans 0
  316.   }
  317.   if ($did == 8) {
  318.     if ($did($dname,$did)) away.wi cmsg $did($dname,$did)
  319.     else away.wi cmsg &msg (l:&l/p:&p)
  320.   }
  321. }
  322.  
  323. dialog away_chans {
  324.   title "Channel Setup"
  325.   size -1 -1 101 128
  326.   option dbu
  327.   button "OK", 3, 76 114 23 12, ok
  328.   combo 1, 6 12 41 51, size drop
  329.   edit "", 2, 5 32 91 12, autohs
  330.   text "Channels", 4, 49 13 27 8
  331.   box "Advertisement Rule", 5, 2 2 97 47
  332.   text "Channels (seperate with commas)", 6, 6 24 88 8
  333.   box "Advertisement Style", 7, 2 50 97 62
  334.   edit "&msg l:&l/p:&p", 8, 5 95 91 12, autohs center
  335.   text "&&msg", 11, 6 58 30 36
  336.   text "Text Label", 12, 48 58 47 36, right
  337. }
Add Comment
Please, Sign In to add comment