Yeah. Good thing I posted then. I've started on hash tables, finally. I could get the hang of it if I could just tell it to return at least something on every error message. This isn't exactly FOR the dialog, but the dialog will be able to pull from the same script. Revise as much as you like:
Code:
ON *:TEXT:+wolf*:#: { 
  if ( $2 != $null ) { 
    var %name = $2
    /hmake %name 10
    hadd -m %name Charname %name
    hadd %name Pack --
    hadd %name Rank --
    hadd %name Hist --
    hadd %name Desc --
    hadd %name Health 10
    hadd %name Hunger 10
    hadd %name Exp 0
    /msg $chan $2 added to directory.
  }
  elseif ( $2 == $null ) {
    /msg $chan Insufficient parameters: Please specify a nick to add.
  }
  else { /say $2 is already listed in the archive! }
}
On *:TEXT:-wolf*:#: {
  if ( $2 != $null ) {
    /hfree $2 
    /msg $chan $2 has been erased from the directory.
  }
  elseif ( $2 == $null ) {
    /msg $chan Insufficient parameters: Please specify a nick to wipe.
  }
}

;------------------------Bio
On *:TEXT:.bio*:#: {
  if ( $2 != $null ) { /msg $chan $hget( [ $$2 ], Hist ) }
  elseif ( $2 == $null ) { 
  } 
  /msg $chan $hget( [ $nick ], Hist ) 
}
else { /msg $chan I don't have a bio set for that wolf. }
}
On *:TEXT:+bio*:#: {
if ( $3 != $null ) { /hadd $nick $$3 | /msg $chan Your character's history has been set. Type .bio to view it. }
if ( $3 == $null ) { /msg $chan Insufficient parameters: Type in your bio!! }
}

;------------------------Description
On *:TEXT:.desc*:#: {
if ( $2 != $null ) { /msg $chan $hget( [ $$2 ], Desc ) }
elseif ( $2 == $null ) {
}
/msg $chan $hget( [ $nick ], Desc ) 
}
else { /msg $chan I don't have a description set for that wolf. }
}
On *:TEXT:+desc*:#: {
if ( $3 != $null ) { /hadd $nick Desc $$3 | /msg $chan Your character's description has been set. Type .desc to view it. }
if ( $3 == $null ) { /msg $chan Insufficient parameters: Type in your description!! }
}

;------------------------Greet


;------------------------Pack

;------------------------Rank


When you try to add something that is already there, I don't know how to make it check to see if its already there and return something like "Blah is already in the directory!!"