Skip to content
MSN Addons Archive

Msn Addons February/march/april

A TG007 community discussion started by Ozzy10.

Closed discussion 29 posts
Page 1 of 2
Closed
Topic #2721 · 29 published posts · 5,478 views

Please feel free to post msn addons here, but also remember that some people dont know too much about msn and are learning.

 

Please make sure you post full code for your addon and that you add credits for other peoples work.

 

do NOT post disruptive code eg. takes and floods etc

 

Please make sure all code/text is in english

Edited May 16, 2005 11:20 PM by OZZY_10â„¢

My code does NOT have bugs. It just develops random features.

I am not sure who made the original votekick coding but I modified it into a votetrivia code. If anyone knows who wrote original code please let me know and I will edit it into this post.

 

This code allows roomies to vote whether or not they want trivia to begin. Trivia needs to be enabled in the script menu and this "#trivia on" placed at beginning of trivia script. This needs to be placed at end of trivia script "#trivia end". If the vote is No trivia is disabled. If the vote is Yes trivia is enabled. I also included a couple of timers to unset the variables.

 

Edited to include only one vote per nick.

on *:text:*:*: { 
 if ($1 == !votetrivia) { 
   if ($hget(votetrivia,voting)) { msg $chan Voting Already Started } 
   if (!$hget(votetrivia)) { hmake votetrivia 100 } 
   if (!$hget(votenick)) { hmake votenick 100 }
   hadd votetrivia chan $chan 
   hadd votetrivia voting $true 
   msg $chan Vote Trivia Enabled - !vote yes/no - To Start Trivia ( $iif($3 > 30,$3,30) Seconds ) 
   timervote 1 $iif($3 > 30,$3,30) voteend 
 } 
 if ($1 == !vote) { 
   if (!$hget(votetrivia,voting)) { halt } 
   if (yes == $2) { 
     if ($nick isin $hget(votenick,nick)) $votemsg { halt }
     hadd votetrivia voted $hget(votetrivia,voted) $+ , $+ $nick 
     %yes = $calc($hget(votetrivia,yes) + 1) 
     hadd votetrivia yes %yes 
     hadd votenick nick $nick
     msg $chan $nick $+ 's Vote Registered - Yes 
   } 
   if (no == $2) { 
     hadd votetrivia voted $hget(votetrivia,voted) $+ , $+ $nick 
     %no = $calc($hget(votetrivia,no) + 1) 
     hadd votetrivia no %no 
     hadd votenick nick $nick
     msg $chan $nick $+ 's Vote Registered - No 
   } 
 } 
 .timer.undo3 1 41 /unset %yes 
 .timer.undo4 1 42 /unset %no
 .timer.dela 1 50 hfree -sw votetrivia
 .timer.delb 1 50 hfree -sw votenick
}
alias votemsg { 
 msg $hget(votetrivia,chan) Only One Vote Per Person $nick
}
alias voteend {     
 msg $hget(votetrivia,chan) Voting Ended - Results (Yes: $+ $iif(!$hget(votetrivia,yes),0,$hget(votetrivia,yes)) $+ ) (No: $+ $iif(!$hget(votetrivia,no),0,$hget(votetrivia,no)) $+ )  
 if ($hget(votetrivia,yes) == 1) { halt }
 if ($iif(!$hget(votetrivia,no),0,$hget(votetrivia,no)) >= $iif(!$hget(votetrivia,yes),0,$hget(votetrivia,yes))) { msg $hget(votetrivia,chan) Trivia will not be started! } { disable #trivia } 
 if ($iif(!$hget(votetrivia,yes),0,$hget(votetrivia,yes)) > $iif(!$hget(votetrivia,no),0,$hget(votetrivia,no))) { msg $hget(votetrivia,chan) Type !trivia to start Type !strivia to end. } { enable #trivia }   
}

Edited Feb 26, 2005 9:20 PM by Mail

 

"Diplomacy is the art of saying 'Nice doggie' until you can find a rock".-Will Rogers

Ping check by OZZY_10â„¢

 

This will show somones ping to room

 

this works for clearmsn connection even if you use "show users own colours"

 

anyone can type !ping and it will return like this

OZZY_10â„¢ : !ping

0zzyâ„¢ : OZZY_10â„¢ is lagged by 0.547 seconds

 

on *:TEXT:*:*:  { 
 if ($strip($1) == !ping) {
   .raw PRIVMSG $rc($nick) : $+ $chr(1) $+ PING $ticks $+ $chr(1) 
 }
}
;code by OZZY_10â„¢
on *:CTCPREPLY:PING*: { privmsg $comchan($nick,1) $nick is lagged by $calc(($ticks - $2) / 1000) seconds }

 

--------------------------------------------------------------------------------------

 

This one below works for vincula connection

 

anyone can type !ping and it will return like this

OZZY_10â„¢ : !ping

0zzyâ„¢ : OZZY_10â„¢ is lagged by 0.547 seconds

 

on *:TEXT:!ping:*: { .raw PRIVMSG $nick : $+ $chr(1) $+ PING $ticks $+ $chr(1) }
;code by OZZY_10â„¢
on *:CTCPREPLY:PING*: { privmsg $comchan($nick,1) $nick is lagged by $calc(($ticks - $2) / 1000) seconds }

Edited Feb 5, 2005 4:04 PM by OZZY_10â„¢

My code does NOT have bugs. It just develops random features.

Simple Add-on for checking user lists. You may need to change how you add to user list though. Simply add to remotes then check nicklist popup.

;Credits to Pony 
menu nicklist { 
View List 
.Admin:/admin 
.Shit:/shit 
.Host:/host 
.Owner:/owner 
} 
alias shit { 
 var %x = 1 
 while $ulist(*,shit,%x) { 
   echo -a $remove($ulist(*,shit,%x),*!*) 
   $ulist(*,shit,%x).info 
   inc %x 
 } 
} 
alias admin { 
 var %x = 1 
 while $ulist(*,Admin,%x) { 
   echo -a $remove($ulist(*,Admin,%x),*!*) 
   $ulist(*,Admin,%x).info 
   inc %x 
 } 
} 
alias owner { 
 var %x = 1 
 while $ulist(*,Owner,%x) { 
   echo -a $remove($ulist(*,Owner,%x),*!*) 
   $ulist(*,Owner,%x).info 
   inc %x 
 } 
} 
alias host { 
 var %x = 1 
 while $ulist(*,Host,%x) { 
   echo -a $remove($ulist(*,Host,%x),*!*) 
   $ulist(*,Host,%x).info 
   inc %x 
 } 
} 

 

"Diplomacy is the art of saying 'Nice doggie' until you can find a rock".-Will Rogers

This is a really simple script kicker

It should catch most scripts so you dont need to do all the ctcp checks

except maybe the one to show nuclear

 

This has been tested in vincula and should work in nuclear

on ^*:JOIN:#: { who $nick } 
raw 352:* { 
if ($9 != $null) { 
 if ($6 isowner $2) halt
 if ($6 isop $2) halt
 access $2 add deny $address($6,1) 15 :script
 kick $2 $6 no scripts ty 
}
}

If you want it to kick any allready in room , change

on ^*:JOIN:#: { who $nick }

to

on ^*:JOIN:#: { who $chan }

and it will get any scripts that are allready in room too

Edited Mar 5, 2005 3:00 PM by OZZY_10â„¢

My code does NOT have bugs. It just develops random features.

This is a profile viewer for msn groups and will even find nicks with blanks in etc

Uses the actual group profiles

I use this in my own group i have just edited it a bit

 

on *:text:@profile*:*: { 
 var %ozt 1
 while (%ozt <= $nick($msn.get($cid,fullroom),0)) {
   if ($2 $+ * iswm $nick($msn.get($cid,fullroom),%ozt)) {
     privmsg # The following is the profile link for $2- http://groups.msn.com/ $+ $remove($comchan($nick,1),G_,$chr(37),$chr(35)) $+ /profile?user= $+ $nick($msn.get($cid,fullroom),%ozt) $+ $chr(37) $+ E2%9C%93
     break
   }
   inc %ozt 
 }
}

 

I am digging out all my old code and will post some more on here

Edited Mar 12, 2005 1:24 PM by OZZY_10â„¢

My code does NOT have bugs. It just develops random features.

This shows script and comp uptime to the room

 

on *:TEXT:@ut:#: { 
 msg $msn.get($cid,fullroom) S Tahoma;0 (co) My Uptime is: $uptime(system,1)  
 msg $msn.get($cid,fullroom) S Tahoma;0 (co) Script Uptime is: $uptime(server,1) 
}

My code does NOT have bugs. It just develops random features.

Bright font kicker, this should still work allthough i havnt used it since chat went paid

 

on *:text:*:#:{ 
 if ($asc($mid($1,3,1)) isin 56 57 49) { 
   inc -u20 %bcolor. [ $+ [ $nick ] ] 
   if (%bcolor. [ $+ [ $nick ] ] > 1) { kick # $nick I warned you,now please change your colour }
   else { msg # $nick $+ , change to a normal colour please not yellow,light green or light blue }
}

Edited Mar 12, 2005 1:37 PM by OZZY_10â„¢

My code does NOT have bugs. It just develops random features.

I use this in mirc when coding.

It shows the character for each $chr

add the code to your aliases

 

/chrs {
 window -k @chrs -1 -1 150 500 Tahoma 12
 var %c 1
 while (%c <= 255) {
   echo @chrs $chr(36) $+ chr $+ $chr(40) $+ %c $+ $chr(41) $chr(61) $chr(%c)
   inc %c 
 }
}

 

I will add more as i dig out all my old code

Edited Mar 12, 2005 1:50 PM by OZZY_10â„¢

My code does NOT have bugs. It just develops random features.

I decided to have a crack at regex addons. You can modify it how you like, just don't try claiming it as your own if you don't know how to use regular expressions

 

URL & email kicker

on *:text:*:#:{
 if ($emailreg => 1) { kick # $nick I have detected $regml(email,0) emails in your text. }
 if ($urlreg => 1) { kick # $nick I have detected $regml(url,0) URLs in your text. }
}
on *:action:*:#:{
 if ($emailreg => 1) { kick # $nick I have detected $regml(email,0) emails in your text. }
 if ($urlreg => 1) { kick # $nick I have detected $regml(url,0) URLs in your text. }
}
alias emailreg { return $regex(email,$1-,/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$) }
alias urlreg { return $regex(url,$1-,/^\w+([\.-]?\w+)*\.\w+([\.-]?\w+)*(\.\w{2,3})+$) }

 

Image viewer

on *:text:*:#:{ if ($imgreg == 1) { run $regml(img,1) } }
on *:action:*:#:{ if ($imgreg == 1) { run $regml(img,1) } }
alias imgreg { return $regex(img,$1-,/^(file|http):\/\/\S+\/\S+\.(gif|jpg|png|bmp)$/i) }

 

Counts how many spaces and characters are in users' text (untested)

on *:text:*:#:{
 var %a = $regex(c,$1-,/^(\w|\W)+$), %b = $regex(s,$1-,/^\ +$)
 var %q = $regex(q,$remove($1-,$chr(32),/^\S+$)
 echo -a $nick Used %a non-space characters and %b spaces, giving $calc(%a + %b) total characters.
 if (%q => 1) echo -a $nick also managed (somehow) to use %q white-space characters other than a space.
}

 

If the counter doesn't work just replace the alias (eg: $urlreg) with the corresponding regex.

In case you're wondering, a white-space character other than a space is tab, vertical tab, new line, etc

 

Correction for character counter

on *:text:*:#:{
var %a = $regex(c,$1-,(\w|\W)/q), %b = $regex(s,$1-,\ /q)
var %q = $regex(q,$remove($1-,$chr(32),\S/q)
echo -a $nick Used %a non-space characters and %b spaces, giving $calc(%a + %b) total characters.
if (%q => 1) echo -a $nick also managed (somehow) to use %q white-space characters other than a space.
}

I'm pretty sure that's right...

 

Caps kicker (tried & tested)

on *:text:*:#:{
 var %r = $regex($1-,/[A-Z]/q)
 if ($calc(%r / $len($1-) * 100) >= 70) {
   kick # $nick $ifmatch $+ % caps - too many!
 }
}

 

;Auto rejoin when disconnected - Vincula 
;What makes this different to all other auto rejoin when disconnected? 
;Answer: this rejoins all the rooms that you've been disconnected from. 
; 
;Pros: 
;  - It gets back into all the rooms you've been disconnected from. 
;Cons: 
;  - Leaves twice as many status windows open [when you d/c, it doesn't replace status windows] 
;  - May not rejoin the first room you joined [glitches in the variable] 
; 
;Created by The Gate Keeper for Vincula Purposes Only 
;Modifications are allowed to suite your needs and your connections 
;Please leave credit somewhere though :D 
; 
;Note: This requires you to be disconnected from all chatrooms 
;before it kicks in and starts rejoining again. 

menu * { 
 - 
 Rejoin when Disconnect 
 .$iif(%msn.rjwd == on,$style(2)) Turn On : %msn.rjwd = on 
 .$iif(%msn.rjwd != on,$style(2)) Turn Off : unset %msn.rjwd 
} 
alias msn.arecon { 
 if (!$sock(msn.look.main)) || (!$sock(msn.look.comm)) msn.lookcon 
 elseif (!$gettok(%msn.gochans,1,32)) .timerrecon1 off 
 else msn $gettok(%msn.gochans,1,32) 
} 
on me:*:JOIN:#: { 
 if (%msn.rjwd == on) && (%msn.gochans) { 
   %msn.gochans = $remove(%msn.gochans,$right($chan,-2)) 
   if ($remove(%msn.gochans,$chr(32)) == $null) unset %msn.gochans 
   else msn $iif(G_* iswm $gettok(%msn.gochans,1,32),-c $gettok(%msn.gochans,1,32),$gettok(%msn.gochans,1,32)) 
 } 
} 
on *:START: unset %msn.gochans 
on *:DISCONNECT: { 
 if (%msn.rjwd == on) { 
   var %l = 1 
   while ($scon(%l)) { 
     scid $ifmatch 
     if ($scid($ifmatch).status == connected) { break | return } 
     else var %x = %x $right($chan(1),-2) 
     scid -r | inc %l 
   } 
   %msn.gochans = %x | msn.arecon | .timerrecon1 20 10 msn.arecon 
 } 
}

Edited Apr 24, 2005 1:17 PM by The Gate Keeper

#scriptchecker on
on ^@*:JOIN:#:{
 if ($read(~script.trust.txt,s,$msngkshort($nick)) || ($nick == $me)) halt 
 who $nick
}
raw 352:* { 
 if ($9 != $null) { 
   if ($6 isowner $2) halt
   if ($6 isop $2) halt
   access $2 add deny $address($6,1) 15 :Script_Bot_Kick
   kick $2 $6 No Scripts ty  
 }
}
#scriptchecker end

When I change the Who $nick to who $chan ,

It checks the whole room when ever anyone joins which make the script gone crazy , I've 9 busy rooms imagine checking all rooms when ever anyone joins..

Can't you make it to check the whole room only when I join ?

And then check $nick in the normal way ?!

Yes, you can. Here is the code...

 

#scriptchecker on
on ^@*:JOIN:#:{
if ($read(~script.trust.txt,s,$msngkshort($nick)) || ($nick == $me)) halt
if ($nick == $me) { who $chan }
if ($nick != $me) { who $nick }
}
raw 352:* {
if ($9 != $null) {
  if ($6 isowner $2) halt
  if ($6 isop $2) halt
  access $2 add deny $address($6,1) 15 :Script_Bot_Kick
  kick $2 $6 No Scripts ty  
}
}
#scriptchecker end

Hmm, it should work. What code do you have right now?

 

P.S.: I see the problem now. You have it to halt all commands whenever it is you who joins the channel. Try this code...

 

#scriptchecker on
on ^@*:JOIN:#:{
if ($nick == $me) { who $chan }
elseif ($nick != $me) { who $nick }
if ($read(~script.trust.txt,s,$msngkshort($nick)) || ($nick == $me)) halt
}
raw 352:*: {
if ($9 != $null) {
 if ($6 isowner $2) halt
 if ($6 isop $2) halt
 access $2 add deny $address($6,1) 15 :Script_Bot_Kick
 kick $2 $6 No Scripts ty  
}
}

#scriptchecker end

Edited Apr 24, 2005 2:30 PM by Warrior124

Same code with the edit to halt my friends

#scriptchecker on
on ^@*:JOIN:#:{
if ($read(~script.trust.txt,s,$msngkshort($nick)) || ($nick == $me)) halt 
who $nick
}
raw 352:* { 
if ($9 != $null) { 
  if ($6 isowner $2) halt
  if ($6 isop $2) halt
  access $2 add deny $address($6,1) 15 :Script_Bot_Kick
  kick $2 $6 No Scripts ty  
}
}
#scriptchecker end

