From the NannyMUD documentation

LAST CHANGE

2000-12-16

NAME

        kill_logger - Logging the kills players do in your area.

DESCRIPTION

	INTRODUCTION
	This logger allows you to log kills, and nothing else. It shares
	many treats with the other loggers, such as optimisation and disc
	sanity.

	FORMAT
	The log written is kept in a special format, the entries are
	indexed by the name of the player who has made the kill. For
	each player an array of kills is kept, each kill containing
	one of the following fields (as setup bu YOU):

	FIELD_KILL_TIME
	  The time when the kill was done, as returned by time().

	FIELD_PLAYER_LEVEL
	  The level of the player that made the kill.

	FIELD_PLAYER_GUILD
	  The guild of the player that made the kill.

	FIELD_PLAYER_ALIGN
	  The alignment of the player that made the kill.

	FIELD_GAINED_XP
	  The ammount of XP gained by player from the kill.

	FIELD_MONSTER_NAME
	  The name of the monster, as returned by query_name().

	FIELD_MONSTER_WORTH
	  The ammount of GC the monster was carrying (not counted for
	  monsters with no corpse).

	FIELD_MONSTER_ALIGN
	  The alignment of the monster that died.

	FIELD_MONSTER_FILENAME
	  The full filename of the monster that died.

	HOW TO USE
	1/ Copy the file
	   /std/special/logger/kill_logger/kill_logger_inherit.c
	   to a good place in your directory structure.

	2/ Copy the file
	   /std/special/logger/kill_logger/log_room.c
	   to a good place in your directory structure.

	3/ Modify YOUR kill_logger_inherit.c as following:
	   3'1/ Change the return value of remote_get_log_filename
		to return the file where you want your logged info to
		be kept (ie. "log/kill_log" -> the datafile will reside
		into /players/YOURNAME/log/kill_log.o).
	   3'2/ Comment any of the | (or) branches from
		remote_get_log_fields to remove that specific information
		from the logged data (it will be replaced with 0 in the
		logfile).

	4/ Modify #define LOGD in YOUR log_room.c to point at the file
	   where you placed your kill_logger_inherit (and, eventually, add
	   more code to suit your taste).

	5/ For each monster you want logged, add a die_hook to your
	   kill_logger_inherit (ie. in reset(), near the place you set
	   the short/log etc. add:
		add_hook("die_hook", PATH_TO_LOGGER_INHERIT);
	   Where PATH_TO_LOGGER_INHERIT is the path to YOUR copy of
	   kill_logger_inherit.c

NOTE

        1/ Entries older than 90 days will be removed.
        2/ At most 999 entries will be kept in the file.
	3/ At most 100 entries will be kept for a single player.

FUNCTION


NAME

        die_hook - 

SYNTAX

	void die_hook(mixed arg, object player);

DESCRIPTION

	This is called whenever a monster dies.

FUNCTION


NAME

        get_parsed_data - 

SYNTAX

	mixed get_parsed_data()

DESCRIPTION

	Returns the data logged as specified above: a mapping indexed
	by the player name containing an array of array of fields.
	Each field can be reffered by FIELD_..info by the names described
	above. The fields you do not log (ie. are commented in
	kill_logger_inherit) are replaced with 0 instead of valid value.

FUNCTION


NAME

        void clear_all_data - 

SYNTAX

	void clear_all_data()

DESCRIPTION

	Calling this function clears the logged data.