This one checks age to see if under 18. If so they are kicked and banned. If no age is on profile they are kicked. If they use a false age like over 75 they are kicked.
,,,,,,,,Credit to [Ice] [Angel] Petertje Spike 1506 ,,,,,,,,,,,
menu * {
Profile Scan ( $+ $group(#profdtl) $+ )
.On:{ .enable #profdtl | echo -a 4..::Profile Scan Enabled::.. }
.Off:{ .disable #profdtl | echo -a 4..::Profile Scan Disabled::.. }
}
#profdtl on
on *:JOIN:*:{
if ($nick == $me) halt {
if (> isin $nick) halt {
set -u5 %pnick $nick
set -u6 %inpuid $+ [ $nick ] $true
set %pronick $nick
.sockwrite -tn msn.server. $+ $cid prop $nick PUID
timerclose 4 10 -c proread_clean $nick
}
}
}
alias proread_clean {
close -@Profile
remini PUID.ini PUID $1
remini PUID.ini Userget $1
remini PUID.ini Redirect $1
}
raw 818:*:{
if ($3 != MSNPROFILE) && (%inpuid $+ $2) {
unset %inpuid $+ $2
writeini -n PUID.ini PUID $2 $4
profile $2
}
}
alias profile { sockopen $+(profile.,$1) chat.msn.com 80 }
alias profileinfo {
if ($prop == puid) { return $gettok($right($gettok($1,3,47),-10),1,38) }
if ($prop == userget) { return $gettok($1,3,47) }
}
on *:SOCKOPEN:profile.*:{ sockwrite $sockname GET /profile.msnw?epuid= $+ $readini(PUID.ini,PUID,$gettok($sockname,2,46)) HTTP/1.1 $+ $crlf $+ Accept: */* $+ $crlf $+ Accept-Language: en-us $+ $crlf $+ User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) $+ $crlf $+ Host: chat.msn.com $+ $crlf $+ Connection: close $+ $crlf $+ $crlf }
on *:SOCKOPEN:profile2.*:{ sockwrite $sockname GET / $+ $readini(PUID.ini,UserGet,$gettok($sockname,2,46)) HTTP/1.1 $+ $crlf $+ Accept: */* $+ $crlf $+ Accept-Language: en-us $+ $crlf $+ User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) $+ $crlf $+ Host: members.msn.com $+ $crlf $+ Connection: close $+ $crlf $+ $crlf }
on *:SOCKREAD:profile.*:{
if ($sockerr > 0) return
var %t | sockread %t
while ($sockbr > 0) {
tokenize 32 %t
if ($1 == LOCATION:) {
writeini -n PUID.ini Redirect $gettok($sockname,2,46) $1-
writeini -n PUID.ini UserGet $gettok($sockname,2,46) $profileinfo($readini(PUID.ini,Redirect,$gettok($sockname,2,46))).userget
remini PUID.ini Redirect $gettok($sockname,2,46)
if (%rempuid == $null) { set %rempuid 0 }
inc %rempuid 1
if (%rempuid == 20) { remini PUID.ini PUID | remini PUID.ini Userget | set %rempuid 0 }
sockopen profile2. $+ $gettok($sockname,2,46) members.msn.com 80
return
}
sockread %t
}
}
on *:SOCKREAD:profile2.*:{
if ($sockerr > 0) return
var %x, %output
sockread %x
while ($sockbr > 0) {
$null($regsub(%x,/(<[^>]+>)/g,,%output))
if (*A class=viewDesc title* iswm %x) {
var %pro = $right(%x,$calc(1 - $poscs(%x,title=",1) - $len(title=")))
%pro = $left(%pro,$calc($pos(%pro,",1)-1))
echo $comchan($me,1) Homepage = %pro
if (*outwar* iswm %pro) {
.sockwrite -tn msn.server. $+ $right access $msn.get($cid,fullroom) add deny *! $+ $$ial($gettok($sockname,2,46) $+ *,1).addr 15 :Reclame in profiel
.sockwrite -tn msn.server. $+ $right kick $msn.get($cid,fullroom) $gettok($sockname,2,46) : $+ Porn Spam Kick | auser autok $nick
if (*room-project* iswm %pro) {
.sockwrite -tn msn.server. $+ $right access $msn.get($cid,fullroom) add deny *! $+ $$ial($gettok($sockname,2,46) $+ *,1).addr 15 :Reclame in profiel
.sockwrite -tn msn.server. $+ $right kick $msn.get($cid,fullroom) $gettok($sockname,2,46) : $+ Porn Spam Kick | auser autok $nick
if (*netcupid* iswm %pro) {
sockwrite -tn msn.server. $+ $right access $msn.get($cid,fullroom) add deny *! $+ $$ial($gettok($sockname,2,46) $+ *,1).addr 15 :Reclame in profiel
.sockwrite -tn msn.server. $+ $right kick $msn.get($cid,fullroom) $gettok($sockname,2,46) : $+ Porn Spam Kick | auser spamlist $nick
}
}
}
}
if (*class*viewName* iswm %x) {
echo $comchan($me,1) Nick in room = ( $+ $gettok($sockname,2,46) $+ ) Nick on Profile = ( $+ $remove(%output,$chr(9),$chr(32),& $+ nbsp,;) $+ )
}
if (*<B>Age</B>* iswm %x) {
var %age = $right(%output,- $+ $calc($poscs(%output,Age,1) + 2))
%age = $left(%age,$calc($pos(%age,$chr(9),1) -1))
if (%age < 18) {
.sockwrite -tn msn.server. $+ $right access $msn.get($cid,fullroom) add deny *! $+ $$ial($gettok($sockname,2,46) $+ *,1).addr 670 :Ageban
.sockwrite -tn msn.server. $+ $right kick $msn.get($cid,fullroom) $gettok($sockname,2,46) : This room is 18+
}
if (%age == Undisclosed) {
.sockwrite -tn msn.server. $+ $right access $msn.get($cid,fullroom) add deny *! $+ $$ial($gettok($sockname,2,46) $+ *,1).addr 15 :Ageban
.sockwrite -tn msn.server. $+ $right kick $msn.get($cid,fullroom) $gettok($sockname,2,46) : $+ You dont have an age on your profile !!! --[ Access ban 15 minutes ]--
}
if (%age > 75 ) {
.sockwrite -tn msn.server. $+ $right access $msn.get($cid,fullroom) add deny *! $+ $$ial($gettok($sockname,2,46) $+ *,1).addr 5 :Ageban
.sockwrite -tn msn.server. $+ $$right kick $msn.get($cid,fullroom) $gettok($sockname,2,46) : $+ (n)Sorry your a bit too old for this chatroom (n)
}
}
if (%nextgender) {
var %gender = $left(%output,$calc($poscs(%output,ale,1) + 2))
%gender = $right(%gender,- $+ $pos(%gender,$chr(9),0))
echo $comchan($me,1) Age = $iif(%age == $null,Unknown,%age) $+ , Gender = $iif(%gender == $null,Unknown,%gender)
echo $comchan($me,1) Location = $iif(%loc == $null,Unknown,%loc)
%nextgender = $false
}
if (*<B>Gender</B>* iswm %x) {
%nextgender = $true
}
sockread %x
}
}
#profdtl end
If you use multiple scripts for multiple rooms its very easy to change the numbers for the ages. 
Edited to include CREDITS even tho none of these people ask for credits.
Edited Jul 21, 2004 6:55 PM by Mail