All pastes #984357 Raw Edit

Someone

public text v1 · immutable
·published 2008-04-14 03:53 UTC
rendered paste body
alias pqc1 return $+(,$readini(pq.ini,n,Settings,c1),$$1)
alias pqc2 return $+(,$readini(pq.ini,n,Settings,c2),$$1)
alias xpforlvl {
  if ($1 == 2) return 83
  elseif ($1 == 3) return 174
  elseif ($1 == 4) return 276
  elseif ($1 == 5) return 388
  elseif ($1 == 6) return 512
  elseif ($1 == 7) return 650
  elseif ($1 == 8) return 801
  elseif ($1 == 9) return 969
  elseif ($1 == 10) return 1154
  elseif ($1 == 11) return 1358
  elseif ($1 == 12) return 1584
  elseif ($1 == 13) return 1833
  elseif ($1 == 14) return 2107
  elseif ($1 == 15) return 2411
  elseif ($1 == 16) return 2746
  elseif ($1 == 17) return 3115
  elseif ($1 == 18) return 3523
  elseif ($1 == 19) return 3973
  elseif ($1 == 20) return 4470
  elseif ($1 == 21) return 5018
  elseif ($1 == 22) return 5624
  elseif ($1 == 23) return 6291
  elseif ($1 == 24) return 7028
  elseif ($1 == 25) return 7842
  elseif ($1 == 26) return 8740
  elseif ($1 == 27) return 9730
  elseif ($1 == 28) return 10824
  elseif ($1 == 29) return 12031
  elseif ($1 == 30) return 13363
  elseif ($1 == 31) return 14833
  elseif ($1 == 32) return 16456
  elseif ($1 == 33) return 18247
  elseif ($1 == 34) return 20224
  elseif ($1 == 35) return 22406
  elseif ($1 == 36) return 24815
  elseif ($1 == 37) return 27473
  elseif ($1 == 38) return 30408
  elseif ($1 == 39) return 33648
  elseif ($1 == 40) return 37224
  elseif ($1 == 41) return 41171
  elseif ($1 == 42) return 45529
  elseif ($1 == 43) return 50339
  elseif ($1 == 44) return 55649
  elseif ($1 == 45) return 61512
  elseif ($1 == 46) return 67983
  elseif ($1 == 47) return 75127
  elseif ($1 == 48) return 83014
  elseif ($1 == 49) return 91721
  elseif ($1 == 50) return 101333
  elseif ($1 == 51) return 111945
  elseif ($1 == 52) return 123660
  elseif ($1 == 53) return 136594
  elseif ($1 == 54) return 150872
  elseif ($1 == 55) return 166636
  elseif ($1 == 56) return 184040
  elseif ($1 == 57) return 203254
  elseif ($1 == 58) return 224466
  elseif ($1 == 59) return 247886
  elseif ($1 == 60) return 273742
  elseif ($1 == 61) return 302288
  elseif ($1 == 62) return 333804
  elseif ($1 == 63) return 368599
  elseif ($1 == 64) return 407015
  elseif ($1 == 65) return 449428
  elseif ($1 == 66) return 496254
  elseif ($1 == 67) return 547953
  elseif ($1 == 68) return 605032
  elseif ($1 == 69) return 668051
  elseif ($1 == 70) return 737627
  elseif ($1 == 71) return 814445
  elseif ($1 == 72) return 899257
  elseif ($1 == 73) return 992895
  elseif ($1 == 74) return 1096278
  elseif ($1 == 75) return 1210421
  elseif ($1 == 76) return 1336443
  elseif ($1 == 77) return 1475581
  elseif ($1 == 78) return 1629200
  elseif ($1 == 79) return 1798808
  elseif ($1 == 80) return 1986068
  elseif ($1 == 81) return 2192818
  elseif ($1 == 82) return 2421087
  elseif ($1 == 83) return 2673114
  elseif ($1 == 84) return 2951373
  elseif ($1 == 85) return 3258594
  elseif ($1 == 86) return 3597792
  elseif ($1 == 87) return 3972294
  elseif ($1 == 88) return 4385776
  elseif ($1 == 89) return 4842295
  elseif ($1 == 90) return 5346332
  elseif ($1 == 91) return 5902831
  elseif ($1 == 92) return 6517253
  elseif ($1 == 93) return 7195629
  elseif ($1 == 94) return 7944614
  elseif ($1 == 95) return 8771558
  elseif ($1 == 96) return 9684577
  elseif ($1 == 97) return 10692629
  elseif ($1 == 98) return 11805606
  elseif ($1 == 99) return 13034431
}
alias cmblvl {
  ;att,def,hit,range,mage,summoning
  var %a $calc($3 * 100)
  var %b $calc($4 * 100)
  if ($isbit($6,1)) var %c $calc($calc($6 - 1) * 50)
  else var %c $calc($6 * 50)
  if ($isbit($8,1)) var %d $calc($calc($8 - 1) * 50)
  else var %d $calc($8 * 50)
  var %base $calc($calc(%a + %b + %c + %d) / 400)
  var %e $calc($1 * 130), %f $calc($2 * 130)
  if ($isbit($5,1)) var %g $calc($calc($calc($5 - 1) + $calc($5 * 2)) * 65)
  else var %g $calc($5 * 195)
  if ($isbit($7,1)) var %h $calc($calc($calc($7 - 1) + $calc($7 * 2)) * 65)
  else var %h $calc($7 * 195)
  var %melee $calc($calc(%e + %f) / 400)
  var %range $calc(%g / 400)
  var %mage $calc(%h / 400)
  if ($gettok($sorttok(%melee %range %mage,32,nr),1,32) == %melee) var %type Melee
  elseif ($v1 == %range) var %type Ranged
  else var %type Magic 
  return $calc($v1 + %base)
}
alias hpbar { 
  var %g $round($calc($$1 /5),-1), %r $calc(20 - %g), %x 1 
  var %t $right(0 $+ $1,-1) 
  while (%x < 21) { 
    var %c $iif(%x isnum 1- $+ %g,09,04) 
    if (%x isnum 10-11) { var %m $+(,01,$chr(44),%c,$mid(%t,$calc(%x -9),1)) } 
    else { var %m $+(,%c,$chr(44),%c,$chr(160)) } 
    var %re %re $+ %m 
    inc %x 
  } 
  return %re $+  
} 
alias admin {
  var %a $ini(pq.ini,$1,Admin)
  while (%a >= 1) {
    if (%a iswm $v1) return $true
    dec %a
  }
  return $false
}
alias lfield {
  writeini pq.ini $2 Battle No
  msg $1 $pqc2($readini(pq.ini,$2,chr)) $pqc1(has escaped from the battle field!)
  mode $1 -v $2
}
alias lock {
  writeini pq.ini $2 lock $3
  msg $1 $pqc2($readini(pq.ini,$2,chr)) $pqc1(has locked on to) $pqc2($readini(pq.ini,$3,chr)) $+ $pqc1(... They can now say) $pqc2(.skill) $pqc1(to attack) $pqc2($iif(($readini(pq.ini,$3,Gender) == M),him,her)) $+ $pqc1(.)
}
alias datk {
  writeini pq.ini $1 Attack No
  notice $1 $readini(pq.ini,$1,chr) has finished $readini(pq.ini,$nick,Gender) attack.
}

