《使用MUDCORE框架从零开发LPMUD游戏》系列内容,通过教程既能熟悉 MUDCORE 框架的使用,也能学习LPCMUD游戏的开发,版权所有 mud.ren。
上一节我们实现了玩家登录注册和基本属性指令score,但是每次输入score比较麻烦,玩家更习惯sc这样的别名,我们可以把指令命名为sc,但是如果我们想输入hp实现 score -s 的功能,怎么办?
方式一
对指令别名,如用 sc 代替 score 可以使用很简单的方式:在 score 指令目录中新建文件 sc.alias ,文件内容为 score 即可实现别名功能,无需修改任何代码。
请注意:因为指令系统有缓存,增加别名或命令后如果不想重启服务器,需要输入rehash更新指令系统保证新增指令或别名生效。
方式二
sc.alias的方式只适合不带参数的指令别名,如果要用hp代替score -s是没法满足的,这就需要用另一种别名实现方式。
我们新建守护进程文件 /system/daemons/command_d.c,使用如下代码,可以快速新增指令别名:
inherit CORE_COMMAND_D;
void create()
{
add_alias(([
"hp" : "score -s",
]));
}
add_alias(mapping alias) 是 CORE_COMMAND_D 提供的接口。
现在我们运行create_include daemon指令更新_daemon.h头文件以实现对指令系统的更新。
重启服务器,登录游戏试试输入 hp 或 sc 看看效果。

最后 commit 我们当前版本:
git add .
git commit -m 'v2.2'
本节代码
附本节版本源码下载地址,如果下载使用,请在项目目录执行 git submodule update。