[an error occurred while processing this directive]
[<a href="index.shtml">Package Index</a></code> | <a href="index_std.shtml">Mudlib Index</a></code> | <a href="index_eff.shtml">Effect Index</a></code>]<br><h2>File /global/player.c</h2>
The main player object.  Does all the player related stuff.<p>Written by Pinkfish<p>Started December 1991
<h2>Inherits</h2>
This class inherits the following classes <a href="global.path.c.shtml">/global/path.c</a>, <a href="global.more_file.c.shtml">/global/more_file.c</a>, <a href="global.pweath.c.shtml">/global/pweath.c</a>, <a href="global.finger.c.shtml">/global/finger.c</a>, <a href="global.start_position.c.shtml">/global/start_position.c</a>, <a href="global.guild-race.c.shtml">/global/guild-race.c</a>, <a href="global.psoul.c.shtml">/global/psoul.c</a>, <a href="global.line_ed.c.shtml">/global/line_ed.c</a>, <a href="global.family.c.shtml">/global/family.c</a>, <a href="std.living.living.c.shtml">/std/living/living.c</a>, <a href="global.spells.c.shtml">/global/spells.c</a>, <a href="global.log.c.shtml">/global/log.c</a>, <a href="global.more_string.c.shtml">/global/more_string.c</a> and <a href="global.events.c.shtml">/global/events.c</a><h2>Includes</h2>
This class includes the following files <a href="include.clubs.h.shtml">/include/clubs.h</a>, <a href="include.bounty.h.shtml">/include/bounty.h</a>, <a href="include.board.h.shtml">/include/board.h</a>, <a href="include.group_handler.h.shtml">/include/group_handler.h</a>, <a href="include.db.h.shtml">/include/db.h</a>, <a href="include.refresh.h.shtml">/include/refresh.h</a>, <a href="include.weather.h.shtml">/include/weather.h</a>, <a href="include.top_ten_tables.h.shtml">/include/top_ten_tables.h</a>, <a href="include.playtesters.h.shtml">/include/playtesters.h</a>, <a href="include.quest_handler.h.shtml">/include/quest_handler.h</a>, <a href="include.player_handler.h.shtml">/include/player_handler.h</a>, <a href="include.drinks.h.shtml">/include/drinks.h</a>, <a href="include.am_time.h.shtml">/include/am_time.h</a>, <a href="include.skills.h.shtml">/include/skills.h</a>, <a href="include.mail.h.shtml">/include/mail.h</a>, <a href="include.command.h.shtml">/include/command.h</a>, <a href="include.log.h.shtml">/include/log.h</a>, <a href="include.login.h.shtml">/include/login.h</a>, <a href="include.living.h.shtml">/include/living.h</a>, <a href="include.library.h.shtml">/include/library.h</a>, <a href="include.config.h.shtml">/include/config.h</a>, <a href="include.playerinfo.h.shtml">/include/playerinfo.h</a>, <a href="include.error_handler.h.shtml">/include/error_handler.h</a>, <a href="include.nroff.h.shtml">/include/nroff.h</a>, <a href="include.tune.h.shtml">/include/tune.h</a>, <a href="include.player.h.shtml">/include/player.h</a>, <a href="include.login_handler.h.shtml">/include/login_handler.h</a>, <a href="include.guilds.h.shtml">/include/guilds.h</a> and <a href="include.deity.h.shtml">/include/deity.h</a><h2>Class Index</h2>
<ul><li><a href="#class_player_info">player_info</a>
</ul><h2>Method index</h2>
<dl><ul>
<li><a href="#adjust_deaths">adjust_deaths</a>(int)<br/>
This method changes the number of times the player has died.
<li><a href="#adjust_max_deaths">adjust_max_deaths</a>(int)<br/>
Changes the current number of maxium deaths.
<li><a href="#allow_save">allow_save</a>()<br/>
This method allows the player to save again after they have been
disallowed.
<li><a href="#check_dark">check_dark</a>(int)<br/>
Can the player see?
<li><a href="#disallow_save">disallow_save</a>()<br/>
This method stops the player from being able to save.
<li><a href="#do_load_auto">do_load_auto</a>()<br/>
Starts the autoloading process.
<li><a href="#do_quit">do_quit</a>()<br/>
quits the player.
<li><a href="#examine">examine</a>(string)<br/>
Forces the player to examine something.
<li><a href="#extra_score">extra_score</a>()<br/>
This method returns any extra information associated with the score.
<li><a href="#glance">glance</a>(string)<br/>
Force the player to glance.
<li><a href="#heart_beat">heart_beat</a>()<br/>
The main heart beat function.
<li><a href="#idle_out">idle_out</a>()<br/>
Checks to see if they have idled out.
<li><a href="#look_me">look_me</a>(string)<br/>
Force the player to look.
<li><a href="#move_player_to_start">move_player_to_start</a>(string, int, string, string, int)<br/>
This method is called from within the login code to start up the
new player, set their name and move them into the correct
location on the mud.
<li><a href="#net_dead">net_dead</a>()<br/>
Called when the player goes net dead.
<li><a href="#query_activity_counter">query_activity_counter</a>()<br/>
Return the current value of this players activity_counter
(used for debugging)

