reply.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 61 行
C
61 行
// reply.c
#include <ansi.h>
#include <net/dns.h>
inherit F_DBASE;
inherit F_CLEAN_UP;
int help(object me);
int main(object me, string arg)
{
string target, mud;
object obj;
object *ob;
if( !arg || arg=="" )
return notify_fail("你要回答什么?\n");
if( !stringp(target = me->query_temp("reply")) )
return notify_fail("刚才没有人和你说过话。\n");
if( sscanf(target, "%s@%s", target, mud)==2 ) {
GTELL->send_gtell(lower_case(mud), lower_case(target), me, arg);
write("网路讯息已送出,可能要稍候才能得到回应。\n");
return 1;
}
obj = find_player(target);
if( !obj )
return notify_fail("刚才和你说话的人现在无法听见你,或者已经离开游戏了。\n");
if (!wizardp(me) && obj->query("env/no_tell")=="all")
return notify_fail("这个人不想听你罗嗦啦。\n");
if (!wizardp(me) && obj->query("env/no_tell")=="ALL")
return notify_fail("这个人不想听你罗嗦啦。\n");
if (!wizardp(me) && obj->query("env/no_tell")==me->query("id"))
return notify_fail("这个人不想听你罗嗦啦。\n");
write(HIG "你回答" + obj->name(1) + ":" + arg + "\n" NOR);
tell_object(obj, sprintf(HIG"%s回答你:%s\n"NOR,
me->name(1)+"("+me->query("id")+")", arg));
ob = filter_array(children(USER_OB),(: userp($1) && wizardp($1) :));
if (!wizardp(me))
{
message("channel:snp", HIB"【窃听】"+me->query("name")+"回答"+obj->query("name")+":"+arg+"\n"NOR, ob);
}
obj->set_temp("reply", me->query("id"));
return 1;
}
int help(object me)
{
write(@HELP
指令格式:reply <讯息>
你可以用这个指令和刚才用 tell 和你说话的使用者说话。
see also : tell
HELP
);
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?