Peace & Protection 4.00 — File Browser

PeaceProtection4.00v4.0 / PeaceProtection4.00v4.0 / SCRIPT / IMPRT320.MRC

IMPRT320.MRC — 17.69 KB — Download this file

; #= P&P.temp -rs
; ########################################
; Peace & Protection
; Importing 3.20 settings
; ########################################

;;; remember to remove /halt when done, and close windows, and savebuf data

alias testimp { _import320 config\pai9 $mircdir320\mirc.ini }
alias _import320 {
  set %.importf $2-
  set %.configini $1 $+ \config.ini
  set %.oldini " $+ $nofile($2-) $+ pp300\config.ini"
  set %.cflags 4 0 +im 5 10 2000 7 10 7 4 30 5 10 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 4 10 0 0 1 2 1 1 1 1 0 1 1 1 1 1 1 7 5 8 5 8 3 9 4 1 1 1 0 0 0 15 5 8 10 0 15 3 5 60 1 0 1 1 1 1 5 300 0 0 1 1

  close -@ @.oldvars @.oldini @.newvars @.newdat @.newact

  window -hln @.oldvars
  window -hln @.oldini
  loadbuf @.oldvars " $+ $nofile($2-) $+ pp300\variable.mrc"
  loadbuf @.oldini " $+ $nofile($2-) $+ pp300\config.ini"

  window -hln @.newvars
  window -hln @.newdat
  window -hln @.newact
  loadbuf @.newvars $1 $+ \cfgvar.dat
  loadbuf @.newdat $1 $+ \display.dat
  loadbuf @.newact $1 $+ \actions.dat

  ; var conversion
  _setnv ping.focus norm
  _setci whois.focus norm
  var %nickcol = $readini -n $2- colours n0
  %nickcol = $_cprep($gettok(%nickcol,$numtok(%nickcol,44),44)) $+ -
  %nickcol = $left($str(%nickcol,8),-1)
  var %xchat.cfg = $_grpon(#extremedcc,r-misc) 150 3
  var %xnotice.cfg = $_grpon(#extremenotice,r-misc) 30 5
  var %xquery.cfg = $_grpon(#extremequery,r-misc) 5 5
  var %nickcomp = :-,%dccopt = 0 0 3 3 3 3 2 2 0 0
  var %notify.match = show,%notify.nocheck = ext,%notify.fail = show,%notify.beep = 0
  var %unotify.match = show,%unotify.nocheck = ext,%unotify.fail = show
  var %away-ws,%umode,%myflood = 3,%flash = 0 0 0 0 0 0
  var %var,%name,%value,%dest,%chan,%title1,%title2 = 1
  :loopV
  %var = $line(@.oldvars,1)
  dline @.oldvars 1
  if ($numtok(%var,32) > 1) {
    %name = $right($gettok(%var,1,32),-1)
    %value = $gettok(%var,2-,32)
    
    if (#* iswm $gettok(%var,$numtok(%var,46),46)) {
      %chan = $gettok(%var,$numtok(%var,46),46)
      %name = $remtok(%var,%chan,1,46)
    }
    else var %chan
    
    %dest = $readini -n $script var %name

    if ($numtok(%dest,32) > 1) {
      ; Conversion
      goto $gettok(%dest,1,32)
      :1 | %value = $iif(%value,1,0) | goto 0
      :2 | %value = $iif(%value,0,1) | goto 0
      :0

      ; Storage
      goto $gettok(%dest,2,32)
      :` | _setnv $gettok(%dest,3,32) %value | goto loopV
      :! | _setci $gettok(%dest,3,32) %value | goto loopV
      :. | % [ $+ [ $gettok(%dest,3,32) ] ] = %value | goto loopV
      :# | _setcf $gettok(%dest,3,32) %value %chan | goto loopV
    }
    elseif (%dest) {
      ; various
      goto %name

      :pp.flood | if (%value == 0 0 0 0) dec %myflood 1 | goto loopV
      :max.dcc | if (%value == 0) dec %myflood 2 | goto loopV
      :away.nick | if ((%value == None) || (%value == $null)) _setci away.chnick 0 | else { _setci away.chnick 1 | _setci away.nick %value } | goto loopV
      :away.repeat | if (%value < 60) _setci away.rep 0 | else { _setci away.rep 1 | _setci away.delay $round($calc(%value / 60),0) } | goto loopV
      :autoaway.idle | if (%value < 60) _setnv autoaway 0 | else { _setnv autoaway 1 | _setnv autoaway.time %value } | goto loopV
      :motd.route | if (-* iswm %value) _setci motd.win -si2 | else _setci motd.win @MOTD | goto loopV
      :ping.route | if (%value == -si2) { _setnv ping.bulk -si2 | _setnv ping.one -si2 } | elseif (%value == -ai2) { _setnv ping.bulk * | _setnv ping.one * } | else { _setnv ping.bulk @Ping | _setnv ping.one * } | goto loopV
      :+ping.to.front | if (%value) _setnv ping.focus front | goto loopV
      :+ping.minimized | if (%value) _setnv ping.focus min | goto loopV
      :snotice.route | if (-* iswm %value) _setnv snotice.win %value | else _setnv snotice.win @SNotice | goto loopV
      :wallop.route | if (-* iswm %value) _setnv wallop.win %value | else _setnv wallop.win @Wallop | goto loopV
      :+whois.log | if (%value) writeini $1\window.ini @Whois log @Whois.log | goto loopV
      :+whois.to.front | if (%value) _setci whois.focus front | goto loopV
      :+whois.minimized | if (%value) _setci whois.focus min | goto loopV
      :+nick.complete.skipifmany | if (%value) { _setci nc.askchan 1 | _setci nc.askcmd 1 | _setci nc.askin 1 } | else { _setci nc.askchan 0 | _setci nc.askcmd 0 | _setci nc.askin 0 } | goto loopV
      :+nick.complete.text | if ($_not(%value)) %nickcomp = 0 | goto loopV
      :nick.complete.chars | if (%nickcomp != 0) %nickcomp = %value | goto loopV
      :+strip.out.colors
      :+strip.out.codes | if (%value) _setnv strip.auto 1 | goto loopV
      :+notify.extended | if (%value) { %notify.match = ext | %notify.nocheck = ext } | else { %notify.match = show | %notify.nocheck = show } | goto loopV
      :+notify.extendediffail | if (%value) %notify.fail = ext | goto loopV
      :+notify.hideiffail | if (%value) { %notify.fail = hide | %unotify.fail = hide } | goto loopV
      :+unotify.extended | if (%value) { %unotify.match = ext | %unotify.nocheck = ext } | else { %unotify.match = show | %unotify.nocheck = show } | goto loopV
      :+unotify.extendediffail | if (%value) %unotify.fail = ext | goto loopV
      :+mode.s
      :+mode.w | %umode = %umode $+ $right(%name,1) | goto loopV
      :default.umode | %umode = $remove(%value,+) $+ %umode | goto loopV
      :+nickcolors | _setci nickcol $_tf(%value) | _setnv themecol $_tf(%value) | goto loopV
      :+serverop.prot
      :+serverop.ultimate | if (%value) _setcf 78 1 %chan | goto loopV
      :+floodpro.modeoff
      :+floodpro.joinoff | if (%value) _setcf 73 0 %chan | goto loopV
      :max.clone | _setcf 1 $calc(%value - 1) %chan | $_actiondat(clone,1,warn,%chan) | goto loopV
      :max.chan.flood.ctcp | _setcf 29 %value %chan | _setcf 31 $calc(%value * 3) %chan | goto loopV
      :delay.chan.flood.ctcp | _setcf 30 %value %chan | _setcf 32 %value %chan | goto loopV
      :match.chancheck | if (%value) { _setcf 22 1 %chan | _setnv pervscan. $+ $iif(%chan,%chan,*) %value } | goto loopV
      :match.wordkick | if (%value) { _setcf 24 1 %chan | _setnv wordk1. $+ $iif(%chan,%chan,*) $_s2c(%value) } | goto loopV
    }
    else {
      ; special cases
      if (col.nick* iswm %name) {
        ; nicklist color
        if ($right(%name,1) isin ofbimgw) %nickcol = $puttok(%nickcol,$_cprep(%value),$pos(?ofbimgw,$right(%name,1),1),45)
      }
      ;;; do we really want to import this?
      elseif ($findtok([-]-@-@c-@w-@s-=,%name,1,45)) {
        ; display stuff
        rline @.newdat $gettok(14-15-18-19-20-21-23 b,$ifmatch,45) %value
      }
      elseif (extreme* iswm %name) {
        var %which = $gettok(xchat.cfg xnotice.cfg xquery.cfg,$pos(dnq,$mid(%name,8,1),1),32)
        % [ $+ [ %which ] ] = $puttok(% [ $+ [ %which ] ] ,%value,$iif(. isin %name,3,2),32)
        goto loopV
      }
      elseif (accept.* iswm %name) {
        %dccopt = $puttok(%dccopt,$calc($findtok(Auto Ignore Notice Ask,%value,1,32) - 1),$findtok(accept.chat accept.send accept.knownchat accept.knownsend accept.chataway accept.sendaway accept.knownchataway accept.knownsendaway accept.friendchataway accept.friendsendaway,%name,1,32),32)
      }
      elseif (*flash.* iswm %name) {
        if (%value) %flash = $puttok(%flash,1,$findtok(queryh querya msgh msga dcch dcca,$gettok(%name,2,46),1,32),32)
      }
      elseif (action* iswm %name) {
        ; called for a certain action- $1 = action $2 = num $3 = kick/tempban/etc $4 = chan
        var %actnum = $remove($gettok(%name,1,46),action), %actcode = $gettok(%name,2,46)
        if (%actcode == clone) inc %actnum
        $_actiondat(%actcode,%actnum,%value,%chan)
      }
    }

    goto loopV
  }
  elseif ($line(@.oldvars,0)) goto loopV

  ; fix nicklist colors
  var %nickcol2,%num = 1,%temp
  :loopN
  %temp = $gettok(%nickcol,%num,45) $+ -
  %nickcol2 = %nickcol2 $left($str(%temp,3),-1)
  if (%num < 8) { inc %num | goto loopN }
  _setnv nickcol %nickcol2

  ; save other vars
  _setnv xchat.cfg %xchat.cfg
  _setnv xnotice.cfg %xnotice.cfg
  _setci xquery.cfg %xquery.cfg
  if (%nickcomp) _setnv nc.char %nickcomp
  else _setnv nc.char
  _setci notify.match %notify.match
  _setci notify.nocheck %notify.nocheck
  _setci notify.fail %notify.fail
  _setci unotify.match %unotify.match
  _setci unotify.nocheck %unotify.nocheck
  _setci unotify.fail %unotify.fail
  if (%notify.beep) {
    if (%notify.match != hide) _setci notify.beepmatch 1
    if (%notify.nocheck != hide) _setci notify.beepnocheck 1
    if (%notify.fail != hide) _setci notify.beepfail 1
  }
  _setnv cflags %.cflags
  _setci umode %umode
  if (%away-ws) %umode = $remove(%umode,w,s)
  _setci uaway %umode
  _setnv myflood.prot %myflood
  _setnv flash.opt $remove(%flash,$chr(32))
  if (%title1 == nickname) { _setci title.here 0111110 $+ %title2 | _setci title.away 0111110 $+ %title2 }
  else { _setci title.here 1011110 $+ %title2 | _setci title.away 1011110 $+ %title2 }
  _setnv dcc.opt $remove(%dccopt,$chr(32))

  unset %.importf %.configini %.cflags %.oldini %.didadat*
  halt
  .timer -o 1 0 _unload imprt320
}

; save a new var
alias -l _setnv {
  if ($fline(@.newvars,$1 *,1)) dline @.newvars $ifmatch
  if ($2 != $null) aline @.newvars $1-
}

; save a config.ini setting
alias -l _setci {
  if ($2 == $null) remini %.configini cfg $1
  else writeini %.configini cfg $1 $2
}

; set a cflag to a specific area- $1 position $2 flag $3 channel (null for global)
; if something should 'affect all', set it for global (will affect all due to ?'s)
alias -l _setcf {
  if ($3) {
    var %name = cflags. $+ $3,%old = $fline(@.newvars,%name *,1)
    if (%old) rline @.newvars %old $puttok($line(@.newvars,%old),$2,$calc($1 + 1),32)
    else aline @.newvars %name $puttok(? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?,$2,$1,32)
  }
  else %.cflags = $puttok(%.cflags,$2,$1,32)
}

; check if group $1 is enabled in file pp300\$2.mrc
alias _grpon {
  var %file = $nofile(%.importf) $+ pp300\ $+ $2.mrc
  var %dat = $read -ns [ $+ [ $1 ] ] %file
  if ($gettok(%dat,$numtok(%dat,32),32) == on) return 1
  return 0
}

; set an action entry; unsets all existing entries the first time it's; call as identifier
; called for a certain action- $1 = action $2 = num $3 = kick/tempban/etc $4 = chan
alias _actiondat {
  var %newspot = $gettok(clones pervscan wordk1 invdcc kick deop repeat ctcp joinp attrfl attrab caps notice scroll nick text,$findtok(clone chancheck wordkick invaliddcc masskick massdeop repeat ctcp revolve codeflood pcode capperc pnotice scroll nick ptext,$1,1,32),32)
  if (%.didadat [ $+ [ $1 ] ] == $null) {
    set %.didadat $+ $1 1
    filter -ncww @.newact @.newact %newspot $+ *
  }
  var %action = $findtok((custom) kb kb0 kb2 cb deop fk kick tempban warn warn-chan warn-self warn-ops warn-msg,$replace($3,bk,kb),1,32)
  if (%action == $null) %action = 1 $3 &chan& &nick&
  var %msg = $readini -n %.oldini Kicks $1
  if (%msg == $null) %msg = $_protwarnmsg(k,%newspot)
  %action = %action %msg
  aline @.newact %newspot $+ $2 $+ $iif($4 == $null,*,$4) 1 %action
}

#map off

;;; stuff for future?
; %+verify.indices Verify sound index files on startup
; %+showbanned Show users banned
; %+nickserv.onlyifwarn Only autologin if warned
; %pp.popup Popup logo
; %+wallopbyuserlist Send wallops based on userlist op levels
; %+ignoreflood Ignore on flood
; %+silenceflood Silence on flood
; %+ignoreflood.ifnotchan Ignore on flood if not opped
; %+silenceflood.ifnotchan Silence on flood if not opped
; %+nickchange.flood Change nicks on flood
; %+cf9.nickchange Change nicks if ctrlF9 to avoid flood
; %+dccincomp.enable Enable DCC Incomplete
; %dccincomp.expire How long before a DCC Incomplete expires (in hours?)
; %+dccincomp.autosend Autosend DCC Incomplete on request
; %+dccincomp.onlyknown Only respond to DCC Incomplete from known users
; %+unsolicited.notice Send notice if ignoring unsolicited messages
; %onopMode Default on-op strictmode
; %aloneMode Default alone strictmode
%strictMode +n
; %+joinstat Show kickstats on join (?)
; %+kickstat Record kickstats (?)
; %kickstat.minkick Only show kickstats if this many kicks or more
; %kickstat.minban Only show kickstats if this many bans or more
; %+f6.simple.color F6 brings up color window (not cnc)
; %+imposter.alert Alert if a you-imposter joins
; %autounban.your Minutes (?) to autounban your bans
; %autounban.their Minutes (?) to autounban other's bans
; %autounban.black Minutes (?) to autounban blacklist bans
; %+notice.on.blacklist Send notice on blacklist
; %+colorflood.check Perform private color flood check
; %+ping.sorted $false
;%+snotice.minimized $true
;%+snotice.to.front $false
;%+wallop.minimized $true
;%+wallop.to.front $false
;%+disp.address $false
;%autoj.ulevel >0
%+desktopping $false
%nickcol.pingwaitloose $true (user loses ping color from -any- notice/ctcp)

;whois-stuff
;%whois.onjoin $false
;%whois.stoplvl 50
;%+whois.ifaway $false
;%+whois.inchan $true
;%+who.two.line $true
;%+whois.on.knowndcc $false
;%+whois.on.unknownchat $true
;%+whois.on.unknownsend $false
;%+clonescan.youjoin $false
;%+clonescan.theyjoin $true
;%+clonescan.hide $true
;%+clonescan.identd $false

;lastseen.ppa
; %+lastseen.userlist Limit lastseen to known users
; %+lastseen.hidechan Hide lastchan in lastseen
; %+lastseen.hideaddr Hide address in lastseen
; %+lastseen.identdok Allow ident lookup for lastseen
; %+lastseen.onlyrecknown Only record lastseen for known users

extras.ppa
%pp.clock 0
%pp.clock.beep $false
%pp.clock.save $true
%pp.clock.active $true
%whois.showcc $true (countrycodes)

cnc.ppa
%+cnc.on $false
%cnc.fg 1
%cnc.bk 1
%cnc.attr 1
%cnc.text 1
%cnc.patt 1
%cnc.backw 1

;reroute.ppa
;%+reroute.showchan $true
;%+reroute.showpriv $true
;%+reroute.showjoin $true
;%+reroute.showtopic $true
;%+reroute.shownick $true
;%+reroute.showmine $true

;xw.ppa
%xw.use sometimes
%+xw.must.login $true

;sound.ppa
;%leech.route -si2
;%+leech.knownonly $false
;%+sounds.ame $false
;%+accept.sounds.away $false
;%+search.nonaccepts $false
;%+roulette.retain $true
;%+minimize.mp $true
;%+roulette.mp $true
;%+roulette.mid $true
;%+roulette.wav $false
;%+accept.mp $true
;%+accept.mid $true
;%+accept.wav $true
;%+index.mp $false
;%+index.mid $false
;%+index.wav $false
;%+dynrate.mp $false
;%+dynrate.mid $false
;%+dynrate.wav $false
;%+desc.mp $false
;%+desc.wav $false
;%+desc.mid $false
;%+askact.mp $false
;%+askact.wav $true
;%+askact.mid $false
;%+local.mp $false
;%+local.wav $false
;%+local.mid $false
%max.leech 3
%halt.leech 5
%delay.leech 12
%sounds.halt $true (don't play if anther wav/mid playing)

;whiteboard
%ppwbs.cashdraw $true
%ppwbs.fontbold $true
%ppwbs.font Arial 20
%ppwbs.pics c:\pnp320\
%ppwbs.autochat $true
%ppwbs.joinpart $true
%ppwbs.colorserv 4
%ppwbs.coloryou 6
%ppwbs.dtop $false

;e-mail
%email.get.reverse $true
%email.auto.when off
%email.auto.freq 15
%email.auto.idle 5
%email.auto.idlet minutes
%email.auto.acc curr
%email.auto.do note
%email.acclast 1
%email.account Default
%email.accnum 1
%email.email pai
%email.wrap 78
%email.curr Current- 1. Default
%email.pu1 1. Default
%email.book Book1
%email.fastsend on
%email.autocheck on
%^email.1 1. pai@pairc.com

; Map for variables (1 = special)
[var]
pp.flood=1
awaywords=0 ` awaywords.words
+awaywords.on=1 ` awaywords
+awaylog.default=1 ! away.log
+awaylog.closemsg=1 ` awaylog.close
+awaylog.logmsg=1 ` awaylog.msg
+aliasb.to.ban=1 ! b.ban
event.route=0 ! eroute
away.nick=1
away.repeat=1
+accept.ebeeps.away=2 ! away.beepoff
autoaway.idle=1
+autoaway.quiet=1 ! autoaway.quiet
+autoaway.pager=1 ! autoaway.pager
+autoaway.logging=1 ! autoaway.log
show.title=0 . title1
+pager.default=1 ! away.pager
+pager.here=1 ! back.pager
+verify.invites=1 ! verify.inv
motd.route=1
motd.display=0 ! motd.disp
ping.route=1
+ping.to.front=1
+ping.minimized=1
snotice.route=1
wallop.route=1
whois.route=0 ` whois.win
+whois.log=1
+whois.to.front=1
+whois.minimized=1
+whois.retain=1 ! whois.retain
+whois.servername=1 ! whois.serv
whois.nicks=0 ` whois.nick
self.lag.warn1=0 ! spwarn1
self.lag.warn2=0 ! spwarn2
self.ping.time1=0 ! sptime
+nick.complete.cmd=1 ` nc.cmd
+nick.complete.skipifmany=1
nick.complete.inline=0 ` nci.char
+disp.options=1 ` show.fkeys
chanscan.default=0 ! scan.flag
+strip.out.colors=1
+strip.out.codes=1
notify.route=0 ` notify.win
+notify.beep=1 . notify.beep
+notify.extended=1
+notify.extendediffail=1
+notify.hideiffail=1
+unotify.extended=1
+unotify.extendediffail=1
+unotify.colorquit=1 ! unotify.part
+ircop.check=1
+away.-ws=0 . away-ws
+mode.s=1
+mode.w=1
default.umode=1
+filterkick.bans=1
+serverop.prot=1
+serverop.ultimate=1
+floodpro.modeoff=1
+floodpro.joinoff=1
max.dcc=1
nickcol.lagmin=0 ` lagtime
+nickcolors=1
+idle.meter=1 . title2
lastconnect=0 ! lastserv
+ircop.check=1 # 16
+filterkick.bans=1 # 23
+nofloodkick.ops=1 # 69
+nofloodkick.vocs=1 # 70
+floodpro.ctcpoff=2 # 72
+floodpro.textoff=2 # 71
+acton.invaliddcc=1 # 74
+sound.flood.ok=2 # 39
delay.second.active=0 # 75
delay.second.clear=0 # 76
max.chan.flood.ctcp=1
delay.chan.flood.ctcp=1
max.revolve=0 # 57
delay.revolve=0 # 58
max.nick=0 # 4
delay.nick=0 # 5
max.ptext=0 # 6
delay.ptext=0 # 7
max.scroll=0 # 8
delay.scroll=0 # 9
max.pnotice=0 # 12
delay.pnotice=0 # 13
max.capperc=0 # 14
min.capperc=0 # 15
max.pcode=0 # 19
max.codeflood=0 # 17
delay.codeflood=0 # 18
max.repeat=0 # 10
delay.repeat=0 # 11
max.massdeop=0 # 46
delay.massdeop=0 # 47
max.masskick=0 # 48
delay.masskick=0 # 49
max.topic=1 # 20
max.clone=1
match.chancheck=1
match.wordkick=1

#map end