<li><a href="#query_cap_name">query_cap_name</a>()<br/>
This method returns the current capitalised name of the player.
<li><a href="#query_creator">query_creator</a>()<br/>
This method returns if the object is a creator or not.
<li><a href="#query_deaths">query_deaths</a>()<br/>
This method returns the number of times the player has died.
<li><a href="#query_last_log_on">query_last_log_on</a>()<br/>
This method returns the time at which the player last logged on.
<li><a href="#query_level">query_level</a>()<br/>
Returns the players level.
<li><a href="#query_mature">query_mature</a>()<br/>
This method determins if the player is mature or not yet.
<li><a href="#query_max_deaths">query_max_deaths</a>()<br/>
Returns the maxium number of deaths.
<li><a href="#query_monitor">query_monitor</a>()<br/>
Is rthe monitor turned on?
<li><a href="#query_no_logins">query_no_logins</a>()<br/>
This method returns the number of times the player has logged onto
Discworld.
<li><a href="#query_object_type">query_object_type</a>(object)<br/>
This method returns the one letter object type which is used in the
finger command to display the type of object.
<li><a href="#query_prevent_shadow">query_prevent_shadow</a>(object)<br/>
Prevent the object from shadowing us?
<li><a href="#query_refresh_time">query_refresh_time</a>()<br/>
This method returns the time at which the player last refreshed.
<li><a href="#query_save_inhibit">query_save_inhibit</a>()<br/>
This method returns the value of the disallowing save variable.
<li><a href="#query_sight_levels">query_sight_levels</a>()<br/>
This returns the sight values for the race/player.
<li><a href="#query_snoopee">query_snoopee</a>()<br/>
Returns the object snooping us.
<li><a href="#query_start_time">query_start_time</a>()<br/>
This is the date on which the character was started.
<li><a href="#query_time_on">query_time_on</a>()<br/>
The amount of time on line.
<li><a href="#query_title">query_title</a>()<br/>
This method returns the list of titles associated with this player.
<li><a href="#query_titles">query_titles</a>()<br/>
This method returns the mapping of all the title associated with this
player.
<li><a href="#query_wizard">query_wizard</a>()<li><a href="#quit">quit</a>()<br/>
A forced quit.
<li><a href="#quit_alt">quit_alt</a>(int)<br/>
This is the quit code called by the command 'quit'
<li><a href="#remove_ghost">remove_ghost</a>()<br/>
This method removes the ghost from the player.
<li><a href="#remove_title">remove_title</a>(string)<br/>
This method removes the title of the given type from the title mapping.
<li><a href="#restart_heart_beat">restart_heart_beat</a>()<br/>
Restarts their heartbeat if it has got turned off for some reason.
<li><a href="#run_away">run_away</a>()<br/>
Called when the player wimpys out of a place.
<li><a href="#save">save</a>()<br/>
This method is deprecated.
<li><a href="#save_me">save_me</a>()<br/>
Saves the player.
<li><a href="#save_with_auto_load">save_with_auto_load</a>(mixed)<li><a href="#second_life">second_life</a>()<br/>
This method is called when the player dies.
<li><a href="#set_max_deaths">set_max_deaths</a>(int)<br/>
Sets the maximum number of deaths.
<li><a href="#set_monitor">set_monitor</a>(int)<br/>
Set the hit point minitor.
<li><a href="#set_title">set_title</a>(string, string)<br/>
This method sets the current title type to be of a certain name.
<li><a href="#toggle_wimpy">toggle_wimpy</a>(string)<br/>
This method changes the current value of the wimpy variables.
<li><a href="#write_prompt">write_prompt</a>()</ul><h2>Public Functions</h2>
These are functions that everyone can access.<p>
.<ul><a name="adjust_deaths">
adjust_deaths</a><pre>
void adjust_deaths(int i)
</pre></br>
This method changes the number of times the player has died.  This
can only be positive.
<br/><ul>
<li><b>Parameters:</b>
<br/>i - the amount of deaths to adjust by, must be +ve
<li><b>See also:</b>
<br/><a href="#query_deaths">query_deaths()</a> and <a href="#adjust_max_deaths">adjust_max_deaths()
</a></dl>

