Staccia's ChanTalk

By Staccia on Aug 17, 2007

a fun script i made =p took me awhile to get it figured out xD ill keep updating it when i get the chance

right click in the channel and click chantalk =]
Screen Shot:
Image

menu * { 
  .ChanTalk:/dialog -md ChanTalk ChanTalk | set %chan $chan | listnicklist | msg $chan I'm using Staccia's ChanTalk!
}
dialog ChanTalk {
  title "ChanTalk"
  size -1 -1 310 310
  option dbu
  list 41, 5 5 250 250, vsbar hsbar
  list 44, 255 5 300 250, vsbar hsbar
  edit "", 42, 5 255 300 30, autohs
  button "Submit", 43, 5 285 300 12
  button "New Chan", 45, 5 297 35 12
  button "Clear Chat", 47, 265 297 40 12
  edit "#", 46, 40 297 40 12, autohs
}
on *:JOIN:%chan: { 
  did -az ChanTalk 41 $time(hh:nn:ss) - $+ $nick $+ - has joined %chan $+ .
  /listnicks 
}
on *:part:%chan: {
  did -az ChanTalk 41 - $time(hh:nn:ss) - $+ $nick $+ - has left %chan $+ .
  timer -m 1 1 /listnicklist
}
on *:TEXT:*:%chan: { 
  if ($nick ishop %chan) {
    if ($dialog(ChanTalk)) { did -az ChanTalk 41 $time(hh:nn:ss) <% $+ $nick $+ > $1- 
    }
  }
  if ($nick isvoice %chan) {
    if ($dialog(ChanTalk)) { did -az ChanTalk 41 $time(hh:nn:ss) <+ $+ $nick $+ > $1- }
    /timer 1 1 did -az ChanTalk 41 $time(hh:nn:ss) <+ $+ $nick $+ > $1- 
  }
  if ($nick isop %chan) {
    if ($dialog(ChanTalk)) { did -az ChanTalk 41 $time(hh:nn:ss) <@ $+ $nick $+ > $1- }
  }
  if ($nick isreg %chan) {
    if ($dialog(ChanTalk)) { did -az ChanTalk 41 $time(hh:nn:ss) < $+ $nick $+ > $1- }
  }
}

on *:input:%chan: {
  if ($dialog(ChanTalk)) { did -az ChanTalk 41 $time(hh:nn:ss) < $+ $me $+ > $1- }
}
on *:NOTICE:*:?: {
  if ($dialog(ChanTalk)) { did -az ChanTalk 41 $time(hh:nn:ss) < $+ $nick $+ > $1- }
}
on *:DIALOG:ChanTalk:sclick:43: {
  if ($did($dname,42)) { msg %chan $did($dname,42) | did -a ChanTalk 41 $time(hh:nn:ss) < $+ $me $+ > $did($dname,42) | did -r ChanTalk 42 }
}
on *:DIALOG:ChanTalk:sclick:45: {
  if ($did($dname,46)) { did -r ChanTalk 41 | did -r ChanTalk 44 | set %chan $did($dname,46) | did -a ChanTalk 41 ----NOW TALKING IN $did($dname,46) $+ ---- | msg %chan I'm using Staccia's ChanTalk! }
}
on *:DIALOG:ChanTalk:sclick:47: {
  if ($did($dname,47)) { did -r ChanTalk 41 }
}
on *:DIALOG:ChanTalk:sclick:45: {
  if ($did($dname,46)) { did -r ChanTalk 41 | did -r ChanTalk 44 | set %chan $did($dname,46) | did -a ChanTalk 41 ----NOW TALKING IN $did($dname,46) $+ ---- | listnicklist | did -r chantalk 46 }
}
alias listnicklist {
  set %i 1
  /listnicks
  :next
  if (%listnick == off) { goto done }
  /listnicks
  /timer 1 10 listnicklist
  :done
}
alias listnicks {
  set %i 1
  did -r ChanTalk 44
  :next
  set %nick $nick(#,%i)
  if %nick == $null goto done
  if %nick isop # did -az ChanTalk 44  @ $+ %nick 
  if %nick ishelp # did -az ChanTalk 44  % $+ %nick 
  if %nick isvoice # did -az ChanTalk 44  + $+ %nick 
  if %nick isreg # did -az ChanTalk 44  %nick 
  inc %i
  goto next
  :done
}
on *:OP:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
on *:DEOP:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
on *:HELP:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
on *:DEHELP:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
on *:VOICE:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
on *:DEVOICE:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}

