CONCEPT messages DESCRIPTION Messages are a way to make communication between user objects and non player (monster) objects easier. A efun, send_msg, is used to 'broadcast' actions to other living objects in a room. The living objects can catch those broadcasts with its lfun catch_msg(), which is applied by the driver. The mechanismus is similar to the efun say() and the receiving lfun catch_tell() in the living object. But while say() can only be used to send simple strings, send_msg() can send any type of information. While send_msg can be used to talk to other livings in the room, it is not limited to that. The idea is to have several types of messages. These include saying something in the room, informing others that someone has picked up something, has left the room, and more. This scheme should it make much easier for npcs to react to actions. The following principle is established to provide a standard way of using the message system. The message types are represented as integers, which have symbolic representations in <messsages.h>. There is a special message type, MSG_PRIVATE, which can be used for private messages which are only understood by some objects of a speific wizard or domain. The MSG_PRIVATE type code must be followed by a unique string type (use your imagination to find something unique, preferred would be something like "<wizname>_<action>". The standard types require a special set of parameters for each standard type. The description of the parameters follow. MSG_SAY, object *from, varargs... Used when object <from> says something in the room. MSG_ENTER, object *from Used when object <from> enters the room. MSG_LEAVE, object *from, string direction Used when object <from> leaves to <direction>. MSG_ATTACK, object *attacker, object *attacked Used when object <attacker> makes an attack on <attacked>. MSG_PRIVATE, string unique_string, varargs... Used for private messages. <unique_string> must be a string unique within the system. SEE ALSO send_msg(E), catch_msg(A), say(E)