<ul><a name="adjust_max_deaths">
adjust_max_deaths</a><pre>
int adjust_max_deaths(int i)
</pre></br>
Changes the current number of maxium deaths.  This adjust
the number of times a player can die before they are totaly dead.
<br/><ul>
<li><b>Parameters:</b>
<br/>i - the amount of deaths to adjust by, must be +ve

<li><b>Returns:</b>
<br/>the current total maximum deaths
</dl>

<ul><a name="allow_save">
allow_save</a><pre>
void allow_save()
</pre></br>
This method allows the player to save again after they have been
disallowed.
<br/><ul>
<li><b>See also:</b>
<br/><a href="#disallow_save">disallow_save()</a> and <a href="#query_save_inhibit">query_save_inhibit()
</a></dl>

<ul><a name="check_dark">
check_dark</a><pre>
int check_dark(int light)
</pre></br>
Can the player see?  Checks to see if the player can see at the passed
in light level.
<br/><ul>
<li><b>Returns:</b>
<br/>1 if they can see, 0 if they cannot

</dl>

<ul><a name="disallow_save">
disallow_save</a><pre>
void disallow_save()
</pre></br>
This method stops the player from being able to save.  This is done while
the inventory is regenerating to stop problems with inventory loss due
to logging off before it has finished.
<br/><ul>
<li><b>See also:</b>
<br/><a href="#allow_save">allow_save()</a> and <a href="#query_save_inhibit">query_save_inhibit()
</a></dl>

<ul><a name="do_load_auto">
do_load_auto</a><pre>
void do_load_auto()
</pre></br>
Starts the autoloading process.  This is called just after a player
logs in to start up the auto loading process.


<ul><a name="do_quit">
do_quit</a><pre>
int do_quit()
</pre></br>
quits the player.
<br/><ul>
<li><b>Returns:</b>
<br/>zero if it failed, non zero on success
<li><b>See also:</b>
<br/><a href="#quit">quit()</a> and <a href="#quit_alt">quit_alt()
</a></dl>

<ul><a name="examine">
examine</a><pre>
int examine(string arg)
</pre></br>
Forces the player to examine something.  This does the same as the look_me
function.
<br/><ul>
<li><b>Parameters:</b>
<br/>arg - the thing to look at.

<li><b>Returns:</b>
<br/>0 on a failure, non zero on success.
<li><b>See also:</b>
<br/><a href="#look_me">look_me()</a></dl>

<ul><a name="extra_score">
extra_score</a><pre>
string extra_score()
</pre></br>
This method returns any extra information associated with the score.  This
method will mostly be overridden by shadows which wish to place more
information into the score command.
<br/><ul>
<li><b>Returns:</b>
<br/>the extra information to place in the score

</dl>

<ul><a name="glance">
glance</a><pre>
int glance(string str)
</pre></br>
Force the player to glance.  Forces the player to glance in a
certain direction.
<br/><ul>
<li><b>Parameters:</b>
<br/>str - the direction to glance in
<li><b>Returns:</b>
<br/>0 ifg the command failed, non zer if it succeeded

</dl>

<ul><a name="heart_beat">
heart_beat</a><pre>
void heart_beat()
</pre></br>
The main heart beat function.  This is called by the driver
every 2 seconds on the player.  Does all the maintence
 stuff like fixing up hps and stuff like that.


<ul><a name="idle_out">
idle_out</a><pre>
void idle_out()
</pre></br>
Checks to see if they have idled out.  This is called from within
the heart beat code.
<br/><ul>
<li><b>See also:</b>
<br/><a href="#heart_beat">heart_beat()
</a></dl>

