Other version what load the data into a hidden window and after search the data from it.. That version must be much faster than previous..

Code:
on 1:TEXT:!monster *:#:{
  if (!$window(@MonsterData)) {
    window -h @MonsterData
    loadbuf @MonsterData monsters.txt
  }
  if ($2 isnum) { 
    close -@ @@
    window -h @@
    filter -ww @MonsterData @@ $+($2,$chr(44),*)
    var %Data = $line(@@,1)
    window -c @@
    msg $chan $nick %Data
  }
  elseif ($len($2) >= 1)  {
    close -@ @@
    window -h @@
    var %RegEx = /\d+\x2c(?i) $+ $2 $+ \x2c/ | ; \x2c = $asc(,) in hexadecimal
    filter -wwg @MonsterData @@ %RegEx
    var %Data = $line(@@,1)
    window -c @@
    msg $chan $nick %Data
  }
}