��Ϣ����� (message document)
message() �� MudOS ��, ����Ƶ��ⲿ���� (efun). �˺�������;��ʹ��Ϣ���ݸ�����, ���ṩ��Ϣ�������ͨ�ı�.
������ message ��ʹ��˵��:
��:
- void message( mixed class, string message, mixed
targets, mixed exclude);
����ֵ message( ��� class, �ַ��� message, ��� targets, ��� exclude );
message ����Ҫ�������Ϣ�ַ���.
class ����Ϣ������ (����Ϣ���������������������) һЩ��������: combat (ս��)��shout (�ź�)��emergency (Σ��) �ȵ�.
target �ǽ�����Ϣ���������. ������һ������ļ����Ƶ��ַ���, Ҳ������һ�����ָ�� (pointer), ������Ƕ��������ļ����ƻ�ָ������� (array).
exclude �Dz����յ���Ϣ���������. ������һ�����ָ����Ƕ�����ָ�������.
message() ��������Ҫ�ĵط�Ӧ���� class ����. �������ȷʹ����, ����������һ���Ķ����Թ�����Ϣ, ��������Ϣ���������Դ���. class ������message �ַ�����Ϣ�ķ���Ϊ��. һ��ʼ�ķ���Ӧ���� shout (�ź�)��say (̸��)��write (��ʾ)��tell_object (���������Ϣ) (tell_object ��ģ���ⲿ���� (simul_efun) �е� tell_object() ��������, ���洫ͳ���ⲿ����).
̸������, �������Ҫ��������һ���Ķ��ֹ��� (�����ź��Ĺ���). ������ʹ���� (���) �����, ��Ҫ�� receive_message() ����. ������һ��������� (���� mudlib ��ͬ, Ӧ����һЩ�����Է���ʵ�����) :
- void receive_message (string msg, mixed class)
{
- receive(msg);
/* �ȳ�ʼ�� muffle �����ֵ, ��Ԥ�� muffle û�ж���ʱ, �� member_array() ��������ָ��������Ϣ. */
- string *muffle = ({});
- int muffle_class ( string arg )
{
- muffle += ({ arg });
��
- void receive_message ( string msg, string class
)
{
- if ( member_array( class, muffle ) == -1 )
- receive(msg);
����, �ڴ�ͳ�� mud ������, ��������ʹ�� shout() ����Ϣ�����ź�. Ʃ��˵, mud ϵͳ����Ա������е�ʹ�������� mud ��������Ӻ�ر�. ���һ��, ���ܻ��� echo ָ��. �� echo ָ����ʹ�� shout(). ��˵���ʹ���ź����ֵ�ʹ������������Ҫ����Ϣ. �������α�ʾ��Ϣ����Ҫ�ٷ���. ����, ����Ǭ���������Ϣ����Ϊ�µ� broadcast (�㲥) ����. �����ַ��������ÿһ���˶�����������Ҫ��Ϣ. ����Ӧ����ʹ����ʹ�ù㲥����.
�����ǿ�����һ������. ���������������өĻ�ı������ (emotes) �е��ᷳ�Ļ�,
������� ? Ҫ���и�������Ϣ�Ķ��ָ��ж�� ? ����Ȼ, ������Ҫ����Щ��Ϣ����Ϊ
emote (����).�� ������Ҳ����뵽: ��ι....�ҿɲ�����ÿ��д���ֱ���ָ���ʱ��,
��Ҫ���Ǹ��������ӵ� message() �������� write() �� say() �ͺܼ�, ����Ը����Щ�����ð�,
��Ҳͬ�����Ļ�. Ҫ�Ը������
��, �ҽ�һ����õ�����Ϣ����д�ɸ����ģ���ⲿ���� (simul_efun) . ����д��һ����Ϊ
emote() ��ģ���ⲿ����, ����Щָ��д����Ҫ�������. ��emote() ����ʹ��
message() ���� emote �������Ϣ. �Ҳ��ѳ������, �����ǻ����ĸ���:
- varargs int emote (object emoter, string self_message,
string
- other_message, mixed emotee, string target_message,
string modifier);
self_message - �����������������յ�����Ϣ.
other_message -�� ���������������յ�����Ϣ.
emotee - ���������Ϣ�Ķ��� (���� kick huthar)
target_message - �����յ�����Ϣ.
string modifier - �κμ�����Ϣβ�˵����δ�. (���Ǹ���: smile happily, cheerfully�� �ȵ�) - ��ֻ�кܸ��ӵı���ָ���õõ� (���������һ������ָ�����ж�����δʵĻ�). (�밴: ����Ӣ�ĵ��ķ�, �������ķ���ͬ)
�ڴ�, ��Щ�˿��ܻ��뵽: ����....�������������ǿ��Ķ���;���֣����������������������ûɶ�ô�����˵�ú�, Ŀǰ��ֻ�����ö��ֹ���һЩ��Ϣ����. �е����а취д����������Ϣ�������, ����������ܵ� message() �����ô�. ������ʵ�ʵ�����:
������, Ҫ�Ѵ��ݸ�ʹ���ߵ���Ϣ�������ݷ���. ���Լ�������һ�� combat ���ࡢһ�� stat (���) ���ࡢһ�� room_description (��������) ���ࡢһ�� help (��������) ����. �ڿ�ʼ֮ǰ, ������дһ���µ� receive_message().
- int has_smart_client;
void receive_message (string msg, string class)
{
- if (member_array(class,muffle) == -1) {
- if (has_smart_client)
- receive (class + " : " + msg);
- receive (msg);
����������ʹ�ô˷���д��һ����ͼ�ν�����û��˳���. BSX ͼ�� mud ���û��˳�������� MudOS �� message()�� �������ڲ�����. ��Ҳ���Դ���һ��С�ĵ���ͼ�� (bitmap) ���� BSX �Ķ����������ͼ (polygon-based line drawing). message() ����;����.
����������̸������֮��, �����и�������������. ��Ȼÿ���˶�Ҫ�Լ�д��������Щ��Ϣ, Ҳû����д������õ��û��˳��� (client) �Է�����Щ��Ϣ����ij���. һ����Ϣ�������д������, ���� mudlib ��ƾʲô��֤����˳������ ? �ð�, ��������˵���ļ����ص�����. ��ϣ���ܸ��Խ���һ������ϢЭ���ô�ҽ���, ����û��˳�����һ�����д������, ֻҪ���� mudlib �������µ�Э�鼴��.
��ϢЭ��:
���д��ݸ������û��˳������Ϣ��ʽ����:
"class:msg_length:msg"
msg_len �� msg�� �ַ����ij���. ��������������û��˳���֪����Ϣ���״��������û.
ʹ�õ��µķ����嵥, ʹ�û��˳��������ʹ����Щ�������Ϣ.
say���� ʹ�� say�� ָ��
shout���� ʹ�� shout�� ָ��
tell���� ʹ�� tell ָ��
emote���� ����ָ��
broadcast�� ��ÿһ���˹㲥����Ϣ
combat���� ��ͨ��ս����Ϣ
combat_self�� ʹ�����Լ�������ս����Ϣ
combat_other�� ���˲�����ս����Ϣ
combat_*�� �����ض���ս����Ϣ
room_description �����ص�ij����
room_name�� ����ļ������
inventory�� �����ϴ��ŵĶ���
item_description ��Ʒ�����
status���� ��ͨ��״̬��Ϣ
status_hp�� Ŀǰ������
status_sp�� Ŀǰ�ķ���
status_sobriety�� Ŀǰ�ľ���״��
status_*�� ������״̬
score���� ��ͨ��������Ϣ
score_exp�� ����ֵ
score_money�� ��Ǯ���������ҵ�����
developer�� ��������ʦ��չ�����߹㲥
class_fighter�� ��ȫ��սʿ����Ϣ
class_mage�� ��ȫ�巨ʦ����Ϣ
class_thief�� ��ȫ�������Ϣ
class_priest�� ��ȫ�����̵���Ϣ
class_*���� ������ְҵȫ�����Ϣ
race_human�� ��ȫ���������Ϣ
race_elf�� ��ȫ�徫�����Ϣ
race_dwarf�� ��ȫ�尫�˵���Ϣ
race_*���� ����������ȫ�����Ϣ
*** �����ڲ���ѡ�� ***
bitmap���� ��ͨ�ĵ���ͼ
bitmap_*�� �ض��ĵ���ͼ
drawing���� ��ͨ�Ļ�ͼ
drawing_*�� �ض����͵Ļ�ͼ