<ul><a name="look_me">
look_me</a><pre>
int look_me(string str)
</pre></br>
Force the player to look.  Forces the player to look at something
or just around.  If the input is set to "" then they look around.
<br/><ul>
<li><b>Parameters:</b>
<br/>str - what to look at
<li><b>Returns:</b>
<br/>0 if it failed, non zero on success
<li><b>See also:</b>
<br/><a href="#efun::command">efun::command()
</a></dl>

<ul><a name="move_player_to_start">
move_player_to_start</a><pre>
void move_player_to_start(string bong,
                          int new_flag,
                          string c_name,
                          string ident,
                          int go_invis)
</pre></br>
This method is called from within the login code to start up the
new player, set their name and move them into the correct
location on the mud.
<br/><ul>
<li><b>Parameters:</b>
<br/>bong - the name of the player
<br/>new_flag - are the a new player?
<br/>c_name - their capital name
<br/>ident - the ident from the authorisation code
<br/>go_invis - go invsible on login

</dl>

<ul><a name="net_dead">
net_dead</a><pre>
void net_dead()
</pre></br>
Called when the player goes net dead.  This is called
by the driver when a player goes net dead.  Turns them into
a statue and stuff.


<ul><a name="query_activity_counter">
query_activity_counter</a><pre>
int query_activity_counter()
</pre></br>
Return the current value of this players activity_counter
(used for debugging)


<ul><a name="query_cap_name">
query_cap_name</a><pre>
nomask string query_cap_name()
</pre></br>
This method returns the current capitalised name of the player.
<br/><ul>
<li><b>Returns:</b>
<br/>the current capitalised name
<li><b>See also:</b>
<br/><a href="#set_cap_name">set_cap_name()
</a></dl>

<ul><a name="query_creator">
query_creator</a><pre>
int query_creator()
</pre></br>
This method returns if the object is a creator or not.
<br/><ul>
<li><b>Returns:</b>
<br/>1 if the object is a creator, 0 if not

</dl>

<ul><a name="query_deaths">
query_deaths</a><pre>
int query_deaths()
</pre></br>
This method returns the number of times the player has died.
<br/><ul>
<li><b>Returns:</b>
<br/>the number of times the player has died
<li><b>See also:</b>
<br/><a href="#adjust_deaths">adjust_deaths()</a> and <a href="#adjust_max_deaths">adjust_max_deaths()
</a></dl>

<ul><a name="query_last_log_on">
query_last_log_on</a><pre>
int query_last_log_on()
</pre></br>
This method returns the time at which the player last logged on.
<br/><ul>
<li><b>Returns:</b>
<br/>the last logged on time

</dl>

<ul><a name="query_level">
query_level</a><pre>
int query_level()
</pre></br>
Returns the players level.  Uses their current guild to determine their
guild level.
<br/><ul>
<li><b>Returns:</b>
<br/>their guild level

</dl>

<ul><a name="query_mature">
query_mature</a><pre>
int query_mature()
</pre></br>
This method determins if the player is mature or not yet.  It is based
 on the amount of time on.
<br/><ul>
<li><b>Returns:</b>
<br/>1 if the player is mature, 0 if they are not

</dl>

<ul><a name="query_max_deaths">
query_max_deaths</a><pre>
int query_max_deaths()
</pre></br>
Returns the maxium number of deaths.  This is the maxium number of times they
can die before they are totaly dead.
<br/><ul>
<li><b>Returns:</b>
<br/>the maxiumm number fo deaths

</dl>

<ul><a name="query_monitor">
query_monitor</a><pre>
int query_monitor()
</pre></br>
Is rthe monitor turned on?  The hit point monitor which is
displyed during combat...

<br/><ul>
<li><b>Returns:</b>
<br/>1 if it is on, 0 if not

</dl>

<ul><a name="query_no_logins">
query_no_logins</a><pre>
int query_no_logins()
</pre></br>
This method returns the number of times the player has logged onto
Discworld.
<br/><ul>
<li><b>Returns:</b>
<br/>the number of logins

</dl>

<ul><a name="query_object_type">
query_object_type</a><pre>
string query_object_type(object player)
</pre></br>
This method returns the one letter object type which is used in the
finger command to display the type of object.
<br/><ul>
<li><b>Returns:</b>
<br/>the one letter object type

</dl>

<ul><a name="query_prevent_shadow">
query_prevent_shadow</a><pre>
int query_prevent_shadow(object ob)
</pre></br>
Prevent the object from shadowing us?  This checks to see if we should
prevent this object from shadowing the player.
<br/><ul>
<li><b>Returns:</b>
<br/>1 if we are prventing the shadow