Comments

Sign in to comment.
Sephiroth1n6   -  Sep 22, 2007

pretty useless, like most everything you post especially the eToken script. my i posted the correct version for you btw.

 Respond  
Iseevfd   -  Aug 24, 2007

I use that :P

But i think you have updated it since you sent it to me on msn

 Respond  
Sephiroth1n6   -  Aug 20, 2007

pretty cool dialog script

 Respond  
dmdifiore   -  Aug 20, 2007

Try using a edit box instead of a list for the channel talk. It makes it so when you reach the end of the list, it tracks the last words said, unlike here where you either have to scroll down after every line just to see it or hit clear chat and lose everything thats been said.

 Respond  
Callison1   -  Aug 19, 2007

Some of the $dialog and I think some of the on dialog events have the dialog name as \'etoken\' which needs to be changed to \'ChanTalk\'.

Also, I changed the on part event to

on *:part:%chan: { 
  did -az ChanTalk 41 $time(hh:nn:ss) - $+ $nick $+ - has left %chan $+ .
  timer -m 1 1 /listnicklist
}

And I wrote the status change update events:

on *:OP:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
on *:DEOP:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
on *:HELP:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
on *:DEHELP:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
on *:VOICE:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
on *:DEVOICE:%chan: {
  if (( $dialog(chantalk) )) {
    listnicklist
  }
}
 Respond  
Callison1   -  Aug 19, 2007

I deleted the original \'listnicklist\' alias, and changed the \'listnicks\' alias\' name to \'listnicklist\' and both occurrences of listnicks in the script to \'listnicklist\' , and changed the new \'listnicklist\' alias to

alias listnicklist {
  var %i = 1
  did -r ChanTalk 44
  :next
  set %nick $nick(%chan,%i)
  if %nick == $null goto done
  if %nick isop %chan did -az ChanTalk 44  @ $+ %nick 
  if %nick ishelp %chan did -az ChanTalk 44  % $+ %nick 
  if %nick isvoice %chan did -az ChanTalk 44  + $+ %nick 
  if %nick isreg %chan did -az ChanTalk 44  %nick 
  inc %i
  goto next
  :done
}

I then changed the on dialog sclick 45 event to:

on *:DIALOG:ChanTalk:sclick:45: {
  if ($did($dname,46)) { did -r ChanTalk 41 | did -r ChanTalk 44 | set %chan $did($dname,46) | did -a ChanTalk 41 ----NOW TALKING IN $did($dname,46) $+ ---- | listnicklist | did -r chantalk 46 }
}

That gets rid of the timers and updates the nick list instantly. There will need to be an event to update the status when someone changes a nick\'s status in a channel.

 Respond  
Callison1   -  Aug 19, 2007

I see now that there is the on join event i was talking about, but I don\'t see the point of the timer.

 Respond  
Callison1   -  Aug 19, 2007

I may be mistaken, but is it using a 10 second timer to update the nicklist? If so, I would make it so that it updates the nick list whenever someone joins a channel the person is in.(Problems with timers: You constantly get the timers message, the timers don\'t halt when you close the dialog, so the \"did -r ChanTalk 44\" command runs, but the dialog is closed so it returns an error message. Also I wouldn\'t have the \"I\'m using Staccia\'s ChanTalk!\" message in the channel every time.

 Respond  
Metallboy100   -  Aug 19, 2007

what is it for?, nice job btw

 Respond  
Ghost-lit Warder   -  Aug 17, 2007

This is a really neat idea, great job on the scripting and the originality.

 Respond  
napa182   -  Aug 17, 2007

Nice script works good

 Respond  
Staccia   -  Aug 17, 2007

=p

 Respond  
Anti   -  Aug 17, 2007

Yeah it\'s looks pretty neat but.. i wouldnt use hehehe welldone

 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.