And it works pretty fine !!

 

I wanted to ask shall I make it with else ?

#scriptchecker on
on ^@*:JOIN:#:{
if ($read(~script.trust.txt,s,$msngkshort($nick)) || ($nick == $me)) halt 
else {
who $nick
}
}

 

Edited the post in the same time lol I will try it and let you know

 

Edited Apr 24, 2005 2:34 PM by bonTy

#scriptchecker on
on ^*:JOIN:#:{
if ($read(~script.trust.txt,s,$msngkshort($nick)) || ($nick == $me)) halt
elseif ($nick == $me) { who $chan }
else who $nick
}
raw 352:* {
if ($9 != $null) {
 if ($6 isowner $2) halt
 if ($6 isop $2) halt
 access $2 add deny $address($6,1) 15 :Script_Bot_Kick
 kick $2 $6 No Scripts ty  
}
}
#scriptchecker end

 

for some reason this script kick not wrking for me

and help please would be very appreciated

#scriptkick on
on *:join:#: { 
 if ($nick == $me) halt 
 if (Admin isin $level($$ial($nick $+ *,1))) halt
 who $nick 
} 
raw 352:*: { 
 if ($9 != $null) && ($9 != $me) { 
   access $active add deny $$address($6,1) 
   kick $active $6 ~No Scripts~ 
 } 
} 
#scriptkick end

 

That's the one I use and it works.

 

Custom Computer

AMD Athlon 64 x2 Dual Core 5200+

Asus M2N-SLI MOB

2GB DDR2 @ 800mhz

160GB Hard Drive

NVidia GeForce 8400GS 256

Bright font kicker, this should still work allthough i havnt used it since chat went paid

 

on *:text:*:#:{ 
 if ($asc($mid($1,3,1)) isin 56 57 49) { 
   inc -u20 %bcolor. [ $+ [ $nick ] ] 
   if (%bcolor. [ $+ [ $nick ] ] > 1) { kick # $nick I warned you,now please change your colour }
   else { msg # $nick $+ , change to a normal colour please not yellow,light green or light blue }
}

Ozzy I tested the color code and when some one uses numbers example(0794643459456454) it will give the warning not to use colors dont know it its just me or may be i missed some thing in the code???

 

on *:text:*:#:{

if ($asc($mid($1,3,1)) isin 56 57 49) {

inc -u20 %bcolor. [ $+ [ $nick ] ]

if (%bcolor. [ $+ [ $nick ] ] > 1) { kick # $nick I warned you,now please change your colour }

else { msg # $nick $+ , change to a normal colour please not yellow,light green or light blue }

}