</dl>

<ul><a name="query_refresh_time">
query_refresh_time</a><pre>
int query_refresh_time()
</pre></br>
This method returns the time at which the player last refreshed.
<br/><ul>
<li><b>Returns:</b>
<br/>the last refresh time

</dl>

<ul><a name="query_save_inhibit">
query_save_inhibit</a><pre>
int query_save_inhibit()
</pre></br>
This method returns the value of the disallowing save variable.  If this
is a non-zero value then the player must not be saved.
<br/><ul>
<li><b>See also:</b>
<br/><a href="#allow_save">allow_save()</a> and <a href="#disallow_save">disallow_save()
</a></dl>

<ul><a name="query_sight_levels">
query_sight_levels</a><pre>
int * query_sight_levels()
</pre></br>
This returns the sight values for the race/player.  It is changed by any
of the dark sight/whatever effects that are used.  It returns an
array of 4 values.
<br/><ul>
<li><b>Returns:</b>
<br/>({ TOO DARK, DARK, BRIGHT, TOO BRIGHT })

</dl>

<ul><a name="query_snoopee">
query_snoopee</a><pre>
nomask object query_snoopee()
</pre></br>
Returns the object snooping us.  If someone is snooping the player it
returns the object doing the snooping.  If no one is snooping the player
it returns 0.
<br/><ul>
<li><b>Returns:</b>
<br/>the object snooping the player
<li><b>See also:</b>
<br/><a href="#efun::snoop">efun::snoop()
</a></dl>

<ul><a name="query_start_time">
query_start_time</a><pre>
int query_start_time()
</pre></br>
This is the date on which the character was started.  The very first
time the player ever logged on.
<br/><ul>
<li><b>Returns:</b>
<br/>the time at which the player first logged on

</dl>

<ul><a name="query_time_on">
query_time_on</a><pre>
nomask int query_time_on()
</pre></br>
The amount of time on line.  This is the total amount of time online
in seconds from when they first started playing.  The return from
this method is *negative*, you will need to make it positive to use it
most likely.
<br/><ul>
<li><b>Returns:</b>
<br/>the total log on time in seconds (the return value is *negative*)

</dl>

<ul><a name="query_title">
query_title</a><pre>
string query_title()
</pre></br>
This method returns the list of titles associated with this player.
<br/><ul>
<li><b>Returns:</b>
<br/>the list of titles
<li><b>See also:</b>
<br/><a href="#query_titles">query_titles()</a>, <a href="#set_title">set_title()</a> and <a href="#remove_title">remove_title()
</a></dl>

<ul><a name="query_titles">
query_titles</a><pre>
mapping query_titles()
</pre></br>
This method returns the mapping of all the title associated with this
player.
<br/><ul>
<li><b>Returns:</b>
<br/>the current mapping of titles
<li><b>See also:</b>
<br/><a href="#query_title">query_title()</a>, <a href="#set_title">set_title()</a> and <a href="#remove_title">remove_title()
</a></dl>

<ul><a name="query_wizard">
query_wizard</a><pre>
int query_wizard()
</pre>
<ul><a name="quit">
quit</a><pre>
int quit()
</pre></br>
A forced quit.
This is the function called by external objects to quit
a player. It avoids checks for things like being in combat.

<br/><ul>
<li><b>Returns:</b>
<br/>0 if it failed, non zero if it succeeded.
<li><b>See also:</b>
<br/><a href="#do_quit">do_quit()</a>, <a href="#quit_alt">quit_alt()</a> and <a href="#efun::command">efun::command()
</a></dl>

<ul><a name="quit_alt">
quit_alt</a><pre>
int quit_alt(int verbose)
</pre></br>
This is the quit code called by the command 'quit'
<br/><ul>
<li><b>Returns:</b>
<br/>1 if successful, 0 if failed
<li><b>See also:</b>
<br/><a href="#quit">quit()</a> and <a href="#do_quit">do_quit()
</a></dl>

<ul><a name="remove_ghost">
remove_ghost</a><pre>
void remove_ghost()
</pre></br>
This method removes the ghost from the player.  This stops them
being a ghost and turns them back into a real person.
<br/><ul>
<li><b>See also:</b>
<br/><a href="#second_life">second_life()
</a></dl>

