All pastes #141105 Raw Edit

Mine

public text v1 · immutable
#141105 ·published 2006-08-20 20:54 UTC
rendered paste body
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; VC:MP 0.1b mIRC Rcon script
;   - By Mike -- Stats by ChronicHabbits
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; EDIT THE PATH AND ECHO CHANNEL!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

alias vcmp {

  ; Path to DLL
  set %vcmp.path "C:\rconmircdll.dll"

  ; Echo channel
  set %vcmp.echo #myRLX

  if (!$3) {
    echo -a Missing parameters. Syntax: /vcmp <Address> <Port> <Password>
    halt
  }

  dll %vcmp.path RconConnect /rcon.output $1 $2 $3

}

on *:TEXT:!Help:#myRLX:{
  /notice $nick 4 Type !Stats for your stats, type !Rank for your Rank, Type !Top10 for the top 10, Type !SayStats to show off your stats
}

on *:TEXT:!Stats:#myRLX:{
  if ($readini(members.ini, $nick, Kills) == $null) {
    /writeini -n members.ini $nick Kills 0
  }
  if ($readini(members.ini, $nick, Deaths) == $null) {
    /writeini -n members.ini $nick Deaths 0
  } 
  var %K = $readini(members.ini, $nick, Kills)
  var %D = $readini(members.ini, $nick, Deaths)
/notice $nick 7*** You have %K Kills and %D Deaths, Ratio = $calc(%K / %D) }

;;;;;on *:TEXT:!Rank:#myRLX:{
;;;;;NOT FINISHED YET

;;;;;on *:TEXT:!Top10:#myRLX:{
;;;;;NOT FINISHED YET

on *:TEXT:!SayStats:#myRLX:{
  if ($readini(members.ini, $nick, Kills) == $null) {
    /writeini -n members.ini $nick Kills 0
  }
  if ($readini(members.ini, $nick, Deaths) == $null) {
    /writeini -n members.ini $nick Deaths 0
  } 
  var %K = $readini(members.ini, $nick, Kills)
  var %D = $readini(members.ini, $nick, Deaths)
  var %R = $calc(%K / %D)
  if (%R >= 10) {%status = GURU}
  if ((%R >= 7) && (%R < 10)) {%status = Veteran}
  if ((%R >= 5) && (%R < 7)) {%status = Professional}
  if ((%R >= 2) && (%R < 5)) {%status = Killer}
  if ((%R >= 1) && (%R < 2)) {%status = Rookie} 
  if (%R < 1) {%status = n00b}
/msg $chan 7*** $nick has %K Kills and %D Deaths, Ratio = %R 9 We've got a %status here people } 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Output parsing
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
alias rcon.output {
  if ($1 == [join]) {
    .signal vcmp.join $2-
  }
  elseif ($1 == [chat]) {
    .signal vcmp.chat $left($2,-1) $3-
  }

  elseif ($1 == [part]) {
    .signal vcmp.part $2-
  }

  elseif ($1 == [death]) {
    .signal vcmp.death $vcmp.getdeathinfo($2).name $vcmp.getdeathinfo($2).id
  }
  elseif ($1 == [kill]) {
    .signal vcmp.kill $vcmp.getdeathinfo($2).name $vcmp.getdeathinfo($2).id $vcmp.getdeathinfo($4).name $vcmp.getdeathinfo($4).id
  }
  elseif ($str($chr(42),3) Remote console connected* iswm $1-) {
    .signal vcmp.connected 1
  }
  elseif ($+(*,$chr(9),*) iswm $1-) && ($gettok($1,1,9) isnum) { 
  .signal vcmp.players $1- }
}

alias vcmp.getdeathinfo {
  if ($prop == id) {
    if ($+(*,$chr(40),255,$chr(41)) iswm $1) {
      !return 255
    }
    else {
      !return $right($left($1,-1),1)
    }
  }
  elseif ($prop == name) {
    if ($+(*,$chr(40),255,$chr(41)) iswm $1) {
      !return $left($1,-5)
    }
    elseif ($+($chr(40)) isin $right($1,3)) {
      !return $left($1,-3)
    }
    else {
      !return $left($1,-4)
    }

  }
  else !return -1
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Echo script
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
on *:SIGNAL:vcmp.connected:{
  if (%vcmp.echo) {
    /msg %vcmp.echo 4*** Remote console connected.
  }
}

; Joins
; $1 = PlayerID
; $2 = Player Name
on *:SIGNAL:vcmp.join:{
  var %jk = $readini(members.ini, $2, Kills)
  if (%jk == $null) {
    /writeini -n members.ini $2 Kills 0
  }
  var %jd = $readini(members.ini, $2, Deaths)
  if (%jd == $null) {
    /writeini -n members.ini $2 Deaths 0
  }
  if (%vcmp.echo) {
    /msg %vcmp.echo 9*** $+($chr(91),$1,$chr(93)) $2 joined the game.
  }
}

; Chat
; $1  = Player Name
; $2- = Chat
on *:SIGNAL:vcmp.chat:{
  if (%vcmp.echo) {
    /msg %vcmp.echo 12 < $+ $1 $+ >1 $2-
  }
}

; Parts
; $1 = PlayerID
; $2 = Player Name
; $3 = Reason (0 = timeout/1 = quit/2 = kicked)
on *:SIGNAL:vcmp.part:{
  if (%vcmp.echo) {
    if ($3 == 0) { var %reason = Timeout }
    elseif ($3 == 2) { var %reason = Kicked }

    /msg %vcmp.echo 13*** $+($chr(91),$1,$chr(93)) $2 left the game. $iif(%reason,$+($chr(40),%reason,$chr(41)), $+ )
  }
}

; Deaths
; $1 = Player Name
; $2 = TeamID (255 = deathmatch)
on *:SIGNAL:vcmp.death:{
  if (%vcmp.echo) {
    /msg %vcmp.echo 4* $1 died.
    var %dd = $readini(members.ini, $1, Deaths)
    inc %dd
    /writeini -n members.ini $1 Deaths %dd
  }
}

; Kills
; $1 = Killer Player Name
; $2 = Killer TeamID (255 = deathmatch)
; $3 = Killed Player Name
; $4 = Killed TeamID (255 = deathmatch)
on *:SIGNAL:vcmp.kill:{
  if (%vcmp.echo) {
    /msg %vcmp.echo 4* $1 killed $3 $+ .
    var %kk = $readini(members.ini, $1, Kills)
    var %kd = $readini(members.ini, $3, Deaths)
    inc %kk
    inc %kd
    /writeini -n members.ini $1 Kills %kk
    /writeini -n members.ini $3 Deaths %kd
  }
}

;