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 #
}