<ul><a name="remove_title">
remove_title</a><pre>
void remove_title(string type)
</pre></br>
This method removes the title of the given type from the title mapping.
<br/><ul>
<li><b>Parameters:</b>
<br/>type - the type of title to remove
<li><b>See also:</b>
<br/><a href="#query_title">query_title()</a>, <a href="#set_title">set_title()</a> and <a href="#remove_title">remove_title()
</a></dl>

<ul><a name="restart_heart_beat">
restart_heart_beat</a><pre>
int restart_heart_beat()
</pre></br>
Restarts their heartbeat if it has got turned off for some reason.
<br/><ul>
<li><b>Returns:</b>
<br/>always returns 1

</dl>

<ul><a name="run_away">
run_away</a><pre>
int run_away()
</pre></br>
Called when the player wimpys out of a place.  This does all the run
away stuff anfd things like that.
<br/><ul>
<li><b>Returns:</b>
<br/>1 if succeeded in running away, 0 if not

</dl>

<ul><a name="save">
save</a><pre>
nomask int save()
</pre></br>
This method is deprecated.

<br/><ul>
<li><b>Returns:</b>
<br/>always returns 1
<li><b>See also:</b>
<br/><a href="#save_me">save_me()
</a></dl>

<ul><a name="save_me">
save_me</a><pre>
void save_me()
</pre></br>
Saves the player.  Saves the player to disc, doing all the autoload
stuff and such like.
<br/><ul>
<li><b>See also:</b>
<br/><a href="#save">save()
</a></dl>

<ul><a name="save_with_auto_load">
save_with_auto_load</a><pre>
void save_with_auto_load(mixed al)
</pre>
<ul><a name="second_life">
second_life</a><pre>
mixed second_life()
</pre></br>
This method is called when the player dies.  It creates the corpse
and handles all the bits and pieces that should be dealth with
when a player dies.
<p>
If this method returns 0 then the automatic death handling code
in the living object is used instead of this.
<br/><ul>
<li><b>Returns:</b>
<br/>always returns 1

</dl>

<ul><a name="set_monitor">
set_monitor</a><pre>
void set_monitor(int i)
</pre></br>
Set the hit point minitor.  This sets the value of the hit point
monitor flag.  If it is set to 0, the monitor is turned off.  If
it is set to 1 the monitor is turned on, higher values cause the monitor
to be displayed every N heartbeats.

<br/><ul>
<li><b>Parameters:</b>
<br/>i - the new value for the hit point monitor flag

</dl>

<ul><a name="set_title">
set_title</a><pre>
void set_title(string type,
               string title)
</pre></br>
This method sets the current title type to be of a certain name.
<br/><ul>
<li><b>Parameters:</b>
<br/>type - the type of title to set
<br/>title - the string to set it to
<li><b>See also:</b>
<br/><a href="#query_title">query_title()</a>, <a href="#set_title">set_title()</a> and <a href="#remove_title">remove_title()
</a></dl>

<ul><a name="toggle_wimpy">
toggle_wimpy</a><pre>
int toggle_wimpy(string str)
</pre></br>
This method changes the current value of the wimpy variables.
<br/><ul>
<li><b>Parameters:</b>
<br/>str - the new value of the wimpy variable
<li><b>Returns:</b>
<br/>0 on failure and 1 on success

</dl>


<h2>Protected Functions</h2>
These are functions that only objects inheriting the class can access.<p>
<ul><a name="set_max_deaths">
set_max_deaths</a><pre>
void set_max_deaths(int i)
</pre></br>
Sets the maximum number of deaths.  This sets the maximum number of times a player can
die.
<br/><ul>
<li><b>Parameters:</b>
<br/>i - the nukber of deaths to set it to
<li><b>See also:</b>
<br/><a href="#adjust_max_deaths">adjust_max_deaths()
</a></dl>

<ul><a name="write_prompt">
write_prompt</a><pre>
void write_prompt()
</pre>

<h2>Classes</h2>
These are nice data types for dealing with...  Data!<p>
<ul>
<li><a name="class_player_info">
player_info</a><pre>
class player_info {
                    int hb_num;
                    int level;
                    int level_time;
                    int save_inhibit;
                    int update_tmps_call_out;
                    int last_save;
                    object snoopee;
                    mapping titles;
}

</pre>
</ul>
[an error occurred while processing this directive]

