All pastes #254403 Raw Edit

Something

public text v1 · immutable
#254403 ·published 2006-11-21 21:15 UTC
rendered paste body
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,&nbsp;)
  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) != </rss>) {
    if ($read(%f,%i)) {
      if (*<title>*</title> iswm $read(%f,%i) && NFOrce NFOs !isin $read(%f,%i)) {
        inc %item
        writeini %f1 %item Title $remove($htmlfree($read(%f,%i)),$chr(9))
      }
      elseif (*<link>*</link> iswm $read(%f,%i)) {
        writeini %f1 %item Link $remove($htmlfree($read(%f,%i)),$chr(9),amp;)
      }
      elseif (*<description>*</description> iswm $read(%f,%i)) {
        writeini %f1 %item Description $replace($remove($htmlfree($read(%f,%i)),$chr(9)),&lt;,$chr(60),&gt;,$chr(62),&quot;,$chr(34),<br />,^)
      }
    }
    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 (<a href="*">*</a>* iswm $gettok($readini(%f1,$2,$3),%i,94)) {
      writeini %f1 $2 $gettok($remove($gettok($readini(%f1,$2,$3),%i,94),<a href=",",</a>),2,62) $gettok($remove($gettok($readini(%f1,$2,$3),%i,94),<a href=",",</a>),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 #
}