Calc script ========================= On $*:TEXT:/^[.!@]Calc/Si:#: msg # $calc($replace($1-,x,*)) ====================== Stat script ======================================= Runescript Script: [quote] Commands: !stats username !skill username !combat username .!defname username Extra Info: I added auto protection for hacking it, there is an auto 6sec ignore on any user who triggers to prevent flooding/spam/etc.. , and I added support for channels with mode +c, and you can pm the bot for the script aswell All aliases required have been added, although I didnt make an item to next level thing, Im not doing all the work for ya lol btw: combat alias is smooth's cause his owns and i blow at math :D [/quote] [code] alias pcp { return $calc($floor($calc(($1 * $1) / 600)) * 35) } alias s1 { return $iif(c isincs $chan($1).mode,$strip($2-),$+($chr(3),10,$2-)) } alias s2 { return $iif(c isincs $chan($1).mode,$strip($2-),$+($chr(3),07,$2-)) } alias s3 { return $iif(c isincs $chan($1).mode,$strip($2-),$+($chr(3),03,$2-)) } alias fskill { return $findtok(Stats.Atk.Def.Str.Hp.Range.Pray.Mage.Cook.Wc.Fletch.Fish.Fm.Craft.Smith.Mine.Herb.Agil.Thief.Slay.Farm.Rc.Hunt.Con.Summ.Dung,$1,46) } alias gskill { return $gettok(Stats.Attack.Defence.Strength.Hitpoints.Ranged.Prayer.Magic.Cooking.Woodcutting.Fletch.Fish.Firemake.Craft.Smith.Mine.Herb.Agility.Thief.Slayer.Farm.Rc.Hunt.Construct.Summon.Dungeoneering,$1,46) } alias iSkill { if ($regex($1,/^(cmb|combat)$/Si)) return Combat elseif ($1 == 1) || ($regex($1,/^(rsstats|stats|overall)$/Si)) return Stats elseif ($1 == 2) || ($regex($1,/^at(t|k|tack)$/Si)) return Atk elseif ($1 == 3) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Def elseif ($1 == 4) || ($regex($1,/^str(ength|enght)?$/Si)) return Str elseif ($1 == 5) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hp elseif ($1 == 6) || ($regex($1,/^range(r|d|ing)?$/Si)) return Range elseif ($1 == 7) || ($regex($1,/^Pray(er)?$$/Si)) return Pray elseif ($1 == 8) || ($regex($1,/^mag(e|ic)$$/Si)) return Mage elseif ($1 == 9) || ($regex($1,/^cook(ing)?$/Si)) return Cook elseif ($1 == 10) || ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Wc elseif ($1 == 11) || ($regex($1,/^fletch(ing)?$/Si)) return Fletch elseif ($1 == 12) || ($regex($1,/^fish(ing)?$/Si)) return Fish elseif ($1 == 13) || ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Fm elseif ($1 == 14) || ($regex($1,/^craft(ing)?$/Si)) return Craft elseif ($1 == 15) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smith elseif ($1 == 16) || ($regex($1,/^min(e|ing)?$/Si)) return Mine elseif ($1 == 17) || ($regex($1,/^herb(law|lore)?$/Si)) return Herb elseif ($1 == 18) || ($regex($1,/^agil(ity)?$/Si)) return Agil elseif ($1 == 19) || ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thief elseif ($1 == 20) || ($regex($1,/^slay(er|ing)?$/Si)) return Slay elseif ($1 == 21) || ($regex($1,/^farm(er|ing)?$/Si)) return Farm elseif ($1 == 22) || ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Rc elseif ($1 == 23) || ($regex($1,/^hunt(er|ing)?$/Si)) return Hunt elseif ($1 == 24) || ($regex($1,/^(con|construct)(ion|ing)?$/si)) return Con elseif ($1 == 25) || ($regex($1,/^(summon)(ing)?$/si)) return Summ elseif ($1 == 26) || ($regex($1,/^(Dungeoneer)(ing)?$/si)) return Dung } alias exp { /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 cmb { tokenize 46 $1- var %att = $calc($2 * 100), %btt = $calc($4 * 100), %ett = $calc($1 * 130), %ftt = $calc($3 * 130) var %ctt = $iif($and($6,1) == 1,$calc($calc($6 - 1) * 50),$calc($6 * 50)), %dtt = $iif($and($8,1) == 1,$calc($calc($8 - 1) * 50),$calc($8 * 50)) var %gtt = $iif($and($5,1) == 1,$calc($calc($calc($5 - 1) + $calc($5 * 2)) * 65),$calc($5 * 195)), %htt = $iif($and($7,1) == 1,$calc($calc($calc($7 - 1) + $calc($7 * 2)) * 65),$calc($7 * 195)) var %base = $calc($calc(%att + %btt + %ctt + %dtt) / 400), %mclass = $calc($calc(%ett + %ftt) / 400), %rclass = $calc(%gtt / 400), %maclass = $calc(%htt / 400) if ((%mclass > %rclass) && (%mclass > %maclass)) { return $calc(%mclass + %base) Melee Based } elseif ((%rclass > %mclass) && (%rclass > %maclass)) { return $calc(%rclass + %base) Ranged Based } elseif ((%maclass > %mclass) && (%maclass > %rclass)) { return $calc(%maclass + %base) Magic Based } } on $*:TEXT:/^[!.](def|set)(name|rsn)/Si:*: { if ($count($1-,$,%,#,^,&,*) > 0) { halt } if ($len($2-) <= 12) && ($len($2-) >= 3) { writeini -n DefRSN.ini $address($nick,3) rsn $replace($2-,$chr(32),_) notice $nick Hostmask $address($nick,3) Has been registred to the name: $2- } else { notice $nick Error in trying to set a defname } } on $*:TEXT:/^.\D/S:*:{ if (!$iSkill($right($1,-1))) { halt } if ($count($1-,$,%,#,^,&,*) > 0) { msg $chan $s1($chan,[) $s2($chan,ERROR) $s1($chan,]) $s1($chan,:) $s1($chan,Illegal characters detected, 60 second ignore to prevent abuse) | .ignore $+(-pcntikdu,60) $address($nick,2) | halt } var %lookup = $iSkill($right($1,-1)) var %z = $+($r(1,100),$r(1,100),$r(1,100),$r(1,100),$r(1,100),$r(1,100),$r(1,100),$r(1,100)) sockopen $+(stats,.%z) hiscore.runescape.com 80 sockmark $+(stats,.%z) $+($iif($query($nick),.msg $nick,$iif($left($1,1) == @,msg $chan,notice $nick)),.,$iif($2,$replace($2-,$chr(32),_),$iif($readini(DefRSN.ini,$address($nick,3),rsn),$v1,$replace($nick,$chr(32),_))),.,%lookup,.,$iif($query($nick),$nick,$chan)) .ignore $+(-pcntikdu,6) $address($nick,2) if ($query($nick)) { close -m } } on *:SOCKOPEN:stats.*: { tokenize 46 $sock($sockname).mark if ($len($2) > 12) || ($len($2) < 3) { $1 $s1($4,[) $s2($4,ERROR) $s1($4,]) $s1($4,:) $s1($4,Please specify a RSN less then) $s2($4,12) $s1($4,characters and greater then) $s2($4,3) } else { sockwrite -n $sockname GET $+(/index_lite.ws?player=,$2) HTTP/1.1 sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf } } on *:SOCKREAD:stats.*: { var %chan = $gettok($sock($sockname).mark,4,46) if ($sockerr) { $gettok($sock($sockname).mark,1,46) $s1(%chan,Socket Error) halt } var %stats sockread %stats if (*404 - Page not found* iswm %stats) { $gettok($sock($sockname).mark,1,46) $s1(%chan,[) $s2(%chan,ERROR) $s1(%chan,]) $s1(%chan,:) $s2(%chan,$gettok($sock($sockname).mark,2,46)) $s1(%chan,not found in highscores) sockclose $sockname halt } if (*,*,* iswm %stats) { tokenize 44 %stats sockmark $sockname $+($gettok($sock($sockname).mark,1-,46),.,$+($1 $2 $3)) } } on *:SOCKCLOSE:stats.*: { var %lookup = $gettok($sock($sockname).mark,3,46),%chan = $gettok($sock($sockname).mark,4,46),%s = $gettok($sock($sockname).mark,5-,46) var %loc = $fskill(%lookup),%sloc = $gskill(%loc) if (%lookup == Stats) { var %t = 1 | while (%t <= 25) { var %g %g $+($s1(%chan,$iSkill(%t)),$chr(32),$s2(%chan,$gettok($gettok(%s,%t,46),2,32))) | inc %t } $gettok($sock($sockname).mark,1,46) $s1(%chan,[) $s2(%chan,$gettok($sock($sockname).mark,2,46)) $s1(%chan,]) $s1(%chan,:) %g } if (%lookup = Combat) { var %D = $gettok($gettok(%s,3,46),3,32),%H = $gettok($gettok(%s,5,46),3,32),%P = $gettok($gettok(%s,7,46),3,32),%A = $gettok($gettok(%s,2,46),3,32),%St = $gettok($gettok(%s,4,46),3,32),%SU = $gettok($gettok(%s,25,46),3,32),%M = $gettok($gettok(%s,8,46),3,32),%R = $gettok($gettok(%s,6,46),3,32) var %cest = $calc(%A + %D + %H + %St + %SU + %M + %R + %P),%est = $round($calc((%cest / $iif($gettok($gettok(%s,1,46),3,32) == -1,1,$v1)) * 100),2) var %tD = $gettok($gettok(%s,3,46),2,32),%tH = $gettok($gettok(%s,5,46),2,32),%tP = $gettok($gettok(%s,7,46),2,32),%tA = $gettok($gettok(%s,2,46),2,32),%tSt = $gettok($gettok(%s,4,46),2,32),%tSU = $gettok($gettok(%s,25,46),2,32),%tM = $gettok($gettok(%s,8,46),2,32),%tR = $gettok($gettok(%s,6,46),2,32) var %cmb = $cmb($replace($+(%tA,.,%tD,.,%tSt,.,%tH,.,%tR,.,%tP,.,%tM,.,%tSU),-1,1)) var %rank = $iif($gettok($gettok(%s,1,46),1,32) = -1,-,$v1),%lvl = $iif($gettok($gettok(%s,1,46),2,32) = -1,-,$v1),%exp = $iif($gettok($gettok(%s,1,46),3,32) = -1,-,$v1) $gettok($sock($sockname).mark,1,46) $s1(%chan,[) $s2(%chan,$gettok($sock($sockname).mark,2,46)) $s1(%chan,]) $s1(%chan,:) $s1(%chan,$chr(40)) $s2(%chan,%cmb) $s1(%chan,$chr(41)) $& $s1(%chan,Rank) $s2(%chan,%rank) $s1(%chan,Level) $s2(%chan,$bytes(%lvl,b)) $s1(%chan,Experience) $s2(%chan,$bytes(%exp,b)) $s1(%chan,Combat Exp) $s2(%chan,$bytes(%cest,b)) $s1(%chan,Combat%) $s2(%chan,$iif(%exp = -,-,$+(%est,%))) $& $s1(%chan,Attack) $s2(%chan,$gettok($gettok(%s,2,46),2,32)) $s1(%chan,Strength) $s2(%chan,$gettok($gettok(%s,4,46),2,32)) $s1(%chan,Defence) $s2(%chan,$gettok($gettok(%s,3,46),2,32)) $s1(%chan,Hitpoints) $s2(%chan,$gettok($gettok(%s,5,46),2,32)) $& $s1(%chan,Prayer) $s2(%chan,$gettok($gettok(%s,7,46),2,32)) $s1(%chan,Magic) $s2(%chan,$gettok($gettok(%s,8,46),2,32)) $s1(%chan,Ranged) $s2(%chan,$gettok($gettok(%s,6,46),2,32)) $s1(%chan,Summoning) $s2(%chan,$gettok($gettok(%s,25,46),2,32)) $s1(%chan,Dungeoneering) $s2(%chan,$gettok($gettok(%s,10,46),2,32 } if (!$istok(Stats.Combat,%lookup,46)) { var %r = $gettok($gettok(%s,%loc,46),1,32),%l = $gettok($gettok(%s,%loc,46),2,32),%e = $gettok($gettok(%s,%loc,46),3,32) $gettok($sock($sockname).mark,1,46) $s1(%chan,[) $s2(%chan,$gettok($sock($sockname).mark,2,46)) $s1(%chan,]) $s1(%chan,:) $& $s1(%chan,Skill) $s2(%chan,%sloc) $s1(%chan,Rank) $s2(%chan,$bytes(%r,b)) $s1(%chan,Level) $s2(%chan,$bytes(%l,b)) $s1(%chan,Experience) $s2(%chan,$bytes(%e,b)) $& $s1(%chan,Exp to) $iif(%l < 99,$s1(%chan,Level) $s2(%chan,$calc(%l + 1)) $s2(%chan,$bytes($calc($exp($calc(%l + 1)) - %e),b)),$s1(%chan,Perfection) $s2(%chan,$bytes($calc(200000000 - %e),b))) $& $iif(%l < 99 && $istok(Attack.Defence.Strength.Hitpoints.Magic.Ranged.Prayer,%sloc,46),$s1(%chan,Pc points to) $s2(%chan,$calc(%l + 1)) $s2(%chan,$calc($calc($exp($calc(%l + 1)) - %e) / $pcp($calc(%l + 1))) ) ) ;to add items to next level make it urself and use $exp($calc(%l + 1) to return exp to next level calc it yourself if ($istok(#world148 #glacier_Rat #xp #shelfy #worldcup #tezz #irchelp #xbnc #swiftirc #bnc #onzichtbaar ,$chan,32)) { HALT } } } } ====================================== Text commands avaible for all ========================= on *:text:*:#celestial_skillers,#celestial_skillers_staff: { if ($1 == .topic ) { notice $nick The topic is: $chan($chan).topic } if ($me != [sp][ds]glacier_rat) { halt } if ($1 == .pengs) { notice $nick the penguin channel is #World60pengs which provides a list of current general locations } if ($me != [sp][ds]glacier_rat) { halt } if ($1 == .site) { notice $nick our site is : http://celestialskillers.proboards.com/index.cgi? } if ($me != [sp][ds]glacier_rat) { halt } if ($1 == .rh) { notice $nick for a list of our members : http://runehead.com/clans/ml.php?clan=brokenpeace } if ($me != [sp][ds]glacier_rat) { halt } if ($1 == .fb) { notice $nick facebook is on http://facebook.com } if ($me != [sp][ds]glacier_rat) { halt } if ($1 == .ms) { notice $nick mystapce is on http://myspace.com } if ($me != [sp][ds]glacier_rat) { halt } if ($1 == .zybez) { notice $nick zybez is on http://zybez.net } if ($me != [sp][ds]glacier_rat) { halt } if ($1 == .tipit ) { notice $nick tip.it is on http://tip.it } if ($me != [sp][ds]glacier_rat) { halt } if ($1 == .user) { notice $nick The user count for the channel is $nick($iif($2,$2,#),0) } if ($me != [sp][ds]glacier_rat) { halt } } ======================= urban script ============================ alias -l c1 return $+($chr(3),1,$1-,$chr(3)) alias -l c2 return $+($chr(3),13,$1-,$chr(3)) on $*:Text:/^[.!@]urban/Si:#:{ if (!$2) { notice $nick *** [ $c2(URBAN) ]: You must specify a word to look up. } else { var %ticks $ticks, %sockname Urban. $+ %ticks hadd -m %sockname Msg $iif(@* iswm $1,msg $chan,notice $nick) hadd -m %sockname Word $iif($chr(35) !isin $2-,$2-,$gettok($2-,1,35)) hadd -m %sockname ID $iif($chr(35) isin $3-,$gettok($3-,-1,35),$null) sockopen %sockname rscript.org 80 } } on $*:sockopen:/^Urban\.(\d+)/Si:{ sockwrite -nt $sockname GET $+(/lookup.php?type=urban&search=,$replace($hget($sockname,Word),$chr(32),$eval(%20,0)),&id=,$hget($sockname,ID)) HTTP/1.0 sockwrite -nt $sockname Host: rscript.org sockwrite -nt $sockname $crlf } on $*:sockread:/^Urban\.(\d+)/Si:{ if ($sockerr) { sockclose $sockname } else { var %Urban | sockread %Urban if ($regex(%Urban,/^MATCHES: [0]$/)) { $hget($sockname,Msg) *** [ $c2(URBAN) ]: No results were found for " $+ $c2($hget($sockname,Word)) $+ " or the $c2(Urban Dictionnary) might be down. sockclose $sockname } else { if ($regex(%Urban,/^MATCHES: ((?:[1-9]+)[0-9]?)$/)) { sockread %Urban $hget($sockname,Msg) *** [ $c2(URBAN) ]: $c1($iif($regml(1) == 1,Definition:,Definitions:)) $c2($regml(1)) $chr(124) " $+ $c2($hget($sockname,Word)) $+ $replace(" $remove(%Urban,DEFINED:),$hget($sockname,Word),$c2($hget($sockname,Word))) sockread %Urban $hget($sockname,Msg) *** [ $c2(URBAN) ]: $c2(Example:) $replace($remove(%Urban,EXAMPLE:),$hget($sockname,Word),$c2($hget($sockname,Word))) hfree $sockname sockclose $sockname } } } } alias c2 return $+($chr(3),13,$1-,$chr(3)) on *:text:?*meter*:#:$iif($left($1,1) = @,msg $chan,notice $nick) $+([,$upper($left($remove($1,!,meter,@,meter),1)) $+ $right($remove($1,!,meter,@,meter),-1) ,Meter,]) $iif($2,$2,$nick) is $r(0,100) $+ % $remove($1,!,meter,@,meter) $+ ness! on *:TEXT:*!count*:#:{ .notice $nick There are currently $nick($chan,0) in $chan || Ops: $nick($chan,0,o) || HalfOps: $nick($chan,0,h) || Voiced: $nick($chan,0,v) || Regular: $nick($chan,0,r) || } ============================ brb $chan on $*:TEXT:*:#thebrokenpeace #thebrokenpeacestaff :{ if ($chan != #bnc) && ($chr(36) !isin $1-) && ($chr(47) !isin $1-) && ($nick != $me) && (!$istok($mutedChannels,$chan,32)) { if ($regex($1,/^(away|brb|bbl|bb|bbs|afk)/Si)) { if ($readini(away.ini,$address($nick,2),away) == true) { /halt } elseif ($readini(away.ini,$address($nick,2),status) == $null) { writeini away.ini $address($nick,2) away true writeini away.ini $address($nick,2) reason $iif($2- == $null,No Reason,$2-) writeini away.ini $address($nick,2) left $ctime msg $chan 10[12?10 $+ $nick $+ 12?10] 14is now 10[12?10Away12?10] 14reason:10 $readini(away.ini,$address($nick,2),reason) 14left at: 10[12?10 $+ $time $+ 12?10] } } elseif ($1 == back) { if ($readini(away.ini,$address($nick,2),away) == false) || ($readini(away.ini,$address($nick,2),away) == $null) { /halt } else { msg $chan 10[12?10 $+ $nick $+ 12?10] 14is now 10[12?10Back12?10] 14from:10 $readini(away.ini,$address($nick,2),reason) [12?10GONE FOR12?10] $duration($calc($ctime - $readini(away.ini,$address($nick,2),left))) writeini away.ini $address($nick,2) away false remini away.ini $address($nick,2) reason remini away.ini $address($nick,2) left /writeini away.ini $address($nick,2) status yes /timer $+ $address($nick,2) 1 1200 /remini away.ini $address($nick,2) status } } elseif (* iswm $1-) && ($readini(away.ini,$address($nick,2),away) == true) && ($calc($ctime - $readini(away.ini,$address($nick,2),left)) >= 120) { if ($readini(away.ini,$address($nick,2),away) == $null) { halt } msg $chan 10[12?10 $+ $nick $+ 12?10] 14is now 10[12?10Back12?10] 14from:10 $readini(away.ini,$address($nick,2),reason) [12?10GONE FOR12?10] $duration($calc($ctime - $readini(away.ini,$address($nick,2),left))) writeini away.ini $address($nick,2) away false remini away.ini $address($nick,2) reason remini away.ini $address($nick,2) left /writeini away.ini $address($nick,2) status yes /timer $+ $address($nick,2) 1 1200 /remini away.ini $address($nick,2) status } } } alias mutedChannels { return #bnc #babylon #irc #msl #bnc #xbnc } ======================= gratz script ======================== ON $*:TEXT:/^[@.!]((con)?grat(ulation)?(s|z)?)(.*)/Si:#:{ if ($istok($chan,#xbnc #irc #tezz,32)) || ($me != Glacier_Rat) { HALT } if ($skills($3) == Total-Level && $2 isnum 32-2376) || ($skills($3) == Combat && $2 isnum 4-138) || ($skills($3) && $2 isnum 2-99) { notice $nick $randc($chr(40) $+ ¯`·._.») $randc(Congratulations) $randc($nick) $randc(on $2) $randc($skills($3) $+ $chr(33), $iif($2 == 99, Now go get that cape!,$Null)) $randc(«._.·`¯` $+ $chr(41)) } elseif ($2 isin $chan) || ($skills($4) == Total-Level && $3 isnum 32-2496) || ($skills($4) == Combat && $3 isnum 4-138) || ($skills($4) && $3 isnum 2-127) { msg # $randc($chr(40) $+ ¯`·._.») $randc(Congratulations) $randc($2) $randc(on $3) $randc($skills($4) $+ $chr(33), $iif($3 == 99, Now go get that cape!,$Null)) $randc(«._.·`¯` $+ $chr(41)) } else { notice $nick Param: !Grats (Level) (Skill) } } alias randc { return $+($chr(3),$r(2,15),$1-) } alias -l skills { if ($regex($1,/^at(t|t?k|tack)$/Si)) { return Attack } elseif ($regex($1,/^def(en[cs]e)?$/Si)) { return Defence } elseif ($regex($1,/^str(eng[th][th])?$/Si)) { return Strength } elseif ($regex($1,/^hp|hit(s|points?)?$/Si)) { return Hitpoints } elseif ($regex($1,/^range?(r|d|ing)?$/Si)) { return Ranged } elseif ($regex($1,/^Pray(er)?$/Si)) { return Prayer } elseif ($regex($1,/^mag(e|ic|ician|icien)$/Si)) { return Magic } elseif ($regex($1,/^cook(ing)?$/Si)) { return Cooking } elseif ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) { return Woodcutting } elseif ($regex($1,/^fletch(ing)?$/Si)) { return Fletching } elseif ($regex($1,/^fish(ing)?$/Si)) { return Fishing } elseif ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) { return Firemaking } elseif ($regex($1,/^craft(ing)?$/Si)) { return Crafting } elseif ($regex($1,/^(smith|smelt)(ing)?$/Si)) { return Smithing } elseif ($regex($1,/^mine?(ing)?$/Si)) { return Mining } elseif ($regex($1,/^herb(law|lore)?$/Si)) { return Herblore } elseif ($regex($1,/^agil?(ity)?$/Si)) { return Agility } elseif ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) { return Thieving } elseif ($regex($1,/^slay(er|ing)?$/Si)) { return Slayer } elseif ($regex($1,/^farm(er|ing)?$/Si)) { return Farming } elseif ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) { return Runecraft } elseif ($regex($1,/^(poh|cons?(truct)?(ion|ing)?|carp(entry)?)$/si)) { return Construction } elseif ($regex($1,/^hunt(er|ing)?$/Si)) { return Hunter } elseif ($regex($1,/^sum(mon(ing)?)?$/Si)) { return Summoning } elseif ($regex($1,/^(com|cmb)?(bt|t|bat)?$/Si)) { return Combat } elseif ($regex($1,/^(total|overall)?(level|lvl)?$/Si)) { return Total-Level } } =========================== add rsn script =========================== on $*:TEXT:/^[.!](del|view|add)(rsn|notes)/Si:#celestial_skillers_staff: { if ($regml(1) == add) { var %x 1 while ($readini(notes.ini,n,$2,n $+ %x)) inc %x writeini -n notes.ini $2 $+(n,%x) $c1($nick,Note: $3-) $c1($nick,Note By $nick $date $time GMT) notice $nick $c1($nick,Notes) $+ 1 %x $c1($nick,For) $c2($nick,$2) $c1($nick,has been saved.) } elseif ($regml(1) == del) { if ($remove($3,-) !isnum) { if ($readini(notes.ini,n,$2,n1)) { remini -n notes.ini $2 notice $nick $c1($nick,Notes for) $c2($nick,$2) $c1($nick,Deleted.) } else { notice $nick $2 has no notes. } } else { var %x 1 while ($readini(notes.ini,n,$2,n $+ %x)) { if (%x isnum $3) { remini -n notes.ini $2 $+(n,%x) notice $nick $c1($nick,Note) $+ 1 %x $c1($nickFor) $c2($nick,$2) $c1($nick,Deleted.) } inc %x } ncleanup $2 } } elseif ($regml(1) == view) { if ($readini(notes.ini,n,$2,n1)) { notice $nick $c1($nick,Notes For) $c2($nick,$2) $+ $c1($nick,:) var %x 1 while ($readini(notes.ini,n,$2,n $+ %x)) { notice $nick 1 %x $+ : $c1($nick,$v1) inc %x } } else { notice $nick $c1($nick,$2) $c2($nick,Has No Notes.) } } } alias -l ncleanup { var %x 1 while ($ini(notes.ini,$1,%x)) { hadd -m $+(notes.,$1) %x $readini(notes.ini,n,$1,$v1) inc %x } remini notes.ini $1 var %x 1 while ($hget($+(notes.,$1), %x)) { writeini notes.ini $1 $+(n,%x) $v1 inc %x } hfree $+(notes.,$1) } alias flood { if (!$timer(Flood $+ $1)) { .timerflood $+ $1 1 6 noop } else halt } and put flood $nick infront of all ur text events pretty much is just on *:TEXT:*:*:{ if ($regex($1,/^[!@.]g(rand)?e(x(change)?)?$/Si)) { ================================================= on $*:TEXT:*:*:{ if (WorldWide ison $chan) && ($me != WorldWide) { halt } if ($regex($1,/^[`~!@.]g(rand)?E(x(Change)?)?$/Si)) { if ($ isin $1-) || (.txt isin $1-) || (.ini isin $1-) || ($chr(124) isin $1-) { msg #demonhunters Illegal characters: $nick in $chan -> $1- | halt } if ($2 == $null) { $iif($chan,$iif($left($1,1) == @,msg $chan,notice $nick),msg $nick) You must specify something to lookup. | halt } hinc -m $me commands 1 inc %tGE hadd -m $+(GE.,%tGE) output $iif($chan,$iif($left($1,1) == @,msg $chan,notice $nick),msg $nick) sockopen $+(GE.,%tGE) ilog.ujordan.net 80 sockmark $+(GE.,%tGE) $replace($2-,$chr(32),_) } } on *:SOCKOPEN:GE.*:{ sockwrite -nt $sockname GET $+(/parsers/ge.php?item=,$sock($sockname).mark)) HTTP/1.1 sockwrite -nt $sockname Host: ilog.ujordan.net sockwrite -nt $sockname $crlf } on *:SOCKREAD:GE.*:{ if ($sockerr) { msg #demonhunters SOCKET ERROR: ge -> $sockname -> $sock($sockname).wserr -> $sock($sockname).wsmsg sockclose $sockname halt } var %GE sockread %GE if (OUTPUT:* iswm %GE) { $hget($sockname,output) ** [GE]: $remove(%GE,$gettok(%GE,1,32),GE) } } ================================== http://ilog.ujordan.net/parsers/ge.php?item=whip ===============