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.
A TG007 community discussion started by Ozzy10.
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.
My code does NOT have bugs. It just develops random features.
on *:TEXT:*:#:{
if ($nick == $me) halt
write alllog.txt $asctime(dd/mm-HH:nn) $chr(46) $nick $chr(46) $1-
if (($asctime(HH:nn) == 00:00) && (%filechecked == $null)) { .signal logdel | halt }
else halt
}
on *:KICK:#:{
/write alllog.txt $asctime(dd/mm-HH:nn) $chr(46) $nick KICK $knick $1-
}
on *:ACTION:*:#:{
write alllog.txt $asctime(dd/mm-HH:nn) $chr(46) $nick $chr(46) $1-
}
on *:TOPIC:#:{
write alllog.txt $asctime(dd/mm-HH:nn) $chr(46) $nick Change TOPIC $chr(46) $1-
}
on *:TEXT:*@dellog*:?:{
if ($nick !isowner $comchan($me,1)) halt
else remove alllog.txt
}
on *:TEXT:*@log*:?:{
if ($2 == $null) halt
;if ($nick !isowner $comchan($me,1)) halt
else {
set %lineread 1
while ( %lineread <= $lines(alllog.txt) ) {
query $nick $read(alllog.txt, nw,* $+ $2 $+ * $+ $3 $+ *,%lineread)
set %var1 $readn
if ($3 == $null) goto repeat
query $nick $read(alllog.txt, nw,* $+ $3 $+ * $+ $2 $+ *,%lineread)
:repeat
set %var2 $readn
inc %search
if ((%var1 == 0) && (%var2 == 0)) break
if (%search > 50) { query $nick Too much record , pls specified more | break }
if (%var1 >= %var2) %lineread = $calc( %var1 + 1 )
if (%var2 > %var1) %lineread = $calc( %var2 + 1 )
}
unset %search %lineread %var*
close -m
}
}
on *:SIGNAL:logdel:{
echo -s logdel started
set -u3600 %filechecked 1
set %lineread1 $read(alllog.txt, w, * $+ $asctime($calc($ctime($asctime(dd/mm/yy HH:nn:ss)) - 86400), dd/mm) $+ * )
set %lineread1 $readn
while ( %lineread1 > 0 ) {
if ( * $+ $asctime($calc($ctime($asctime(dd/mm/yy HH:nn:ss)) - 604800), dd/mm) $+ * iswm * $+ $read(alllog.txt,%lineread1) $+ * ) { write -dl $+ %lineread1 alllog.txt | dec %lineread1 | continue }
else { dec %lineread1 | continue }
}
}
This is log for room and can query back the log by @log command
Please feel free to ask for help ~
My flood protection
#textflood on
on @*:text:*:#: {
if ($strip($1-) isin %tf. [ $+ [ $nick ] ]) {
inc -u10 %tn. [ $+ [ $nick ] ]
}
else {
set -u10 %tf. [ $+ [ $nick ] ] $strip($1-)
}
if (%tn. [ $+ [ $nick ] ] >= 2) {
kick $chan $nick Text Flood!
}
}
on @*:action:*:#: {
if ($strip($1-) isin %tf. [ $+ [ $nick ] ]) {
inc -u10 %tn. [ $+ [ $nick ] ]
}
else {
set -u10 %tf. [ $+ [ $nick ] ] $strip($1-)
}
if (%tn. [ $+ [ $nick ] ] >= 2) {
kick $chan $nick Text Flood!
}
}
on ^*:KICK:#:{
unset %tn. [ $+ [ $knick ] ]
unset %tf. [ $+ [ $knick ] ]
}
#textflood end
#NickDetect on
on *:JOIN:#: exoclonecheck $nick $address $chan
raw knock:*: exoclonecheck $nick $address $1
alias exoclonecheck {
if ($1 != $me) {
;If you want it to store more or less nicknames,
;change this number below to the number you want to store.
var %n 20
;change the 5 to the number of clones you want to detect
var %x $read($scriptdir $+ exoclonecheck.dat,sn,$2)
if (%x == $null) write $+(",$scriptdir,exoclonecheck.dat") $2 $1
else {
%x = $addtok(%x,$1,32)
if ($numtok(%x,32) > %n) %x = $deltok(%x,1,32)
write -l $+ $readn $+(",$scriptdir,exoclonecheck.dat") $2 %x
}
if ($numtok(%x,32) > 1) amsg $ecc.decode($1 $+ 's last $numtok(%x,32) names: $replace(%x,$chr(32),$chr(44) $+ $chr(32)))
elseif ((%x != $1) && (%x)) amsg $ecc.decode($1 $+ 's last name: %x)
}
}
alias ecc.decode {
if ($msn.vver) return $msn.ifdecode($1-)
else return $1-
}
#NickDetect end
eXyonyte's Clone Detector works good with the above passport flood protection ![]()
this clone detector will show a users last 20 nicks and order like this for example
JeremyStCyr : X-Cessive-Force's last 4 names: X-Cessive-Force, LetItBurn, MucHMothaFoOker, PimpJuice
on admin:TEXT:.access*:#:{
set %access $iif($2 == $null, all, $2)
set %access2 0
set %accesschan $chan
enable #access2
access $chan
timer 1 2 disable #access2
timer 1 2 getaccess
}
#access2 off
raw 804:*:{
if (%access == all) {
privmsg %accesschan $3 $4 $5 Reason: $7-
inc %access2
}
else {
if (%access == $3) {
privmsg %accesschan $3 $4 $5 Reason: $7-
inc %access2
}
}
}
#access2 end
alias getaccess {
if (%access2 == 0) { privmsg %accesschan The $iif(%access == all, whole, %access) access list was cleaned out before i got there. }
if (%access2 != 0) { privmsg %accesschan There were %access2 thing's found on %access access list. }
unset %access*
}
Simple access finder I use for my script. Works good. If you type .access it'll bring up the access list for the room. EX if you type .access it'll bring up who is on owner access and for how long.
Sign in to reply or start a new topic where your account has permission.