############################################################################################################## ############################################## Away Dialog ################################################### ############################################################################################################## dialog Away { option dbu size -1 -1 130 130 title "Away Dialog" tab "Set Control", 1, 5 2 120 100 tab "All Settings", 2 tab "The Log", 3 button "Close", 4, 87 106 35 15, ok edit "", 5, 5 105 75 23, multi text "Away Dialog v1.1", 6, 84 121 42 10 button "Come Back from Away", 18, 30 42 65 35 button "Away", 7, 18 20 35 14, tab 1 button "Add", 8, 18 40 35 14, tab 1 button "View", 9, 18 60 35 14, tab 1 button "Delete", 10, 18 80 35 14, tab 1 list 11, 58 20 50 74, tab 1, multi list 12, 58 85 50 10, tab 1 box "Nick", 13, 10 18 52 42, tab 2 check "Change Nick", 14, 14 25 38 10, tab 2 text "Char:", 15, 15 38 13 10, tab 2 edit "", 16, 33 36 7 10, tab 2 button "Change", 17, 28 46 25 12, tab 2 box "Messaging", 19, 10 62 52 36, tab 2 text "", 20, 15 70 50 10, tab 2 button "Switch to: Text", 21, 12 80 48 15, tab 2 button "Switch to: Action", 22, 12 80 48 15, tab 2 box "Message Color", 23, 68 18 52 42, tab 2 check "Color Strip", 24, 72 25 38 10, tab 2 edit "1", 25, 78 35 11 10, tab 2 edit "2", 26, 97 35 11 10, tab 2 button "Update", 27, 76 46 35 12, tab 2 box "Logging", 28, 68 62 52 36, tab 2 text "", 29, 73 70 50 10, tab 2 button "Log Off", 30, 70 80 48 15, tab 2 button "Log On", 31, 70 80 48 15, tab 2 text "", 32, 22 50 100 10, tab 3 edit "", 33, 10 30 110 67, tab 3, multi, vsbar button "Delete All", 34, 10 19 55 11, tab 3 button "Refresh List", 35, 65 19 55 11, tab 3 } on *:dialog:Away:mouse:*:{ if ($did !isnum 4-35) var %x = Hover your mouse over an item to retrieve the description of it. elseif ($did == 4) var %x = Exit out of this dialog. elseif ($did == 5) var %x = Hover your mouse over an item to retrieve the description of it. elseif ($did == 6) var %x = The current version of the dialog. elseif ($did == 7) var %x = Go away with one of the sets. elseif ($did == 8) var %x = Add a set. elseif ($did == 9) var %x = View a set's statistics and information. elseif ($did == 10) var %x = Delete a set. elseif ($did == 11) var %x = The list of sets. elseif ($did == 12) var %x = Total number of sets. elseif ($did == 13) var %x = Changing your nick when you go away and the seperation character. elseif ($did == 19) var %x = How you want the script to global your message. elseif ($did == 23) var %x = Choose the colors you want to be in the global messages and "I am away" response. elseif ($did == 28) var %x = Turn your log on and off. This logs the PMs you get when you're away. elseif ($did == 32) var %x = Your logging is disabled - you can edit this in the "All Settings" tab. elseif ($did == 33) var %x = Your currently logged messages. elseif ($did == 34) var %x = Delete all of the logged messages in the database. elseif ($did == 35) var %x = Refresh the list. if (%x) adid ra 5 %x unset %x } alias ad { if ($dialog(away)) { halt } | dialog -m Away Away } menu * { Open Away Dialog { if ($dialog(away)) dialog -x Away | dialog -m Away Away } } on *:open:?:{ if ($away == $true) { if ($readini(away.ini,Settings,CS) == ON) { .msg $nick I am currently away so I will most likely not respond! } elseif ($readini(away.ini,Settings,CS) == $null) { .msg $nick $replace(C1I amC2 currently away C1so I will most likelyC2 not respondC1!,C1,$chr(3) $& $+ $readini(away.ini,Color,1),C2,$chr(3) $+ $readini(away.ini,Color,2)) } close -m $nick | if ($readini(away.ini,Settings,Log) == ON) { awri Log $calc($ini(away.ini,Log,0) + 1) $time(m/d hh:nn:ss TT) $+ * $+ $nick $+ * $+ $1- } } } on *:text:$($+(*,$chr(32),$me,$chr(32),*),2):#:{ if ($away == $true) { notice $nick I am currently away - Reason: $readini(away.ini,CA,Set) - $readini(away.ini,Sets,$readini(away.ini,CA,Set)) $& - Time Gone (So Far): $duration($calc($ctime - $readini(away.ini,CA,Time))) - } } alias adid { did - $+ $1 Away $2- } alias awri { writeini away.ini $1- } alias adwri { remini away.ini $1- } alias aech { echo -a $1- } on *:dialog:Away:init:0:{ if ($ini(away.ini,0) == $null || $ini(away.ini,0) == 0) awaydefaults adid m 5,16,33 | adid h 15,16,17,18,32 if ($readini(away.ini,Settings,NC) == ON) { adid v 15,16,17 adid c 14 | adid ra 16 $chr($readini(away.ini,Settings,NCC)) } if ($readini(away.ini,Settings,CS) == ON) { adid h 25-27 adid c 24 } if ($readini(away.ini,Settings,Log) == ON) { adid h 31 | adid ra 29 Current: ON | awaydolog } if ($readini(away.ini,Settings,Log) == OFF) { adid h 30,33,34,35 | adid v 32 adid ra 32 The Log is Off! (Switch in Settings) | adid ra 29 Current: OFF | awaydolog } if ($readini(away.ini,Settings,CS) == $null) { adid ra 25 $readini(away.ini,Color,1) | adid ra 26 $readini(away.ini,Color,2) } if ($ini(away.ini,Sets,0) == 0) adid ra 11 ยก No Away Sets ! if ($ini(away.ini,Sets,0) != 0) awaylfresh if (*AMSG* iswm $readini(away.ini,Settings,Way)) { adid ra 20 Current: Text | adid h 21 } if (*AME* iswm $readini(away.ini,Settings,Way)) { adid ra 20 Current: Action | adid h 22 } adid ra 5 Hover your mouse over an item to retrieve the description of it. if ($readini(away.ini,CA,STAT) == ON) { adid h 1-6 | adid v 18 } } alias awaydolog { if ($ini(away.ini,Log,0) == 0) { adid ra 33 ~! No Entries !~ | adid b 34 } elseif ($ini(away.ini,Log,0) != 0) { awaylogf | adid e 34 } } alias awaylogf { adid ra 33 ~ ID - Date & Time - Nick - Message adid a 33 $crlf Total Messages: $ini(away.ini,Log,0) | adid a 33 $crlf Oldest Date: $gettok($readini(away.ini,Log,1),1,42) set %x $ini(away.ini,Log,0) | while (%x > 0) { adid a 33 $crlf ~ %x $+ : $gettok($readini(away.ini,Log,%x),1,42) - $gettok($readini(away.ini,Log,%x),2,42) $& - $gettok($readini(away.ini,Log,%x),3,42) | dec %x 1 } unset %x } alias awaylfresh { adid ra 11 ~ Set Main Names while ($calc(%x) < $ini(away.ini,Sets,0)) { inc %x 1 adid a 11 $ini(away.ini,Sets,%x) } unset %x | adid ra 12 Total: $ini(away.ini,Sets,0) } alias awaybackmsg { if ($readini(away.ini,Settings,CS) == ON) { $remove($readini(away.ini,Settings,WayB),C1,C2) - From: $readini(away.ini,CA,Set) $& - Time Gone: $duration($calc($ctime - $readini(away.ini,CA,Time))) } elseif ($readini(away.ini,Settings,CS) == $null) { $replace($readini(away.ini,Settings,WayB) 1-C1 From:C2 $readini(away.ini,CA,Set) $& 1-C1 Time Gone:C2 $duration($calc($ctime - $readini(away.ini,CA,Time))) $+ ,C1, $+ $chr(3) $+ $readini(away.ini,Color,1),C2, $& $+ $chr(3) $+ $readini(away.ini,Color,2)) } } alias awaygonemsg { if ($readini(away.ini,Settings,CS) == ON) { $remove($readini(away.ini,Settings,Way),C1,C2) - Reason: $readini(away.ini,CA,Set) $& - $readini(away.ini,Sets,$readini(away.ini,CA,Set)) - $remove($awayls,C1,C2) } elseif ($readini(away.ini,Settings,CS) == $null) { $replace($readini(away.ini,Settings,Way) 1-C1 Reason:C2 $did(11).seltext 1-C1 $& $readini(away.ini,Sets,$did(11).seltext) 1- $awayls $+ ,C1, $+ $chr(3) $+ $readini(away.ini,Color,1),C2, $& $+ $chr(3) $+ $readini(away.ini,Color,2)) } } alias awayls { if ($readini(away.ini,Settings,Log) == ON) return C1PM Log:C2 ON if ($readini(away.ini,Settings,Log) == OFF) return C1PM Log:C2 OFF } alias awaydefaults { awri Sets EX DE | adwri Sets EX | awri Times EX LE | adwri Times EX awri CA NO DE | adwri CA NO | awri Settings NCC 124 | awri Settings Log ON awri Color 1 14 | awri Color 2 2 | awri Log DE XX | adwri Log DE awri Settings Way amsg C1 $+ $chr(91) $+ C2 Away C1 $+ $chr(93) | awri Settings WayB amsg C1 $+ $chr(91) $+ C2 Back C1 $+ $chr(93) } on *:dialog:Away:sclick:*:{ if ($did == 7) { if ($did(11).seltext == $null) { halt } awri CA STAT ON | awri CA Time $ctime | adid h 1-6 | adid v 18 awri Times $did(11).seltext $calc($readini(away.ini,Times,$did(11).seltext) + 1) | awri CA Set $did(11).seltext | set %x 1 while (%x <= $scon(0)) { scon %x | window -a $chan(1) | inc %x 1 | away $readini(away.ini,Sets,$did(11).seltext) if ($readini(away.ini,Settings,NC) == ON) nick $me $+ $chr($readini(away.ini,Settings,NCC)) $+ $did(11).seltext | awaygonemsg } unset %x } elseif ($did == 8) { set %add.x $?="Enter Set Name" | set %add.y $?="Enter Set Description" if (%add.x !isalnum || * $+ $chr(32) $+ * iswm %add.x) { aech Error - only letters, numbers, and *no* spaces can be in the Set Name! unset %add.* | halt } if (!%add.x || !%add.y) { aech Error - both popups have to be filled in! | unset %add.* | halt } awri Sets %add.x %add.y | awri Times %add.x 0 awaylfresh | unset %add.* } elseif ($did == 9) { if ($did(11).seltext == $null) { halt } adid u 11 } elseif ($did == 10) { if ($did(11).seltext == $null) { halt } adwri Sets $did(11).seltext | adwri Times $did(11).seltext awaylfresh } elseif ($did == 11) { if (*~* iswm $did(11).seltext) adid u 11 } elseif ($did == 14) { if ($did(14).state == 1) { adid v 15,16,17 | awri Settings NC ON | adid ra 16 $chr($readini(away.ini,Settings,NCC)) } elseif ($did(14).state == 0) { adid h 15,16,17 | adwri Settings NC } } elseif ($did == 17) { set %LOL $?="Enter New Character" | if (!%LOL || $len(%LOL) > 1) { aech Error - popup must have 1 and only 1 digit in it! | unset %LOL | halt } awri Settings NCC $asc(%LOL) | adid ra 16 %LOL | unset %LOL } elseif ($did == 18) { awri Times $readini(away.ini,CA,Set) $calc($readini(away.ini,Times,$readini(away.ini,CA,Set)) + 1) set %x 1 | while (%x <= $scon(0)) { scon %x | window -a $chan(1) | inc %x | away if ($readini(away.ini,Settings,NC) == ON) nick $deltok($me,$numtok($me,$readini(away.ini,Settings,NCC)),$readini(away.ini,Settings,NCC)) awaybackmsg } unset %x if ($ini(away.ini,Log,0) > 0 && $readini(away.ini,Settings,Log) == ON) { aech Make sure to check your log! | awaydolog } adwri CA STAT | adwri CA Time | adwri CA Set | adid v 1-6 | adid h 18 } elseif ($did == 21) { adid ra 20 Current: Text awri Settings Way amsg C1[C2 Away C1] | awri Settings WayB amsg C1[C2 Back C1] adid h 21 | adid v 22 } elseif ($did == 22) { adid ra 20 Current: Action awri Settings Way ame C1is nowC2 away | awri Settings WayB ame C1is nowC2 back adid h 22 | adid v 21 } elseif ($did == 24) { if ($did(24).state == 1) { awri Settings CS ON | adid h 25-27 } elseif ($did(24).state == 0) { adwri Settings CS | adid v 25-27 adid ra 25 $readini(away.ini,Color,1) | adid ra 26 $readini(away.ini,Color,2) } } elseif ($did == 27) { if ($did(25) !isnum 1-15 || $did(26) !isnum 1-15) { aech Both slots must be a digit 1-15 (0 = white, unused). | halt } awri Color 1 $did(25) | awri Color 2 $did(26) } elseif ($did == 30) { awri Settings Log OFF | awaydolog | adid ra 29 Current: OFF aech The Log is now Off | adid h 30,33,34,35 | adid v 31,32 adid ra 32 The Log is Off! (Switch in Settings) } elseif ($did == 31) { awri Settings Log ON | awaydolog | adid ra 29 Current: ON aech The Log is now On | adid v 30,33,34,35 | adid h 31,32 } elseif ($did == 34) { adwri Log | awri Log HI X | adwri Log HI | awaydolog aech Database has been is deleted and remade empty. } elseif ($did == 35) { awaydolog | aech List has been refreshed! } } ############################################################################################################## ############################################## End of Away Dialog ############################################ ##############################################################################################################