msn have tried nicklist 2.0 does not have the webchatZ7 of warrior124 tried since the icons will be read out at the wrong msn nicklist will not be displayed
#nicklist on
alias nickdll { return $shortfn($scriptdirdlls\nicklist.dll) }
alias nickpic { return $shortfn($scriptdiricons\ $+ $1 $+ .ico $+ ) }
alias mdx { return $shortfn($scriptdirdlls\mdx.dll) }
alias views { return $shortfn($scriptdirdlls\views.mdx) }
alias popdll { dll $scriptdirdlls\popups.dll $$1- }
alias additem_ { dll $scriptdirdlls\popups.dll AddItem $1- }
alias ico { return $scriptdir\icons\ $+ $1- $+ .ico }
alias loadimg_ { dll $scriptdirdlls\popups.dll LoadImg $1- }
alias pop1 tokenize 32 $dll($scriptdirdlls\popups.dll,Popup,$1-) | if ($isid) return $1- | $iif($4- != did not select a menu item,$4-)
alias booo {
var %snick = $gettok($did(1).seltext,$numtok($did(1).seltext,32),32)
popdll New main 16 16
popdll SetStyle main bordericon
loadimg_ main icon small $ico(users)
additem_ main end +Cdd 1 1 User Commands
additem_ main end + 0
additem_ main end + 1 1 Disconnect User $cr /timer -m 28 40 .ctcp %snick TIME
additem_ main end + 0
additem_ main end +> 1 1 User Privalages $cr privalages
additem_ main end +> 1 1 User Info $cr uinfo
additem_ main end + 0
additem_ main end +> 1 1 Kick User $cr msnkick
popdll New privalages 16 16
popdll SetStyle privalages bordericon
loadimg_ privalages icon small $ico(owner)
loadimg_ privalages icon small $ico(host)
loadimg_ privalages icon small $ico(participant)
loadimg_ privalages icon small $ico(nogenpic)
loadimg_ privalages icon small $ico(spec)
loadimg_ privalages icon small $ico(ignore)
additem_ privalages end +C 1 Owner $cr /mode $active +q %snick
additem_ privalages end + 2 Host $cr /mode $active +o %snick
additem_ privalages end + 3 Participant $cr /mode $active -q %snick
additem_ privalages end + 0
additem_ privalages end + 4 Voice $cr /mode $active +v %snick
additem_ privalages end + 5 Spectator $cr /mode $active -v %snick
additem_ privalages end + 0
additem_ privalages end + 6 ignore
additem_ privalages end + 0
additem_ privalages end + 1 Add to access as Owner $cr access $active add owner *! $+ $$ial(%snick $+ *,1).addr 0 : $+ $me added %snick- $asctime(m/dd/yyyy $+ $chr(44) h:nn:ss TT)
additem_ privalages end + 2 Add to access as Host $cr access $active add host *! $+ $$ial(%snick $+ *,1).addr 0 : $+ $me added %snick - $asctime(m/dd/yyyy $+ $chr(44) h:nn:ss TT)
additem_ privalages end + 4 Add to access as Voice $cr access $active add voice *! $+ $$ial(%snick $+ *,1).addr 0 : $+ $me added %snick - $asctime(m/dd/yyyy $+ $chr(44) h:nn:ss TT)
additem_ privalages end + 4 Add to access as Grant $cr access $active add grant *! $+ $$ial(%snick $+ *,1).addr 0 : $+ $me added %snick - $asctime(m/dd/yyyy $+ $chr(44) h:nn:ss TT)
popdll New uinfo 16 16
popdll SetStyle uinfo bordericon
additem_ uinfo end +C 0 Whois User $cr /whois %snick
additem_ uinfo end + 0 Who User $cr /who %snick
additem_ uinfo end + 0 UWho User $cr /uwho %snick
additem_ uinfo end + 0
additem_ uinfo end + 0 View User's Profile $cr run iexplore http://members.msn.ca/?mpp=2211~ $+ %puid $+ mid=2211
popdll New msnkick 16 16
popdll SetStyle msnkick bordericon
additem_ msnkick end +C 0 Disruptive behavior $cr kick $chan %snick Disruptive behavior
additem_ msnkick end + 0 Excessive scrolling $cr kick $chan %snick Excessive scrolling
additem_ msnkick end + 0 Using profanity in the chatroom $cr kick $chan %snick Using profanity in the chatroom
additem_ msnkick end + 0 Custom Kick $cr msnkicklist
pop1 main $mouse.dx $mouse.dy
}
alias msnkicklist {
var %snick = $gettok($did(1).seltext,$numtok($did(1).seltext,32),32)
set %kicknick %snick
/dialog -m MsnKickList MsnKickList
}
dialog MsnKickList {
title "Msn Kick List"
size -1 -1 319 151
option pixels
combo 1, 151 59 154 100, size drop
button "Ok", 3, 63 108 75 25, flat ok
button "Cancel", 4, 151 108 75 25, flat cancel
text "Kick Message:", 5, 15 6 78 16
radio "No Ban", 6, 17 68 56 20
radio "Ban for:", 7, 79 68 63 20
combo 2, 16 26 289 100, size edit drop
}
On *:dialog:MsnKickList:init:*:{
didtok MsnKickList 1 44 15 Minutes,1 Hour,5 Hours,24 Hours,Life
didtok MsnKickList 2 44 Disruptive behavior,Excessive scrolling,Using profanity in the chatroom
did -b MsnKickList 1
did -c MsnKickList 6
}
On *:dialog:MsnKickList:sclick:6:{ did -b MsnKickList }
On *:dialog:MsnKickList:sclick:7:{ did -e MsnKickList 1 }
on *:dialog:MsnKickList:sclick:3:{
if ($did(7).state == 1 ) && ($did(1) == 15 Minutes) { access $active add DENY ! $+ $$ial(%kicknick $+ *,1) 15 : $did(2) | kick $active %kicknick $did(2) (Access ban set for 15 minutes) | unset %kicknick }
if ($did(7).state == 1 ) && ($did(1) == 1 Hour) { access $active add DENY ! $+ $$ial(%kicknick $+ *,1) 60 : $did(2) | kick $active %kicknick $did(2) (Access ban set for 1 Hour) | unset %kicknick }
if ($did(7).state == 1 ) && ($did(1) == 5 Hours) { access $active add DENY ! $+ $$ial(%kicknick $+ *,1) 300 : $did(2) | kick $active %kicknick $did(2) (Access ban set for 5 Hours) | unset %kicknick }
if ($did(7).state == 1 ) && ($did(1) == 24 Hours) { access $active add DENY ! $+ $$ial(%kicknick $+ *,1) 1440 : $did(2) | kick $active %kicknick $did(2) (Access ban set for 24 Hours) | unset %kicknick }
if ($did(7).state == 1 ) && ($did(1) == Life Ban) { access $active add DENY ! $+ $$ial(%kicknick $+ *,1) 0 : $did(2) | kick $active %kicknick $did(2) (Access ban set for Life) | unset %kicknick }
if ($did(6)) { kick $active %kicknick $did(2) | unset %kicknick }
}
on *:dialog:MsnKickList:sclick:4:{ unset %kicknick }
raw 821:*: { unset %icon. [ $+ [ $nick ] ] away | if ($dialog(nick $+ $msn.get($cid,fullroom)) != $null) .timer 1 1 getnicks $msn.get($cid,fullroom) }
raw 822:*: { set %icon. [ $+ [ $nick ] ] away | if ($dialog(nick $+ $msn.get($cid,fullroom)) != $null) .timer 1 1 getnicks $msn.get($cid,fullroom) }
dialog nick {
title ""
size 0 0 %nicksize
option pixels
list 1, 0 0 %nicksize, size
}
alias nicklist {
set # #
if $dialog(nick $+ #) {
dialog -c nick $+ $chr(37) $+ $right(#,-1) nick
set %nicksize $dll($nickdll,GetSize,$!chr(37) $!+ $right(#,-1))
dialog -m nick $+ $chr(37) $+ $right(#,-1) nick
}
else {
set %nicksize $dll($nickdll,GetSize,$!chr(37) $!+ $right(#,-1))
dialog -m nick $+ $chr(37) $+ $right(#,-1) nick
}
}
on 1:dialog:nick*:init:*: {
.enable #profileseter
dll $mdx SetMircVersion $version
dll $mdx MarkDialog $dname
dll $mdx SetDialog $dname style
dll $mdx SetControlMDX $dname 1 listview rowselect report showsel > $views
did -i $dname 1 1 headerdims $calc($gettok(%nicksize,1,38) - 6) $+ :1 0:2
dll $nickdll Nicklist $dname $right($dname,-4)
did -i $dname 1 1 iconsize normal small
did -i $dname 1 1 seticon normal $nickpic(owner)
did -i $dname 1 1 seticon normal $nickpic(host)
did -i $dname 1 1 seticon normal $nickpic(spec)
did -i $dname 1 1 seticon normal $nickpic(nopro)
did -i $dname 1 1 seticon normal $nickpic(msn)
did -i $dname 1 1 seticon normal $nickpic(boypic)
did -i $dname 1 1 seticon normal $nickpic(girlpic)
did -i $dname 1 1 seticon normal $nickpic(boywithpic)
did -i $dname 1 1 seticon normal $nickpic(girlwithpic)
did -i $dname 1 1 seticon normal $nickpic(cup)
did -i $dname 1 1 seticon normal $nickpic(nogenpic)
did -i $dname 1 1 seticon normal $nickpic(nogen)
.timergetnicks 1 0 getnicks $msn.get($cid,fullroom)
.timergetnicksfix 1 10 getnicks $msn.get($cid,fullroom)
.$getprofs
}
alias getnicks {
var %x = 1
who $1
did -r nick $+ $1 1
while (%x <= $nick($1,0)) {
did -a nick $+ $1 1 0 + $nickicon($nick($1,%x),$1) $opshow($nick($1,%x),$1) $+ $replace($msn.decode($nick($1,%x)),>,Guest_) $+ $chr(9) $+ + 0 $nick($1,%x)
inc %x
}
}
alias opshow {
if (' isin $1) return $+
elseif ($1 isowner $2) return . $+
elseif ($1 isop $2) && ($1 !isowner $2) return $+
elseif ($1 isvoice $2) && ($1 !isop $2) return +
else return $+
}
alias nickicon {
if (%icon. [ $+ [ $1 ] ] == away) return 10
elseif (' isin $1) return 5
elseif ($1 isowner $2) return 1
elseif ($1 isop $2) return 2
elseif (%icon. [ $+ [ $1 ] ] == no-profile) return 4
elseif (%icon. [ $+ [ $1 ] ] == profile-no-gender-no-pic) return 11
elseif (%icon. [ $+ [ $1 ] ] == Male-Profile) return 6
elseif (%icon. [ $+ [ $1 ] ] == Femail-Profile) return 7
elseif (%icon. [ $+ [ $1 ] ] == Profile-No-Gender) return 12
elseif (%icon. [ $+ [ $1 ] ] == Femail-Profile-Pic) return 9
elseif (%icon. [ $+ [ $1 ] ] == Male-Profile-Pic) return 8
elseif (%icon. [ $+ [ $1 ] ] == spectator) return 3
else return 4
}
#profileseter off
raw 352:*: {
haltdef
if ($left($7,1) == G) { set %icon. [ $+ [ $6 ] ] away }
elseif ($left($7,1) == H) { }
}
raw 908:*:{ set %icon. [ $+ [ $2 ] ] spectator }
raw 818:*:{
if ($4 == 0) { set %icon. [ $+ [ $2 ] ] no-profile }
elseif ($4 == 1) { set %icon. [ $+ [ $2 ] ] profile-no-gender-no-pic }
elseif ($4 == 3) { set %icon. [ $+ [ $2 ] ] Male-Profile }
elseif ($4 == 5) { set %icon. [ $+ [ $2 ] ] Femail-Profile }
elseif ($4 == 9) { set %icon. [ $+ [ $2 ] ] Profile-No-Gender }
elseif ($4 == 11) { set %icon. [ $+ [ $2 ] ] Male-Profile-Pic | halt }
elseif ($4 == 13) { set %icon. [ $+ [ $2 ] ] Femail-Profile-Pic }
else { halt }
}
#profileseter end
alias getprofs {
set -u5 %hlater on
var %i 1
while (%i <= $nick(%chan,0)) {
prop $nick(%chan,%i) msnprofile
inc %i
}
.timerdis 1 5 .disable .disable #profileseter
}
on *:dialog:nick*:*click:1: {
tokenize 32 $did(nick $+ $right($dname,-4),1,1)
if ($1 == rclick) {
booo
}
if ($1 == dclick) {
query $gettok($did(1).seltext,$numtok($did(1).seltext,32),32)
}
}
on *:join:#: {
if ($nick == $me) {
nicklist
.ctcp $nick PING
}
elseif ($dialog(nick $+ #) != $null) .timer 1 3 getnicks # | .enable #profileseter | prop $nick msnprofile | .timerdis 1 4 .disable #profileseter
}
on *:join:#: { if ($dialog(nick $+ #) != $null) && ($nick != $me) .timerNIK 1 1 getnicks # }
on *:part:#: { if ($dialog(nick $+ #) != $null) && ($nick != $me) .timerNIK 1 1 getnicks # }
on *:kick:#: { if ($dialog(nick $+ #) != $null) .timerNIK 1 1 getnicks # }
on *:op:#: { if ($dialog(nick $+ #) != $null) .timerNIK 1 1 getnicks # }
on *:deop:#: { if ($dialog(nick $+ #) != $null) .timerNIK 1 1 getnicks # }
on *:owner:#: { if ($dialog(nick $+ #) != $null) .timerNIK 1 1 getnicks # }
on *:deowner:#: { if ($dialog(nick $+ #) != $null) .timerNIK 1 1 getnicks # }
on *:voice:#: { if ($dialog(nick $+ #) != $null) .timerNIK 1 1 getnicks # }
on *:devoice:#: { if ($dialog(nick $+ #) != $null) .timerNIK 1 1 getnicks # }
on *:quit:#: { if ($dialog(nick $+ #) != $null) .timerNIK 1 1 getnicks # }
on *:nick: { if ($dialog(nick $+ #) != $null) .timerNIK 1 1 getnicks # }
on *:CTCPREPLY:*:
if ($1 == PING) && ($2 == $null ) { set %icon [ $+ [ $nick ] ] spectator | halt }
}
alias room {
var %roomname = $1-
%roomname = $replace(%roomname,$chr(92) $+ $chr(99),$chr(44),$chr(92) $+ $chr(98),$chr(32))
%roomname = $remove(%roomname,$chr(37))
%roomname = $remove(%roomname,$chr(35))
%roomname = $upper($left(%roomname,1)) $+ $right(%roomname,-1)
var %num $numtok(%roomname,32), %toknum 1
while (%toknum <= %num) {
var %output = %output $upper($left($gettok(%roomname,%toknum,32),1)) $+ $lower($right($gettok(%roomname,%toknum,32),-1))
inc %toknum
}
return %output
}
#nicklist end
Edited Oct 4, 2008 10:52 AM by Seci