on *:unload:{ unset %NFOrce.* if ($?!="Would you like to delete NFOrce.ini and NFOrce-ads.ini?") { .remove " $+ $scriptdirNFOrce.ini $+ " .remove " $+ $scriptdirNFOrce-ads.ini $+ " } .remove " $+ $scriptdirNFORCE-rls.ini $+ " } on *:load:{ if (!$exists(" $+ $scriptdirNFOrce.ini $+ ")) { echo $color(info) -at * NFOrce.mrc doesn't find NFOrce.ini in " $+ $scriptdir $+ " $+ . Creating one. writeini " $+ $scriptdirNFOrce.ini $+ " script first true writeini " $+ $scriptdirNFOrce.ini $+ " script announce .msg $chr(36) $+ nick write " $+ $scriptdirNFOrce.ini $+ " [channels] echo $color(info) -at * Done. goto con.check } else { :con.check if ($readini(" $+ $scriptdirNFOrce.ini $+ ",script,first) == true) { echo $color(info) -at * Greetz! You're running /NFOrce - Latest NFOrce Release by BloW-MaN for the 1st time. writeini " $+ $scriptdirNFOrce.ini $+ " script first false } } } alias NFOrce { if ($isid) { if ($1) { ;################################ if ($1 == c) { if ($2 || $2 == 0) { return $ini(" $+ $scriptdirNFOrce.ini $+ ",channels,$2) halt } else { echo $color(info) -a * /NFOrce: insufficient parameters halt } } ;################################ ;################################ elseif ($1 == m) { if ($2 || $2 == 0) { if (!$prop) { return $ini(" $+ $scriptdirNFOrce-ads.ini $+ ",$2) halt } else { if ($2 != 0) { if ($prop == delay) { if ($2 isnum) { var %NFOrce.chan = $ini(" $+ $scriptdirNFOrce-ads.ini $+ ",$2) return $readini(" $+ $scriptdirNFOrce-ads.ini $+ ",%NFOrce.chan,interval) halt } else { return $readini(" $+ $scriptdirNFOrce-ads.ini $+ ",$2,interval) halt } } elseif ($prop == reps) { if ($2 isnum) { var %NFOrce.chan = $ini(" $+ $scriptdirNFOrce-ads.ini $+ ",$2) return $readini(" $+ $scriptdirNFOrce-ads.ini $+ ",%NFOrce.chan,count) halt } else { return $readini(" $+ $scriptdirNFOrce-ads.ini $+ ",$2,count) halt } } } else { echo $color(info) -a * /NFOrce: invalid parameter halt } } } else { echo $color(info) -a * /NFOrce: insufficient parameters halt } } ;################################ } else { echo $color(info) -a * /NFOrce: invalid parameter halt } } else { if ($1) { ;################################ if ($1 == -m || $1 == -mn) { if ($2 isnum && $3 isnum && $4) { var %NFOrce.ad.count = $int($2) var %NFOrce.ad.int = $calc($int($3) * 60) if ($left($4,1) != $chr(35)) { writeini " $+ $scriptdirNFOrce-ads.ini $+ " $chr(35) $+ $4 chan $4 writeini " $+ $scriptdirNFOrce-ads.ini $+ " $chr(35) $+ $4 count %NFOrce.ad.count writeini " $+ $scriptdirNFOrce-ads.ini $+ " $chr(35) $+ $4 interval %NFOrce.ad.int writeini " $+ $scriptdirNFOrce-ads.ini $+ " $chr(35) $+ $4 only_new $iif($1 == -mn,yes,no) } else { writeini " $+ $scriptdirNFOrce-ads.ini $+ " $4 chan $4 writeini " $+ $scriptdirNFOrce-ads.ini $+ " $4 count %NFOrce.ad.count writeini " $+ $scriptdirNFOrce-ads.ini $+ " $4 interval %NFOrce.ad.int writeini " $+ $scriptdirNFOrce-ads.ini $+ " $4 only_new $iif($1 == -mn,yes,no) } echo $color(info) -at * Added $4 to the announce list. if ($me ison $4) { .timerNFOrce-ad- $+ $4 $readini(" $+ $scriptdirNFOrce-ads.ini $+ ",$4,count) $readini(" $+ $scriptdirNFOrce-ads.ini $+ ",$4,interval) NFOrce-Ad $4 } } else { echo $color(info) -a * /NFOrce: insufficient parameters halt } } ;################################ ;################################ elseif ($1 == -mr) { if ($2) { if ($ini(" $+ $scriptdirNFOrce-ads.ini $+ ",$2) != 0) { .remini " $+ $scriptdirNFOrce-ads.ini $+ " $2 echo $color(info) -a * /NFOrce: removed $2 from the announce list. .timerNFOrce-ad- $+ $2 off } else { echo $color(info) -a * /NFOrce: $2 wasn't found in the announce list. halt } } else { echo $color(info) -a * /NFOrce: insufficient parameters halt } } ;################################ ;################################ elseif ($1 == -s) { if ($2) { if ($2 == all) { set %NFOrce.section all } elseif ($2 == rips) { set %NFOrce.section 1 } elseif ($2 == isos) { set %NFOrce.section 2 } elseif ($2 == patches) { set %NFOrce.section 4 } elseif ($2 == dox) { set %NFOrce.section 5 } elseif ($2 == addons) { set %NFOrce.section 3 } elseif ($2 == apps) { set %NFOrce.section 6 } elseif ($2 == dc) { set %NFOrce.section 7 } elseif ($2 == ps) { set %NFOrce.section 8 } elseif ($2 == ps2) { set %NFOrce.section 9 } elseif ($2 == gba) { set %NFOrce.section 10 } elseif ($2 == xbox) { set %NFOrce.section 11 } elseif ($2 == gc) { set %NFOrce.section 20 } elseif ($2 == divx) { set %NFOrce.section 12 } elseif ($2 == xvid) { set %NFOrce.section 13 } elseif ($2 == vcd) { set %NFOrce.section 14 } elseif ($2 == svcd) { set %NFOrce.section 15 } elseif ($2 == anime) { set %NFOrce.section 16 } elseif ($2 == xxx) { set %NFOrce.section 17 } elseif ($2 == tv) { set %NFOrce.section 19 } elseif ($2 == dvdr) { set %NFOrce.section 18 } else { set %NFOrce.section all } goto open } else { echo $color(info) -a * /NFOrce: insufficient parameters halt } } ;################################ ;################################ elseif ($1 == -c) { if ($2 == add) { if ($3) { if ($mid($3,1,1) == $chr(35)) { if ($nforce(c,$3) > 0) { echo $color(info) -a * /NFOrce: $3 is already in the channels list. halt } writeini " $+ $scriptdirNFOrce.ini $+ " channels $3 $3 echo $color(info) -a * /NFOrce: added $3 to the channels list. } } else { echo $color(info) -a * /NFOrce: insufficient parameters halt } } elseif ($2 == del) { if ($3) { if ($ini(" $+ $scriptdirNFOrce.ini $+ ",channels,$3) != 0) { remini " $+ $scriptdirNFOrce.ini $+ " channels $3 echo $color(info) -a * /NFOrce: removed $3 from the channels list. } else { echo $color(info) -a * /NFOrce: $3 wasn't found in the channels list. halt } } else { echo $color(info) -a * /NFOrce: insufficient parameters halt } } else { echo $color(info) -a * /NFOrce: insufficient parameters halt } } ;################################ } else { :open if (!$sock(NFORCE)) { sockopen NFORCE www.nforce.nl 80 } else { sockclose $sockname sockopen NFORCE www.nforce.nl 80 } } } } on *:JOIN:#:{ if ($nick == $me) { if ($ini(" $+ $scriptdirNFOrce-ads.ini $+ ",#) != 0) { if (!$readini(" $+ $scriptdirNFOrce-ads.ini $+ ",#,chan)) { writeini " $+ $scriptdirNFOrce-ads.ini $+ " # chan # } .timerNFOrce-ad- $+ # $readini(" $+ $scriptdirNFOrce-ads.ini $+ ",#,count) $readini(" $+ $scriptdirNFOrce-ads.ini $+ ",#,interval) NFOrce-Ad # } } } on *:PART:#:{ if ($nick == $me) { if ($ini(" $+ $scriptdirNFOrce-ads.ini $+ ",#) != 0) { .timerNFOrce-ad- $+ # off } } } on *:SOCKOPEN:NFORCE:{ if ($sockerr > 0) { sockclose $sockname if ($sockerr == 3) { sockopen $sockname www.nforce.nl 80 } } else { write -c " $+ $scriptdirNFORCE.tmp1 $+ " .remove " $+ $scriptdirNFORCE-rls.ini $+ " if (!%NFOrce.section) { sockwrite -n $sockname GET /rss/rss_all.xml HTTP/1.0 } else { sockwrite -n $sockname GET /rss/rss_ $+ %NFOrce.section $+ .xml HTTP/1.0 unset %NFOrce.section } sockwrite -n $sockname Host: www.nforce.nl sockwrite -n $sockname ACCEPT: *.* sockwrite $sockname $crlf } } on *:SOCKREAD:NFORCE:{ sockread &1 bwrite " $+ $scriptdirNFORCE.tmp1 $+ " -1 &1 bunset &1 } alias -l htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ) return %x } alias -l NFOrce-Ad { if ($1) { set %NFOrce.latests on set %NFOrce.nick $1 set %NFOrce.announce on .write " $+ $scriptdirNFOrce.ad.tmp $+ " $1 NFOrce } } on *:SOCKCLOSE:NFORCE:{ var %i = 1, %f = " $+ $scriptdirNFORCE.tmp1 $+ ", %f1 = " $+ $scriptdirNFORCE-rls.ini $+ ", %item = 0 while (%i <= $lines(%f) && $read(%f,%i) != ) { if ($read(%f,%i)) { if (** iswm $read(%f,%i) && NFOrce NFOs !isin $read(%f,%i)) { inc %item writeini %f1 %item Title $remove($htmlfree($read(%f,%i)),$chr(9)) } elseif (** iswm $read(%f,%i)) { writeini %f1 %item Link $remove($htmlfree($read(%f,%i)),$chr(9),amp;) } elseif (** iswm $read(%f,%i)) { writeini %f1 %item Description $replace($remove($htmlfree($read(%f,%i)),$chr(9)),<,$chr(60),>,$chr(62),",$chr(34),
,^) } } inc %i } var %i = 1 while (%i <= 10) { $init.output(Description,%i,description) inc %i } .remove %f if (%NFOrce.msg == on) { .signal -n NFOrcePRO %NFOrce.nick %NFOrce.int halt } if (!%NFOrce.msg && !%NFOrce.latests) { if ($Proper.MSG(1)) { echo -at [7Latest NFOrce release] $output(Name,1,title) $output(Section,1,section) $output(Size,1,size) $output(NFO,1,link) $iif(http:// isin $output(Homepage,1,homepage),$output(Homepage,1,homepage)) $iif(http:// isin $output(Review,1,review),$output(Review,1,review)) } } elseif (%NFOrce.latests == on) { if (%NFOrce.announce != on) { if ($Proper.MSG(1)) { ;.msg %NFOrce.nick [7Latest NFOrce release] $output(Name,1,title) $output(Section,1,section) $output(Size,1,size) $output(NFO,1,link) $output(Vote,1,comments) $iif(http:// isin $output(Homepage,1,homepage),$output(Homepage,1,homepage)) $iif(http:// isin $output(Review,1,review),$output(Review,1,review)) $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) [7Latest NFOrce release] $output(Name,1,title) $output(Section,1,section) $output(Size,1,size) $output(NFO,1,link) $output(Vote,1,comments) $iif(http:// isin $output(Homepage,1,homepage),$output(Homepage,1,homepage)) $iif(http:// isin $output(Review,1,review),$output(Review,1,review)) } } elseif (%NFOrce.announce == on && $exists(" $+ $scriptdirNFOrce.ad.tmp $+ ")) { var %x = 1 while (%x <= $lines(" $+ $scriptdirNFOrce.ad.tmp $+ ")) { if ($Proper.MSG(1)) { msg $read(" $+ $scriptdirNFOrce.ad.tmp $+ ",%x) [7Latest NFOrce release] $output(Name,1,title) $output(Section,1,section) $output(Size,1,size) $output(NFO,1,link) $output(Vote,1,comments) $iif(http:// isin $output(Homepage,1,homepage),$output(Homepage,1,homepage)) $iif(http:// isin $output(Review,1,review),$output(Review,1,review)) } inc %x } .remove " $+ $scriptdirNFOrce.ad.tmp $+ " unset %NFOrce.announce } unset %NFOrce.latests unset %NFOrce.nick } } alias -l Proper.MSG { if ($output(1,$1,title,1) && $output(1,$1,section,1) && $output(1,$1,size,1) && $output(1,$1,link,1)) { return $true } else { return $false } } on *:SIGNAL:NFOrcePRO:{ if ($1 && $2) { var %i = 1 if (%NFOrce.howmany < 1) { set %NFOrce.howmany 1 } if (%NFOrce.howmany > 10) { set %NFOrce.howmany 10 } while (%i <= %NFOrce.howmany) { if ($Proper.MSG(%i)) { ;.timermsg $+ $1 $+ %NFOrce.int 1 %NFOrce.int .msg $1 [7Latest NFOrce release] $output(Name,%i,title) $output(Section,%i,section) $output(Size,%i,size) $output(NFO,%i,link) $output(Vote,%i,comments) $iif(http:// isin $output(Homepage,%i,homepage),$output(Homepage,%i,homepage)) $iif(http:// isin $output(Review,%i,review),$output(Review,%i,review)) .timermsg $+ $1 $+ %NFOrce.int 1 %NFOrce.int $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) [7Latest NFOrce release] $output(Name,%i,title) $output(Section,%i,section) $output(Size,%i,size) $output(NFO,%i,link) $output(Vote,%i,comments) $iif(http:// isin $output(Homepage,%i,homepage),$output(Homepage,%i,homepage)) $iif(http:// isin $output(Review,%i,review),$output(Review,%i,review)) } inc %NFOrce.int 2 inc %i } unset %NFOrce.int %NFOrce.nick %NFOrce.msg %NFOrce.howmany } } alias -l output { var %f1 = " $+ $scriptdirNFORCE-rls.ini $+ " if (!$4) { if ($3 == link) { return 7 $+ $1 ( $replace($readini(%f1,$2,$3),nforce.nl/index.php?m=nfo&,NFOrce.nl/nfos/renderer/ls-black.php?) 7) } else { return 7 $+ $1 ( $readini(%f1,$2,$3) 7) } } else { return $readini(%f1,$2,$3) } } alias -l init.output { var %f1 = " $+ $scriptdirNFORCE-rls.ini $+ " var %i = 1, %tot = $numtok($readini(%f1,$2,$3),94), %x = 1 while (%i <= %tot) { if (** iswm $gettok($readini(%f1,$2,$3),%i,94)) { writeini %f1 $2 $gettok($remove($gettok($readini(%f1,$2,$3),%i,94),),2,62) $gettok($remove($gettok($readini(%f1,$2,$3),%i,94),),1,62) } else { if (%x == 1) { writeini %f1 $2 Section $remove($gettok($readini(%f1,$2,$3),%x,94),NFOrce NFOs->) } elseif (%x == 2) { writeini %f1 $2 Date $mid($gettok($readini(%f1,$2,$3),%x,94),4,10) } elseif (%x == 3) { writeini %f1 $2 Size $remove($gettok($readini(%f1,$2,$3),%x,94),Size: ) } } inc %i inc %x } } on *:TEXT:*:#:{ if ($nick != $me) { if ($readini(" $+ $scriptdirNFOrce.ini $+ ",channels,#) == #) { if (!last?? iswm $1 || $1 == !NFOrce) { if ($chr(35) isin $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce)) { writeini " $+ $scriptdirNFOrce.ini $+ " script announce msg # } } if (!last?? iswm $1) { if ($3) { if ($2 == $me) { set %NFOrce.howmany $right($1,2) if (%NFOrce.howmany < 1) { set %NFOrce.howmany 1 } if (%NFOrce.howmany > 10) { set %NFOrce.howmany 10 } if ($3) { set %NFOrce.section $3 } else { set %NFOrce.section all } ;.msg $nick [7NFOrce] Connecting to NFOrce.nl. I will msg you %NFOrce.howmany releases in ascending order. writeini " $+ $scriptdirNFOrce.ini $+ " script announce $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) [7NFOrce] Connecting to NFOrce.nl. I will msg you %NFOrce.howmany releases in ascending order. .signal NFOrceMSG $nick 3 %NFOrce.section } } else { set %NFOrce.section all set %NFOrce.howmany $right($1,2) if (%NFOrce.howmany < 1) { set %NFOrce.howmany 1 } if (%NFOrce.howmany > 10) { set %NFOrce.howmany 10 } if ($2) { if ($2 != $me) { if ($2 !ison # && $IsSection($2)) { set %NFOrce.section $2 ;.msg $nick [7NFOrce] Connecting to NFOrce.nl. I will msg you %NFOrce.howmany releases in ascending order. writeini " $+ $scriptdirNFOrce.ini $+ " script announce $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) [7NFOrce] Connecting to NFOrce.nl. I will msg you %NFOrce.howmany releases in ascending order. .signal NFOrceMSG $nick 3 %NFOrce.section } } else { ;.msg $nick [7NFOrce] Connecting to NFOrce.nl. I will msg you %NFOrce.howmany releases in ascending order. writeini " $+ $scriptdirNFOrce.ini $+ " script announce $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) [7NFOrce] Connecting to NFOrce.nl. I will msg you %NFOrce.howmany releases in ascending order. .signal NFOrceMSG $nick 3 %NFOrce.section } } else { ;.msg $nick [7NFOrce] Connecting to NFOrce.nl. I will msg you %NFOrce.howmany releases in ascending order. writeini " $+ $scriptdirNFOrce.ini $+ " script announce $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) [7NFOrce] Connecting to NFOrce.nl. I will msg you %NFOrce.howmany releases in ascending order. .signal NFOrceMSG $nick 3 %NFOrce.section } } } elseif ($1 == !NFOrce) { if ($3) { if ($2 == $me) { set %NFOrce.latests on set %NFOrce.nick $nick if ($3) { set %NFOrce.section $3 } else { set %NFOrce.section all } ;.msg $nick [7NFOrce] Connecting to NFOrce.nl. writeini " $+ $scriptdirNFOrce.ini $+ " script announce $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) [7NFOrce] Connecting to NFOrce.nl. NFOrce -s %NFOrce.section } } else { set %NFOrce.section all set %NFOrce.latests on set %NFOrce.nick $nick if ($2) { if ($2 != $me) { if ($2 !ison # && $IsSection($2)) { set %NFOrce.section $2 ;.msg $nick [7NFOrce] Connecting to NFOrce.nl. writeini " $+ $scriptdirNFOrce.ini $+ " script announce $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) [7NFOrce] Connecting to NFOrce.nl. NFOrce -s %NFOrce.section } } else { ;.msg $nick [7NFOrce] Connecting to NFOrce.nl. writeini " $+ $scriptdirNFOrce.ini $+ " script announce $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) [7NFOrce] Connecting to NFOrce.nl. NFOrce -s %NFOrce.section } } else { ;.msg $nick [7NFOrce] Connecting to NFOrce.nl. writeini " $+ $scriptdirNFOrce.ini $+ " script announce $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) $readini(" $+ $scriptdirNFOrce.ini $+ ",script,announce) [7NFOrce] Connecting to NFOrce.nl. NFOrce -s %NFOrce.section } } } } } } alias -l IsSection { if ($1 == all || $1 == rips || $1 == isos || $1 == patches || $1 == dox || $1 == addons || $1 == apps || $1 == dc || $1 == ps || $1 == ps2 || $& $1 == gba || $1 == xbox || $1 == gc || $1 == divx || $1 == xvid || $1 == vcd || $1 == svcd || $1 == anime || $1 == xxx || $1 == tv || $1 == dvdr) { return $true } else { return $false } } on *:SIGNAL:NFOrceMSG:{ if ($1 && $2 && $3) { set %NFOrce.msg on set %NFOrce.nick $1 set %NFOrce.int $2 NFOrce -s $3 } } menu channel { NFOrce .Announce type ..Private message:{ writeini " $+ $scriptdirNFOrce.ini $+ " script announce .msg $chr(36) $+ nick echo $color(info) -at * Announce type set to "Private message" } ..Public message:{ writeini " $+ $scriptdirNFOrce.ini $+ " script announce msg $chr(35) echo $color(info) -at * Announce type set to "Public message" } .- .Channels List ..$iif($NFOrce(c,#) == 0,add,del) #:NFOrce -c $iif($NFOrce(c,#) == 0,add,del) # .Announce List ..$iif($NFOrce(m,#) == 0 || !$NFOrce(m,#),add,del) #:{ if ($NFOrce(m,#) == 0 || !$NFOrce(m,#)) { NFOrce -m $?="Repetitions (0=unlimited):" $?="Interval (minutes):" # } else { NFOrce -mr # } } ..- ..Advertise to #:NFOrce-Ad # }