From the NannyMUD documentation

LAST CHANGE

2005-10-27 by Gabe

FUNCTION


NAME

        set_puzzle - Remember that the player solved a given puzzle.

LOCATION

        In /obj/player.c through /obj/puzzle.c.

AVAILABILITY

        This function can be called by any object.

SYNTAX

        int set_puzzle(string puzzle_name)

DESCRIPTION

        This function stores the information that a given puzzle has been
        solved by the player object it is called in.

RETURN VALUES

        True if the puzzle was not already set.

NOTE

        Do not call query_puzzle to determine if you should call set_puzzle.
        Instead use the return value from set_puzzle to determine if you
        should reward the player.

NOTE

        A good puzzle name always starts with your full name, followed by an
        underscore, followed by a short word, normally a noun. Verbs and
        adjectives will generally only make the string unnecessarily long.
        Puzzle names should be short, unique and to the point. There
        is no need to capitalize any part of its name.

EXAMPLE

        if (player -> set_puzzle("gabe_thing")) {
          player -> add_exp(2000);
        }

SEE ALSO

        query_puzzle in lfun/player/query_puzzle