Away system on dialog with skins

By WiSHMaSTeR-Chatpret on Feb 23, 2012

A nice and easy to use away system on dialog coded for a new script i`m making.

Have fun

alias away { /dialog -m weg weg }
dialog weg {
  size -1 -1 180 170
  option dbu
  title "ChatPret Away" 
  button "Cancel" 1, 145 145 20 10,ok flat
  box "" 2, 2 2 177 167
  box "Nicks" 3, 10 10 165 60
  text "PassWoord :" 30, 15 55 50 10
  edit "" 31, 48 52 100 10, passwd autohs
  text "Normal Nick :" 4, 15 20 50 10
  edit "" 5, 48 19 100 10, autohs
  text "Away Nick  :" 6, 15 35 50 10, phat
  edit "" 7, 48 34 100 10, autohs 
  box "Reason" 8, 10 72 165 25
  text "Away Reason" 9, 15 82 50 10
  edit "" 10, 48 81 100 10, autohs
  button "Away" 11, 15 145 20 10,flat
  button "Back" 12, 35 145 20 10,flat
  box "" 13, 10 138 165 20
  text "Chatpret Away System" 14, 60 160 100 10,disable
  box "Skin" 15, 10 98 165 40
  list 16, 12 116 50 20
  list 17, 64 116 50 20 
  list 18, 116 116 50 20
  text "Signs:" 19, 15 107 20 7 
  text "Skin1:" 20, 67 107 20 7
  text "Skin2:" 21, 119 107 20 7
  check "Log on/off" 22, 55 145 30 10, push
  button "Open log" 23, 85 145 30 10, flat
  button "Clear log" 24, 115 145 30 10, flat
}

on *:dialog:weg:sclick:11:{
  if ($did($dname,5) == $null) { echo 12No Nick Entered }
  else {
    set %m.nick $did($dname,5)
    did -ra $dname 5 %m.nick
  }
  if ($did($dname,7) == $null) { echo 12No Away Nick Entered }
  else {
    set %a.nick $did($dname,7)
    did -ra $dname 7 %a.nick
  }
  if ($did($dname,31) == $null) { echo 12No password Entered  }
  else {
    set %identpass $did($dname,31)
    did -ra $dname 31 %identpass
  }

  if ($did($dname,10) == $null) { echo 12No Reason Entered }
  else {
    set %a.reason $did($dname,10)
    did -ra $dname 10 %a.reason
  }
  set %awaycolor1 $left($did(weg,16).seltext,2) 
  set %awaycolor2 $left($did(weg,17).seltext,2) 
  set %awaycolor3 $left($did(weg,18).seltext,2)
  if ($did(22).state == 1) { set %log On }
  if ($did(22).state == 0) { set %log Off } 
  /nick %a.nick
  set %atime $time
  set %wishaway On
  if (%log == on) { ame  $+ %awaycolor1 $+ ( $+  $+ %awaycolor2 $+ %logoaway $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 $+ GoNe $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 $+ Left at: $+  $+ %awaycolor2 %atime $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 $+ Reason:  $+ %awaycolor2 $+ %a.reason $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 Log:  $+ %awaycolor2 $+ ON $+  $+ %awaycolor1 $+ ) }
  if (%log == off) { ame  $+ %awaycolor1 $+ ( $+  $+ %awaycolor2 $+ %logoaway $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 $+ GoNe $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 $+ Left at: $+  $+ %awaycolor2 %atime $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 $+ Reason:  $+ %awaycolor2 $+ %a.reason $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 Log:  $+ %awaycolor2 $+ OFF $+  $+ %awaycolor1 $+ ) }
  dialog -c weg weg
}
on *:dialog:weg:sclick:12:{ 
  set %wishaway Off
  ame  $+ %awaycolor1 $+ ( $+  $+ %awaycolor2 $+ %logoaway $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 $+ BaCK $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 $+ Back at: $+  $+ %awaycolor2 $time $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 $+ Left at: $+  $+ %awaycolor2 %atime $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor3 $+ Reason:  $+ %awaycolor2 $+ %a.reason $+  $+ %awaycolor1 $+ ) 
  /nick %m.nick
  /ident %identpass
  dialog -c weg weg
}   
on *:text:*:#:{
  if (%wishaway == on) && (%log == on) && ($me isin $1-) {
    notice $nick  $+ %awaycolor1 $+ ( $+  $+ %awaycolor2 $+ %logoaway $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor2 $+ I'm Gone, Your message will be saved $+  $+ %awaycolor1 $+ ) $+  $+ %awaycolor1 ( $+  $+ %awaycolor3 $+ Left at: $+  $+ %awaycolor2 $+ %atime $+  $+ %awaycolor1 $+ )                                                   
  write log.txt $timestamp $nick said: $1- in channel $chan | halt  }
}
on *:text:*:*:{
  if (%wishaway == on) && (%log == on) && ($me isin $1-) {
    notice $nick  $+ %awaycolor1 $+ ( $+  $+ %awaycolor2 $+ %logoaway $+  $+ %awaycolor1 $+ )  $+ %awaycolor1 $+ ( $+  $+ %awaycolor2 $+ I'm Gone, Your message will be saved $+  $+ %awaycolor1 $+ ) $+  $+ %awaycolor1 ( $+  $+ %awaycolor3 $+ Left at: $+  $+ %awaycolor2 $+ %atime $+  $+ %awaycolor1 $+ )  
    /closemsg                                                 
  write log.txt $timestamp $nick said: $1- in Private | halt  }
}
on *:dialog:weg:sclick:24:{
  write -c log.txt 
}
on *:dialog:weg:sclick:23:{
  run log.txt
}
on *:dialog:weg:init:*:{
  did -a $dname 5 %m.nick
  did -a $dname 7 %a.nick
  did -a $dname 10 %a.reason
  did -a $dname 31 %identpass
  if (%log == On) { did -c $dname 22 }
  if (%log == Off) { did -u $dname 22 } 
  did -ra weg 16,17,18
  did -a weg 16,17,18 00 White
  did -a weg 16,17,18 01 Black
  did -a weg 16,17,18 02 D.Blue
  did -a weg 16,17,18 03 D.Green
  did -a weg 16,17,18 04 Red
  did -a weg 16,17,18 05 D.Red
  did -a weg 16,17,18 06 Purple
  did -a weg 16,17,18 07 Orange
  did -a weg 16,17,18 08 Yellow
  did -a weg 16,17,18 09 N.Green
  did -a weg 16,17,18 10 D.Teal
  did -a weg 16,17,18 11 Teal
  did -a weg 16,17,18 12 Blue
  did -a weg 16,17,18 13 N.Purple
  did -a weg 16,17,18 14 D.Grey
  did -a weg 16,17,18 15 Grey
  did -c weg 16 $calc(%awaycolor1 + 2)
  did -c weg 17 $calc(%awaycolor2 + 2)
  did -c weg 18 $calc(%awaycolor3 + 2)
}
menu query,nicklist,channel,menubar {
  WiSHMaSTeR Away system:/away
}

Comments

Sign in to comment.
Weldon   -  Mar 07, 2012

You just might be right SunnyD :p looks that way haha

 Respond  
HeatedHeart   -  Feb 25, 2012

$didtok.. MaSOuD... Thank you; Thats one of the most usefull things ive ever learned from this site :)

 Respond  
MaSOuD   -  Feb 24, 2012

HeatedHeart, you don't need while loop. have a look at /didtok :)

 Respond  
HeatedHeart   -  Feb 24, 2012

.> I Never said I didnt like it... I was just offering my two cents on how to improve and optimize it..

 Respond  
Sorasyn   -  Feb 23, 2012

So you're on of those select few.......

 Respond  
WiSHMaSTeR-Chatpret   -  Feb 23, 2012

well if they dont like it dont use it and shut up hahahaha :)

 Respond  
Sorasyn   -  Feb 23, 2012

Sometimes it is. xD I agree for the most part, that if it works, why break it trying something new? Then again, most people come and post stuff here looking for insight to their respective language, which heralds responses like HeatedHeart's. You can take it constructively or, like a select few do; go on raging comment rampages swearing, and rioting because they take it offensively. Here is a fine example that was dug up from the grave in my notices feed a few days ago. http://www.hawkee.com/snippet/8694/

 Respond  
WiSHMaSTeR-Chatpret   -  Feb 23, 2012

well youre right but i did it this way :) ive started scripting in 1996 because i was bored en since then im lazy and always take the easy way :) it does the job very well and thats what the snippets are all about , it isnt a contest of shortest codes :)

 Respond  
HeatedHeart   -  Feb 23, 2012
   did -a weg 16,17,18 00 White
  did -a weg 16,17,18 01 Black
  did -a weg 16,17,18 02 D.Blue
  did -a weg 16,17,18 03 D.Green
  did -a weg 16,17,18 04 Red
  did -a weg 16,17,18 05 D.Red
  did -a weg 16,17,18 06 Purple
  did -a weg 16,17,18 07 Orange
  did -a weg 16,17,18 08 Yellow
  did -a weg 16,17,18 09 N.Green
  did -a weg 16,17,18 10 D.Teal
  did -a weg 16,17,18 11 Teal
  did -a weg 16,17,18 12 Blue
  did -a weg 16,17,18 13 N.Purple
  did -a weg 16,17,18 14 D.Grey
  did -a weg 16,17,18 15 Grey

could be shortene'd using a while loop to...

Var %x White/Black/Dark Blue/Dark Green/Red/Brown/Purple/Orange/Yellow/Light Green/Teal/Light Blue/Blue/Pink/Dark Grey/Light Grey
var %z $numtok(%x,47)
var %loop 1
while (%loop <= %z) {
did -a $dname 16,17,18 $Gettok(%x,%loop,47)
inc %loop
 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.