on $*:TEXT:/^[!.~]p(ortal)?q(uest)?c(om)?m(an)?ds?$/Si:*: { 
  $iif($left($1,1) = ~,msg #,msg $nick) $pqc1(A list of commands can be found at:) $pqc2(http://www.portal-quest.com/commands) 
  $iif($left($1,1) = ~,msg #,msg $nick) $pqc1(Scroll lower for) $pqc2(Admin) $pqc1(commands.) 
  $iif($left($1,1) = ~,msg #,msg $nick) $pqc1(If you can't see the URL $+ $chr(44) Type:) $pqc2(/mode $nick -f) $pqc1(and type) $pqc2($1) $pqc1(again.) 
}
on $*:TEXT:/^[!.~]skill(s)?/Si:#: {
  if (!$2) { set %temp.nick $nick | goto continue }
  if ($2) { set %temp.nick $2 }
  :continue
  $iif($left($1,1) = ~,msg #,msg $nick) $pqc1(Information for) $pqc2(%temp.nick) $+ $pqc1(:) $pqc1($chr(40)) $+ $pqc2(Melee) $+ $pqc1(:) $pqc2($readini(pq.ini,%temp.nick,Melees)) $+ $pqc1($chr(41)) $chr(40) $+ $pqc2(Magic Attack) $+ $pqc1(:) $& 
    $pqc2($readini(pq.ini,%temp.nick,Magics)) $+ $pqc1($chr(41)) $chr(40) $+ $pqc2(Range Attack) $+ $pqc1(:) $pqc2($readini(pq.ini,%temp.nick,Ranges)) $+ $pqc1($chr(41)) $chr(40) $+ $pqc2(Summon Attack) $+ $pqc1(:) $pqc2($readini(pq.ini,%temp.nick,Summons)) $+ $pqc1($chr(41))
  unset %temp.nick
}
on $*:TEXT:/^[!.~]a(dmin)?o(verride)? /Si:#: { 
  if ($admin($nick)) {
    if ($regex($2,/^(Hp|HpMax|Attack|Summon|Defence|Magic|Range)/i)) { 
      writeini pq.ini $3 $2 $4
      $iif($left($1,1) = ~,msg #,notice $nick) $pqc2($3) $+ $pqc1('s) $pqc2($2) $pqc1(is now) $pqc2($4) $+ $pqc1(.)
      msg #Portal-Quest.Staff $pqc2($nick) $pqc1(used) $pqc2($1-) $pqc1(to set) $pqc2($3) $+ $pqc1('s) $pqc2($2) $pqc1(to) $pqc2($4) $+ $pqc1(.)
    }
  }
  if (!$admin($nick)) {
  }
}
on $*:TEXT:/^[!.~]stats ?(-s)?/Si:#: { 
  if ($2 != -s) { set %temp.nick $iif($2,$2,$nick) | goto continue }
  elseif ($2 == -s) { set %temp.nick $iif($4,$4,$nick) | goto next }
  :continue
  if (!$readini(pq.ini,%temp.nick,HPMax)) {  $iif($left($1,1) = ~,msg #,notice $nick) $pqc1([PQ] Error) $pqc2(-) $pqc1(There is a problem with your/their stats.) | return }
  $iif($left($1,1) = ~,msg #,notice $nick) $+($pqc1([),$pqc2($readini(pq.ini,%temp.nick,chr)),$pqc1(])) $+($pqc1([Combat),$chr(32),$pqc2($readini(pq.ini,%temp.nick,Combat)),$pqc1(])) $($pqc1([Attack),$pqc2($readini(pq.ini,%temp.nick,Attack)),$pqc1(| Summoning),$pqc2($readini(pq.ini,%temp.nick,Summon)),$pqc1(| Defence),$pqc2($readini(pq.ini,%temp.nick,Defence)),$pqc1(| Hitpoints),$pqc2($readini(pq.ini,%temp.nick,HPMax)),$pqc1(| Ranged),$pqc2($readini(pq.ini,%temp.nick,Range)),$pqc1(| Magic),$remove($+($pqc2($readini(pq.ini,%temp.nick,Magic)),$pqc1(])),$chr(32))) | return
  :next
  if ($regex($3,/^(att(ack)?)/i)) {
    $iif($left($1,1) = ~,msg #,notice $nick) $+($pqc1([),$pqc2(Attack),$chr(32),$pqc1(for),$chr(32),$pqc2($readini(pq.ini,%temp.nick,chr)),$pqc1(])) $pqc1([Level) $pqc2($readini(pq.ini,%temp.nick,Attack)) $pqc1(| EXP:) $pqc2($bytes($readini(pq.ini,%temp.nick,AEXP),db)) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,AEXP) / 13034431 * 100),2) $+ $chr(37)) $&
      $pqc1(of 99 $+ $chr(41)) $pqc1(| Exp to) $pqc2($calc($readini(pq.ini,%temp.nick,Attack) + 1) $chr(40) $+ $calc($xpforlvl($calc($readini(pq.ini,%temp.nick,Attack) + 1)) - $readini(pq.ini,%temp.nick,AEXP)) exp $+ $chr(41))) $+ $pqc1(:) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,AEXP) / $xpforlvl($calc($readini(pq.ini,%temp.nick,Attack) + 1)) * 100),2) $+ $chr(37)) $pqc1(of $pqc2($calc($readini(pq.ini,%temp.nick,Attack) + 1)) $+ $pqc1($chr(41) $+ $chr(93)))
  }
  if ($regex($3,/^(def(ence)?)/i)) {
    $iif($left($1,1) = ~,msg #,notice $nick) $+($pqc1([),$pqc2(Defence),$chr(32),$pqc1(for),$chr(32),$pqc2($readini(pq.ini,%temp.nick,chr)),$pqc1(])) $pqc1([Level) $pqc2($readini(pq.ini,%temp.nick,Defence)) $pqc1(| EXP:) $pqc2($bytes($readini(pq.ini,%temp.nick,DEXP),db)) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,DEXP) / 13034431 * 100),2) $+ $chr(37)) $&
      $pqc1(of 99 $+ $chr(41)) $pqc1(| Exp to) $pqc2($calc($readini(pq.ini,%temp.nick,Defence) + 1) $chr(40) $+ $calc($xpforlvl($calc($readini(pq.ini,%temp.nick,Defence) + 1)) - $readini(pq.ini,%temp.nick,DEXP)) exp $+ $chr(41))) $+ $pqc1(:) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,DEXP) / $xpforlvl($calc($readini(pq.ini,%temp.nick,Defence) + 1)) * 100),2) $+ $chr(37)) $pqc1(of $pqc2($calc($readini(pq.ini,%temp.nick,Defence) + 1)) $+ $pqc1($chr(41) $+ $chr(93)))
  }
  if ($regex($3,/^(range(d)?)/i)) {
    $iif($left($1,1) = ~,msg #,notice $nick) $+($pqc1([),$pqc2(Range),$chr(32),$pqc1(for),$chr(32),$pqc2($readini(pq.ini,%temp.nick,chr)),$pqc1(])) $pqc1([Level) $pqc2($readini(pq.ini,%temp.nick,Range)) $pqc1(| EXP:) $pqc2($bytes($readini(pq.ini,%temp.nick,REXP),db)) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,REXP) / 13034431 * 100),2) $+ $chr(37)) $&
      $pqc1(of 99 $+ $chr(41)) $pqc1(| Exp to) $pqc2($calc($readini(pq.ini,%temp.nick,Range) + 1) $chr(40) $+ $calc($xpforlvl($calc($readini(pq.ini,%temp.nick,Range) + 1)) - $readini(pq.ini,%temp.nick,REXP)) exp $+ $chr(41))) $+ $pqc1(:) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,REXP) / $xpforlvl($calc($readini(pq.ini,%temp.nick,Range) + 1)) * 100),2) $+ $chr(37)) $pqc1(of $pqc2($calc($readini(pq.ini,%temp.nick,Range) + 1)) $+ $pqc1($chr(41) $+ $chr(93)))
  }
  if ($regex($3,/^(sum(mon)?)/i)) {
    $iif($left($1,1) = ~,msg #,notice $nick) $+($pqc1([),$pqc2(Summoning),$chr(32),$pqc1(for),$chr(32),$pqc2($readini(pq.ini,%temp.nick,chr)),$pqc1(])) $pqc1([Level) $pqc2($readini(pq.ini,%temp.nick,Summon)) $pqc1(| EXP:) $pqc2($bytes($readini(pq.ini,%temp.nick,SEXP),db)) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,SEXP) / 13034431 * 100),2) $+ $chr(37)) $&
      $pqc1(of 99 $+ $chr(41)) $pqc1(| Exp to) $pqc2($calc($readini(pq.ini,%temp.nick,Summon) + 1) $chr(40) $+ $calc($xpforlvl($calc($readini(pq.ini,%temp.nick,Summon) + 1)) - $readini(pq.ini,%temp.nick,SEXP)) exp $+ $chr(41))) $+ $pqc1(:) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,SEXP) / $xpforlvl($calc($readini(pq.ini,%temp.nick,Summon) + 1)) * 100),2) $+ $chr(37)) $pqc1(of $pqc2($calc($readini(pq.ini,%temp.nick,Summon) + 1)) $+ $pqc1($chr(41) $+ $chr(93)))
  }
  if ($regex($3,/^(Mag(e|ic)?)/i)) {
    $iif($left($1,1) = ~,msg #,notice $nick) $+($pqc1([),$pqc2(Magic),$chr(32),$pqc1(for),$chr(32),$pqc2($readini(pq.ini,%temp.nick,chr)),$pqc1(])) $pqc1([Level) $pqc2($readini(pq.ini,%temp.nick,Magic)) $pqc1(| EXP:) $pqc2($bytes($readini(pq.ini,%temp.nick,MEXP),db)) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,MEXP) / 13034431 * 100),2) $+ $chr(37)) $&
      $pqc1(of 99 $+ $chr(41)) $pqc1(| Exp to) $pqc2($calc($readini(pq.ini,%temp.nick,Magic) + 1) $chr(40) $+ $capc($xpforlvl($calc($readini(pq.ini,%temp.nick,Magic) + 1)) - $readini(pq.ini,%temp.nick,MEXP)) exp $+ $chr(41))) $+ $pqc1(:) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,MEXP) / $xpforlvl($calc($readini(pq.ini,%temp.nick,Magic) + 1)) * 100),2) $+ $chr(37)) $pqc1(of $pqc2($calc($readini(pq.ini,%temp.nick,Magic) + 1)) $+ $pqc1($chr(41) $+ $chr(93)))
  }
  if ($regex($3,/^(HP)/i)) {
    $iif($left($1,1) = ~,msg #,notice $nick) $+($pqc1([),$pqc2(Hitpoints),$chr(32),$pqc1(for),$chr(32),$pqc2($readini(pq.ini,%temp.nick,chr)),$pqc1(])) $pqc1([Level) $pqc2($readini(pq.ini,%temp.nick,HPMax)) $pqc1(| EXP:) $pqc2($bytes($readini(pq.ini,%temp.nick,HEXP),db)) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,HEXP) / 13034431 * 100),2) $+ $chr(37)) $&
      $pqc1(of 99 $+ $chr(41)) $pqc1(| Exp to) $pqc2($calc($readini(pq.ini,%temp.nick,HPMax) + 1) $chr(40) $+ $calc($xpforlvl($calc($readini(pq.ini,%temp.nick,HPMax) + 1)) - $readini(pq.ini,%temp.nick,HEXP))) exp $+ $chr(41))) $+ $pqc1(:) $pqc1($chr(40)) $+ $pqc2($round($calc($readini(pq.ini,%temp.nick,HEXP) / $xpforlvl($calc($readini(pq.ini,%temp.nick,HPMax) + 1)) * 100),2) $+ $chr(37)) $pqc1(of $pqc2($calc($readini(pq.ini,%temp.nick,HPMax) + 1)) $+ $pqc1($chr(41) $+ $chr(93)))
  }
}
on $*:TEXT:/^[!.@]pqset(tings)?\s.+/Si:#: { 
  if ($admin($nick)) { 
    if ($istok(c1 c2,$2,32) && $3 isnum 0-15) { 
      notice $nick $2 is now color $pqs($2) 
      writein pq.ini Settings $2 $3 
      var %set .
    } 
    else {
      notice $nick Incorrect syntax. Type !pqcmds and scroll down on the webpage for the admin commands.
      var %set .
    }
    elseif (!%set) notice $nick Incorrect syntax. Type !pqcmds and scroll down on the webpage for the admin commands.
  } 
  elseif (!$admin($nick)) { notice $nick You do not have sufficient access to set Portal Quest settings. } 
}
on *:TEXT:REGISTER *:?: {
  if (*$* isin $2-) { 
    halt
  }
  else {
    writeini pq.ini $nick chr $replace($2,_,$chr(32),-,$chr(32))
    writeini pq.ini $nick Pass $encode($3)
    if (male == $4) {
      writeini pq.ini $nick Gender M
      writeini pq.ini $nick Admin N
      writeini pq.ini $nick Connected Yes
      msg $nick $pqc2($nick) $pqc1(Your player name is:) $pqc2($replace($2,_,$chr(32),-,$chr(32))) $+ $pqc1(. Your set gender is:) $pqc2($4) $pqc1(and I have stored and encoded your password as:) $pqc2($3) $+ $pqc1(.)  
      msg $nick $pqc2($nick) $pqc1(Now that you are) $pqc2(Registered) $pqc1(you need to set your Skills. To do so you must type) $pqc2(set Melee/Magic/Range/Summon skill) $+ $pqc1(.)
    } 
    if (female == $4) {
      writeini pq.ini $nick Gender F
      writeini pq.ini $nick Admin N
      writeini pq.ini $nick Connected Yes
      msg $nick $pqc2($nick) $pqc1(Your player name is:) $pqc2($replace($2,_,$chr(32),-,$chr(32))) $+ $pqc1(. Your set gender is:) $pqc2($4) $pqc1(and I have stored and encoded your password as:) $pqc2($3) $+ $pqc1(.)  
      msg $nick $pqc2($nick) $pqc1(Now that you are) $pqc2(Registered) $pqc1(you need to set your Skills. To do so you must type) $pqc2(set Melee/Magic/Range/Summon skill) $+ $pqc1(.)
    }
    writeini pq.ini $nick Combat 3.4
    writeini pq.ini $nick Attack 1
    writeini pq.ini $nick AEXP 0
    writeini pq.ini $nick NextAlvl 83
    writeini pq.ini $nick Defence 1
    writeini pq.ini $nick DEXP 0
    writeini pq.ini $nick NextDlvl 83
    writeini pq.ini $nick Magic 1
    writeini pq.ini $nick MEXP 0
    writeini pq.ini $nick NextMlvl 83
    writeini pq.ini $nick Range 1
    writeini pq.ini $nick REXP 0
    writeini pq.ini $nick NextRlvl 83
    writeini pq.ini $nick Summon 1
    writeini pq.ini $nick SEXP 0
    writeini pq.ini $nick NextSlvl 83
    writeini pq.ini $nick HP 10
    writeini pq.ini $nick HPMax 10
    writeini pq.ini $nick HEXP 1154
    writeini pq.ini $nick NextHlvl 1358
    writeini pq.ini $nick Melees 0
    writeini pq.ini $nick Magics 0
    writeini pq.ini $nick Ranges 0
    writeini pq.ini $nick Summons 0
  }
} 
on *:TEXT:SET *:?: {
  if (*$* isin $2-) { 
    halt
  }
  if ($readini(pq.ini,$nick,$2) != 0) { 
    msg $nick $nick You already have your set $2 $+ .
    halt
  }
  else {
    if ($2 == Melee) { 
      writeini pq.ini $nick Melees $replace($3,_,$chr(32),-,$chr(32)) 
      msg $nick $nick You have set your Melee Attack as: $replace($3,_,$chr(32),-,$chr(32)) .
    }
    if ($2 == Magic) { 
      writeini pq.ini $nick Magics $replace($3,_,$chr(32),-,$chr(32)) 
      msg $nick $nick You have set your Magic Attack as: $replace($3,_,$chr(32),-,$chr(32)) $+ .
    }
    if ($2 == Range) { 
      writeini pq.ini $nick Ranges $replace($3,_,$chr(32),-,$chr(32)) 
      msg $nick $nick $+ , You have set your Range Attack as: $replace($3,_,$chr(32),-,$chr(32)) $+ .
    }
    if ($2 == Summon) {
      writeini pq.ini $nick Summons $replace($3,_,$chr(32),-,$chr(32))
      msg $nick $nick You hve set your Summoning Attack as: $replace($3,_,$chr(32),-,$chr(32)) $+ .
    }
  }
}
on *:TEXT:LOGIN *:?: {
  if ($readini(pq.ini,$nick,Connected) == Y) {
    notice $nick $nick $+ , You are already logged in.
    return
  }
  elseif ($readini(pq.ini,$nick,pass) != $encode($2)) { 
    notice $nick $nick $+ , Your login has been Denied.
    msg #PQS $pqc2($nick) $+ $pqc1('s login has been) $pqc2(Denied) $+ $pqc1(.)
    return
  }
  else { 
    writeini pq.ini $nick Connected Y   
    notice $nick $nick $+ , Your login has been Confirmed.
    msg #PQS $pqc2($nick) $+ $pqc1('s login has been) $pqc2(Confirmed) $+ $pqc1(.)
  }
}
on *:TEXT:LOGOUT:?: {
  if ($readini(pq.ini,$nick,Connected) == N) {
    notice $nick $nick $+ , You are already logged out.
    return
  }
  else {
    writeini pq.ini $nick Connected N
    notice $nick $nick $+ , Your logout has been Confirmed.
    msg #PQS $pqc2($nick) $+ $pqc1('s logout has been) $pqc2(Confirmed) $+ $pqc1(.)
  }
}
on *:PART:#Portal-Quest: { 
  if ($readini(pq.ini,$nick,Battle) = Y) {
    msg $chan $pqc2($nick) $pqc1(has left the zone due to parting the channel.)
    writeini pq.ini $nick Battle N
  }
}
on *:QUIT: {
  if ($readini(pq.ini,$nick,Battle) = Y) || ($readini(pq.ini,$nick,Connected) = Y) {
    msg #Portal-Quest $pqc2($nick) $pqc1(has been logged out due to Quiting.)
    writeini pq.ini $nick Battle N
    writeini pq.ini $nick Connected N
  }
}
on $*:TEXT:/^[!.]fight$/Si:#: { 
  if (!$readini(pq.ini,$nick,chr)) { notice $nick You are not registered. | return }
  if ($readini(pq.ini,$nick,Connected) == N) { notice $nick You are not loged in. | return }
  if ($readini(pq.ini,$nick,Battle) == Y) { msg $chan $pqc2($readini(pq.ini,$nick,chr)) $pqc1(starts running from the battle field..) | timer 1 10 lfield $chan $nick | return }
  writeini pq.ini $nick Battle Y
  msg $chan $pqc2($nick $+ ( $+ $readini(pq.ini,$nick,chr) $+ )) $pqc1(has entered the field! To lock on to) $pqc2($iif(($readini(pq.ini,$nick,Gender) == his),him,her)) $pqc1(type)  $pqc2(.lo <nick>) $+ $pqc1(.)
  mode # +v $nick
}
on $*:TEXT:/^[!.]lo/Si:#: { 
  if (!$2-) && ($readini(pq.ini,$nick,lock) != 0) { notice $nick $nick has stopped locking on to $readini(pq.ini,$nick,lock) $+ . | writeini pq.ini $nick lock 0 | return }
  if ($2 !ison $chan) { notice $nick Error - That person is not here. | return }
  if ($readini(pq.ini,$nick,Battle) != Y) { notice $nick Error - You are not in the field. | return }
  if ($readini(pq.ini,$2,Battle) != Y) { notice $nick Error - That person is not in the field. | return }
  msg $chan $pqc2($nick) $pqc1(begins targeting) $pqc2($readini(pq.ini,$2,chr)) $+ $pqc1(..)
  timer 1 5 lock $chan $nick $2
}
on $*:TEXT:/^[!.]melee/Si:#: { 
  if (!$readini(pq.ini,$nick,Melees)) { notice $nick You do not have a Melee skill. | return }
  if ($readini(pq.ini,$nick,lock) == 0) {
    if (!$2) || ($2 !ison $chan) || ($readini(pq.ini,$2,Battle) != Yes) { notice $nick Error - Incorrect Syntax. | return }
    set %temp.lo $2
    set %temp.miss 5
    goto continue
  }
  if ($2) { notice $nick Error - You are already locked on to someone. Say .lo to stop, or .lo <nick> to lock on to someone else. | return }
  if ($readini(pq.ini,$nick,Battle) != Yes) { notice $nick Error - You are not in the Battle Field. | return }
  set %temp.lo $readini(pq.ini,$nick,lock)
  set %temp.miss 3
  :continue
  var %hit $rand(0,$calc($readini(pq.ini,$nick,Attack) / $rand(1,4)))
  var %dmg $calc($readini(pq.ini,$nick,Attack) - $readini(pq.ini,%temp.lo,Defence) + %hit)
  if ($readini(pq.ini,$nick,Attack) == Yes) { notice $nick Error - You are already attacking. | return }
  writeini pqf.ini $nick Attack Yes
  timer 1 3 datk $nick 
  set %temp.hom $rand(1,%temp.miss)
  if (%temp.hom == 1) {
    msg $chan $pqc1([PQ]) $pqc2($readini(pq.ini,$nick,chr)) $pqc1(attacks) $pqc2($readini(pq.ini,%temp.lo,chr)) $pqc1(but misses.)
    return
  }
  writeini pq.ini %temp.lo HP $calc($readini(pq.ini,%temp.lo,HP) - %dmg)
  var %exp $calc($rand(2,5)*%dmg))
  var %hp  $calc(1.5*%dmg)
  if ($readini(pq.ini,%temp.lo,HP) < 1) { writeini pq.ini %temp.lo HP 0 }
  msg $chan $pqc1([PQ]) $pqc2($readini(pq.ini,$nick,chr)) $pqc1(hit a) $pqc2(%dmg) $pqc1(with $readini(pq.ini,$nickgen,)) $pqc2($readini(pq.ini,$nick,Melee)) $pqc1(leaving) $pqc2($readini(pq.ini,%temp.lo,chr)) $pqc1(with) $&
    $pqc2($iif(($readini(pq.ini,%temp.lo,HPMax) == 99),$hpbar($readini(pq.ini,%temp.lo,HP)),$readini(pq.ini,%temp.lo,HP))) $pqc1(hp.)
  notice $nick $pqc1([PQ] $readini(pq.ini,$nick,chr) $+ 's) $pqc2(HP) $+ $pqc1(:) $pqc2($readini(pq.ini,$nick,HP)) $pqc1(- $readini(pq.ini,%temp.lo,chr) $+ 's) $pqc2(HP) $pqc1(:) $pqc2($readini(pq.ini,%temp.lo,HP)) 
  if ($readini(pq.ini,$nick,AEXP) < $readini(pq.ini,$nick,NextAlvl)) && ($readini(pq.ini,$nick,Defgain) == No) { 
    writeini pq.ini $nick AEXP $calc($readini(pq.ini,$nick,AEXP) + %exp)
  } 
  if ($readini(pq.ini,$nick,DEXP) < $readini(pq.ini,$nick,NextDlvl)) && ($readini(pq.ini,$nick,Defgain) == Def) { 
    writeini pq.ini $nick DEXP $calc($readini(pq.ini,$nick,DEXP) + %exp)
  }
  if ($readini(pqstats.ini,$nick,HEXP) < $readini(pqstats.ini,$nick,NextHlvl)) {
    writeini pq.ini $nick HEXP $calc($readini(pq.ini,$nick,HEXP) + %hp)   
  } 
  if ($readini(pq.ini,%temp.lo,HP) < 1) {
    writeini pq.ini %temp.lo HP $readini(pq.ini,%temp.lo,HPMax)
    msg $chan $pqc1([PQ]) $pqc2($readini(pq.ini,%temp.lo,chr)) $pqc1(has died.) $pqc2($readini(pq.ini,%temp.lo,chr)) $pqc1(came into the safe zone.)
    mode # -v %temp.lo
    remini pq.ini %temp.lo lock 
    writeini pq.ini %temp.lo Battle No
  }
  if ($readini(pq.ini,$nick,Attack) >= 99) || ($readini(pq.ini,$nick,Defence) >= 99) {
    halt
  }
  else {
    if ($readini(pq.ini,$nick,AEXP) >= $readini(pq.ini,$nick,NextAlvl)) && ($readini(pq.ini,$nick,Defgain) == No) { 
      msg $chan $pqc1([PQ]) $pqc2($readini(pq.ini,$nick,chr)) $pqc1(has grown to) $pqc2($calc($readini(pq.ini,$nick,Attack) + 1)) $pqc1(Attack.)
      writeini pq.ini $nick Attack $calc($readini(pq.ini,$nick,Attack) + 1)
      writeini pq.ini $nick NextAlvl $xpforlvl($calc($readini(pq.ini,$nick,Attack) + 1))
    }
    if ($readini(pq.ini,$nick,DEXP) >= $readini(pq.ini,$nick,NextDlvl)) && ($readini(pq.ini,$nick,Defgain) == Def) { 
      msg $chan $pqc1([PQ]) $pqc2($readini(pq.ini,$nick,chr)) $pqc1(has grown to) $pqc2($calc($readini(pq.ini,$nick,Defence) + 1)) $pqc1(Defence.)
      writeini pq.ini $nick Defence $calc($readini(pq.ini,$nick,Defence) + 1)
      writeini pq.ini $nick NextDlvl $xpforlvl($calc($readini(pq.ini,$nick,Defence) + 1))
    }
    if ($readini(pq.ini,$nick,HEXP) >= $readini(pq.ini,$nick,NextHlvl)) {
      msg $chan $pqc1([PQ]) $pqc2($readini(pq.ini,$nick,chr)) $pqc1(has grown to) $pqc2($calc($readini(pq.ini,$nick,HPMax) + 1)) $pqc1(Hitpoints.)
      writeini pq.ini $nick HPMax $calc($readini(pq.ini,$nick,HPMax) + 1)
      writeini pq.ini $nick HP $readini(pq.ini,$nick,HPMax)
      writeini pq.ini $nick NextHlvl $xpforlvl($calc($readini(pq.ini,$nick,HPMax) + 1))
    }
  }
}