Pcw script on *:TEXT:!setpcw*:#:{ if ($nick isop $chan) || ($nick ishop $chan) { if ($2 isnum 1-140) { set %pcw $2 set %pcnick $nick set %pctime $ctime msg $chan 15[7«15 PCW Updated, type !pcw to view 7»15] [7«15 By: %pcnick 7»15] [7«15 %suggest2 7»15] } } } on *:TEXT:!suggest*:#:{ if ($2 isnum 1-140) { set %suggest1 World: $2 set %snick $nick set %suggest2 Description: $3- notice $nick Thanks for the suggestion an operator is now reading the suggestion. msg $chan 15[7«15 New suggestion 7»15] [7«15 By: %snick 7»15] [7«15 %suggest1 7»15] [7«15 %suggest2 7»15] } } on *:TEXT:!pcw*:#:{ if ($nick isvoice $chan) || ($nick ishop $chan) || ($nick isop $chan) { notice $nick 15[7«15 Current world: %pcw 7»15] [7«15 By: %pcnick 7»15] [7«15 Set $duration($calc($ctime - %pctime)) ago. 7»15] } else { notice $nick 15Voice+ users may only use this command. } } ----------------------------- Stats script alias -l c1 { return $+($chr(3),01,$1-,$chr(3)) } alias -l c2 { return $+($chr(3),10,$1-,$chr(3)) } alias -l c3 { return $+($chr(3),02,$1-,$chr(3)) } on $*:TEXT:/^[!@.]/Si:#: { if ($remove($1,!,@,.) == stats) { set %stats.style level } elseif ($regex($remove($1,!,@,.),/^(def(ault)?|set)(rsn|name)/i)) { writeini -n DefRSN.ini RSNs $address($nick,2) $replace($2-,$chr(32),_) notice $nick $c1(Your default RSN for the host) $c2($address($nick,2)) $c1(has been set to) $c2($replace($2-,$chr(32),_)) $+ $c1(.) halt } elseif ($statstrue($remove($1,!,@,.))) && ($remove($1,!,@,.) !isnum) { set %stats.style $+(skill.,$v1) } elseif ($regex($remove($1,!,@,.),/^co?mb(at)?|duel/i)) { set %stats.style combat } else { halt } set %stats.display $iif($left($1,1) == @,msg $chan,notice $nick) set %stats.n 0 if ($2) { if (& isin $2-) { tokenize 32 $remove($1-,&) if ($2 !ison $chan) { notice $nick $c1(The username) $c2($2-) $c1(was not found on the channel.) | unset %stats.* | halt } elseif (!$readini(DefRSN.ini,n,RSNs,$address($2,2))) { notice $nick $c1(The username) $c2($2-) $c1(has not set a default RSN.) | unset %stats.* | halt } else { set %stats.user $readini(DefRSN.ini,n,RSNs,$address($2,2)) } } else { set %stats.user $replace($2-,$chr(32),_) } } else { if ((!$readini(DefRSN.ini,n,RSNs,$address($nick,2))) && (!$2)) { .notice $nick You must specify a username between 3 and 12 characters. This can be omitted if defname is set. | Halt } else { set %stats.user $readini(DefRSN.ini,n,RSNs,$address($nick,2)) } } sockopen stats hiscore.runescape.com 80 } on *:SOCKOPEN:stats: { sockwrite -n $sockname GET $+(/hiscorepersonal.ws?user1=,%stats.user) HTTP/1.1 sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf } on *:SOCKREAD:stats: { var %i | sockread %i if (*does not feature* iswm %i) { %stats.display $c1(The username) $c2(%stats.user) $c1(does not appear in the Runescape Hiscores.) unset %stats.* | sockclose stats } elseif ($statstrue(%i)) { set %stats.skill %i | set %stats.n 1 } elseif (%stats.n isnum 3-5) { set $+(%,stats.,%stats.skill,.,$statstype(%stats.n)) $gettok($gettok(%i,2,62),1,60) if (%stats.n == 5) { set %stats.n 0 } } elseif (** iswm %i) { if ($left(%stats.style,5) == skill) { if ($($+(%,stats.,$gettok(%stats.style,2,46),.exp),2)) { var %rank = $($+(%,stats.,$gettok(%stats.style,2,46),.rank),2) var %exp = $($+(%,stats.,$gettok(%stats.style,2,46),.exp),2) var %level = $($+(%,stats.,$gettok(%stats.style,2,46),.level),2) %stats.display $c1($chr(2) $+ [) $+ $c3(%stats.user) $+ $c1(]) $+ $chr(2) $c1($chr(2) $+ [) $c2($statstrue($gettok(%stats.style,2,46))) $c1(]) $+ $chr(2) $& $c1(Level:) $c2(%level) $c1($chr(124)) $c1(Rank:) $c2(%rank) $c1($chr(124)) $c1(Exp:) $c2(%exp) $& $c1($chr(124)) $c1(Exp until $calc(%level + 1) $+ :) $c2($bytes($calc($statsxp($calc(%level + 1)) - $remove(%exp,$chr(44))),b)) } else { %stats.display $c1($chr(2) $+ [) $+ $c3(%stats.user) $+ $c1(]) $+ $chr(2) $c1(User does not appear in the Runescape Hiscores for) $c2($gettok(%stats.style,2,46)) $+ $c1(.) } unset %stats.* | sockclose stats } elseif (%stats.style == combat) { var %a = $iif(%stats.Attack.level,$v1,1) var %d = $iif(%stats.Defence.level,$v1,1) var %s = $iif(%stats.Strength.level,$v1,1) var %h = $iif(%stats.Hitpoints.level,$v1,10) var %r = $iif(%stats.Ranged.level,$v1,1) var %p = $iif(%stats.Prayer.level,$v1,1) var %m = $iif(%stats.Magic.level,$v1,1) { var %base = $calc(($calc((%d *100)+(%h *100)) + $iif($isodd(%p),$calc(%p -1) *50,%p *50))/400) var %melee = $calc(((%a *130)+(%s *130))/400) var %range = $calc($iif($isodd(%r),$calc(((%r -1)+(%r *2))*65),$calc(%r *195))/400) var %mage = $calc($iif($isodd(%m),$calc(((%m -1)+(%m *2))*65),$calc(%m *195))/400) if (%range >= %mage) && (%range >= %melee) { var %combat = $calc(%range + %base) | var %class = Ranged } elseif (%mage >= %range) && (%mage >= %melee) { var %combat = $calc(%mage + %base) | var %class = Magic } else { var %combat = $calc(%melee + %base) | var %class = Melee } } %stats.display $c1($chr(2) $+ [) $+ $c3(%stats.user) $+ $c1(]) $+ $chr(2) $c1(Combat Level is) $c2(%combat) $c1([) $c2($+(%class,-,based Combat)) $c1(]) %stats.display $c1(Attack:) $c2(%a) $c1($chr(124)) $c1(Defence:) $c2(%d) $c1($chr(124)) $c1(Strength:) $c2(%s) $c1($chr(124)) $c1(Hitpoints:) $c2(%h) $c1($chr(124)) $c1(Ranged:) $c2(%r) $c1($chr(124)) $c1(Prayer:) $c2(%p) $c1($chr(124)) $c1(Magic:) $c2(%m) unset %stats.* | sockclose stats } else { var %x = 1 while (%x <= 17) { var %statline = %statline $iif($($+(%,stats.,$statstrue(%x),.level),2),$c1($statstrue(%x) $+ :) $c2($($+(%,stats.,$statstrue(%x),.,%stats.style),2)) $c1($chr(124)) $&,$null) inc %x } while (%x > 17) && (%x < 24) { var %statline2 = %statline2 $iif($($+(%,stats.,$statstrue(%x),.level),2),$c1($statstrue(%x) $+ :) $c2($($+(%,stats.,$statstrue(%x),.,%stats.style),2)) $c1($chr(124)) $&,$null) inc %x } %stats.display $c1($chr(2) $+ [) $+ $c3(%stats.user) $+ $c1(]) $+ $chr(2) $c1(Overall:) $iif(%stats.Overall.level,$c2($($+(%,stats.Overall.,%stats.style),2)),$c2(-)) $c1($chr(124)) $& $replace(%statline,Attack,Att,Defence,Def,Strength,Str,Hitpoints,HP,Ranged,Range,Prayer,Pray,Magic,Mage,Cooking,Cook,Woodcutting,Woodcut,Fletching,Fletch,Fishing,Fish,Firemaking,FM,Crafting,Craft,Smithing,Smith,Herblore,Herb,Agility,Agil,Thieving,Thief,Slayer,Slay,Farming,Farm,Runecraft,Rc,Hunter,Hunt,Construction,Con) %stats.display $replace(%statline2,Attack,Att,Defence,Def,Strength,Str,Hitpoints,HP,Ranged,Range,Prayer,Pray,Magic,Mage,Cooking,Cook,Woodcutting,Woodcut,Fletching,Fletch,Fishing,Fish,Firemaking,FM,Crafting,Craft,Smithing,Smith,Herblore,Herb,Agility,Agil,Thieving,Thief,Slayer,Slay,Farming,Farm,Runecraft,Rc,Hunter,Hunt,Construction,Con) | unset %stats.* | sockclose stats } } if (%stats.n isnum 1-5) { inc %stats.n } } alias statstype { if ($1 == 3) { return rank } elseif ($1 == 4) { return level } else { return exp } } alias -l statstrue { if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)?$/Si)) return Attack elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence elseif ($1 == 3) || ($regex($1,/^str(ength)?$/Si)) return Strength elseif ($1 == 4) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints elseif ($1 == 5) || ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged elseif ($1 == 6) || ($regex($1,/^Pray(er)?$$/Si)) return Prayer elseif ($1 == 7) || ($regex($1,/^mag(e|ic)$$/Si)) return Magic elseif ($1 == 8) || ($regex($1,/^cook(ing)?$/Si)) return Cooking elseif ($1 == 9) || ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return Fletching elseif ($1 == 11) || ($regex($1,/^fish(ing)?$/Si)) return Fishing elseif ($1 == 12) || ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking elseif ($1 == 13) || ($regex($1,/^craft(ing)?$/Si)) return Crafting elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing elseif ($1 == 15) || ($regex($1,/^mine(ing)?$/Si)) return Mining elseif ($1 == 16) || ($regex($1,/^herb(law|lore)?$/Si)) return Herblore elseif ($1 == 17) || ($regex($1,/^agil(ity)?$/Si)) return Agility elseif ($1 == 18) || ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving elseif ($1 == 19) || ($regex($1,/^slay(er|ing)?$/Si)) return Slayer elseif ($1 == 20) || ($regex($1,/^farm(er|ing)?$/Si)) return Farming elseif ($1 == 21) || ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft elseif ($1 == 22) || ($regex($1,/^(construct)(ion|ing)?$/si)) return Construction elseif ($1 == 23) || ($regex($1,/^(hunt)(er|ing)?$/si)) return Hunter } alias statsxp { var %x = 1, %level = $calc($1 - 1), %xp = 0 while (%x <= %level) { var %TempXp = $calc($floor($calc(%x + 300 * 2 ^ (%x / 7))) / 4) inc %xp %TempXp inc %x } return $int(%xp) } alias isodd { if (. isin $calc($1 /2)) { return true } | else { return false } } ---------------------------------- Away script Alias gone { /set %time $asctime /set %onick $me /set %why $2- /set %nick $1 /nick %nick /amsg I am now away: 15[7«15 Reason: %why 7»15] [7«15 Left at: %time 7»15] /away 15[7«15 Reason: %why 7»15] [7«15 Left at: %time 7»15] } Alias back { /amsg I am back of 15[7«15 %why 7»15] [7«15 Left at: %time 7»15] [7«15 Gone for $duration($calc(($ctime - $ctime(%time)))) 7»15] /nick %onick /Away } on $*:TEXT:/(\Q $+ %onick $+ \E|Trigger1|trigger2)/Si:*:{ If ($me == %nick) { /notice $nick I am currently away | /notice $nick [« Reason: %why »] [« Left at: %time »] Aline @window $asctime - [« $nick »] - $1- Else { HALT } } } ----------------------------------------------- Calc script on $*:text:/[!@]calc/Si:#:{ var %display = $iif($left($1,1) == @, msg $chan, notice $nick) ***[Calc] | if ($2 == $null) { notice $nick Error - You Didn't Specify An Equasion To Solve | halt } | else { %display Calculating $2- The answer is: $calc($replace($2-,k,000,m,000000,c,00) $2- )) } } --------------T---------------------------------- TB script on *:TEXT:~tb *:#:{ if ($me ishop $chan || $me isop $chan) { if ($$2 ishop $chan || $$2 isop $chan) { halt } if ($nick ishop $chan || $nick isop $chan) && ($$2 ison $chan && $$3 isnum) { set %reason. [ $+ [ $$2 ] ] $4- if (%reason. [ $+ [ $$2 ] ] == $null) { set %reason. [ $+ [ $$2 ] ] No Reason } inc %kcount ban -ku $+ $calc($3 * 60) $chan $$2 2 Reason: %reason. [ $+ [ $$2 ] ] ¤ $$3 Minute Ban ¤ Requested By: $nick ¤ Noobs Pwnt: %kcount unset %reason. [ $+ [ $$2 ] ] } } } on *:TEXT:~syntax tb:#: { if ($me ishop $chan || $me isop $chan) { if ($nick ishop $chan || $nick isop $chan) { notice $nick *** SYNTAX [TEMPBAN]: ~tb [reason] } } } ----------------------------------------------- on $*:text:/^[!@.]urban/Si:#:{ sockclose urban set %word $2 set %output.urban $iif($left($1,1) == @, msg $chan, notice $nick) sockopen urban www.o-ss.net 80 } ON *:SOCKOPEN:urban:{ sockwrite -nt $sockname GET /parsers/urban.php?word= $+ %word HTTP/1.1 sockwrite -nt $sockname Host: www.o-ss.net sockwrite -nt $sockname $crlf } on *:SOCKREAD:urban:{ if ($sockerr) { echo -a Error in word lookup sockclose $sockname halt } else { var %read sockread %read if (*end* iswm %read || *"* iswm %read || *;* iswm %read) { %output.urban *** $chr(91) Urban $chr(93) : %word - $remove(%read,end,",;) } } } on *SOCKCLOSE:urban:{ unset %word unset %output.urban socklose $sockname } ---------------------------------------- Alch script on $*:TEXT:/^[!~@'](alch)/Si:#: { if (!$2) { $iif(@ isin $1,msg $chan,notice $nick) Please Search For Something | halt } var %rand = $right($ticks,6) set %display. [ $+ [ %rand ] ] $iif(@ isin $1,msg $chan,notice $nick) set %item. [ $+ [ %rand ] ] $replace($2-,$chr(32),$chr(43)) sockopen alch. $+ %rand tip.it 80 } on *:sockopen:alch.*:{ sockwrite -nt $sockname GET /runescape/index.php?rs2item_tools=1&advanced_search=1&orderby=0&keywords= $+ %item. [ $+ [ $right($sockname,6) ] ] $+ &category=0&subcategory=0&weightnum=&location=&use=¬es=&link=&credits=&search=search HTTP/1.1 sockwrite -nt $sockname Host: tip.it sockwrite -nt $sockname $crlf } on *:sockread:alch.*:{ If ($sockerr) { halt } else { sockread %read if (*no items* iswm %read) { %display. [ $+ [ $right($sockname,6) ] ] $c1(No Items Found For Your Search) | halt } if (*,,%remover,$chr(9)) sockopen alchinfo. [ $+ [ $right($sockname,6) ] ] tip.it 80 } } } on *:SOCKOPEN:alchinfo.*:{ sockwrite -nt $sockname GET /runescape/ $+ %searchinfo HTTP/1.1 sockwrite -nt $sockname Host: tip.it sockwrite -nt $sockname $crlf } on *:sockread:alchinfo.*:{ if ($sockerr) { halt } else { sockread %read2 if (** iswm %read2) { set %info $htmlfree(%read2) } if (*gp* iswm %read2) { set %alchprice %read2 set %finalinfo $+(%finalinfo,$chr(32),$c1($remove(%info,$chr(9))),$chr(32),$c2($remove(%alchprice,$chr(9)))) } } } on *:sockclose:alchinfo.*:{ %display. [ $+ [ $right($sockname,6) ] ] $c2($titlecase($replace(%item. [ $+ [ $right($sockname,6) ] ],$chr(43),$chr(32)))) $remove(%finalinfo,$chr(9)) unset %finalinfo unset %item.* unset %display.* } -------------------------------------- Greet script on $*:text:/^[!@.]setgreet*/Si:#: { if (!$2) { .notice $nick Specify A Greet Message. | halt } else { if ($ip isin $2-) { halt } if (privmsg isin $2-) { halt } if (nickserv isin $2-) { halt } if (ns isin $2-) { halt } if (password isin $2-) { halt } if (*lf isin $1-) { halt } writeini greets.ini $address($nick,2) 4GREET $2- /notice $nick 4Your 11new 4greet 11has 4been 11set 4to: $2- $+ Halt } } ON *:JOIN:#:{ if ($readini(greets.ini,$address($nick,2),4GREET)) { /MSG $Chan $+([,$nick,]): $readini(greets.ini,$address($nick,2),GREET) } } on *:TEXT:!delgreet*:#: { remini greets.ini $address($nick,2) GREET 11 $2- notice $nick Greet removed. } ------------------------------------------ Ucount script On *:text:!ucount*:#:{ /notice $nick <4@ $+ $nick($chan,0,o) $+ Operators> + 8<% $+ $nick($chan,0,h) $+ Halfops> + 2<+ $+ $nick($chan,0,v) $+ Voiced> 10< $+ $nick($chan,0,r) $+ Regular> = $nick($chan,0) Users } On *:text:@ucount*:#:{ if ($nick ishop $chan) || ($nick isop $chan) { Msg $chan <4@ $+ $nick($chan,0,o) $+ Operators> + 8<% $+ $nick($chan,0,h) $+ Halfops> + 2<+ $+ $nick($chan,0,v) $+ Voiced> 10< $+ $nick($chan,0,r) $+ Regular> = $nick($chan,0) Users } } ------------------------------------------ on *:CONNECT:{ /mode $me +B } ------------------------------------------ on *:CONNECT:{ /mode $me +p } ------------------------------------------ Netsplit on *:QUIT: { if ($network isin $1-) && (*.*.*.* iswm $1-) && (Quit: !isin $1) && (Killed !isin $1-) { if (%netsplit == yes) { halt } /amsg [-Netsplit Alert-] $gettok($1,1,42) and $gettok($2,1,42) $+ at time $time $+ . /set %netsplit yes timersplit 0 15 /set %netsplit no } } ------------------------------------------ Part script on $*:Text:/^[@!]part/Si:#:{ if ($nick isop $chan || $nick ishop $chan) { /part $chan 4Asked to part $chan by 11 $nick . .msg $chan Asked to part chan by 11 $nick . } ------------------------------------------ on *:ACTION:SLAP*:#:{ describe $chan Takes Trout, kicks $nick ballz and run away } ------------------------------------------ on *:ACTION:HUGGLE*:#: { msg $chan 4Omfg Fucking $nick and $$2 get a room geez ...! } ------------------------------------------ Gratz script on $*:TEXT:/^[!@](gratz|grats) */Si:#:{ if ($2 isnum) { .msg $chan $gratz(Gratz on level $2 $+($3,$chr(44)) $+($nick,!) WOOT!) } if ($3 isnum) { .msg $chan $gratz(Gratz on level $3 $+($2,$chr(44)) $+($nick,!) WOOT!) } if ($2 !isnum) && ($3 !isnum) { .msg $chan $gratz(Gratz on your $2 level, $+($nick,!) WOOT!) } } alias gratz { var %gratzrand = $rand(1,4) if (%gratzrand == 1) { return 8,0¤0,8¤9,8¤8,9¤13,9¤9,13¤1,13¤13,1¤9,1 $1- 13,1¤1,13¤9,13¤13,9¤8,9¤9,8¤0,8¤8,0¤ } if (%gratzrand == 2) { return 4»0,4»5»4,5»1»5,1»0 $1- 5,1«1,5«4«5,4«0«4,0« } if (%gratzrand == 3) { return 12,0-æ0,12æ¸2,12`æ12,2æ¸1,2`æ2,1æ¸0,1 $1- 2,1`æ1,2æ¸12,2`æ2,12æ¸0,12`æ12,0æ- } if (%gratzrand == 4) { return 9,0-æ0,9æ¸3,9`æ9,3æ¸1,3`æ3,1æ¸0,1 $1- 3,1`æ1,3æ¸9,3`æ3,9æ¸0,9`æ9,0æ- } if (%gratzrand == 5) { return 4,0-æ0,4æ¸5,4`æ4,5æ¸1,5`æ5,1æ¸0,1 $1- 5,1`æ1,5æ¸4,5`æ5,4æ¸0,4`æ4,0æ- } if (%gratzrand == 6) { return 13,0-æ0,13æ¸6,13`æ13,6æ¸1,6`æ6,1æ¸0,1 $1- 6,1`æ1,6æ¸13,6`æ6,13æ¸0,13`æ13,0æ- } } ------------------------------------------ event script on $*:TEXT:/^[!@.]setevent/Si:#:{ if ($nick isop $chan || $nick ishop $chan) { set %event. [ $+ [ $chan ] ] $2- msg $chan 15The Event Has Been Set Type 7!event 15to view it. } } on $*:TEXT:/^[!@.]event/Si:#:{ if (%event. [ $+ [ $chan ] ] && $nick !isreg $chan) { notice $nick 7The Current Event For 15$chan 7is %event. [ $+ [ $chan ] ] } } ------------------------------------------ on *:TEXT:!say*:#:{ if ($2 == !say) { halt } elseif ($nick isop $chan) && ($me isop $chan) { msg botserv say $chan $2- } elseif ($me ishop $chan || $me isvoice $chan || $me isreg $chan) { notice $nick 15I need to have at least 5 access and be 4OP 15for that to work }  elseif ($nick ishop $chan || $nick isvoice $chan || $nick isreg $chan) { notice $nick 15You need to be 4OP 15for that to work }  } ------------------------------------------ Goal script on *:TEXT:!setgoal*:#: { if ($2 == $null) { notice $nick 15Please submit a goal } else { set %goal [ $+ [ $nick ] ] $2- notice $nick 15Goal Updated. Goal(s): %goal [ $+ [ $nick ] ]  } } on *:TEXT:!viewgoal*:#: { if (%goal [ $+ [ $nick ] ] == $null) { /notice $nick 15You havn't set a goal yet! Type !setgoal goal goal to set one }  else { notice $nick 15Goal(s) for 4 $nick : 15 %goal [ $+ [ $nick ] ] }  } on *:TEXT:!goalreached*:#: { if (%goal [ $+ [ $nick ] ] == $null) { /notice $nick 15You havn't set a goal yet! Type 4!setgoal 15goal goal to set one } else { notice $nick 4,0-æ0,4æ¸5,4`æ4,5æ¸1,5`æ5,1æ¸0,1Congratulation on acheiving your goal of %goal [ $+ [ $nick ] ] 5,1`æ1,5æ¸4,5`æ5,4æ¸0,4`æ4,0æ- } on *:TEXT:!addgoal*:#:{ if (%goal [ $+ [ $nick ] ] == $null) { /notice $nick 15You havn't set a goal yet! Type 4!setgoal 15goal goal to set one }  else { set %goal [ $+ [ $nick ] ] %goal [ $+ [ $nick ] ] $2- notice $nick 15Goal Updated. Goal(s): %goal [ $+ [ $nick ] ] }  } on *:TEXT:!cleargoal*:#:{ if (%goal [ $+ [ $nick ] ] == $null) { /notice $nick 15You havn't set a goal yet! Type 4!setgoal 15goal goal to set one }  else { unset %goal [ $+ [ $nick ] ] notice $nick Goal(s) Cleared } } ------------------------------------------ Google script on $*:TEXT:/[&!](Google|Goog)/Si:#:{ set %AnalSex $iif($left($1,1) == &,msg $chan,notice $nick) set %Oral $Chan set %TBag $replace($2-,$chr(32),+) sockopen Boobie www.Google.com 80 } ON *:SOCKOPEN:Boobie:{ sockwrite -n $sockname GET /search?hl=en&q= $+ %TBag $+ &btnI=I%27m+Feeling+Lucky HTTP/1.1 sockwrite -n $sockname Host: www.Google.com $+ $crlf $+ $crlf } on *:sockread:Boobie:{ var %Jambo sockread %Jambo tokenize 32 $htmlfree(%Jambo) if ($sockerr) { %AnalSex $hh1 $+ There was a socket error. halt } if ($1 == Your) { %AnalSex $hh2 $+ Google: $hh1 $+ You have $hh2 $+ NO $hh1 $+ Results found halt } if (Location isin %Jambo) { set %GaBra $1- set %Ello $gettok(%GaBra,2,32) if ($left(%gettok,4) == Http) { set %BloodyHell %Ello } %AnalSex $hh2 $+ Google: $hh1 $+ %Ello sockclose Boobie halt } } on *:SOCKCLOSE:Boobie:{ unset %AnalSex | unset %BloodyHell | unset %Ello | unset %GaBra | unset %Oral | unset %TBag } alias hh1 { return $+($chr(3)12,12) } alias hh2 { return $+($chr(3)4,4) } alias htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ) return %x } ------------------------------------------- Alright here are my scripts, I didn't post all because some of them yours are muuuuuch better and some you don't need to use.